From 509f940afd9fd128c4d7b95dc8e717f93b6df0a1 Mon Sep 17 00:00:00 2001 From: RemixDev Date: Thu, 25 Feb 2021 11:31:30 +0100 Subject: [PATCH 01/17] Removed socket.io and implemented WebSockets --- package.json | 1 - public/js/bundle.js | 2409 +++++++++++++++++++++---------------------- rollup.config.js | 4 - src/App.vue | 3 +- src/jsconfig.json | 3 - src/utils/socket.js | 27 +- 6 files changed, 1206 insertions(+), 1241 deletions(-) diff --git a/package.json b/package.json index d78503a..0250f18 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "@vue/composition-api": "^1.0.0-beta.21", "flag-icon-css": "^3.5.0", "lodash-es": "^4.17.15", - "socket.io-client": "^3.1.0", "svg-country-flags": "^1.2.9", "toastify-js": "^1.9.3", "vue": "^2.6.12", diff --git a/public/js/bundle.js b/public/js/bundle.js index 538dc65..13ced95 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -2,11 +2,11 @@ * Vue.js v2.6.12 * (c) 2014-2020 Evan You * Released under the MIT License. - */var emptyObject=Object.freeze({});function isUndef(e){return e==null}function isDef(e){return e!=null}function isTrue(e){return e===!0}function isFalse(e){return e===!1}function isPrimitive(e){return typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="boolean"}function isObject(e){return e!==null&&typeof e=="object"}var _toString=Object.prototype.toString;function toRawType(e){return _toString.call(e).slice(8,-1)}function isPlainObject(e){return _toString.call(e)==="[object Object]"}function isRegExp(e){return _toString.call(e)==="[object RegExp]"}function isValidArrayIndex(e){var a=parseFloat(String(e));return a>=0&&Math.floor(a)===a&&isFinite(e)}function isPromise(e){return isDef(e)&&typeof e.then=="function"&&typeof e.catch=="function"}function toString(e){return e==null?"":Array.isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function toNumber(e){var a=parseFloat(e);return isNaN(a)?e:a}function makeMap(e,a){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,a){return hasOwnProperty.call(e,a)}function cached(e){var a=Object.create(null);return function(r){var i=a[r];return i||(a[r]=e(r))}}var camelizeRE=/-(\w)/g,camelize=cached(function(e){return e.replace(camelizeRE,function(a,n){return n?n.toUpperCase():""})}),capitalize=cached(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(function(e){return e.replace(hyphenateRE,"-$1").toLowerCase()});function polyfillBind(e,a){function n(r){var i=arguments.length;return i?i>1?e.apply(a,arguments):e.call(a,r):e.call(a)}return n._length=e.length,n}function nativeBind(e,a){return e.bind(a)}var bind=Function.prototype.bind?nativeBind:polyfillBind;function toArray(e,a){a=a||0;for(var n=e.length-a,r=new Array(n);n--;)r[n]=e[n+a];return r}function extend(e,a){for(var n in a)e[n]=a[n];return e}function toObject(e){for(var a={},n=0;n0,isEdge=UA&&UA.indexOf("edge/")>0,isAndroid=UA&&UA.indexOf("android")>0||weexPlatform==="android",isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==="ios",isChrome=UA&&/chrome\/\d+/.test(UA)&&!isEdge,isPhantomJS=UA&&/phantomjs/.test(UA),isFF=UA&&UA.match(/firefox\/(\d+)/),nativeWatch={}.watch,supportsPassive=!1;if(inBrowser)try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener("test-passive",null,opts)}catch(e){}var _isServer,isServerRendering=function(){return _isServer===void 0&&(!inBrowser&&!inWeex&&typeof global!="undefined"?_isServer=global.process&&global.process.env.VUE_ENV==="server":_isServer=!1),_isServer},devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function isNative(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol=typeof Symbol!="undefined"&&isNative(Symbol)&&typeof Reflect!="undefined"&&isNative(Reflect.ownKeys),_Set;typeof Set!="undefined"&&isNative(Set)?_Set=Set:_Set=function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(n){return this.set[n]===!0},e.prototype.add=function(n){this.set[n]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var warn=noop,uid=0,Dep=function(){this.id=uid++,this.subs=[]};Dep.prototype.addSub=function(a){this.subs.push(a)},Dep.prototype.removeSub=function(a){remove(this.subs,a)},Dep.prototype.depend=function(){Dep.target&&Dep.target.addDep(this)},Dep.prototype.notify=function(){for(var a=this.subs.slice(),n=0,r=a.length;n-1){if(s&&!hasOwn(i,"default"))l=!1;else if(l===""||l===hyphenate(e)){var o=getTypeIndex(String,i.type);(o<0||c0&&(i=normalizeArrayChildren(i,(a||"")+"_"+r),isTextNode(i[0])&&isTextNode(l)&&(n[s]=createTextVNode(l.text+i[0].text),i.shift()),n.push.apply(n,i)):isPrimitive(i)?isTextNode(l)?n[s]=createTextVNode(l.text+i):i!==""&&n.push(createTextVNode(i)):isTextNode(i)&&isTextNode(l)?n[s]=createTextVNode(l.text+i.text):(isTrue(e._isVList)&&isDef(i.tag)&&isUndef(i.key)&&isDef(a)&&(i.key="__vlist"+a+"_"+r+"__"),n.push(i))}return n}function initProvide(e){var a=e.$options.provide;a&&(e._provided=typeof a=="function"?a.call(e):a)}function initInjections(e){var a=resolveInject(e.$options.inject,e);a&&(toggleObserving(!1),Object.keys(a).forEach(function(n){defineReactive$$1(e,n,a[n])}),toggleObserving(!0))}function resolveInject(e,a){if(e){for(var n=Object.create(null),r=hasSymbol?Reflect.ownKeys(e):Object.keys(e),i=0;i0,s=e?!!e.$stable:!i,l=e&&e.$key;if(!e)r={};else{if(e._normalized)return e._normalized;if(s&&n&&n!==emptyObject&&l===n.$key&&!i&&!n.$hasNormal)return n;r={};for(var c in e)e[c]&&c[0]!=="$"&&(r[c]=normalizeScopedSlot(a,c,e[c]))}for(var o in a)o in r||(r[o]=proxyNormalSlot(a,o));return e&&Object.isExtensible(e)&&(e._normalized=r),def(r,"$stable",s),def(r,"$key",l),def(r,"$hasNormal",i),r}function normalizeScopedSlot(e,a,n){var r=function(){var i=arguments.length?n.apply(null,arguments):n({});return i=i&&typeof i=="object"&&!Array.isArray(i)?[i]:normalizeChildren(i),i&&(i.length===0||i.length===1&&i[0].isComment)?void 0:i};return n.proxy&&Object.defineProperty(e,a,{get:r,enumerable:!0,configurable:!0}),r}function proxyNormalSlot(e,a){return function(){return e[a]}}function renderList(e,a){var n,r,i,s,l;if(Array.isArray(e)||typeof e=="string")for(n=new Array(e.length),r=0,i=e.length;r1?toArray(i):i;for(var s=toArray(arguments,1),l='event handler for "'+n+'"',c=0,o=i.length;cdocument.createEvent("Event").timeStamp&&(getNow=function(){return performance.now()})}function flushSchedulerQueue(){currentFlushTimestamp=getNow(),flushing=!0;var e,a;for(queue.sort(function(i,s){return i.id-s.id}),index=0;indexindex&&queue[n].id>e.id;)n--;queue.splice(n+1,0,e)}waiting||(waiting=!0,nextTick(flushSchedulerQueue))}}var uid$2=0,Watcher=function(a,n,r,i,s){this.vm=a,s&&(a._watcher=this),a._watchers.push(this),i?(this.deep=!!i.deep,this.user=!!i.user,this.lazy=!!i.lazy,this.sync=!!i.sync,this.before=i.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++uid$2,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new _Set,this.newDepIds=new _Set,this.expression="",typeof n=="function"?this.getter=n:(this.getter=parsePath(n),this.getter||(this.getter=noop)),this.value=this.lazy?void 0:this.get()};Watcher.prototype.get=function(){pushTarget(this);var a,n=this.vm;try{a=this.getter.call(n,n)}catch(r){if(this.user)handleError(r,n,'getter for watcher "'+this.expression+'"');else throw r}finally{this.deep&&traverse(a),popTarget(),this.cleanupDeps()}return a},Watcher.prototype.addDep=function(a){var n=a.id;this.newDepIds.has(n)||(this.newDepIds.add(n),this.newDeps.push(a),this.depIds.has(n)||a.addSub(this))},Watcher.prototype.cleanupDeps=function(){for(var a=this.deps.length;a--;){var n=this.deps[a];this.newDepIds.has(n.id)||n.removeSub(this)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Watcher.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():queueWatcher(this)},Watcher.prototype.run=function(){if(this.active){var a=this.get();if(a!==this.value||isObject(a)||this.deep){var n=this.value;if(this.value=a,this.user)try{this.cb.call(this.vm,a,n)}catch(r){handleError(r,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,a,n)}}},Watcher.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Watcher.prototype.depend=function(){for(var a=this.deps.length;a--;)this.deps[a].depend()},Watcher.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||remove(this.vm._watchers,this);for(var a=this.deps.length;a--;)this.deps[a].removeSub(this);this.active=!1}};var sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop,set:noop};function proxy(e,a,n){sharedPropertyDefinition.get=function(){return this[a][n]},sharedPropertyDefinition.set=function(i){this[a][n]=i},Object.defineProperty(e,n,sharedPropertyDefinition)}function initState(e){e._watchers=[];var a=e.$options;a.props&&initProps(e,a.props),a.methods&&initMethods(e,a.methods),a.data?initData(e):observe(e._data={},!0),a.computed&&initComputed(e,a.computed),a.watch&&a.watch!==nativeWatch&&initWatch(e,a.watch)}function initProps(e,a){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],s=!e.$parent;s||toggleObserving(!1);var l=function(o){i.push(o);var u=validateProp(o,a,n,e);defineReactive$$1(r,o,u),o in e||proxy(e,"_props",o)};for(var c in a)l(c);toggleObserving(!0)}function initData(e){var a=e.$options.data;a=e._data=typeof a=="function"?getData(a,e):a||{},isPlainObject(a)||(a={});for(var n=Object.keys(a),r=e.$options.props,i=e.$options.methods,s=n.length;s--;){var l=n[s];r&&hasOwn(r,l)||(isReserved(l)||proxy(e,"_data",l))}observe(a,!0)}function getData(e,a){pushTarget();try{return e.call(a,a)}catch(n){return handleError(n,a,"data()"),{}}finally{popTarget()}}var computedWatcherOptions={lazy:!0};function initComputed(e,a){var n=e._computedWatchers=Object.create(null),r=isServerRendering();for(var i in a){var s=a[i],l=typeof s=="function"?s:s.get;r||(n[i]=new Watcher(e,l||noop,noop,computedWatcherOptions)),i in e||defineComputed(e,i,s)}}function defineComputed(e,a,n){var r=!isServerRendering();typeof n=="function"?(sharedPropertyDefinition.get=r?createComputedGetter(a):createGetterInvoker(n),sharedPropertyDefinition.set=noop):(sharedPropertyDefinition.get=n.get?r&&n.cache!==!1?createComputedGetter(a):createGetterInvoker(n.get):noop,sharedPropertyDefinition.set=n.set||noop),Object.defineProperty(e,a,sharedPropertyDefinition)}function createComputedGetter(e){return function(){var n=this._computedWatchers&&this._computedWatchers[e];if(n)return n.dirty&&n.evaluate(),Dep.target&&n.depend(),n.value}}function createGetterInvoker(e){return function(){return e.call(this,this)}}function initMethods(e,a){var n=e.$options.props;for(var r in a)e[r]=typeof a[r]!="function"?noop:bind(a[r],e)}function initWatch(e,a){for(var n in a){var r=a[n];if(Array.isArray(r))for(var i=0;i-1)return this;var r=toArray(arguments,1);return r.unshift(this),typeof a.install=="function"?a.install.apply(a,r):typeof a=="function"&&a.apply(null,r),n.push(a),this}}function initMixin$1(e){e.mixin=function(a){return this.options=mergeOptions(this.options,a),this}}function initExtend(e){e.cid=0;var a=1;e.extend=function(n){n=n||{};var r=this,i=r.cid,s=n._Ctor||(n._Ctor={});if(s[i])return s[i];var l=n.name||r.options.name,c=function(u){this._init(u)};return c.prototype=Object.create(r.prototype),c.prototype.constructor=c,c.cid=a++,c.options=mergeOptions(r.options,n),c.super=r,c.options.props&&initProps$1(c),c.options.computed&&initComputed$1(c),c.extend=r.extend,c.mixin=r.mixin,c.use=r.use,ASSET_TYPES.forEach(function(o){c[o]=r[o]}),l&&(c.options.components[l]=c),c.superOptions=r.options,c.extendOptions=n,c.sealedOptions=extend({},c.options),s[i]=c,c}}function initProps$1(e){var a=e.options.props;for(var n in a)proxy(e.prototype,"_props",n)}function initComputed$1(e){var a=e.options.computed;for(var n in a)defineComputed(e.prototype,n,a[n])}function initAssetRegisters(e){ASSET_TYPES.forEach(function(a){e[a]=function(n,r){return r?(a==="component"&&isPlainObject(r)&&(r.name=r.name||n,r=this.options._base.extend(r)),a==="directive"&&typeof r=="function"&&(r={bind:r,update:r}),this.options[a+"s"][n]=r,r):this.options[a+"s"][n]}})}function getComponentName(e){return e&&(e.Ctor.options.name||e.tag)}function matches(e,a){return Array.isArray(e)?e.indexOf(a)>-1:typeof e=="string"?e.split(",").indexOf(a)>-1:isRegExp(e)?e.test(a):!1}function pruneCache(e,a){var n=e.cache,r=e.keys,i=e._vnode;for(var s in n){var l=n[s];if(l){var c=getComponentName(l.componentOptions);c&&!a(c)&&pruneCacheEntry(n,s,r,i)}}}function pruneCacheEntry(e,a,n,r){var i=e[a];i&&(!r||i.tag!==r.tag)&&i.componentInstance.$destroy(),e[a]=null,remove(n,a)}var patternTypes=[String,RegExp,Array],KeepAlive={name:"keep-alive",abstract:!0,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var a in this.cache)pruneCacheEntry(this.cache,a,this.keys)},mounted:function(){var a=this;this.$watch("include",function(n){pruneCache(a,function(r){return matches(n,r)})}),this.$watch("exclude",function(n){pruneCache(a,function(r){return!matches(n,r)})})},render:function(){var a=this.$slots.default,n=getFirstComponentChild(a),r=n&&n.componentOptions;if(r){var i=getComponentName(r),s=this,l=s.include,c=s.exclude;if(l&&(!i||!matches(l,i))||c&&i&&matches(c,i))return n;var o=this,u=o.cache,d=o.keys,f=n.key==null?r.Ctor.cid+(r.tag?"::"+r.tag:""):n.key;u[f]?(n.componentInstance=u[f].componentInstance,remove(d,f),d.push(f)):(u[f]=n,d.push(f),this.max&&d.length>parseInt(this.max)&&pruneCacheEntry(u,d[0],d,this._vnode)),n.data.keepAlive=!0}return n||a&&a[0]}},builtInComponents={KeepAlive};function initGlobalAPI(e){var a={};a.get=function(){return config},Object.defineProperty(e,"config",a),e.util={warn,extend,mergeOptions,defineReactive:defineReactive$$1},e.set=set,e.delete=del,e.nextTick=nextTick,e.observable=function(n){return observe(n),n},e.options=Object.create(null),ASSET_TYPES.forEach(function(n){e.options[n+"s"]=Object.create(null)}),e.options._base=e,extend(e.options.components,builtInComponents),initUse(e),initMixin$1(e),initExtend(e),initAssetRegisters(e)}initGlobalAPI(Vue),Object.defineProperty(Vue.prototype,"$isServer",{get:isServerRendering}),Object.defineProperty(Vue.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vue,"FunctionalRenderContext",{value:FunctionalRenderContext}),Vue.version="2.6.12";var isReservedAttr=makeMap("style,class"),acceptValue=makeMap("input,textarea,option,select,progress"),mustUseProp=function(e,a,n){return n==="value"&&acceptValue(e)&&a!=="button"||n==="selected"&&e==="option"||n==="checked"&&e==="input"||n==="muted"&&e==="video"},isEnumeratedAttr=makeMap("contenteditable,draggable,spellcheck"),isValidContentEditableValue=makeMap("events,caret,typing,plaintext-only"),convertEnumeratedValue=function(e,a){return isFalsyAttrValue(a)||a==="false"?"false":e==="contenteditable"&&isValidContentEditableValue(a)?a:"true"},isBooleanAttr=makeMap("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),xlinkNS="http://www.w3.org/1999/xlink",isXlink=function(e){return e.charAt(5)===":"&&e.slice(0,5)==="xlink"},getXlinkProp=function(e){return isXlink(e)?e.slice(6,e.length):""},isFalsyAttrValue=function(e){return e==null||e===!1};function genClassForVnode(e){for(var a=e.data,n=e,r=e;isDef(r.componentInstance);)r=r.componentInstance._vnode,r&&r.data&&(a=mergeClassData(r.data,a));for(;isDef(n=n.parent);)n&&n.data&&(a=mergeClassData(a,n.data));return renderClass(a.staticClass,a.class)}function mergeClassData(e,a){return{staticClass:concat(e.staticClass,a.staticClass),class:isDef(e.class)?[e.class,a.class]:a.class}}function renderClass(e,a){return isDef(e)||isDef(a)?concat(e,stringifyClass(a)):""}function concat(e,a){return e?a?e+" "+a:e:a||""}function stringifyClass(e){return Array.isArray(e)?stringifyArray(e):isObject(e)?stringifyObject(e):typeof e=="string"?e:""}function stringifyArray(e){for(var a="",n,r=0,i=e.length;r-1?unknownElementCache[e]=a.constructor===window.HTMLUnknownElement||a.constructor===window.HTMLElement:unknownElementCache[e]=/HTMLUnknownElement/.test(a.toString())}var isTextInputType=makeMap("text,number,password,search,email,tel,url");function query(e){if(typeof e=="string"){var a=document.querySelector(e);return a||document.createElement("div")}else return e}function createElement$1(e,a){var n=document.createElement(e);return e!=="select"||a.data&&a.data.attrs&&a.data.attrs.multiple!==void 0&&n.setAttribute("multiple","multiple"),n}function createElementNS(e,a){return document.createElementNS(namespaceMap[e],a)}function createTextNode(e){return document.createTextNode(e)}function createComment(e){return document.createComment(e)}function insertBefore(e,a,n){e.insertBefore(a,n)}function removeChild(e,a){e.removeChild(a)}function appendChild(e,a){e.appendChild(a)}function parentNode(e){return e.parentNode}function nextSibling(e){return e.nextSibling}function tagName(e){return e.tagName}function setTextContent(e,a){e.textContent=a}function setStyleScope(e,a){e.setAttribute(a,"")}var nodeOps=Object.freeze({createElement:createElement$1,createElementNS,createTextNode,createComment,insertBefore,removeChild,appendChild,parentNode,nextSibling,tagName,setTextContent,setStyleScope}),ref={create:function(a,n){registerRef(n)},update:function(a,n){a.data.ref!==n.data.ref&&(registerRef(a,!0),registerRef(n))},destroy:function(a){registerRef(a,!0)}};function registerRef(e,a){var n=e.data.ref;if(!isDef(n))return;var r=e.context,i=e.componentInstance||e.elm,s=r.$refs;a?Array.isArray(s[n])?remove(s[n],i):s[n]===i&&(s[n]=void 0):e.data.refInFor?Array.isArray(s[n])?s[n].indexOf(i)<0&&s[n].push(i):s[n]=[i]:s[n]=i}var emptyNode=new VNode("",{},[]),hooks=["create","activate","update","remove","destroy"];function sameVnode(e,a){return e.key===a.key&&(e.tag===a.tag&&e.isComment===a.isComment&&isDef(e.data)===isDef(a.data)&&sameInputType(e,a)||isTrue(e.isAsyncPlaceholder)&&e.asyncFactory===a.asyncFactory&&isUndef(a.asyncFactory.error))}function sameInputType(e,a){if(e.tag!=="input")return!0;var n,r=isDef(n=e.data)&&isDef(n=n.attrs)&&n.type,i=isDef(n=a.data)&&isDef(n=n.attrs)&&n.type;return r===i||isTextInputType(r)&&isTextInputType(i)}function createKeyToOldIdx(e,a,n){var r,i,s={};for(r=a;r<=n;++r)i=e[r].key,isDef(i)&&(s[i]=r);return s}function createPatchFunction(e){var a,n,r={},i=e.modules,s=e.nodeOps;for(a=0;aj?(W=isUndef(P[U+1])?null:P[U+1].elm,$(y,W,P,N,U,F)):N>U&&C(_,I,j)}function w(y,_,P,F){for(var D=P;D-1?baseSetAttr(e,a,n):isBooleanAttr(a)?isFalsyAttrValue(n)?e.removeAttribute(a):(n=a==="allowfullscreen"&&e.tagName==="EMBED"?"true":a,e.setAttribute(a,n)):isEnumeratedAttr(a)?e.setAttribute(a,convertEnumeratedValue(a,n)):isXlink(a)?isFalsyAttrValue(n)?e.removeAttributeNS(xlinkNS,getXlinkProp(a)):e.setAttributeNS(xlinkNS,a,n):baseSetAttr(e,a,n)}function baseSetAttr(e,a,n){if(isFalsyAttrValue(n))e.removeAttribute(a);else{if(isIE&&!isIE9&&e.tagName==="TEXTAREA"&&a==="placeholder"&&n!==""&&!e.__ieph){var r=function(i){i.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(a,n)}}var attrs={create:updateAttrs,update:updateAttrs};function updateClass(e,a){var n=a.elm,r=a.data,i=e.data;if(isUndef(r.staticClass)&&isUndef(r.class)&&(isUndef(i)||isUndef(i.staticClass)&&isUndef(i.class)))return;var s=genClassForVnode(a),l=n._transitionClasses;isDef(l)&&(s=concat(s,stringifyClass(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}var klass={create:updateClass,update:updateClass},validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){var a=!1,n=!1,r=!1,i=!1,s=0,l=0,c=0,o=0,u,d,f,h,m;for(f=0;f=0&&!(T=e.charAt(b),T!==" ");b--);(!T||!validDivisionCharRE.test(T))&&(i=!0)}}h===void 0?h=e.slice(0,f).trim():o!==0&&M();function M(){(m||(m=[])).push(e.slice(o,f).trim()),o=f+1}if(m)for(f=0;f-1?{exp:e.slice(0,index$1),key:'"'+e.slice(index$1+1)+'"'}:{exp:e,key:null};for(str=e,index$1=expressionPos=expressionEndPos=0;!eof();)chr=next(),isStringStart(chr)?parseString(chr):chr===91&&parseBracket(chr);return{exp:e.slice(0,expressionPos),key:e.slice(expressionPos+1,expressionEndPos)}}function next(){return str.charCodeAt(++index$1)}function eof(){return index$1>=len}function isStringStart(e){return e===34||e===39}function parseBracket(e){var a=1;for(expressionPos=index$1;!eof();){if(e=next(),isStringStart(e)){parseString(e);continue}if(e===91&&a++,e===93&&a--,a===0){expressionEndPos=index$1;break}}}function parseString(e){for(var a=e;!eof()&&!(e=next(),e===a););}var RANGE_TOKEN="__r",CHECKBOX_RADIO_TOKEN="__c";function model(e,a,n){var r=a.value,i=a.modifiers,s=e.tag,l=e.attrsMap.type;if(e.component)return genComponentModel(e,r,i),!1;if(s==="select")genSelect(e,r,i);else if(s==="input"&&l==="checkbox")genCheckboxModel(e,r,i);else if(s==="input"&&l==="radio")genRadioModel(e,r,i);else if(s==="input"||s==="textarea")genDefaultModel(e,r,i);else if(!config.isReservedTag(s))return genComponentModel(e,r,i),!1;return!0}function genCheckboxModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null",s=getBindingAttr(e,"true-value")||"true",l=getBindingAttr(e,"false-value")||"false";addProp(e,"checked","Array.isArray("+a+")?_i("+a+","+i+")>-1"+(s==="true"?":("+a+")":":_q("+a+","+s+")")),addHandler(e,"change","var $$a="+a+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+l+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+genAssignmentCode(a,"$$a.concat([$$v])")+")}else{$$i>-1&&("+genAssignmentCode(a,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+genAssignmentCode(a,"$$c")+"}",null,!0)}function genRadioModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null";i=r?"_n("+i+")":i,addProp(e,"checked","_q("+a+","+i+")"),addHandler(e,"change",genAssignmentCode(a,i),null,!0)}function genSelect(e,a,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",s="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",l="var $$selectedVal = "+i+";";l=l+" "+genAssignmentCode(a,s),addHandler(e,"change",l,null,!0)}function genDefaultModel(e,a,n){var r=e.attrsMap.type,i=n||{},s=i.lazy,l=i.number,c=i.trim,o=!s&&r!=="range",u=s?"change":r==="range"?RANGE_TOKEN:"input",d="$event.target.value";c&&(d="$event.target.value.trim()"),l&&(d="_n("+d+")");var f=genAssignmentCode(a,d);o&&(f="if($event.target.composing)return;"+f),addProp(e,"value","("+a+")"),addHandler(e,u,f,null,!0),(c||l)&&addHandler(e,"blur","$forceUpdate()")}function normalizeEvents(e){if(isDef(e[RANGE_TOKEN])){var a=isIE?"change":"input";e[a]=[].concat(e[RANGE_TOKEN],e[a]||[]),delete e[RANGE_TOKEN]}isDef(e[CHECKBOX_RADIO_TOKEN])&&(e.change=[].concat(e[CHECKBOX_RADIO_TOKEN],e.change||[]),delete e[CHECKBOX_RADIO_TOKEN])}var target$1;function createOnceHandler$1(e,a,n){var r=target$1;return function i(){var s=a.apply(null,arguments);s!==null&&remove$2(e,i,n,r)}}var useMicrotaskFix=isUsingMicroTask&&!(isFF&&Number(isFF[1])<=53);function add$1(e,a,n,r){if(useMicrotaskFix){var i=currentFlushTimestamp,s=a;a=s._wrapper=function(l){if(l.target===l.currentTarget||l.timeStamp>=i||l.timeStamp<=0||l.target.ownerDocument!==document)return s.apply(this,arguments)}}target$1.addEventListener(e,a,supportsPassive?{capture:n,passive:r}:n)}function remove$2(e,a,n,r){(r||target$1).removeEventListener(e,a._wrapper||a,n)}function updateDOMListeners(e,a){if(isUndef(e.data.on)&&isUndef(a.data.on))return;var n=a.data.on||{},r=e.data.on||{};target$1=a.elm,normalizeEvents(n),updateListeners(n,r,add$1,remove$2,createOnceHandler$1,a.context),target$1=void 0}var events={create:updateDOMListeners,update:updateDOMListeners},svgContainer;function updateDOMProps(e,a){if(isUndef(e.data.domProps)&&isUndef(a.data.domProps))return;var n,r,i=a.elm,s=e.data.domProps||{},l=a.data.domProps||{};isDef(l.__ob__)&&(l=a.data.domProps=extend({},l));for(n in s)n in l||(i[n]="");for(n in l){if(r=l[n],n==="textContent"||n==="innerHTML"){if(a.children&&(a.children.length=0),r===s[n])continue;i.childNodes.length===1&&i.removeChild(i.childNodes[0])}if(n==="value"&&i.tagName!=="PROGRESS"){i._value=r;var c=isUndef(r)?"":String(r);shouldUpdateValue(i,c)&&(i.value=c)}else if(n==="innerHTML"&&isSVG(i.tagName)&&isUndef(i.innerHTML)){svgContainer=svgContainer||document.createElement("div"),svgContainer.innerHTML=""+r+"";for(var o=svgContainer.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;o.firstChild;)i.appendChild(o.firstChild)}else if(r!==s[n])try{i[n]=r}catch(u){}}}function shouldUpdateValue(e,a){return!e.composing&&(e.tagName==="OPTION"||isNotInFocusAndDirty(e,a)||isDirtyWithModifiers(e,a))}function isNotInFocusAndDirty(e,a){var n=!0;try{n=document.activeElement!==e}catch(r){}return n&&e.value!==a}function isDirtyWithModifiers(e,a){var n=e.value,r=e._vModifiers;if(isDef(r)){if(r.number)return toNumber(n)!==toNumber(a);if(r.trim)return n.trim()!==a.trim()}return n!==a}var domProps={create:updateDOMProps,update:updateDOMProps},parseStyleText=cached(function(e){var a={},n=/;(?![^(]*\))/g,r=/:(.+)/;return e.split(n).forEach(function(i){if(i){var s=i.split(r);s.length>1&&(a[s[0].trim()]=s[1].trim())}}),a});function normalizeStyleData(e){var a=normalizeStyleBinding(e.style);return e.staticStyle?extend(e.staticStyle,a):a}function normalizeStyleBinding(e){return Array.isArray(e)?toObject(e):typeof e=="string"?parseStyleText(e):e}function getStyle(e,a){var n={},r;if(a)for(var i=e;i.componentInstance;)i=i.componentInstance._vnode,i&&i.data&&(r=normalizeStyleData(i.data))&&extend(n,r);(r=normalizeStyleData(e.data))&&extend(n,r);for(var s=e;s=s.parent;)s.data&&(r=normalizeStyleData(s.data))&&extend(n,r);return n}var cssVarRE=/^--/,importantRE=/\s*!important$/,setProp=function(e,a,n){if(cssVarRE.test(a))e.style.setProperty(a,n);else if(importantRE.test(n))e.style.setProperty(hyphenate(a),n.replace(importantRE,""),"important");else{var r=normalize(a);if(Array.isArray(n))for(var i=0,s=n.length;i-1?a.split(whitespaceRE).forEach(function(r){return e.classList.add(r)}):e.classList.add(a);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+a+" ")<0&&e.setAttribute("class",(n+a).trim())}}function removeClass(e,a){if(!a||!(a=a.trim()))return;if(e.classList)a.indexOf(" ")>-1?a.split(whitespaceRE).forEach(function(i){return e.classList.remove(i)}):e.classList.remove(a),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+a+" ";n.indexOf(r)>=0;)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function resolveTransition(e){if(!e)return;if(typeof e=="object"){var a={};return e.css!==!1&&extend(a,autoCssTransition(e.name||"v")),extend(a,e),a}else if(typeof e=="string")return autoCssTransition(e)}var autoCssTransition=cached(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),hasTransition=inBrowser&&!isIE9,TRANSITION="transition",ANIMATION="animation",transitionProp="transition",transitionEndEvent="transitionend",animationProp="animation",animationEndEvent="animationend";hasTransition&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(transitionProp="WebkitTransition",transitionEndEvent="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(animationProp="WebkitAnimation",animationEndEvent="webkitAnimationEnd"));var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function nextFrame(e){raf(function(){raf(e)})}function addTransitionClass(e,a){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(a)<0&&(n.push(a),addClass(e,a))}function removeTransitionClass(e,a){e._transitionClasses&&remove(e._transitionClasses,a),removeClass(e,a)}function whenTransitionEnds(e,a,n){var r=getTransitionInfo(e,a),i=r.type,s=r.timeout,l=r.propCount;if(!i)return n();var c=i===TRANSITION?transitionEndEvent:animationEndEvent,o=0,u=function(){e.removeEventListener(c,d),n()},d=function(f){f.target===e&&(++o>=l&&u())};setTimeout(function(){o0&&(u=TRANSITION,d=s,f=i.length):a===ANIMATION?o>0&&(u=ANIMATION,d=o,f=c.length):(d=Math.max(s,o),u=d>0?s>o?TRANSITION:ANIMATION:null,f=u?u===TRANSITION?i.length:c.length:0);var h=u===TRANSITION&&transformRE.test(n[transitionProp+"Property"]);return{type:u,timeout:d,propCount:f,hasTransform:h}}function getTimeout(e,a){for(;e.length1}function _enter(e,a){a.data.show!==!0&&enter(a)}var transition=inBrowser?{create:_enter,activate:_enter,remove:function(a,n){a.data.show!==!0?leave(a,n):n()}}:{},platformModules=[attrs,klass,events,domProps,style,transition],modules=platformModules.concat(baseModules),patch=createPatchFunction({nodeOps,modules});isIE9&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&trigger(e,"input")});var directive={inserted:function(a,n,r,i){r.tag==="select"?(i.elm&&!i.elm._vOptions?mergeVNodeHook(r,"postpatch",function(){directive.componentUpdated(a,n,r)}):setSelected(a,n,r.context),a._vOptions=[].map.call(a.options,getValue)):(r.tag==="textarea"||isTextInputType(a.type))&&(a._vModifiers=n.modifiers,n.modifiers.lazy||(a.addEventListener("compositionstart",onCompositionStart),a.addEventListener("compositionend",onCompositionEnd),a.addEventListener("change",onCompositionEnd),isIE9&&(a.vmodel=!0)))},componentUpdated:function(a,n,r){if(r.tag==="select"){setSelected(a,n,r.context);var i=a._vOptions,s=a._vOptions=[].map.call(a.options,getValue);if(s.some(function(c,o){return!looseEqual(c,i[o])})){var l=a.multiple?n.value.some(function(c){return hasNoMatchingOption(c,s)}):n.value!==n.oldValue&&hasNoMatchingOption(n.value,s);l&&trigger(a,"change")}}}};function setSelected(e,a,n){actuallySetSelected(e,a),(isIE||isEdge)&&setTimeout(function(){actuallySetSelected(e,a)},0)}function actuallySetSelected(e,a,n){var r=a.value,i=e.multiple;if(i&&!Array.isArray(r))return;for(var s,l,c=0,o=e.options.length;c-1,l.selected!==s&&(l.selected=s);else if(looseEqual(getValue(l),r)){e.selectedIndex!==c&&(e.selectedIndex=c);return}i||(e.selectedIndex=-1)}function hasNoMatchingOption(e,a){return a.every(function(n){return!looseEqual(n,e)})}function getValue(e){return"_value"in e?e._value:e.value}function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){if(!e.target.composing)return;e.target.composing=!1,trigger(e.target,"input")}function trigger(e,a){var n=document.createEvent("HTMLEvents");n.initEvent(a,!0,!0),e.dispatchEvent(n)}function locateNode(e){return e.componentInstance&&(!e.data||!e.data.transition)?locateNode(e.componentInstance._vnode):e}var show={bind:function(a,n,r){var i=n.value;r=locateNode(r);var s=r.data&&r.data.transition,l=a.__vOriginalDisplay=a.style.display==="none"?"":a.style.display;i&&s?(r.data.show=!0,enter(r,function(){a.style.display=l})):a.style.display=i?l:"none"},update:function(a,n,r){var i=n.value,s=n.oldValue;if(!i===!s)return;r=locateNode(r);var l=r.data&&r.data.transition;l?(r.data.show=!0,i?enter(r,function(){a.style.display=a.__vOriginalDisplay}):leave(r,function(){a.style.display="none"})):a.style.display=i?a.__vOriginalDisplay:"none"},unbind:function(a,n,r,i,s){s||(a.style.display=a.__vOriginalDisplay)}},platformDirectives={model:directive,show},transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function getRealChild(e){var a=e&&e.componentOptions;return a&&a.Ctor.options.abstract?getRealChild(getFirstComponentChild(a.children)):e}function extractTransitionData(e){var a={},n=e.$options;for(var r in n.propsData)a[r]=e[r];var i=n._parentListeners;for(var s in i)a[camelize(s)]=i[s];return a}function placeholder(e,a){if(/\d-keep-alive$/.test(a.tag))return e("keep-alive",{props:a.componentOptions.propsData})}function hasParentTransition(e){for(;e=e.parent;)if(e.data.transition)return!0}function isSameChild(e,a){return a.key===e.key&&a.tag===e.tag}var isNotTextNode=function(e){return e.tag||isAsyncPlaceholder(e)},isVShowDirective=function(e){return e.name==="show"},Transition={name:"transition",props:transitionProps,abstract:!0,render:function(a){var n=this,r=this.$slots.default;if(!r)return;if(r=r.filter(isNotTextNode),!r.length)return;var i=this.mode,s=r[0];if(hasParentTransition(this.$vnode))return s;var l=getRealChild(s);if(!l)return s;if(this._leaving)return placeholder(a,s);var c="__transition-"+this._uid+"-";l.key=l.key==null?l.isComment?c+"comment":c+l.tag:isPrimitive(l.key)?String(l.key).indexOf(c)===0?l.key:c+l.key:l.key;var o=(l.data||(l.data={})).transition=extractTransitionData(this),u=this._vnode,d=getRealChild(u);if(l.data.directives&&l.data.directives.some(isVShowDirective)&&(l.data.show=!0),d&&d.data&&!isSameChild(l,d)&&!isAsyncPlaceholder(d)&&!(d.componentInstance&&d.componentInstance._vnode.isComment)){var f=d.data.transition=extend({},o);if(i==="out-in")return this._leaving=!0,mergeVNodeHook(f,"afterLeave",function(){n._leaving=!1,n.$forceUpdate()}),placeholder(a,s);if(i==="in-out"){if(isAsyncPlaceholder(l))return u;var h,m=function(){h()};mergeVNodeHook(o,"afterEnter",m),mergeVNodeHook(o,"enterCancelled",m),mergeVNodeHook(f,"delayLeave",function(b){h=b})}}return s}},props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props,beforeMount:function(){var a=this,n=this._update;this._update=function(r,i){var s=setActiveInstance(a);a.__patch__(a._vnode,a.kept,!1,!0),a._vnode=a.kept,s(),n.call(a,r,i)}},render:function(a){for(var n=this.tag||this.$vnode.data.tag||"span",r=Object.create(null),i=this.prevChildren=this.children,s=this.$slots.default||[],l=this.children=[],c=extractTransitionData(this),o=0;os&&(i.push(o=e.slice(s,c)),r.push(JSON.stringify(o)));var u=parseFilters(l[1].trim());r.push("_s("+u+")"),i.push({"@binding":u}),s=c+l[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ncname="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+unicodeRegExp.source+"]*",qnameCapture="((?:"+ncname+"\\:)?"+ncname+")",startTagOpen=new RegExp("^<"+qnameCapture),startTagClose=/^\s*(\/?)>/,endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>"),doctype=/^]+>/i,comment=/^",""":'"',"&":"&"," ":` -`," ":" ","'":"'"},encodedAttr=/&(?:lt|gt|quot|amp|#39);/g,encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,isIgnoreNewlineTag=makeMap("pre,textarea",!0),shouldIgnoreFirstNewline=function(e,a){return e&&isIgnoreNewlineTag(e)&&a[0]===` -`};function decodeAttr(e,a){var n=a?encodedAttrWithNewLines:encodedAttr;return e.replace(n,function(r){return decodingMap[r]})}function parseHTML(e,a){for(var n=[],r=a.expectHTML,i=a.isUnaryTag||no,s=a.canBeLeftOpenTag||no,l=0,c,o;e;){if(c=e,!o||!isPlainTextElement(o)){var u=e.indexOf("<");if(u===0){if(comment.test(e)){var d=e.indexOf("-->");if(d>=0){a.shouldKeepComment&&a.comment(e.substring(4,d),l,l+d+3),w(d+3);continue}}if(conditionalComment.test(e)){var f=e.indexOf("]>");if(f>=0){w(f+2);continue}}var h=e.match(doctype);if(h){w(h[0].length);continue}var m=e.match(endTag);if(m){var b=l;w(m[0].length),k(m[1],b,l);continue}var T=g();if(T){v(T),shouldIgnoreFirstNewline(T.tagName,e)&&w(1);continue}}var M=void 0,R=void 0,$=void 0;if(u>=0){for(R=e.slice(u);!endTag.test(R)&&!startTagOpen.test(R)&&!comment.test(R)&&!conditionalComment.test(R)&&!($=R.indexOf("<",1),$<0);)u+=$,R=e.slice(u);M=e.substring(0,u)}u<0&&(M=e),M&&w(M.length),a.chars&&M&&a.chars(M,l-M.length,l)}else{var z=0,C=o.toLowerCase(),S=reCache[C]||(reCache[C]=new RegExp("([\\s\\S]*?)(]*>)","i")),A=e.replace(S,function(x,y,_){return z=_.length,!isPlainTextElement(C)&&C!=="noscript"&&(y=y.replace(//g,"$1").replace(//g,"$1")),shouldIgnoreFirstNewline(C,y)&&(y=y.slice(1)),a.chars&&a.chars(y),""});l+=e.length-A.length,e=A,k(C,l-z,l)}if(e===c){a.chars&&a.chars(e);break}}k();function w(x){l+=x,e=e.substring(x)}function g(){var x=e.match(startTagOpen);if(x){var y={tagName:x[1],attrs:[],start:l};w(x[0].length);for(var _,P;!(_=e.match(startTagClose))&&(P=e.match(dynamicArgAttribute)||e.match(attribute));)P.start=l,w(P[0].length),P.end=l,y.attrs.push(P);if(_)return y.unarySlash=_[1],w(_[0].length),y.end=l,y}}function v(x){var y=x.tagName,_=x.unarySlash;r&&(o==="p"&&isNonPhrasingTag(y)&&k(o),s(y)&&o===y&&k(y));for(var P=i(y)||!!_,F=x.attrs.length,D=new Array(F),I=0;I=0&&!(n[P].lowerCasedTag===F);P--);else P=0;if(P>=0){for(var D=n.length-1;D>=P;D--)a.end&&a.end(n[D].tag,y,_);n.length=P,o=P&&n[P-1].tag}else F==="br"?a.start&&a.start(x,[],!0,y,_):F==="p"&&(a.start&&a.start(x,[],!1,y,_),a.end&&a.end(x,y,_))}}var onRE=/^@|^v-on:/,dirRE=/^v-|^@|^:|^#/,forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g,dynamicArgRE=/^\[.*\]$/,argRE=/:(.*)$/,bindRE=/^:|^\.|^v-bind:/,modifierRE=/\.[^.\]]+(?=[^\]]*$)/g,slotRE=/^v-slot(:|$)|^#/,lineBreakRE=/[\r\n]/,whitespaceRE$1=/\s+/g,decodeHTMLCached=cached(he.decode),emptySlotScopeToken="_empty_",warn$2,delimiters,transforms,preTransforms,postTransforms,platformIsPreTag,platformMustUseProp,platformGetTagNamespace;function createASTElement(e,a,n){return{type:1,tag:e,attrsList:a,attrsMap:makeAttrsMap(a),rawAttrsMap:{},parent:n,children:[]}}function parse(e,a){warn$2=a.warn||baseWarn,platformIsPreTag=a.isPreTag||no,platformMustUseProp=a.mustUseProp||no,platformGetTagNamespace=a.getTagNamespace||no;var n=a.isReservedTag||no;transforms=pluckModuleFunction(a.modules,"transformNode"),preTransforms=pluckModuleFunction(a.modules,"preTransformNode"),postTransforms=pluckModuleFunction(a.modules,"postTransformNode"),delimiters=a.delimiters;var r=[],i=a.preserveWhitespace!==!1,s=a.whitespace,l,c,o=!1,u=!1;function d(h){if(f(h),!o&&!h.processed&&(h=processElement(h,a)),!r.length&&h!==l&&(l.if&&(h.elseif||h.else)&&addIfCondition(l,{exp:h.elseif,block:h})),c&&!h.forbidden)if(h.elseif||h.else)processIfConditions(h,c);else{if(h.slotScope){var m=h.slotTarget||'"default"';(c.scopedSlots||(c.scopedSlots={}))[m]=h}c.children.push(h),h.parent=c}h.children=h.children.filter(function(T){return!T.slotScope}),f(h),h.pre&&(o=!1),platformIsPreTag(h.tag)&&(u=!1);for(var b=0;b|^function(?:\s+[\w$]+)?\s*\(/,fnInvokeRE=/\([^)]*?\);*$/,simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},keyNames={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},genGuard=function(e){return"if("+e+")return null;"},modifierCode={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(e,a){var n=a?"nativeOn:":"on:",r="",i="";for(var s in e){var l=genHandler(e[s]);e[s]&&e[s].dynamic?i+=s+","+l+",":r+='"'+s+'":'+l+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function genHandler(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(d){return genHandler(d)}).join(",")+"]";var a=simplePathRE.test(e.value),n=fnExpRE.test(e.value),r=simplePathRE.test(e.value.replace(fnInvokeRE,""));if(e.modifiers){var i="",s="",l=[];for(var c in e.modifiers)if(modifierCode[c])s+=modifierCode[c],keyCodes[c]&&l.push(c);else if(c==="exact"){var o=e.modifiers;s+=genGuard(["ctrl","shift","alt","meta"].filter(function(d){return!o[d]}).map(function(d){return"$event."+d+"Key"}).join("||"))}else l.push(c);l.length&&(i+=genKeyFilter(l)),s&&(i+=s);var u=a?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value;return"function($event){"+i+u+"}"}else return a||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function genKeyFilter(e){return"if(!$event.type.indexOf('key')&&"+e.map(genFilterCode).join("&&")+")return null;"}function genFilterCode(e){var a=parseInt(e,10);if(a)return"$event.keyCode!=="+a;var n=keyCodes[e],r=keyNames[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}function on(e,a){e.wrapListeners=function(n){return"_g("+n+","+a.value+")"}}function bind$1(e,a){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+a.value+","+(a.modifiers&&a.modifiers.prop?"true":"false")+(a.modifiers&&a.modifiers.sync?",true":"")+")"}}var baseDirectives={on,bind:bind$1,cloak:noop},CodegenState=function(a){this.options=a,this.warn=a.warn||baseWarn,this.transforms=pluckModuleFunction(a.modules,"transformCode"),this.dataGenFns=pluckModuleFunction(a.modules,"genData"),this.directives=extend(extend({},baseDirectives),a.directives);var n=a.isReservedTag||no;this.maybeComponent=function(r){return!!r.component||!n(r.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function generate(e,a){var n=new CodegenState(a),r=e?genElement(e,n):'_c("div")';return{render:"with(this){return "+r+"}",staticRenderFns:n.staticRenderFns}}function genElement(e,a){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return genStatic(e,a);if(e.once&&!e.onceProcessed)return genOnce(e,a);if(e.for&&!e.forProcessed)return genFor(e,a);if(e.if&&!e.ifProcessed)return genIf(e,a);if(e.tag==="template"&&!e.slotTarget&&!a.pre)return genChildren(e,a)||"void 0";if(e.tag==="slot")return genSlot(e,a);var n;if(e.component)n=genComponent(e.component,e,a);else{var r;(!e.plain||e.pre&&a.maybeComponent(e))&&(r=genData$2(e,a));var i=e.inlineTemplate?null:genChildren(e,a,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var s=0;s>>0}function containsSlotChild(e){return e.type===1?e.tag==="slot"?!0:e.children.some(containsSlotChild):!1}function genScopedSlot(e,a){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return genIf(e,a,genScopedSlot,"null");if(e.for&&!e.forProcessed)return genFor(e,a,genScopedSlot);var r=e.slotScope===emptySlotScopeToken?"":String(e.slotScope),i="function("+r+"){return "+(e.tag==="template"?e.if&&n?"("+e.if+")?"+(genChildren(e,a)||"undefined")+":undefined":genChildren(e,a)||"undefined":genElement(e,a))+"}",s=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+i+s+"}"}function genChildren(e,a,n,r,i){var s=e.children;if(s.length){var l=s[0];if(s.length===1&&l.for&&l.tag!=="template"&&l.tag!=="slot"){var c=n?a.maybeComponent(l)?",1":",0":"";return""+(r||genElement)(l,a)+c}var o=n?getNormalizationType(s,a.maybeComponent):0,u=i||genNode;return"["+s.map(function(d){return u(d,a)}).join(",")+"]"+(o?","+o:"")}}function getNormalizationType(e,a){for(var n=0,r=0;r=0&&Math.floor(n)===n&&isFinite(e)}function isPromise(e){return isDef(e)&&typeof e.then=="function"&&typeof e.catch=="function"}function toString(e){return e==null?"":Array.isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function toNumber(e){var n=parseFloat(e);return isNaN(n)?e:n}function makeMap(e,n){for(var a=Object.create(null),i=e.split(","),r=0;r-1)return e.splice(a,1)}}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,n){return hasOwnProperty.call(e,n)}function cached(e){var n=Object.create(null);return function(i){var r=n[i];return r||(n[i]=e(i))}}var camelizeRE=/-(\w)/g,camelize=cached(function(e){return e.replace(camelizeRE,function(n,a){return a?a.toUpperCase():""})}),capitalize=cached(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(function(e){return e.replace(hyphenateRE,"-$1").toLowerCase()});function polyfillBind(e,n){function a(i){var r=arguments.length;return r?r>1?e.apply(n,arguments):e.call(n,i):e.call(n)}return a._length=e.length,a}function nativeBind(e,n){return e.bind(n)}var bind=Function.prototype.bind?nativeBind:polyfillBind;function toArray(e,n){n=n||0;for(var a=e.length-n,i=new Array(a);a--;)i[a]=e[a+n];return i}function extend(e,n){for(var a in n)e[a]=n[a];return e}function toObject(e){for(var n={},a=0;a0,isEdge=UA&&UA.indexOf("edge/")>0;UA&&UA.indexOf("android")>0;var isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==="ios";UA&&/chrome\/\d+/.test(UA),UA&&/phantomjs/.test(UA);var isFF=UA&&UA.match(/firefox\/(\d+)/),nativeWatch={}.watch,supportsPassive=!1;if(inBrowser)try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener("test-passive",null,opts)}catch(e){}var _isServer,isServerRendering=function(){return _isServer===void 0&&(!inBrowser&&!inWeex&&typeof global!="undefined"?_isServer=global.process&&global.process.env.VUE_ENV==="server":_isServer=!1),_isServer},devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function isNative(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol=typeof Symbol!="undefined"&&isNative(Symbol)&&typeof Reflect!="undefined"&&isNative(Reflect.ownKeys),_Set;typeof Set!="undefined"&&isNative(Set)?_Set=Set:_Set=function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(a){return this.set[a]===!0},e.prototype.add=function(a){this.set[a]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var warn=noop,uid=0,Dep=function(){this.id=uid++,this.subs=[]};Dep.prototype.addSub=function(n){this.subs.push(n)},Dep.prototype.removeSub=function(n){remove(this.subs,n)},Dep.prototype.depend=function(){Dep.target&&Dep.target.addDep(this)},Dep.prototype.notify=function(){for(var n=this.subs.slice(),a=0,i=n.length;a-1){if(s&&!hasOwn(r,"default"))o=!1;else if(o===""||o===hyphenate(e)){var c=getTypeIndex(String,r.type);(c<0||l0&&(r=normalizeArrayChildren(r,(n||"")+"_"+i),isTextNode(r[0])&&isTextNode(o)&&(a[s]=createTextVNode(o.text+r[0].text),r.shift()),a.push.apply(a,r)):isPrimitive(r)?isTextNode(o)?a[s]=createTextVNode(o.text+r):r!==""&&a.push(createTextVNode(r)):isTextNode(r)&&isTextNode(o)?a[s]=createTextVNode(o.text+r.text):(isTrue(e._isVList)&&isDef(r.tag)&&isUndef(r.key)&&isDef(n)&&(r.key="__vlist"+n+"_"+i+"__"),a.push(r)));return a}function initProvide(e){var n=e.$options.provide;n&&(e._provided=typeof n=="function"?n.call(e):n)}function initInjections(e){var n=resolveInject(e.$options.inject,e);n&&(toggleObserving(!1),Object.keys(n).forEach(function(a){defineReactive$$1(e,a,n[a])}),toggleObserving(!0))}function resolveInject(e,n){if(e){for(var a=Object.create(null),i=hasSymbol?Reflect.ownKeys(e):Object.keys(e),r=0;r0,s=e?!!e.$stable:!r,o=e&&e.$key;if(!e)i={};else{if(e._normalized)return e._normalized;if(s&&a&&a!==emptyObject&&o===a.$key&&!r&&!a.$hasNormal)return a;i={};for(var l in e)e[l]&&l[0]!=="$"&&(i[l]=normalizeScopedSlot(n,l,e[l]))}for(var c in n)c in i||(i[c]=proxyNormalSlot(n,c));return e&&Object.isExtensible(e)&&(e._normalized=i),def(i,"$stable",s),def(i,"$key",o),def(i,"$hasNormal",r),i}function normalizeScopedSlot(e,n,a){var i=function(){var r=arguments.length?a.apply(null,arguments):a({});return r=r&&typeof r=="object"&&!Array.isArray(r)?[r]:normalizeChildren(r),r&&(r.length===0||r.length===1&&r[0].isComment)?void 0:r};return a.proxy&&Object.defineProperty(e,n,{get:i,enumerable:!0,configurable:!0}),i}function proxyNormalSlot(e,n){return function(){return e[n]}}function renderList(e,n){var a,i,r,s,o;if(Array.isArray(e)||typeof e=="string")for(a=new Array(e.length),i=0,r=e.length;i1?toArray(r):r;for(var s=toArray(arguments,1),o='event handler for "'+a+'"',l=0,c=r.length;ldocument.createEvent("Event").timeStamp&&(getNow=function(){return performance.now()})}function flushSchedulerQueue(){currentFlushTimestamp=getNow(),flushing=!0;var e,n;for(queue.sort(function(r,s){return r.id-s.id}),index=0;indexindex&&queue[a].id>e.id;)a--;queue.splice(a+1,0,e)}waiting||(waiting=!0,nextTick(flushSchedulerQueue))}}var uid$2=0,Watcher=function(n,a,i,r,s){this.vm=n,s&&(n._watcher=this),n._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=i,this.id=++uid$2,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new _Set,this.newDepIds=new _Set,this.expression="",typeof a=="function"?this.getter=a:(this.getter=parsePath(a),this.getter||(this.getter=noop)),this.value=this.lazy?void 0:this.get()};Watcher.prototype.get=function(){pushTarget(this);var n,a=this.vm;try{n=this.getter.call(a,a)}catch(i){if(this.user)handleError(i,a,'getter for watcher "'+this.expression+'"');else throw i}finally{this.deep&&traverse(n),popTarget(),this.cleanupDeps()}return n},Watcher.prototype.addDep=function(n){var a=n.id;this.newDepIds.has(a)||(this.newDepIds.add(a),this.newDeps.push(n),this.depIds.has(a)||n.addSub(this))},Watcher.prototype.cleanupDeps=function(){for(var n=this.deps.length;n--;){var a=this.deps[n];this.newDepIds.has(a.id)||a.removeSub(this)}var i=this.depIds;this.depIds=this.newDepIds,this.newDepIds=i,this.newDepIds.clear(),i=this.deps,this.deps=this.newDeps,this.newDeps=i,this.newDeps.length=0},Watcher.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():queueWatcher(this)},Watcher.prototype.run=function(){if(this.active){var n=this.get();if(n!==this.value||isObject(n)||this.deep){var a=this.value;if(this.value=n,this.user)try{this.cb.call(this.vm,n,a)}catch(i){handleError(i,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,n,a)}}},Watcher.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Watcher.prototype.depend=function(){for(var n=this.deps.length;n--;)this.deps[n].depend()},Watcher.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||remove(this.vm._watchers,this);for(var n=this.deps.length;n--;)this.deps[n].removeSub(this);this.active=!1}};var sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop,set:noop};function proxy(e,n,a){sharedPropertyDefinition.get=function(){return this[n][a]},sharedPropertyDefinition.set=function(r){this[n][a]=r},Object.defineProperty(e,a,sharedPropertyDefinition)}function initState(e){e._watchers=[];var n=e.$options;n.props&&initProps(e,n.props),n.methods&&initMethods(e,n.methods),n.data?initData(e):observe(e._data={},!0),n.computed&&initComputed(e,n.computed),n.watch&&n.watch!==nativeWatch&&initWatch(e,n.watch)}function initProps(e,n){var a=e.$options.propsData||{},i=e._props={},r=e.$options._propKeys=[],s=!e.$parent;s||toggleObserving(!1);var o=function(c){r.push(c);var u=validateProp(c,n,a,e);defineReactive$$1(i,c,u),c in e||proxy(e,"_props",c)};for(var l in n)o(l);toggleObserving(!0)}function initData(e){var n=e.$options.data;n=e._data=typeof n=="function"?getData(n,e):n||{},isPlainObject(n)||(n={});var a=Object.keys(n),i=e.$options.props;e.$options.methods;for(var r=a.length;r--;){var s=a[r];i&&hasOwn(i,s)||isReserved(s)||proxy(e,"_data",s)}observe(n,!0)}function getData(e,n){pushTarget();try{return e.call(n,n)}catch(a){return handleError(a,n,"data()"),{}}finally{popTarget()}}var computedWatcherOptions={lazy:!0};function initComputed(e,n){var a=e._computedWatchers=Object.create(null),i=isServerRendering();for(var r in n){var s=n[r],o=typeof s=="function"?s:s.get;i||(a[r]=new Watcher(e,o||noop,noop,computedWatcherOptions)),r in e||defineComputed(e,r,s)}}function defineComputed(e,n,a){var i=!isServerRendering();typeof a=="function"?(sharedPropertyDefinition.get=i?createComputedGetter(n):createGetterInvoker(a),sharedPropertyDefinition.set=noop):(sharedPropertyDefinition.get=a.get?i&&a.cache!==!1?createComputedGetter(n):createGetterInvoker(a.get):noop,sharedPropertyDefinition.set=a.set||noop),Object.defineProperty(e,n,sharedPropertyDefinition)}function createComputedGetter(e){return function(){var a=this._computedWatchers&&this._computedWatchers[e];if(a)return a.dirty&&a.evaluate(),Dep.target&&a.depend(),a.value}}function createGetterInvoker(e){return function(){return e.call(this,this)}}function initMethods(e,n){e.$options.props;for(var a in n)e[a]=typeof n[a]!="function"?noop:bind(n[a],e)}function initWatch(e,n){for(var a in n){var i=n[a];if(Array.isArray(i))for(var r=0;r-1)return this;var i=toArray(arguments,1);return i.unshift(this),typeof n.install=="function"?n.install.apply(n,i):typeof n=="function"&&n.apply(null,i),a.push(n),this}}function initMixin$1(e){e.mixin=function(n){return this.options=mergeOptions(this.options,n),this}}function initExtend(e){e.cid=0;var n=1;e.extend=function(a){a=a||{};var i=this,r=i.cid,s=a._Ctor||(a._Ctor={});if(s[r])return s[r];var o=a.name||i.options.name,l=function(u){this._init(u)};return l.prototype=Object.create(i.prototype),l.prototype.constructor=l,l.cid=n++,l.options=mergeOptions(i.options,a),l.super=i,l.options.props&&initProps$1(l),l.options.computed&&initComputed$1(l),l.extend=i.extend,l.mixin=i.mixin,l.use=i.use,ASSET_TYPES.forEach(function(c){l[c]=i[c]}),o&&(l.options.components[o]=l),l.superOptions=i.options,l.extendOptions=a,l.sealedOptions=extend({},l.options),s[r]=l,l}}function initProps$1(e){var n=e.options.props;for(var a in n)proxy(e.prototype,"_props",a)}function initComputed$1(e){var n=e.options.computed;for(var a in n)defineComputed(e.prototype,a,n[a])}function initAssetRegisters(e){ASSET_TYPES.forEach(function(n){e[n]=function(a,i){return i?(n==="component"&&isPlainObject(i)&&(i.name=i.name||a,i=this.options._base.extend(i)),n==="directive"&&typeof i=="function"&&(i={bind:i,update:i}),this.options[n+"s"][a]=i,i):this.options[n+"s"][a]}})}function getComponentName(e){return e&&(e.Ctor.options.name||e.tag)}function matches(e,n){return Array.isArray(e)?e.indexOf(n)>-1:typeof e=="string"?e.split(",").indexOf(n)>-1:isRegExp(e)?e.test(n):!1}function pruneCache(e,n){var a=e.cache,i=e.keys,r=e._vnode;for(var s in a){var o=a[s];if(o){var l=getComponentName(o.componentOptions);l&&!n(l)&&pruneCacheEntry(a,s,i,r)}}}function pruneCacheEntry(e,n,a,i){var r=e[n];r&&(!i||r.tag!==i.tag)&&r.componentInstance.$destroy(),e[n]=null,remove(a,n)}var patternTypes=[String,RegExp,Array],KeepAlive={name:"keep-alive",abstract:!0,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var n in this.cache)pruneCacheEntry(this.cache,n,this.keys)},mounted:function(){var n=this;this.$watch("include",function(a){pruneCache(n,function(i){return matches(a,i)})}),this.$watch("exclude",function(a){pruneCache(n,function(i){return!matches(a,i)})})},render:function(){var n=this.$slots.default,a=getFirstComponentChild(n),i=a&&a.componentOptions;if(i){var r=getComponentName(i),s=this,o=s.include,l=s.exclude;if(o&&(!r||!matches(o,r))||l&&r&&matches(l,r))return a;var c=this,u=c.cache,d=c.keys,f=a.key==null?i.Ctor.cid+(i.tag?"::"+i.tag:""):a.key;u[f]?(a.componentInstance=u[f].componentInstance,remove(d,f),d.push(f)):(u[f]=a,d.push(f),this.max&&d.length>parseInt(this.max)&&pruneCacheEntry(u,d[0],d,this._vnode)),a.data.keepAlive=!0}return a||n&&n[0]}},builtInComponents={KeepAlive};function initGlobalAPI(e){var n={};n.get=function(){return config},Object.defineProperty(e,"config",n),e.util={warn,extend,mergeOptions,defineReactive:defineReactive$$1},e.set=set,e.delete=del,e.nextTick=nextTick,e.observable=function(a){return observe(a),a},e.options=Object.create(null),ASSET_TYPES.forEach(function(a){e.options[a+"s"]=Object.create(null)}),e.options._base=e,extend(e.options.components,builtInComponents),initUse(e),initMixin$1(e),initExtend(e),initAssetRegisters(e)}initGlobalAPI(Vue),Object.defineProperty(Vue.prototype,"$isServer",{get:isServerRendering}),Object.defineProperty(Vue.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vue,"FunctionalRenderContext",{value:FunctionalRenderContext}),Vue.version="2.6.12";var isReservedAttr=makeMap("style,class"),acceptValue=makeMap("input,textarea,option,select,progress"),mustUseProp=function(e,n,a){return a==="value"&&acceptValue(e)&&n!=="button"||a==="selected"&&e==="option"||a==="checked"&&e==="input"||a==="muted"&&e==="video"},isEnumeratedAttr=makeMap("contenteditable,draggable,spellcheck"),isValidContentEditableValue=makeMap("events,caret,typing,plaintext-only"),convertEnumeratedValue=function(e,n){return isFalsyAttrValue(n)||n==="false"?"false":e==="contenteditable"&&isValidContentEditableValue(n)?n:"true"},isBooleanAttr=makeMap("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),xlinkNS="http://www.w3.org/1999/xlink",isXlink=function(e){return e.charAt(5)===":"&&e.slice(0,5)==="xlink"},getXlinkProp=function(e){return isXlink(e)?e.slice(6,e.length):""},isFalsyAttrValue=function(e){return e==null||e===!1};function genClassForVnode(e){for(var n=e.data,a=e,i=e;isDef(i.componentInstance);)i=i.componentInstance._vnode,i&&i.data&&(n=mergeClassData(i.data,n));for(;isDef(a=a.parent);)a&&a.data&&(n=mergeClassData(n,a.data));return renderClass(n.staticClass,n.class)}function mergeClassData(e,n){return{staticClass:concat(e.staticClass,n.staticClass),class:isDef(e.class)?[e.class,n.class]:n.class}}function renderClass(e,n){return isDef(e)||isDef(n)?concat(e,stringifyClass(n)):""}function concat(e,n){return e?n?e+" "+n:e:n||""}function stringifyClass(e){return Array.isArray(e)?stringifyArray(e):isObject(e)?stringifyObject(e):typeof e=="string"?e:""}function stringifyArray(e){for(var n="",a,i=0,r=e.length;i-1?unknownElementCache[e]=n.constructor===window.HTMLUnknownElement||n.constructor===window.HTMLElement:unknownElementCache[e]=/HTMLUnknownElement/.test(n.toString())}var isTextInputType=makeMap("text,number,password,search,email,tel,url");function query(e){if(typeof e=="string"){var n=document.querySelector(e);return n||document.createElement("div")}else return e}function createElement$1(e,n){var a=document.createElement(e);return e!=="select"||n.data&&n.data.attrs&&n.data.attrs.multiple!==void 0&&a.setAttribute("multiple","multiple"),a}function createElementNS(e,n){return document.createElementNS(namespaceMap[e],n)}function createTextNode(e){return document.createTextNode(e)}function createComment(e){return document.createComment(e)}function insertBefore(e,n,a){e.insertBefore(n,a)}function removeChild(e,n){e.removeChild(n)}function appendChild(e,n){e.appendChild(n)}function parentNode(e){return e.parentNode}function nextSibling(e){return e.nextSibling}function tagName(e){return e.tagName}function setTextContent(e,n){e.textContent=n}function setStyleScope(e,n){e.setAttribute(n,"")}var nodeOps=Object.freeze({createElement:createElement$1,createElementNS,createTextNode,createComment,insertBefore,removeChild,appendChild,parentNode,nextSibling,tagName,setTextContent,setStyleScope}),ref={create:function(n,a){registerRef(a)},update:function(n,a){n.data.ref!==a.data.ref&&(registerRef(n,!0),registerRef(a))},destroy:function(n){registerRef(n,!0)}};function registerRef(e,n){var a=e.data.ref;if(!!isDef(a)){var i=e.context,r=e.componentInstance||e.elm,s=i.$refs;n?Array.isArray(s[a])?remove(s[a],r):s[a]===r&&(s[a]=void 0):e.data.refInFor?Array.isArray(s[a])?s[a].indexOf(r)<0&&s[a].push(r):s[a]=[r]:s[a]=r}}var emptyNode=new VNode("",{},[]),hooks=["create","activate","update","remove","destroy"];function sameVnode(e,n){return e.key===n.key&&(e.tag===n.tag&&e.isComment===n.isComment&&isDef(e.data)===isDef(n.data)&&sameInputType(e,n)||isTrue(e.isAsyncPlaceholder)&&e.asyncFactory===n.asyncFactory&&isUndef(n.asyncFactory.error))}function sameInputType(e,n){if(e.tag!=="input")return!0;var a,i=isDef(a=e.data)&&isDef(a=a.attrs)&&a.type,r=isDef(a=n.data)&&isDef(a=a.attrs)&&a.type;return i===r||isTextInputType(i)&&isTextInputType(r)}function createKeyToOldIdx(e,n,a){var i,r,s={};for(i=n;i<=a;++i)r=e[i].key,isDef(r)&&(s[r]=i);return s}function createPatchFunction(e){var n,a,i={},r=e.modules,s=e.nodeOps;for(n=0;nF?(W=isUndef(k[I+1])?null:k[I+1].elm,A(g,W,k,$,I,x)):$>I&&M(b,D,F)}function C(g,b,k,x){for(var T=k;T-1?baseSetAttr(e,n,a):isBooleanAttr(n)?isFalsyAttrValue(a)?e.removeAttribute(n):(a=n==="allowfullscreen"&&e.tagName==="EMBED"?"true":n,e.setAttribute(n,a)):isEnumeratedAttr(n)?e.setAttribute(n,convertEnumeratedValue(n,a)):isXlink(n)?isFalsyAttrValue(a)?e.removeAttributeNS(xlinkNS,getXlinkProp(n)):e.setAttributeNS(xlinkNS,n,a):baseSetAttr(e,n,a)}function baseSetAttr(e,n,a){if(isFalsyAttrValue(a))e.removeAttribute(n);else{if(isIE&&!isIE9&&e.tagName==="TEXTAREA"&&n==="placeholder"&&a!==""&&!e.__ieph){var i=function(r){r.stopImmediatePropagation(),e.removeEventListener("input",i)};e.addEventListener("input",i),e.__ieph=!0}e.setAttribute(n,a)}}var attrs={create:updateAttrs,update:updateAttrs};function updateClass(e,n){var a=n.elm,i=n.data,r=e.data;if(!(isUndef(i.staticClass)&&isUndef(i.class)&&(isUndef(r)||isUndef(r.staticClass)&&isUndef(r.class)))){var s=genClassForVnode(n),o=a._transitionClasses;isDef(o)&&(s=concat(s,stringifyClass(o))),s!==a._prevClass&&(a.setAttribute("class",s),a._prevClass=s)}}var klass={create:updateClass,update:updateClass},validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){var n=!1,a=!1,i=!1,r=!1,s=0,o=0,l=0,c=0,u,d,f,h,m;for(f=0;f=0&&(y=e.charAt(v),y===" ");v--);(!y||!validDivisionCharRE.test(y))&&(r=!0)}}h===void 0?h=e.slice(0,f).trim():c!==0&&_();function _(){(m||(m=[])).push(e.slice(c,f).trim()),c=f+1}if(m)for(f=0;f-1?{exp:e.slice(0,index$1),key:'"'+e.slice(index$1+1)+'"'}:{exp:e,key:null};for(str=e,index$1=expressionPos=expressionEndPos=0;!eof();)chr=next(),isStringStart(chr)?parseString(chr):chr===91&&parseBracket(chr);return{exp:e.slice(0,expressionPos),key:e.slice(expressionPos+1,expressionEndPos)}}function next(){return str.charCodeAt(++index$1)}function eof(){return index$1>=len}function isStringStart(e){return e===34||e===39}function parseBracket(e){var n=1;for(expressionPos=index$1;!eof();){if(e=next(),isStringStart(e)){parseString(e);continue}if(e===91&&n++,e===93&&n--,n===0){expressionEndPos=index$1;break}}}function parseString(e){for(var n=e;!eof()&&(e=next(),e!==n););}var RANGE_TOKEN="__r",CHECKBOX_RADIO_TOKEN="__c";function model(e,n,a){var i=n.value,r=n.modifiers,s=e.tag,o=e.attrsMap.type;if(e.component)return genComponentModel(e,i,r),!1;if(s==="select")genSelect(e,i,r);else if(s==="input"&&o==="checkbox")genCheckboxModel(e,i,r);else if(s==="input"&&o==="radio")genRadioModel(e,i,r);else if(s==="input"||s==="textarea")genDefaultModel(e,i,r);else if(!config.isReservedTag(s))return genComponentModel(e,i,r),!1;return!0}function genCheckboxModel(e,n,a){var i=a&&a.number,r=getBindingAttr(e,"value")||"null",s=getBindingAttr(e,"true-value")||"true",o=getBindingAttr(e,"false-value")||"false";addProp(e,"checked","Array.isArray("+n+")?_i("+n+","+r+")>-1"+(s==="true"?":("+n+")":":_q("+n+","+s+")")),addHandler(e,"change","var $$a="+n+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+o+");if(Array.isArray($$a)){var $$v="+(i?"_n("+r+")":r)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+genAssignmentCode(n,"$$a.concat([$$v])")+")}else{$$i>-1&&("+genAssignmentCode(n,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+genAssignmentCode(n,"$$c")+"}",null,!0)}function genRadioModel(e,n,a){var i=a&&a.number,r=getBindingAttr(e,"value")||"null";r=i?"_n("+r+")":r,addProp(e,"checked","_q("+n+","+r+")"),addHandler(e,"change",genAssignmentCode(n,r),null,!0)}function genSelect(e,n,a){var i=a&&a.number,r='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(i?"_n(val)":"val")+"})",s="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",o="var $$selectedVal = "+r+";";o=o+" "+genAssignmentCode(n,s),addHandler(e,"change",o,null,!0)}function genDefaultModel(e,n,a){var i=e.attrsMap.type,r=a||{},s=r.lazy,o=r.number,l=r.trim,c=!s&&i!=="range",u=s?"change":i==="range"?RANGE_TOKEN:"input",d="$event.target.value";l&&(d="$event.target.value.trim()"),o&&(d="_n("+d+")");var f=genAssignmentCode(n,d);c&&(f="if($event.target.composing)return;"+f),addProp(e,"value","("+n+")"),addHandler(e,u,f,null,!0),(l||o)&&addHandler(e,"blur","$forceUpdate()")}function normalizeEvents(e){if(isDef(e[RANGE_TOKEN])){var n=isIE?"change":"input";e[n]=[].concat(e[RANGE_TOKEN],e[n]||[]),delete e[RANGE_TOKEN]}isDef(e[CHECKBOX_RADIO_TOKEN])&&(e.change=[].concat(e[CHECKBOX_RADIO_TOKEN],e.change||[]),delete e[CHECKBOX_RADIO_TOKEN])}var target$1;function createOnceHandler$1(e,n,a){var i=target$1;return function r(){var s=n.apply(null,arguments);s!==null&&remove$2(e,r,a,i)}}var useMicrotaskFix=isUsingMicroTask&&!(isFF&&Number(isFF[1])<=53);function add$1(e,n,a,i){if(useMicrotaskFix){var r=currentFlushTimestamp,s=n;n=s._wrapper=function(o){if(o.target===o.currentTarget||o.timeStamp>=r||o.timeStamp<=0||o.target.ownerDocument!==document)return s.apply(this,arguments)}}target$1.addEventListener(e,n,supportsPassive?{capture:a,passive:i}:a)}function remove$2(e,n,a,i){(i||target$1).removeEventListener(e,n._wrapper||n,a)}function updateDOMListeners(e,n){if(!(isUndef(e.data.on)&&isUndef(n.data.on))){var a=n.data.on||{},i=e.data.on||{};target$1=n.elm,normalizeEvents(a),updateListeners(a,i,add$1,remove$2,createOnceHandler$1,n.context),target$1=void 0}}var events={create:updateDOMListeners,update:updateDOMListeners},svgContainer;function updateDOMProps(e,n){if(!(isUndef(e.data.domProps)&&isUndef(n.data.domProps))){var a,i,r=n.elm,s=e.data.domProps||{},o=n.data.domProps||{};isDef(o.__ob__)&&(o=n.data.domProps=extend({},o));for(a in s)a in o||(r[a]="");for(a in o){if(i=o[a],a==="textContent"||a==="innerHTML"){if(n.children&&(n.children.length=0),i===s[a])continue;r.childNodes.length===1&&r.removeChild(r.childNodes[0])}if(a==="value"&&r.tagName!=="PROGRESS"){r._value=i;var l=isUndef(i)?"":String(i);shouldUpdateValue(r,l)&&(r.value=l)}else if(a==="innerHTML"&&isSVG(r.tagName)&&isUndef(r.innerHTML)){svgContainer=svgContainer||document.createElement("div"),svgContainer.innerHTML=""+i+"";for(var c=svgContainer.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;c.firstChild;)r.appendChild(c.firstChild)}else if(i!==s[a])try{r[a]=i}catch(u){}}}}function shouldUpdateValue(e,n){return!e.composing&&(e.tagName==="OPTION"||isNotInFocusAndDirty(e,n)||isDirtyWithModifiers(e,n))}function isNotInFocusAndDirty(e,n){var a=!0;try{a=document.activeElement!==e}catch(i){}return a&&e.value!==n}function isDirtyWithModifiers(e,n){var a=e.value,i=e._vModifiers;if(isDef(i)){if(i.number)return toNumber(a)!==toNumber(n);if(i.trim)return a.trim()!==n.trim()}return a!==n}var domProps={create:updateDOMProps,update:updateDOMProps},parseStyleText=cached(function(e){var n={},a=/;(?![^(]*\))/g,i=/:(.+)/;return e.split(a).forEach(function(r){if(r){var s=r.split(i);s.length>1&&(n[s[0].trim()]=s[1].trim())}}),n});function normalizeStyleData(e){var n=normalizeStyleBinding(e.style);return e.staticStyle?extend(e.staticStyle,n):n}function normalizeStyleBinding(e){return Array.isArray(e)?toObject(e):typeof e=="string"?parseStyleText(e):e}function getStyle(e,n){var a={},i;if(n)for(var r=e;r.componentInstance;)r=r.componentInstance._vnode,r&&r.data&&(i=normalizeStyleData(r.data))&&extend(a,i);(i=normalizeStyleData(e.data))&&extend(a,i);for(var s=e;s=s.parent;)s.data&&(i=normalizeStyleData(s.data))&&extend(a,i);return a}var cssVarRE=/^--/,importantRE=/\s*!important$/,setProp=function(e,n,a){if(cssVarRE.test(n))e.style.setProperty(n,a);else if(importantRE.test(a))e.style.setProperty(hyphenate(n),a.replace(importantRE,""),"important");else{var i=normalize(n);if(Array.isArray(a))for(var r=0,s=a.length;r-1?n.split(whitespaceRE).forEach(function(i){return e.classList.add(i)}):e.classList.add(n);else{var a=" "+(e.getAttribute("class")||"")+" ";a.indexOf(" "+n+" ")<0&&e.setAttribute("class",(a+n).trim())}}function removeClass(e,n){if(!(!n||!(n=n.trim())))if(e.classList)n.indexOf(" ")>-1?n.split(whitespaceRE).forEach(function(r){return e.classList.remove(r)}):e.classList.remove(n),e.classList.length||e.removeAttribute("class");else{for(var a=" "+(e.getAttribute("class")||"")+" ",i=" "+n+" ";a.indexOf(i)>=0;)a=a.replace(i," ");a=a.trim(),a?e.setAttribute("class",a):e.removeAttribute("class")}}function resolveTransition(e){if(!!e){if(typeof e=="object"){var n={};return e.css!==!1&&extend(n,autoCssTransition(e.name||"v")),extend(n,e),n}else if(typeof e=="string")return autoCssTransition(e)}}var autoCssTransition=cached(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),hasTransition=inBrowser&&!isIE9,TRANSITION="transition",ANIMATION="animation",transitionProp="transition",transitionEndEvent="transitionend",animationProp="animation",animationEndEvent="animationend";hasTransition&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(transitionProp="WebkitTransition",transitionEndEvent="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(animationProp="WebkitAnimation",animationEndEvent="webkitAnimationEnd"));var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function nextFrame(e){raf(function(){raf(e)})}function addTransitionClass(e,n){var a=e._transitionClasses||(e._transitionClasses=[]);a.indexOf(n)<0&&(a.push(n),addClass(e,n))}function removeTransitionClass(e,n){e._transitionClasses&&remove(e._transitionClasses,n),removeClass(e,n)}function whenTransitionEnds(e,n,a){var i=getTransitionInfo(e,n),r=i.type,s=i.timeout,o=i.propCount;if(!r)return a();var l=r===TRANSITION?transitionEndEvent:animationEndEvent,c=0,u=function(){e.removeEventListener(l,d),a()},d=function(f){f.target===e&&++c>=o&&u()};setTimeout(function(){c0&&(u=TRANSITION,d=s,f=r.length):n===ANIMATION?c>0&&(u=ANIMATION,d=c,f=l.length):(d=Math.max(s,c),u=d>0?s>c?TRANSITION:ANIMATION:null,f=u?u===TRANSITION?r.length:l.length:0);var h=u===TRANSITION&&transformRE.test(a[transitionProp+"Property"]);return{type:u,timeout:d,propCount:f,hasTransform:h}}function getTimeout(e,n){for(;e.length1}function _enter(e,n){n.data.show!==!0&&enter(n)}var transition=inBrowser?{create:_enter,activate:_enter,remove:function(n,a){n.data.show!==!0?leave(n,a):a()}}:{},platformModules=[attrs,klass,events,domProps,style,transition],modules=platformModules.concat(baseModules),patch=createPatchFunction({nodeOps,modules});isIE9&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&trigger(e,"input")});var directive={inserted:function(n,a,i,r){i.tag==="select"?(r.elm&&!r.elm._vOptions?mergeVNodeHook(i,"postpatch",function(){directive.componentUpdated(n,a,i)}):setSelected(n,a,i.context),n._vOptions=[].map.call(n.options,getValue)):(i.tag==="textarea"||isTextInputType(n.type))&&(n._vModifiers=a.modifiers,a.modifiers.lazy||(n.addEventListener("compositionstart",onCompositionStart),n.addEventListener("compositionend",onCompositionEnd),n.addEventListener("change",onCompositionEnd),isIE9&&(n.vmodel=!0)))},componentUpdated:function(n,a,i){if(i.tag==="select"){setSelected(n,a,i.context);var r=n._vOptions,s=n._vOptions=[].map.call(n.options,getValue);if(s.some(function(l,c){return!looseEqual(l,r[c])})){var o=n.multiple?a.value.some(function(l){return hasNoMatchingOption(l,s)}):a.value!==a.oldValue&&hasNoMatchingOption(a.value,s);o&&trigger(n,"change")}}}};function setSelected(e,n,a){actuallySetSelected(e,n),(isIE||isEdge)&&setTimeout(function(){actuallySetSelected(e,n)},0)}function actuallySetSelected(e,n,a){var i=n.value,r=e.multiple;if(!(r&&!Array.isArray(i))){for(var s,o,l=0,c=e.options.length;l-1,o.selected!==s&&(o.selected=s);else if(looseEqual(getValue(o),i)){e.selectedIndex!==l&&(e.selectedIndex=l);return}r||(e.selectedIndex=-1)}}function hasNoMatchingOption(e,n){return n.every(function(a){return!looseEqual(a,e)})}function getValue(e){return"_value"in e?e._value:e.value}function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){!e.target.composing||(e.target.composing=!1,trigger(e.target,"input"))}function trigger(e,n){var a=document.createEvent("HTMLEvents");a.initEvent(n,!0,!0),e.dispatchEvent(a)}function locateNode(e){return e.componentInstance&&(!e.data||!e.data.transition)?locateNode(e.componentInstance._vnode):e}var show={bind:function(n,a,i){var r=a.value;i=locateNode(i);var s=i.data&&i.data.transition,o=n.__vOriginalDisplay=n.style.display==="none"?"":n.style.display;r&&s?(i.data.show=!0,enter(i,function(){n.style.display=o})):n.style.display=r?o:"none"},update:function(n,a,i){var r=a.value,s=a.oldValue;if(!r!=!s){i=locateNode(i);var o=i.data&&i.data.transition;o?(i.data.show=!0,r?enter(i,function(){n.style.display=n.__vOriginalDisplay}):leave(i,function(){n.style.display="none"})):n.style.display=r?n.__vOriginalDisplay:"none"}},unbind:function(n,a,i,r,s){s||(n.style.display=n.__vOriginalDisplay)}},platformDirectives={model:directive,show},transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function getRealChild(e){var n=e&&e.componentOptions;return n&&n.Ctor.options.abstract?getRealChild(getFirstComponentChild(n.children)):e}function extractTransitionData(e){var n={},a=e.$options;for(var i in a.propsData)n[i]=e[i];var r=a._parentListeners;for(var s in r)n[camelize(s)]=r[s];return n}function placeholder(e,n){if(/\d-keep-alive$/.test(n.tag))return e("keep-alive",{props:n.componentOptions.propsData})}function hasParentTransition(e){for(;e=e.parent;)if(e.data.transition)return!0}function isSameChild(e,n){return n.key===e.key&&n.tag===e.tag}var isNotTextNode=function(e){return e.tag||isAsyncPlaceholder(e)},isVShowDirective=function(e){return e.name==="show"},Transition={name:"transition",props:transitionProps,abstract:!0,render:function(n){var a=this,i=this.$slots.default;if(!!i&&(i=i.filter(isNotTextNode),!!i.length)){var r=this.mode,s=i[0];if(hasParentTransition(this.$vnode))return s;var o=getRealChild(s);if(!o)return s;if(this._leaving)return placeholder(n,s);var l="__transition-"+this._uid+"-";o.key=o.key==null?o.isComment?l+"comment":l+o.tag:isPrimitive(o.key)?String(o.key).indexOf(l)===0?o.key:l+o.key:o.key;var c=(o.data||(o.data={})).transition=extractTransitionData(this),u=this._vnode,d=getRealChild(u);if(o.data.directives&&o.data.directives.some(isVShowDirective)&&(o.data.show=!0),d&&d.data&&!isSameChild(o,d)&&!isAsyncPlaceholder(d)&&!(d.componentInstance&&d.componentInstance._vnode.isComment)){var f=d.data.transition=extend({},c);if(r==="out-in")return this._leaving=!0,mergeVNodeHook(f,"afterLeave",function(){a._leaving=!1,a.$forceUpdate()}),placeholder(n,s);if(r==="in-out"){if(isAsyncPlaceholder(o))return u;var h,m=function(){h()};mergeVNodeHook(c,"afterEnter",m),mergeVNodeHook(c,"enterCancelled",m),mergeVNodeHook(f,"delayLeave",function(v){h=v})}}return s}}},props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props,beforeMount:function(){var n=this,a=this._update;this._update=function(i,r){var s=setActiveInstance(n);n.__patch__(n._vnode,n.kept,!1,!0),n._vnode=n.kept,s(),a.call(n,i,r)}},render:function(n){for(var a=this.tag||this.$vnode.data.tag||"span",i=Object.create(null),r=this.prevChildren=this.children,s=this.$slots.default||[],o=this.children=[],l=extractTransitionData(this),c=0;cs&&(r.push(c=e.slice(s,l)),i.push(JSON.stringify(c)));var u=parseFilters(o[1].trim());i.push("_s("+u+")"),r.push({"@binding":u}),s=l+o[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ncname="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+unicodeRegExp.source+"]*",qnameCapture="((?:"+ncname+"\\:)?"+ncname+")",startTagOpen=new RegExp("^<"+qnameCapture),startTagClose=/^\s*(\/?)>/,endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>"),doctype=/^]+>/i,comment=/^",""":'"',"&":"&"," ":` +`," ":" ","'":"'"},encodedAttr=/&(?:lt|gt|quot|amp|#39);/g,encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,isIgnoreNewlineTag=makeMap("pre,textarea",!0),shouldIgnoreFirstNewline=function(e,n){return e&&isIgnoreNewlineTag(e)&&n[0]===` +`};function decodeAttr(e,n){var a=n?encodedAttrWithNewLines:encodedAttr;return e.replace(a,function(i){return decodingMap[i]})}function parseHTML(e,n){for(var a=[],i=n.expectHTML,r=n.isUnaryTag||no,s=n.canBeLeftOpenTag||no,o=0,l,c;e;){if(l=e,!c||!isPlainTextElement(c)){var u=e.indexOf("<");if(u===0){if(comment.test(e)){var d=e.indexOf("-->");if(d>=0){n.shouldKeepComment&&n.comment(e.substring(4,d),o,o+d+3),C(d+3);continue}}if(conditionalComment.test(e)){var f=e.indexOf("]>");if(f>=0){C(f+2);continue}}var h=e.match(doctype);if(h){C(h[0].length);continue}var m=e.match(endTag);if(m){var v=o;C(m[0].length),E(m[1],v,o);continue}var y=N();if(y){j(y),shouldIgnoreFirstNewline(y.tagName,e)&&C(1);continue}}var _=void 0,w=void 0,A=void 0;if(u>=0){for(w=e.slice(u);!endTag.test(w)&&!startTagOpen.test(w)&&!comment.test(w)&&!conditionalComment.test(w)&&(A=w.indexOf("<",1),!(A<0));)u+=A,w=e.slice(u);_=e.substring(0,u)}u<0&&(_=e),_&&C(_.length),n.chars&&_&&n.chars(_,o-_.length,o)}else{var S=0,M=c.toLowerCase(),P=reCache[M]||(reCache[M]=new RegExp("([\\s\\S]*?)(]*>)","i")),z=e.replace(P,function(R,g,b){return S=b.length,!isPlainTextElement(M)&&M!=="noscript"&&(g=g.replace(//g,"$1").replace(//g,"$1")),shouldIgnoreFirstNewline(M,g)&&(g=g.slice(1)),n.chars&&n.chars(g),""});o+=e.length-z.length,e=z,E(M,o-S,o)}if(e===l){n.chars&&n.chars(e);break}}E();function C(R){o+=R,e=e.substring(R)}function N(){var R=e.match(startTagOpen);if(R){var g={tagName:R[1],attrs:[],start:o};C(R[0].length);for(var b,k;!(b=e.match(startTagClose))&&(k=e.match(dynamicArgAttribute)||e.match(attribute));)k.start=o,C(k[0].length),k.end=o,g.attrs.push(k);if(b)return g.unarySlash=b[1],C(b[0].length),g.end=o,g}}function j(R){var g=R.tagName,b=R.unarySlash;i&&(c==="p"&&isNonPhrasingTag(g)&&E(c),s(g)&&c===g&&E(g));for(var k=r(g)||!!b,x=R.attrs.length,T=new Array(x),D=0;D=0&&a[k].lowerCasedTag!==x;k--);else k=0;if(k>=0){for(var T=a.length-1;T>=k;T--)n.end&&n.end(a[T].tag,g,b);a.length=k,c=k&&a[k-1].tag}else x==="br"?n.start&&n.start(R,[],!0,g,b):x==="p"&&(n.start&&n.start(R,[],!1,g,b),n.end&&n.end(R,g,b))}}var onRE=/^@|^v-on:/,dirRE=/^v-|^@|^:|^#/,forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g,dynamicArgRE=/^\[.*\]$/,argRE=/:(.*)$/,bindRE=/^:|^\.|^v-bind:/,modifierRE=/\.[^.\]]+(?=[^\]]*$)/g,slotRE=/^v-slot(:|$)|^#/,lineBreakRE=/[\r\n]/,whitespaceRE$1=/\s+/g,decodeHTMLCached=cached(he.decode),emptySlotScopeToken="_empty_",warn$2,delimiters,transforms,preTransforms,postTransforms,platformIsPreTag,platformMustUseProp,platformGetTagNamespace;function createASTElement(e,n,a){return{type:1,tag:e,attrsList:n,attrsMap:makeAttrsMap(n),rawAttrsMap:{},parent:a,children:[]}}function parse(e,n){warn$2=n.warn||baseWarn,platformIsPreTag=n.isPreTag||no,platformMustUseProp=n.mustUseProp||no,platformGetTagNamespace=n.getTagNamespace||no,n.isReservedTag,transforms=pluckModuleFunction(n.modules,"transformNode"),preTransforms=pluckModuleFunction(n.modules,"preTransformNode"),postTransforms=pluckModuleFunction(n.modules,"postTransformNode"),delimiters=n.delimiters;var a=[],i=n.preserveWhitespace!==!1,r=n.whitespace,s,o,l=!1,c=!1;function u(f){if(d(f),!l&&!f.processed&&(f=processElement(f,n)),!a.length&&f!==s&&s.if&&(f.elseif||f.else)&&addIfCondition(s,{exp:f.elseif,block:f}),o&&!f.forbidden)if(f.elseif||f.else)processIfConditions(f,o);else{if(f.slotScope){var h=f.slotTarget||'"default"';(o.scopedSlots||(o.scopedSlots={}))[h]=f}o.children.push(f),f.parent=o}f.children=f.children.filter(function(v){return!v.slotScope}),d(f),f.pre&&(l=!1),platformIsPreTag(f.tag)&&(c=!1);for(var m=0;m|^function(?:\s+[\w$]+)?\s*\(/,fnInvokeRE=/\([^)]*?\);*$/,simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},keyNames={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},genGuard=function(e){return"if("+e+")return null;"},modifierCode={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(e,n){var a=n?"nativeOn:":"on:",i="",r="";for(var s in e){var o=genHandler(e[s]);e[s]&&e[s].dynamic?r+=s+","+o+",":i+='"'+s+'":'+o+","}return i="{"+i.slice(0,-1)+"}",r?a+"_d("+i+",["+r.slice(0,-1)+"])":a+i}function genHandler(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(d){return genHandler(d)}).join(",")+"]";var n=simplePathRE.test(e.value),a=fnExpRE.test(e.value),i=simplePathRE.test(e.value.replace(fnInvokeRE,""));if(e.modifiers){var r="",s="",o=[];for(var l in e.modifiers)if(modifierCode[l])s+=modifierCode[l],keyCodes[l]&&o.push(l);else if(l==="exact"){var c=e.modifiers;s+=genGuard(["ctrl","shift","alt","meta"].filter(function(d){return!c[d]}).map(function(d){return"$event."+d+"Key"}).join("||"))}else o.push(l);o.length&&(r+=genKeyFilter(o)),s&&(r+=s);var u=n?"return "+e.value+"($event)":a?"return ("+e.value+")($event)":i?"return "+e.value:e.value;return"function($event){"+r+u+"}"}else return n||a?e.value:"function($event){"+(i?"return "+e.value:e.value)+"}"}function genKeyFilter(e){return"if(!$event.type.indexOf('key')&&"+e.map(genFilterCode).join("&&")+")return null;"}function genFilterCode(e){var n=parseInt(e,10);if(n)return"$event.keyCode!=="+n;var a=keyCodes[e],i=keyNames[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(a)+",$event.key,"+JSON.stringify(i)+")"}function on(e,n){e.wrapListeners=function(a){return"_g("+a+","+n.value+")"}}function bind$1(e,n){e.wrapData=function(a){return"_b("+a+",'"+e.tag+"',"+n.value+","+(n.modifiers&&n.modifiers.prop?"true":"false")+(n.modifiers&&n.modifiers.sync?",true":"")+")"}}var baseDirectives={on,bind:bind$1,cloak:noop},CodegenState=function(n){this.options=n,this.warn=n.warn||baseWarn,this.transforms=pluckModuleFunction(n.modules,"transformCode"),this.dataGenFns=pluckModuleFunction(n.modules,"genData"),this.directives=extend(extend({},baseDirectives),n.directives);var a=n.isReservedTag||no;this.maybeComponent=function(i){return!!i.component||!a(i.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function generate(e,n){var a=new CodegenState(n),i=e?genElement(e,a):'_c("div")';return{render:"with(this){return "+i+"}",staticRenderFns:a.staticRenderFns}}function genElement(e,n){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return genStatic(e,n);if(e.once&&!e.onceProcessed)return genOnce(e,n);if(e.for&&!e.forProcessed)return genFor(e,n);if(e.if&&!e.ifProcessed)return genIf(e,n);if(e.tag==="template"&&!e.slotTarget&&!n.pre)return genChildren(e,n)||"void 0";if(e.tag==="slot")return genSlot(e,n);var a;if(e.component)a=genComponent(e.component,e,n);else{var i;(!e.plain||e.pre&&n.maybeComponent(e))&&(i=genData$2(e,n));var r=e.inlineTemplate?null:genChildren(e,n,!0);a="_c('"+e.tag+"'"+(i?","+i:"")+(r?","+r:"")+")"}for(var s=0;s>>0}function containsSlotChild(e){return e.type===1?e.tag==="slot"?!0:e.children.some(containsSlotChild):!1}function genScopedSlot(e,n){var a=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!a)return genIf(e,n,genScopedSlot,"null");if(e.for&&!e.forProcessed)return genFor(e,n,genScopedSlot);var i=e.slotScope===emptySlotScopeToken?"":String(e.slotScope),r="function("+i+"){return "+(e.tag==="template"?e.if&&a?"("+e.if+")?"+(genChildren(e,n)||"undefined")+":undefined":genChildren(e,n)||"undefined":genElement(e,n))+"}",s=i?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+r+s+"}"}function genChildren(e,n,a,i,r){var s=e.children;if(s.length){var o=s[0];if(s.length===1&&o.for&&o.tag!=="template"&&o.tag!=="slot"){var l=a?n.maybeComponent(o)?",1":",0":"";return""+(i||genElement)(o,n)+l}var c=a?getNormalizationType(s,n.maybeComponent):0,u=r||genNode;return"["+s.map(function(d){return u(d,n)}).join(",")+"]"+(c?","+c:"")}}function getNormalizationType(e,n){for(var a=0,i=0;i`:`
`,div.innerHTML.indexOf(" ")>0}var shouldDecodeNewlines=inBrowser?getShouldDecode(!1):!1,shouldDecodeNewlinesForHref=inBrowser?getShouldDecode(!0):!1,idToTemplate=cached(function(e){var a=query(e);return a&&a.innerHTML}),mount=Vue.prototype.$mount;Vue.prototype.$mount=function(e,a){if(e=e&&query(e),e===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if(typeof r=="string")r.charAt(0)==="#"&&(r=idToTemplate(r));else if(r.nodeType)r=r.innerHTML;else return this;else e&&(r=getOuterHTML(e));if(r){var i=compileToFunctions(r,{outputSourceRange:!1,shouldDecodeNewlines,shouldDecodeNewlinesForHref,delimiters:n.delimiters,comments:n.comments},this),s=i.render,l=i.staticRenderFns;n.render=s,n.staticRenderFns=l}}return mount.call(this,e,a)};function getOuterHTML(e){if(e.outerHTML)return e.outerHTML;var a=document.createElement("div");return a.appendChild(e.cloneNode(!0)),a.innerHTML}Vue.compile=compileToFunctions;function styleInject(e,a){a===void 0&&(a={});var n=a.insertAt;if(!e||typeof document=="undefined")return;var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}var css_248z=`/* fallback */ +"/>`,div.innerHTML.indexOf(" ")>0}var shouldDecodeNewlines=inBrowser?getShouldDecode(!1):!1,shouldDecodeNewlinesForHref=inBrowser?getShouldDecode(!0):!1,idToTemplate=cached(function(e){var n=query(e);return n&&n.innerHTML}),mount=Vue.prototype.$mount;Vue.prototype.$mount=function(e,n){if(e=e&&query(e),e===document.body||e===document.documentElement)return this;var a=this.$options;if(!a.render){var i=a.template;if(i)if(typeof i=="string")i.charAt(0)==="#"&&(i=idToTemplate(i));else if(i.nodeType)i=i.innerHTML;else return this;else e&&(i=getOuterHTML(e));if(i){var r=compileToFunctions(i,{outputSourceRange:!1,shouldDecodeNewlines,shouldDecodeNewlinesForHref,delimiters:a.delimiters,comments:a.comments},this),s=r.render,o=r.staticRenderFns;a.render=s,a.staticRenderFns=o}}return mount.call(this,e,n)};function getOuterHTML(e){if(e.outerHTML)return e.outerHTML;var n=document.createElement("div");return n.appendChild(e.cloneNode(!0)),n.innerHTML}Vue.compile=compileToFunctions;function styleInject(e,n){n===void 0&&(n={});var a=n.insertAt;if(!(!e||typeof document=="undefined")){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",a==="top"&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}var css_248z=`/* fallback */ @font-face { font-family: 'Material Icons'; @@ -17,8 +17,8 @@ src: url('fonts/icons/MaterialIcons-Regular.eot'); /* For IE6-8 */ - src: url('fonts/icons/MaterialIcons-Regular.woff2') format('woff2'),\r - url('fonts/icons/MaterialIcons-Regular.woff') format('woff'),\r + src: url('fonts/icons/MaterialIcons-Regular.woff2') format('woff2'), + url('fonts/icons/MaterialIcons-Regular.woff') format('woff'), url('fonts/icons/MaterialIcons-Regular.ttf') format('truetype'); } @@ -63,7 +63,7 @@ .material-icons.mirrored { transform: scaleX(-1); -}\r +} `;styleInject(css_248z);var css_248z$1=`/* cyrillic-ext */ @font-face { @@ -1182,7 +1182,7 @@ src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -}\r +} `;styleInject(css_248z$1);var css_248z$2=`.container { width: 100% } @@ -1939,20 +1939,20 @@ .xl\\:w-40 { width: 10rem } -}\r +} `;styleInject(css_248z$2);var css_248z$3=`* { box-sizing: border-box; margin: 0; padding: 0; } -table,\r - caption,\r - tbody,\r - tfoot,\r - thead,\r - tr,\r - th,\r +table, + caption, + tbody, + tfoot, + thead, + tr, + th, td { margin: 0; border: 0; @@ -1969,31 +1969,31 @@ table { /* Taken from Tailwind's Preflight */ -button,\r - [type='button'],\r +button, + [type='button'], [type='reset'] { -webkit-appearance: button; -moz-appearance: button; appearance: button; } -input[type='text'],\r - input[type='password'],\r - input[type='number'],\r - input[type='search'],\r - input[type='checkbox'],\r +input[type='text'], + input[type='password'], + input[type='number'], + input[type='search'], + input[type='checkbox'], select { -webkit-appearance: none; -moz-appearance: none; appearance: none; } -[type='number']::-webkit-inner-spin-button,\r +[type='number']::-webkit-inner-spin-button, [type='number']::-webkit-outer-spin-button { height: auto; } -button,\r +button, [role='button'] { cursor: pointer; } @@ -2002,12 +2002,12 @@ p { word-break: break-word; } -*,\r - ::before,\r +*, + ::before, ::after { border-width: 0; border-style: solid; -}\r +} `;styleInject(css_248z$3);var css_248z$4=`:root { font-size: 16px; --main-scroll: hsl(0, 0%, 30%); @@ -2050,9 +2050,9 @@ p { --table-highlight: hsl(257, 66%, 27%); } -input[type='text'],\r - input[type='password'],\r - input[type='number'],\r +input[type='text'], + input[type='password'], + input[type='number'], select { border-radius: 4px; background-color: var(--secondary-background); @@ -2062,8 +2062,8 @@ input[type='text'],\r color: var(--foreground); } -input[type='text'],\r - input[type='password'],\r +input[type='text'], + input[type='password'], input[type='number'] { padding: 0 16px; } @@ -2100,7 +2100,7 @@ select { a { color: dodgerblue; -}\r +} `;styleInject(css_248z$4);var css_248z$5=`/* Button */ .btn { @@ -2243,7 +2243,7 @@ a { grid-gap: 1rem; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); -}\r +} `;styleInject(css_248z$5);var css_248z$6=`.changing-theme { /* Applied to ALL elements when changing theme */ transition: all 200ms ease-in-out; @@ -2290,7 +2290,7 @@ a { 100% { transform: rotate(360deg); } -}\r +} `;styleInject(css_248z$6);var css_248z$7=`.primary-text { margin-bottom: 0.25rem; transition-property: background-color, border-color, color, fill, stroke; @@ -2312,7 +2312,7 @@ a { .uppercase-first-letter::first-letter { text-transform: uppercase; -}\r +} `;styleInject(css_248z$7);var css_248z$8=`.table { width: 100%; -webkit-border-horizontal-spacing: 0px; @@ -2492,37 +2492,25 @@ a { text-decoration: underline; } `;styleInject(css_248z$8);/*! - * vuex v3.6.0 - * (c) 2020 Evan You + * vuex v3.6.2 + * (c) 2021 Evan You * @license MIT - */function applyMixin(e){var a=Number(e.version.split(".")[0]);if(a>=2)e.mixin({beforeCreate:r});else{var n=e.prototype._init;e.prototype._init=function(i){i===void 0&&(i={}),i.init=i.init?[r].concat(i.init):r,n.call(this,i)}}function r(){var i=this.$options;i.store?this.$store=typeof i.store=="function"?i.store():i.store:i.parent&&i.parent.$store&&(this.$store=i.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){if(!devtoolHook)return;e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(a){e.replaceState(a)}),e.subscribe(function(a,n){devtoolHook.emit("vuex:mutation",a,n)},{prepend:!0}),e.subscribeAction(function(a,n){devtoolHook.emit("vuex:action",a,n)},{prepend:!0})}function find(e,a){return e.filter(a)[0]}function deepCopy(e,a){if(a===void 0&&(a=[]),e===null||typeof e!="object")return e;var n=find(a,function(i){return i.original===e});if(n)return n.copy;var r=Array.isArray(e)?[]:{};return a.push({original:e,copy:r}),Object.keys(e).forEach(function(i){r[i]=deepCopy(e[i],a)}),r}function forEachValue(e,a){Object.keys(e).forEach(function(n){return a(e[n],n)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,a){return function(){return e(a)}}var Module=function(a,n){this.runtime=n,this._children=Object.create(null),this._rawModule=a;var r=a.state;this.state=(typeof r=="function"?r():r)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(a,n){this._children[a]=n},Module.prototype.removeChild=function(a){delete this._children[a]},Module.prototype.getChild=function(a){return this._children[a]},Module.prototype.hasChild=function(a){return a in this._children},Module.prototype.update=function(a){this._rawModule.namespaced=a.namespaced,a.actions&&(this._rawModule.actions=a.actions),a.mutations&&(this._rawModule.mutations=a.mutations),a.getters&&(this._rawModule.getters=a.getters)},Module.prototype.forEachChild=function(a){forEachValue(this._children,a)},Module.prototype.forEachGetter=function(a){this._rawModule.getters&&forEachValue(this._rawModule.getters,a)},Module.prototype.forEachAction=function(a){this._rawModule.actions&&forEachValue(this._rawModule.actions,a)},Module.prototype.forEachMutation=function(a){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,a)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(a){this.register([],a,!1)};ModuleCollection.prototype.get=function(a){return a.reduce(function(n,r){return n.getChild(r)},this.root)},ModuleCollection.prototype.getNamespace=function(a){var n=this.root;return a.reduce(function(r,i){return n=n.getChild(i),r+(n.namespaced?i+"/":"")},"")},ModuleCollection.prototype.update=function(a){update([],this.root,a)},ModuleCollection.prototype.register=function(a,n,r){var i=this;r===void 0&&(r=!0);var s=new Module(n,r);if(a.length===0)this.root=s;else{var l=this.get(a.slice(0,-1));l.addChild(a[a.length-1],s)}n.modules&&forEachValue(n.modules,function(c,o){i.register(a.concat(o),c,r)})},ModuleCollection.prototype.unregister=function(a){var n=this.get(a.slice(0,-1)),r=a[a.length-1],i=n.getChild(r);if(!i)return;if(!i.runtime)return;n.removeChild(r)},ModuleCollection.prototype.isRegistered=function(a){var n=this.get(a.slice(0,-1)),r=a[a.length-1];return n?n.hasChild(r):!1};function update(e,a,n){if(a.update(n),n.modules)for(var r in n.modules){if(!a.getChild(r))return;update(e.concat(r),a.getChild(r),n.modules[r])}}var Vue$1,Store=function(a){var n=this;a===void 0&&(a={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var r=a.plugins;r===void 0&&(r=[]);var i=a.strict;i===void 0&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(a),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,l=this,c=l.dispatch,o=l.commit;this.dispatch=function(h,m){return c.call(s,h,m)},this.commit=function(h,m,b){return o.call(s,h,m,b)},this.strict=i;var u=this._modules.root.state;installModule(this,u,[],this._modules.root),resetStoreVM(this,u),r.forEach(function(f){return f(n)});var d=a.devtools!==void 0?a.devtools:Vue$1.config.devtools;d&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(a,n,r){var i=this,s=unifyObjectStyle(a,n,r),l=s.type,c=s.payload,o={type:l,payload:c},u=this._mutations[l];if(!u)return;this._withCommit(function(){u.forEach(function(f){f(c)})}),this._subscribers.slice().forEach(function(d){return d(o,i.state)})},Store.prototype.dispatch=function(a,n){var r=this,i=unifyObjectStyle(a,n),s=i.type,l=i.payload,c={type:s,payload:l},o=this._actions[s];if(!o)return;try{this._actionSubscribers.slice().filter(function(d){return d.before}).forEach(function(d){return d.before(c,r.state)})}catch(d){}var u=o.length>1?Promise.all(o.map(function(d){return d(l)})):o[0](l);return new Promise(function(d,f){u.then(function(h){try{r._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(c,r.state)})}catch(m){}d(h)},function(h){try{r._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(c,r.state,h)})}catch(m){}f(h)})})},Store.prototype.subscribe=function(a,n){return genericSubscribe(a,this._subscribers,n)},Store.prototype.subscribeAction=function(a,n){var r=typeof a=="function"?{before:a}:a;return genericSubscribe(r,this._actionSubscribers,n)},Store.prototype.watch=function(a,n,r){var i=this;return this._watcherVM.$watch(function(){return a(i.state,i.getters)},n,r)},Store.prototype.replaceState=function(a){var n=this;this._withCommit(function(){n._vm._data.$$state=a})},Store.prototype.registerModule=function(a,n,r){r===void 0&&(r={}),typeof a=="string"&&(a=[a]),this._modules.register(a,n),installModule(this,this.state,a,this._modules.get(a),r.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(a){var n=this;typeof a=="string"&&(a=[a]),this._modules.unregister(a),this._withCommit(function(){var r=getNestedState(n.state,a.slice(0,-1));Vue$1.delete(r,a[a.length-1])}),resetStore(this)},Store.prototype.hasModule=function(a){return typeof a=="string"&&(a=[a]),this._modules.isRegistered(a)},Store.prototype.hotUpdate=function(a){this._modules.update(a),resetStore(this,!0)},Store.prototype._withCommit=function(a){var n=this._committing;this._committing=!0,a(),this._committing=n},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,a,n){return a.indexOf(e)<0&&(n&&n.prepend?a.unshift(e):a.push(e)),function(){var r=a.indexOf(e);r>-1&&a.splice(r,1)}}function resetStore(e,a){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;installModule(e,n,[],e._modules.root,!0),resetStoreVM(e,n,a)}function resetStoreVM(e,a,n){var r=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var i=e._wrappedGetters,s={};forEachValue(i,function(c,o){s[o]=partial(c,e),Object.defineProperty(e.getters,o,{get:function(){return e._vm[o]},enumerable:!0})});var l=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:a},computed:s}),Vue$1.config.silent=l,e.strict&&enableStrictMode(e),r&&(n&&e._withCommit(function(){r._data.$$state=null}),Vue$1.nextTick(function(){return r.$destroy()}))}function installModule(e,a,n,r,i){var s=!n.length,l=e._modules.getNamespace(n);if(r.namespaced&&(e._modulesNamespaceMap[l]&&!1&&console.error("[vuex] duplicate namespace "+l+" for the namespaced module "+n.join("/")),e._modulesNamespaceMap[l]=r),!s&&!i){var c=getNestedState(a,n.slice(0,-1)),o=n[n.length-1];e._withCommit(function(){Vue$1.set(c,o,r.state)})}var u=r.context=makeLocalContext(e,l,n);r.forEachMutation(function(d,f){var h=l+f;registerMutation(e,h,d,u)}),r.forEachAction(function(d,f){var h=d.root?f:l+f,m=d.handler||d;registerAction(e,h,m,u)}),r.forEachGetter(function(d,f){var h=l+f;registerGetter(e,h,d,u)}),r.forEachChild(function(d,f){installModule(e,a,n.concat(f),d,i)})}function makeLocalContext(e,a,n){var r=a==="",i={dispatch:r?e.dispatch:function(s,l,c){var o=unifyObjectStyle(s,l,c),u=o.payload,d=o.options,f=o.type;return(!d||!d.root)&&(f=a+f),e.dispatch(f,u)},commit:r?e.commit:function(s,l,c){var o=unifyObjectStyle(s,l,c),u=o.payload,d=o.options,f=o.type;(!d||!d.root)&&(f=a+f),e.commit(f,u,d)}};return Object.defineProperties(i,{getters:{get:r?function(){return e.getters}:function(){return makeLocalGetters(e,a)}},state:{get:function(){return getNestedState(e.state,n)}}}),i}function makeLocalGetters(e,a){if(!e._makeLocalGettersCache[a]){var n={},r=a.length;Object.keys(e.getters).forEach(function(i){if(i.slice(0,r)!==a)return;var s=i.slice(r);Object.defineProperty(n,s,{get:function(){return e.getters[i]},enumerable:!0})}),e._makeLocalGettersCache[a]=n}return e._makeLocalGettersCache[a]}function registerMutation(e,a,n,r){var i=e._mutations[a]||(e._mutations[a]=[]);i.push(function(l){n.call(e,r.state,l)})}function registerAction(e,a,n,r){var i=e._actions[a]||(e._actions[a]=[]);i.push(function(l){var c=n.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},l);return isPromise$1(c)||(c=Promise.resolve(c)),e._devtoolHook?c.catch(function(o){throw e._devtoolHook.emit("vuex:error",o),o}):c})}function registerGetter(e,a,n,r){if(e._wrappedGetters[a])return;e._wrappedGetters[a]=function(s){return n(r.state,r.getters,s.state,s.getters)}}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,a){return a.reduce(function(n,r){return n[r]},e)}function unifyObjectStyle(e,a,n){return isObject$1(e)&&e.type&&(n=a,a=e,e=e.type),{type:e,payload:a,options:n}}function install(e){if(Vue$1&&e===Vue$1)return;Vue$1=e,applyMixin(Vue$1)}var mapState=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){var c=this.$store.state,o=this.$store.getters;if(e){var u=getModuleByNamespace(this.$store,"mapState",e);if(!u)return;c=u.context.state,o=u.context.getters}return typeof s=="function"?s.call(this,c,o):c[s]},n[i].vuex=!0}),n}),mapMutations=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){for(var c=[],o=arguments.length;o--;)c[o]=arguments[o];var u=this.$store.commit;if(e){var d=getModuleByNamespace(this.$store,"mapMutations",e);if(!d)return;u=d.context.commit}return typeof s=="function"?s.apply(this,[u].concat(c)):u.apply(this.$store,[s].concat(c))}}),n}),mapGetters=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;s=e+s,n[i]=function(){return e&&!getModuleByNamespace(this.$store,"mapGetters",e)?void 0:this.$store.getters[s]},n[i].vuex=!0}),n}),mapActions=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){for(var c=[],o=arguments.length;o--;)c[o]=arguments[o];var u=this.$store.dispatch;if(e){var d=getModuleByNamespace(this.$store,"mapActions",e);if(!d)return;u=d.context.dispatch}return typeof s=="function"?s.apply(this,[u].concat(c)):u.apply(this.$store,[s].concat(c))}}),n}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(a){return{key:a,val:a}}):Object.keys(e).map(function(a){return{key:a,val:e[a]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(a,n){return typeof a!="string"?(n=a,a=""):a.charAt(a.length-1)!=="/"&&(a+="/"),e(a,n)}}function getModuleByNamespace(e,a,n){var r=e._modulesNamespaceMap[n];return r}function createLogger(e){e===void 0&&(e={});var a=e.collapsed;a===void 0&&(a=!0);var n=e.filter;n===void 0&&(n=function(d,f,h){return!0});var r=e.transformer;r===void 0&&(r=function(d){return d});var i=e.mutationTransformer;i===void 0&&(i=function(d){return d});var s=e.actionFilter;s===void 0&&(s=function(d,f){return!0});var l=e.actionTransformer;l===void 0&&(l=function(d){return d});var c=e.logMutations;c===void 0&&(c=!0);var o=e.logActions;o===void 0&&(o=!0);var u=e.logger;return u===void 0&&(u=console),function(d){var f=deepCopy(d.state);if(typeof u=="undefined")return;c&&d.subscribe(function(h,m){var b=deepCopy(m);if(n(h,f,b)){var T=getFormattedTime(),M=i(h),R="mutation "+h.type+T;startMessage(u,R,a),u.log("%c prev state","color: #9E9E9E; font-weight: bold",r(f)),u.log("%c mutation","color: #03A9F4; font-weight: bold",M),u.log("%c next state","color: #4CAF50; font-weight: bold",r(b)),endMessage(u)}f=b}),o&&d.subscribeAction(function(h,m){if(s(h,m)){var b=getFormattedTime(),T=l(h),M="action "+h.type+b;startMessage(u,M,a),u.log("%c action","color: #03A9F4; font-weight: bold",T),endMessage(u)}})}}function startMessage(e,a,n){var r=n?e.groupCollapsed:e.group;try{r.call(e,a)}catch(i){e.log(a)}}function endMessage(e){try{e.groupEnd()}catch(a){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,a){return new Array(a+1).join(e)}function pad(e,a){return repeat("0",a-e.toString().length)+e}var index$2={Store,install,version:"3.6.0",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger};let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,a)=>{socket.on("init_settings",(n,r,i)=>{settingsData=n,defaultSettingsData=i,spotifyCredentials=r,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:r,user:i,status:s}=n;a("setARL",{arl:r}),e("SET_USER",i),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:r}=a;r=typeof r=="undefined"?!0:r,e("SET_ARL",n),r&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const r=a[n];e[n]=r}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1}),commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function createCommonjsModule(e,a,n){return n={path:a,exports:{},require:function(r,i){return commonjsRequire(r,i??n.path)}},e(n,n.exports),n.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var socket_io_min=createCommonjsModule(function(e,a){/*! - * Socket.IO v3.1.0 - * (c) 2014-2021 Guillermo Rauch - * Released under the MIT License. - */!function(n,r){e.exports=r()}(window,function(){return function(n){var r={};function i(s){if(r[s])return r[s].exports;var l=r[s]={i:s,l:!1,exports:{}};return n[s].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=n,i.c=r,i.d=function(s,l,c){i.o(s,l)||Object.defineProperty(s,l,{enumerable:!0,get:c})},i.r=function(s){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})},i.t=function(s,l){if(1&l&&(s=i(s)),8&l)return s;if(4&l&&typeof s=="object"&&s&&s.__esModule)return s;var c=Object.create(null);if(i.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:s}),2&l&&typeof s!="string")for(var o in s)i.d(c,o,function(u){return s[u]}.bind(null,o));return c},i.n=function(s){var l=s&&s.__esModule?function(){return s.default}:function(){return s};return i.d(l,"a",l),l},i.o=function(s,l){return Object.prototype.hasOwnProperty.call(s,l)},i.p="",i(i.s=17)}([function(n,r,i){function s(l){if(l)return function(c){for(var o in s.prototype)c[o]=s.prototype[o];return c}(l)}n.exports=s,s.prototype.on=s.prototype.addEventListener=function(l,c){return this._callbacks=this._callbacks||{},(this._callbacks["$"+l]=this._callbacks["$"+l]||[]).push(c),this},s.prototype.once=function(l,c){function o(){this.off(l,o),c.apply(this,arguments)}return o.fn=c,this.on(l,o),this},s.prototype.off=s.prototype.removeListener=s.prototype.removeAllListeners=s.prototype.removeEventListener=function(l,c){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o,u=this._callbacks["$"+l];if(!u)return this;if(arguments.length==1)return delete this._callbacks["$"+l],this;for(var d=0;d0;case b.ACK:case b.BINARY_ACK:return Array.isArray(v)}}}]),w}(T);r.Decoder=z;var C=function(){function S(A){f(this,S),this.packet=A,this.buffers=[],this.reconPack=A}return m(S,[{key:"takeBinaryData",value:function(A){if(this.buffers.push(A),this.buffers.length===this.reconPack.attachments){var w=M.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),w}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),S}()},function(n,r){var i=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,s=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];n.exports=function(l){var c=l,o=l.indexOf("["),u=l.indexOf("]");o!=-1&&u!=-1&&(l=l.substring(0,o)+l.substring(o,u).replace(/:/g,";")+l.substring(u,l.length));for(var d,f,h=i.exec(l||""),m={},b=14;b--;)m[s[b]]=h[b]||"";return o!=-1&&u!=-1&&(m.source=c,m.host=m.host.substring(1,m.host.length-1).replace(/;/g,":"),m.authority=m.authority.replace("[","").replace("]","").replace(/;/g,":"),m.ipv6uri=!0),m.pathNames=function(T,M){var R=M.replace(/\/{2,9}/g,"/").split("/");return M.substr(0,1)!="/"&&M.length!==0||R.splice(0,1),M.substr(M.length-1,1)=="/"&&R.splice(R.length-1,1),R}(0,m.path),m.queryKey=(d=m.query,f={},d.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(T,M,R){M&&(f[M]=R)}),f),m}},function(n,r,i){function s(z){return(s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C})(z)}function l(z,C){for(var S=0;S=this._reconnectionAttempts)this.backoff.reset(),c(f(w.prototype),"emit",this).call(this,"reconnect_failed"),this._reconnecting=!1;else{var k=this.backoff.duration();this._reconnecting=!0;var x=setTimeout(function(){v.skipReconnect||(c(f(w.prototype),"emit",g).call(g,"reconnect_attempt",v.backoff.attempts),v.skipReconnect||v.open(function(y){y?(v._reconnecting=!1,v.reconnect(),c(f(w.prototype),"emit",g).call(g,"reconnect_error",y)):v.onreconnect()}))},k);this.subs.push(function(){clearTimeout(x)})}}},{key:"onreconnect",value:function(){var g=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),c(f(w.prototype),"emit",this).call(this,"reconnect",g)}}])&&l(C.prototype,S),w}(b);r.Manager=$},function(n,r,i){var s=i(9),l=i(22),c=i(26),o=i(27);r.polling=function(u){var d=!1,f=!1,h=u.jsonp!==!1;if(typeof location!="undefined"){var m=location.protocol==="https:",b=location.port;b||(b=m?443:80),d=u.hostname!==location.hostname||b!==u.port,f=u.secure!==m}if(u.xdomain=d,u.xscheme=f,"open"in new s(u)&&!u.forceJSONP)return new l(u);if(!h)throw new Error("JSONP disabled");return new c(u)},r.websocket=o},function(n,r,i){var s=i(21),l=i(2);n.exports=function(c){var o=c.xdomain,u=c.xscheme,d=c.enablesXDR;try{if(typeof XMLHttpRequest!="undefined"&&(!o||s))return new XMLHttpRequest}catch(f){}try{if(typeof XDomainRequest!="undefined"&&!u&&d)return new XDomainRequest}catch(f){}if(!o)try{return new l[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch(f){}}},function(n,r,i){function s(R){return(s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $})(R)}function l(R,$){if(!(R instanceof $))throw new TypeError("Cannot call a class as a function")}function c(R,$){for(var z=0;z<$.length;z++){var C=$[z];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),Object.defineProperty(R,C.key,C)}}function o(R,$){return(o=Object.setPrototypeOf||function(z,C){return z.__proto__=C,z})(R,$)}function u(R){var $=function(){if(typeof Reflect=="undefined"||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(z){return!1}}();return function(){var z,C=f(R);if($){var S=f(this).constructor;z=Reflect.construct(C,arguments,S)}else z=C.apply(this,arguments);return d(this,z)}}function d(R,$){return!$||s($)!=="object"&&typeof $!="function"?function(z){if(z===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return z}(R):$}function f(R){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function($){return $.__proto__||Object.getPrototypeOf($)})(R)}var h=i(3),m=i(4),b=i(1),T=i(12),M=function(R){!function(A,w){if(typeof w!="function"&&w!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(w&&w.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),w&&o(A,w)}(S,R);var $,z,C=u(S);function S(){return l(this,S),C.apply(this,arguments)}return $=S,(z=[{key:"doOpen",value:function(){this.poll()}},{key:"pause",value:function(A){var w=this;function g(){w.readyState="paused",A()}if(this.readyState="pausing",this.polling||!this.writable){var v=0;this.polling&&(v++,this.once("pollComplete",function(){--v||g()})),this.writable||(v++,this.once("drain",function(){--v||g()}))}else g()}},{key:"poll",value:function(){this.polling=!0,this.doPoll(),this.emit("poll")}},{key:"onData",value:function(A){var w=this;b.decodePayload(A,this.socket.binaryType).forEach(function(g,v,k){if(w.readyState==="opening"&&g.type==="open"&&w.onOpen(),g.type==="close")return w.onClose(),!1;w.onPacket(g)}),this.readyState!=="closed"&&(this.polling=!1,this.emit("pollComplete"),this.readyState==="open"&&this.poll())}},{key:"doClose",value:function(){var A=this;function w(){A.write([{type:"close"}])}this.readyState==="open"?w():this.once("open",w)}},{key:"write",value:function(A){var w=this;this.writable=!1,b.encodePayload(A,function(g){w.doWrite(g,function(){w.writable=!0,w.emit("drain")})})}},{key:"uri",value:function(){var A=this.query||{},w=this.opts.secure?"https":"http",g="";return this.opts.timestampRequests!==!1&&(A[this.opts.timestampParam]=T()),this.supportsBinary||A.sid||(A.b64=1),A=m.encode(A),this.opts.port&&(w==="https"&&Number(this.opts.port)!==443||w==="http"&&Number(this.opts.port)!==80)&&(g=":"+this.opts.port),A.length&&(A="?"+A),w+"://"+(this.opts.hostname.indexOf(":")!==-1?"["+this.opts.hostname+"]":this.opts.hostname)+g+this.opts.path+A}},{key:"name",get:function(){return"polling"}}])&&c($.prototype,z),S}(h);n.exports=M},function(n,r){var i=Object.create(null);i.open="0",i.close="1",i.ping="2",i.pong="3",i.message="4",i.upgrade="5",i.noop="6";var s=Object.create(null);Object.keys(i).forEach(function(l){s[i[l]]=l}),n.exports={PACKET_TYPES:i,PACKET_TYPES_REVERSE:s,ERROR_PACKET:{type:"error",data:"parser error"}}},function(n,r,i){var s,l="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),c={},o=0,u=0;function d(h){var m="";do m=l[h%64]+m,h=Math.floor(h/64);while(h>0);return m}function f(){var h=d(+new Date);return h!==s?(o=0,s=h):h+"."+d(o++)}for(;u<64;u++)c[l[u]]=u;f.encode=d,f.decode=function(h){var m=0;for(u=0;u1?s-1:0),c=1;c=z.length?{done:!0}:{done:!1,value:z[A++]}},e:function(x){throw x},f:w}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var g,v=!0,k=!1;return{s:function(){S=z[Symbol.iterator]()},n:function(){var x=S.next();return v=x.done,x},e:function(x){k=!0,g=x},f:function(){try{v||S.return==null||S.return()}finally{if(k)throw g}}}}function c(z,C){(C==null||C>z.length)&&(C=z.length);for(var S=0,A=new Array(C);S1?v-1:0),x=1;x1&&arguments[1]!==void 0?arguments[1]:{};return c(this,w),v=A.call(this),g&&l(g)==="object"&&(k=g,g=null),g?(g=M(g),k.hostname=g.host,k.secure=g.protocol==="https"||g.protocol==="wss",k.port=g.port,g.query&&(k.query=g.query)):k.host&&(k.hostname=M(k.host).host),v.secure=k.secure!=null?k.secure:typeof location!="undefined"&&location.protocol==="https:",k.hostname&&!k.port&&(k.port=v.secure?"443":"80"),v.hostname=k.hostname||(typeof location!="undefined"?location.hostname:"localhost"),v.port=k.port||(typeof location!="undefined"&&location.port?location.port:v.secure?443:80),v.transports=k.transports||["polling","websocket"],v.readyState="",v.writeBuffer=[],v.prevBufferLen=0,v.opts=s({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,jsonp:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{}},k),v.opts.path=v.opts.path.replace(/\/$/,"")+"/",typeof v.opts.query=="string"&&(v.opts.query=R.decode(v.opts.query)),v.id=null,v.upgrades=null,v.pingInterval=null,v.pingTimeout=null,v.pingTimeoutTimer=null,v.open(),v}return C=w,(S=[{key:"createTransport",value:function(g){var v=function(x){var y={};for(var _ in x)x.hasOwnProperty(_)&&(y[_]=x[_]);return y}(this.opts.query);v.EIO=T.protocol,v.transport=g,this.id&&(v.sid=this.id);var k=s({},this.opts.transportOptions[g],this.opts,{query:v,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new m[g](k)}},{key:"open",value:function(){var g;if(this.opts.rememberUpgrade&&w.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)g="websocket";else{if(this.transports.length===0){var v=this;return void setTimeout(function(){v.emit("error","No transports available")},0)}g=this.transports[0]}this.readyState="opening";try{g=this.createTransport(g)}catch(k){return this.transports.shift(),void this.open()}g.open(),this.setTransport(g)}},{key:"setTransport",value:function(g){var v=this;this.transport&&this.transport.removeAllListeners(),this.transport=g,g.on("drain",function(){v.onDrain()}).on("packet",function(k){v.onPacket(k)}).on("error",function(k){v.onError(k)}).on("close",function(){v.onClose("transport close")})}},{key:"probe",value:function(g){var v=this.createTransport(g,{probe:1}),k=!1,x=this;function y(){if(x.onlyBinaryUpgrades){var j=!this.supportsBinary&&x.transport.supportsBinary;k=k||j}k||(v.send([{type:"ping",data:"probe"}]),v.once("packet",function(O){if(!k)if(O.type==="pong"&&O.data==="probe"){if(x.upgrading=!0,x.emit("upgrading",v),!v)return;w.priorWebsocketSuccess=v.name==="websocket",x.transport.pause(function(){k||x.readyState!=="closed"&&(N(),x.setTransport(v),v.send([{type:"upgrade"}]),x.emit("upgrade",v),v=null,x.upgrading=!1,x.flush())})}else{var L=new Error("probe error");L.transport=v.name,x.emit("upgradeError",L)}}))}function _(){k||(k=!0,N(),v.close(),v=null)}function P(j){var O=new Error("probe error: "+j);O.transport=v.name,_(),x.emit("upgradeError",O)}function F(){P("transport closed")}function D(){P("socket closed")}function I(j){v&&j.name!==v.name&&_()}function N(){v.removeListener("open",y),v.removeListener("error",P),v.removeListener("close",F),x.removeListener("close",D),x.removeListener("upgrading",I)}w.priorWebsocketSuccess=!1,v.once("open",y),v.once("error",P),v.once("close",F),this.once("close",D),this.once("upgrading",I),v.open()}},{key:"onOpen",value:function(){if(this.readyState="open",w.priorWebsocketSuccess=this.transport.name==="websocket",this.emit("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade&&this.transport.pause)for(var g=0,v=this.upgrades.length;g0&&arguments[0]!==void 0?arguments[0]:{};return l(y,{xd:this.xd,xs:this.xs},this.opts),new w(this.uri(),y)}},{key:"doWrite",value:function(y,_){var P=this.request({method:"POST",data:y}),F=this;P.on("success",_),P.on("error",function(D){F.onError("xhr post error",D)})}},{key:"doPoll",value:function(){var y=this.request(),_=this;y.on("data",function(P){_.onData(P)}),y.on("error",function(P){_.onError("xhr poll error",P)}),this.pollXhr=y}}]),x}(M),w=function(v){d(x,v);var k=h(x);function x(y,_){var P;return c(this,x),(P=k.call(this)).opts=_,P.method=_.method||"GET",P.uri=y,P.async=_.async!==!1,P.data=_.data!==void 0?_.data:null,P.create(),P}return u(x,[{key:"create",value:function(){var y=$(this.opts,"agent","enablesXDR","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized");y.xdomain=!!this.opts.xd,y.xscheme=!!this.opts.xs;var _=this.xhr=new T(y),P=this;try{_.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders)for(var F in _.setDisableHeaderCheck&&_.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(F)&&_.setRequestHeader(F,this.opts.extraHeaders[F])}catch(D){}if(this.method==="POST")try{_.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(D){}try{_.setRequestHeader("Accept","*/*")}catch(D){}"withCredentials"in _&&(_.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(_.timeout=this.opts.requestTimeout),this.hasXDR()?(_.onload=function(){P.onLoad()},_.onerror=function(){P.onError(_.responseText)}):_.onreadystatechange=function(){_.readyState===4&&(_.status===200||_.status===1223?P.onLoad():setTimeout(function(){P.onError(typeof _.status=="number"?_.status:0)},0))},_.send(this.data)}catch(D){return void setTimeout(function(){P.onError(D)},0)}typeof document!="undefined"&&(this.index=x.requestsCount++,x.requests[this.index]=this)}},{key:"onSuccess",value:function(){this.emit("success"),this.cleanup()}},{key:"onData",value:function(y){this.emit("data",y),this.onSuccess()}},{key:"onError",value:function(y){this.emit("error",y),this.cleanup(!0)}},{key:"cleanup",value:function(y){if(this.xhr!==void 0&&this.xhr!==null){if(this.hasXDR()?this.xhr.onload=this.xhr.onerror=C:this.xhr.onreadystatechange=C,y)try{this.xhr.abort()}catch(_){}typeof document!="undefined"&&delete x.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var y=this.xhr.responseText;y!==null&&this.onData(y)}},{key:"hasXDR",value:function(){return typeof XDomainRequest!="undefined"&&!this.xs&&this.enablesXDR}},{key:"abort",value:function(){this.cleanup()}}]),x}(R);(w.requestsCount=0,w.requests={},typeof document!="undefined")&&(typeof attachEvent=="function"?attachEvent("onunload",g):typeof addEventListener=="function"&&addEventListener("onpagehide"in z?"pagehide":"unload",g,!1));function g(){for(var v in w.requests)w.requests.hasOwnProperty(v)&&w.requests[v].abort()}n.exports=A,n.exports.Request=w},function(n,r,i){var s=i(11).PACKET_TYPES,l=typeof Blob=="function"||typeof Blob!="undefined"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",c=typeof ArrayBuffer=="function",o=function(u,d){var f=new FileReader;return f.onload=function(){var h=f.result.split(",")[1];d("b"+h)},f.readAsDataURL(u)};n.exports=function(u,d,f){var h,m=u.type,b=u.data;return l&&b instanceof Blob?d?f(b):o(b,f):c&&(b instanceof ArrayBuffer||(h=b,typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(h):h&&h.buffer instanceof ArrayBuffer))?d?f(b instanceof ArrayBuffer?b:b.buffer):o(new Blob([b]),f):f(s[m]+(b||""))}},function(n,r,i){var s,l=i(11),c=l.PACKET_TYPES_REVERSE,o=l.ERROR_PACKET;typeof ArrayBuffer=="function"&&(s=i(25));var u=function(f,h){if(s){var m=s.decode(f);return d(m,h)}return{base64:!0,data:f}},d=function(f,h){switch(h){case"blob":return f instanceof ArrayBuffer?new Blob([f]):f;case"arraybuffer":default:return f}};n.exports=function(f,h){if(typeof f!="string")return{type:"message",data:d(f,h)};var m=f.charAt(0);return m==="b"?{type:"message",data:u(f.substring(1),h)}:c[m]?f.length>1?{type:c[m],data:f.substring(1)}:{type:c[m]}:o}},function(n,r){!function(i){r.encode=function(s){var l,c=new Uint8Array(s),o=c.length,u="";for(l=0;l>2],u+=i[(3&c[l])<<4|c[l+1]>>4],u+=i[(15&c[l+1])<<2|c[l+2]>>6],u+=i[63&c[l+2]];return o%3==2?u=u.substring(0,u.length-1)+"=":o%3==1&&(u=u.substring(0,u.length-2)+"=="),u},r.decode=function(s){var l,c,o,u,d,f=.75*s.length,h=s.length,m=0;s[s.length-1]==="="&&(f--,s[s.length-2]==="="&&f--);var b=new ArrayBuffer(f),T=new Uint8Array(b);for(l=0;l>4,T[m++]=(15&o)<<4|u>>2,T[m++]=(3&u)<<6|63&d;return b}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")},function(n,r,i){function s(C){return(s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(S){return typeof S}:function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S})(C)}function l(C,S){for(var A=0;A';x=document.createElement(N)}catch(j){(x=document.createElement("iframe")).name=y.iframeId,x.src="javascript:0"}x.id=y.iframeId,y.form.appendChild(x),y.iframe=x}this.form.action=this.uri(),I(),v=v.replace(R,`\\ -`),this.area.value=v.replace(M,"\\n");try{this.form.submit()}catch(N){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){y.iframe.readyState==="complete"&&D()}:this.iframe.onload=D}},{key:"supportsBinary",get:function(){return!1}}])&&l(S.prototype,A),g}(b);n.exports=z},function(n,r,i){function s(A){return(s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(w){return typeof w}:function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w})(A)}function l(A,w){for(var g=0;g0&&s.jitter<=1?s.jitter:0,this.attempts=0}n.exports=i,i.prototype.duration=function(){var s=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var l=Math.random(),c=Math.floor(l*this.jitter*s);s=(1&Math.floor(10*l))==0?s-c:s+c}return 0|Math.min(s,this.max)},i.prototype.reset=function(){this.attempts=0},i.prototype.setMin=function(s){this.ms=s},i.prototype.setMax=function(s){this.max=s},i.prototype.setJitter=function(s){this.jitter=s}}])})}),io=getDefaultExportFromCjs(socket_io_min);const socket=io.connect("/");socket.on("init_update",e=>{store.dispatch("setAppInfo",e)});var __vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){if(!e)return;e("data-v-20045564_0",{source:".lds-ring[data-v-20045564]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-20045564]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-20045564 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-20045564]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-20045564]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-20045564]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-20045564{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-20045564",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;function __vue_normalize__(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BaseLoadingPlaceholder.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__.styles||(__vue_create_injector__.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var BaseLoadingPlaceholder=__vue_normalize__({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,__vue_create_injector__);function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");socket.emit("addToQueue",{url:e,bitrate:a},()=>{})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,r;return n=Math.floor(e/60),a=Math.floor(n/60),r=e-n*60,n-=a*60,[a,n,r]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var r;return function(){var i=this,s=arguments,l=function(){r=null,n||e.apply(i,s)},c=n&&!r;clearTimeout(r),r=setTimeout(l,a),c&&e.apply(i,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n),i=r?n.split(".").reduce((s,l)=>{if(s)return s[l]},e):e[n];if(typeof i!="undefined")return i}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,r)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+r,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:r}=window,i=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(i>r){const l=i-r+15;this.xPos=`${e-l}px`}if(s>n){const l=s-n+15;this.yPos=`${a-l}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(r){return n("button",{directives:[{name:"show",rawName:"v-show",value:r.show,expression:"option.show"}],key:r.label,staticClass:"btn menu-option",on:{click:function(i){return i.preventDefault(),r.action(i)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(r.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){if(!e)return;e("data-v-ce73bd68_0",{source:".context-menu[data-v-ce73bd68]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-ce73bd68]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-ce73bd68]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-ce73bd68]{text-transform:capitalize}button[data-v-ce73bd68]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-ce73bd68]:focus{outline:0}button[data-v-ce73bd68]:active{background-color:unset;transform:unset}button[data-v-ce73bd68]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-ce73bd68",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;function __vue_normalize__$1(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheContextMenu.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$1(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$1.styles||(__vue_create_injector__$1.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var TheContextMenu=__vue_normalize__$1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,__vue_create_injector__$1),EventBus=new Vue;async function adjustVolume(e,a,{duration:n=1e3,easing:r=swing,interval:i=13}={}){const s=e.volume,l=a-s;if(!l||!n||!r||!i)return e.volume=a,Promise.resolve();const c=Math.floor(n/i);let o=1;return new Promise(u=>{const d=setInterval(()=>{e.volume=s+r(o/c)*l,++o===c&&(clearInterval(d),u())},i)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,a,n)=>{this.stopStackedTabsPreview(),n()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;if(isFinite(e)||(e=30),e-this.$refs.preview.currentTime>=1)return;if(this.previewStopped)return;await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(a=>{a.style.opacity=0}),document.querySelectorAll("*").forEach(a=>{a.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(a=>{a.textContent="play_arrow"})},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:a}=e;var n=a.tagName=="I"?a:a.querySelector("i");a.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,n.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,n.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(r=>{r.removeAttribute("playing")}),a.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(r=>{r.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(r=>{r.style.opacity=0}),n.innerText="pause",n.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=a.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));if(e.length===0)return;await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(a=>{a.removeAttribute("playing"),a.innerText="play_arrow"})},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:a}=e,n=a.parentElement.hasAttribute("playing");(n&&this.previewStopped||!n)&&(a.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[n("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_is_functional_template__$2=!1;function __vue_normalize__$2(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TheTrackPreview.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TheTrackPreview=__vue_normalize__$2({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:a}=e;if(this.$refs.modal.classList.add("animated","fadeOut"),!a.matches(".quality-button"))return;sendAddToQueue(this.url,a.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:a}=e;if(this.$refs.modal.classList.remove("animated",a),a==="fadeIn")return;this.open=!1}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(r){return e.tryToDownloadTrack(r)}}},[n("div",{staticClass:"smallmodal-content"},[n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` + */function applyMixin(e){var n=Number(e.version.split(".")[0]);if(n>=2)e.mixin({beforeCreate:i});else{var a=e.prototype._init;e.prototype._init=function(r){r===void 0&&(r={}),r.init=r.init?[i].concat(r.init):i,a.call(this,r)}}function i(){var r=this.$options;r.store?this.$store=typeof r.store=="function"?r.store():r.store:r.parent&&r.parent.$store&&(this.$store=r.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){!devtoolHook||(e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(n){e.replaceState(n)}),e.subscribe(function(n,a){devtoolHook.emit("vuex:mutation",n,a)},{prepend:!0}),e.subscribeAction(function(n,a){devtoolHook.emit("vuex:action",n,a)},{prepend:!0}))}function find(e,n){return e.filter(n)[0]}function deepCopy(e,n){if(n===void 0&&(n=[]),e===null||typeof e!="object")return e;var a=find(n,function(r){return r.original===e});if(a)return a.copy;var i=Array.isArray(e)?[]:{};return n.push({original:e,copy:i}),Object.keys(e).forEach(function(r){i[r]=deepCopy(e[r],n)}),i}function forEachValue(e,n){Object.keys(e).forEach(function(a){return n(e[a],a)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,n){return function(){return e(n)}}var Module=function(n,a){this.runtime=a,this._children=Object.create(null),this._rawModule=n;var i=n.state;this.state=(typeof i=="function"?i():i)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(n,a){this._children[n]=a},Module.prototype.removeChild=function(n){delete this._children[n]},Module.prototype.getChild=function(n){return this._children[n]},Module.prototype.hasChild=function(n){return n in this._children},Module.prototype.update=function(n){this._rawModule.namespaced=n.namespaced,n.actions&&(this._rawModule.actions=n.actions),n.mutations&&(this._rawModule.mutations=n.mutations),n.getters&&(this._rawModule.getters=n.getters)},Module.prototype.forEachChild=function(n){forEachValue(this._children,n)},Module.prototype.forEachGetter=function(n){this._rawModule.getters&&forEachValue(this._rawModule.getters,n)},Module.prototype.forEachAction=function(n){this._rawModule.actions&&forEachValue(this._rawModule.actions,n)},Module.prototype.forEachMutation=function(n){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,n)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(n){this.register([],n,!1)};ModuleCollection.prototype.get=function(n){return n.reduce(function(a,i){return a.getChild(i)},this.root)},ModuleCollection.prototype.getNamespace=function(n){var a=this.root;return n.reduce(function(i,r){return a=a.getChild(r),i+(a.namespaced?r+"/":"")},"")},ModuleCollection.prototype.update=function(n){update([],this.root,n)},ModuleCollection.prototype.register=function(n,a,i){var r=this;i===void 0&&(i=!0);var s=new Module(a,i);if(n.length===0)this.root=s;else{var o=this.get(n.slice(0,-1));o.addChild(n[n.length-1],s)}a.modules&&forEachValue(a.modules,function(l,c){r.register(n.concat(c),l,i)})},ModuleCollection.prototype.unregister=function(n){var a=this.get(n.slice(0,-1)),i=n[n.length-1],r=a.getChild(i);!r||!r.runtime||a.removeChild(i)},ModuleCollection.prototype.isRegistered=function(n){var a=this.get(n.slice(0,-1)),i=n[n.length-1];return a?a.hasChild(i):!1};function update(e,n,a){if(n.update(a),a.modules)for(var i in a.modules){if(!n.getChild(i))return;update(e.concat(i),n.getChild(i),a.modules[i])}}var Vue$1,Store=function(n){var a=this;n===void 0&&(n={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var i=n.plugins;i===void 0&&(i=[]);var r=n.strict;r===void 0&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(n),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,o=this,l=o.dispatch,c=o.commit;this.dispatch=function(h,m){return l.call(s,h,m)},this.commit=function(h,m,v){return c.call(s,h,m,v)},this.strict=r;var u=this._modules.root.state;installModule(this,u,[],this._modules.root),resetStoreVM(this,u),i.forEach(function(f){return f(a)});var d=n.devtools!==void 0?n.devtools:Vue$1.config.devtools;d&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(n,a,i){var r=this,s=unifyObjectStyle(n,a,i),o=s.type,l=s.payload,c={type:o,payload:l},u=this._mutations[o];!u||(this._withCommit(function(){u.forEach(function(f){f(l)})}),this._subscribers.slice().forEach(function(d){return d(c,r.state)}))},Store.prototype.dispatch=function(n,a){var i=this,r=unifyObjectStyle(n,a),s=r.type,o=r.payload,l={type:s,payload:o},c=this._actions[s];if(!!c){try{this._actionSubscribers.slice().filter(function(d){return d.before}).forEach(function(d){return d.before(l,i.state)})}catch(d){}var u=c.length>1?Promise.all(c.map(function(d){return d(o)})):c[0](o);return new Promise(function(d,f){u.then(function(h){try{i._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(l,i.state)})}catch(m){}d(h)},function(h){try{i._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(l,i.state,h)})}catch(m){}f(h)})})}},Store.prototype.subscribe=function(n,a){return genericSubscribe(n,this._subscribers,a)},Store.prototype.subscribeAction=function(n,a){var i=typeof n=="function"?{before:n}:n;return genericSubscribe(i,this._actionSubscribers,a)},Store.prototype.watch=function(n,a,i){var r=this;return this._watcherVM.$watch(function(){return n(r.state,r.getters)},a,i)},Store.prototype.replaceState=function(n){var a=this;this._withCommit(function(){a._vm._data.$$state=n})},Store.prototype.registerModule=function(n,a,i){i===void 0&&(i={}),typeof n=="string"&&(n=[n]),this._modules.register(n,a),installModule(this,this.state,n,this._modules.get(n),i.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(n){var a=this;typeof n=="string"&&(n=[n]),this._modules.unregister(n),this._withCommit(function(){var i=getNestedState(a.state,n.slice(0,-1));Vue$1.delete(i,n[n.length-1])}),resetStore(this)},Store.prototype.hasModule=function(n){return typeof n=="string"&&(n=[n]),this._modules.isRegistered(n)},Store.prototype.hotUpdate=function(n){this._modules.update(n),resetStore(this,!0)},Store.prototype._withCommit=function(n){var a=this._committing;this._committing=!0,n(),this._committing=a},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,n,a){return n.indexOf(e)<0&&(a&&a.prepend?n.unshift(e):n.push(e)),function(){var i=n.indexOf(e);i>-1&&n.splice(i,1)}}function resetStore(e,n){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var a=e.state;installModule(e,a,[],e._modules.root,!0),resetStoreVM(e,a,n)}function resetStoreVM(e,n,a){var i=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var r=e._wrappedGetters,s={};forEachValue(r,function(l,c){s[c]=partial(l,e),Object.defineProperty(e.getters,c,{get:function(){return e._vm[c]},enumerable:!0})});var o=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:n},computed:s}),Vue$1.config.silent=o,e.strict&&enableStrictMode(e),i&&(a&&e._withCommit(function(){i._data.$$state=null}),Vue$1.nextTick(function(){return i.$destroy()}))}function installModule(e,n,a,i,r){var s=!a.length,o=e._modules.getNamespace(a);if(i.namespaced&&(e._modulesNamespaceMap[o],e._modulesNamespaceMap[o]=i),!s&&!r){var l=getNestedState(n,a.slice(0,-1)),c=a[a.length-1];e._withCommit(function(){Vue$1.set(l,c,i.state)})}var u=i.context=makeLocalContext(e,o,a);i.forEachMutation(function(d,f){var h=o+f;registerMutation(e,h,d,u)}),i.forEachAction(function(d,f){var h=d.root?f:o+f,m=d.handler||d;registerAction(e,h,m,u)}),i.forEachGetter(function(d,f){var h=o+f;registerGetter(e,h,d,u)}),i.forEachChild(function(d,f){installModule(e,n,a.concat(f),d,r)})}function makeLocalContext(e,n,a){var i=n==="",r={dispatch:i?e.dispatch:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;return(!d||!d.root)&&(f=n+f),e.dispatch(f,u)},commit:i?e.commit:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;(!d||!d.root)&&(f=n+f),e.commit(f,u,d)}};return Object.defineProperties(r,{getters:{get:i?function(){return e.getters}:function(){return makeLocalGetters(e,n)}},state:{get:function(){return getNestedState(e.state,a)}}}),r}function makeLocalGetters(e,n){if(!e._makeLocalGettersCache[n]){var a={},i=n.length;Object.keys(e.getters).forEach(function(r){if(r.slice(0,i)===n){var s=r.slice(i);Object.defineProperty(a,s,{get:function(){return e.getters[r]},enumerable:!0})}}),e._makeLocalGettersCache[n]=a}return e._makeLocalGettersCache[n]}function registerMutation(e,n,a,i){var r=e._mutations[n]||(e._mutations[n]=[]);r.push(function(o){a.call(e,i.state,o)})}function registerAction(e,n,a,i){var r=e._actions[n]||(e._actions[n]=[]);r.push(function(o){var l=a.call(e,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:e.getters,rootState:e.state},o);return isPromise$1(l)||(l=Promise.resolve(l)),e._devtoolHook?l.catch(function(c){throw e._devtoolHook.emit("vuex:error",c),c}):l})}function registerGetter(e,n,a,i){e._wrappedGetters[n]||(e._wrappedGetters[n]=function(s){return a(i.state,i.getters,s.state,s.getters)})}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,n){return n.reduce(function(a,i){return a[i]},e)}function unifyObjectStyle(e,n,a){return isObject$1(e)&&e.type&&(a=n,n=e,e=e.type),{type:e,payload:n,options:a}}function install(e){Vue$1&&e===Vue$1||(Vue$1=e,applyMixin(Vue$1))}var mapState=normalizeNamespace(function(e,n){var a={};return normalizeMap(n).forEach(function(i){var r=i.key,s=i.val;a[r]=function(){var l=this.$store.state,c=this.$store.getters;if(e){var u=getModuleByNamespace(this.$store,"mapState",e);if(!u)return;l=u.context.state,c=u.context.getters}return typeof s=="function"?s.call(this,l,c):l[s]},a[r].vuex=!0}),a}),mapMutations=normalizeNamespace(function(e,n){var a={};return normalizeMap(n).forEach(function(i){var r=i.key,s=i.val;a[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.commit;if(e){var d=getModuleByNamespace(this.$store,"mapMutations",e);if(!d)return;u=d.context.commit}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),a}),mapGetters=normalizeNamespace(function(e,n){var a={};return normalizeMap(n).forEach(function(i){var r=i.key,s=i.val;s=e+s,a[r]=function(){if(!(e&&!getModuleByNamespace(this.$store,"mapGetters",e)))return this.$store.getters[s]},a[r].vuex=!0}),a}),mapActions=normalizeNamespace(function(e,n){var a={};return normalizeMap(n).forEach(function(i){var r=i.key,s=i.val;a[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.dispatch;if(e){var d=getModuleByNamespace(this.$store,"mapActions",e);if(!d)return;u=d.context.dispatch}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),a}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(n){return{key:n,val:n}}):Object.keys(e).map(function(n){return{key:n,val:e[n]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(n,a){return typeof n!="string"?(a=n,n=""):n.charAt(n.length-1)!=="/"&&(n+="/"),e(n,a)}}function getModuleByNamespace(e,n,a){var i=e._modulesNamespaceMap[a];return i}function createLogger(e){e===void 0&&(e={});var n=e.collapsed;n===void 0&&(n=!0);var a=e.filter;a===void 0&&(a=function(d,f,h){return!0});var i=e.transformer;i===void 0&&(i=function(d){return d});var r=e.mutationTransformer;r===void 0&&(r=function(d){return d});var s=e.actionFilter;s===void 0&&(s=function(d,f){return!0});var o=e.actionTransformer;o===void 0&&(o=function(d){return d});var l=e.logMutations;l===void 0&&(l=!0);var c=e.logActions;c===void 0&&(c=!0);var u=e.logger;return u===void 0&&(u=console),function(d){var f=deepCopy(d.state);typeof u!="undefined"&&(l&&d.subscribe(function(h,m){var v=deepCopy(m);if(a(h,f,v)){var y=getFormattedTime(),_=r(h),w="mutation "+h.type+y;startMessage(u,w,n),u.log("%c prev state","color: #9E9E9E; font-weight: bold",i(f)),u.log("%c mutation","color: #03A9F4; font-weight: bold",_),u.log("%c next state","color: #4CAF50; font-weight: bold",i(v)),endMessage(u)}f=v}),c&&d.subscribeAction(function(h,m){if(s(h,m)){var v=getFormattedTime(),y=o(h),_="action "+h.type+v;startMessage(u,_,n),u.log("%c action","color: #03A9F4; font-weight: bold",y),endMessage(u)}}))}}function startMessage(e,n,a){var i=a?e.groupCollapsed:e.group;try{i.call(e,n)}catch(r){e.log(n)}}function endMessage(e){try{e.groupEnd()}catch(n){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,n){return new Array(n+1).join(e)}function pad(e,n){return repeat("0",n-e.toString().length)+e}var index$2={Store,install,version:"3.6.2",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger};let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,n)=>{socket.on("init_settings",(a,i,r)=>{settingsData=a,defaultSettingsData=r,spotifyCredentials=i,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},n){e("SET_CURRENT_COMMIT",n.currentCommit),e("SET_LATEST_COMMIT",n.latestCommit),e("SET_UPDATE_AVAILABLE",n.updateAvailable),e("SET_DEEMIX_VERSION",n.deemixVersion)},setPreviewVolume({commit:e},n){e("SET_PREVIEW_VOLUME",n),localStorage.setItem("previewVolume",n.toString())},setSlimDownloads({commit:e},n){e("SET_SLIM_DOWNLOADS",n),localStorage.setItem("slimDownloads",n.toString())},setSlimSidebar({commit:e},n){e("SET_SLIM_SIDEBAR",n),localStorage.setItem("slimSidebar",n.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(a=>{a.style.transform=`translate(${n?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,n){e.currentCommit=n},SET_LATEST_COMMIT(e,n){e.latestCommit=n},SET_UPDATE_AVAILABLE(e,n){e.updateAvailable=n},SET_DEEMIX_VERSION(e,n){e.deemixVersion=n},SET_PREVIEW_VOLUME(e,n){e.previewVolume=n},SET_SLIM_DOWNLOADS(e,n){e.hasSlimDownloads=n},SET_SLIM_SIDEBAR(e,n){e.hasSlimSidebar=n}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:n},a){const{arl:i,user:r,status:s}=a;n("setARL",{arl:i}),e("SET_USER",r),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},n){let{arl:a,saveOnLocalStorage:i}=n;i=typeof i=="undefined"?!0:i,e("SET_ARL",a),i&&localStorage.setItem("arl",a)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},n){e("SET_USER",n)},setClientMode({commit:e},n){e("SET_CLIENT_MODE",n)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,n){e.arl=n},SET_STATUS(e,n){e.status=n},SET_USER(e,n){e.user=n},SET_CLIENT_MODE(e,n){e.clientMode=n},RESET_LOGIN(e){let n=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=n}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},n){e("SET_ERRORS",n)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,n){for(const a in e)if(e.hasOwnProperty(a)){const i=n[a];e[a]=i}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});class CustomSocket extends WebSocket{constructor(n){super(n);console.log(n)}emit(n,a){if(console.log("emit:",n,a),console.log(this.readyState),this.readyState!=WebSocket.OPEN)return!1;this.send(JSON.stringify({key:n,data:a}))}on(n,a){this.addEventListener("message",function(i){console.log(i.data);let r=JSON.parse(i.data);r.key==n&&a(r.data)})}}const socket=new CustomSocket("ws://"+location.host+"/");function normalizeComponent(e,n,a,i,r,s,o,l,c,u){typeof o!="boolean"&&(c=l,l=o,o=!1);var d=typeof a=="function"?a.options:a;e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,r&&(d.functional=!0)),i&&(d._scopeId=i);var f;if(s?(f=function(y){y=y||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!y&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(y=__VUE_SSR_CONTEXT__),n&&n.call(this,c(y)),y&&y._registeredComponents&&y._registeredComponents.add(s)},d._ssrRegister=f):n&&(f=o?function(){n.call(this,u(this.$root.$options.shadowRoot))}:function(v){n.call(this,l(v))}),f)if(d.functional){var h=d.render;d.render=function(y,_){return f.call(_),h(y,_)}}else{var m=d.beforeCreate;d.beforeCreate=m?[].concat(m,f):[f]}return a}var normalizeComponent_1=normalizeComponent,isOldIE=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function createInjector(e){return function(n,a){return addStyle(n,a)}}var HEAD=document.head||document.getElementsByTagName("head")[0],styles={};function addStyle(e,n){var a=isOldIE?n.media||"default":e,i=styles[a]||(styles[a]={ids:new Set,styles:[]});if(!i.ids.has(e)){i.ids.add(e);var r=n.source;if(n.map&&(r+=` +/*# sourceURL=`+n.map.sources[0]+" */",r+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(n.map))))+" */"),i.element||(i.element=document.createElement("style"),i.element.type="text/css",n.media&&i.element.setAttribute("media",n.media),HEAD.appendChild(i.element)),"styleSheet"in i.element)i.styles.push(r),i.element.styleSheet.cssText=i.styles.filter(Boolean).join(` +`);else{var s=i.ids.size-1,o=document.createTextNode(r),l=i.element.childNodes;l[s]&&i.element.removeChild(l[s]),l.length?i.element.insertBefore(o,l[s]):i.element.appendChild(o)}}}var browser=createInjector,__vue_render__=function(e,n){var a=n._c;return a("div",{directives:[{name:"show",rawName:"v-show",value:!n.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:n.props.additionalClasses},[a("span",{staticClass:"mb-5"},[n._v(n._s(n.props.text||"Loading..."))]),n._v(" "),n._m(0)])},__vue_staticRenderFns__=[function(e,n){var a=n._c;return a("div",{staticClass:"lds-ring"},[a("div"),n._v(" "),a("div"),n._v(" "),a("div"),n._v(" "),a("div")])}];const __vue_inject_styles__=function(e){!e||e("data-v-07f63f2b_0",{source:".lds-ring[data-v-07f63f2b]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-07f63f2b]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-07f63f2b 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-07f63f2b]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-07f63f2b]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-07f63f2b]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-07f63f2b{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-07f63f2b",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;var BaseLoadingPlaceholder=normalizeComponent_1({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,browser,void 0);function sendAddToQueue(e,n=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");socket.emit("addToQueue",{url:e,bitrate:n},()=>{})}function aggregateDownloadLinks(e){let n=[];return e.forEach(a=>{n.push(a.link)}),n.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let n=[e];for(;(e=e.parentNode)&&e!==document;)n.push(e);return n}function isValidURL(e){let n=e.toLowerCase();if(n.startsWith("http")){if(n.indexOf("deezer.com")>=0||n.indexOf("deezer.page.link")>=0||n.indexOf("open.spotify.com")>=0||n.indexOf("link.tospotify.com")>=0)return!0}else if(n.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let n,a;return n=Math.floor(e/60),a=e-n*60,a<10&&(a="0"+a),n+":"+a}function convertDurationSeparated(e){let n,a,i;return a=Math.floor(e/60),n=Math.floor(a/60),i=e-a*60,a-=n*60,[n,a,i]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,n,a){var i;return function(){var r=this,s=arguments,o=function(){i=null,a||e.apply(r,s)},l=a&&!i;clearTimeout(i),i=setTimeout(o,n),l&&e.apply(r,s)}}function copyToClipboard(e){const n=document.createElement("input");document.body.appendChild(n),n.setAttribute("type","text"),n.setAttribute("value",e),n.select(),n.setSelectionRange(0,99999),document.execCommand("copy"),n.remove()}function getPropertyWithFallback(e,...n){for(const a of n){let r=/\./.test(a)?a.split(".").reduce((s,o)=>{if(s)return s[o]},e):e[a];if(typeof r!="undefined")return r}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(a=>{document.execCommand("insertText",void 0,a)}):document.execCommand("paste")}}};let n=Object.values(e).length+1;return downloadQualities.forEach((a,i)=>{e[a.objName]={label:`${this.$t("globals.download",{thing:a.label})}`,show:!1,position:n+i,action:sendAddToQueue.bind(null,this.deezerHref,a.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,n)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,n){this.xPos=`${e}px`,this.yPos=`${n}px`,this.$nextTick().then(()=>{const{innerHeight:a,innerWidth:i}=window,r=e+this.$refs.contextMenu.getBoundingClientRect().width,s=n+this.$refs.contextMenu.getBoundingClientRect().height;if(r>i){const o=r-i+15;this.xPos=`${e-o}px`}if(s>a){const o=s-a+15;this.yPos=`${n-o}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(n=>{this.options[n.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(i){return a("button",{directives:[{name:"show",rawName:"v-show",value:i.show,expression:"option.show"}],key:i.label,staticClass:"btn menu-option",on:{click:function(r){return r.preventDefault(),i.action(r)}}},[a("span",{staticClass:"menu-option__text"},[e._v(e._s(i.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){!e||e("data-v-17a20187_0",{source:".context-menu[data-v-17a20187]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-17a20187]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-17a20187]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-17a20187]{text-transform:capitalize}button[data-v-17a20187]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-17a20187]:focus{outline:0}button[data-v-17a20187]:active{background-color:unset;transform:unset}button[data-v-17a20187]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-17a20187",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;var TheContextMenu=normalizeComponent_1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,browser,void 0),EventBus=new Vue;async function adjustVolume(e,n,{duration:a=1e3,easing:i=swing,interval:r=13}={}){const s=e.volume,o=n-s;if(!o||!a||!i||!r)return e.volume=n,Promise.resolve();const l=Math.floor(a/r);let c=1;return new Promise(u=>{const d=setInterval(()=>{e.volume=s+i(c/l)*o,++c===l&&(clearInterval(d),u())},r)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,n,a)=>{this.stopStackedTabsPreview(),a()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;isFinite(e)||(e=30),!(e-this.$refs.preview.currentTime>=1)&&(this.previewStopped||(await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(n=>{n.style.opacity=0}),document.querySelectorAll("*").forEach(n=>{n.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(n=>{n.textContent="play_arrow"})))},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:n}=e;var a=n.tagName=="I"?n:n.querySelector("i");n.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,a.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,a.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(i=>{i.removeAttribute("playing")}),n.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(i=>{i.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(i=>{i.style.opacity=0}),a.innerText="pause",a.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=n.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));e.length!==0&&(await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(n=>{n.removeAttribute("playing"),n.innerText="play_arrow"}))},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:n}=e,a=n.parentElement.hasAttribute("playing");(a&&this.previewStopped||!a)&&(n.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[a("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_module_identifier__$2=void 0,__vue_is_functional_template__$2=!1;var TheTrackPreview=normalizeComponent_1({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2,__vue_module_identifier__$2,void 0,void 0),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:n}=e;this.$refs.modal.classList.add("animated","fadeOut"),!!n.matches(".quality-button")&&sendAddToQueue(this.url,n.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:n}=e;this.$refs.modal.classList.remove("animated",n),n!=="fadeIn"&&(this.open=!1)}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(i){return e.tryToDownloadTrack(i)}}},[a("div",{staticClass:"smallmodal-content"},[a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"FLAC"}))+` - `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"3"}},[e._v(` + `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"3"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"MP3 320kbps"}))+` - `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"1"}},[e._v(` + `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"1"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"MP3 128kbps"}))+` - `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"15"}},[e._v(` + `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"15"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"360 Reality Audio [HQ]"}))+` - `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"14"}},[e._v(` + `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"14"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"360 Reality Audio [MQ]"}))+` - `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"13"}},[e._v(` + `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"13"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"360 Reality Audio [LQ]"}))+` - `)])])])},__vue_staticRenderFns__$3=[];const __vue_inject_styles__$3=function(e){if(!e)return;e("data-v-bc545508_0",{source:".smallmodal{position:fixed;z-index:1250;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4);animation-duration:.3s}.smallmodal-content{--modal-content-width:95%;background-color:transparent;margin:auto;width:var(--modal-content-width);position:relative;top:50%;transform:translateY(-50%)}@media only screen and (min-width:601px){.smallmodal-content{--modal-content-width:85%}}@media only screen and (min-width:993px){.smallmodal-content{--modal-content-width:70%}}.smallmodal-content button{width:100%;margin-bottom:8px}",map:void 0,media:void 0})},__vue_scope_id__$3=void 0,__vue_module_identifier__$2=void 0,__vue_is_functional_template__$3=!1;function __vue_normalize__$3(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheQualityModal.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$2(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$2.styles||(__vue_create_injector__$2.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var TheQualityModal=__vue_normalize__$3({render:__vue_render__$3,staticRenderFns:__vue_staticRenderFns__$3},__vue_inject_styles__$3,__vue_script__$2,__vue_scope_id__$3,__vue_is_functional_template__$3,__vue_module_identifier__$2,__vue_create_injector__$2),toString$1=function(e){return Object.prototype.toString.call(e)};function isNative$1(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol$1=typeof Symbol!="undefined"&&isNative$1(Symbol)&&typeof Reflect!="undefined"&&isNative$1(Reflect.ownKeys),noopFn=function(e){return e},sharedPropertyDefinition$1={enumerable:!0,configurable:!0,get:noopFn,set:noopFn};function proxy$1(e,a,n){var r=n.get,i=n.set;sharedPropertyDefinition$1.get=r||noopFn,sharedPropertyDefinition$1.set=i||noopFn,Object.defineProperty(e,a,sharedPropertyDefinition$1)}function def$1(e,a,n,r){Object.defineProperty(e,a,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function hasOwn$1(e,a){return Object.hasOwnProperty.call(e,a)}function assert(e,a){if(!e)throw new Error("[vue-composition-api] "+a)}function isArray(e){return Array.isArray(e)}function isObject$2(e){return e!==null&&typeof e=="object"}function isPlainObject$1(e){return toString$1(e)==="[object Object]"}function isFunction(e){return typeof e=="function"}function warn$1(e,a){Vue.util.warn(e,a)}function logError$1(e,a,n){if(typeof window!="undefined"&&typeof console!="undefined")console.error(e);else throw e}var vueDependency=void 0;try{var requiredVue=require("vue");requiredVue&&isVue(requiredVue)?vueDependency=requiredVue:requiredVue&&"default"in requiredVue&&isVue(requiredVue.default)&&(vueDependency=requiredVue.default)}catch(e){}var vueConstructor=null,currentInstance=null,PluginInstalledFlag="__composition_api_installed__";function isVue(e){return e&&typeof e=="function"&&e.name==="Vue"}function isVueRegistered(e){return hasOwn$1(e,PluginInstalledFlag)}function getVueConstructor(){return vueConstructor}function getRegisteredVueOrDefault(){var e=vueConstructor||vueDependency;return e}function setVueConstructor(e){vueConstructor=e,Object.defineProperty(e,PluginInstalledFlag,{configurable:!0,writable:!0,value:!0})}function setCurrentInstance(e){currentInstance=e}function getCurrentVu2Instance(){return currentInstance}function getCurrentInstance(){return currentInstance?toVue3ComponentInstance(currentInstance):null}var instanceMapCache=new WeakMap;function toVue3ComponentInstance(e){if(instanceMapCache.has(e))return instanceMapCache.get(e);var a={proxy:e,update:e.$forceUpdate,uid:e._uid,parent:null,root:null},n=["data","props","attrs","refs","emit","vnode","slots"];return n.forEach(function(r){proxy$1(a,r,{get:function(){return e["$"+r]}})}),proxy$1(a,"isMounted",{get:function(){return e._isMounted}}),proxy$1(a,"isUnmounted",{get:function(){return e._isDestroyed}}),proxy$1(a,"isDeactivated",{get:function(){return e._inactive}}),proxy$1(a,"emitted",{get:function(){return e._events}}),instanceMapCache.set(e,a),e.$parent&&(a.parent=toVue3ComponentInstance(e.$parent)),e.$root&&(a.root=toVue3ComponentInstance(e.$root)),a}function currentVMInFn(e){var a=getCurrentInstance();return a==null?void 0:a.proxy}function defineComponentInstance(e,a){a===void 0&&(a={});var n=e.config.silent;e.config.silent=!0;var r=new e(a);return e.config.silent=n,r}function isComponentInstance(e){var a=getVueConstructor();return a&&e instanceof a}function createSlotProxy(e,a){return function(){for(var n=[],r=0;r=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,a){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],l;try{for(;(a===void 0||a-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(c){l={error:c}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(l)throw l.error}}return s}function __spread(){for(var e=[],a=0;a{if(a===e)return;localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements()});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(a=>{a.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function a(){e.forEach(n=>{n.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",a)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=` +***************************************************************************** */var __assign=function(){return __assign=Object.assign||function(n){for(var a,i=1,r=arguments.length;i=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,n){var a=typeof Symbol=="function"&&e[Symbol.iterator];if(!a)return e;var i=a.call(e),r,s=[],o;try{for(;(n===void 0||n-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(l){o={error:l}}finally{try{r&&!r.done&&(a=i.return)&&a.call(i)}finally{if(o)throw o.error}}return s}function __spread(){for(var e=[],n=0;n{n!==e&&(localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements())});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(n=>{n.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function n(){e.forEach(a=>{a.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",n)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=` @@ -2774,38 +2762,23 @@ PERFORMANCE OF THIS SOFTWARE. .st8{fill-rule:evenodd;clip-rule:evenodd;fill:url(#rect8241_1_);} .st9{fill-rule:evenodd;clip-rule:evenodd;fill:url(#rect8248_1_);} -`,script$3=defineComponent({setup(e,a){const n=reactive({activeTablink:"home",updateAvailable:!1,links}),{THEMES:r,currentTheme:i}=useTheme();return socket.on("updateAvailable",()=>{n.updateAvailable=!0}),a.root.$router.afterEach((s,l)=>{const c=n.links.find(o=>o.routerName===s.name);if(!c)return;n.activeTablink=c.name}),{...toRefs(n),THEMES:r,currentTheme:i,isSlim:computed(()=>a.root.$store.getters.getSlimSidebar),deemixIcon}}});const __vue_script__$3=script$3;var __vue_render__$4=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("aside",{staticClass:"top-0 left-0 flex flex-col h-screen bg-panels-bg text-foreground",class:{"slim-sidebar w-12":e.isSlim},style:{minWidth:e.isSlim?null:"14rem"},attrs:{id:"sidebar","aria-label":"sidebar",role:"navigation"}},[n("div",{staticClass:"deemix-icon-container",domProps:{innerHTML:e._s(e.deemixIcon)}}),e._v(" "),e._l(e.links,function(r){return n("router-link",{key:r.name,staticClass:"relative flex items-center h-16 no-underline group main_tablinks hover:bg-background-main text-foreground",class:{"bg-background-main":e.activeTablink===r.name},attrs:{"aria-label":r.ariaLabel,to:{name:r.routerName},tag:"a"},nativeOn:{click:function(i){e.activeTablink=r.name}}},[n("i",{staticClass:"p-2 text-3xl material-icons side_icon group-hover:text-primary",class:{"text-primary":e.activeTablink===r.name}},[e._v(` - `+e._s(r.icon)+` - `)]),e._v(" "),n("span",{staticClass:"ml-5 overflow-hidden capitalize whitespace-no-wrap main-tablinks-text",class:{hidden:e.isSlim},staticStyle:{"letter-spacing":"1.3px"}},[e._v(` - `+e._s(e.$t(r.label))+` - `)]),e._v(" "),r.name==="about"&&e.updateAvailable?n("span",{staticClass:"absolute w-3 h-3 bg-red-600 rounded-full",attrs:{id:"update-notification"}}):e._e()])}),e._v(" "),n("span",{staticClass:"flex h-12 mt-5",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_selector","aria-label":"theme selector",role:"link"}},[n("i",{staticClass:"p-2 text-3xl transition-all duration-500 cursor-default material-icons side_icon side_icon--theme"},[e._v(` +`,script$3=defineComponent({setup(e,n){const a=reactive({activeTablink:"home",updateAvailable:!1,links}),{THEMES:i,currentTheme:r}=useTheme();return socket.on("updateAvailable",()=>{a.updateAvailable=!0}),n.root.$router.afterEach((s,o)=>{const l=a.links.find(c=>c.routerName===s.name);!l||(a.activeTablink=l.name)}),{...toRefs(a),THEMES:i,currentTheme:r,isSlim:computed(()=>n.root.$store.getters.getSlimSidebar),deemixIcon}}});const __vue_script__$3=script$3;var __vue_render__$4=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("aside",{staticClass:"top-0 left-0 flex flex-col h-screen bg-panels-bg text-foreground",class:{"slim-sidebar w-12":e.isSlim},style:{minWidth:e.isSlim?null:"14rem"},attrs:{id:"sidebar","aria-label":"sidebar",role:"navigation"}},[a("div",{staticClass:"deemix-icon-container",domProps:{innerHTML:e._s(e.deemixIcon)}}),e._v(" "),e._l(e.links,function(i){return a("router-link",{key:i.name,staticClass:"relative flex items-center h-16 no-underline group main_tablinks hover:bg-background-main text-foreground",class:{"bg-background-main":e.activeTablink===i.name},attrs:{"aria-label":i.ariaLabel,to:{name:i.routerName},tag:"a"},nativeOn:{click:function(r){e.activeTablink=i.name}}},[a("i",{staticClass:"p-2 text-3xl material-icons side_icon group-hover:text-primary",class:{"text-primary":e.activeTablink===i.name}},[e._v(` + `+e._s(i.icon)+` + `)]),e._v(" "),a("span",{staticClass:"ml-5 overflow-hidden capitalize whitespace-no-wrap main-tablinks-text",class:{hidden:e.isSlim},staticStyle:{"letter-spacing":"1.3px"}},[e._v(` + `+e._s(e.$t(i.label))+` + `)]),e._v(" "),i.name==="about"&&e.updateAvailable?a("span",{staticClass:"absolute w-3 h-3 bg-red-600 rounded-full",attrs:{id:"update-notification"}}):e._e()])}),e._v(" "),a("span",{staticClass:"flex h-12 mt-5",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_selector","aria-label":"theme selector",role:"link"}},[a("i",{staticClass:"p-2 text-3xl transition-all duration-500 cursor-default material-icons side_icon side_icon--theme"},[e._v(` brush - `)]),e._v(" "),n("div",{staticClass:"relative flex items-center w-full justify-evenly",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_togglers"}},e._l(e.THEMES,function(r){return n("div",{key:r,staticClass:"w-6 h-6 border rounded-full cursor-pointer theme_toggler border-grayscale-500 gap",class:[{"theme_toggler--active":e.currentTheme===r},"theme_toggler--"+r],on:{click:function(i){e.currentTheme=r}}})}),0)])],2)},__vue_staticRenderFns__$4=[];const __vue_inject_styles__$4=function(e){if(!e)return;e("data-v-070ab92d_0",{source:".deemix-icon-container[data-v-070ab92d]{display:grid;place-content:center}.slim-sidebar .deemix-icon-container[data-v-070ab92d]{margin:.5rem 0}.slim-sidebar .deemix-icon-container[data-v-070ab92d] svg{height:30px}.deemix-icon-container[data-v-070ab92d] svg{height:75px}#update-notification[data-v-070ab92d]{top:12px;left:30px}.theme_toggler[data-v-070ab92d]{transition:border .2s ease-in-out}.theme_toggler--active[data-v-070ab92d]{border-width:3px}.theme_toggler--light[data-v-070ab92d]{background-color:#fff}.theme_toggler--dark[data-v-070ab92d]{background-color:#141414}.theme_toggler--purple[data-v-070ab92d]{background:#460eaf}",map:void 0,media:void 0})},__vue_scope_id__$4="data-v-070ab92d",__vue_module_identifier__$3=void 0,__vue_is_functional_template__$4=!1;function __vue_normalize__$4(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheSidebar.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$3(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$3.styles||(__vue_create_injector__$3.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var TheSidebar=__vue_normalize__$4({render:__vue_render__$4,staticRenderFns:__vue_staticRenderFns__$4},__vue_inject_styles__$4,__vue_script__$3,__vue_scope_id__$4,__vue_is_functional_template__$4,__vue_module_identifier__$3,__vue_create_injector__$3),script$4=defineComponent({setup(){return{lastTextSearch:ref$2("")}},created(){const e=n=>{n.keyCode===70&&n.ctrlKey&&(n.preventDefault(),this.$refs.searchbar.focus())},a=n=>{if(!(n.key=="Backspace"&&n.ctrlKey&&n.shiftKey))return;this.$refs.searchbar.value="",this.$refs.searchbar.focus()};document.addEventListener("keydown",e),document.addEventListener("keyup",a),this.$on("hook:destroyed",()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",a)})},methods:{async performSearch(e){let a=e.keyCode===13;if(!a)return;let n=this.$refs.searchbar.value,r=n==="";if(r)return;let i=isValidURL(n),s=e.ctrlKey,l=this.$route.name==="Link Analyzer",c=this.$route.name==="Search",o=n===this.lastTextSearch;if(i){if(s){this.$root.$emit("ContextMenu:searchbar",n);return}if(l){socket.emit("analyzeLink",n);return}sendAddToQueue(n)}else{if(c&&o)return;this.lastTextSearch=n,await this.$router.push({name:"Search",query:{term:n}})}}}});const __vue_script__$4=script$4;var __vue_render__$5=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("header",{attrs:{id:"search","aria-label":"searchbar"}},[e._m(0),e._v(" "),n("input",{ref:"searchbar",staticClass:"w-full",attrs:{id:"searchbar",autocomplete:"off",type:"search",name:"searchbar",value:"",placeholder:e.$t("searchbar"),autofocus:""},on:{keyup:function(r){return e.performSearch(r)}}})])},__vue_staticRenderFns__$5=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"search__icon"},[n("i",{staticClass:"material-icons"},[e._v("search")])])}];const __vue_inject_styles__$5=function(e){if(!e)return;e("data-v-4b197d1c_0",{source:`input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:28px;height:28px;background-color:var(--foreground);-webkit-mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search{background-color:var(--secondary-background);padding:0 1em;display:flex;align-items:center;border:1px solid transparent;transition:border .2s ease-in-out;border-radius:15px;margin:10px 10px 20px 10px}#search .search__icon{width:2rem;height:2rem}#search .search__icon i{font-size:2rem;color:var(--foreground)}#search .search__icon i::selection{background:0 0}#search #searchbar{height:45px;padding-left:.5em;border:0;border-radius:0;background-color:var(--secondary-background);color:var(--foreground);font-size:1.2rem;font-family:'Open Sans';font-weight:300;margin-bottom:0}#search #searchbar:focus{outline:0}#search #searchbar::-webkit-search-cancel-button{appearance:none;width:28px;height:28px;background-color:var(--foreground);mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search #searchbar:-webkit-autofill,#search #searchbar:-webkit-autofill:active,#search #searchbar:-webkit-autofill:focus,#search #searchbar:-webkit-autofill:hover{box-shadow:0 0 0 45px var(--secondary-background) inset!important}#search:focus-within{border:1px solid var(--foreground)}`,map:void 0,media:void 0})},__vue_scope_id__$5=void 0,__vue_module_identifier__$4=void 0,__vue_is_functional_template__$5=!1;function __vue_normalize__$5(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheSearchBar.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$4(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$4.styles||(__vue_create_injector__$4.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var TheSearchBar=__vue_normalize__$5({render:__vue_render__$5,staticRenderFns:__vue_staticRenderFns__$5},__vue_inject_styles__$5,__vue_script__$4,__vue_scope_id__$5,__vue_is_functional_template__$5,__vue_module_identifier__$4,__vue_create_injector__$4),__vue_render__$6=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("button",{staticClass:"btn-primary border-transparent border-solid flex items-center justify-center p-1 m-0 w-16 h-16 rounded-full z-10",on:{click:function(r){return e.$router.back()}}},[n("i",{staticClass:"material-icons mirrored text-4xl text-white"},[e._v("forward")])])},__vue_staticRenderFns__$6=[];const __vue_inject_styles__$6=function(e){if(!e)return;e("data-v-74f206d4_0",{source:"button[data-v-74f206d4]{transition:background .2s ease-in-out}",map:void 0,media:void 0})},__vue_scope_id__$6="data-v-74f206d4",__vue_module_identifier__$5=void 0,__vue_is_functional_template__$6=!1;function __vue_normalize__$6(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BackButton.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$5(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$5.styles||(__vue_create_injector__$5.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var BackButton=__vue_normalize__$6({render:__vue_render__$6,staticRenderFns:__vue_staticRenderFns__$6},__vue_inject_styles__$6,{},__vue_scope_id__$6,__vue_is_functional_template__$6,__vue_module_identifier__$5,__vue_create_injector__$5),script$5={components:{BackButton},data:()=>({performScrolledSearch:!1}),computed:{showBackButton(){return["Tracklist","Artist","Album","Playlist","Spotify Playlist"].indexOf(this.$route.name)!==-1}},mounted(){this.$router.beforeEach((e,a,n)=>{this.$refs.content.scrollTo(0,0),n()})},methods:{handleContentScroll:debounce(async function(){if(this.$refs.content.scrollTop+this.$refs.content.clientHeight=1},allFailed(){let e=!1;return this.queueItem.status==="download finished"&&(e=this.queueItem.failed===this.queueItem.size),e},finishedWithFails(){return this.queueItem.status==="download finished"&&this.hasFails},isDeterminateStatus(){return possibleStates.indexOf(this.queueItem.status)!==-1},barClass(){return{converting:this.queueItem.status==="converting",indeterminate:!this.isDeterminateStatus,determinate:this.isDeterminateStatus}},barStyle(){let e=0,a="var(--primary-color)";return this.hasFails?a="hsl(33, 100%, 47%)":a="hsl(150, 76%, 34%)",this.allFailed&&(a="hsl(360, 100%, 35%)"),this.queueItem.status==="download finished"&&(e=100),this.queueItem.status==="downloading"&&(e=this.queueItem.progress),this.queueItem.status==="converting"&&(e=100-this.queueItem.conversion,a="hsl(46, 100%, 50%)"),{width:`${e}%`,backgroundColor:a}},resultIconText(){let e="delete_forever";return this.queueItem.status==="download finished"&&(this.hasFails?this.queueItem.failed>=this.queueItem.size?e="error":e="warning":e="done"),e}},methods:{onResultIconClick(){this.isDeterminateStatus?(this.finishedWithFails&&this.$emit("show-errors",this.queueItem),this.queueItem.status==="downloading"&&(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))):(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))}}};const __vue_script__$6=script$6;var __vue_render__$8=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"download-object"},[n("div",{staticClass:"download-info"},[n("img",{staticClass:"rounded coverart",attrs:{width:"75px",src:e.queueItem.cover,alt:"Cover "+e.queueItem.title}}),e._v(" "),n("div",{staticClass:"download-info-data"},[n("span",{staticClass:"download-line"},[e._v(e._s(e.queueItem.title))]),e._v(" "),n("span",{staticClass:"download-slim-separator"},[e._v(" - ")]),e._v(" "),n("span",[e._v(e._s(e.queueItem.artist))])]),e._v(" "),n("div",{staticClass:"download-info-status",staticStyle:{"text-align":"center"}},[n("span",{staticClass:"download-line"},[e._v(" "+e._s(e.queueItem.downloaded+e.queueItem.failed)+"/"+e._s(e.queueItem.size)+" ")]),e._v(" "),e.hasFails?n("span",{staticClass:"flex items-center",class:{clickable:e.finishedWithFails},staticStyle:{"justify-content":"center"},on:{click:function(r){e.finishedWithFails&&e.$emit("show-errors",e.queueItem)}}},[e._v(` + `)]),e._v(" "),a("div",{staticClass:"relative flex items-center w-full justify-evenly",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_togglers"}},e._l(e.THEMES,function(i){return a("div",{key:i,staticClass:"w-6 h-6 border rounded-full cursor-pointer theme_toggler border-grayscale-500 gap",class:[{"theme_toggler--active":e.currentTheme===i},"theme_toggler--"+i],on:{click:function(r){e.currentTheme=i}}})}),0)])],2)},__vue_staticRenderFns__$4=[];const __vue_inject_styles__$4=function(e){!e||e("data-v-0270c8a8_0",{source:".deemix-icon-container[data-v-0270c8a8]{display:grid;place-content:center}.slim-sidebar .deemix-icon-container[data-v-0270c8a8]{margin:.5rem 0}.slim-sidebar .deemix-icon-container[data-v-0270c8a8] svg{height:30px}.deemix-icon-container[data-v-0270c8a8] svg{height:75px}#update-notification[data-v-0270c8a8]{top:12px;left:30px}.theme_toggler[data-v-0270c8a8]{transition:border .2s ease-in-out}.theme_toggler--active[data-v-0270c8a8]{border-width:3px}.theme_toggler--light[data-v-0270c8a8]{background-color:#fff}.theme_toggler--dark[data-v-0270c8a8]{background-color:#141414}.theme_toggler--purple[data-v-0270c8a8]{background:#460eaf}",map:void 0,media:void 0})},__vue_scope_id__$4="data-v-0270c8a8",__vue_module_identifier__$4=void 0,__vue_is_functional_template__$4=!1;var TheSidebar=normalizeComponent_1({render:__vue_render__$4,staticRenderFns:__vue_staticRenderFns__$4},__vue_inject_styles__$4,__vue_script__$3,__vue_scope_id__$4,__vue_is_functional_template__$4,__vue_module_identifier__$4,browser,void 0),script$4=defineComponent({setup(){return{lastTextSearch:ref$2("")}},created(){const e=a=>{a.keyCode===70&&a.ctrlKey&&(a.preventDefault(),this.$refs.searchbar.focus())},n=a=>{!(a.key=="Backspace"&&a.ctrlKey&&a.shiftKey)||(this.$refs.searchbar.value="",this.$refs.searchbar.focus())};document.addEventListener("keydown",e),document.addEventListener("keyup",n),this.$on("hook:destroyed",()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",n)})},methods:{async performSearch(e){if(!(e.keyCode===13))return;let a=this.$refs.searchbar.value;if(a==="")return;let r=isValidURL(a),s=e.ctrlKey,o=this.$route.name==="Link Analyzer",l=this.$route.name==="Search",c=a===this.lastTextSearch;if(r){if(s){this.$root.$emit("ContextMenu:searchbar",a);return}if(o){socket.emit("analyzeLink",a);return}sendAddToQueue(a)}else{if(l&&c)return;this.lastTextSearch=a,await this.$router.push({name:"Search",query:{term:a}})}}}});const __vue_script__$4=script$4;var __vue_render__$5=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("header",{attrs:{id:"search","aria-label":"searchbar"}},[e._m(0),e._v(" "),a("input",{ref:"searchbar",staticClass:"w-full",attrs:{id:"searchbar",autocomplete:"off",type:"search",name:"searchbar",value:"",placeholder:e.$t("searchbar"),autofocus:""},on:{keyup:function(i){return e.performSearch(i)}}})])},__vue_staticRenderFns__$5=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"search__icon"},[a("i",{staticClass:"material-icons"},[e._v("search")])])}];const __vue_inject_styles__$5=function(e){!e||e("data-v-7bfd9372_0",{source:`input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:28px;height:28px;background-color:var(--foreground);-webkit-mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search{background-color:var(--secondary-background);padding:0 1em;display:flex;align-items:center;border:1px solid transparent;transition:border .2s ease-in-out;border-radius:15px;margin:10px 10px 20px 10px}#search .search__icon{width:2rem;height:2rem}#search .search__icon i{font-size:2rem;color:var(--foreground)}#search .search__icon i::selection{background:0 0}#search #searchbar{height:45px;padding-left:.5em;border:0;border-radius:0;background-color:var(--secondary-background);color:var(--foreground);font-size:1.2rem;font-family:'Open Sans';font-weight:300;margin-bottom:0}#search #searchbar:focus{outline:0}#search #searchbar::-webkit-search-cancel-button{appearance:none;width:28px;height:28px;background-color:var(--foreground);mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search #searchbar:-webkit-autofill,#search #searchbar:-webkit-autofill:active,#search #searchbar:-webkit-autofill:focus,#search #searchbar:-webkit-autofill:hover{box-shadow:0 0 0 45px var(--secondary-background) inset!important}#search:focus-within{border:1px solid var(--foreground)}`,map:void 0,media:void 0})},__vue_scope_id__$5=void 0,__vue_module_identifier__$5=void 0,__vue_is_functional_template__$5=!1;var TheSearchBar=normalizeComponent_1({render:__vue_render__$5,staticRenderFns:__vue_staticRenderFns__$5},__vue_inject_styles__$5,__vue_script__$4,__vue_scope_id__$5,__vue_is_functional_template__$5,__vue_module_identifier__$5,browser,void 0),__vue_render__$6=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("button",{staticClass:"btn-primary border-transparent border-solid flex items-center justify-center p-1 m-0 w-16 h-16 rounded-full z-10",on:{click:function(i){return e.$router.back()}}},[a("i",{staticClass:"material-icons mirrored text-4xl text-white"},[e._v("forward")])])},__vue_staticRenderFns__$6=[];const __vue_inject_styles__$6=function(e){!e||e("data-v-5753fbea_0",{source:"button[data-v-5753fbea]{transition:background .2s ease-in-out}",map:void 0,media:void 0})},__vue_scope_id__$6="data-v-5753fbea",__vue_module_identifier__$6=void 0,__vue_is_functional_template__$6=!1;var BackButton=normalizeComponent_1({render:__vue_render__$6,staticRenderFns:__vue_staticRenderFns__$6},__vue_inject_styles__$6,{},__vue_scope_id__$6,__vue_is_functional_template__$6,__vue_module_identifier__$6,browser,void 0),script$5={components:{BackButton},data:()=>({performScrolledSearch:!1}),computed:{showBackButton(){return["Tracklist","Artist","Album","Playlist","Spotify Playlist"].indexOf(this.$route.name)!==-1}},mounted(){this.$router.beforeEach((e,n,a)=>{this.$refs.content.scrollTo(0,0),a()})},methods:{handleContentScroll:debounce(async function(){this.$refs.content.scrollTop+this.$refs.content.clientHeight=1},allFailed(){let e=!1;return this.queueItem.status==="download finished"&&(e=this.queueItem.failed===this.queueItem.size),e},finishedWithFails(){return this.queueItem.status==="download finished"&&this.hasFails},isDeterminateStatus(){return possibleStates.indexOf(this.queueItem.status)!==-1},barClass(){return{converting:this.queueItem.status==="converting",indeterminate:!this.isDeterminateStatus,determinate:this.isDeterminateStatus}},barStyle(){let e=0,n="var(--primary-color)";return this.hasFails?n="hsl(33, 100%, 47%)":n="hsl(150, 76%, 34%)",this.allFailed&&(n="hsl(360, 100%, 35%)"),this.queueItem.status==="download finished"&&(e=100),this.queueItem.status==="downloading"&&(e=this.queueItem.progress),this.queueItem.status==="converting"&&(e=100-this.queueItem.conversion,n="hsl(46, 100%, 50%)"),{width:`${e}%`,backgroundColor:n}},resultIconText(){let e="delete_forever";return this.queueItem.status==="download finished"&&(this.hasFails?this.queueItem.failed>=this.queueItem.size?e="error":e="warning":e="done"),e}},methods:{onResultIconClick(){this.isDeterminateStatus?(this.finishedWithFails&&this.$emit("show-errors",this.queueItem),this.queueItem.status==="downloading"&&(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))):(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))}}};const __vue_script__$6=script$6;var __vue_render__$8=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"download-object"},[a("div",{staticClass:"download-info"},[a("img",{staticClass:"rounded coverart",attrs:{width:"75px",src:e.queueItem.cover,alt:"Cover "+e.queueItem.title}}),e._v(" "),a("div",{staticClass:"download-info-data"},[a("span",{staticClass:"download-line"},[e._v(e._s(e.queueItem.title))]),e._v(" "),a("span",{staticClass:"download-slim-separator"},[e._v(" - ")]),e._v(" "),a("span",[e._v(e._s(e.queueItem.artist))])]),e._v(" "),a("div",{staticClass:"download-info-status",staticStyle:{"text-align":"center"}},[a("span",{staticClass:"download-line"},[e._v(" "+e._s(e.queueItem.downloaded+e.queueItem.failed)+"/"+e._s(e.queueItem.size)+" ")]),e._v(" "),e.hasFails?a("span",{staticClass:"flex items-center",class:{clickable:e.finishedWithFails},staticStyle:{"justify-content":"center"},on:{click:function(i){e.finishedWithFails&&e.$emit("show-errors",e.queueItem)}}},[e._v(` `+e._s(e.queueItem.failed)+` - `),n("i",{staticClass:"material-icons"},[e._v("error_outline")])]):e._e()])]),e._v(" "),n("div",{staticClass:"download-bar"},[n("div",{staticClass:"progress"},[n("div",{class:e.barClass,style:e.barStyle})]),e._v(" "),e.isLoading?n("div",{staticClass:"circle-loader"}):n("i",{staticClass:"material-icons queue_icon",class:{clickable:e.finishedWithFails||e.resultIconText==="delete_forever"},on:{click:e.onResultIconClick}},[e._v(` + `),a("i",{staticClass:"material-icons"},[e._v("error_outline")])]):e._e()])]),e._v(" "),a("div",{staticClass:"download-bar"},[a("div",{staticClass:"progress"},[a("div",{class:e.barClass,style:e.barStyle})]),e._v(" "),e.isLoading?a("div",{staticClass:"circle-loader"}):a("i",{staticClass:"material-icons queue_icon",class:{clickable:e.finishedWithFails||e.resultIconText==="delete_forever"},on:{click:e.onResultIconClick}},[e._v(` `+e._s(e.resultIconText)+` - `)])])])},__vue_staticRenderFns__$8=[];const __vue_inject_styles__$8=function(e){if(!e)return;e("data-v-35de8012_0",{source:".download-object{padding-bottom:8px}.download-object .download-info{display:flex;align-items:center}.download-object .download-info img{height:75px;flex-shrink:0;flex:0 0 75px}.download-object .download-info .download-line{display:block}.download-object .download-info .download-slim-separator{display:none}.download-object .download-info-data{flex:1 50%;margin-left:8px;overflow:hidden}.download-object .download-info-status{flex:1 15%;margin-left:8px;width:80px}.download-object>.download-bar{display:flex;align-items:center;height:24px}.download-object>.download-bar>.queue_icon{cursor:default;margin-left:8px}.download-object>.download-bar>.progress{margin:0}#download_list:not(.slim) .download-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#download_list.slim>.download-object .download-info{display:block}#download_list.slim>.download-object .download-info img{display:none}#download_list.slim>.download-object .download-info .download-line{display:inline-block}#download_list.slim>.download-object .download-info .download-slim-separator{display:inline-block}#download_list.slim>.download-object .download-info-data{width:calc(80% - 16px);display:inline-block;padding-left:0}#download_list.slim>.download-object .download-info-status{width:20%;display:inline-block;float:right}.progress{position:relative;height:4px;display:block;width:100%;background-color:var(--secondary-background);border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:var(--primary-color);transition:width .3s linear}.progress .converting{background-color:var(--secondary-color);transition:none!important}.progress .indeterminate{background-color:var(--primary-color)}.progress .indeterminate::before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate::after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}",map:void 0,media:void 0})},__vue_scope_id__$8=void 0,__vue_module_identifier__$7=void 0,__vue_is_functional_template__$8=!1;function __vue_normalize__$8(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="QueueItem.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$7(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$7.styles||(__vue_create_injector__$7.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var QueueItem=__vue_normalize__$8({render:__vue_render__$8,staticRenderFns:__vue_staticRenderFns__$8},__vue_inject_styles__$8,__vue_script__$6,__vue_scope_id__$8,__vue_is_functional_template__$8,__vue_module_identifier__$7,__vue_create_injector__$7),toastify=createCommonjsModule(function(e){/*! + `)])])])},__vue_staticRenderFns__$8=[];const __vue_inject_styles__$8=function(e){!e||e("data-v-571dc33c_0",{source:".download-object{padding-bottom:8px}.download-object .download-info{display:flex;align-items:center}.download-object .download-info img{height:75px;flex-shrink:0;flex:0 0 75px}.download-object .download-info .download-line{display:block}.download-object .download-info .download-slim-separator{display:none}.download-object .download-info-data{flex:1 50%;margin-left:8px;overflow:hidden}.download-object .download-info-status{flex:1 15%;margin-left:8px;width:80px}.download-object>.download-bar{display:flex;align-items:center;height:24px}.download-object>.download-bar>.queue_icon{cursor:default;margin-left:8px}.download-object>.download-bar>.progress{margin:0}#download_list:not(.slim) .download-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#download_list.slim>.download-object .download-info{display:block}#download_list.slim>.download-object .download-info img{display:none}#download_list.slim>.download-object .download-info .download-line{display:inline-block}#download_list.slim>.download-object .download-info .download-slim-separator{display:inline-block}#download_list.slim>.download-object .download-info-data{width:calc(80% - 16px);display:inline-block;padding-left:0}#download_list.slim>.download-object .download-info-status{width:20%;display:inline-block;float:right}.progress{position:relative;height:4px;display:block;width:100%;background-color:var(--secondary-background);border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:var(--primary-color);transition:width .3s linear}.progress .converting{background-color:var(--secondary-color);transition:none!important}.progress .indeterminate{background-color:var(--primary-color)}.progress .indeterminate::before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate::after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}",map:void 0,media:void 0})},__vue_scope_id__$8=void 0,__vue_module_identifier__$8=void 0,__vue_is_functional_template__$8=!1;var QueueItem=normalizeComponent_1({render:__vue_render__$8,staticRenderFns:__vue_staticRenderFns__$8},__vue_inject_styles__$8,__vue_script__$6,__vue_scope_id__$8,__vue_is_functional_template__$8,__vue_module_identifier__$8,browser,void 0),commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function createCommonjsModule(e,n,a){return a={path:n,exports:{},require:function(i,r){return commonjsRequire(i,r??a.path)}},e(a,a.exports),a.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var toastify=createCommonjsModule(function(e){/*! * Toastify js 1.9.3 * https://github.com/apvarun/toastify-js * @license MIT licensed * * Copyright (C) 2018 Varun A P - */(function(a,n){e.exports?e.exports=n():a.Toastify=n()})(commonjsGlobal,function(a){var n=function(l){return new n.lib.init(l)},r="1.9.3";n.lib=n.prototype={toastify:r,constructor:n,init:function(l){return l||(l={}),this.options={},this.toastElement=null,this.options.text=l.text||"Hi there!",this.options.node=l.node,this.options.duration=l.duration===0?0:l.duration||3e3,this.options.selector=l.selector,this.options.callback=l.callback||function(){},this.options.destination=l.destination,this.options.newWindow=l.newWindow||!1,this.options.close=l.close||!1,this.options.gravity=l.gravity==="bottom"?"toastify-bottom":"toastify-top",this.options.positionLeft=l.positionLeft||!1,this.options.position=l.position||"",this.options.backgroundColor=l.backgroundColor,this.options.avatar=l.avatar||"",this.options.className=l.className||"",this.options.stopOnFocus=l.stopOnFocus===void 0?!0:l.stopOnFocus,this.options.onClick=l.onClick,this.options.offset=l.offset||{x:0,y:0},this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var l=document.createElement("div");if(l.className="toastify on "+this.options.className,this.options.position?l.className+=" toastify-"+this.options.position:this.options.positionLeft===!0?(l.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):l.className+=" toastify-right",l.className+=" "+this.options.gravity,this.options.backgroundColor&&(l.style.background=this.options.backgroundColor),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)l.appendChild(this.options.node);else if(l.innerHTML=this.options.text,this.options.avatar!==""){var c=document.createElement("img");c.src=this.options.avatar,c.className="toastify-avatar",this.options.position=="left"||this.options.positionLeft===!0?l.appendChild(c):l.insertAdjacentElement("afterbegin",c)}if(this.options.close===!0){var o=document.createElement("span");o.innerHTML="✖",o.className="toast-close",o.addEventListener("click",function(T){T.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var u=window.innerWidth>0?window.innerWidth:screen.width;(this.options.position=="left"||this.options.positionLeft===!0)&&u>360?l.insertAdjacentElement("afterbegin",o):l.appendChild(o)}if(this.options.stopOnFocus&&this.options.duration>0){var d=this;l.addEventListener("mouseover",function(T){window.clearTimeout(l.timeOutValue)}),l.addEventListener("mouseleave",function(){l.timeOutValue=window.setTimeout(function(){d.removeElement(l)},d.options.duration)})}if(typeof this.options.destination!="undefined"&&l.addEventListener("click",function(T){T.stopPropagation(),this.options.newWindow===!0?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),typeof this.options.onClick=="function"&&typeof this.options.destination=="undefined"&&l.addEventListener("click",function(T){T.stopPropagation(),this.options.onClick()}.bind(this)),typeof this.options.offset=="object"){var f=i("x",this.options),h=i("y",this.options),m=this.options.position=="left"?f:"-"+f,b=this.options.gravity=="toastify-top"?h:"-"+h;l.style.transform="translate("+m+","+b+")"}return l},showToast:function(){this.toastElement=this.buildToast();var l;if(typeof this.options.selector=="undefined"?l=document.body:l=document.getElementById(this.options.selector),!l)throw"Root element is not defined";return l.insertBefore(this.toastElement,l.firstChild),n.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(l){l.className=l.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),l.parentNode&&l.parentNode.removeChild(l),this.options.callback.call(l),n.reposition()}.bind(this),400)}},n.reposition=function(){for(var l={top:15,bottom:15},c={top:15,bottom:15},o={top:15,bottom:15},u=document.getElementsByClassName("toastify"),d,f=0;f0?window.innerWidth:screen.width;b<=360?(u[f].style[d]=o[d]+"px",o[d]+=h+m):s(u[f],"toastify-left")===!0?(u[f].style[d]=l[d]+"px",l[d]+=h+m):(u[f].style[d]=c[d]+"px",c[d]+=h+m)}return this};function i(l,c){return c.offset[l]?isNaN(c.offset[l])?c.offset[l]:c.offset[l]+"px":"0px"}function s(l,c){return!l||typeof c!="string"?!1:!!(l.className&&l.className.trim().split(/\s+/gi).indexOf(c)>-1)}return n.lib.init.prototype=n.lib,n})}),css_248z$9=`/*! + */(function(n,a){e.exports?e.exports=a():n.Toastify=a()})(commonjsGlobal,function(n){var a=function(o){return new a.lib.init(o)},i="1.9.3";a.lib=a.prototype={toastify:i,constructor:a,init:function(o){return o||(o={}),this.options={},this.toastElement=null,this.options.text=o.text||"Hi there!",this.options.node=o.node,this.options.duration=o.duration===0?0:o.duration||3e3,this.options.selector=o.selector,this.options.callback=o.callback||function(){},this.options.destination=o.destination,this.options.newWindow=o.newWindow||!1,this.options.close=o.close||!1,this.options.gravity=o.gravity==="bottom"?"toastify-bottom":"toastify-top",this.options.positionLeft=o.positionLeft||!1,this.options.position=o.position||"",this.options.backgroundColor=o.backgroundColor,this.options.avatar=o.avatar||"",this.options.className=o.className||"",this.options.stopOnFocus=o.stopOnFocus===void 0?!0:o.stopOnFocus,this.options.onClick=o.onClick,this.options.offset=o.offset||{x:0,y:0},this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var o=document.createElement("div");if(o.className="toastify on "+this.options.className,this.options.position?o.className+=" toastify-"+this.options.position:this.options.positionLeft===!0?(o.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):o.className+=" toastify-right",o.className+=" "+this.options.gravity,this.options.backgroundColor&&(o.style.background=this.options.backgroundColor),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)o.appendChild(this.options.node);else if(o.innerHTML=this.options.text,this.options.avatar!==""){var l=document.createElement("img");l.src=this.options.avatar,l.className="toastify-avatar",this.options.position=="left"||this.options.positionLeft===!0?o.appendChild(l):o.insertAdjacentElement("afterbegin",l)}if(this.options.close===!0){var c=document.createElement("span");c.innerHTML="✖",c.className="toast-close",c.addEventListener("click",function(y){y.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var u=window.innerWidth>0?window.innerWidth:screen.width;(this.options.position=="left"||this.options.positionLeft===!0)&&u>360?o.insertAdjacentElement("afterbegin",c):o.appendChild(c)}if(this.options.stopOnFocus&&this.options.duration>0){var d=this;o.addEventListener("mouseover",function(y){window.clearTimeout(o.timeOutValue)}),o.addEventListener("mouseleave",function(){o.timeOutValue=window.setTimeout(function(){d.removeElement(o)},d.options.duration)})}if(typeof this.options.destination!="undefined"&&o.addEventListener("click",function(y){y.stopPropagation(),this.options.newWindow===!0?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),typeof this.options.onClick=="function"&&typeof this.options.destination=="undefined"&&o.addEventListener("click",function(y){y.stopPropagation(),this.options.onClick()}.bind(this)),typeof this.options.offset=="object"){var f=r("x",this.options),h=r("y",this.options),m=this.options.position=="left"?f:"-"+f,v=this.options.gravity=="toastify-top"?h:"-"+h;o.style.transform="translate("+m+","+v+")"}return o},showToast:function(){this.toastElement=this.buildToast();var o;if(typeof this.options.selector=="undefined"?o=document.body:o=document.getElementById(this.options.selector),!o)throw"Root element is not defined";return o.insertBefore(this.toastElement,o.firstChild),a.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(o){o.className=o.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),o.parentNode&&o.parentNode.removeChild(o),this.options.callback.call(o),a.reposition()}.bind(this),400)}},a.reposition=function(){for(var o={top:15,bottom:15},l={top:15,bottom:15},c={top:15,bottom:15},u=document.getElementsByClassName("toastify"),d,f=0;f0?window.innerWidth:screen.width;v<=360?(u[f].style[d]=c[d]+"px",c[d]+=h+m):s(u[f],"toastify-left")===!0?(u[f].style[d]=o[d]+"px",o[d]+=h+m):(u[f].style[d]=l[d]+"px",l[d]+=h+m)}return this};function r(o,l){return l.offset[o]?isNaN(l.offset[o])?l.offset[o]:l.offset[o]+"px":"0px"}function s(o,l){return!o||typeof l!="string"?!1:!!(o.className&&o.className.trim().split(/\s+/gi).indexOf(l)>-1)}return a.lib.init.prototype=a.lib,a})}),css_248z$9=`/*! * Toastify js 1.9.3 * https://github.com/apvarun/toastify-js * @license MIT licensed @@ -2912,222 +2885,210 @@ PERFORMANCE OF THIS SOFTWARE. .toastify .circle-loader { border-bottom-color: var(--toast-secondary); -}\r -`;styleInject(css_248z$a);const sharedOptions={gravity:"bottom",position:"left"};let toastsWithId={};const toast=function(e,a=null,n=!0,r=null){if(toastsWithId[r]){let i=toastsWithId[r],s=document.querySelectorAll(`div.toastify[toast_id=${r}]`);e&&s.forEach(l=>{const c=l.querySelectorAll(".toast-message");c.forEach(o=>{o.innerHTML=e})}),a&&(a=="loading"?a='
':a=`${a}`,s.forEach(l=>{const c=l.querySelectorAll(".toast-icon");c.forEach(o=>{o.innerHTML=a})})),n!==null&&n&&(s.forEach(l=>{l.classList.add("dismissable")}),setTimeout(()=>{i.hideToast(),delete toastsWithId[r]},3e3))}else{a==null?a="":a=="loading"?a='
':a=`${a}`;let i=toastify({...sharedOptions,text:`${a}${e}`,duration:n?3e3:0,className:n?"dismissable":"",onClick:function(){let s=!0;if(r){let l=document.querySelector(`div.toastify[toast_id=${r}]`).classList;l&&(s=Array.prototype.slice.call(l).indexOf("dismissable")!=-1)}i&&s&&(i.hideToast(),r&&delete toastsWithId[r])},offset:{x:localStorage.getItem("slimSidebar")==="true"?"3rem":"14rem"}}).showToast();r&&(toastsWithId[r]=i,i.toastElement.setAttribute("toast_id",r))}};socket.on("toast",e=>{const{msg:a,icon:n,dismiss:r,id:i}=e;toast(a,n||null,r!==void 0?r:!0,i||null)});const tabMinWidth=250,tabMaxWidth=500;var script$7={components:{QueueItem},data(){return{cachedTabWidth:parseInt(localStorage.getItem("downloadTabWidth"))||300,queue:[],queueList:{},queueComplete:[],isExpanded:localStorage.getItem("downloadTabOpen")==="true"}},computed:{...mapGetters({clientMode:"getClientMode",isSlim:"getSlimDownloads"})},created(){const e=a=>{if(!(a.ctrlKey&&a.key==="b"))return;this.toggleDownloadTab()};document.addEventListener("keyup",e),this.$on("hook:destroyed",()=>{document.removeEventListener("keyup",e)})},mounted(){socket.on("startDownload",this.startDownload),socket.on("startConversion",this.startConversion),socket.on("init_downloadQueue",this.initQueue),socket.on("addedToQueue",this.addToQueue),socket.on("updateQueue",this.updateQueue),socket.on("removedFromQueue",this.removeFromQueue),socket.on("finishDownload",this.finishDownload),socket.on("removedAllDownloads",this.removeAllDownloads),socket.on("removedFinishedDownloads",this.removedFinishedDownloads),localStorage.getItem("slimDownloads")==="true"&&this.$refs.list.classList.add("slim"),this.isExpanded&&this.setTabWidth(this.cachedTabWidth),document.addEventListener("mouseup",()=>{document.removeEventListener("mousemove",this.handleDrag)}),window.addEventListener("beforeunload",()=>{localStorage.setItem("downloadTabWidth",this.cachedTabWidth)})},methods:{...mapActions(["setErrors"]),onRemoveItem(e){socket.emit("removeFromQueue",e)},setTabWidth(e){e===void 0?(this.$refs.container.style.width="",this.$refs.list.style.width=""):(this.$refs.container.style.width=e+"px",this.$refs.list.style.width=e+"px")},initQueue(e){const{queue:a,queueComplete:n,currentItem:r,queueList:i,restored:s}=e;n.length&&n.forEach(l=>{i[l].silent=!0,this.addToQueue(i[l])}),r&&(i[r].silent=!0,this.addToQueue(i[r],!0)),a.forEach(l=>{i[l].silent=!0,this.addToQueue(i[l])}),s&&(toast(this.$t("toasts.queueRestored"),"done",!0,"restoring_queue"),socket.emit("queueRestored"))},addToQueue(e,a=!1){if(Array.isArray(e))if(e.length>1){e.forEach((i,s)=>{i.silent=!0,this.addToQueue(i)}),toast(this.$t("toasts.addedMoreToQueue",{n:e.length}),"playlist_add_check");return}else e=e[0];this.$set(e,"current",a),this.$set(this.queueList,e.uuid,e);const n=e.downloaded+e.failed==e.size;if(n){const i=this.queueComplete.indexOf(e.uuid)==-1;this.$set(this.queueList[e.uuid],"status","download finished"),i&&this.queueComplete.push(e.uuid)}else{const i=this.queue.indexOf(e.uuid)==-1;i&&this.queue.push(e.uuid)}const r=e.progress>0&&e.progress<100||a;r&&this.startDownload(e.uuid),e.silent||toast(this.$t("toasts.addedToQueue",{item:e.title}),"playlist_add_check")},updateQueue(e){const{uuid:a,downloaded:n,failed:r,progress:i,conversion:s,error:l,data:c,errid:o}=e;a&&this.queue.indexOf(a)>-1&&(n&&this.queueList[a].downloaded++,r&&(this.queueList[a].failed++,this.queueList[a].errors.push({message:l,data:c,errid:o})),i&&(this.queueList[a].progress=i),s&&(this.queueList[a].conversion=s))},removeFromQueue(e){let a=this.queue.indexOf(e);a>-1&&(this.$delete(this.queue,a),this.$delete(this.queueList,e))},removeAllDownloads(e){if(this.queueComplete=[],!e)this.queue=[],this.queueList={};else{this.queue=[e];let a=this.queueList[e];this.queueList={},this.queueList[e]=a}},removedFinishedDownloads(){this.queueComplete.forEach(e=>{this.$delete(this.queueList,e)}),this.queueComplete=[]},toggleDownloadTab(){this.setTabWidth(),this.$refs.container.style.transition="all 250ms ease-in-out",this.isExpanded=!this.isExpanded,this.isExpanded&&this.setTabWidth(this.cachedTabWidth),localStorage.setItem("downloadTabOpen",this.isExpanded)},cleanQueue(){socket.emit("removeFinishedDownloads")},cancelQueue(){socket.emit("cancelAllDownloads")},openDownloadsFolder(){socket.emit("openDownloadsFolder")},handleDrag(e){let a=window.innerWidth-e.pageX+2;atabMaxWidth&&(a=tabMaxWidth),this.cachedTabWidth=a,this.setTabWidth(a)},startDrag(){document.addEventListener("mousemove",this.handleDrag)},startDownload(e){this.$set(this.queueList[e],"status","downloading")},finishDownload(e){let a=this.queue.indexOf(e)>-1;if(!a)return;this.$set(this.queueList[e],"status","download finished"),toast(this.$t("toasts.finishDownload",{item:this.queueList[e].title}),"done");let n=this.queue.indexOf(e);n>-1&&(this.queue.splice(n,1),this.queueComplete.push(e)),this.queue.length<=0&&toast(this.$t("toasts.allDownloaded"),"done_all")},startConversion(e){this.$set(this.queueList[e],"status","converting"),this.$set(this.queueList[e],"conversion",0)},async showErrorsTab(e){await this.setErrors(e),this.$router.push({name:"Errors"})}}};const __vue_script__$7=script$7;var __vue_render__$9=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",{ref:"container",staticClass:"block h-screen bg-panels-bg text-foreground",class:{"tab-hidden":!e.isExpanded,"w-8":!e.isExpanded},attrs:{id:"download_tab_container","data-label":e.$t("downloads"),"aria-label":"downloads"},on:{transitionend:function(r){e.$refs.container.style.transition=""}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],staticClass:"absolute w-4 h-full bg-grayscale-200",staticStyle:{cursor:"ew-resize"},on:{mousedown:function(r){return r.preventDefault(),e.startDrag(r)}}}),e._v(" "),n("i",{ref:"toggler",staticClass:"m-1 text-2xl cursor-pointer material-icons",class:{"ml-1":!e.isExpanded,"ml-5":e.isExpanded},attrs:{id:"toggle_download_tab",title:e.$t("globals.toggle_download_tab_hint")},on:{click:function(r){return r.preventDefault(),e.toggleDownloadTab(r)}}}),e._v(" "),n("div",{staticClass:"absolute top-0 right-0 transition-all duration-200 ease-in-out",class:{"opacity-0 invisible":!e.isExpanded,"opacity-100 visible":e.isExpanded}},[e.clientMode?n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.open_downloads_folder")},on:{click:e.openDownloadsFolder}},[e._v(` +} +`;styleInject(css_248z$a);const sharedOptions={gravity:"bottom",position:"left"};let toastsWithId={};const toast=function(e,n=null,a=!0,i=null){if(toastsWithId[i]){let r=toastsWithId[i],s=document.querySelectorAll(`div.toastify[toast_id=${i}]`);e&&s.forEach(o=>{o.querySelectorAll(".toast-message").forEach(c=>{c.innerHTML=e})}),n&&(n=="loading"?n='
':n=`${n}`,s.forEach(o=>{o.querySelectorAll(".toast-icon").forEach(c=>{c.innerHTML=n})})),a!==null&&a&&(s.forEach(o=>{o.classList.add("dismissable")}),setTimeout(()=>{r.hideToast(),delete toastsWithId[i]},3e3))}else{n==null?n="":n=="loading"?n='
':n=`${n}`;let r=toastify({...sharedOptions,text:`${n}${e}`,duration:a?3e3:0,className:a?"dismissable":"",onClick:function(){let s=!0;if(i){let o=document.querySelector(`div.toastify[toast_id=${i}]`).classList;o&&(s=Array.prototype.slice.call(o).indexOf("dismissable")!=-1)}r&&s&&(r.hideToast(),i&&delete toastsWithId[i])},offset:{x:localStorage.getItem("slimSidebar")==="true"?"3rem":"14rem"}}).showToast();i&&(toastsWithId[i]=r,r.toastElement.setAttribute("toast_id",i))}};socket.on("toast",e=>{const{msg:n,icon:a,dismiss:i,id:r}=e;toast(n,a||null,i!==void 0?i:!0,r||null)});const tabMinWidth=250,tabMaxWidth=500;var script$7={components:{QueueItem},data(){return{cachedTabWidth:parseInt(localStorage.getItem("downloadTabWidth"))||300,queue:[],queueList:{},queueComplete:[],isExpanded:localStorage.getItem("downloadTabOpen")==="true"}},computed:{...mapGetters({clientMode:"getClientMode",isSlim:"getSlimDownloads"})},created(){const e=n=>{!(n.ctrlKey&&n.key==="b")||this.toggleDownloadTab()};document.addEventListener("keyup",e),this.$on("hook:destroyed",()=>{document.removeEventListener("keyup",e)})},mounted(){socket.on("startDownload",this.startDownload),socket.on("startConversion",this.startConversion),socket.on("init_downloadQueue",this.initQueue),socket.on("addedToQueue",this.addToQueue),socket.on("updateQueue",this.updateQueue),socket.on("removedFromQueue",this.removeFromQueue),socket.on("finishDownload",this.finishDownload),socket.on("removedAllDownloads",this.removeAllDownloads),socket.on("removedFinishedDownloads",this.removedFinishedDownloads),localStorage.getItem("slimDownloads")==="true"&&this.$refs.list.classList.add("slim"),this.isExpanded&&this.setTabWidth(this.cachedTabWidth),document.addEventListener("mouseup",()=>{document.removeEventListener("mousemove",this.handleDrag)}),window.addEventListener("beforeunload",()=>{localStorage.setItem("downloadTabWidth",this.cachedTabWidth)})},methods:{...mapActions(["setErrors"]),onRemoveItem(e){socket.emit("removeFromQueue",e)},setTabWidth(e){e===void 0?(this.$refs.container.style.width="",this.$refs.list.style.width=""):(this.$refs.container.style.width=e+"px",this.$refs.list.style.width=e+"px")},initQueue(e){const{queue:n,queueComplete:a,currentItem:i,queueList:r,restored:s}=e;a.length&&a.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),i&&(r[i].silent=!0,this.addToQueue(r[i],!0)),n.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),s&&(toast(this.$t("toasts.queueRestored"),"done",!0,"restoring_queue"),socket.emit("queueRestored"))},addToQueue(e,n=!1){if(Array.isArray(e))if(e.length>1){e.forEach((r,s)=>{r.silent=!0,this.addToQueue(r)}),toast(this.$t("toasts.addedMoreToQueue",{n:e.length}),"playlist_add_check");return}else e=e[0];if(this.$set(e,"current",n),this.$set(this.queueList,e.uuid,e),e.downloaded+e.failed==e.size){const r=this.queueComplete.indexOf(e.uuid)==-1;this.$set(this.queueList[e.uuid],"status","download finished"),r&&this.queueComplete.push(e.uuid)}else this.queue.indexOf(e.uuid)==-1&&this.queue.push(e.uuid);(e.progress>0&&e.progress<100||n)&&this.startDownload(e.uuid),e.silent||toast(this.$t("toasts.addedToQueue",{item:e.title}),"playlist_add_check")},updateQueue(e){const{uuid:n,downloaded:a,failed:i,progress:r,conversion:s,error:o,data:l,errid:c}=e;n&&this.queue.indexOf(n)>-1&&(a&&this.queueList[n].downloaded++,i&&(this.queueList[n].failed++,this.queueList[n].errors.push({message:o,data:l,errid:c})),r&&(this.queueList[n].progress=r),s&&(this.queueList[n].conversion=s))},removeFromQueue(e){let n=this.queue.indexOf(e);n>-1&&(this.$delete(this.queue,n),this.$delete(this.queueList,e))},removeAllDownloads(e){if(this.queueComplete=[],!e)this.queue=[],this.queueList={};else{this.queue=[e];let n=this.queueList[e];this.queueList={},this.queueList[e]=n}},removedFinishedDownloads(){this.queueComplete.forEach(e=>{this.$delete(this.queueList,e)}),this.queueComplete=[]},toggleDownloadTab(){this.setTabWidth(),this.$refs.container.style.transition="all 250ms ease-in-out",this.isExpanded=!this.isExpanded,this.isExpanded&&this.setTabWidth(this.cachedTabWidth),localStorage.setItem("downloadTabOpen",this.isExpanded)},cleanQueue(){socket.emit("removeFinishedDownloads")},cancelQueue(){socket.emit("cancelAllDownloads")},openDownloadsFolder(){socket.emit("openDownloadsFolder")},handleDrag(e){let n=window.innerWidth-e.pageX+2;ntabMaxWidth&&(n=tabMaxWidth),this.cachedTabWidth=n,this.setTabWidth(n)},startDrag(){document.addEventListener("mousemove",this.handleDrag)},startDownload(e){this.$set(this.queueList[e],"status","downloading")},finishDownload(e){if(!(this.queue.indexOf(e)>-1))return;this.$set(this.queueList[e],"status","download finished"),toast(this.$t("toasts.finishDownload",{item:this.queueList[e].title}),"done");let a=this.queue.indexOf(e);a>-1&&(this.queue.splice(a,1),this.queueComplete.push(e)),this.queue.length<=0&&toast(this.$t("toasts.allDownloaded"),"done_all")},startConversion(e){this.$set(this.queueList[e],"status","converting"),this.$set(this.queueList[e],"conversion",0)},async showErrorsTab(e){await this.setErrors(e),this.$router.push({name:"Errors"})}}};const __vue_script__$7=script$7;var __vue_render__$9=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",{ref:"container",staticClass:"block h-screen bg-panels-bg text-foreground",class:{"tab-hidden":!e.isExpanded,"w-8":!e.isExpanded},attrs:{id:"download_tab_container","data-label":e.$t("downloads"),"aria-label":"downloads"},on:{transitionend:function(i){e.$refs.container.style.transition=""}}},[a("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],staticClass:"absolute w-4 h-full bg-grayscale-200",staticStyle:{cursor:"ew-resize"},on:{mousedown:function(i){return i.preventDefault(),e.startDrag(i)}}}),e._v(" "),a("i",{ref:"toggler",staticClass:"m-1 text-2xl cursor-pointer material-icons",class:{"ml-1":!e.isExpanded,"ml-5":e.isExpanded},attrs:{id:"toggle_download_tab",title:e.$t("globals.toggle_download_tab_hint")},on:{click:function(i){return i.preventDefault(),e.toggleDownloadTab(i)}}}),e._v(" "),a("div",{staticClass:"absolute top-0 right-0 transition-all duration-200 ease-in-out",class:{"opacity-0 invisible":!e.isExpanded,"opacity-100 visible":e.isExpanded}},[e.clientMode?a("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.open_downloads_folder")},on:{click:e.openDownloadsFolder}},[e._v(` folder_open - `)]):e._e(),e._v(" "),n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.clean_queue_hint")},on:{click:e.cleanQueue}},[e._v(` + `)]):e._e(),e._v(" "),a("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.clean_queue_hint")},on:{click:e.cleanQueue}},[e._v(` clear_all - `)]),e._v(" "),n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.cancel_queue_hint")},on:{click:e.cancelQueue}},[e._v(` + `)]),e._v(" "),a("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.cancel_queue_hint")},on:{click:e.cancelQueue}},[e._v(` delete_sweep - `)])]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],ref:"list",staticClass:"w-full pr-2",class:{slim:e.isSlim},attrs:{id:"download_list"}},e._l(e.queueList,function(r){return n("QueueItem",{key:r.uuid,attrs:{"queue-item":r},on:{"show-errors":e.showErrorsTab,"remove-item":e.onRemoveItem}})}),1)])},__vue_staticRenderFns__$9=[];const __vue_inject_styles__$9=function(e){if(!e)return;e("data-v-76f573cc_0",{source:"#toggle_download_tab[data-v-76f573cc]{width:25px;height:25px}#toggle_download_tab[data-v-76f573cc]::before{font-family:'Material Icons';font-style:normal;font-weight:400;content:'chevron_right'}#download_tab_container.tab-hidden #toggle_download_tab[data-v-76f573cc]::before{content:'chevron_left'}#download_tab_container.tab-hidden[data-v-76f573cc]::after{content:attr(data-label);display:flex;align-items:center;text-transform:capitalize;writing-mode:vertical-rl;line-height:2rem}#download_list[data-v-76f573cc]{height:calc(100% - 32px);padding-left:28px;overflow-y:scroll}#download_list[data-v-76f573cc]::-webkit-scrollbar{width:10px}#download_list[data-v-76f573cc]::-webkit-scrollbar-track{background:var(--panels-background)}#download_list[data-v-76f573cc]::-webkit-scrollbar-thumb{background:var(--panels-scroll);border-radius:4px;width:6px;padding:0 2px}",map:void 0,media:void 0})},__vue_scope_id__$9="data-v-76f573cc",__vue_module_identifier__$8=void 0,__vue_is_functional_template__$9=!1;function __vue_normalize__$9(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheDownloadBar.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$8(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$8.styles||(__vue_create_injector__$8.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var TheDownloadBar=__vue_normalize__$9({render:__vue_render__$9,staticRenderFns:__vue_staticRenderFns__$9},__vue_inject_styles__$9,__vue_script__$7,__vue_scope_id__$9,__vue_is_functional_template__$9,__vue_module_identifier__$8,__vue_create_injector__$8),script$8={data(){return{isSocketConnected:!1}},components:{TheSidebar,TheSearchBar,TheDownloadBar,TheTrackPreview,TheQualityModal,BaseLoadingPlaceholder,TheContextMenu,TheContent},mounted(){socket.on("connect",()=>{this.isSocketConnected=!0})}};const __vue_script__$8=script$8;var __vue_render__$a=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"app-container"},[n("TheSidebar"),e._v(" "),n("div",{staticClass:"content-container"},[n("TheSearchBar"),e._v(" "),n("TheContent")],1),e._v(" "),n("TheDownloadBar")],1),e._v(" "),n("BaseLoadingPlaceholder",{attrs:{text:"Connecting to local server...",hidden:e.isSocketConnected,additionalClasses:"absolute top-0 left-0 w-screen h-screen bg-black bg-opacity-50 z-50"}}),e._v(" "),n("TheTrackPreview"),e._v(" "),n("TheQualityModal"),e._v(" "),n("TheContextMenu")],1)},__vue_staticRenderFns__$a=[];const __vue_inject_styles__$a=function(e){if(!e)return;e("data-v-14dcc2e2_0",{source:".app-container{display:flex}.content-container{width:100%;display:flex;flex-direction:column}",map:void 0,media:void 0})},__vue_scope_id__$a=void 0,__vue_module_identifier__$9=void 0,__vue_is_functional_template__$a=!1;function __vue_normalize__$a(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="App.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$9(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$9.styles||(__vue_create_injector__$9.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var App=__vue_normalize__$a({render:__vue_render__$a,staticRenderFns:__vue_staticRenderFns__$a},__vue_inject_styles__$a,__vue_script__$8,__vue_scope_id__$a,__vue_is_functional_template__$a,__vue_module_identifier__$9,__vue_create_injector__$9);/*! - * vue-i18n v8.22.2 - * (c) 2020 kazuya kawaguchi + `)])]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],ref:"list",staticClass:"w-full pr-2",class:{slim:e.isSlim},attrs:{id:"download_list"}},e._l(e.queueList,function(i){return a("QueueItem",{key:i.uuid,attrs:{"queue-item":i},on:{"show-errors":e.showErrorsTab,"remove-item":e.onRemoveItem}})}),1)])},__vue_staticRenderFns__$9=[];const __vue_inject_styles__$9=function(e){!e||e("data-v-6e5215da_0",{source:"#toggle_download_tab[data-v-6e5215da]{width:25px;height:25px}#toggle_download_tab[data-v-6e5215da]::before{font-family:'Material Icons';font-style:normal;font-weight:400;content:'chevron_right'}#download_tab_container.tab-hidden #toggle_download_tab[data-v-6e5215da]::before{content:'chevron_left'}#download_tab_container.tab-hidden[data-v-6e5215da]::after{content:attr(data-label);display:flex;align-items:center;text-transform:capitalize;writing-mode:vertical-rl;line-height:2rem}#download_list[data-v-6e5215da]{height:calc(100% - 32px);padding-left:28px;overflow-y:scroll}#download_list[data-v-6e5215da]::-webkit-scrollbar{width:10px}#download_list[data-v-6e5215da]::-webkit-scrollbar-track{background:var(--panels-background)}#download_list[data-v-6e5215da]::-webkit-scrollbar-thumb{background:var(--panels-scroll);border-radius:4px;width:6px;padding:0 2px}",map:void 0,media:void 0})},__vue_scope_id__$9="data-v-6e5215da",__vue_module_identifier__$9=void 0,__vue_is_functional_template__$9=!1;var TheDownloadBar=normalizeComponent_1({render:__vue_render__$9,staticRenderFns:__vue_staticRenderFns__$9},__vue_inject_styles__$9,__vue_script__$7,__vue_scope_id__$9,__vue_is_functional_template__$9,__vue_module_identifier__$9,browser,void 0),script$8={data(){return{isSocketConnected:!1}},components:{TheSidebar,TheSearchBar,TheDownloadBar,TheTrackPreview,TheQualityModal,BaseLoadingPlaceholder,TheContextMenu,TheContent},mounted(){socket.addEventListener("open",e=>{console.log("Connected to WebSocket"),this.isSocketConnected=!0})}};const __vue_script__$8=script$8;var __vue_render__$a=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{attrs:{id:"app"}},[a("div",{staticClass:"app-container"},[a("TheSidebar"),e._v(" "),a("div",{staticClass:"content-container"},[a("TheSearchBar"),e._v(" "),a("TheContent")],1),e._v(" "),a("TheDownloadBar")],1),e._v(" "),a("BaseLoadingPlaceholder",{attrs:{text:"Connecting to local server...",hidden:e.isSocketConnected,additionalClasses:"absolute top-0 left-0 w-screen h-screen bg-black bg-opacity-50 z-50"}}),e._v(" "),a("TheTrackPreview"),e._v(" "),a("TheQualityModal"),e._v(" "),a("TheContextMenu")],1)},__vue_staticRenderFns__$a=[];const __vue_inject_styles__$a=function(e){!e||e("data-v-01b764b9_0",{source:".app-container{display:flex}.content-container{width:100%;display:flex;flex-direction:column}",map:void 0,media:void 0})},__vue_scope_id__$a=void 0,__vue_module_identifier__$a=void 0,__vue_is_functional_template__$a=!1;var App=normalizeComponent_1({render:__vue_render__$a,staticRenderFns:__vue_staticRenderFns__$a},__vue_inject_styles__$a,__vue_script__$8,__vue_scope_id__$a,__vue_is_functional_template__$a,__vue_module_identifier__$a,browser,void 0);/*! + * vue-i18n v8.23.0 + * (c) 2021 kazuya kawaguchi * Released under the MIT License. - */var numberFormatKeys=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function warn$3(e,a){typeof console!="undefined"&&(console.warn("[vue-i18n] "+e),a&&console.warn(a.stack))}function error(e,a){typeof console!="undefined"&&(console.error("[vue-i18n] "+e),a&&console.error(a.stack))}var isArray$1=Array.isArray;function isObject$3(e){return e!==null&&typeof e=="object"}function isBoolean(e){return typeof e=="boolean"}function isString(e){return typeof e=="string"}var toString$2=Object.prototype.toString,OBJECT_STRING="[object Object]";function isPlainObject$2(e){return toString$2.call(e)===OBJECT_STRING}function isNull(e){return e==null}function isFunction$1(e){return typeof e=="function"}function parseArgs(){for(var e=[],a=arguments.length;a--;)e[a]=arguments[a];var n=null,r=null;return e.length===1?isObject$3(e[0])||isArray$1(e[0])?r=e[0]:typeof e[0]=="string"&&(n=e[0]):e.length===2&&(typeof e[0]=="string"&&(n=e[0]),(isObject$3(e[1])||isArray$1(e[1]))&&(r=e[1])),{locale:n,params:r}}function looseClone(e){return JSON.parse(JSON.stringify(e))}function remove$3(e,a){if(e.length){var n=e.indexOf(a);if(n>-1)return e.splice(n,1)}}function includes(e,a){return!!~e.indexOf(a)}var hasOwnProperty$1=Object.prototype.hasOwnProperty;function hasOwn$2(e,a){return hasOwnProperty$1.call(e,a)}function merge(e){for(var a=arguments,n=Object(e),r=1;r/g,">").replace(/"/g,""").replace(/'/g,"'")}function escapeParams(e){return e!=null&&Object.keys(e).forEach(function(a){typeof e[a]=="string"&&(e[a]=escapeHtml(e[a]))}),e}function extend$1(e){e.prototype.hasOwnProperty("$i18n")||Object.defineProperty(e.prototype,"$i18n",{get:function(){return this._i18n}}),e.prototype.$t=function(a){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.$i18n;return i._t.apply(i,[a,i.locale,i._getMessages(),this].concat(n))},e.prototype.$tc=function(a,n){for(var r=[],i=arguments.length-2;i-- >0;)r[i]=arguments[i+2];var s=this.$i18n;return s._tc.apply(s,[a,s.locale,s._getMessages(),this,n].concat(r))},e.prototype.$te=function(a,n){var r=this.$i18n;return r._te(a,r.locale,r._getMessages(),n)},e.prototype.$d=function(a){for(var n,r=[],i=arguments.length-1;i-- >0;)r[i]=arguments[i+1];return(n=this.$i18n).d.apply(n,[a].concat(r))},e.prototype.$n=function(a){for(var n,r=[],i=arguments.length-1;i-- >0;)r[i]=arguments[i+1];return(n=this.$i18n).n.apply(n,[a].concat(r))}}var mixin$1={beforeCreate:function(){var a=this.$options;if(a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n){if(a.i18n instanceof VueI18n){if(a.__i18n)try{var n=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(c){n=merge(n,JSON.parse(c))}),Object.keys(n).forEach(function(c){a.i18n.mergeLocaleMessage(c,n[c])})}catch(c){}this._i18n=a.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(isPlainObject$2(a.i18n)){var r=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this.$root.$i18n:null;if(r&&(a.i18n.root=this.$root,a.i18n.formatter=r.formatter,a.i18n.fallbackLocale=r.fallbackLocale,a.i18n.formatFallbackMessages=r.formatFallbackMessages,a.i18n.silentTranslationWarn=r.silentTranslationWarn,a.i18n.silentFallbackWarn=r.silentFallbackWarn,a.i18n.pluralizationRules=r.pluralizationRules,a.i18n.preserveDirectiveContent=r.preserveDirectiveContent),a.__i18n)try{var i=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(c){i=merge(i,JSON.parse(c))}),a.i18n.messages=i}catch(c){}var s=a.i18n,l=s.sharedMessages;l&&isPlainObject$2(l)&&(a.i18n.messages=merge(a.i18n.messages,l)),this._i18n=new VueI18n(a.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(a.i18n.sync===void 0||!!a.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),r&&r.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this._i18n=this.$root.$i18n:a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n=a.parent.$i18n)},beforeMount:function(){var a=this.$options;a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n?a.i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):isPlainObject$2(a.i18n)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){if(!this._i18n)return;var a=this;this.$nextTick(function(){a._subscribing&&(a._i18n.unsubscribeDataChanging(a),delete a._subscribing),a._i18nWatcher&&(a._i18nWatcher(),a._i18n.destroyVM(),delete a._i18nWatcher),a._localeWatcher&&(a._localeWatcher(),delete a._localeWatcher)})}},interpolationComponent={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(a,n){var r=n.data,i=n.parent,s=n.props,l=n.slots,c=i.$i18n;if(!c)return;var o=s.path,u=s.locale,d=s.places,f=l(),h=c.i(o,u,onlyHasDefaultPlace(f)||d?useLegacyPlaces(f.default,d):f),m=!!s.tag&&s.tag!==!0||s.tag===!1?s.tag:"span";return m?a(m,r,h):h}};function onlyHasDefaultPlace(e){var a;for(a in e)if(a!=="default")return!1;return Boolean(a)}function useLegacyPlaces(e,a){var n=a?createParamsFromPlaces(a):{};if(!e)return n;e=e.filter(function(i){return i.tag||i.text.trim()!==""});var r=e.every(vnodeHasPlaceAttribute);return e.reduce(r?assignChildPlace:assignChildIndex,n)}function createParamsFromPlaces(e){return Array.isArray(e)?e.reduce(assignChildIndex,{}):Object.assign({},e)}function assignChildPlace(e,a){return a.data&&a.data.attrs&&a.data.attrs.place&&(e[a.data.attrs.place]=a),e}function assignChildIndex(e,a,n){return e[n]=a,e}function vnodeHasPlaceAttribute(e){return Boolean(e.data&&e.data.attrs&&e.data.attrs.place)}var numberComponent={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(a,n){var r=n.props,i=n.parent,s=n.data,l=i.$i18n;if(!l)return null;var c=null,o=null;isString(r.format)?c=r.format:isObject$3(r.format)&&(r.format.key&&(c=r.format.key),o=Object.keys(r.format).reduce(function(m,b){var T;return includes(numberFormatKeys,b)?Object.assign({},m,(T={},T[b]=r.format[b],T)):m},null));var u=r.locale||l.locale,d=l._ntp(r.value,u,c,o),f=d.map(function(m,b){var T,M=s.scopedSlots&&s.scopedSlots[m.type];return M?M((T={},T[m.type]=m.value,T.index=b,T.parts=d,T)):m.value}),h=!!r.tag&&r.tag!==!0||r.tag===!1?r.tag:"span";return h?a(h,{attrs:s.attrs,class:s.class,staticClass:s.staticClass},f):f}};function bind$2(e,a,n){if(!assert$1(e,n))return;t(e,a,n)}function update$1(e,a,n,r){if(!assert$1(e,n))return;var i=n.context.$i18n;if(localeEqual(e,n)&&looseEqual$1(a.value,a.oldValue)&&looseEqual$1(e._localeMessage,i.getLocaleMessage(i.locale)))return;t(e,a,n)}function unbind(e,a,n,r){var i=n.context;if(!i){warn$3("Vue instance does not exists in VNode context");return}var s=n.context.$i18n||{};!a.modifiers.preserve&&!s.preserveDirectiveContent&&(e.textContent=""),e._vt=void 0,delete e._vt,e._locale=void 0,delete e._locale,e._localeMessage=void 0,delete e._localeMessage}function assert$1(e,a){var n=a.context;return n?n.$i18n?!0:(warn$3("VueI18n instance does not exists in Vue instance"),!1):(warn$3("Vue instance does not exists in VNode context"),!1)}function localeEqual(e,a){var n=a.context;return e._locale===n.$i18n.locale}function t(e,a,n){var r,i,s=a.value,l=parseValue(s),c=l.path,o=l.locale,u=l.args,d=l.choice;if(!c&&!o&&!u){warn$3("value type not supported");return}if(!c){warn$3("`path` is required in v-t directive");return}var f=n.context;d!=null?e._vt=e.textContent=(r=f.$i18n).tc.apply(r,[c,d].concat(makeParams(o,u))):e._vt=e.textContent=(i=f.$i18n).t.apply(i,[c].concat(makeParams(o,u))),e._locale=f.$i18n.locale,e._localeMessage=f.$i18n.getLocaleMessage(f.$i18n.locale)}function parseValue(e){var a,n,r,i;return isString(e)?a=e:isPlainObject$2(e)&&(a=e.path,n=e.locale,r=e.args,i=e.choice),{path:a,locale:n,args:r,choice:i}}function makeParams(e,a){var n=[];return e&&n.push(e),a&&(Array.isArray(a)||isPlainObject$2(a))&&n.push(a),n}var Vue$2;function install$2(e){install$2.installed=!0,Vue$2=e;var a=Vue$2.version&&Number(Vue$2.version.split(".")[0])||-1;extend$1(Vue$2),Vue$2.mixin(mixin$1),Vue$2.directive("t",{bind:bind$2,update:update$1,unbind}),Vue$2.component(interpolationComponent.name,interpolationComponent),Vue$2.component(numberComponent.name,numberComponent);var n=Vue$2.config.optionMergeStrategies;n.i18n=function(r,i){return i===void 0?r:i}}var BaseFormatter=function(){this._caches=Object.create(null)};BaseFormatter.prototype.interpolate=function(a,n){if(!n)return[a];var r=this._caches[a];return r||(r=parse$1(a),this._caches[a]=r),compile(r,n)};var RE_TOKEN_LIST_VALUE=/^(?:\d)+/,RE_TOKEN_NAMED_VALUE=/^(?:\w)+/;function parse$1(e){for(var a=[],n=0,r="";n0)i--,r=IN_SUB_PATH,h[APPEND]();else{if(i=0,l===void 0)return!1;if(l=formatSubPath(l),l===!1)return!1;h[PUSH]()}};function m(){var b=e[n+1];if(r===IN_SINGLE_QUOTE&&b==="'"||r===IN_DOUBLE_QUOTE&&b==='"')return n++,c="\\"+b,h[APPEND](),!0}for(;r!==null;){if(n++,s=e[n],s==="\\"&&m())continue;if(o=getPathCharType(s),f=pathStateMachine[r],u=f[o]||f.else||ERROR,u===ERROR)return;if(r=u[0],d=h[u[1]],d&&(c=u[2],c=c===void 0?s:c,d()===!1))return;if(r===AFTER_PATH)return a}}var I18nPath=function(){this._cache=Object.create(null)};I18nPath.prototype.parsePath=function(a){var n=this._cache[a];return n||(n=parse$1$1(a),n&&(this._cache[a]=n)),n||[]},I18nPath.prototype.getPathValue=function(a,n){if(!isObject$3(a))return null;var r=this.parsePath(n);if(r.length===0)return null;for(var i=r.length,s=a,l=0;l/,linkKeyMatcher=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,linkKeyPrefixMatcher=/^@(?:\.([a-z]+))?:/,bracketsMatcher=/[()]/g,defaultModifiers={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()},capitalize:function(e){return""+e.charAt(0).toLocaleUpperCase()+e.substr(1)}},defaultFormatter=new BaseFormatter,VueI18n=function(a){var n=this;a===void 0&&(a={}),!Vue$2&&typeof window!="undefined"&&window.Vue&&install$2(window.Vue);var r=a.locale||"en-US",i=a.fallbackLocale===!1?!1:a.fallbackLocale||"en-US",s=a.messages||{},l=a.dateTimeFormats||{},c=a.numberFormats||{};this._vm=null,this._formatter=a.formatter||defaultFormatter,this._modifiers=a.modifiers||{},this._missing=a.missing||null,this._root=a.root||null,this._sync=a.sync===void 0?!0:!!a.sync,this._fallbackRoot=a.fallbackRoot===void 0?!0:!!a.fallbackRoot,this._formatFallbackMessages=a.formatFallbackMessages===void 0?!1:!!a.formatFallbackMessages,this._silentTranslationWarn=a.silentTranslationWarn===void 0?!1:a.silentTranslationWarn,this._silentFallbackWarn=a.silentFallbackWarn===void 0?!1:!!a.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new I18nPath,this._dataListeners=[],this._componentInstanceCreatedListener=a.componentInstanceCreatedListener||null,this._preserveDirectiveContent=a.preserveDirectiveContent===void 0?!1:!!a.preserveDirectiveContent,this.pluralizationRules=a.pluralizationRules||{},this._warnHtmlInMessage=a.warnHtmlInMessage||"off",this._postTranslation=a.postTranslation||null,this._escapeParameterHtml=a.escapeParameterHtml||!1,this.getChoiceIndex=function(o,u){var d=Object.getPrototypeOf(n);if(d&&d.getChoiceIndex){var f=d.getChoiceIndex;return f.call(n,o,u)}var h=function(m,b){return m=Math.abs(m),b===2?m?m>1?1:0:1:m?Math.min(m,2):0};return n.locale in n.pluralizationRules?n.pluralizationRules[n.locale].apply(n,[o,u]):h(o,u)},this._exist=function(o,u){return!o||!u?!1:isNull(n._path.getPathValue(o,u))?!!o[u]:!0},(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&Object.keys(s).forEach(function(o){n._checkLocaleMessage(o,n._warnHtmlInMessage,s[o])}),this._initVM({locale:r,fallbackLocale:i,messages:s,dateTimeFormats:l,numberFormats:c})},prototypeAccessors$2={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0}};VueI18n.prototype._checkLocaleMessage=function(a,n,r){var i=[],s=function(l,c,o,u){if(isPlainObject$2(o))Object.keys(o).forEach(function(h){var m=o[h];isPlainObject$2(m)?(u.push(h),u.push("."),s(l,c,m,u),u.pop(),u.pop()):(u.push(h),s(l,c,m,u),u.pop())});else if(isArray$1(o))o.forEach(function(h,m){isPlainObject$2(h)?(u.push("["+m+"]"),u.push("."),s(l,c,h,u),u.pop(),u.pop()):(u.push("["+m+"]"),s(l,c,h,u),u.pop())});else if(isString(o)){var d=htmlTagMatcher.test(o);if(d){var f="Detected HTML in message '"+o+"' of keypath '"+u.join("")+"' at '"+c+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";l==="warn"?warn$3(f):l==="error"&&error(f)}}};s(n,a,r,i)},VueI18n.prototype._initVM=function(a){var n=Vue$2.config.silent;Vue$2.config.silent=!0,this._vm=new Vue$2({data:a}),Vue$2.config.silent=n},VueI18n.prototype.destroyVM=function(){this._vm.$destroy()},VueI18n.prototype.subscribeDataChanging=function(a){this._dataListeners.push(a)},VueI18n.prototype.unsubscribeDataChanging=function(a){remove$3(this._dataListeners,a)},VueI18n.prototype.watchI18nData=function(){var a=this;return this._vm.$watch("$data",function(){for(var n=a._dataListeners.length;n--;)Vue$2.nextTick(function(){a._dataListeners[n]&&a._dataListeners[n].$forceUpdate()})},{deep:!0})},VueI18n.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var a=this._vm;return this._root.$i18n.vm.$watch("locale",function(n){a.$set(a,"locale",n),a.$forceUpdate()},{immediate:!0})},VueI18n.prototype.onComponentInstanceCreated=function(a){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(a,this)},prototypeAccessors$2.vm.get=function(){return this._vm},prototypeAccessors$2.messages.get=function(){return looseClone(this._getMessages())},prototypeAccessors$2.dateTimeFormats.get=function(){return looseClone(this._getDateTimeFormats())},prototypeAccessors$2.numberFormats.get=function(){return looseClone(this._getNumberFormats())},prototypeAccessors$2.availableLocales.get=function(){return Object.keys(this.messages).sort()},prototypeAccessors$2.locale.get=function(){return this._vm.locale},prototypeAccessors$2.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},prototypeAccessors$2.fallbackLocale.get=function(){return this._vm.fallbackLocale},prototypeAccessors$2.fallbackLocale.set=function(e){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",e)},prototypeAccessors$2.formatFallbackMessages.get=function(){return this._formatFallbackMessages},prototypeAccessors$2.formatFallbackMessages.set=function(e){this._formatFallbackMessages=e},prototypeAccessors$2.missing.get=function(){return this._missing},prototypeAccessors$2.missing.set=function(e){this._missing=e},prototypeAccessors$2.formatter.get=function(){return this._formatter},prototypeAccessors$2.formatter.set=function(e){this._formatter=e},prototypeAccessors$2.silentTranslationWarn.get=function(){return this._silentTranslationWarn},prototypeAccessors$2.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},prototypeAccessors$2.silentFallbackWarn.get=function(){return this._silentFallbackWarn},prototypeAccessors$2.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},prototypeAccessors$2.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},prototypeAccessors$2.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},prototypeAccessors$2.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},prototypeAccessors$2.warnHtmlInMessage.set=function(e){var a=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,n!==e&&(e==="warn"||e==="error")){var r=this._getMessages();Object.keys(r).forEach(function(i){a._checkLocaleMessage(i,a._warnHtmlInMessage,r[i])})}},prototypeAccessors$2.postTranslation.get=function(){return this._postTranslation},prototypeAccessors$2.postTranslation.set=function(e){this._postTranslation=e},VueI18n.prototype._getMessages=function(){return this._vm.messages},VueI18n.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},VueI18n.prototype._getNumberFormats=function(){return this._vm.numberFormats},VueI18n.prototype._warnDefault=function(a,n,r,i,s,l){if(!isNull(r))return r;if(this._missing){var c=this._missing.apply(null,[a,n,i,s]);if(isString(c))return c}if(this._formatFallbackMessages){var o=parseArgs.apply(void 0,s);return this._render(n,l,o.params,n)}else return n},VueI18n.prototype._isFallbackRoot=function(a){return!a&&!isNull(this._root)&&this._fallbackRoot},VueI18n.prototype._isSilentFallbackWarn=function(a){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(a):this._silentFallbackWarn},VueI18n.prototype._isSilentFallback=function(a,n){return this._isSilentFallbackWarn(n)&&(this._isFallbackRoot()||a!==this.fallbackLocale)},VueI18n.prototype._isSilentTranslationWarn=function(a){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(a):this._silentTranslationWarn},VueI18n.prototype._interpolate=function(a,n,r,i,s,l,c){if(!n)return null;var o=this._path.getPathValue(n,r);if(isArray$1(o)||isPlainObject$2(o))return o;var u;if(isNull(o))if(isPlainObject$2(n)){if(u=n[r],!(isString(u)||isFunction$1(u)))return null}else return null;else if(isString(o)||isFunction$1(o))u=o;else return null;return isString(u)&&(u.indexOf("@:")>=0||u.indexOf("@.")>=0)&&(u=this._link(a,n,u,i,"raw",l,c)),this._render(u,s,l,r)},VueI18n.prototype._link=function(a,n,r,i,s,l,c){var o=r,u=o.match(linkKeyMatcher);for(var d in u){if(!u.hasOwnProperty(d))continue;var f=u[d],h=f.match(linkKeyPrefixMatcher),m=h[0],b=h[1],T=f.replace(m,"").replace(bracketsMatcher,"");if(includes(c,T))return o;c.push(T);var M=this._interpolate(a,n,T,i,s==="raw"?"string":s,s==="raw"?void 0:l,c);if(this._isFallbackRoot(M)){if(!this._root)throw Error("unexpected error");var R=this._root.$i18n;M=R._translate(R._getMessages(),R.locale,R.fallbackLocale,T,i,s,l)}M=this._warnDefault(a,T,M,i,isArray$1(l)?l:[l],s),this._modifiers.hasOwnProperty(b)?M=this._modifiers[b](M):defaultModifiers.hasOwnProperty(b)&&(M=defaultModifiers[b](M)),c.pop(),o=M?o.replace(f,M):o}return o},VueI18n.prototype._createMessageContext=function(a){var n=isArray$1(a)?a:[],r=isObject$3(a)?a:{},i=function(l){return n[l]},s=function(l){return r[l]};return{list:i,named:s}},VueI18n.prototype._render=function(a,n,r,i){if(isFunction$1(a))return a(this._createMessageContext(r));var s=this._formatter.interpolate(a,r,i);return s||(s=defaultFormatter.interpolate(a,r,i)),n==="string"&&!isString(s)?s.join(""):s},VueI18n.prototype._appendItemToChain=function(a,n,r){var i=!1;return includes(a,n)||(i=!0,n&&(i=n[n.length-1]!=="!",n=n.replace(/!/g,""),a.push(n),r&&r[n]&&(i=r[n]))),i},VueI18n.prototype._appendLocaleToChain=function(a,n,r){var i,s=n.split("-");do{var l=s.join("-");i=this._appendItemToChain(a,l,r),s.splice(-1,1)}while(s.length&&i===!0);return i},VueI18n.prototype._appendBlockToChain=function(a,n,r){for(var i=!0,s=0;s0;)l[c]=arguments[c+4];if(!a)return"";var o=parseArgs.apply(void 0,l);this._escapeParameterHtml&&(o.params=escapeParams(o.params));var u=o.locale||n,d=this._translate(r,u,this.fallbackLocale,a,i,"string",o.params);if(this._isFallbackRoot(d)){if(!this._root)throw Error("unexpected error");return(s=this._root).$t.apply(s,[a].concat(l))}else return d=this._warnDefault(u,a,d,i,l,"string"),this._postTranslation&&d!==null&&d!==void 0&&(d=this._postTranslation(d,a)),d},VueI18n.prototype.t=function(a){for(var n,r=[],i=arguments.length-1;i-- >0;)r[i]=arguments[i+1];return(n=this)._t.apply(n,[a,this.locale,this._getMessages(),null].concat(r))},VueI18n.prototype._i=function(a,n,r,i,s){var l=this._translate(r,n,this.fallbackLocale,a,i,"raw",s);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(a,n,s)}else return this._warnDefault(n,a,l,i,[s],"raw")},VueI18n.prototype.i=function(a,n,r){return a?(isString(n)||(n=this.locale),this._i(a,n,this._getMessages(),null,r)):""},VueI18n.prototype._tc=function(a,n,r,i,s){for(var l,c=[],o=arguments.length-5;o-- >0;)c[o]=arguments[o+5];if(!a)return"";s===void 0&&(s=1);var u={count:s,n:s},d=parseArgs.apply(void 0,c);return d.params=Object.assign(u,d.params),c=d.locale===null?[d.params]:[d.locale,d.params],this.fetchChoice((l=this)._t.apply(l,[a,n,r,i].concat(c)),s)},VueI18n.prototype.fetchChoice=function(a,n){if(!a||!isString(a))return null;var r=a.split("|");return n=this.getChoiceIndex(n,r.length),r[n]?r[n].trim():a},VueI18n.prototype.tc=function(a,n){for(var r,i=[],s=arguments.length-2;s-- >0;)i[s]=arguments[s+2];return(r=this)._tc.apply(r,[a,this.locale,this._getMessages(),null,n].concat(i))},VueI18n.prototype._te=function(a,n,r){for(var i=[],s=arguments.length-3;s-- >0;)i[s]=arguments[s+3];var l=parseArgs.apply(void 0,i).locale||n;return this._exist(r[l],a)},VueI18n.prototype.te=function(a,n){return this._te(a,this.locale,this._getMessages(),n)},VueI18n.prototype.getLocaleMessage=function(a){return looseClone(this._vm.messages[a]||{})},VueI18n.prototype.setLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,n)},VueI18n.prototype.mergeLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,merge({},this._vm.messages[a]||{},n))},VueI18n.prototype.getDateTimeFormat=function(a){return looseClone(this._vm.dateTimeFormats[a]||{})},VueI18n.prototype.setDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,n),this._clearDateTimeFormat(a,n)},VueI18n.prototype.mergeDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,merge(this._vm.dateTimeFormats[a]||{},n)),this._clearDateTimeFormat(a,n)},VueI18n.prototype._clearDateTimeFormat=function(a,n){for(var r in n){var i=a+"__"+r;if(!this._dateTimeFormatters.hasOwnProperty(i))continue;delete this._dateTimeFormatters[i]}},VueI18n.prototype._localizeDateTime=function(a,n,r,i,s){for(var l=n,c=i[l],o=this._getLocaleChain(n,r),u=0;u0;)n[r]=arguments[r+1];var i=this.locale,s=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(s=n[0].key)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(i=n[1])),this._d(a,i,s)},VueI18n.prototype.getNumberFormat=function(a){return looseClone(this._vm.numberFormats[a]||{})},VueI18n.prototype.setNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,n),this._clearNumberFormat(a,n)},VueI18n.prototype.mergeNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,merge(this._vm.numberFormats[a]||{},n)),this._clearNumberFormat(a,n)},VueI18n.prototype._clearNumberFormat=function(a,n){for(var r in n){var i=a+"__"+r;if(!this._numberFormatters.hasOwnProperty(i))continue;delete this._numberFormatters[i]}},VueI18n.prototype._getNumberFormatter=function(a,n,r,i,s,l){for(var c=n,o=i[c],u=this._getLocaleChain(n,r),d=0;d0;)n[r]=arguments[r+1];var i=this.locale,s=null,l=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(s=n[0].key),l=Object.keys(n[0]).reduce(function(c,o){var u;return includes(numberFormatKeys,o)?Object.assign({},c,(u={},u[o]=n[0][o],u)):c},null)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(i=n[1])),this._n(a,i,s,l)},VueI18n.prototype._ntp=function(a,n,r,i){if(!VueI18n.availabilities.numberFormat)return[];if(!r){var s=i?new Intl.NumberFormat(n,i):new Intl.NumberFormat(n);return s.formatToParts(a)}var l=this._getNumberFormatter(a,n,this.fallbackLocale,this._getNumberFormats(),r,i),c=l&&l.formatToParts(a);if(this._isFallbackRoot(c)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(a,n,r,i)}else return c||[]},Object.defineProperties(VueI18n.prototype,prototypeAccessors$2);var availabilities;Object.defineProperty(VueI18n,"availabilities",{get:function(){if(!availabilities){var a=typeof Intl!="undefined";availabilities={dateTimeFormat:a&&typeof Intl.DateTimeFormat!="undefined",numberFormat:a&&typeof Intl.NumberFormat!="undefined"}}return availabilities}}),VueI18n.install=install$2,VueI18n.version="8.22.2";const it={globals:{welcome:"Benvenuto su deemix",back:"indietro",loading:"caricamento",download:"Scarica {thing}",by:"di {artist}",in:"in {album}",download_hint:"Scarica",play_hint:"Riproduci",toggle_download_tab_hint:"Espandi/Riduci",clean_queue_hint:"Pulisci Lista",cancel_queue_hint:"Cancella tutti i download",open_downloads_folder:"Apri la cartella di download",cut:"taglia",copy:"copia",copyLink:"copia link",copyImageLink:"copia link immagine",copyDeezerLink:"copia link deezer",paste:"incolla",listTabs:{all:"tutto",top_result:"miglior risultato",album:"album",artist:"artista | artisti",single:"singolo | singoli",title:"titolo | titoli",track:"brano | brani",releaseN:"0 dischi | {n} disco | {n} dischi",playlist:"playlist",compile:"compilation",bundle:"collezione | collezioni",ep:"ep",more:"Altri album",featured:"Compare in",spotifyPlaylist:"playlist spotify",releaseDate:"data di uscita",error:"errore",empty:"",trackN:"0 brani | {n} brano | {n} brani",albumN:"{n} album",artistN:"0 artisti | {n} artista | {n} artisti",playlistN:"{n} playlist"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Versione attuale",currentWebuiVersion:"Versione WebUI attuale",versionNotAvailable:"N/A",updateAvailable:"Non stai usando l'ultima versione disponibile: {version}",deemixVersion:"Versione libreria deemix"},titles:{usefulLinks:"Link Utili",bugReports:"Segnalazione di bug",contributing:"Contribuire al progetto",donations:"Donazioni",license:"Licenza"},subtitles:{bugReports:"C'\xE8 qualcosa di deemix che non funziona? Faccelo sapere!",contributing:"Vuoi contribuire a questo progetto? Puoi farlo in pi\xF9 modi!",donations:"Vuoi dare una mano economicamente? Puoi fare una donazione!"},usesLibrary:"Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.",thanks:"Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.",upToDate:{text:"Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.",newsChannel:"canale delle news"},officialWebsite:"Sito Ufficiale",officialRepo:"Repository Ufficiale della Libreria",officialWebuiRepo:"Repository Ufficiale dell'Interfaccia Web",officialSubreddit:"Subreddit Ufficiale",newsChannel:"Canale delle news",questions:{text:"Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.",subreddit:"subreddit ufficiale"},beforeReporting:"Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ci\xF2 che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.",beSure:"Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che \xE8 gi\xE0 stato segnalato.",duplicateReports:"Le segnalazioni doppie verranno chiuse, tienilo presente.",dontOpenIssues:"NON aprire issues per porre domande, per quello esiste un subreddit.",newUI:{text:"Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.",repo:"repo"},acceptFeatures:"Accetto anche funzionalit\xE0, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.",otherLanguages:"Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!",understandingCode:"Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit",contributeWebUI:{text:"Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.",webui:"WebUI"},itsFree:"Ricordati che questo \xE8 un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.",notObligated:"Non sentirti obbligato a donare, mi stai simpatico lo stesso!",lincensedUnder:{text:"Questo progetto \xE8 sotto la licenza {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Classifiche",changeCountry:"Cambia Paese",download:"Scarica Classifica"},errors:{title:"Errori riguardanti {name}",ids:{invalidURL:"URL non riconosciuto",unsupportedURL:"URL non ancora supportato",ISRCnotOnDeezer:"Questo ISRC non \xE8 disponibile su Deezer",notYourPrivatePlaylist:"Non puoi scaricare le playlist private degli altri.",spotifyDisabled:"Spotify Features non \xE8 impostato correttamente.",trackNotOnDeezer:"Brano non trovato su Deezer!",albumNotOnDeezer:"Album non trovato su Deezer!",notOnDeezer:"Brano non disponibile su Deezer!",notEncoded:"Brano non ancora codificato!",notEncodedNoAlternative:"Brano non ancora codificato e nessuna alternativa trovata!",wrongBitrate:"Brano non trovato con il bitrate specificato.",wrongBitrateNoAlternative:"Brano non trovato con il bitrate specificato e nessuna alternativa trovata!",no360RA:"Brano non disponibile in Reality Audio 360.",notAvailable:"Brano non presente sui server di Deezer!",notAvailableNoAlternative:"Brano non presente sui server di Deezer e nessuna alternativa trovata!",noSpaceLeft:"Spazio su disco esaurito!",albumDoesntExists:"Il brano non ha nessun album, impossibile ottenere informazioni"}},favorites:{title:"Preferiti",noPlaylists:"Nessuna Playlist preferita trovata",noAlbums:"Nessun Album preferito trovato",noArtists:"Nessun Artista preferito trovato",noTracks:"Nessun Brano preferito trovato"},home:{needTologin:"Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.",openSettings:"Apri le impostazioni",sections:{popularPlaylists:"Playlist Popolari",popularAlbums:"Album pi\xF9 riprodotti"}},linkAnalyzer:{info:"Puoi utilizzare questa sezione per avere pi\xF9 informazioni riguardanti il link che stai cercando di scaricare.",useful:"Ci\xF2 pu\xF2 esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.",linkNotSupported:"Questo link non \xE8 ancora supportato",linkNotSupportedYet:"Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durata",diskNumber:"Numero Disco",trackNumber:"Numero Traccia",releaseDate:"Data di uscita",bpm:"BPM",label:"Etichetta",recordType:"Tipologia di registrazione",genres:"Generi",tracklist:"Lista tracce"}},search:{startSearching:"Inizia a cercare!",description:"Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer",fans:"{n} fan",noResults:"Nessun risultato",noResultsTrack:"Nessun brano trovato",noResultsAlbum:"Nessun album trovato",noResultsArtist:"Nessun artista trovato",noResultsPlaylist:"Nessuna playlist trovata"},searchbar:"Cerca qualsiasi cosa (o incolla semplicemente un link)",downloads:"download",toasts:{restoringQueue:"Ripristinando la coda di download...",queueRestored:"Coda di download ripristinata!",addedToQueue:"{item} aggiunto alla coda",addedMoreToQueue:"{n} oggetti aggiunti alla coda",alreadyInQueue:"{item} \xE8 gi\xE0 nella coda!",finishDownload:"{item} ha finito di scaricarsi.",allDownloaded:"Tutti i download completati!",refreshFavs:"Preferiti ricaricati!",loggingIn:"Effettuando il login...",loggedIn:"Login effettuato",alreadyLogged:"Sei gi\xE0 loggato",loginFailed:"Impossibile loggarsi",loggedOut:"Disconnesso",cancellingCurrentItem:"Cancellando download corrente.",currentItemCancelled:"Download corrente cancellato.",startAddingArtist:"Aggiungendo gli album di {artist} alla coda",finishAddingArtist:"Aggiunto gli album di {artist} alla coda",startConvertingSpotifyPlaylist:"Convertendo i brani da spotify a deezer",finishConvertingSpotifyPlaylist:"Playlist di spotify convertita",loginNeededToDownload:"Devi accedere prima di poter scaricare brani!",deezerNotAvailable:"Deezer non \xE8 disponibile nel tuo paese. Dovresti usare una VPN.",startGeneratingItems:"Elaborando {n} oggetti...",finishGeneratingItems:"{n} oggetti generati."},settings:{title:"Impostazioni",languages:"Lingue",login:{title:"Login",loggedIn:"Sei loggato come {username}",arl:{question:"Come ottengo il mio ARL?",update:"Aggiorna ARL"},logout:"Disconnettiti",login:"Accedi tramite deezer.com"},appearance:{title:"Aspetto",slimDownloadTab:"Tab dei download slim",slimSidebar:"Sidebar slim"},downloadPath:{title:"Cartella di download"},templates:{title:"Template",tracknameTemplate:"Template nome brano",tracknameAvailableVariables:"Variabili nome brano disponibili",albumTracknameTemplate:"Template nome brano negli Album",albumTracknameAvailableVariables:"Variabili nome brano negli Album disponibili",playlistTracknameTemplate:"Template nome brano nelle Playlist",playlistTracknameAvailableVariables:"Variabili nome brano nelle Playlist disponibili"},folders:{title:"Cartelle",createPlaylistFolder:"Crea cartelle per le Playlist",playlistNameTemplate:"Template nome della cartella Playlist",createArtistFolder:"Crea cartelle per gli Artisti",artistNameTemplate:"Template nome della cartella Artista",createAlbumFolder:"Crea cartelle per gli Album",albumNameTemplate:"Template nome della cartella Album",createCDFolder:"Crea cartelle per i CD",createStructurePlaylist:"Crea la struttura di cartelle per le Playlist",createSingleFolder:"Crea la struttura di cartelle per i brani singoli"},trackTitles:{title:"Titoli brani",padTracks:"Aggiungi zeri ai numeri di traccia",paddingSize:"Sovrascrivi il numero di zeri da aggiungere",illegalCharacterReplacer:"Rimpiazza caratteri illegali con"},downloads:{title:"Download",queueConcurrency:"Download simultanei",maxBitrate:{title:"Bitrate preferito",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dovrei sovrascrivere i file gi\xE0 scaricati?",y:"Si, sovrascrivi i file",n:"No, non sovrascrivere i file",t:"Sovrascrivi solo i tag",b:"No, mantieni entrambi i file e aggiungi un numero al duplicato",e:"No, e non tener conto della estensione del file"},fallbackBitrate:"Utilizza bitrate pi\xF9 bassi se il bitrate preferito non \xE8 disponibile",fallbackSearch:"Cerca il brano se il link originale non \xE8 disponibile",logErrors:"Crea file di log per gli errori",logSearched:"Crea file di log per le alternative cercate",syncedLyrics:"Crea i file .lyr (Testi Sincronizzati)",createM3U8File:"Crea i file playlist",playlistFilenameTemplate:"Template nome del file playlist",saveDownloadQueue:"Salva la coda di download quando chiudi l'app"},covers:{title:"Copertine",saveArtwork:"Salva copertina album",coverImageTemplate:"Template nome copertina album",saveArtworkArtist:"Salva copertina artista",artistImageTemplate:"Template nome copertina artista",localArtworkSize:"Dimensioni copertine locali",embeddedArtworkSize:"Dimensioni copertine incorporate",localArtworkFormat:{title:"Come vuoi salvare le copertine locali?",jpg:"In jpeg",png:"In png",both:"Sia in jpeg che in png"},jpegImageQuality:"Qualit\xE0 immagine JPEG",embeddedArtworkPNG:"Salva copertina incorporata come PNG",embeddedPNGWarning:"Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi",imageSizeWarning:"Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi",coverDescriptionUTF8:"Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)"},tags:{head:"Quali tag salvare",title:"Titolo",artist:"Artista",album:"Album",cover:"Copertina",trackNumber:"Numero Traccia",trackTotal:"Tracce Totali",discNumber:"Numero Disco",discTotal:"Dischi Totali",albumArtist:"Artista dell'album",genre:"Genere",year:"Anno",date:"Data",explicit:"Testo Esplicito",isrc:"ISRC",length:"Durata Traccia",barcode:"Barcode dell'album (UPC)",bpm:"BPM",replayGain:"Replay gain",label:"Casa Discografica",lyrics:"Testo non Sincronizzato",syncedLyrics:"Testo Sincronizzato",copyright:"Copyright",composer:"Compositori",involvedPeople:"Persone Coinvolte",source:"Sorgente e ID brano"},other:{title:"Altro",savePlaylistAsCompilation:"Salva le playlist come Compilation",useNullSeparator:"Usa il carattere NULL come separatore",saveID3v1:"Salva anche l'ID3v1",multiArtistSeparator:{title:"Come vuoi separare gli artisti?",nothing:"Salva solo l'artista principale",default:"Usando la specificazione standard",andFeat:"Usando & e feat.",using:'Usando "{separator}"'},singleAlbumArtist:"Salva solo l'artista dell'album principale",albumVariousArtists:`Lascia "Artisti Vari" negli artisti dell'album`,removeAlbumVersion:'Rimuovi "Album Version" dal titolo del brano',removeDuplicateArtists:"Rimuovi le combinazioni di artisti",dateFormat:{title:"Formato della data per i file FLAC",year:"AAAA",month:"MM",day:"GG"},featuredToTitle:{title:"Cosa dovrei fare con i feat?",0:"Niente",1:"Rimuovili dal titolo",3:"Rimuovili dal titolo e dal nome dell'album",2:"Spostali sul titolo"},titleCasing:"Formato testo dei titoli",artistCasing:"Formato testo degli artisti",casing:{nothing:"Non cambiare",upper:"TUTTO MAIUSCOLO",lower:"tutto minuscolo",start:"Prima Lettera Maiuscola",sentence:"Come una frase"},previewVolume:"Volume Anteprime",executeCommand:{title:"Comando da eseguire dopo il download",description:"Lascia vuoto per nessuna azione"}},spotify:{title:"Spotify Features",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"Come attivo le Spotify Features?"},reset:"Reimposta Default",resetMessage:"Sei sicuro di voler tornare alle impostazioni di default?",save:"Salva",toasts:{init:"Impostazioni caricate!",update:"Impostazioni aggiornate!",reset:"Impostazioni di default ripristinate!",ARLcopied:"ARL copiato negli appunti"}},sidebar:{home:"home",search:"ricerca",charts:"classifiche",favorites:"preferiti",linkAnalyzer:"analizza link",settings:"impostazioni",about:"info"},tracklist:{downloadSelection:"Scarica selezionati"}},en={globals:{welcome:"Welcome to deemix",back:"back",loading:"loading",download:"Download {thing}",by:"by {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Expand/Collapse",clean_queue_hint:"Clear Finished",cancel_queue_hint:"Cancel All",open_downloads_folder:"Open Downloads Folder",cut:"cut",copy:"copy",copyLink:"copy link",copyImageLink:"copy image link",copyDeezerLink:"copy deezer link",paste:"paste",listTabs:{empty:"",all:"all",top_result:"top result",album:"album | albums",artist:"artist | artists",single:"single | singles",title:"title | titles",track:"track | tracks",releaseN:"0 releases | {n} release | {n} releases",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"More albums",featured:"Featured in",spotifyPlaylist:"spotify playlist | spotify playlists",releaseDate:"release date",error:"error",trackN:"0 tracks | {n} track | {n} tracks",albumN:"0 albums | {n} album | {n} albums",artistN:"0 artists | {n} artist | {n} artists",playlistN:"0 playlists | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Current Version",currentWebuiVersion:"Current WebUI Version",versionNotAvailable:"N/A",updateAvailable:"You're not running the latest version available: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Useful Links",bugReports:"Bug Reports",contributing:"Contributing",donations:"Donations",license:"License"},subtitles:{bugReports:"Is there something that isn't working in deemix? Tell us!",contributing:"You want to contribute to this project? You can do it in different ways!",donations:"You want to contribute monetarily? You could make a donation!"},usesLibrary:"This app uses the deemix library, which you can use to make your own UI for deemix.",thanks:"Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.",upToDate:{text:"Stay up to date with the updates by following the {newsChannel} on Telegram.",newsChannel:"news channel"},officialWebsite:"Official Website",officialRepo:"Official Library Repository",officialWebuiRepo:"Official WebUI Repository",officialSubreddit:"Official Subreddit",newsChannel:"News Channel",questions:{text:"If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.",subreddit:"subreddit"},beforeReporting:"Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.",beSure:"Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.",duplicateReports:"Duplicate bug reports will be closed, so keep an eye out on that.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",newUI:{text:"If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.",repo:"repo"},acceptFeatures:"I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.",otherLanguages:"If you're fluent in another programming language you could try to port deemix into other programming languages!",understandingCode:"You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.",contributeWebUI:{text:"If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.",webui:"WebUI"},itsFree:"You should remember that this is a free project and you should support the artists you love before supporting the developers.",notObligated:"Don't feel obligated to donate, I appreciate you anyway!",lincensedUnder:{text:"This work is licensed under the {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Change Country",download:"Download Chart"},errors:{title:"Errors for {name}",ids:{invalidURL:"URL not recognized",unsupportedURL:"URL not supported yet",ISRCnotOnDeezer:"Track ISRC is not available on Deezer",notYourPrivatePlaylist:"You can't download others private playlists.",spotifyDisabled:"Spotify Features is not setted up correctly.",trackNotOnDeezer:"Track not found on Deezer!",albumNotOnDeezer:"Album not found on Deezer!",notOnDeezer:"Track not available on Deezer!",notEncoded:"Track not yet encoded!",notEncodedNoAlternative:"Track not yet encoded and no alternative found!",wrongBitrate:"Track not found at desired bitrate.",wrongBitrateNoAlternative:"Track not found at desired bitrate and no alternative found!",no360RA:"Track is not available in Reality Audio 360.",notAvailable:"Track not available on Deezer's servers!",notAvailableNoAlternative:"Track not available on Deezer's servers and no alternative found!",noSpaceLeft:"No space left on the device!",albumDoesntExists:"Track's album doesn't exist, failed to gather info"}},favorites:{title:"Favorites",noPlaylists:"No Playlists found",noAlbums:"No Favorite Albums found",noArtists:"No Favorite Artists found",noTracks:"No Favorite Tracks found"},home:{needTologin:"You need to log into your Deezer account before you can start downloading.",openSettings:"Open Settings",sections:{popularPlaylists:"Popular playlists",popularAlbums:"Most streamed albums"}},linkAnalyzer:{info:"You can use this section to find more information about the link you are trying to download.",useful:"This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.",linkNotSupported:"This link is not yet supported",linkNotSupportedYet:"Seems like this link is not yet supported, try analyzing another one.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duration",diskNumber:"Disk Number",trackNumber:"Track Number",releaseDate:"Release Date",bpm:"BPM",label:"Label",recordType:"Record Type",genres:"Genres",tracklist:"Tracklist"}},search:{startSearching:"Start searching!",description:"You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link",fans:"{n} fans",noResults:"No results",noResultsTrack:"No Tracks found",noResultsAlbum:"No Albums found",noResultsArtist:"No Artists found",noResultsPlaylist:"No Playlists found"},searchbar:"Search anything you want (or just paste a link)",downloads:"downloads",toasts:{restoringQueue:"Restoring download queue...",queueRestored:"Download queue restored!",addedToQueue:"{item} added to queue",addedMoreToQueue:"{n} items added to queue",alreadyInQueue:"{item} is already in queue!",finishDownload:"{item} finished downloading.",allDownloaded:"All downloads completed!",refreshFavs:"Refresh completed!",loggingIn:"Logging in...",loggedIn:"Logged in",alreadyLogged:"Already logged in",loginFailed:"Couldn't log in",loggedOut:"Logged out",cancellingCurrentItem:"Cancelling current item.",currentItemCancelled:"Current item cancelled.",startAddingArtist:"Adding {artist} albums to queue",finishAddingArtist:"Added {artist} albums to queue",startConvertingSpotifyPlaylist:"Converting spotify tracks to Deezer tracks",finishConvertingSpotifyPlaylist:"Spotify playlist converted",loginNeededToDownload:"You need to log in to download tracks!",deezerNotAvailable:"Deezer is not available in your country. You should use a VPN.",startGeneratingItems:"Processing {n} items...",finishGeneratingItems:"Generated {n} items."},settings:{title:"Settings",languages:"Languages",login:{title:"Login",loggedIn:"You are logged in as {username}",arl:{question:"How do I get my own ARL?",update:"Update ARL"},logout:"Logout",login:"Login via deezer.com"},appearance:{title:"Appearance",slimDownloadTab:"Slim download tab",slimSidebar:"Slim Sidebar"},downloadPath:{title:"Download Path"},templates:{title:"Templates",tracknameTemplate:"Trackname template",tracknameAvailableVariables:"Available trackname variables",albumTracknameTemplate:"Album track template",albumTracknameAvailableVariables:"Available album track variables",playlistTracknameTemplate:"Playlist track template",playlistTracknameAvailableVariables:"Available playlist track variables"},folders:{title:"Folders",createPlaylistFolder:"Create folder for playlists",playlistNameTemplate:"Playlist folder template",createArtistFolder:"Create folder for artist",artistNameTemplate:"Artist folder template",createAlbumFolder:"Create folder for album",albumNameTemplate:"Album folder template",createCDFolder:"Create folder for CDs",createStructurePlaylist:"Create folder structure for playlists",createSingleFolder:"Create folder structure for singles"},trackTitles:{title:"Track titles",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"Illegal Character replacer"},downloads:{title:"Downloads",queueConcurrency:"Concurrent Downloads",maxBitrate:{title:"Preferred Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Should I overwrite the files?",y:"Yes, overwrite the file",n:"No, don't overwrite the file",t:"Overwrite only the tags",b:"No, keep both files and add a number to the duplicate",e:"No, and don't look at the extensions"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Search fallback",logErrors:"Create log files for errors",logSearched:"Create log files for searched tracks",createM3U8File:"Create playlist file",syncedLyrics:"Create .lyr files (Sync Lyrics)",playlistFilenameTemplate:"Playlist filename template",saveDownloadQueue:"Save download queue when closing the app"},covers:{title:"Album covers",saveArtwork:"Save Covers",coverImageTemplate:"Cover name template",saveArtworkArtist:"Save artist image",artistImageTemplate:"Artist image template",localArtworkSize:"Local artwork size",embeddedArtworkSize:"Embedded artwork size",localArtworkFormat:{title:"What format do you want the local artwork to be?",jpg:"A jpeg image",png:"A png image",both:"Both a jpeg and a png"},jpegImageQuality:"JPEG image quality",embeddedArtworkPNG:"Save embedded artwork as PNG",embeddedPNGWarning:"PNGs are not officialy supported by Deezer and can be buggy",imageSizeWarning:"Anything above x1200 is not officialy used by Deezer, you may encounter issues",coverDescriptionUTF8:"Save cover description using UTF8 (iTunes Cover Fix)"},tags:{head:"Which tags to save",title:"Title",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Track Number",trackTotal:"Track Total",discNumber:"Disc Number",discTotal:"Disc Total",albumArtist:"Album Artist",genre:"Genre",year:"Year",date:"Date",explicit:"Explicit Lyrics",isrc:"ISRC",length:"Track Length",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"Unsynchronized Lyrics",syncedLyrics:"Synchronized Lyrics",copyright:"Copyright",composer:"Composer",involvedPeople:"Involved People",source:"Source and song ID"},other:{title:"Other",savePlaylistAsCompilation:"Save playlists as compilation",useNullSeparator:"Use null separator",saveID3v1:"Save ID3v1 as well",multiArtistSeparator:{title:"How would you like to separate your artists?",nothing:"Save only the main artist",default:"Using standard specification",andFeat:"Using & and feat.",using:'Using "{separator}"'},singleAlbumArtist:"Save only the main album artist",albumVariousArtists:'Keep "Various Artists" in the Album Artists',removeAlbumVersion:'Remove "Album Version" from track title',removeDuplicateArtists:"Remove combinations of artists",dateFormat:{title:"Date format for FLAC files",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"What should I do with featured artists?",0:"Nothing",1:"Remove it from the title",3:"Remove it from the title and the album title",2:"Move it to the title"},titleCasing:"Title casing",artistCasing:"Artist casing",casing:{nothing:"Keep unchanged",lower:"lowercase",upper:"UPPERCASE",start:"Start Of Each Word",sentence:"Like a sentence"},previewVolume:"Preview Volume",executeCommand:{title:"Command to execute after download",description:"Leave blank for no action"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"How do I enable Spotify Features?"},reset:"Reset to Default",resetMessage:"Are you sure you want to go back to default settings?",save:"Save",toasts:{init:"Settings loaded!",update:"Settings updated!",reset:"Settings reset to default!",ARLcopied:"ARL copied to clipboard"}},sidebar:{home:"home",search:"search",charts:"charts",favorites:"favorites",linkAnalyzer:"link analyzer",settings:"settings",about:"about"},tracklist:{downloadSelection:"Download selection"}},es={globals:{welcome:"Bienvenido a deemix",back:"atr\xE1s",loading:"cargando",download:"Descarga {thing}",by:"por {artist}",in:"en {album}",download_hint:"Descargar",play_hint:"Reproducir",toggle_download_tab_hint:"Expandir/Colapsar",clean_queue_hint:"Limpieza terminada",cancel_queue_hint:"Cancelar todo",open_downloads_folder:"Abrir la carpeta de descargas",cut:"cortar",copy:"copiar",copyLink:"copiar vinculo",copyImageLink:"copiar el v\xEDnculo de la imagen",copyDeezerLink:"copiar el v\xEDnculo de Deezer",paste:"pegar",listTabs:{empty:"",all:"todo",top_result:"mejor resultado",album:"\xE1lbum | \xE1lbumes",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"pista | pistas",trackN:"0 pistas | {n} pista | {n} pistas",releaseN:"0 entregas | {n} entrega | {n} entregas",playlist:"lista de reproducci\xF3n | listas de reproducci\xF3n",compile:"compilaci\xF3n | compilaciones",ep:"ep | eps",more:"M\xE1s \xE1lbumes",featured:"Aparece en",spotifyPlaylist:"lista de reproducci\xF3n spotify | listas de reproducci\xF3n spotify",releaseDate:"fecha de publicaci\xF3n",error:"error"}},about:{updates:{currentVersion:"Versi\xF3n actual",versionNotAvailable:"N/D",updateAvailable:"No est\xE1s ejecutando la \xFAltima versi\xF3n disponible: {versi\xF3n}",deemixVersion:"versi\xF3n de la biblioteca deemix"},titles:{usefulLinks:"Enlaces \xFAtiles",bugReports:"Reportar fallos",contributing:"Contribuye",donations:"Donaciones",license:"Licencia"},subtitles:{bugReports:"\xBFHay algo que no funcione en Deemix? \xA1D\xEDganoslo!",contributing:"\xBFQuieres contribuir a este proyecto? \xA1Puedes hacerlo de diferentes maneras!",donations:"\xBFQuiere contribuir monetariamente? \xA1Puedes hacer una donaci\xF3n!"},usesLibrary:"Esta aplicaci\xF3n usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.",thanks:"Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.",upToDate:{text:"Mantente al d\xEDa con las actualizaciones siguiendo el {newsChannel} en Telegram.",newsChannel:"canal de noticias"},officialWebsite:"P\xE1gina web oficial",officialRepo:"Repositorio de la biblioteca oficial",officialWebuiRepo:"Repositorio oficial de WebUI",officialSubreddit:"Subreddit oficial",newsChannel:"Canal de noticias",questions:{text:"Si tienes preguntas o problemas con la aplicaci\xF3n, busca una soluci\xF3n en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de informar de un error aseg\xFArese de que est\xE1 ejecutando la \xFAltima versi\xF3n de la aplicaci\xF3n y que lo que quiere informar es en realidad un error y no algo que est\xE1 mal s\xF3lo en su extremo.",beSure:"Aseg\xFArate de que el fallo es reproducible en otras m\xE1quinas y tambi\xE9n NO reporte un fallo si ya ha sido reportado.",duplicateReports:"Los informes de errores duplicados se cerrar\xE1n, as\xED que mant\xE9ngase al tanto de eso.",dontOpenIssues:"NO abra problemas para hacer preguntas, hay un subreddit para eso.",newUI:{text:"Si tienes fluidez en Python podr\xEDas intentar hacer una nueva interfaz de usuario para la aplicaci\xF3n usando la biblioteca base, o arreglar los errores de la biblioteca con una petici\xF3n pull en el {repo}.",repo:"repo"},acceptFeatures:"Tambi\xE9n acepto caracter\xEDsticas, pero no cosas complejas, ya que se pueden implementar directamente en la aplicaci\xF3n y no en la biblioteca.",otherLanguages:"\xA1Si dominas otro lenguaje de programaci\xF3n podr\xEDas intentar portar Deemix a otros lenguajes de programaci\xF3n!",understandingCode:"\xBFNecesitas ayuda para entender el c\xF3digo? S\xF3lo tienes que poner RemixDev en Telegram o Reddit.",contributeWebUI:{text:"Si conoces Vue.js (JavaScript), HTML o CSS podr\xEDas contribuir a la {webui}.",webui:"WebUI"},itsFree:"Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.",notObligated:"No te sientas obligado a donar, \xA1te aprecio de todas formas!",lincensedUnder:{text:"Esta obra est\xE1 autorizada bajo una {gpl3}.",gpl3:"GNU Licencia P\xFAblica General 3.0"}},charts:{title:"Listas",changeCountry:"Cambiar pa\xEDs",download:"Descargar la lista"},errors:{title:"Errores para {name}",ids:{invalidURL:"No se reconoce la URL",unsupportedURL:"La URL a\xFAn no est\xE1 soportada",ISRCnotOnDeezer:"La pista ISRC no est\xE1 disponible en Deezer",notYourPrivatePlaylist:"No puedes descargar otras listas de reproducci\xF3n privadas.",spotifyDisabled:"Las funciones de Spotify no est\xE1 configurado correctamente.",trackNotOnDeezer:"\xA1No se encontr\xF3 la pista en Deezer!",albumNotOnDeezer:"\xA1El \xE1lbum no se encuentra en Deezer!",notOnDeezer:"\xA1Pista no disponible en Deezer!",notEncoded:"\xA1Pista a\xFAn no codificada!",notEncodedNoAlternative:"\xA1Pista a\xFAn no codificada y no se ha encontrado ninguna alternativa!",wrongBitrate:"La pista no se encuentra a la velocidad de bitrate deseada.",wrongBitrateNoAlternative:"\xA1Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!",no360RA:"La pista no est\xE1 disponible en Reality Audio 360.",notAvailable:"\xA1La pista no est\xE1 disponible en los servidores de Deezer!",notAvailableNoAlternative:"\xA1La pista no est\xE1 disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!",noSpaceLeft:"\xA1No queda espacio en el dispositivo!"}},favorites:{title:"Favoritos",noPlaylists:"No se han encontrado listas de reproducci\xF3n",noAlbums:"No se han encontrado \xE1lbumes favoritos",noArtists:"No se han encontrado artistas favoritos",noTracks:"No se han encontrado pistas favoritas"},home:{needTologin:"Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.",openSettings:"Abrir la configuraci\xF3n",sections:{popularPlaylists:"Listas de reproducci\xF3n populares",popularAlbums:"Los \xE1lbumes m\xE1s stremeados"}},linkAnalyzer:{info:"Puedes usar esta secci\xF3n para encontrar m\xE1s informaci\xF3n sobre el enlace que est\xE1s tratando de descargar.",useful:"Esto es \xFAtil si est\xE1 tratando de descargar algunas pistas que no est\xE1n disponibles en su pa\xEDs y quiere saber d\xF3nde est\xE1n disponibles, por ejemplo.",linkNotSupported:"Este enlace a\xFAn no est\xE1 soportado",linkNotSupportedYet:"Parece que este enlace a\xFAn no est\xE1 soportado, intenta analizar otro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duraci\xF3n",diskNumber:"N\xFAmero del disco",trackNumber:"N\xFAmero de la pista",releaseDate:"Fecha de lanzamiento",bpm:"BPM",label:"Etiqueta",recordType:"Tipo de grabaci\xF3n",genres:"G\xE9neros",tracklist:"Lista de pista"}},search:{startSearching:"\xA1Comienza a buscar!",description:"Puedes buscar un tema, un \xE1lbum entero, un artista, una lista de reproducci\xF3n... \xA1todo! Tambi\xE9n puedes pegar un enlace de Deezer",fans:"{n} fans",noResults:"Ningun resultado",noResultsTrack:"No se encontraron pistas",noResultsAlbum:"No se encontraron \xE1lbumes",noResultsArtist:"No se encontraron artistas",noResultsPlaylist:"No se encontraron listas de reproducci\xF3n"},searchbar:"Busca lo que quieras (o simplemente pega un enlace)",downloads:"descargas",toasts:{restoringQueue:"Restaurando la cola de descarga...",queueRestored:"\xA1Cola de descarga restaurada!",addedToQueue:"{item} a\xF1adidos a la cola",addedMoreToQueue:"{n} elementos a\xF1adidos a la cola",alreadyInQueue:"\xA1{item} ya est\xE1 en la cola!",finishDownload:"{item} terminado de descargar.",allDownloaded:"\xA1Todas las descargas se han completado!",refreshFavs:"\xA1Actualizaci\xF3n completada!",loggingIn:"Conectando...",loggedIn:"Conectado",alreadyLogged:"Ya est\xE1 conectado",loginFailed:"No se puede conectar",loggedOut:"Desconectado",cancellingCurrentItem:"Cancelando el elemento actual.",currentItemCancelled:"El elemento actual se ha cancelado.",startAddingArtist:"A\xF1adiendo los \xE1lbumes de {artist} a la cola",finishAddingArtist:"Se ha a\xF1adido los \xE1lbumes de {artist} a la cola",startConvertingSpotifyPlaylist:"Convertir las pistas de Spotify en pistas de Deezer",finishConvertingSpotifyPlaylist:"Lista de reproducci\xF3n de Spotify convertida",loginNeededToDownload:"\xA1Necesitas iniciar sesi\xF3n para descargar t\xEDtulos!",deezerNotAvailable:"Deezer no est\xE1 disponible en su pa\xEDs. Deber\xEDas usar una VPN."},settings:{title:"Configuraci\xF3n",languages:"Idiomas",login:{title:"Iniciar Sesi\xF3n",loggedIn:"Usted est\xE1 conectado como {nombre de usuario}",arl:{question:"\xBFC\xF3mo consigo mi propio ARL?",update:"Actualiza la ARL"},logout:"Cerrar Sesi\xF3n",login:"Inicia sesi\xF3n a trav\xE9s de deezer.com"},appearance:{title:"Apariencia",slimDownloadTab:"Pesta\xF1a de descargas fina"},downloadPath:{title:"Ruta de descarga"},templates:{title:"Plantillas",tracknameTemplate:"Plantilla de nombres de pista",albumTracknameTemplate:"Plantilla de pista del \xE1lbum",playlistTracknameTemplate:"Plantilla de pista de la lista de reproducci\xF3n"},folders:{title:"Carpetas",createPlaylistFolder:"Crear una carpeta para las listas de reproducci\xF3n",playlistNameTemplate:"Plantilla de la carpeta de la lista de reproducci\xF3n",createArtistFolder:"Crear carpeta para el artista",artistNameTemplate:"Plantilla de la carpeta del artista",createAlbumFolder:"Crear carpeta para el \xE1lbum",albumNameTemplate:"Plantilla de la carpeta del \xE1lbum",createCDFolder:"Crear una carpeta para los CDs",createStructurePlaylist:"Crear una estructura de carpetas para las listas de reproducci\xF3n",createSingleFolder:"Crear una estructura de carpetas para individuales"},trackTitles:{title:"T\xEDtulos de las pistas",padTracks:"Pad de pistas",paddingSize:"Sobrescribir el tama\xF1o del pad",illegalCharacterReplacer:"Reemplazo del car\xE1cter ilegal"},downloads:{title:"Descargas",queueConcurrency:"Descargas simult\xE1neas",maxBitrate:{title:"Tasa de bits preferida",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\xBFDesea que se sobreescriban los archivos?",y:"S\xED, sobrescribir el archivo",n:"No, no sobrescribir el archivo",t:"Sobrescribir s\xF3lo las etiquetas",b:"No, mantener los dos archivos y agregar un n\xFAmero al archivo duplicado",e:"No, y no mirar las extensiones"},fallbackBitrate:"La soluci\xF3n alternativa de bitrate",fallbackSearch:"B\xFAsqueda de la segunda opci\xF3n",logErrors:"Crear archivos de registro de errores",logSearched:"Crear archivos de registro para las pistas buscadas",createM3U8File:"Crear archivo de la lista de reproducci\xF3n",syncedLyrics:"Crear archivos .lyr (lyrics sincronizadas)",playlistFilenameTemplate:"Plantilla de nombres de archivos de la lista de reproducci\xF3n",saveDownloadQueue:"Guardar la cola de descarga al cerrar la aplicaci\xF3n"},covers:{title:"Portadas de \xE1lbumes",saveArtwork:"Guardar las portadas",coverImageTemplate:"Plantilla de nombres de portada",saveArtworkArtist:"Guardar imagen de artista",artistImageTemplate:"Plantilla de imagen de artista",localArtworkSize:"El tama\xF1o de la portada local",embeddedArtworkSize:"El tama\xF1o de la portada incorporada",localArtworkFormat:{title:"\xBFQu\xE9 formato quieres que tenga la portada local?",jpg:"Una imagen jpeg",png:"Una imagen png",both:"Ambos, jpeg y png"},jpegImageQuality:"Calidad de la imagen JPEG",embeddedArtworkPNG:"Guardar las im\xE1genes incrustadas como PNG",embeddedPNGWarning:"Las PNG no est\xE1n oficialmente soportadas por Deezer y puedes encontrar errores.",imageSizeWarning:"Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes",coverDescriptionUTF8:"Guardar la descripci\xF3n de la portada usando UTF8 (arregla la portada de iTunes)"},tags:{head:"\xBFQu\xE9 etiquetas guardar?",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Portada",trackNumber:"N\xFAmero de pista",trackTotal:"Total de pistas",discNumber:"N\xFAmero del disco",discTotal:"Total del disco",albumArtist:"Artista del \xE1lbum",genre:"G\xE9nero",year:"A\xF1o",date:"Fecha",explicit:"Letras expl\xEDcitas",isrc:"ISRC",length:"Duraci\xF3n de la pista",barcode:"C\xF3digo de barras del \xE1lbum (UPC)",bpm:"BPM",replayGain:"Ganancia de la reproducci\xF3n",label:"Etiqueta del \xE1lbum",lyrics:"Lyrics no sincronizadas",syncedLyrics:"Lyrics sincronizadas",copyright:"Derechos de autor",composer:"Compositor",involvedPeople:"Personas involucradas"},other:{title:"Otro",savePlaylistAsCompilation:"Guardar las listas de reproducci\xF3n como una compilaci\xF3n",useNullSeparator:"Usar separador nulo",saveID3v1:"Guarda la ID3v1 tambi\xE9n",multiArtistSeparator:{title:"\xBFC\xF3mo le gustar\xEDa separar a sus artistas?",nothing:"Guardar s\xF3lo el artista principal",default:"Usar la especificaci\xF3n est\xE1ndar",andFeat:"Usar & y feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar s\xF3lo el artista principal del \xE1lbum",albumVariousArtists:'Mantener "Various Artists" en los artistas del \xE1lbum',removeAlbumVersion:'Eliminar "Album Version" del t\xEDtulo de la pista',removeDuplicateArtists:"Eliminar las combinaciones de artistas",dateFormat:{title:"Formato de fecha para los archivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"\xBFQu\xE9 debo hacer con los artistas destacados?",0:"Nada",1:"Quitarlo del t\xEDtulo",3:"Quitarlo del t\xEDtulo y del t\xEDtulo del \xE1lbum",2:"Moverlo al t\xEDtulo"},titleCasing:"Capitalizar t\xEDtulo",artistCasing:"Capitalizar artista",casing:{nothing:"Mant\xE9ner sin cambios",lower:"min\xFAsculas",upper:"MAY\xDASCULAS",start:"Al Principio De Cada Palabra",sentence:"Como una frase"},previewVolume:"Volumen de previsualizaci\xF3n",executeCommand:{title:"Comando a ejecutar despu\xE9s de la descarga",description:"Dejar en blanco para no hacer nada"}},spotify:{title:"Funciones de Spotify",clientID:"ID del cliente de Spotify",clientSecret:"Cliente Secreto Spotify",username:"Nombre de usuario de Spotify"},reset:"Restablecer el valor por defecto",save:"Guardar",toasts:{init:"\xA1Configuraciones cargadas!",update:"\xA1Ajustes actualizados!",ARLcopied:"ARL copiado al portapapeles"}},sidebar:{home:"inicio",search:"buscar",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizar enlaces",settings:"ajustes",about:"acerca de"},tracklist:{downloadSelection:"Descargar selecci\xF3n"}},de={globals:{welcome:"Willkommen bei deemix",back:"zur\xFCck",loading:"l\xE4dt",download:"Download {thing}",by:"von {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Erweitern/Minimieren",clean_queue_hint:"Entferne vollst\xE4ndige",cancel_queue_hint:"Alle abbrechen",listTabs:{empty:"",all:"alle",top_result:"Top Ergebnis",album:"Album | Alben",artist:"K\xFCnstler | K\xFCnstler",single:"Single | Singles",title:"Titel | Titel",track:"Track | Tracks",trackN:"0 Tracks | {n} Track | {n} Tracks",releaseN:"0 Releases | {n} Release | {n} Releases",playlist:"Playlist | Playlists",compile:"Sammlung | Sammlungen",ep:"EP | EPs",spotifyPlaylist:"Spotify Playlist | Spotify Playlists",releaseDate:"Ver\xF6ffentlichungsdatum",error:"Fehler"}},about:{titles:{usefulLinks:"N\xFCtzliche Links",bugReports:"Fehlermeldung",contributing:"Mitwirkende",donations:"Spenden",license:"Lizenz"},subtitles:{bugReports:"Funktioniert etwas in Deemix nicht? Sag uns bescheid!",contributing:"Du m\xF6chtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!",donations:"Du m\xF6chtest deemix finanziell unterst\xFCtzen? Dann lasse eine kleine Spende da!"},usesLibrary:"Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.",thanks:"Ein Dankesch\xF6n geht an rtonno, uhwot and lollilol f\xFCr die Hilfe bei diesem Projekt und an BasCurtiz f\xFCr die Erstellung des Logos.",upToDate:{text:"Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.",newsChannel:"News Channel"},officialWebsite:"Offizielle Website",officialRepo:"Offizielle Library Repository",officialWebuiRepo:"Offizielle WebUI Repository",officialSubreddit:"Offizieller Subreddit",newsChannel:"News Channel",questions:{text:"Bei Fragen oder Problemen mit der App, suche als erstes nach einer L\xF6sung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.",subreddit:"Subreddit"},beforeReporting:"Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden m\xF6chtest, tats\xE4chlich ein Bug ist und nicht nur bei dir falsch ist.",beSure:"Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.",duplicateReports:"Doppelte Fehlerberichte werden geschlossen, achte darauf.",dontOpenIssues:"ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit daf\xFCr.",newUI:{text:"Wenn du Python flie\xDFend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfl\xE4che f\xFCr die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.",repo:"deemix Repo"},acceptFeatures:"Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden k\xF6nnen.",otherLanguages:"Wenn du eine andere Programmiersprache flie\xDFend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!",understandingCode:"Du ben\xF6tigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.",contributeWebUI:{text:"Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, k\xF6nntest du etwas zum {webui} beitragen.",webui:"WebUI"},itsFree:"Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die K\xFCnstler unterst\xFCtzen, die du magst bevor du die Entwickler unterst\xFCtzt.",notObligated:"F\xFChle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!",lincensedUnder:{text:"Diese Arbeit ist lizensiert unter der {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Land wechseln",download:"Download Chart"},errors:{title:"Errors f\xFCr {name}",ids:{invalidURL:"URL nicht erkannt",unsupportedURL:"URL noch nicht unterst\xFCtzt",ISRCnotOnDeezer:"Track ISRC ist auf deezer nicht verf\xFCgbar",notYourPrivatePlaylist:"Du kannst keine privaten Playlisten anderer herunterladen.",spotifyDisabled:"Spotify-Funktionen sind nicht richtig eingerichtet",trackNotOnDeezer:"Track ist nicht verf\xFCgbar auf Deezer!",albumNotOnDeezer:"Album auf Deezer nicht gefunden!",notOnDeezer:"Track auf Deezer nicht verf\xFCgbar!",notEncoded:"Track noch nicht codiert!",notEncodedNoAlternative:"Track noch nicht codiert und keine Alternative gefunden!",wrongBitrate:"Track mit gew\xFCnschter Bitrate nicht gefunden.",wrongBitrateNoAlternative:"Track mit gew\xFCnschter Bitrate nicht gefunden und keine Alternative gefunden!",no360RA:"Track ist nicht verf\xFCgbar in Reality Audio 360.",notAvailable:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer!",notAvailableNoAlternative:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer und keine Alternativen gefunden!!"}},favorites:{title:"Favoriten",noPlaylists:"Keine Playlist gefunden",noAlbums:"Keine favorisierten Alben gefunden",noArtists:"Keine favorisierten K\xFCnstler gefunden",noTracks:"Keine favorisierten Tracks gefunden"},home:{needTologin:"Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.",openSettings:"Einstellungen \xF6ffnen",sections:{popularPlaylists:"Beliebte Playlists",popularAlbums:"Meistgestreamte Alben"}},linkAnalyzer:{info:"Diesen Abschnitt kannst du nutzen, um weitere Informationen \xFCber den gew\xFCnschten Link zu erhalten, den du herunterladen m\xF6chtest.",useful:"Dies ist z.B. n\xFCtzlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verf\xFCgbar sind, und du wissen m\xF6chtest, wo sie verf\xFCgbar sind.",linkNotSupported:"Dieser Link wird noch nicht unterst\xFCtzt",linkNotSupportedYet:"Es scheint so, als ob dieser Link noch nicht unterst\xFCtzt wird. Versuche einen anderen Link zu analysieren.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dauer",diskNumber:"CD Nummer",trackNumber:"Track Nummer",releaseDate:"Ver\xF6ffentlichungsdatum",bpm:"BPM",label:"Label",recordType:"Art der Aufnahme",genres:"Genres",tracklist:"Trackliste"}},search:{startSearching:"Suche starten!",description:"Du kannst einen Titel, ein ganzes Album, einen K\xFCnstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einf\xFCgen",fans:"{n} Fans",noResults:"Keine Ergebnisse",noResultsTrack:"Keine Tracks gefunden",noResultsAlbum:"Keine Alben gefunden",noResultsArtist:"Keinen K\xFCnstler gefunden",noResultsPlaylist:"Keine Playlist gefunden"},searchbar:"Suche nach allem, was dir gef\xE4llt (oder f\xFCge einfach einen Link ein)",downloads:"Downloads",toasts:{addedToQueue:"{item} zur Warteschlange hinzugef\xFCgt",alreadyInQueue:"{item} ist bereits in der Warteschlange!",finishDownload:"{item} vollst\xE4ndig heruntergeladen.",allDownloaded:"Alle Downloads abgeschlossen!",refreshFavs:"Abgeschlossene Downloads neu laden!",loggingIn:"Einloggen",loggedIn:"Eingeloggt",alreadyLogged:"Bereits eingeloggt",loginFailed:"Login fehlgeschlagen",loggedOut:"Ausgeloggt",cancellingCurrentItem:"Aktuelle Auswahl abbrechen.",currentItemCancelled:"Aktuelle Auswahl wurde abgebrochen",startAddingArtist:"{artist} Alben werden hinzugef\xFCgt",finishAddingArtist:"{artist} Alben wurden hinzugef\xFCgt",startConvertingSpotifyPlaylist:"Konvertierern von Spotify-Tracks zu Deezer-Tracks",finishConvertingSpotifyPlaylist:"Spotify Playlist convertiert"},settings:{title:"Einstellungen",languages:"Sprachen",login:{title:"Login",loggedIn:"Du bist eingeloggt als {username}",arl:{question:"Wie bekomme ich meine eigene ARL?",update:"Update ARL"},logout:"Logout"},appearance:{title:"Design",slimDownloadTab:"schmaler Download-Tab"},downloadPath:{title:"Download Pfad"},templates:{title:"Vorlagen",tracknameTemplate:"Vorlage f\xFCr den Tracknamen",albumTracknameTemplate:"Vorlage f\xFCr Tracks in einem Album",playlistTracknameTemplate:"Vorlage f\xFCr Tracks in einer Playlist"},folders:{title:"Folders",createPlaylistFolder:"Ordner f\xFCr Playlist erstellen",playlistNameTemplate:"Vorlage f\xFCr Playlist-Ordner",createArtistFolder:"Ordner f\xFCr K\xFCnstler erstellen",artistNameTemplate:"Vorlage f\xFCr K\xFCnstler-Ordner",createAlbumFolder:"Ordner f\xFCr Album erstellen",albumNameTemplate:"Vorlage f\xFCr Album-Ordner",createCDFolder:"Ordner f\xFCr CDs erstellen",createStructurePlaylist:"Erstellen von K\xFCnstler-, Alben- und CD-Ordnern auch f\xFCr Playlists",createSingleFolder:"Ordner f\xFCr einzelne Titel erstellen"},trackTitles:{title:"Songtitel",padTracks:"Einheitliche L\xE4nge der Titelnummern (voranstehende Nullen werden erg\xE4nzt)",paddingSize:"Innenabstand \xFCberschreiben",illegalCharacterReplacer:"Unzul\xE4ssige Zeichen ersetzen"},downloads:{title:"Downloads",queueConcurrency:"Gleichzeitige Downloads",maxBitrate:{title:"Bevorzugte Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Soll ich die Dateien \xFCberchreiben?",y:"Ja \xFCberschreibe die Dateien",n:"Nein \xFCberschreibe die Dateien nicht",t:"\xDCberschreibe nur die Tags",b:"Nein, behalte beide Dateien und f\xFCge der Kopie eine Nummer hinzu"},fallbackBitrate:"Falls gew\xFCnschte Bitrate nicht verf\xFCgbar, auf niedrigere Bitrate zur\xFCckgreifen",fallbackSearch:"Zur Suche zur\xFCckkehren, wenn der Song nicht verf\xFCgbar ist",logErrors:"Protokolldatei f\xFCr Fehler im Download-Ordner erstellen",logSearched:"Protokolldatei f\xFCr gesuchte Titel erstellen",createM3U8File:"Erstelle Playlist-Datei (M3U8)",syncedLyrics:"Erstelle synchrone Lyrics-Datei (.lyr)",playlistFilenameTemplate:"Vorlage f\xFCr den Namen der Playlist",saveDownloadQueue:"Download-Warteschlange beim Schlie\xDFen der App speichern"},covers:{title:"Album Cover",saveArtwork:"Cover speichern",coverImageTemplate:"Vorlage f\xFCr den Covernamen",saveArtworkArtist:"Speichere das K\xFCnstlerbild",artistImageTemplate:"Vorlage des K\xFCnstlerbildes",localArtworkSize:"Lokale Grafikgr\xF6\xDFe",embeddedArtworkSize:"Eingebettete Grafikgr\xF6\xDFe",localArtworkFormat:{title:"Welches Datei-Format soll das Cover haben?",jpg:"Ein jpg Bild",png:"Ein png Bild",both:"Beides (jpg + png)"},jpegImageQuality:"JPEG Qualit\xE4t"},tags:{head:"Welche Tags sollen gespeichert werden?",title:"Titel",artist:"K\xFCnstler",album:"Album",cover:"Cover",trackNumber:"Titelnummer",trackTotal:"Titelanzahl",discNumber:"CD Nummer",discTotal:"CDs insgesamt",albumArtist:"Album K\xFCnstler",genre:"Genre",year:"Jahr",date:"Datum",explicit:"Explizite Lyrics",isrc:"ISRC",length:"Titel L\xE4nge",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Wiedergabe Lautst\xE4rke",label:"Album Plattenlabel",lyrics:"Nicht synchronisierte Texte",copyright:"Copyright",composer:"Komponist",involvedPeople:"Mitwirkende Personen"},other:{title:"Sonstige",savePlaylistAsCompilation:"Speichere Playlist als Zusammenstellung",useNullSeparator:"Verwende Nulltrennzeichen",saveID3v1:"Speichere ID3v1 ebenfalls",multiArtistSeparator:{title:"Wie m\xF6chtest du die K\xFCnstler trennen?",nothing:"Speichere nur den Hauptk\xFCnstler",default:"Verwende Standard Spezifikationen",andFeat:"Verwende & und feat.",using:'Verwende "{separator}"'},singleAlbumArtist:"Nur den Hauptk\xFCnstler speichern",albumVariousArtists:'Verschiedene K\xFCnstler" im Album K\xFCnstler Tag behalten',removeAlbumVersion:'Entferne die "Album Version" vom Songtitel',removeDuplicateArtists:"Kombinationen von K\xFCnstlern entfernen",dateFormat:{title:"Datumsformatierung f\xFCr FLAC Dateien",year:"JJJJ",month:"MM",day:"TT"},featuredToTitle:{title:"Was soll ich mit featured Artists machen?",0:"Nichts",1:"Vom Titel entfernen",3:"Vom Titel und Albumtitel entfernen",2:"Zu dem Titel hinzuf\xFCgen"},titleCasing:"Titel-Schreibweise",artistCasing:"K\xFCnstler-Schreibweise",casing:{nothing:"Unbearbeitet lassen",lower:"klein",upper:"GROSS",start:"Wortanfang Gross",sentence:"Satzanfang gross"},previewVolume:"Vorschau der Lautst\xE4rke",executeCommand:{title:"Befehl, der nach dem Download ausgef\xFChrt werden soll",description:"Leer lassen ohne Aktion"}},spotify:{title:"Spotify Features",clientID:"Spotify Client ID",clientSecret:"Spotify Client Secret",username:"Spotify Benutzername"},reset:"Auf Standardwerte zur\xFCcksetzen",save:"Speichern",toasts:{init:"Einstellungen geladen!",update:"Einstellungen aktualisiert!",ARLcopied:"ARL wurde in die Zwischenablage kopiert"}},sidebar:{home:"Home",search:"Suche",charts:"Charts",favorites:"Favoriten",linkAnalyzer:"Link Analyse",settings:"Einstellungen",about:"Info"},tracklist:{downloadSelection:"Downloads"}},fr={globals:{welcome:"Bienvenue dans deemix",back:"retour",loading:"chargement en cours",download:"T\xE9l\xE9charger {thing}",by:"par {artist}",in:"dans {album}",download_hint:"T\xE9l\xE9charger",play_hint:"Lire",toggle_download_tab_hint:"D\xE9velopper/R\xE9duire",clean_queue_hint:"Retirer Les T\xE2ches Termin\xE9es",cancel_queue_hint:"Tout Annuler",open_downloads_folder:"Ouvrir Le Dossier De T\xE9l\xE9chargements",cut:"couper",copy:"copier",copyLink:"copier le lien",copyImageLink:"copier le lien de l'image",copyDeezerLink:"copier le lien deezer",paste:"coller",listTabs:{empty:"",all:"tout",top_result:"meilleur r\xE9sultat",album:"album | albums",artist:"artiste | artistes",single:"single | singles",title:"titre | titres",track:"piste | pistes",releaseN:"0 sortie | {n} sortie | {n} sorties",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"Plus d'albums",featured:"Appara\xEEt dans",spotifyPlaylist:"playlist spotify | playlists spotify",releaseDate:"date de sortie",error:"erreur",trackN:"0 piste | {n} piste | {n} pistes",albumN:"0 album | {n} album | {n} albums",artistN:"0 artiste | {n} artiste | {n} artistes",playlistN:"0 playlist | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app en ligne",offline:"app hors ligne"},updates:{currentVersion:"Version Actuelle",currentWebuiVersion:"Version Actuelle De La WebUI",versionNotAvailable:"N/A",updateAvailable:"Vous n'utilisez pas la derni\xE8re version disponible : {version}",deemixVersion:"Version de la biblioth\xE8que deemix"},titles:{usefulLinks:"Liens Utiles",bugReports:"Rapports De Bug",contributing:"Contribution",donations:"Dons",license:"Licence"},subtitles:{bugReports:"Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !",contributing:"Vous souhaitez contribuer \xE0 ce projet ? Vous pouvez le faire de diff\xE9rentes mani\xE8res !",donations:"Vous souhaitez contribuer financi\xE8rement ? Vous pouvez faire un don !"},usesLibrary:"Cette application utilise la biblioth\xE8que deemix, que vous pouvez exploiter afin de cr\xE9er votre propre interface utilisateur pour deemix.",thanks:"Merci \xE0 rtonno, uhwot et lollilol de m'avoir aid\xE9 dans ce projet ainsi qu'\xE0 BasCurtiz pour la cr\xE9ation de l'ic\xF4ne.",upToDate:{text:"Restez inform\xE9 des mises \xE0 jour en suivant le {newsChannel} sur Telegram.",newsChannel:"canal d'informations"},officialWebsite:"Site Officiel",officialRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La Biblioth\xE8que",officialWebuiRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La WebUI",officialSubreddit:"Subreddit Officiel",newsChannel:"Canal d'Informations",questions:{text:"Si vous avez des questions ou des probl\xE8mes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en d\xE9crivant votre probl\xE8me.",subreddit:"subreddit"},beforeReporting:"Avant de signaler un bug, assurez-vous que vous utilisez la version la plus r\xE9cente de l'application. V\xE9rifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre c\xF4t\xE9.",beSure:"Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a d\xE9j\xE0 \xE9t\xE9 recens\xE9.",duplicateReports:"Les rapports de bug r\xE9p\xE9titifs seront supprim\xE9s, merci d'en prendre bonne note.",dontOpenIssues:"NE PAS rapporter de probl\xE8me s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.",newUI:{text:"Si vous ma\xEEtrisez python, vous pouvez essayer de cr\xE9er une nouvelle interface utilisateur pour l'application \xE0 l'aide de la biblioth\xE8que de base, ou corriger des bugs dans la biblioth\xE8que \xE0 l'aide d'une demande de fusion de branches (pull request) sur le {repo}.",repo:"r\xE9pertoire de d\xE9p\xF4t"},acceptFeatures:"J'accepte \xE9galement les nouvelles fonctionnalit\xE9s, mais pas de choses complexes, dans la mesure o\xF9 elles peuvent \xEAtre impl\xE9ment\xE9es directement dans l'application et non dans la biblioth\xE8que.",otherLanguages:"Si vous ma\xEEtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !",understandingCode:"Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.",contributeWebUI:{text:"Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer \xE0 la {webui}.",webui:"WebUI"},itsFree:"N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes pr\xE9f\xE9r\xE9s avant de supporter les d\xE9veloppeurs.",notObligated:"Ne vous sentez pas oblig\xE9 de faire un don, vous \xEAtes tout de m\xEAme appr\xE9ci\xE9 !",lincensedUnder:{text:"Ce projet s'inscrit dans le cadre de la {gpl3}.",gpl3:"Licence publique g\xE9n\xE9rale GNU, version 3"}},charts:{title:"Classements",changeCountry:"Changer De Pays",download:"T\xE9l\xE9charger Le Classement"},errors:{title:"Erreurs pour {name}",ids:{invalidURL:"Cette URL n'est pas reconnue",unsupportedURL:"Cette URL n'est actuellement pas support\xE9e",ISRCnotOnDeezer:"L'ISRC de la piste est indisponible sur Deezer",notYourPrivatePlaylist:"Vous n'\xEAtes pas autoris\xE9 \xE0 t\xE9l\xE9charger les playlists priv\xE9es de quelqu'un d'autre.",spotifyDisabled:"Les Fonctionnalit\xE9s Spotify ne sont pas configur\xE9es correctement.",trackNotOnDeezer:"La piste est introuvable sur Deezer !",albumNotOnDeezer:"L'album est introuvable sur Deezer !",notOnDeezer:"La piste est indisponible sur Deezer !",notEncoded:"La piste n'a pas encore \xE9t\xE9 encod\xE9e !",notEncodedNoAlternative:"La piste n'a pas encore \xE9t\xE9 encod\xE9e et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",wrongBitrate:"La piste est introuvable au d\xE9bit souhait\xE9.",wrongBitrateNoAlternative:"La piste est introuvable au d\xE9bit souhait\xE9 et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",no360RA:"La piste est indisponible au format Reality Audio 360.",notAvailable:"La piste est indisponible sur les serveurs de Deezer !",notAvailableNoAlternative:"La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",noSpaceLeft:"L'espace disponible sur cet appareil est insuffisant !",albumDoesntExists:"Aucun album n'existe pour cette piste, impossible de collecter les informations n\xE9cessaires"}},favorites:{title:"Favoris",noPlaylists:"Aucune Playlist n'a \xE9t\xE9 trouv\xE9e",noAlbums:"Aucun Album Favori n'a \xE9t\xE9 trouv\xE9",noArtists:"Aucun Artiste Favori n'a \xE9t\xE9 trouv\xE9",noTracks:"Aucune Piste Favorite n'a \xE9t\xE9 trouv\xE9e"},home:{needTologin:"Vous devez vous connecter \xE0 votre compte Deezer avant de pouvoir d\xE9marrer un t\xE9l\xE9chargement.",openSettings:"Ouvrir Les Param\xE8tres",sections:{popularPlaylists:"Playlists les plus \xE9cout\xE9es",popularAlbums:"Albums les plus \xE9cout\xE9s"}},linkAnalyzer:{info:"Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de t\xE9l\xE9charger.",useful:"C'est utile si vous essayez, par exemple, de t\xE9l\xE9charger des pistes indisponibles dans votre pays et que vous souhaitez savoir o\xF9 elles sont disponibles.",linkNotSupported:"Ce lien n'est pas encore pris en charge",linkNotSupportedYet:"Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dur\xE9e",diskNumber:"Num\xE9ro De Disque",trackNumber:"Num\xE9ro De Piste",releaseDate:"Date De Sortie",bpm:"BPM",label:"Label",recordType:"Type d'Enregistrement",genres:"Genres",tracklist:"Liste Des Pistes"}},search:{startSearching:"D\xE9marrer une recherche !",description:"Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez \xE9galement coller un lien Deezer.",fans:"{n} fans",noResults:"Aucun r\xE9sultat",noResultsTrack:"Aucune piste n'a \xE9t\xE9 trouv\xE9e",noResultsAlbum:"Aucun album n'a \xE9t\xE9 trouv\xE9",noResultsArtist:"Aucun artiste n'a \xE9t\xE9 trouv\xE9",noResultsPlaylist:"Aucune playlist n'a \xE9t\xE9 trouv\xE9e"},searchbar:"Saisissez une requ\xEAte (ou collez simplement un lien)",downloads:"t\xE9l\xE9chargements",toasts:{restoringQueue:"Restauration de la file d'attente de t\xE9l\xE9chargement...",queueRestored:"La file d'attente de t\xE9l\xE9chargement a \xE9t\xE9 restaur\xE9e !",addedToQueue:"{item} ajout\xE9 \xE0 la file d'attente",addedMoreToQueue:"{n} \xE9l\xE9ments ajout\xE9s \xE0 la file d'attente",alreadyInQueue:"{item} est d\xE9j\xE0 dans la file d'attente !",finishDownload:"{item} a \xE9t\xE9 t\xE9l\xE9charg\xE9.",allDownloaded:"Tous les t\xE9l\xE9chargements sont termin\xE9s !",refreshFavs:"Actualisation termin\xE9e !",loggingIn:"Connexion en cours...",loggedIn:"Connect\xE9",alreadyLogged:"D\xE9j\xE0 connect\xE9",loginFailed:"Connexion impossible",loggedOut:"D\xE9connect\xE9",cancellingCurrentItem:"Annulation de l'\xE9l\xE9ment actuel.",currentItemCancelled:"\xC9l\xE9ment actuel annul\xE9.",startAddingArtist:"Ajout des albums de {artist} \xE0 la file d'attente",finishAddingArtist:"Les albums de {artist} ont \xE9t\xE9 ajout\xE9s \xE0 la file d'attente",startConvertingSpotifyPlaylist:"Conversion de pistes Spotify en \xE9quivalents Deezer",finishConvertingSpotifyPlaylist:"Playlist Spotify convertie",loginNeededToDownload:"Vous devez vous connecter pour pouvoir t\xE9l\xE9charger des pistes !",deezerNotAvailable:"Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.",startGeneratingItems:"Traitement de {n} \xE9l\xE9ments...",finishGeneratingItems:"{n} \xE9l\xE9ments ont \xE9t\xE9 g\xE9n\xE9r\xE9s."},settings:{title:"Param\xE8tres",languages:"Langues",login:{title:"Connexion",loggedIn:"Vous \xEAtes connect\xE9 en tant que {username}",arl:{question:"Comment obtenir mon ARL personnel ?",update:"Mettre \xE0 jour l'ARL"},logout:"D\xE9connexion",login:"Connexion via deezer.com"},appearance:{title:"Apparence",slimDownloadTab:"Onglet de t\xE9l\xE9chargement compact",slimSidebar:"Barre lat\xE9rale compacte"},downloadPath:{title:"Emplacement De T\xE9l\xE9chargement"},templates:{title:"Mod\xE8les",tracknameTemplate:"Mod\xE8le pour le nom de piste",albumTracknameTemplate:"Mod\xE8le pour le nom de piste de l'album",playlistTracknameTemplate:"Mod\xE8le pour le nom de piste de la playlist"},folders:{title:"Dossiers",createPlaylistFolder:"G\xE9n\xE9rer des dossiers par playlist",playlistNameTemplate:"Mod\xE8le pour le nom du dossier de playlist",createArtistFolder:"G\xE9n\xE9rer des dossiers par artiste",artistNameTemplate:"Mod\xE8le pour le nom du dossier d'artiste",createAlbumFolder:"G\xE9n\xE9rer des dossiers par album",albumNameTemplate:"Mod\xE8le pour le nom du dossier d'album",createCDFolder:"G\xE9n\xE9rer des dossiers par CD",createStructurePlaylist:"G\xE9n\xE9rer une structure de dossiers pour les playlists",createSingleFolder:"G\xE9n\xE9rer une structure de dossiers pour les singles"},trackTitles:{title:"Titres des pistes",padTracks:"Longueur uniforme des num\xE9ros de piste (ajoute automatiquement des z\xE9ros devant le num\xE9ro initial de la piste)",paddingSize:"Nombre de z\xE9ros \xE0 ajouter en permanence devant le num\xE9ro initial de la piste",illegalCharacterReplacer:"Substitut aux caract\xE8res non autoris\xE9s (dans les noms de fichiers et de dossiers)"},downloads:{title:"T\xE9l\xE9chargements",queueConcurrency:"T\xE9l\xE9chargements Simultan\xE9s",maxBitrate:{title:"D\xE9bit Pr\xE9f\xE9r\xE9",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Les fichiers doivent-ils \xEAtre \xE9cras\xE9s ?",y:"Oui, \xE9craser le fichier",n:"Non, ne pas \xE9craser le fichier",t:"\xC9craser uniquement les m\xE9tadonn\xE9es",b:"Non, conserver les deux fichiers et ajouter un num\xE9ro au doublon",e:"Non, et ne pas tenir compte de l'extension du fichier"},fallbackBitrate:"Recourir \xE0 un d\xE9bit plus faible si le d\xE9bit pr\xE9f\xE9r\xE9 n'est pas disponible",fallbackSearch:"Rechercher la piste si le lien original n'est pas disponible",logErrors:"Cr\xE9er un fichier journal d'erreurs",logSearched:"Cr\xE9er un fichier journal des pistes recherch\xE9es",createM3U8File:"Cr\xE9er un fichier de playlist",syncedLyrics:"Cr\xE9er des fichiers .lyr (Paroles Synchronis\xE9es)",playlistFilenameTemplate:"Mod\xE8le du nom de fichier de la playlist",saveDownloadQueue:"Enregistrer la file d'attente de t\xE9l\xE9chargement \xE0 la fermeture de l'application"},covers:{title:"Pochettes d'albums",saveArtwork:"Enregistrer Les Pochettes",coverImageTemplate:"Mod\xE8le pour le nom de la pochette",saveArtworkArtist:"Enregistrer l'image de l'artiste",artistImageTemplate:"Mod\xE8le pour le nom de l'image de l'artiste",localArtworkSize:"Taille de l'illustration locale",embeddedArtworkSize:"Taille de l'illustration incorpor\xE9e aux fichiers audio",localArtworkFormat:{title:"Dans quel format souhaitez-vous l'illustration locale ?",jpg:"Une image jpeg",png:"Une image png",both:"\xC0 la fois jpeg et png"},jpegImageQuality:"Qualit\xE9 de l'image JPEG",embeddedArtworkPNG:"Enregistrer l'illustration incorpor\xE9e aux fichiers audio en tant que PNG",embeddedPNGWarning:"Les images PNG ne sont pas officiellement utilis\xE9es par Deezer et pourraient causer des probl\xE8mes.",imageSizeWarning:"Toute valeur sup\xE9rieure \xE0 x1200 n'est pas officiellement support\xE9e par Deezer, vous pourriez donc rencontrer des probl\xE8mes.",coverDescriptionUTF8:"Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)"},tags:{head:"M\xE9tadonn\xE9es \xE0 sauvegarder",title:"Titre",artist:"Artiste",album:"Album",cover:"Pochette",trackNumber:"Num\xE9ro De Piste",trackTotal:"Nombre De Pistes",discNumber:"Num\xE9ro Du Disque",discTotal:"Nombre De Disques",albumArtist:"Artiste De l'Album",genre:"Genre",year:"Ann\xE9e",date:"Date",explicit:"Paroles Explicites",isrc:"ISRC",length:"Longueur De La Piste",barcode:"Code-Barres De l'Album (UPC)",bpm:"BPM",replayGain:"Gain En Relecture (Replay Gain)",label:"Label De l'Album",lyrics:"Paroles Non-Synchronis\xE9es",syncedLyrics:"Paroles Synchronis\xE9es",copyright:"Droits d'Auteur (Copyright)",composer:"Compositeur",involvedPeople:"Personnes Impliqu\xE9es",source:"ID de la source et de la piste"},other:{title:"Autre",savePlaylistAsCompilation:"Enregistrer les playlists en tant que compilation",useNullSeparator:"Utiliser le caract\xE8re NULL comme s\xE9parateur",saveID3v1:"Enregistrer \xE9galement les m\xE9tadonn\xE9es ID3v1",multiArtistSeparator:{title:"Comment aimeriez-vous s\xE9parer les artistes ?",nothing:"Enregistrer uniquement l'artiste principal",default:"En utilisant la sp\xE9cification standard",andFeat:"En utilisant & et feat.",using:'En utilisant "{separator}"'},singleAlbumArtist:"Enregistrer uniquement l'artiste principal de l'album",albumVariousArtists:`Conserver "Various Artists" dans les Artistes de l'Album`,removeAlbumVersion:'Supprimer "Album Version" du titre de la piste',removeDuplicateArtists:"Supprimer les combinaisons d'artistes",dateFormat:{title:"Format de date pour les fichiers FLAC",year:"AAAA",month:"MM",day:"JJ"},featuredToTitle:{title:"Que faire des artistes participants (featuring) ?",0:"Ne rien faire",1:"Les retirer du titre de la piste",3:"Les supprimer du titre de la piste et du titre de l'album",2:"Les d\xE9placer vers le titre de la piste"},titleCasing:"Casse pour le titre",artistCasing:"Casse pour l'artiste",casing:{nothing:"Conserver inchang\xE9",lower:"minuscules",upper:"MAJUSCULES",start:"Majuscule Au D\xE9but De Chaque Mot",sentence:"Majuscule seulement au d\xE9but de la phrase"},previewVolume:"Volume sonore des aper\xE7us de pistes",executeCommand:{title:"Commande \xE0 ex\xE9cuter apr\xE8s le t\xE9l\xE9chargement",description:"Laisser vide pour qu'aucune action n'ait lieu"}},spotify:{title:"Fonctionnalit\xE9s Spotify",clientID:"clientID Spotify",clientSecret:"Client Secret Spotify",username:"Nom d'utilisateur Spotify",question:"Comment activer les Fonctionnalit\xE9s Spotify ?"},reset:"R\xE9tablir les valeurs par d\xE9faut",resetMessage:"Souhaitez-vous vraiment r\xE9tablir les param\xE8tres par d\xE9faut ?",save:"Sauvegarder",toasts:{init:"Param\xE8tres charg\xE9s !",update:"Param\xE8tres mis \xE0 jour !",reset:"Param\xE8tres r\xE9initialis\xE9s \xE0 leur valeur par d\xE9faut !",ARLcopied:"ARL copi\xE9 dans le presse-papier"}},sidebar:{home:"accueil",search:"recherche",charts:"classements",favorites:"favoris",linkAnalyzer:"analyseur de lien",settings:"param\xE8tres",about:"\xE0 propos"},tracklist:{downloadSelection:"T\xE9l\xE9charger la s\xE9lection"}},id={globals:{welcome:"Selamat datang di deemix",back:"kembali",loading:"memuat",download:"Mengunduh {thing}",by:"oleh {artist}",in:"di {album}",download_hint:"Unduh",play_hint:"Putar",toggle_download_tab_hint:"Buka/Tutup",clean_queue_hint:"Berhasil Mengosongkan",cancel_queue_hint:"Batalkan Semua",listTabs:{empty:"",all:"semua",top_result:"hasil teratas",album:"album | album",artist:"artis | artis",single:"singel | singel",title:"judul | judul",track:"lagu | lagu",trackN:"0 lagu | {n} lagu | {n} lagu",releaseN:"0 rilis | {n} rilis | {n} rilis",playlist:"daftar putar | daftar putar",compile:"kompilasi | kompilasi",ep:"ep | ep",spotifyPlaylist:"daftar putar spotify | daftar putar spotify",releaseDate:"tanggal rilis",error:"galat"}},about:{titles:{usefulLinks:"Tautan Berguna",bugReports:"Laporan Kesalahan",contributing:"Kontirbutor",donations:"Donasi",license:"Lisensi"},subtitles:{bugReports:"Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!",contributing:"Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!",donations:"Mau kontribusi secara finansial? Kamu bisa beri donasi!"},usesLibrary:"Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.",thanks:"Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.",upToDate:{text:"Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.",newsChannel:"kanal berita deemix"},officialWebsite:"Situs Web Resmi",officialRepo:"Repositori Pustaka Resmi",officialWebuiRepo:"Repositori WebUI Resmi",officialSubreddit:"Subreddit Resmi",newsChannel:"Kanal Berita",questions:{text:"Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.",subreddit:"subreddit"},beforeReporting:"Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.",beSure:"Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.",duplicateReports:"Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.",dontOpenIssues:"JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.",newUI:{text:"Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.",repo:"repo"},acceptFeatures:"Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.",otherLanguages:"Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!",understandingCode:"Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.",contributeWebUI:{text:"Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.",webui:"WebUI"},itsFree:"Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.",notObligated:"Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!",lincensedUnder:{text:"Pekerjaan ini ada di bawah lisensi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Tangga Lagu",changeCountry:"Ubah Negara",download:"Unduh Tangga Lagu"},errors:{title:"Galat untuk {name}",ids:{invalidURL:"URL tidak dikenal",unsupportedURL:"URL belum didukung",ISRCnotOnDeezer:"Lagu ISRC tidak tersedia di deezer",notYourPrivatePlaylist:"Kamu tidak bisa mengunduh daftar putar privat orang lain.",spotifyDisabled:"Fitur Spotify tidak diatur dengan benar.",trackNotOnDeezer:"Lagu tidak ditemukan di deezer!",albumNotOnDeezer:"Album tidak ditemukan di deezer!",notOnDeezer:"Lagu tidak ada di Deezer!",notEncoded:"Lagu belum di-encode!",notEncodedNoAlternative:"Lagu belum di-encode dan tidak ada alternatif lain!",wrongBitrate:"Lagu tidak tersedia pada bitrate yang diinginkan.",wrongBitrateNoAlternative:"Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!",no360RA:"Lagu tidak tersedia pada Reality Audio 360.",notAvailable:"Lagu tidak tersedia pada server deezer!",notAvailableNoAlternative:"Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!"}},favorites:{title:"Favorit",noPlaylists:"Daftar Putar kosong",noAlbums:"Album Favorit kosong",noArtists:"Artis Favorit kosong",noTracks:"Lagu Favorit kosong"},home:{needTologin:"Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.",openSettings:"Buka Pengaturan",sections:{popularPlaylists:"Daftar putar populer",popularAlbums:"Album paling banyak diputar"}},linkAnalyzer:{info:"Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.",useful:"Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.",linkNotSupported:"Tautan seperti ini belum didukung",linkNotSupportedYet:"Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durasi",diskNumber:"Nomor Disk",trackNumber:"Nomor Lagu",releaseDate:"Tanggal Rilis",bpm:"BPM",label:"Label",recordType:"Tipe Rekaman",genres:"Genre",tracklist:"Daftar Lagu"}},search:{startSearching:"Mulai cari!",description:"Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer",fans:"{n} fan",noResults:"Tak ada hasil",noResultsTrack:"Lagu tidak ditemukan",noResultsAlbum:"Album tidak ditemukan",noResultsArtist:"Artis tidak ditemukan",noResultsPlaylist:"Daftar putar tidak ditemukan"},searchbar:"Cari apa pun yang kamu mau (atau berikan tautannya saja)",downloads:"unduhan",toasts:{addedToQueue:"{item} ditambah ke antrian",alreadyInQueue:"{item} sudah ada di antrian!",finishDownload:"{item} selesai diunduh.",allDownloaded:"Seluruh unduhan selesai!",refreshFavs:"Penyegaran selesai!",loggingIn:"Masuk",loggedIn:"Telah masuk",alreadyLogged:"Telah masuk",loginFailed:"Tidak bisa masuk",loggedOut:"Belum masuk",cancellingCurrentItem:"Membatalkan item.",currentItemCancelled:"Item telah dibatalan.",startAddingArtist:"Menambahkan {artist} album ke antrian",finishAddingArtist:"{artist} album telah ditambahkan ke antrian",startConvertingSpotifyPlaylist:"Mengonversi lagu spotify ke deezer",finishConvertingSpotifyPlaylist:"Daftar putar Spotify selesai dikonversi"},settings:{title:"Pengaturan",languages:"Bahasa",login:{title:"Masuk",loggedIn:"Kamu telah masuk sebagai {username}",arl:{question:"Bagaimana cara mendapat ARL?",update:"Perbarui ARL"},logout:"Keluar"},appearance:{title:"Tampilan",slimDownloadTab:"Tab unduhan ramping"},downloadPath:{title:"Direktori Unduhan"},templates:{title:"Templat",tracknameTemplate:"Templat judul lagu",albumTracknameTemplate:"Templat judul album",playlistTracknameTemplate:"Templat judul daftar putar"},folders:{title:"Folders",createPlaylistFolder:"Buat folder untuk daftar putar",playlistNameTemplate:"Templat folder daftar putar",createArtistFolder:"Buat folder untuk artis",artistNameTemplate:"Templat folder artis",createAlbumFolder:"Buat folder untuk album",albumNameTemplate:"Templat folder album",createCDFolder:"Buat folder untuk CD",createStructurePlaylist:"Buat struktur folder untuk daftar putar",createSingleFolder:"Buat struktur folder untuk singel"},trackTitles:{title:"Judul lagu",padTracks:"Judul pad",paddingSize:"Timpa ukuran padding",illegalCharacterReplacer:"Pengubah Simbol Tak Terdukung"},downloads:{title:"Unduhan",queueConcurrency:"Unduhan Bersamaan",maxBitrate:{title:"Bitrate Prioritas",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Apakah file mau ditimpa?",y:"Ya, silakan",n:"Tidak, jangan ditimpa",t:"Timpa tag-nya saja"},fallbackBitrate:"Rendahkan bitrate",fallbackSearch:"Cari bitrate lebih rendah",logErrors:"Buat file log untuk galat",logSearched:"Buat file log untuk lagu yang dicari",createM3U8File:"Buat file daftar putar",syncedLyrics:"Buat file .lyr (Sinkronisasikan Lirik)",playlistFilenameTemplate:"Templat nama file untuk daftar putar",saveDownloadQueue:"Simpan antrian pengunduhan saat menutup aplikasi"},covers:{title:"Sampul album",saveArtwork:"Simpan Sampul",coverImageTemplate:"Templat nama sampul",saveArtworkArtist:"Simpan gambar artis",artistImageTemplate:"Templat gambar artis",localArtworkSize:"Ukuran sampul lokal",embeddedArtworkSize:"Ukuran sampul tertanam",localArtworkFormat:{title:"Format gambar apa yang kamu mau untuk sampul lokal?",jpg:"Gambar JPEG",png:"Gambar PNG",both:"Keduanya"},jpegImageQuality:"Kualitas gambar JPEG"},tags:{head:"Tag apa saja yang disimpan?",title:"Judul",artist:"Artis",album:"Album",cover:"Sampul",trackNumber:"Nomor Lagu",trackTotal:"Jumlah Lagu",discNumber:"Nomor Disk",discTotal:"Jumlah Disk",albumArtist:"Artis pada Album",genre:"Genre",year:"Tahun",date:"Tanggal",explicit:"Lirik Eksplisit",isrc:"ISRC",length:"Durasi",barcode:"Barcode Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label Album",lyrics:"Lirik Tak Tersinkronisasi",copyright:"Hak Cipta",composer:"Komposer",involvedPeople:"Orang-Orang Terlibat"},other:{title:"Lainnya",savePlaylistAsCompilation:"Simpan daftar putar sebagai kompilasi",useNullSeparator:"Gunakan separator null",saveID3v1:"Simpan juga ID3v1",multiArtistSeparator:{title:"Bagaimana kamu mau memisahkan nama artis?",nothing:"Simpan artis utamanya saja",default:"Gunakan spesifikasi standard",andFeat:"Gunakan & dan feat.",using:'Gunakan "{separator}"'},singleAlbumArtist:"Simpan artis utama saja",albumVariousArtists:'Simpan "Various Artists" sebagai artis',removeAlbumVersion:'Hapus "Versi Album" dari judul lagu',removeDuplicateArtists:"Hapus kombinasi artis",dateFormat:{title:"Format tanggal untuk file FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Apa yang harus dilakukan jika ada artis kedua?",0:"Biarkan saja",1:"Hapus dari judul lagu",3:"Hapus dari judul lagu dan judul album",2:"Pindahkan ke judul lagu"},titleCasing:"Kapitalisasi judul",artistCasing:"Kapitalisasi album",casing:{nothing:"Biarkan seadanya",lower:"huruf kecil",upper:"HURUF KAPITAL",start:"Setiap Awal Kata",sentence:"Huruf pertama saja"},previewVolume:"Pratinjau volume",executeCommand:{title:"Perintah yang dijalankan setelah pengunduhan",description:"Biarkan kosong jika tidak ada"}},spotify:{title:"Fitur Spotify",clientID:"clientID Spotify ",clientSecret:"Client Secret Spotify ",username:"Username Spotify"},reset:"Kembalikan ke Awal",save:"Simpan",toasts:{init:"Pengaturan dimuat!",update:"Pengaturan diperbarui!",ARLcopied:"ARL tersalin ke papan klip"}},sidebar:{home:"utama",search:"cari",charts:"tangga lagu",favorites:"favorit",linkAnalyzer:"penganalisa tautan",settings:"pengaturan",about:"tentang"},tracklist:{downloadSelection:"Seleksi unduhan"}},pt={globals:{welcome:"Bem-vindo ao deemix",back:"voltar",loading:"A carregar",download:"Transferir {thing}",by:"por {artist}",in:"em {album}",download_hint:"Transferir",play_hint:"Tocar",toggle_download_tab_hint:"Expandir/Recolher",clean_queue_hint:"Limpar Finalizados",cancel_queue_hint:"Cancelar Tudo",listTabs:{empty:"",all:"Tudo",top_result:"melhor resultado",album:"\xE1lbum | \xE1lbums",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amentos | {n} lan\xE7amento | {n} lan\xE7amento",playlist:"lista de reprodu\xE7\xE3o | listas de reprodu\xE7\xE3o",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"lista de reprodu\xE7\xE3o spotify | listas de reprodu\xE7\xE3o spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relat\xF3rio de erros",contributing:"Contribuir",donations:"Doa\xE7\xF5es",license:"Licen\xE7as"},subtitles:{bugReports:"Existe alguma coisa que n\xE3o funciona no deemix? Informa-nos!",contributing:"Queres contribuir para o projecto? Podes faz\xEA-lo de diferentes formas!",donations:"Desejas contribuir monetariamente? Faz uma doa\xE7\xE3o!"},usesLibrary:"Esta aplica\xE7\xE3o usa a biblioteca deemix, que poder\xE1s usar para desenvolver o teu proprio UI para o deemix.",thanks:"Agrade\xE7o a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o \xEDcone.",upToDate:{text:"Mantem-te atualizado seguindo o {newsChannel} no Telegram.",newsChannel:"canal de not\xEDcias"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio Oficial da Biblioteca",officialWebuiRepo:"Reposit\xF3rio Oficial WebUI",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solu\xE7\xE3o no {subreddit}. Caso n\xE3o encontres nada podes criar um post com a tua quest\xE3o no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportares um bug certifica-te que est\xE1s a correr a vers\xE3o mais recente e que o que queres reportar \xE9 mesmo um bug e n\xE3o algo que apenas n\xE3o funciona do teu lado.",beSure:"Certifica-te que o erro \xE9 reprodutivel noutros dispositivos e N\xC3O reportes um bug que j\xE1 tenha sido reportado.",duplicateReports:"Bug reports duplicados ser\xE3o fechados, mant\xE9m-te atento a isso.",dontOpenIssues:"N\xC3O abras issues para colocar quest\xF5es, existe um subreddit para isso.",newUI:{text:"Caso sejas fluente em python podes tentar criar um novo UI para a aplica\xE7\xE3o recorrendo \xE0 biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.",repo:"reposit\xF3rio"},acceptFeatures:"Tamb\xE9m aceito funcionalidades n\xE3o complexas caso possam ser implementadas directamente na app e n\xE3o na biblioteca.",otherLanguages:"Caso sejas fluente noutra linguagem de programa\xE7\xE3o podes tentar migrar o deemix para outra linguagem de programa\xE7\xE3o!",understandingCode:"Precisas de ajuda a entender o c\xF3digo? Acede a RemixDev no Telegram ou no Reddit.",contributeWebUI:{text:"Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.",webui:"WebUI"},itsFree:"Deves ter em conta que que este projecto \xE9 gratuito e dever\xE1s apoiar os artistas que aprecias antes de apoiares os programadores.",notObligated:"N\xE3o te sintas obrigado a doar, agrade\xE7o-te na mesma!",lincensedUnder:{text:"Este trabalho esta licenciado sobre a {gpl3}.",gpl3:"GNU Licen\xE7a publica geral 3.0"}},charts:{title:"Tabelas",changeCountry:"Alterar pa\xEDs",download:"Transferir tabela"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL n\xE3o reconhecido",unsupportedURL:"URL ainda n\xE3o suportado",ISRCnotOnDeezer:"Faixa ISRC n\xE3o dispon\xEDvel no deezer",notYourPrivatePlaylist:"Nao podes baixar listas de reprodu\xE7\xE3o privadas de outros.",spotifyDisabled:"Funcionalidades do Spotify n\xE3o est\xE3o definidas corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"\xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa n\xE3o encontrada no Deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e n\xE3o foi encontrada alternativa!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e n\xE3o foi encontrada alternativa!",no360RA:"Faixa n\xE3o dispon\xEDvel em Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e n\xE3o foi encontrada alternativa!"}},favorites:{title:"Favoritos",noPlaylists:"Listas de reprodu\xE7\xE3o n\xE3o encontradas",noAlbums:"\xC1lbuns favoritos n\xE3o encontrados",noArtists:"Artistas favoritos n\xE3o encontrados",noTracks:"Faixas favoritas n\xE3o encontradas"},home:{needTologin:"Antes de iniciar transfer\xEAncias \xE9 necess\xE1rio efectuar autentica\xE7\xE3o na conta Deezer.",openSettings:"Abrir Defini\xE7\xF5es",sections:{popularPlaylists:"Listas de reprodu\xE7\xE3o populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Podes usar esta sec\xE7\xE3o para obteres mais informa\xE7\xE3o sobre o link que est\xE1s a tentar transferir.",useful:"Isto \xE9 \xFAtil caso estejas a tentar transferir faixas que n\xE3o est\xE3o dispon\xEDveis no teu pa\xEDs e queres saber onde est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Este link ainda n\xE3o \xE9 suportado",linkNotSupportedYet:"Parece que este link ainda n\xE3o \xE9 suportado, tenta analisar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do disco",trackNumber:"N\xFAmero da faixa",releaseDate:"Data de lan\xE7amento",bpm:"BPM",label:"Editora",recordType:"Tipo de Disco",genres:"G\xE9neros",tracklist:"Lista de faixas"}},search:{startSearching:"Come\xE7a a pesquisar!",description:"Podes perquisar uma m\xFAsica, um \xE1lbum inteiro, um artista, uma lista de reprodu\xE7\xE3o... tudo! Tamb\xE9m podes colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Faixa n\xE3o encontrada",noResultsAlbum:"\xC1lbum n\xE3o encontrado",noResultsArtist:"Artista n\xE3o encontrado",noResultsPlaylist:"Lista de reprodu\xE7\xE3o n\xE3o encontrada"},searchbar:"Pesquisa o que quiseres (ou cola um link)",downloads:"transfer\xEAncias",toasts:{addedToQueue:"{item} adicionados \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} foi transferido.",allDownloaded:"Todas as transfer\xEAncias terminadas!",refreshFavs:"Actualizar terminados!",loggingIn:"A autenticar",loggedIn:"Autenticado",alreadyLogged:"J\xE1 est\xE1s autenticado",loginFailed:"Nao foi possivel iniciar sess\xE3o",loggedOut:"Desconectado",cancellingCurrentItem:"A cancelar item actual.",currentItemCancelled:"Item actual cancelado.",startAddingArtist:"A adicionar {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"Adicionados {artist} \xE1lbuns \xE0 fila",startConvertingSpotifyPlaylist:"A converter faixas do spotify em faixas do deezer",finishConvertingSpotifyPlaylist:"Lista de reprodu\xE7\xE3o do Spotify convertida."},settings:{title:"Defini\xE7\xF5es",languages:"Idioma",login:{title:"Inicio de Sess\xE3o",loggedIn:"Est\xE1s autenticado como {username}",arl:{question:"Como obter o meu ARL?",update:"Actualizar ARL"},logout:"Sair"},appearance:{title:"Aspecto",slimDownloadTab:"Aba de transfer\xEAncias estreita"},downloadPath:{title:"Caminho das transfer\xEAncias"},templates:{title:"Formatos",tracknameTemplate:"Formato do nome de faixa",albumTracknameTemplate:"Formato do nome de \xC1lbum",playlistTracknameTemplate:"Formato do nome de lista de reprodu\xE7\xE3o"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para lista de reprodu\xE7\xE3o",playlistNameTemplate:"Formato da pasta de lista de reprodu\xE7\xE3o",createArtistFolder:"Criar pasta para artista",artistNameTemplate:"Formato da pasta de artista",createAlbumFolder:"Criar pasta para \xE1lbum",albumNameTemplate:"Formato da pasta de \xE1lbum",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para listas reprodu\xE7\xE3o",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo",padTracks:"Bloco de Faixas",paddingSize:"Substituir tamanho do preenchimento",illegalCharacterReplacer:"Substituir caractere inv\xE1lido"},downloads:{title:"Transfer\xEAncias",queueConcurrency:"Transfer\xEAncias concorrentes",maxBitrate:{title:"Bitrate preferencial",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Ficheiros existentes. Substituir?",y:"Sim, substituir o ficheiro",n:"N\xE3o substituir o ficheiro",t:"Subescrever apenas as etiquetas"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Fallback de pesquisa",logErrors:"Criar hist\xF3rico para erros",logSearched:"Criar hist\xF3rico para faixas pesquisadas",createM3U8File:"Criar ficheiro de lista de reprodu\xE7\xE3o",syncedLyrics:"Criar ficheiro .lyr (Letra Sincronizada)",playlistFilenameTemplate:"Formato do nome de ficheiro da lista de reprodu\xE7\xE3o",saveDownloadQueue:"Guardar fila de transfer\xEAncias ao fechar a aplica\xE7\xE3o"},covers:{title:"Capas do \xC1lbum",saveArtwork:"Guardar capas",coverImageTemplate:"Modelo do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Modelo de imagem do artista",localArtworkSize:"Tamanho do trabalho art\xEDstico local",embeddedArtworkSize:"Tamanho do trabalho art\xEDstico incorporado",localArtworkFormat:{title:"Em que formato desejas o trabalho art\xEDstico local?",jpg:"Em imagem jpeg",png:"Em imagem png",both:"Em jpeg e em png"},jpegImageQuality:"Qualidade de imagem JPEG"},tags:{head:"Etiquetas a guardar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero de faixa",trackTotal:"Total de faixas",discNumber:"N\xFAmero do Disco",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xE9nero",year:"Ano",date:"Data",explicit:"Letra Expl\xEDcita",isrc:"ISRC",length:"Dura\xE7\xE3o da faixa",barcode:"C\xF3digo de barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Editora do \xE1lbum",lyrics:"Letra da m\xFAsica n\xE3o sincronizada",copyright:"Direitos de Autor",composer:"Compositor",involvedPeople:"Pessoas envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Guardar listas de reprodu\xE7\xE3o como compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Tamb\xE9m guardar ID3v1",multiArtistSeparator:{title:"Como queres separarar os artistas?",nothing:"Guardar apenas o artista principal",default:"Usar especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar apenas o artista principal do \xE1lbum",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato de data nos ficheiros FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas convidados/participa\xE7\xF5es?",0:"Nada",1:"Remover do t\xEDtulo",3:"Remover do t\xEDtulo e do t\xEDtulo do album",2:"Mov\xEA-lo para o t\xEDtulo"},titleCasing:"Caixa do T\xEDtulo",artistCasing:"Caixa do Artista",casing:{nothing:"Manter inalterado",lower:"minusculas",upper:"MAI\xDASCULAS",start:"In\xEDcio De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Volume de Pr\xE9-visualiza\xE7\xE3o",executeCommand:{title:"Comando a executar ap\xF3s transferir",description:"Deixar em branco para nenhuma ac\xE7\xE3o"}},spotify:{title:"Funcionalidades Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"nome de utilizador Spotify"},reset:"Repor configura\xE7\xF5es padr\xE3o",save:"Guardar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es actualizadas",ARLcopied:"ARL copiado para area de transferencia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"tabelas",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"defini\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Transferir seleccionados"}},pt_br={globals:{welcome:"bem vindo ao deemix",back:"voltar",loading:"carregando",download:"Baixar {thing}",by:"por {artist}",in:"em {album}",download_hint:"Baixar",play_hint:"Reproduzir",toggle_download_tab_hint:"Expandir/Diminuir",clean_queue_hint:"Limpar",cancel_queue_hint:"Cancelar Todos",listTabs:{empty:"",all:"todos",top_result:"resultado principal",album:"\xE1lbum | \xE1lbuns",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amento | {n} lan\xE7amento | {n} lan\xE7amentos",playlist:"playlist | playlists",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"playlist do spotify | playlists do spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relatar Bugs",contributing:"Contribui\xE7\xF5es",donations:"Doa\xE7\xF5es",license:"Licen\xE7a"},subtitles:{bugReports:"H\xE1 algo n\xE3o funcionando no deemix? Nos diga!",contributing:"Voc\xEA quer contribuir para este projeto? Voc\xEA pode fazer isso de diferentes maneiras!",donations:"Voc\xEA quer contribuir monetariamente? Voc\xEA pode fazer uma doa\xE7\xE3o!"},usesLibrary:"Esse app usa a biblioteca do deemix, no qual voc\xEA pode usar para criar sua pr\xF3pria UI para o deemix",thanks:"Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o \xEDcone",upToDate:{text:"Para mais novidades siga o {newsChannel} no Telegram.",newsChannel:"news channel"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio da Biblioteca Oficial",officialWebuiRepo:"Reposit\xF3rio da WebUI Oficial",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Se voc\xEA tiver d\xFAvidas ou problemas com o app, procure uma solu\xE7\xE3o em {subreddit} primeiro. Caso voc\xEA n\xE3o encontre, voc\xEA pode fazer um post explicando seu problema no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportar um bug, tenha certeza que voc\xEA est\xE1 rodando a vers\xE3o mais recente do app, e o que voc\xEA quer reportar seja realmente um bug e n\xE3o algo que esteja acontecendo especialmente com voc\xEA.",beSure:"Certifique-se que o bug \xE9 reproduzivel em outras m\xE1quinas e tamb\xE9m N\xC3O reporte um bug se ele j\xE1 foi reportado.",duplicateReports:"Reportes de bugs duplicados ser\xE3o fechados, ent\xE3o fique atento a isso.",dontOpenIssues:"N\xC3O abra t\xF3picos para fazer perguntas, h\xE1 o subreddit para isso.",newUI:{text:"Se voc\xEA \xE9 fluente em Phython, voc\xEA pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.",repo:"repo"},acceptFeatures:"Eu aceito funcionalidades extras tamb\xE9m, mas nada de coisas complexas, desde que ela possa ser implementada no app, e n\xE3o na biblioteca.",otherLanguages:"Se voc\xEA for fluente em outra linguagem de programa\xE7\xE3o, voc\xEA pode tentar portar o deemix para outra linguagem!",understandingCode:"Voc\xEA precisa de ajuda para entender o c\xF3digo? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.",contributeWebUI:{text:"Se voc\xEA souber Vue.js (JavaScript), HTML ou CSS voc\xEA pode contribuir para o {webui}.",webui:"WebUI"},itsFree:"Lembre-se que este projeto \xE9 livre e voc\xEA deve dar suporte aos artistas que voc\xEA ama antes de dar suporte aos desenvolvedores.",notObligated:"N\xE3o se sinta na obriga\xE7\xE3o de doar, eu agrade\xE7o de qualquer maneira!",lincensedUnder:{text:"Esse \xE9 um projeto licenciado atrav\xE9s da {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Mudar Pa\xEDs",download:"Download Chart"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL inv\xE1lida",unsupportedURL:"URL n\xE3o suportada ainda",ISRCnotOnDeezer:"Faixa ISRC n\xE3o est\xE1 dispon\xEDvel ainda no deezer",notYourPrivatePlaylist:"Voc\xEA n\xE3o pode baixar playlists privadas.",spotifyDisabled:"Os Recursos do Spotify n\xE3o foram configurados corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"Album not found on deezer! \xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa indispon\xEDvel no deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e sem alternativas encontradas!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e nenhuma outra alternativa encontrada!",no360RA:"Faixa n\xE3o dispon\xEDvel na qualidade Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e nenhuma outra alternativa encontrada!"}},favorites:{title:"Favoritos",noPlaylists:"Nenhuma Playlist encontrada",noAlbums:"Nenhum \xC1lbum Favorito encontrado",noArtists:"Nenhum Artista Favorito encontrado",noTracks:"Nenhuma Faixa Favorita encontrada"},home:{needTologin:"Voc\xEA precisa logar na sua conta do deezer antes de come\xE7ar a baixar m\xFAsicas.",openSettings:"Abrir Configura\xE7\xF5es",sections:{popularPlaylists:"Playlists Populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Voc\xEA pode usar essa se\xE7\xE3o para encontrar mais informa\xE7\xF5es sobre o link que voc\xEA quer baixar.",useful:"Isso \xE9 \xFAtil se voc\xEA est\xE1 tentando baixar algumas faixas que n\xE3o est\xE3o dispon\xEDveis no seu pa\xEDs, e quer saber onde elas est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Esse link n\xE3o \xE9 suportado ainda",linkNotSupportedYet:"Parece que esse link n\xE3o \xE9 suportado ainda, tente analizar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do Disco",trackNumber:"N\xFAmero da Faixa",releaseDate:"Data de Lan\xE7amento",bpm:"BPM",label:"Gravadora",recordType:"Tipo de Grava\xE7\xE3o",genres:"G\xEAneros",tracklist:"Tracklist"}},search:{startSearching:"Comece pesquisando!",description:"Voc\xEA pode pesquisar uma m\xFAsica, um \xE1lbum, um artista, uma playlist.... tudo! Voc\xEA tamb\xE9m pode colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Nenhuma Faixa encontrada",noResultsAlbum:"Nenhum \xC1lbum encontrado",noResultsArtist:"Nenhum Artista encontrado",noResultsPlaylist:"Nenhuma Playlist encontrada"},searchbar:"Pesquise algo (ou apenas cole um link)",downloads:"downloads",toasts:{addedToQueue:"{item} adicionado \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} download terminado.",allDownloaded:"Todos os downloads foram feitos!",refreshFavs:"Atualiza\xE7\xE3o completa!",loggingIn:"Logando",loggedIn:"Logado",alreadyLogged:"Voc\xEA j\xE1 est\xE1 logado",loginFailed:"N\xE3o foi possivel entrar",loggedOut:"Desconectando",cancellingCurrentItem:"Cancelando item atual.",currentItemCancelled:"Item atual cancelado.",startAddingArtist:"Adicionando {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"{artist} \xE1lbuns adicionados a fila",startConvertingSpotifyPlaylist:"Convertendo faixas do spotify para faixas do deezer",finishConvertingSpotifyPlaylist:"Playlists do Spotify convertidas"},settings:{title:"Configura\xE7\xF5es",languages:"Idiomas",login:{title:"Login",loggedIn:"Voc\xEA est\xE1 logado como {username}",arl:{question:"Como eu consigo o meu ARL?",update:"Atualizar ARL"},logout:"Sair"},appearance:{title:"Apar\xEAncia",slimDownloadTab:"Aba de download slim"},downloadPath:{title:"Diret\xF3rio de Downloads"},templates:{title:"Templates",tracknameTemplate:"Template do nome da faixa",albumTracknameTemplate:"Template da faixa do \xE1lbum",playlistTracknameTemplate:"Template da faixa da playlist"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para playlists",playlistNameTemplate:"Template da pasta de playlist",createArtistFolder:"Criar pasta para os artistas",artistNameTemplate:"Template da pasta de artistas",createAlbumFolder:"Criar pasta para \xE1lbuns",albumNameTemplate:"Template da pasta de \xE1lbuns",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para playlists",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo das faixas",padTracks:"Faixas com pad",paddingSize:"Sobrescrever tamanho do padding",illegalCharacterReplacer:"Substituir caracteres inv\xE1lidos"},downloads:{title:"Downloads",queueConcurrency:"Downloads Simult\xE2neos",maxBitrate:{title:"Escolher Taxa de Bits",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Sobrescrever arquivos?",y:"Sim, sobrescrever arquivos",n:"N\xE3o, n\xE3o sobrescrever arquivos",t:"Sobrescrever apenas as tags"},fallbackBitrate:"Taxa de bits reserva",fallbackSearch:"Procurar reserva",logErrors:"Criar arquivos de log para erros",logSearched:"Criar arquivos de log para faixas pesquisadas",createM3U8File:"Criar arquivo de playlist",syncedLyrics:"Criar arquivos .lyr (Letras)",playlistFilenameTemplate:"Template do nome do arquivo da playlist",saveDownloadQueue:"Salvar a fila de downloads quando fechar o app"},covers:{title:"Capa dos \xE1lbuns",saveArtwork:"Salvar capas",coverImageTemplate:"Template do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Template da imagem do artista",localArtworkSize:"Tamanho da capa local",embeddedArtworkSize:"Tamanho da capa embutida",localArtworkFormat:{title:"Qual o formato da imagem que voc\xEA quer para a capa local?",jpg:".jpeg",png:".png",both:"Ambas, .jpeg e .png"},jpegImageQuality:"Qualidade da imagem JPEG"},tags:{head:"Quais tags salvar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero da Faixa",trackTotal:"Total de Faixas",discNumber:"N\xFAmero de Discos",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xEAnero",year:"Ano",date:"Data",explicit:"Letras Expl\xEDcitas",isrc:"ISRC",length:"Tamanho da Faixa",barcode:"C\xF3digo de Barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Gravadora",lyrics:"Letras Dessincronizadas",copyright:"Copyright",composer:"Compositor",involvedPeople:"Pessoas Envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Salvar playlists como uma compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Salvar ID3v1",multiArtistSeparator:{title:"Como voc\xEA gostaria de separar os artistas?",nothing:"Salvar apenas o artista principal",default:"Usar a especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Salvar apenas o artista principal",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato da data para arquivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas participantes?",0:"Nada",1:"Remova do t\xEDtulo da faixa",3:"Remova do t\xEDtulo da faixa e do \xE1lbum",2:"Mover para o t\xEDtulo da faixa"},titleCasing:"Formata\xE7\xE3o do t\xEDtulo",artistCasing:"Formata\xE7\xE3o do artista",casing:{nothing:"Manter inalterado",lower:"min\xFAsculo",upper:"MAI\xDASCULO",start:"Come\xE7o De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Pr\xE9via do Volume",executeCommand:{title:"Comando para executar depois de baixar",description:"Deixe em branco para nenhuma a\xE7\xE3o"}},spotify:{title:"Recursos do Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"usu\xE1rio do Spotify"},reset:"Restaurar para o padr\xE3o",save:"Salvar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es atualizadas!",ARLcopied:"ARL copiada para a \xE1rea de transfer\xEAncia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"configura\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Baixar sele\xE7\xE3o"}},ru={globals:{welcome:"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 deemix",back:"\u043D\u0430\u0437\u0430\u0434",loading:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C {thing}",by:"{artist}",in:"\u0438\u0437 {album}",download_hint:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C",play_hint:"\u041F\u0440\u043E\u0441\u043B\u0443\u0448\u0430\u0442\u044C",toggle_download_tab_hint:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0421\u043A\u0440\u044B\u0442\u044C",clean_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u044B\u0435",cancel_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0451",open_downloads_folder:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043F\u043A\u0443 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",cut:"\u0432\u044B\u0440\u0435\u0437\u0430\u0442\u044C",copy:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",copyLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443",copyImageLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",copyDeezerLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 deezer",paste:"\u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C",listTabs:{empty:"",all:"\u0432\u0441\u0435",top_result:"\u043B\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",album:"\u0430\u043B\u044C\u0431\u043E\u043C | \u0430\u043B\u044C\u0431\u043E\u043C\u044B | \u0430\u043B\u044C\u0431\u043E\u043C\u044B",artist:"\u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438",single:"\u0441\u0438\u043D\u0433\u043B | \u0441\u0438\u043D\u0433\u043B\u044B | \u0441\u0438\u043D\u0433\u043B\u044B",title:"\u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",track:"\u0442\u0440\u0435\u043A | \u0442\u0440\u0435\u043A\u0438 | \u0442\u0440\u0435\u043A\u0438",trackN:"{n} \u0442\u0440\u0435\u043A | {n} \u0442\u0440\u0435\u043A\u0430 | {n} \u0442\u0440\u0435\u043A\u043E\u0432",releaseN:"{n} \u0440\u0435\u043B\u0438\u0437 | {n} \u0440\u0435\u043B\u0438\u0437\u0430 | {n} \u0440\u0435\u043B\u0438\u0437\u043E\u0432",playlist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",compile:"\u0441\u043F\u043B\u0438\u0442 | \u0441\u043F\u043B\u0438\u0442\u044B | \u0441\u043F\u043B\u0438\u0442\u044B",ep:"ep",bundle:"\u0431\u0430\u043D\u0434\u043B | \u0431\u0430\u043D\u0434\u043B\u044B | \u0431\u0430\u043D\u0434\u043B\u044B",more:"\u0411\u043E\u043B\u044C\u0448\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",featured:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0432",spotifyPlaylist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",error:"\u043E\u0448\u0438\u0431\u043A\u0430",albumN:"{n} \u0430\u043B\u044C\u0431\u043E\u043C | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u0430 | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",artistN:"{n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",playlistN:"{n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432"}},about:{updates:{currentVersion:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionNotAvailable:"\u041D/\u0414",updateAvailable:"\u0412\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043D\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E: {version}",deemixVersion:"\u0412\u0435\u0440\u0441\u0438\u044F \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 deemix"},titles:{usefulLinks:"\u041F\u043E\u043B\u0435\u0437\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438",bugReports:"\u041E\u0442\u0447\u0451\u0442\u044B \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445",contributing:"\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u0440\u043E\u0435\u043A\u0442\u0443",donations:"\u041F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F",license:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F"},subtitles:{bugReports:"\u0427\u0442\u043E-\u0442\u043E \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442? \u0421\u043E\u043E\u0431\u0449\u0438\u0442\u0435 \u043D\u0430\u043C!",contributing:"\u0425\u043E\u0442\u0438\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u0430\u043C\u0438!",donations:"\u0425\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u043E? \u041C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u0435!"},usesLibrary:"\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 deemix, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 UI \u0434\u043B\u044F deemix.",thanks:"\u0421\u043F\u0430\u0441\u0438\u0431\u043E rtonno, uhwot \u0438 lollilol \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u044C \u0441 \u044D\u0442\u0438\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u043C, \u0430 \u0442\u0430\u043A\u0436\u0435 BasCurtiz \u0437\u0430 \u0438\u043A\u043E\u043D\u043A\u0443.",upToDate:{text:"\u0421\u043B\u0435\u0434\u0438\u0442\u0435 \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u043C\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F\u043C\u0438 \u043D\u0430 {newsChannel} \u0432 Telegram.",newsChannel:"\u043A\u0430\u043D\u0430\u043B\u0435"},officialWebsite:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0439\u0442",officialRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438",officialWebuiRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 WebUI",officialSubreddit:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442",newsChannel:"\u041A\u0430\u043D\u0430\u043B \u043D\u043E\u0432\u043E\u0441\u0442\u0435\u0439",questions:{text:"\u0415\u0441\u043B\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043E\u0437\u043D\u0438\u043A\u043B\u0438 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0441 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u0438\u0449\u0438\u0442\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 {subreddit}. \u0415\u0441\u043B\u0438 \u043D\u0435 \u043D\u0430\u0448\u043B\u0438 \u0440\u0435\u0448\u0435\u043D\u0438\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u043E\u0441\u0442 \u0438 \u043E\u043F\u0438\u0441\u0430\u0442\u044C \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443.",subreddit:"\u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442\u0435"},beforeReporting:"\u041F\u0435\u0440\u0435\u0434 \u0442\u0435\u043C, \u043A\u0430\u043A \u0441\u043E\u043E\u0431\u0449\u0430\u0442\u044C \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0438 \u0447\u0442\u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043D\u0435 \u043D\u0430 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435.",beSure:"\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E\u0437\u043D\u0438\u043A\u0430\u0435\u0442 \u0438 \u043D\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u0445. \u0422\u0430\u043A\u0436\u0435 \u041D\u0415 \u0441\u043E\u043E\u0431\u0449\u0430\u0439\u0442\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435, \u0435\u0441\u043B\u0438 \u043F\u0440\u043E \u043D\u0435\u0451 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E.",duplicateReports:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445 \u0440\u0430\u0441\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435 \u0431\u0443\u0434\u0443\u0442.",dontOpenIssues:"\u041D\u0415 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0434\u043B\u044F \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0430\u0432\u0442\u043E\u0440\u0443, \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0435\u0441\u0442\u044C \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442.",newUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 python, \u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 UI \u0434\u043B\u044F \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0438\u043B\u0438 \u043F\u043E\u0444\u0438\u043A\u0441\u0438\u0442\u044C \u0432 \u043D\u0435\u0439 \u0431\u0430\u0433\u0438 \u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C pull request \u0432 {repo}.",repo:"\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438"},acceptFeatures:"\u041C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438, \u043D\u043E \u043D\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0441\u043B\u043E\u0436\u043D\u044B\u0435, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435, \u0430 \u043D\u0435 \u0432 \u0441\u0430\u043C\u0443 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443.",otherLanguages:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u043D\u0451\u043C deemix!",understandingCode:"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u0442\u044C\u0441\u044F \u0432 \u043A\u043E\u0434\u0435? \u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 RemixDev \u0432 Telegram \u0438\u043B\u0438 \u043D\u0430 Reddit.",contributeWebUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0437\u043D\u0430\u0435\u0442\u0435 Vue.js (JavaScript), HTML \u0438\u043B\u0438 CSS, \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 {webui}.",webui:"WebUI"},itsFree:"\u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0432\u0430\u043C \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u043F\u043E\u043D\u0440\u0430\u0432\u0438\u0432\u0448\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043F\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043C \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u043E\u0432.",notObligated:"\u0412\u044B \u043D\u0435 \u043E\u0431\u044F\u0437\u0430\u043D\u044B \u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F, \u044F \u0432\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0432\u0430\u0441 \u0446\u0435\u043D\u044E!",lincensedUnder:{text:"\u041F\u0440\u043E\u0435\u043A\u0442 \u0440\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0434 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u0427\u0430\u0440\u0442\u044B",changeCountry:"\u0421\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0443",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0440\u0442"},errors:{title:"\u041E\u0448\u0438\u0431\u043A\u0438 {name}",ids:{invalidURL:"URL \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D",unsupportedURL:"URL \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",ISRCnotOnDeezer:"ISRC \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer",notYourPrivatePlaylist:"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0447\u0443\u0436\u0438\u0435 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B.",spotifyDisabled:"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B Spotify.",trackNotOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",albumNotOnDeezer:"\u0410\u043B\u044C\u0431\u043E\u043C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",notOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer!",notEncoded:"\u0422\u0440\u0435\u043A \u0435\u0449\u0451 \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D!",notEncodedNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D, \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",wrongBitrate:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435.",wrongBitrateNoAlternative:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",no360RA:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 Reality Audio 360.",notAvailable:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer!",notAvailableNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",noSpaceLeft:"\u041D\u0430 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u043D\u0435 \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430!",albumDoesntExists:"\u0410\u043B\u044C\u0431\u043E\u043C\u0430 \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043D\u0435 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0430"}},favorites:{title:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",noPlaylists:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noAlbums:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noArtists:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noTracks:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0442\u0440\u0435\u043A\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B"},home:{needTologin:"\u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u043E\u0439\u0442\u0438 \u043F\u043E\u0434 \u0441\u0432\u043E\u0435\u0439 \u0443\u0447\u0435\u0442\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u044C\u044E Deezer, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C.",openSettings:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",sections:{popularPlaylists:"\u041F\u043E\u043F\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",popularAlbums:"\u0421\u0430\u043C\u044B\u0435 \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B"}},linkAnalyzer:{info:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u044D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B, \u0447\u0442\u043E\u0431\u044B \u0443\u0437\u043D\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043E \u0441\u0441\u044B\u043B\u043A\u0435, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0441\u043A\u0430\u0447\u0430\u0442\u044C.",useful:"\u042D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B \u043D\u0443\u0436\u0435\u043D, \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0442\u0440\u0435\u043A\u0438, \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C, \u0433\u0434\u0435 \u043E\u043D\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B.",linkNotSupported:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",linkNotSupportedYet:"\u042D\u0442\u0430 \u0441\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0434\u0440\u0443\u0433\u0443\u044E.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",diskNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",bpm:"BPM",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",recordType:"\u0422\u0438\u043F",genres:"\u0416\u0430\u043D\u0440",tracklist:"\u0422\u0440\u0435\u043A\u043B\u0438\u0441\u0442"}},search:{startSearching:"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0438\u0441\u043A\u0430\u0442\u044C!",description:"\u0417\u0434\u0435\u0441\u044C \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0439\u0442\u0438 \u0442\u0440\u0435\u043A, \u0430\u043B\u044C\u0431\u043E\u043C, \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F, \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442... \u0432\u0441\u0451! \u041C\u043E\u0436\u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 Deezer",fans:"{n} \u043F\u043E\u043A\u043B\u043E\u043D\u043D\u0438\u043A\u043E\u0432",noResults:"\u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432",noResultsTrack:"\u0422\u0440\u0435\u043A\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsAlbum:"\u0410\u043B\u044C\u0431\u043E\u043C\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsPlaylist:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E"},searchbar:"\u0418\u0449\u0438\u0442\u0435, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 (\u0438\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0441\u0441\u044B\u043B\u043A\u0443)",downloads:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",toasts:{restoringQueue:"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0447\u0435\u0440\u0435\u0434\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",queueRestored:"\u041E\u0447\u0435\u0440\u0435\u0434\u044C \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430!",addedToQueue:"{item} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",addedMoreToQueue:"{n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",alreadyInQueue:"{item} \u0443\u0436\u0435 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u0438!",finishDownload:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 {item} \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430.",allDownloaded:"\u0412\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u044B!",refreshFavs:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E!",loggingIn:"\u0412\u0445\u043E\u0434...",loggedIn:"\u0412\u0445\u043E\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",alreadyLogged:"\u0412\u0445\u043E\u0434 \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loginFailed:"\u0412\u0445\u043E\u0434 \u043D\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loggedOut:"\u0412\u044B \u0432\u044B\u0448\u043B\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430",cancellingCurrentItem:"\u041E\u0442\u043C\u0435\u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",currentItemCancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E.",startAddingArtist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432 {artist} \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishAddingArtist:"\u0410\u043B\u044C\u0431\u043E\u043C\u044B {artist} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",startConvertingSpotifyPlaylist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 Spotify \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishConvertingSpotifyPlaylist:"Spotify \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",loginNeededToDownload:"\u0412\u043E\u0439\u0434\u0438\u0442\u0435 \u0432 \u0430\u043A\u043A\u0430\u0443\u043D\u0442, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0442\u0440\u0435\u043A\u0438!",deezerNotAvailable:"Deezer \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 VPN.",startGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",finishGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A."},settings:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",languages:"\u042F\u0437\u044B\u043A",login:{title:"\u0412\u0445\u043E\u0434",loggedIn:"\u0412\u044B \u0432\u043E\u0448\u043B\u0438 \u043A\u0430\u043A {username}",arl:{question:"\u041A\u0430\u043A \u0443\u0437\u043D\u0430\u0442\u044C \u0441\u0432\u043E\u0439 ARL?",update:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C ARL"},logout:"\u0412\u044B\u0439\u0442\u0438",login:"\u0412\u043E\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 deezer.com"},appearance:{title:"\u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434",slimDownloadTab:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",slimSidebar:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u043B\u0435\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C"},downloadPath:{title:"\u041F\u0443\u0442\u044C \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F"},templates:{title:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B",tracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",albumTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",playlistTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430"},folders:{title:"\u041F\u0430\u043F\u043A\u0438",createPlaylistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",playlistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",createArtistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",createAlbumFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",createCDFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F CD",createStructurePlaylist:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",createSingleFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u0441\u0438\u043D\u0433\u043B\u043E\u0432"},trackTitles:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u043E\u0432",padTracks:"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043D\u043E\u043B\u044C \u043A \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0442\u0440\u0435\u043A\u043E\u0432 (01, 02, ...)",paddingSize:"\u041A\u043E\u043B-\u0432\u043E \u0446\u0438\u0444\u0440 \u0432 \u043D\u043E\u043C\u0435\u0440\u0435",illegalCharacterReplacer:"\u0417\u0430\u043C\u0435\u043D\u0430 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u0438\u043C\u0435\u043D\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},downloads:{title:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0438",queueConcurrency:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",maxBitrate:{title:"\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u0439 \u0431\u0438\u0442\u0440\u0435\u0439\u0442",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u041D\u0443\u0436\u043D\u043E \u043B\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B?",y:"\u0414\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0444\u0430\u0439\u043B",n:"\u041D\u0435\u0442, \u043D\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C",t:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u0433\u0438",b:"\u041D\u0435\u0442, \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0430 \u0444\u0430\u0439\u043B\u0430 \u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u043C\u0435\u0440 \u043A \u0434\u0443\u0431\u043B\u0438\u043A\u0430\u0442\u0443",e:"\u041D\u0435\u0442, \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F"},fallbackBitrate:"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441 \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u043E\u043C \u043D\u0438\u0436\u0435, \u0435\u0441\u043B\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",fallbackSearch:"\u0418\u0441\u043A\u0430\u0442\u044C \u043F\u043E\u0445\u043E\u0436\u0438\u0439 \u0442\u0440\u0435\u043A, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",logErrors:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433\u0438 \u043E\u0448\u0438\u0431\u043E\u043A",logSearched:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430",createM3U8File:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",syncedLyrics:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C .lyr \u0444\u0430\u0439\u043B\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u043B\u0438\u0440\u0438\u043A\u0430)",playlistFilenameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",saveDownloadQueue:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043E\u0447\u0435\u0440\u0435\u0434\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u043F\u0440\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},covers:{title:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtwork:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u043E\u0431\u043B\u043E\u0436\u043A\u0438",coverImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtworkArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",localArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",embeddedArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0439 \u0432 \u0442\u0435\u0433\u0438 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",localArtworkFormat:{title:"\u0412 \u043A\u0430\u043A\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0431\u043B\u043E\u0436\u043A\u0438?",jpg:"jpeg",png:"png",both:"jpeg \u0438 png"},jpegImageQuality:"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E JPEG",embeddedArtworkPNG:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0443\u044E \u043E\u0431\u043B\u043E\u0436\u043A\u0443 \u0432 PNG",embeddedPNGWarning:"PNG \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0431\u0430\u0433\u0438",imageSizeWarning:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438 \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0432\u044B\u0448\u0435 x1200 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",coverDescriptionUTF8:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043E\u0431\u043B\u043E\u0436\u043A\u0438 \u0432 UTF8 (iTunes Fix)"},tags:{head:"\u041A\u0430\u043A\u0438\u0435 \u0442\u0435\u0433\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C",title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",artist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C",album:"\u0410\u043B\u044C\u0431\u043E\u043C",cover:"\u041E\u0431\u043B\u043E\u0436\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",trackTotal:"\u041A\u043E\u043B-\u0432\u043E \u0442\u0440\u0435\u043A\u043E\u0432",discNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",discTotal:"\u041A\u043E\u043B-\u0432\u043E \u0434\u0438\u0441\u043A\u043E\u0432",albumArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0430\u043B\u044C\u0431\u043E\u043C\u0430",genre:"\u0416\u0430\u043D\u0440",year:"\u0413\u043E\u0434",date:"\u0414\u0430\u0442\u0430",explicit:"\u041C\u0435\u0442\u043A\u0430 \u043E \u043D\u0435\u0446\u0435\u043D\u0437\u0443\u0440\u043D\u043E\u0439 \u043B\u0435\u043A\u0441\u0438\u043A\u0435",isrc:"\u041D\u043E\u043C\u0435\u0440 \u0437\u0430\u043F\u0438\u0441\u0438 (ISRC)",length:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",barcode:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u0434 \u0430\u043B\u044C\u0431\u043E\u043C\u0430 (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",lyrics:"\u0422\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",syncedLyrics:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D. \u0442\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",copyright:"\u041F\u0440\u0430\u0432\u0430 (\u043A\u043E\u043F\u0438\u0440\u0430\u0439\u0442)",composer:"\u041A\u043E\u043C\u043F\u043E\u0437\u0438\u0442\u043E\u0440",involvedPeople:"\u0412\u043E\u0432\u043B\u0435\u0447\u0451\u043D\u043D\u044B\u0435 \u043B\u044E\u0434\u0438",source:"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438 ID \u043F\u0435\u0441\u043D\u0438"},other:{title:"\u0420\u0430\u0437\u043D\u043E\u0435",savePlaylistAsCompilation:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043A\u0430\u043A \u0441\u0431\u043E\u0440\u043D\u0438\u043A\u0438",useNullSeparator:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C null \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044F",saveID3v1:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C ID3v1",multiArtistSeparator:{title:"\u041A\u0430\u043A \u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439?",nothing:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E",default:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0443\u044E \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044E",andFeat:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F & \u0438 feat.",using:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F "{separator}"'},singleAlbumArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumVariousArtists:'\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C "Various Artists" \u0432 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u0445 \u0430\u043B\u044C\u0431\u043E\u043C\u0430',removeAlbumVersion:'\u0423\u0434\u0430\u043B\u0438\u0442\u044C "Album Version" \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430',removeDuplicateArtists:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",dateFormat:{title:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B \u0434\u043B\u044F FLAC \u0444\u0430\u0439\u043B\u043E\u0432",year:"\u0413\u0413\u0413\u0413",month:"\u041C\u041C",day:"\u0414\u0414"},featuredToTitle:{title:"\u0427\u0442\u043E \u0434\u0435\u043B\u0430\u0442\u044C \u0441 \u043F\u0440\u0438\u0433\u043B\u0430\u0448\u0451\u043D\u043D\u044B\u043C\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u043C\u0438 (feat.)?",0:"\u041D\u0438\u0447\u0435\u0433\u043E",1:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",3:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",2:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0442\u0440\u0435\u043A\u0430"},titleCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F",artistCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",casing:{nothing:"\u041D\u0435 \u043C\u0435\u043D\u044F\u0442\u044C",lower:"\u0432 \u043D\u0438\u0436\u043D\u0435\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435",upper:"\u0412 \u0412\u0415\u0420\u0425\u041D\u0415\u041C \u0420\u0415\u0413\u0418\u0421\u0422\u0420\u0415",start:"\u041A\u0430\u0436\u0434\u043E\u0435 \u0421\u043B\u043E\u0432\u043E \u0421 \u0417\u0430\u0433\u043B\u0430\u0432\u043D\u043E\u0439 \u0411\u0443\u043A\u0432\u044B",sentence:"\u041A\u0430\u043A \u0432 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0438"},previewVolume:"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u043D\u0438\u044F",executeCommand:{title:"\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",description:"\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0435\u0441\u043B\u0438 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F"}},spotify:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"\u041A\u0430\u043A \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438 Spotify?"},reset:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",toasts:{init:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B!",update:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B!",ARLcopied:"ARL \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430"}},sidebar:{home:"\u0433\u043B\u0430\u0432\u043D\u0430\u044F",search:"\u043F\u043E\u0438\u0441\u043A",charts:"\u0447\u0430\u0440\u0442\u044B",favorites:"\u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",linkAnalyzer:"\u0430\u043D\u0430\u043B\u0438\u0437 \u0441\u0441\u044B\u043B\u043E\u043A",settings:"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",about:"\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0435"},tracklist:{downloadSelection:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435"}},tr={globals:{welcome:"Deemix'e ho\u015F geldin.",back:"geri",loading:"y\xFCkleniyor",download:"\u0130ndir {thing}",by:"{artist} taraf\u0131ndan",in:"{album} i\xE7inde",download_hint:"\u0130ndir",play_hint:"Oynat",toggle_download_tab_hint:"Geni\u015Flet/Daralt",clean_queue_hint:"Tamamlananlar\u0131 Temizle",cancel_queue_hint:"Hepsini ",listTabs:{empty:"",all:"T\xFCm\xFC",top_result:"top result",album:"alb\xFCm | alb\xFCmler",artist:"sanat\xE7\u0131 | sanat\xE7\u0131lar",single:"single | singlelar",title:"ba\u015Fl\u0131k | ba\u015Fl\u0131klar",track:"Par\xE7a | Par\xE7alar",trackN:"0 par\xE7a | {n} par\xE7a | {n} par\xE7a",releaseN:"0 yay\u0131nlanan | {n} yay\u0131nlanan | {n} yay\u0131nlanan",playlist:"oynatma listesi | oynatma listeleri",compile:"derleme | derlemeler",ep:"kay\u0131t | kay\u0131tlar",spotifyPlaylist:"spotify oynatma listesi | oynatma listeleri",releaseDate:"yay\u0131nlanma tarihi",error:"hata"}},about:{titles:{usefulLinks:"Yararl\u0131 Ba\u011Flant\u0131lar",bugReports:"Hata Raporlar\u0131",contributing:"Katk\u0131 Sa\u011Flayanlar",donations:"Ba\u011F\u0131\u015Flar",license:"Lisans"},subtitles:{bugReports:"Deemix'te \xE7al\u0131\u015Fmayan bir \u015Fey mi var?, Bize bildirin!",contributing:"Projeye katk\u0131 sa\u011Flamak m\u0131 istiyorsun? Farkl\u0131 yollardan sa\u011Flayabilirsin!",donations:"B\xFCt\xE7e yard\u0131m\u0131 m\u0131 yapmak istiyorsun? Ba\u011F\u0131\u015F yapabilirsin!"},usesLibrary:"deemix kendi kullan\u0131c\u0131 arabiriminizi olu\u015Fturabilece\u011Finiz, kendine \xF6zg\xFC k\xFCt\xFCphanesini kullan\u0131yor.",thanks:" rtonno, uhwot ve lollilol'a bu projeye yapt\u0131\u011F\u0131 katk\u0131lardan ve BasCurtiz'e ikonlardan dolay\u0131 te\u015Fekk\xFCr ederim.",upToDate:{text:"{newsChannel} takip ederek g\xFCncellemelerden haberdar olun.",newsChannel:"Telegramdaki haber kanal\u0131n\u0131"},officialWebsite:"\u0130lgili \u0130nternet Sitemiz",officialRepo:"\u0130lgili K\xFCt\xFCphanemiz",officialWebuiRepo:"\u0130lgili Web Kullan\u0131c\u0131 Aray\xFCz\xFC K\xFCt\xFCphanemiz.",officialSubreddit:"\u0130lgili Subreddit adresimiz",newsChannel:"Haber Kanal\u0131",questions:{text:"E\u011Fer uygulama ile ilgili sorular\u0131n\u0131z veya bir probleminiz varsa,ilk \xF6nce {subreddit} sorununuzu aray\u0131n. E\u011Fer bir \u015Fey bulamazsan\u0131z, sorununuz ile ilgili bir g\xF6nderi payla\u015Fabilirsiniz.",subreddit:"subreddit adresinden"},beforeReporting:"Bir hatay\u0131 bildirmeden \xF6nce, uygulaman\u0131n son s\xFCr\xFCm\xFCnde oldu\u011Funuza veya sorunun sizden kaynakl\u0131 olmay\u0131p bir hata oldu\u011Funa emin olduktan sonra emin olun.",beSure:"Hatan\u0131n ba\u015Fka cihazlarda da oldu\u011Funu do\u011Frulay\u0131n ve Bildirilen bir hatay\u0131 tekrar bildirmeyin.",duplicateReports:"Birbirinin ayn\u0131s\u0131 olan hata bildirileri kapat\u0131lacakt\u0131r, o y\xFCzden dikkatli olun.",dontOpenIssues:"Soru sormak i\xE7in hata bildirisi yollamay\u0131n, bunun i\xE7in bir subreddit adresimiz var.",newUI:{text:"E\u011Fer Phython kullanmakta iyiysen, ana k\xFCt\xFCphaneyi kullanan bir kullan\u0131c\u0131 aray\xFCz\xFC yapmay\u0131 deneyebilir, veya k\xFCt\xFCphanedeki hatalar\u0131 d\xFCzeltmek i\xE7in {repo}.",repo:"deposuna de\u011Fi\u015Fiklik iste\u011Fi yollayabilirsin"},acceptFeatures:"Yeni \xF6zellikleri de kabul ediyorum, fakat kar\u0131\u015F\u0131k \u015Feyleri k\xFCt\xFCphaneye de\u011Fil uygulamaya eklendi\u011Fi i\xE7in kabul edemiyorum.",otherLanguages:"E\u011Fer di\u011Fer programlama dillerinde kendine g\xFCveniyorsan, deemix'i farkl\u0131 dillere port etmeye \xE7al\u0131\u015Fabilirsin!",understandingCode:"Kodu anlamak i\xE7in yard\u0131m m\u0131 laz\u0131m? Reddit \xFCzerinden veya Telegramdan RemixDev'e ula\u015F.",contributeWebUI:{text:"E\u011Fer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.",webui:"Web Kullan\u0131c\u0131 Aray\xFCz\xFCne katk\u0131da bulanabilirsin"},itsFree:"Bunun \xFCcretsiz bir proje oldu\u011Funu ve geli\u015Ftiricilerden \xF6nce sevdi\u011Finiz sanat\xE7\u0131lar\u0131 desteklemeniz gerekti\u011Fini unutmay\u0131n.",notObligated:"Kendinizi ba\u011F\u0131\u015F yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!",lincensedUnder:{text:"Bu \xE7al\u0131\u015Fma lisansl\u0131d\u0131r: {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Grafikler",changeCountry:"\xDClke De\u011Fi\u015Ftir",download:"Grafi\u011Fi \u0130ndir"},errors:{title:"{name} Hatal\u0131 bulundu",ids:{invalidURL:"URL ge\xE7ersiz.",unsupportedURL:"URL \u015Fimdilik desteklenmiyor",ISRCnotOnDeezer:"ISRC par\xE7a deezerda bulunmuyor",notYourPrivatePlaylist:"Ba\u015Fkalar\u0131n\u0131n \xF6zel oynatma listelerini indiremezsin.",spotifyDisabled:"Spotify \xD6zellikleri do\u011Fru \u015Fekilde ayarlanmam\u0131\u015F.",trackNotOnDeezer:"Par\xE7a Deezer'da bulunamad\u0131!",albumNotOnDeezer:"Alb\xFCm Deezer'da bulunamad\u0131!",notOnDeezer:"Par\xE7a Deezer'da yok!",notEncoded:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi!",notEncodedNoAlternative:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi ve alternatifi bulunamad\u0131!",wrongBitrate:"Par\xE7a, istenen kalitede bulunamad\u0131!",wrongBitrateNoAlternative:"Par\xE7a veya alternatifler istenen kalitede bulunamad\u0131!",no360RA:"Par\xE7a 360 Derece ger\xE7ek\xE7i ses olarak bulunamad\u0131!",notAvailable:"Par\xE7a Deezer sunucular\u0131nda bulunamad\u0131!",notAvailableNoAlternative:"Par\xE7a veya Alternatifleri Deezer sunucular\u0131nda bulunamad\u0131.!"}},favorites:{title:"Favoriler",noPlaylists:"Oynatma listesi bulunamad\u0131.",noAlbums:"Favori alb\xFCmler bulunamad\u0131.",noArtists:"Favori sanat\xE7\u0131lar bulunamad\u0131.",noTracks:"Favori par\xE7alar bulunamad\u0131."},home:{needTologin:"\u0130ndirmeden \xF6nce Deezer hesab\u0131na giri\u015F yapmal\u0131s\u0131n.",openSettings:"Ayarlar\u0131 A\xE7",sections:{popularPlaylists:"Pop\xFCler Oynatma Listeleri",popularAlbums:"En \xE7ok dinlenen alb\xFCmler"}},linkAnalyzer:{info:"\u0130ndirmeye \xE7al\u0131\u015Ft\u0131\u011F\u0131n link hakk\u0131nda daha fazla bilgi i\xE7in buray\u0131 kullanabilirsin.",useful:"Mesela, \xFClkende dinlenebilir olmayan par\xE7alar\u0131n nerelerde var oldu\u011Funu bulmak i\xE7in kullanabilirsin.",linkNotSupported:"Bu link \u015Fimdilik desteklenmemektedir.",linkNotSupportedYet:"Bu link \u015Fimdilik desteklenmiyor gibi duruyor, ba\u015Fkas\u0131n\u0131 analiz etmeyi dene.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"S\xFCre",diskNumber:"S\u0131ra numaras\u0131",trackNumber:"Par\xE7a numaras\u0131",releaseDate:"Yay\u0131nlanma tarihi",bpm:"BPM",label:"Etiketi",recordType:"Kay\u0131t \u015Eekli",genres:"T\xFCr\xFC",tracklist:"Par\xE7a listesi"}},search:{startSearching:"Aramay\u0131 Ba\u015Flat!",description:"Bir par\xE7ay\u0131, t\xFCm alb\xFCm\xFC, bir sanat\xE7\u0131y\u0131, bir oynatma listesini... k\u0131saca her \u015Feyi aratabilirsin! Ayr\u0131ca Deezer Linki de yap\u0131\u015Ft\u0131rabilirsin!",fans:"{n} Hayranlar",noResults:"Sonu\xE7 Bulunamad\u0131",noResultsTrack:"Par\xE7a bulunamad\u0131",noResultsAlbum:"Alb\xFCm bulunamad\u0131",noResultsArtist:"Sanat\xE7\u0131 bulunamad\u0131",noResultsPlaylist:"Oynatma Listesi bulunamad\u0131"},searchbar:"\u0130stedi\u011Fin bir \u015Feyi arat (ya da bir link yap\u0131\u015Ft\u0131r.)",downloads:"\u0130ndirilenler",toasts:{addedToQueue:"{item} kuyru\u011Fa eklendi",alreadyInQueue:"{item} \xE7oktan kuyrukta!",finishDownload:"{item} indirmesi tamamland\u0131.",allDownloaded:"T\xFCm indirmeler tamamland\u0131!",refreshFavs:"Yenileme tamamland\u0131.!",loggingIn:"Giri\u015F yap\u0131l\u0131yor",loggedIn:"Giri\u015F yap\u0131ld\u0131",alreadyLogged:"\xC7oktan giri\u015F yap\u0131ld\u0131",loginFailed:"Giri\u015F yap\u0131lamad\u0131",loggedOut:"Oturum kapat\u0131ld\u0131.",cancellingCurrentItem:"Ge\xE7erli \xF6\u011Fe iptal ediliyor.",currentItemCancelled:"Ge\xE7erli \xF6\u011Fe iptal edildi.",startAddingArtist:"{artist} alb\xFCm kuyru\u011Fa ekleniyor",finishAddingArtist:"{artist} alb\xFCm kuyru\u011Fa eklendi.",startConvertingSpotifyPlaylist:"Spotify par\xE7alar\u0131 deezer par\xE7alar\u0131na d\xF6n\xFC\u015Ft\xFCr\xFCl\xFCyor.",finishConvertingSpotifyPlaylist:"Spotify oynatma listesi d\xF6n\xFC\u015Ft\xFCr\xFCld\xFC."},settings:{title:"Ayarlar",languages:"Diller",login:{title:"Giri\u015F",loggedIn:"{username} olarak giri\u015F yapt\u0131n.",arl:{question:"Kendi ARL'mi nas\u0131l al\u0131r\u0131m?",update:"ARL g\xFCncelle."},logout:"\xC7\u0131k\u0131\u015F"},appearance:{title:"G\xF6r\xFCn\xFCm",slimDownloadTab:"\u0130nce indirme sekmesi"},downloadPath:{title:"\u0130ndirilen dizin"},templates:{title:"\u015Eablonlar",tracknameTemplate:"Par\xE7a ismi \u015Fablonu",albumTracknameTemplate:"Alb\xFCm par\xE7as\u0131 \u015Fablonu",playlistTracknameTemplate:"Oynatma listesi par\xE7a \u015Fablonu"},folders:{title:"Dosyalar",createPlaylistFolder:"Oynatma listesi i\xE7in dosya olu\u015Ftur",playlistNameTemplate:"Oynatma listesi dosyas\u0131 \u015Fablonu",createArtistFolder:"Sanat\xE7\u0131 i\xE7in dosya olu\u015Ftur",artistNameTemplate:"Sanat\xE7\u0131 dosyas\u0131 \u015Fablonu",createAlbumFolder:"Alb\xFCm i\xE7in dosya olu\u015Ftur",albumNameTemplate:"Alb\xFCm dosyas\u0131 \u015Fablonu",createCDFolder:"CDler i\xE7in dosya olu\u015Ftur",createStructurePlaylist:"Oynatma listeleri i\xE7in dosya k\xF6k\xFC olu\u015Ftur",createSingleFolder:"Singlelar i\xE7in dosya k\xF6k\xFC olu\u015Ftur"},trackTitles:{title:"Par\xE7a ba\u015Fl\u0131klar\u0131",padTracks:"\u0130z Numaralar\u0131",paddingSize:"\u0130z Numaralar\u0131n\u0131 de\u011Fi\u015Ftir",illegalCharacterReplacer:"Illegal Karakter D\xFCzenleyici"},downloads:{title:"\u0130ndirilenler",queueConcurrency:"Devam eden indirmeler",maxBitrate:{title:"Tercih edilmi\u015F Bitrateler (kaliteler)",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dosyalar\u0131n \xFCst\xFCne yazmal\u0131 m\u0131y\u0131m?",y:"Evet, \xFCst\xFCne yaz",n:"Hay\u0131r, \xFCst\xFCne yazma",t:"Sadece izleri \xFCst\xFCne yaz"},fallbackBitrate:"Bitrate d\xFC\u015F\xFCrme",fallbackSearch:"D\xFC\u015F\xFCrme ara",logErrors:"Hatalar i\xE7in g\xFCnl\xFCk tut",logSearched:"Aranm\u0131\u015F par\xE7alar i\xE7in g\xFCnl\xFCk tut",createM3U8File:"Oynatma s\u0131ra listesi olu\u015Ftur",syncedLyrics:".lyr dosyalar\u0131 olu\u015Ftur (Senkronize \u015Fark\u0131 s\xF6zleri)",playlistFilenameTemplate:"Oynatma listesi \u015Fablonu",saveDownloadQueue:"Uygulamay\u0131 kapat\u0131rken indirme kuyru\u011Funu kaydet"},covers:{title:"Alb\xFCm kapaklar\u0131",saveArtwork:"Kapaklar\u0131 kaydet",coverImageTemplate:"Kapak ismi \u015Fablonu",saveArtworkArtist:"Sanat\xE7\u0131 foto\u011Fraf\u0131n\u0131 kaydet",artistImageTemplate:"\u015Eark\u0131c\u0131 foto\u011Fraf \u015Fablonu",localArtworkSize:"Yerel foto\u011Fraf boyutu",embeddedArtworkSize:"G\xF6m\xFCl\xFC foto\u011Fraf boyutu",localArtworkFormat:{title:"Yerel foto\u011Fraf\u0131n hangi formatta olmas\u0131n\u0131 istersin?",jpg:"Jpeg dosyas\u0131",png:"Png dosyas\u0131",both:"Her ikisi"},jpegImageQuality:"JPEG g\xF6r\xFCnt\xFC kalitesi"},tags:{head:"Hangi izler kay\u0131t edilsin?",title:"Ba\u015Fl\u0131k",artist:"Sanat\xE7\u0131",album:"Alb\xFCm",cover:"Kapak",trackNumber:"Par\xE7a Numaras\u0131",trackTotal:"T\xFCm Par\xE7a",discNumber:"Plak Say\u0131s\u0131",discTotal:"T\xFCm Plak",albumArtist:"Sanat\xE7\u0131 Alb\xFCm\xFC",genre:"T\xFCr",year:"Y\u0131l",date:"Tarih",explicit:"Cinsel i\xE7erikli \u015Fark\u0131 s\xF6zleri",isrc:"ISRC",length:"Par\xE7a Uzunlu\u011Fu",barcode:"Alb\xFCm Barkodu (UPC)",bpm:"BPM",replayGain:"Ses Y\xFCksekli\u011Fi Normalle\u015Ftirici",label:"Alb\xFCm Etiketi",lyrics:"Senkronize edilmemi\u015F \u015Fark\u0131 s\xF6zleri",copyright:"Telif hakk\u0131",composer:"Besteleyen",involvedPeople:"Alakal\u0131 Ki\u015Filer"},other:{title:"Di\u011Fer",savePlaylistAsCompilation:"Oynatma listelerini derleme olarak kaydet",useNullSeparator:"Bo\u015Fluk ay\u0131r\u0131c\u0131 kullan",saveID3v1:"ID3v1 dosyas\u0131n\u0131 da kaydet",multiArtistSeparator:{title:"Sanat\xE7\u0131lar\u0131n\u0131z\u0131 nas\u0131l ay\u0131rmak istersiniz?",nothing:"Sadece ana sanat\xE7\u0131y\u0131 kaydet",default:"Genel prosed\xFCr uygulans\u0131n",andFeat:"Kullan\u0131lanlar & ve Feat.",using:'Kullan\u0131lan "{separator}"'},singleAlbumArtist:"Sadece ana alb\xFCm sanat\xE7\u0131s\u0131n\u0131 kaydet",albumVariousArtists:'"\xC7e\u015Fitli sanat\xE7\u0131lar"\u0131 sanat\xE7\u0131 alb\xFCmlerinde tut',removeAlbumVersion:'"Alb\xFCm S\xFCr\xFCm\xFC"n\xFC par\xE7a ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart',removeDuplicateArtists:"Sanat\xE7\u0131 toplulu\u011Funu \xE7\u0131kart",dateFormat:{title:"FLAC dosyalar i\xE7in zaman format\u0131",year:"YYYY",month:"AA",day:"GG"},featuredToTitle:{title:"\xD6ne \xE7\u0131kan sanat\xE7\u0131lar\u0131 ne yapmal\u0131y\u0131m?",0:"Elleme",1:"Ba\u015Fl\u0131ktan \xE7\u0131kart",3:"Ba\u015Fl\u0131ktan ve alb\xFCm ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart",2:"Ba\u015Fl\u0131\u011Fa ta\u015F\u0131"},titleCasing:"Alb\xFCm harfi",artistCasing:"Sanat\xE7\u0131 harfi",casing:{nothing:"De\u011Fi\u015Ftirmeden b\u0131rak",lower:"k\xFC\xE7\xFCk harf",upper:"B\xDCY\xDCK HARF",start:"Kelimenin ba\u015F\u0131 ile ba\u015Fla",sentence:"C\xFCmle gibi yap"},previewVolume:"Ses \xF6nizlemesi",executeCommand:{title:"\u0130ndirdikten sonra komut uygula",description:"Bir \u015Fey yapmamak i\xE7in bo\u015F b\u0131rak"}},spotify:{title:"Spotify \xD6zelli\u011Fi",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify Kullan\u0131c\u0131 Ad\u0131"},reset:"Varsay\u0131lana s\u0131f\u0131rla",save:"Kaydet",toasts:{init:"Ayarlar y\xFCklendi!",update:"Ayarlar g\xFCncellendi!",ARLcopied:"ARL panoya kopyaland\u0131!"}},sidebar:{home:"Ana sayfa",search:"Ara",charts:"Grafikler",favorites:"Favoriler",linkAnalyzer:"Link Analiz\xF6r\xFC",settings:"Ayarlar",about:"Hakk\u0131nda"},tracklist:{downloadSelection:"\u0130ndirme b\xF6l\xFCm\xFC"}},vn={globals:{welcome:"Ch\xE0o m\u1EEBng \u0111\u1EBFn v\u1EDBi deemix",back:"tr\u1EDF l\u1EA1i",loading:"\u0111ang t\u1EA3i",download:"T\u1EA3i xu\u1ED1ng {thing}",by:"b\u1EDFi {artist}",in:"trong {album}",download_hint:"T\u1EA3i xu\u1ED1ng",play_hint:"Ph\xE1t",toggle_download_tab_hint:"M\u1EDF r\u1ED9ng/Gi\u1EA5u",clean_queue_hint:"X\xF3a nh\u1EEFng file \u0111\xE3 t\u1EA3i xong",cancel_queue_hint:"H\u1EE7y t\u1EA5t c\u1EA3",listTabs:{empty:"",all:"t\u1EA5t c\u1EA3",top_result:"k\u1EBFt qu\u1EA3 h\xE0ng \u0111\u1EA7u",album:"album | album",artist:"Ngh\u1EC7 s\u0129 | Ngh\u1EC7 s\u0129",single:"\u0111\u01A1n | \u0111\u01A1n",title:"ti\xEAu \u0111\u1EC1 | ti\xEAu \u0111\u1EC1",track:"B\xE0i h\xE1t | B\xE0i h\xE1t",trackN:"0 B\xE0i h\xE1t | {n} B\xE0i h\xE1t | {n} B\xE0i h\xE1t",releaseN:"0 s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m",playlist:"playlist | playlist",compile:"t\u1ED5ng h\u1EE3p | t\u1ED5ng h\u1EE3p",ep:"ep | ep",spotifyPlaylist:"playlist c\u1EE7a spotify | playlist c\u1EE7a spotify",releaseDate:"ng\xE0y ph\xE1t h\xE0nh",error:"l\u1ED7i"}},about:{titles:{usefulLinks:"Link h\u1EEFu d\u1EE5ng",bugReports:"B\xE1o l\u1ED7i",contributing:"\u0110\xF3ng g\xF3p",donations:"Quy\xEAn g\xF3p",license:"B\u1EB1ng ph\xE9p"},subtitles:{bugReports:"B\u1EA1n th\u1EA5y c\xF3 g\xEC \u0111\xF3 kh\xF4ng ho\u1EA1t \u0111\u1ED9ng trong deemix? Xin h\xE3y b\xE1o v\u1EDBi ch\xFAng t\xF4i!",contributing:"B\u1EA1n mu\u1ED1n \u0111\xF3ng g\xF3p cho d\u1EF1 \xE1n n\xE0y? B\u1EA1n c\xF3 th\u1EC3 l\xE0m \u0111i\u1EC1u \u0111\xF3 v\u1EDBi nhi\u1EC1u c\xE1ch kh\xE1c nhau!",donations:"B\u1EA1n mu\u1ED1n \u1EE7ng h\u1ED9 kinh ph\xED? B\u1EA1n c\xF3 th\u1EC3 quy\xEAn g\xF3p t\u1EA1i \u0111\xE2y!"},usesLibrary:"\u1EE8ng d\u1EE5ng n\xE0y s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n deemix, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng n\xF3 \u0111\u1EC3 t\u1EA1o m\u1ED9t UI ri\xEAng cho deemix.",thanks:"C\u1EA3m \u01A1n rtonno, uhwot v\xE0 lollilol \u0111\xE3 gi\xFAp t\xF4i v\u1EDBi d\u1EF1 \xE1n n\xE0y v\xE0 BasCurtiz v\u1EDBi vi\u1EC7c thi\u1EBFt k\u1EBF bi\u1EC3u t\u01B0\u1EE3ng.",upToDate:{text:"C\u1EADp nh\u1EADt app b\u1EB1ng c\xE1ch theo d\xF5i {newsChannel} tr\xEAn Telegram.",newsChannel:"k\xEAnh tin t\u1EE9c"},officialWebsite:"Website ch\xEDnh th\u1EE9c",officialRepo:"Repo th\u01B0 vi\u1EC7n ch\xEDnh th\u1EE9c",officialWebuiRepo:"Repo WebUI ch\xEDnh th\u1EE9c",officialSubreddit:"Subreddit ch\xEDnh th\u1EE9c",newsChannel:"K\xEAnh tin t\u1EE9c",questions:{text:"N\u1EBFu b\u1EA1n c\xF3 c\xE2u h\u1ECFi ho\u1EB7c v\u1EA5n \u0111\u1EC1 v\u1EC1 \u1EE9ng d\u1EE5ng n\xE0y, xin h\xE3y t\xECm gi\u1EA3i ph\xE1p tr\xEAn {subreddit} tr\u01B0\u1EDBc. Sau \u0111\xF3, n\u1EBFu b\u1EA1n kh\xF4ng t\xECm \u0111\u01B0\u1EE3c g\xEC th\xEC b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t b\xE0i \u0111\u0103ng v\u1EC1 v\u1EA5n \u0111\u1EC1 c\u1EE7a b\u1EA1n tr\xEAn subreddit d\xF3.",subreddit:"subreddit"},beforeReporting:"Tr\u01B0\u1EDBc khi b\xE1o l\u1ED7i h\xE3y \u0111\u1EA3m b\u1EA3o b\u1EA1n \u0111ang s\u1EED d\u1EE5ng phi\xEAn b\u1EA3n m\u1EDBi nh\u1EA5t c\u1EE7a \u1EE9ng d\u1EE5ng v\xE0 l\u1ED7i b\u1EA1n \u0111ang g\u1EB7p kh\xF4ng ph\u1EA3i l\xE0 do b\u1EA1n.",beSure:"H\xE3y \u0111\u1EA3m b\u1EA3o l\xE0 l\u1ED7i n\xE0y v\u1EABn c\xF3 th\u1EC3 x\u1EA3y ra tr\xEAn c\xE1c thi\u1EBFt b\u1ECB kh\xE1c v\xE0 XIN \u0110\u1EEANG b\xE1o l\u1ED7i \u0111\xE3 \u0111\u01B0\u1EE3c b\xE1o r\u1ED3i.",duplicateReports:"Nh\u1EEFng b\u1EA3n b\xE1o l\u1ED7i tr\xF9ng nhau s\u1EBD b\u1ECB \u0111\xF3ng, xin b\u1EA1n h\xE3y \u0111\u1EC3 \xFD \u0111i\u1EC1u n\xE0y.",dontOpenIssues:"XIN \u0110\u1EEANG m\u1EDF v\u1EA5n \u0111\u1EC1 \u0111\u1EC3 h\u1ECFi, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng subreddit tr\xEAn cho vi\u1EC7c \u0111\xF3.",newUI:{text:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi python b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t UI m\u1EDBi b\u1EB1ng c\xE1ch s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n g\u1ED1c, ho\u1EB7c s\u1EEDa l\u1ED7i trong th\u01B0 vi\u1EC7n \u0111\xF3 v\u1EDBi m\u1ED9t pull request tr\xEAn {repo}.",repo:"repo n\xE0y"},acceptFeatures:"T\xF4i c\xF3 ch\u1EA5p nh\u1EADn y\xEAu c\u1EA7u v\u1EC1 t\xEDnh n\u0103ng m\u1EDBi nh\u01B0ng kh\xF4ng qu\xE1 ph\u1EE9c t\u1EA1p b\u1EDFi v\xEC ch\xFAng c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c tri\u1EC3n khai tr\u1EF1c ti\u1EBFp v\xE0o \u1EE9ng d\u1EE5ng thay v\xEC v\xE0o th\u01B0 vi\u1EC7n.",otherLanguages:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi m\u1ED9t ng\xF4n ng\u1EEF kh\xE1c, b\u1EA1n c\xF3 th\u1EC3 port deemix sang ng\xF4n ng\u1EEF \u0111\xF3!",understandingCode:"B\u1EA1n mu\u1ED1n hi\u1EC3u code c\u1EE7a deemix? Xin h\xE3y li\xEAn l\u1EA1c RemixDev tr\xEAn Telegram ho\u1EB7c Reddit.",contributeWebUI:{text:"N\u1EBFu b\u1EA1n bi\u1EBFt Vue.js (JavaScript), HTML ho\u1EB7c CSS, b\u1EA1n c\xF3 th\u1EC3 g\xF3p ph\u1EA7n ph\xE1t tri\u1EC3n {webui}.",webui:"WebUI"},itsFree:"B\u1EA1n n\xEAn nh\u1EDB r\u1EB1ng \u0111\xE2y l\xE0 m\u1ED9t d\u1EF1 \xE1n phi l\u1EE3i nhu\u1EADn v\xE0 b\u1EA1n n\xEAn \u1EE7ng h\u1ED9 nh\u1EEFng Ngh\u1EC7 s\u0129 y\xEAu th\xEDch c\u1EE7a b\u1EA1n tr\u01B0\u1EDBc khi \u1EE7ng h\u1ED9 nh\xE0 ph\xE1t tri\u1EC3n.",notObligated:"\u0110\u1EEBng ngh\u0129 r\u1EB1ng b\u1EA1n ph\u1EA3i \u0111\xF3ng g\xF3p ti\u1EC1n, t\xF4i v\u1EABn s\u1EBD r\u1EA5t bi\u1EBFt \u01A1n b\u1EA1n!",lincensedUnder:{text:"D\u1EF1 \xE1n n\xE0y \u0111\u01B0\u1EE3c c\u1EA5p ph\xE9p b\u1EDFi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"B\u1EA3ng x\u1EBFp h\u1EA1ng",changeCountry:"Thay \u0111\u1ED5i qu\u1ED1c gia",download:"T\u1EA3i xu\u1ED1ng b\u1EA3ng x\u1EBFp h\u1EA1ng n\xE0y"},errors:{title:"L\u1ED7i {name}",ids:{invalidURL:"Kh\xF4ng nh\u1EADn di\u1EC7n \u0111\u01B0\u1EE3c URL",unsupportedURL:"URL n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",ISRCnotOnDeezer:"ISRC c\u1EE7a b\xE0i h\xE1t n\xE0y hi\u1EC7n kh\xF4ng c\xF3 tr\xEAn Deezer",notYourPrivatePlaylist:"B\u1EA1n kh\xF4ng th\u1EC3 t\u1EA3i xu\u1ED1ng playlist ri\xEAng c\u1EE7a ng\u01B0\u1EDDi kh\xE1c.",spotifyDisabled:"Ch\u1EE9c n\u0103ng Spotify ch\u01B0a \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp \u0111\xFAng c\xE1ch.",trackNotOnDeezer:"B\xE0i h\xE1t kh\xF4ng c\xF3 tr\xEAn Deezer!",albumNotOnDeezer:"Album kh\xF4ng c\xF3 tr\xEAn Deezer!",notOnDeezer:"B\xE0i h\xE1t ch\u01B0a c\xF3 tr\xEAn Deezer!",notEncoded:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode!",notEncodedNoAlternative:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",wrongBitrate:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n.",wrongBitrateNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",no360RA:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF d\u1EA1ng Reality Audio 360.",notAvailable:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer!",notAvailableNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!"}},favorites:{title:"Y\xEAu th\xEDch",noPlaylists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Playlist",noAlbums:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Album Y\xEAu th\xEDch",noArtists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Ngh\u1EC7 s\u0129 Y\xEAu th\xEDch",noTracks:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c B\xE0i h\xE1t Y\xEAu th\xEDch"},home:{needTologin:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Deezer tr\u01B0\u1EDBc khi b\u1EAFt \u0111\u1EA7u t\u1EA3i xu\u1ED1ng.",openSettings:"M\u1EDF C\xE0i \u0111\u1EB7t",sections:{popularPlaylists:"Playlist N\u1ED5i ti\u1EBFng",popularAlbums:"Album \u0111\u01B0\u1EE3c stream nhi\u1EC1u nh\u1EA5t"}},linkAnalyzer:{info:"B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng ch\u1EE9c n\u0103ng n\xE0y \u0111\u1EC3 ki\u1EBFm th\xEAm th\xF4ng tin v\u1EC1 \u0111\u01B0\u1EDDng link m\xE0 b\u1EA1n mu\u1ED1n t\u1EA3i xu\u1ED1ng.",useful:"Ch\u1EE9c n\u0103ng n\xE0y r\u1EA5t h\u1EEFu d\u1EE5ng n\u1EBFu b\u1EA1n mu\u1ED1n t\u1EA3i c\xE1c b\xE0i h\xE1t hi\u1EC7n kh\xF4ng c\xF3 s\u1EB5n \u1EDF qu\u1ED1c gia c\u1EE7a b\u1EA1n v\xE0 mu\u1ED1n bi\u1EBFt c\xE1c qu\u1ED1c gia \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3.",linkNotSupported:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",linkNotSupportedYet:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3, xin h\xE3y th\u1EED l\u1EA1i v\u1EDBi m\u1ED9t \u0111\u01B0\u1EDDng link kh\xE1c.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Th\u1EDDi l\u01B0\u1EE3ng",diskNumber:"S\u1ED1 \u0111\u0129a",trackNumber:"S\u1ED1 b\xE0i h\xE1t",releaseDate:"Ng\xE0y ph\xE1t h\xE0nh",bpm:"BPM",label:"H\xE3ng",recordType:"Lo\u1EA1i Thu \xE2m",genres:"Th\u1EC3 lo\u1EA1i",tracklist:"Danh s\xE1ch c\xE1c b\xE0i h\xE1t"}},search:{startSearching:"B\u1EAFt \u0111\u1EA7u t\xECm ki\u1EBFm!",description:"B\u1EA1n c\xF3 th\u1EC3 t\xECm m\u1ED9t b\xE0i h\xE1t, album, ngh\u1EC7 s\u0129, playlist, v.v...! B\u1EA1n c\u0169ng c\xF3 th\u1EC3 d\xF9ng link c\u1EE7a Deezer",fans:"{n} ng\u01B0\u1EDDi h\xE2m m\u1ED9",noResults:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",noResultsTrack:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c b\xE0i h\xE1t n\xE0o",noResultsAlbum:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c album n\xE0o",noResultsArtist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c ngh\u1EC7 s\u0129 n\xE0o",noResultsPlaylist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c playlist n\xE0o"},searchbar:"T\xECm nh\u1EEFng g\xEC b\u1EA1n mu\u1ED1n (b\u1EA1n c\u0169ng c\xF3 th\u1EC3 s\u1EEF d\u1EE5ng m\u1ED9t \u0111\u01B0\u1EDDng link)",downloads:"T\u1EA3i xu\u1ED1ng",toasts:{addedToQueue:"{item} \u0111\xE3 \u0111\u01B0\u1EE3c \u0111\u01B0a v\xE0o h\xE0ng ch\u1EDD",alreadyInQueue:"{item} \u0111\xE3 \u0111ang trong h\xE0ng ch\u1EDD!",finishDownload:"{item} \u0111\xE3 t\u1EA3i xong.",allDownloaded:"T\u1EA5t c\u1EA3 c\xE1c b\xE0i h\xE1t \u0111\xE3 \u0111\u01B0\u1EE3c t\u1EA3i xu\u1ED1ng!",refreshFavs:"T\u1EA3i l\u1EA1i ho\xE0n t\u1EA5t!",loggingIn:"\u0110ang \u0111\u0103ng nh\u1EADp",loggedIn:"\u0110\u0103ng nh\u1EADp th\xE0nh c\xF4ng",alreadyLogged:"\u0110\xE3 \u0111\u0103ng nh\u1EADp",loginFailed:"Kh\xF4ng th\u1EC3 \u0111\u0103ng nh\u1EADp",loggedOut:"\u0110\u0103ng xu\u1EA5t",cancellingCurrentItem:"\u0110ang h\u1EE7y file hi\u1EC7n t\u1EA1i.",currentItemCancelled:"File hi\u1EC7n t\u1EA1i \u0111\xE3 b\u1ECB h\u1EE7y.",startAddingArtist:"\u0110ang \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",finishAddingArtist:"\u0110\xE3 \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",startConvertingSpotifyPlaylist:"\u0110ang chuy\u1EC3n \u0111\u1ED5i c\xE1c b\xE0i h\xE1t t\u1EEB Spotify sang Deezer",finishConvertingSpotifyPlaylist:"Playlist c\u1EE7a Spotify \u0111\xE3 \u0111\u01B0\u1EE3c chuy\u1EC3n \u0111\u1ED5i",loginNeededToDownload:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111ang nh\u1EADp \u0111\u1EC3 t\u1EA3i nh\u1EA1c!"},settings:{title:"C\xE0i \u0111\u1EB7t",languages:"Ng\xF4n ng\u1EEF",login:{title:"\u0110\u0103ng nh\u1EADp",loggedIn:"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp v\u1EDBi t\xEAn {username}",arl:{question:"L\xE0m c\xE1ch n\xE0o \u0111\u1EC3 c\xF3 ARL c\u1EE7a t\xF4i?",update:"C\u1EADp nh\u1EADt ARL"},logout:"\u0110\u0103ng xu\u1EA5t"},appearance:{title:"Giao di\u1EC7n",slimDownloadTab:"Thanh t\u1EA3i xu\u1ED1ng nh\u1ECF"},downloadPath:{title:"N\u01A1i t\u1EA3i xu\u1ED1ng"},templates:{title:"B\u1EA3n m\u1EABu",tracknameTemplate:"B\xE0i h\xE1t m\u1EABu",albumTracknameTemplate:"B\xE0i h\xE1t trong album m\u1EABu",playlistTracknameTemplate:"B\xE0i h\xE1t trong playlist m\u1EABu"},folders:{title:"Th\u01B0 m\u1EE5c",createPlaylistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho playlist",playlistNameTemplate:"Th\u01B0 m\u1EE5c playlist m\u1EABu",createArtistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho ngh\u1EC7 s\u0129",artistNameTemplate:"Th\u01B0 m\u1EE5c Ngh\u1EC7 s\u0129 m\u1EABu",createAlbumFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho album",albumNameTemplate:"Th\u01B0 m\u1EE5c cho album m\u1EABu",createCDFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho \u0111\u0129a CD",createStructurePlaylist:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho playlist",createSingleFolder:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho \u0111\u0129a \u0111\u01A1n"},trackTitles:{title:"T\xEAn b\xE0i h\xE1t",padTracks:"\u0110\u1EC7m t\xEAn b\xE0i h\xE1t",paddingSize:"Gh\xEC \u0111\xE8 k\xEDch c\u1EE1 ph\u1EA7n \u0111\u1EC7m",illegalCharacterReplacer:"Thay c\xE1c k\xED t\u1EF1 kh\xF4ng h\u1EE3p l\u1EC7 v\u1EDBi"},downloads:{title:"T\u1EA3i xu\u1ED1ng",queueConcurrency:"S\u1ED1 l\u01B0\u1EE3ng t\u1EA3i xu\u1ED1ng c\xF9ng l\xFAc",maxBitrate:{title:"Bitrate \u01B0a th\xEDch",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"T\xF4i c\xF3 n\xEAn ghi \u0111\xE8 file n\xE0y kh\xF4ng?",y:"C\xF3, h\xE3y ghi \u0111\xE8 file n\xE0y",n:"Kh\xF4ng, \u0111\u1EEBng ghi \u0111\xE8 file n\xE0y",t:"Ch\u1EC9 ghi \u0111\xE8 c\xE1c tag"},fallbackBitrate:"Bitrate d\u1EF1 ph\xF2ng",fallbackSearch:"Search d\u1EF1 ph\xF2ng",logErrors:"T\u1EA1o file log khi c\xF3 l\u1ED7i",logSearched:"T\u1EA1o file log khi b\u1EA1n t\xECm B\xE0i h\xE1t",createM3U8File:"T\u1EA1o file playlist",syncedLyrics:"T\u1EA1o file .lyr (L\u1EDDi B\xE0i h\xE1t)",playlistFilenameTemplate:"T\xEAn playlist m\u1EABu",saveDownloadQueue:"L\u01B0u h\xE0ng ch\u1EDD download khi \u0111\xF3ng \u1EE9ng d\u1EE5ng"},covers:{title:"B\xECa album",saveArtwork:"L\u01B0u b\xECa",coverImageTemplate:"T\xEAn b\xECa m\u1EABu",saveArtworkArtist:"L\u01B0u h\xECnh Ngh\u1EC7 s\u0129",artistImageTemplate:"H\xECnh ngh\u1EC7 s\u0129 m\u1EABu",localArtworkSize:"K\xEDch c\u1EE1 file b\xECa",embeddedArtworkSize:"K\xEDch c\u1EE1 b\xECa trong file b\xE0i h\xE1t",localArtworkFormat:{title:"B\u1EA1n mu\u1ED1n file b\xECa \u1EDF \u0111\u1ECBnh d\u1EA1ng n\xE0o?",jpg:"jpg",png:"png",both:"C\u1EA3 jpg v\xE0 png"},jpegImageQuality:"Ch\u1EA5t l\u01B0\u1EE3ng file JPEG"},tags:{head:"Nh\u1EEFng tag s\u1EBD \u0111\u01B0\u1EE3c l\u01B0u",title:"Ti\xEAu \u0111\u1EC1",artist:"Ngh\u1EC7 s\u0129",album:"Album",cover:"B\xECa",trackNumber:"S\u1ED1 b\xE0i h\xE1t",trackTotal:"T\u1ED5ng s\u1ED1 b\xE0i h\xE1t",discNumber:"S\u1ED1 \u0111\u0129a",discTotal:"T\u1ED5ng s\u1ED1 \u0111\u0129a",albumArtist:"Ngh\u1EC7 s\u0129 c\u1EE7a album",genre:"Th\u1EC3 lo\u1EA1i",year:"N\u0103m",date:"Ng\xE0y",explicit:"L\u1EDDi explicit",isrc:"ISRC",length:"Th\u1EDDi l\u01B0\u1EE3ng",barcode:"M\xE3 v\u1EA1ch c\u1EE7a album (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Nh\xE3n hi\u1EC7u album",lyrics:"L\u1EDDi",copyright:"B\u1EA3n quy\u1EC1n",composer:"Nh\xE0 so\u1EA1n nh\u1EA1c",involvedPeople:"Nh\u1EEFng ng\u01B0\u1EDDi li\xEAn quan"},other:{title:"Kh\xE1c",savePlaylistAsCompilation:"L\u01B0u playlist d\u01B0\u1EDBi d\u1EA1ng tuy\u1EC3n t\u1EADp",useNullSeparator:"D\xF9ng d\u1EA3i ph\xE2n c\xE1ch null",saveID3v1:"L\u01B0u ID3v1",multiArtistSeparator:{title:"B\u1EA1n mu\u1ED1n ph\xE2n c\xE1ch c\xE1c ngh\u1EC7 s\u0129 nh\u01B0 th\u1EBF n\xE0o?",nothing:"Ch\u1EC9 l\u01B0u ngh\u1EC7 s\u0129 ch\xEDnh",default:"D\xF9ng quy c\xE1ch ti\xEAu chu\u1EA9n",andFeat:"D\xF9ng & v\xE0 feat.",using:'D\xF9ng "{separator}"'},singleAlbumArtist:"Ch\u1EC9 l\u01B0u Ngh\u1EC7 s\u0129 Album ch\xEDnh",albumVariousArtists:'Gi\u1EEF nguy\xEAn "Nhi\u1EC1u Ngh\u1EC7 s\u0129" trong Ngh\u1EC7 s\u0129 Album',removeAlbumVersion:'B\u1ECF "Phi\xEAn b\u1EA3n Album" kh\u1ECFi t\xEAn b\xE0i h\xE1t',removeDuplicateArtists:"B\u1ECF c\xE1c t\xEAn ngh\u1EC7 s\u0129 ph\u1ED1i h\u1EE3p",dateFormat:{title:"\u0110\u1ECBnh d\u1EA1ng ng\xE0y cho file FLAC ",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"T\xF4i n\xEAn l\xE0m g\xEC v\u1EDBi c\xE1c ngh\u1EC7 s\u0129 \u0111\xF3ng g\xF3p?",0:"Kh\xF4ng l\xE0m g\xEC c\u1EA3",1:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t",3:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t v\xE0 t\xEAn album",2:"\u0110\u01B0a ch\xFAng v\xE0o t\xEAn b\xE0i h\xE1t"},titleCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn b\xE0i h\xE1t",artistCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn ngh\u1EC7 s\u0129",casing:{nothing:"Kh\xF4ng \u0111\u1ED5i",lower:"ch\u1EEF th\u01B0\u1EDDng",upper:"CH\u1EEE HOA",start:"Vi\u1EBFt Hoa \u1EDE Ch\u1EEF C\xE1i \u0110\u1EA7u Ti\xEAn C\u1EE7a M\u1ED7i T\u1EEB",sentence:"Nh\u01B0 m\u1ED9t c\xE2u"},previewVolume:"\xC2m l\u01B0\u1EE3ng nghe th\u1EED",executeCommand:{title:"Th\u1EF1c hi\u1EC7n nh\u1EEFng l\u1EC7nh n\xE0y khi \u0111\xE3 t\u1EA3i xu\u1ED1ng xong",description:"\u0110\u1EC3 tr\u1ED1ng n\u1EBFu b\u1EA1n kh\xF4ng mu\u1ED1n th\u1EF1c hi\u1EC7n l\u1EC7nh n\xE0o"}},spotify:{title:"Ch\u1EE9c n\u0103ng Spotify",clientID:"ClientID c\u1EE7a Spotify",clientSecret:"Client Secret c\u1EE7a Spotify",username:"T\xEAn t\xE0i kho\u1EA3n c\u1EE7a Spotify"},reset:"Quay tr\u1EDF l\u1EA1i c\xE0i \u0111\u1EB7t m\u1EB7c \u0111\u1ECBnh",save:"L\u01B0u",toasts:{init:"C\xE0i \u0111\u1EB7t \u0111\xE3 \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp!",update:"C\xE0i \u0111\u1EB7t c\u1EADp nh\u1EADt th\xE0nh c\xF4ng!",ARLcopied:"ARL \u0111\xE3 \u0111\u01B0\u1EE3c sao ch\xE9p v\xE0o clipboard"}},sidebar:{home:"trang ch\u1EE7",search:"t\xECm ki\u1EBFm",charts:"b\u1EA3ng x\u1EBFp h\u1EA1ng",favorites:"y\xEAu th\xEDch",linkAnalyzer:"ph\xE2n t\xEDch link",settings:"c\xE0i \u0111\u1EB7t",about:"th\xF4ng tin"},tracklist:{downloadSelection:"T\u1EA3i xu\u1ED1ng nh\u1EEFng m\u1EE5c \u0111\xE3 ch\u1ECDn"}},hr={globals:{welcome:"Dobrodo\u0161li u deemix",back:"nazad",loading:"u\u010Ditavanje",download:"Preuzmi {thing}",by:"by {artist}",in:"u {album}",download_hint:"Preuzmi",play_hint:"Play",toggle_download_tab_hint:"Pro\u0161iri/Smanji",clean_queue_hint:"\u010Ci\u0161\u0107enje zavr\u0161eno",cancel_queue_hint:"Zaustavi sve",listTabs:{empty:"",all:"sve",top_result:"Najbolji rezultat",album:"album | albumi",artist:"izvo\u0111a\u010D | izvo\u0111a\u010Di",single:"singl | singlovi",title:"naslov | naslovi",track:"pjesma | pjesme",trackN:"0 pjesmi | {n} pjesma | {n} pjesme",releaseN:"0 izdanja | {n} izdanje | {n} izdanja",playlist:"playlista | playliste",compile:"kompilacija | kompilacije",ep:"ep | eps",spotifyPlaylist:"spotify playlista | spotify playliste",releaseDate:"datum izdavanja",error:"gre\u0161ka"}},about:{titles:{usefulLinks:"Korisne poveznice",bugReports:"Prijave gre\u0161aka",contributing:"Doprinosi",donations:"Donacije",license:"Licenca"},subtitles:{bugReports:"Postoji ne\u0161to \u0161to ne radi u deemixu? Reci nam!",contributing:"\u017Deli\u0161 doprinijeti ovom projektu? Mo\u017Ee\u0161 i to \u010Dak u vi\u0161e na\u010Dina!",donations:"\u017Deli\u0161 doprijeniti odmah? Mo\u017Ee\u0161 donirati!"},usesLibrary:"Ova aplikacija koristi deemix biblioteku, koju mo\u017Ee\u0161 koristiti i ti kako bi napravio svoj UI za demix.",thanks:"Hvala rtonno, uhwot i lollilol \u0161to su mi pomogli s ovim projektom te BasCurtiz \u0161to su napravili ikonu.",upToDate:{text:"Ostani u tijeku s nadogradnjama prate\u0107i {newsChannel} na Telegramu.",newsChannel:"kanal s novostima"},officialWebsite:"Slu\u017Ebena web stranica",officialRepo:"Slu\u017Ebeni repozitorij biblioteke",officialWebuiRepo:"Slu\u017Ebeni WebUI repozitorij",officialSubreddit:"Slu\u017Ebeni subreddit",newsChannel:"Kanal s novostima",questions:{text:"Ukoliko imate pitanja o aplikaciji, prvo potra\u017Eite rije\u0161enje na {subreddit}. Tada, ako ne prona\u0111ete ni\u0161ta, mo\u017Eete objaviti svoj problem na subredditu.",subreddit:"subreddit"},beforeReporting:"Prije prijavljivanja gre\u0161ke provjerite imate li instaliranu zadnju verziju aplikacije i da to \u0161to \u017Eelite prijaviti je ustvari pogre\u0161ka, a ne ne\u0161to \u0161to samo vama ne radi.",beSure:"Provjerite mo\u017Ee li se pogre\u0161ka reproducirati i na drugim ure\u0111ajima i tako\u0111er NEMOJTE prijavljivati gre\u0161ku ako je ve\u0107 prijavljena.",duplicateReports:"Duplicirane prijave o gre\u0161ki bit \u0107e zatvorene, tako da pripazite na to.",dontOpenIssues:"NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.",newUI:{text:"Ako ste vje\u0161ti u pythonu mo\u017Eete probati napraviti novi UI za aplikaciju koriste\u0107i osnovnu biblioteku ili ispraviti pogre\u0161ku u biblioteci sa pull zahtjevom na {repo}.",repo:"repozitoriju"},acceptFeatures:"Prihava\u0107am i zna\u010Dajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.",otherLanguages:"Ako ste vje\u0161ti u drugom programskom jezikumo\u017Eete probati portati deemix u drugi programski jezik!",understandingCode:"Trebate pomo\u0107 s razumijevanjem koda? Samo potra\u017Ei RemixDev na Telegramu ili Redditu.",contributeWebUI:{text:"Ako zna\u0161 Vue.js (JavaScript), HTML ili CSS mo\u017Eete doprinijeti za {webui}.",webui:"WebUI"},itsFree:"Trebate zapamtiti da je ovo besplatni projekt i trebali biste podr\u017Eati autore koje volite prije podr\u017Eavanja developera.",notObligated:"Nemojte se osje\u0107ati obveznim darivati, svejedno vas cijenim!",lincensedUnder:{text:"Ovaj rad licenciran je unutar {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Ljestvice",changeCountry:"Promijeni dr\u017Eavu",download:"Preuzmi ljestvicu"},errors:{title:"Gre\u0161ke za {name}",ids:{invalidURL:"URL nije prepoznat",unsupportedURL:"URL jo\u0161 nije podr\u017Ean",ISRCnotOnDeezer:"Zapis ISRC jo\u0161 nije podr\u017Ean na Deezeru",notYourPrivatePlaylist:"Ne mo\u017Eete preuzeti tu\u0111e privatne playliste.",spotifyDisabled:"Spotify zna\u010Dajke nisu pode\u0161ene ispravno.",trackNotOnDeezer:"Pjesma nije prona\u0111ena na Deezeru!",albumNotOnDeezer:"Album nije prona\u0111en na Deezeru!",notOnDeezer:"Pjesma nije dostupna na Deezeru!",notEncoded:"Pjesma jo\u0161 nije enkodirana!",notEncodedNoAlternative:"Pjesma jo\u0161 nije enkodirana i nije prona\u0111ena alternativa!",wrongBitrate:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu.",wrongBitrateNoAlternative:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu i nije prona\u0111ena alternativa!",no360RA:"Pjesma nije dostupna u Reality Audio 360.",notAvailable:"Pjesma nije dostupna na Deezerovim serverima!",notAvailableNoAlternative:"Pjesma nije dostupna na Deezerovim serverima i alternativa nije prona\u0111ena!"}},favorites:{title:"Favoriti",noPlaylists:"Nisu prona\u0111ene playliste",noAlbums:"Omiljeni albumi nisu prona\u0111eni",noArtists:"Omiljeni glazbenici nisu prona\u0111eni",noTracks:"Omiljene pjesme nisu prona\u0111ene"},home:{needTologin:"Trebate se prijaviti sa svojim Deezer ra\u010Dunom kako biste mogli po\u010Deti preuzimati pjesme.",openSettings:"Otvori postavke",sections:{popularPlaylists:"Popularne playliste",popularAlbums:"Najpreslu\u0161aniji album"}},linkAnalyzer:{info:"Ovu sekciju mo\u017Eete koristiti kako biste saznali vi\u0161e informacija o linku koji poku\u0161avate preuzeti.",useful:"Ovo je korisno ako poku\u0161avate preuzeti pjesme koje jo\u0161 nisu dostupne u va\u0161oj zemlji i \u017Eelite, na primjer, znati gdje su dostupne.",linkNotSupported:"Ovaj link jo\u0161 nije podr\u017Ean",linkNotSupportedYet:"\u010Cini se da ovaj link jo\u0161 nije podr\u017Ean, poku\u0161aj analizirati neki drugi.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Trajanje",diskNumber:"Broj diska",trackNumber:"Broj pjesme",releaseDate:"Datum izadavanja",bpm:"BPM",label:"Izdava\u010Dka ku\u0107a",recordType:"Vrsta zapisa",genres:"\u017Danrovi",tracklist:"Popis pjesama"}},search:{startSearching:"Po\u010Dni pretra\u017Eivati!",description:"Mo\u017Eete pretra\u017Eiti pjesmu, cijeli album, izvo\u0111a\u010Da, playlistu... sve! Tako\u0111er, mo\u017Eete i zalijepiti Deezer link",fans:"{n} obo\u017Eavatelja",noResults:"Nema rezultata",noResultsTrack:"Pjesme nisu prona\u0111ene",noResultsAlbum:"Albumi nisu prona\u0111eni",noResultsArtist:"Izvo\u0111a\u010Di nisu prona\u0111eni",noResultsPlaylist:"Playliste nisu prona\u0111ene"},searchbar:"Pretra\u017Ei bilo \u0161to (ili samo zalijepi link)",downloads:"preuzimanja",toasts:{addedToQueue:"{item} dodan u red",alreadyInQueue:"{item} je ve\u0107 u redu!",finishDownload:"{item} zavr\u0161eno preuzimanje.",allDownloaded:"Sva preuzimanja zavr\u0161ena!",refreshFavs:"Osvje\u017Eavanje zavr\u0161eno!",loggingIn:"Prijavljivanje...",loggedIn:"Prijavljeni",alreadyLogged:"Ve\u0107 prijavljeni",loginFailed:"Prijava nije bila mogu\u0107a",loggedOut:"Odjavljeni",cancellingCurrentItem:"Otkazujem trenutnu stavku.",currentItemCancelled:"Trenutna stavka otkazana.",startAddingArtist:"Dodajem {artist} album u red",finishAddingArtist:"Dodan {artist} album u red",startConvertingSpotifyPlaylist:"Pretvaram Spotify pjesme u Deezer pjesme",finishConvertingSpotifyPlaylist:"Spotify playlista pretvorena",loginNeededToDownload:"Trebate se prijaviti kako bi preuzeli pjesme!"},settings:{title:"Postavke",languages:"Jezici",login:{title:"Prijava",loggedIn:"Prijavljeni ste kao {username}",arl:{question:"Kako da dobijem svoj ARL?",update:"A\u017Euriraj ARL"},logout:"Odjavi se"},appearance:{title:"Izgled",slimDownloadTab:"Tanka kartica za preuzimanje"},downloadPath:{title:"Putanja za preuzimanja"},templates:{title:"Predlo\u0161ci",tracknameTemplate:"Naziv pjesme predlo\u017Eak",albumTracknameTemplate:"Pjesma albuma predlo\u017Eak",playlistTracknameTemplate:"Pjesma playliste predlo\u017Eak"},folders:{title:"Mape",createPlaylistFolder:"Izradi mapu za playliste",playlistNameTemplate:"Mapa za playliste predlo\u017Eak",createArtistFolder:"Izradi mapu za izvo\u0111a\u010Da",artistNameTemplate:"Izvo\u0111a\u010D mapa predlo\u017Eak",createAlbumFolder:"Izradi mapu za album",albumNameTemplate:"Album mapa predlo\u017Eak",createCDFolder:"Izradi mapu za CD",createStructurePlaylist:"Strkturiraj mape za playliste",createSingleFolder:"Strukturiraj mape za singlove"},trackTitles:{title:"Naslovi pjesama",padTracks:"Pad tracks",paddingSize:"Prepi\u0161i veli\u010Dinu paddinga",illegalCharacterReplacer:"Zamjena za nedozvoljeni znak"},downloads:{title:"Preuzimanja",queueConcurrency:"Istovremena preuzimanja",maxBitrate:{title:"\u017Deljeni bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Trebam li prepisati datoteke?",y:"Da, prepi\u0161i datoteke",n:"Ne, nemoj prepisati datoteke",t:"Prepi\u0161i samo oznake",b:"Ne, zadr\u017Ei obje datoteke i dodaj broj duplikatu"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Pretra\u017Eivanje fallback",logErrors:"Izradi zapisnik datoteku za gre\u0161ke",logSearched:"Izradi zapisnik datoteku za pretra\u017Eene pjesme",createM3U8File:"Izradi playlist datoteku",syncedLyrics:"Izradi .lyr datoteke (sinkronizirani lyrics)",playlistFilenameTemplate:"Naziv playliste predlo\u017Eak",saveDownloadQueue:"Spremi red za preuzimanje prilikom zatvaranja aplikacije"},covers:{title:"Omoti albuma",saveArtwork:"Spremi omote",coverImageTemplate:"Naziv omota predlo\u017Eak",saveArtworkArtist:"Spremi sliku izvo\u0111a\u010Da",artistImageTemplate:"Slika izvo\u0111a\u010Da predlo\u017Eak",localArtworkSize:"Veli\u010Dina lokalnog omota",embeddedArtworkSize:"Veli\u010Dina ugra\u0111enog omota",localArtworkFormat:{title:"U kojem formatu \u017Eelite lokalni omot?",jpg:"Jpeg slika",png:"Png slika",both:"I jpeg i png"},jpegImageQuality:"JPEG kvaliteta slike"},tags:{head:"Koja oznake spremam",title:"Naslovi",artist:"Izvo\u0111a\u010D",album:"Album",cover:"Omot",trackNumber:"Broj pjesme",trackTotal:"Ukupno pjesama",discNumber:"Broj diska",discTotal:"Ukupno diskova",albumArtist:"Izvo\u0111a\u010D albuma",genre:"\u017Danr",year:"Godina",date:"Datum",explicit:"Eksplicitni lyrics",isrc:"ISRC",length:"Du\u017Eina pjesme",barcode:"Album barkod (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Izdava\u010Dka ku\u0107a albuma",lyrics:"Nesinkronizirani lyrics",copyright:"Autorska prava",composer:"Skladatelj",involvedPeople:"Uklju\u010Deni ljudi"},other:{title:"Ostalo",savePlaylistAsCompilation:"Spremi playliste kao kompilacije",useNullSeparator:"Koristi null razdvojnik",saveID3v1:"Spremi i ID3v1 tako\u0111er",multiArtistSeparator:{title:"Kako biste \u017Eeljeli razdvojiti izvo\u0111a\u010De?",nothing:"Spremi samo glavnog izvo\u0111a\u010Da",default:"Koriste\u0107i standardnu specifikaciju",andFeat:"Koriste\u0107i & i feat.",using:'Koriste\u0107i "{separator}"'},singleAlbumArtist:"Spremi samo izvo\u0111a\u010Da glavnog albuma",albumVariousArtists:'Zadr\u017Ei "Various Artists" u Izvo\u0111a\u010Dima albuma',removeAlbumVersion:'Izbri\u0161i "Album Version" iz naziva pjesme',removeDuplicateArtists:"Izbri\u0161i kombinacije izvo\u0111a\u010Da",dateFormat:{title:"Format datuma za FLAC datoteke",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u0160to trebam napraviti s istaknutim izvo\u0111a\u010Dima? (feat. i ft.)",0:"Ni\u0161ta",1:"Izbri\u0161i ih iz naziva",3:"Izbri\u0161i ih iz naziva i iz naziva albuma",2:"Premjesti ih u naziv"},titleCasing:"Veli\u010Dina slova naslova",artistCasing:"Veli\u010Dina slova izvo\u0111a\u010Da",casing:{nothing:"Zadr\u017Ei nepromijenjeno",lower:"sve malo",upper:"sve VELIKO",start:"Po\u010Detak Svake Rije\u010Di",sentence:"Kao re\u010Denica"},previewVolume:"Volumen pregleda",executeCommand:{title:"Naredba za izvr\u0161enje nakon preuzimanja",description:"Ostavi prazno za bez akcije"}},spotify:{title:"Spotify zna\u010Dajke",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify korisni\u010Dko ime"},reset:"Resetiraj na zadano",save:"Spremi",toasts:{init:"Postavke u\u010Ditane!",update:"Postavke a\u017Eurirane!",ARLcopied:"ARL kopiran u me\u0111uspremnik"}},sidebar:{home:"po\u010Detna",search:"pretra\u017Eivanje",charts:"ljestvice",favorites:"favoriti",linkAnalyzer:"analizator linka",settings:"postavke",about:"o programu"},tracklist:{downloadSelection:"Preuzmi selekciju"}},ar={globals:{welcome:"\u0645\u0631\u062D\u0628\u0623 \u0628\u0643 \u0641\u064A \u062F\u064A\u0645\u0643\u0633",back:"\u0631\u062C\u0648\u0639",loading:"\u062C\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",download:"\u062A\u062D\u0645\u064A\u0644 {thing}",by:"\u0628\u0648\u0627\u0633\u0637\u0629 {artist}",in:"\u0641\u064A {album}",download_hint:"\u062A\u062D\u0645\u064A\u0644",play_hint:"\u062A\u0634\u063A\u064A\u0644",toggle_download_tab_hint:"\u0639\u0631\u0636/\u0627\u062E\u0641\u0627\u0621",clean_queue_hint:"\u062A\u0645 \u0627\u0644\u0645\u0633\u062D",cancel_queue_hint:"\u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0643\u0644",listTabs:{empty:"",all:"\u0627\u0644\u0643\u0644",top_result:"\u0627\u0641\u0636\u0644 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",album:"\u0627\u0644\u0628\u0648\u0645 | \u0627\u0644\u0628\u0648\u0645\u0627\u062A",artist:"\u0641\u0646\u0627\u0646 | \u0641\u0646\u0627\u0646\u0648\u0646",single:"\u0627\u063A\u0646\u064A\u0629 | \u0627\u063A\u0646\u064A\u0629",title:"\u0639\u0646\u0648\u0627\u0646 | \u0639\u0646\u0627\u0648\u064A\u0646",track:"\u0645\u0642\u0637\u0639 | \u0645\u0642\u0627\u0637\u0639",trackN:"0 \u0645\u0642\u0627\u0637\u0639 | {n} \u0645\u0642\u0637\u0639 | {n} \u0645\u0642\u0637\u0639",releaseN:"0 \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631",playlist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",compile:"\u0645\u062C\u0645\u0648\u0639\u0629 | \u0645\u062C\u0645\u0648\u0639\u0627\u062A",ep:"ep | eps",spotifyPlaylist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",error:"\u062E\u0637\u0623"}},about:{titles:{usefulLinks:"\u0631\u0648\u0627\u0628\u0637 \u0645\u0647\u0645\u0629",bugReports:"\u0627\u0628\u0644\u0627\u063A \u0639\u0646 \u0645\u0634\u0643\u0644\u0629",contributing:"\u0645\u0633\u0627\u0647\u0645\u0629",donations:"\u0627\u0644\u062A\u0628\u0631\u0639",license:"\u0627\u0644\u0631\u062E\u0635\u0629"},subtitles:{bugReports:"\u0647\u0644 \u0647\u0646\u0627\u0643 \u0634\u064A\u0621 \u0644\u0627 \u064A\u0639\u0645\u0644 \u0641\u064A \u062F\u064A\u0645\u0643\u0633\u061F \u0623\u062E\u0628\u0631\u0646\u0627",contributing:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0642\u064A\u0627\u0645 \u0628\u0630\u0644\u0643 \u0628\u0639\u062F\u0629 \u0637\u0631\u0642",donations:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0645\u0627\u062F\u064A\u0627\u064B\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062A\u0628\u0631\u0639"},usesLibrary:"\u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u064A\u0633\u062A\u062E\u062F\u0645 \u0645\u0643\u062A\u0628\u0629 \u062F\u064A\u0645\u0643\u0633 \u0648\u0627\u0644\u062A\u064A \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u062C\u0647\u0629 \u0645\u0633\u062A\u062E\u062F\u0645 \u062E\u0627\u0635\u0629 \u0628\u0643 \u0644\u062F\u064A\u0645\u0643\u0633.",thanks:"\u0634\u0643\u0631\u0627 \u0644\u0640 rtonno, \u0648 uhwot \u0648 lollilol \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u064A \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648 \u0644\u0640 BasCurtiz \u0644\u0635\u0646\u0639 \u0627\u0644\u0627\u064A\u0642\u0648\u0646\u0629.",officialWebsite:"\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0631\u0633\u0645\u064A",officialRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0627\u0644\u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0631\u0633\u0645\u064A",officialWebuiRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0648\u0627\u062C\u0647\u0629 \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u0631\u0633\u0645\u064A",officialSubreddit:"\u0627\u0644\u0633\u0628 \u0631\u064A\u062F\u062A \u0627\u0644\u0631\u0633\u0645\u064A",newsChannel:"\u0642\u0646\u0627\u0629 \u0627\u0644\u0627\u062E\u0628\u0627\u0631",beforeReporting:"\u0642\u0628\u0644 \u0627\u0646 \u062A\u0628\u0644\u063A \u0639\u0646 \u062E\u0637\u0623\u060C \u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646\u0643 \u062A\u0634\u063A\u0644 \u0623\u062D\u062F\u062B \u0625\u0635\u062F\u0627\u0631 \u0645\u0646 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0623\u0646 \u0645\u0627 \u062A\u0631\u064A\u062F \u0627\u0644\u0625\u0628\u0644\u0627\u063A \u0639\u0646\u0647 \u0647\u0648 \u0641\u064A \u0627\u0644\u0648\u0627\u0642\u0639 \u062E\u0637\u0623 \u0648\u0644\u064A\u0633 \u0645\u0634\u0643\u0644\u0629 \u0645\u0646 \u062C\u0647\u062A\u0643.",beSure:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646 \u0627\u0644\u062E\u0637\u0623 \u064A\u0645\u0643\u0646 \u0625\u0639\u0627\u062F\u0629 \u0625\u0646\u062A\u0627\u062C\u0647 \u0639\u0644\u0649 \u0623\u062C\u0647\u0632\u0629 \u0623\u062E\u0631\u0649 \u0648 \u0627\u064A\u0636\u0627\u064B \u0644\u0627 \u062A\u0628\u0644\u063A \u0639\u0644\u0629 \u062E\u0637\u0623 \u062A\u0645 \u0627\u0644\u062A\u0628\u0644\u064A\u063A \u0639\u0646\u0647 \u0633\u0627\u0628\u0642\u0627\u064B.",duplicateReports:"\u0633\u064A\u062A\u0645 \u0625\u063A\u0644\u0627\u0642 \u062A\u0642\u0627\u0631\u064A\u0631 \u0627\u0644\u0623\u062E\u0637\u0627\u0621 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u060C \u0644\u0630\u0644\u0643 \u062A\u0631\u0642\u0628 \u0630\u0644\u0643.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",acceptFeatures:"\u0623\u0642\u0628\u0644 \u0627\u0642\u062A\u0631\u0627\u062D\u0627\u062A \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0623\u064A\u0636\u064B\u0627 \u060C \u0648\u0644\u0643\u0646 \u0644\u0627 \u0623\u0634\u064A\u0627\u0621 \u0645\u0639\u0642\u062F\u0629 \u060C \u0641\u0642\u0637 \u0627\u0634\u064A\u0627\u0621 \u064A\u0645\u0643\u0646\u0646\u064A \u062A\u0646\u0641\u064A\u0630\u0647\u0627 \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0644\u064A\u0633 \u0641\u064A \u0627\u0644\u0645\u0643\u062A\u0628\u0629.",otherLanguages:"\u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062C\u064A\u062F \u0644\u063A\u0629 \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649 \u060C \u064A\u0645\u0643\u0646\u0643 \u0645\u062D\u0627\u0648\u0644\u0629 \u062A\u062D\u0648\u064A\u0644 \u062F\u064A\u0645\u0643\u0633 \u0625\u0644\u0649 \u0644\u063A\u0627\u062A \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649!",understandingCode:"\u0623\u0646\u062A \u0628\u062D\u0627\u062C\u0629 \u0625\u0644\u0649 \u0645\u0633\u0627\u0639\u062F\u0629 \u0641\u064A \u0641\u0647\u0645 \u0627\u0644\u0643\u0648\u062F\u061F \u0641\u0642\u0637 \u0627\u062A\u0635\u0644 \u0628\u0640 RemixDev \u0639\u0644\u0649 \u062A\u064A\u0644\u064A\u0643\u0631\u0627\u0645 \u0627\u0648 \u0631\u064A\u062F\u064A\u062A.",itsFree:"\u064A\u062C\u0628 \u0627\u0646 \u062A\u062A\u0630\u0643\u0631 \u0627\u0646 \u0647\u0630\u0627 \u0647\u0648 \u0645\u0634\u0631\u0648\u0639 \u0645\u062C\u0627\u0646\u064A \u0648 \u0639\u0644\u064A\u0643 \u062F\u0639\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u064A\u0646 \u0644\u0643 \u0642\u0628\u0644 \u0627\u0646 \u062A\u062F\u0639\u0645 \u0645\u0637\u0648\u0631\u064A\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C.",notObligated:"\u0644\u0627 \u062A\u0634\u0639\u0631 \u0628\u0627\u0644\u0627\u0644\u062A\u0632\u0627\u0645 \u0628\u0627\u0644\u062A\u0628\u0631\u0639 \u060C \u0644\u0643\u0646\u064A \u0623\u0642\u062F\u0631 \u0630\u0644\u0643 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644!"},charts:{title:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",changeCountry:"\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062F\u0648\u0644\u0629",download:"\u062A\u062D\u0645\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0648\u0644"},errors:{title:"\u062E\u0637\u0623 \u0641\u064A {name}",ids:{invalidURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D",unsupportedURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B",ISRCnotOnDeezer:"\u0631\u0645\u0632 \u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u062F\u064A\u0632\u0631",notYourPrivatePlaylist:"\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u062A\u062D\u0645\u064A\u0644 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u062E\u0627\u0635\u0629 \u0648 \u0627\u0644\u0645\u062E\u0641\u064A\u0629.",spotifyDisabled:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0639\u062F\u0627\u062F \u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0628\u0627\u0644\u0637\u0631\u0642\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629 .",trackNotOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",albumNotOnDeezer:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notEncoded:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B!",notEncodedNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u0648\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u062F\u064A\u0644!",wrongBitrate:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629.",wrongBitrateNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0648 \u0644\u0627 \u062A\u0648\u062C\u062F \u062F\u0642\u0629 \u0628\u062F\u064A\u0644\u0629!",no360RA:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A Reality Audio 360.",notAvailable:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631!",notAvailableNoAlternative:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631 \u0648 \u0644\u0627 \u064A\u0648\u062C\u062F \u0628\u062F\u064A\u0644 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646!"}},favorites:{title:"\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A",noPlaylists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",noAlbums:"\u0644\u0645 \u0644\u0627 \u062A\u0648\u062C\u062F \u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0645\u0641\u0636\u0644\u0629",noArtists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u0641\u0636\u0644\u064A\u0646",noTracks:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u0642\u0627\u0637\u0639 \u0645\u0641\u0636\u0644\u0629"},home:{needTologin:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u0627\u0644\u062A\u0633\u062C\u064A\u0644 \u0641\u064A \u062D\u0633\u0627\u0628 \u062F\u064A\u0632\u0631 \u0642\u0628\u0644 \u0628\u062F\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644.",openSettings:"\u0641\u062A\u062D \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",sections:{popularPlaylists:"\u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0645\u0634\u0647\u0648\u0631\u0629",popularAlbums:"\u0627\u0643\u062B\u0631 \u0627\u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0633\u0645\u0627\u0639\u0623"}},linkAnalyzer:{info:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0647\u0630\u0627 \u0627\u0644\u0642\u0633\u0645 \u0644\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062D\u0648\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644\u0647.",useful:" \u0643\u0645\u062B\u0627\u0644 \u0647\u0630\u0627 \u0645\u0641\u064A\u062F \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644 \u0628\u0639\u0636 \u0627\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629 \u0641\u064A \u0628\u0644\u062F\u0643 \u0648\u062A\u0631\u064A\u062F \u0645\u0639\u0631\u0641\u0629 \u0645\u0643\u0627\u0646 \u062A\u0648\u0641\u0631\u0647\u0627 .",linkNotSupported:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646",linkNotSupportedYet:"\u064A\u0628\u062F\u0648 \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u060C \u062D\u0627\u0648\u0644 \u062A\u062D\u0644\u064A\u0644 \u0631\u0627\u0628\u0637 \u0622\u062E\u0631.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u0627\u0644\u0645\u062F\u0629 \u0627\u0644\u0632\u0645\u0646\u064A\u0629",diskNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",bpm:"BPM",label:"Label",recordType:"\u0646\u0648\u0639 \u0627\u0644\u062A\u0633\u062C\u064A\u0644",genres:"\u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0641\u0646\u064A",tracklist:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0642\u0627\u0637\u0639"}},search:{startSearching:"\u0627\u0628\u062F\u0623 \u0627\u0644\u0628\u062D\u062B!",description:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0645\u0642\u0637\u0639 \u060C \u0623\u0644\u0628\u0648\u0645 \u0643\u0627\u0645\u0644 \u060C \u0641\u0646\u0627\u0646 \u060C \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 .... \u0643\u0644 \u0634\u064A\u0621! \u064A\u0645\u0643\u0646\u0643 \u0623\u064A\u0636\u064B\u0627 \u0644\u0635\u0642 \u0631\u0627\u0628\u0637 \u062F\u064A\u0632\u0631",fans:"{n} \u0645\u062A\u0627\u0628\u0639\u0648\u0646",noResults:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",noResultsTrack:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0642\u0627\u0637\u0639",noResultsAlbum:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0628\u0648\u0645\u0627\u062A",noResultsArtist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0641\u0646\u0627\u0646\u064A\u0646",noResultsPlaylist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644"},searchbar:"\u0627\u0628\u062D\u062B \u0639\u0646 \u0623\u064A \u0634\u064A\u0621 \u062A\u0631\u064A\u062F\u0647 (\u0623\u0648 \u0627\u0644\u0635\u0642 \u0631\u0627\u0628\u0637)",downloads:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",toasts:{addedToQueue:"{item} \u062A\u0645\u062A \u0625\u0644\u0623\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631",alreadyInQueue:"{item} \u062D\u0627\u0644\u064A\u0627\u064B \u0641\u064A \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631!",finishDownload:"{item} \u0627\u0646\u062A\u0647\u0649 \u062A\u062D\u0645\u064A\u0644.",allDownloaded:"\u0627\u0643\u062A\u0645\u0644\u062A \u062C\u0645\u064A\u0639 \u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A!",refreshFavs:"\u0627\u0643\u062A\u0645\u0644 \u0627\u0644\u062A\u062D\u062F\u064A\u062B!",loggingIn:"\u062C\u0627\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644...",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",alreadyLogged:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0644\u0641\u0639\u0644",loginFailed:"\u062A\u0639\u0630\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedOut:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C",cancellingCurrentItem:"\u062C\u0627\u0631 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",currentItemCancelled:"\u062A\u0645 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",startAddingArtist:"\u062C\u0627\u0631 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",finishAddingArtist:"\u062A\u0645 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",startConvertingSpotifyPlaylist:"\u062C\u0627\u0631 \u062A\u062D\u0648\u064A\u0644 \u0645\u0642\u0627\u0637\u0639 \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0627\u0644\u0649 \u0645\u0642\u0627\u0637\u0639 \u062F\u064A\u0632\u0631",finishConvertingSpotifyPlaylist:"\u062A\u0645 \u062A\u062D\u0648\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",loginNeededToDownload:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0642\u0627\u0637\u0639!"},settings:{title:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",languages:"\u0627\u0644\u0644\u063A\u0627\u062A",login:{title:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0643\u0640 {username}",arl:{question:"\u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0629 ARL",update:"\u0627\u0631\u0641\u0639 \u0627\u0644 ARL"},logout:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C"},appearance:{title:"\u0627\u0644\u0645\u0638\u0647\u0631",slimDownloadTab:"\u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0631\u0641\u064A\u0639\u0629"},downloadPath:{title:"\u0645\u0633\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644"},templates:{title:"\u0627\u0644\u0642\u0648\u0627\u0644\u0628",tracknameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",albumTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",playlistTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644"},folders:{title:"\u0627\u0644\u0645\u0644\u0641\u0627\u062A",createPlaylistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",playlistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createArtistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0641\u0646\u0627\u0646",artistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0641\u0646\u0627\u0646",createAlbumFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0644\u0628\u0648\u0645",albumNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",createCDFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0642\u0631\u0627\u0635",createStructurePlaylist:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createSingleFolder:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0627\u0644\u0648\u0627\u062D\u062F\u0629"},trackTitles:{title:"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0642\u0637\u0639",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"\u0645\u062D\u0648\u0644 \u0627\u0644\u0643\u062A\u0627\u0628\u0627\u062A \u0627\u0644\u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627"},downloads:{title:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",queueConcurrency:"\u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0632\u0627\u0645\u0646\u0629",maxBitrate:{title:"\u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0641\u0636\u0644\u0629",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u0647\u0644 \u064A\u0645\u0643\u0646\u0646\u064A \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A?",y:"\u0646\u0639\u0645, \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",n:"\u0644\u0627, \u0644\u0627 \u062A\u0628\u062F\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",t:"\u0627\u0633\u062A\u0628\u062F\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0641\u0642\u0637",b:"\u0644\u0627 \u060C \u0627\u062D\u062A\u0641\u0638 \u0628\u0627\u0644\u0645\u0644\u0641\u064A\u0646 \u0648\u0623\u0636\u0641 \u0631\u0642\u0645\u064B\u0627 \u0625\u0644\u0649 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0643\u0631\u0631"},fallbackBitrate:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u062F\u0642\u0629",fallbackSearch:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u0628\u062D\u062B",logErrors:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0623\u062E\u0637\u0627\u0621",logSearched:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u062A\u064A \u062A\u0645 \u0627\u0644\u0628\u062D\u062B \u0639\u0646\u0647\u0627",createM3U8File:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",syncedLyrics:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0643\u0644\u0645\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629",playlistFilenameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",saveDownloadQueue:"\u062D\u0641\u0638 \u0642\u0627\u0626\u0645\u0629 \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062A\u0646\u0632\u064A\u0644 \u0639\u0646\u062F \u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062A\u0637\u0628\u064A\u0642"},covers:{title:"\u063A\u0644\u0627\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",saveArtwork:"\u0627\u062D\u0641\u0638 \u0627\u0644\u063A\u0644\u0627\u0641",coverImageTemplate:"\u062A\u063A\u0637\u064A\u0629 \u0642\u0627\u0644\u0628 \u0627\u0644\u0627\u0633\u0645",saveArtworkArtist:"\u0627\u062D\u0641\u0638 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",artistImageTemplate:"\u0642\u0627\u0644\u0628 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",localArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629",embeddedArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u062F\u0645\u062C\u0629",localArtworkFormat:{title:"\u0628\u0623\u064A \u0635\u064A\u063A\u0629 \u062A\u0631\u064A\u062F \u062D\u0641\u0638 \u0627\u0644\u0635\u0648\u0631\u0629?",jpg:"jpeg \u0635\u0648\u0631\u0629",png:"png \u0635\u0648\u0631\u0629",both:"\u0627\u0644\u0627\u062B\u0646\u064A\u0646 png \u0648 jpeg"},jpegImageQuality:"JPEG \u062F\u0642\u0629 \u0635\u0648\u0631\u0629"},tags:{head:"\u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u062A\u0645 \u062D\u0641\u0638\u0647\u0627",title:"\u0627\u0644\u0639\u0646\u0648\u0627\u0646",artist:"\u0627\u0644\u0641\u0646\u0627\u0646",album:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645",cover:"\u0627\u0644\u063A\u0644\u0627\u0641",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",trackTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0645\u0642\u0627\u0637\u0639",discNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",discTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0627\u0642\u0631\u0627\u0635",albumArtist:"\u0641\u0646\u0627\u0646 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",genre:"Genre",year:"\u0627\u0644\u0633\u0646\u0629",date:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E",explicit:"\u0643\u0644\u0645\u0627\u062A \u0627\u063A\u0646\u064A\u0629 \u0635\u0631\u064A\u062D\u0629 \u0644\u0644\u0643\u0628\u0627\u0631",isrc:"ISRC",length:"\u0637\u0648\u0644 \u0627\u0644\u0645\u0642\u0637\u0639",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"\u0643\u0644\u0645\u0627\u062A \u063A\u064A\u0631 \u0645\u062A\u0632\u0627\u0645\u0646\u0629",copyright:"\u062D\u0642\u0648\u0642 \u0627\u0644\u0646\u0634\u0631",composer:"\u0645\u0644\u062D\u0646",involvedPeople:"\u0627\u0644\u0646\u0627\u0633 \u0627\u0644\u0645\u0634\u062A\u0631\u0643\u0648\u0646"},other:{title:"\u063A\u064A\u0631",savePlaylistAsCompilation:"\u062D\u0641\u0638 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0643\u0645\u062C\u0645\u0648\u0639\u0629",useNullSeparator:"\u0627\u0633\u062A\u062E\u062F\u0645 \u0641\u0627\u0635\u0644 \u0641\u0627\u0631\u063A",saveID3v1:"\u0627\u062D\u0641\u0638 \u0645\u0644\u0641 ID3v1",multiArtistSeparator:{title:"\u0643\u064A\u0641 \u062A\u0631\u064A\u062F \u0641\u0635\u0644 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646?",nothing:"\u0627\u062D\u0641\u0638 \u0627\u0644\u0641\u0646\u0627\u0646 \u0627\u0644\u0631\u0626\u064A\u0633\u064A \u0641\u0642\u0637",default:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u0642\u064A\u0627\u0633\u064A\u0629",andFeat:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645& \u0648 feat.",using:'\u0627\u0633\u062A\u062E\u062F\u0627\u0645 "{separator}"'},singleAlbumArtist:"\u0627\u062D\u0641\u0638 \u0641\u0642\u0637 \u0641\u0646\u0627\u0646 \u0627\u0644\u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0631\u0626\u064A\u0633\u064A",albumVariousArtists:'\u0627\u062D\u062A\u0641\u0638 \u0628\u0640 "\u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u062A\u0646\u0648\u0639\u064A\u0646" \u0641\u064A \u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646',removeAlbumVersion:'\u0625\u0632\u0627\u0644\u0629 "\u0625\u0635\u062F\u0627\u0631 \u0627\u0644\u0623\u0644\u0628\u0648\u0645" \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0633\u0627\u0631',removeDuplicateArtists:"\u0625\u0632\u0627\u0644\u0629 \u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646",dateFormat:{title:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0644\u0645\u0644\u0641\u0627\u062A flac",year:"\u0633 \u0633 \u0633 \u0633",month:"\u0634 \u0634",day:"\u064A \u064A"},featuredToTitle:{title:"\u0645\u0627\u0630\u0627 \u0639\u0644\u064A \u0623\u0646 \u0623\u0641\u0639\u0644 \u0645\u0639 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u063A\u064A\u0631 \u0631\u0626\u064A\u0633\u064A\u064A\u0646 ?",0:"\u0644\u0627 \u0634\u064A\u0621",1:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0627\u0644\u0639\u0646\u0648\u0627\u0646",3:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0648 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",2:"\u0648\u0636\u0639\u0647 \u0641\u064A \u0627\u0644\u0639\u0646\u0648\u0627\u0646"},titleCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0639\u0646\u0627\u0648\u0646",artistCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",casing:{nothing:"\u0628\u062F\u0648\u0646 \u062A\u063A\u064A\u064A\u0631",lower:"\u0627\u062D\u0631\u0641 \u0635\u063A\u064A\u0631\u0629",upper:"\u0627\u062D\u0631\u0641 \u0643\u0628\u064A\u0631\u0629",start:"\u062D\u0631\u0641 \u0643\u0628\u064A\u0631 \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0643\u0644 \u0643\u0644\u0645\u0629",sentence:"\u0645\u062B\u0644 \u062C\u0645\u0644\u0629"},previewVolume:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u062D\u062C\u0645",executeCommand:{title:"\u0627\u0644\u0623\u0645\u0631 \u0644\u0644\u062A\u0646\u0641\u064A\u0630 \u0628\u0639\u062F \u0627\u0644\u062A\u0646\u0632\u064A\u0644",description:"\u0627\u062A\u0631\u0643\u0647 \u0641\u0627\u0631\u063A\u064B\u0627 \u0628\u062F\u0648\u0646 \u0625\u062C\u0631\u0627\u0621"}},spotify:{title:"\u0645\u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientID:"\u0645\u0639\u0631\u0641 \u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientSecret:"\u0627\u0644\u0643\u0648\u062F \u0627\u0644\u0633\u0631\u064A \u0644\u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",username:"\u0627\u0633\u0645 \u0645\u0633\u062A\u062E\u062F\u0645 \u0633\u0628\u0648\u062A\u0641\u0627\u064A"},reset:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646 \u0625\u0644\u0649 \u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u064A",save:"\u062D\u0641\u0638",toasts:{init:"\u062A\u0645 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A!",update:"\u062A\u0645 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A!",ARLcopied:"\u062A\u0645 \u0646\u0633\u062E ARL \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629"}},sidebar:{home:"\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",search:"\u0628\u062D\u062B",charts:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",favorites:"\u0627\u0644\u0645\u0641\u0636\u0644\u0629",linkAnalyzer:"\u0645\u062D\u0644\u0644 \u0627\u0644\u0631\u0648\u0627\u0628\u0637",settings:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",about:"\u062D\u0648\u0644"},tracklist:{downloadSelection:"\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0627\u062E\u062A\u064A\u0627\u0631"}},ko={globals:{welcome:"\uC798\uC654\uB2E4, deemix\uC5D0",back:"\uB4A4\uB85C",loading:"\uBD88\uB7EC\uC624\uB294 \uC911",download:"{thing} \uB2E4\uC6B4\uB85C\uB4DC",by:"by {artist}",in:"in {album}",download_hint:"\uB2E4\uC6B4\uB85C\uB4DC",play_hint:"\uC7AC\uC0DD",toggle_download_tab_hint:"\uD3BC\uCE58\uAE30/\uC811\uAE30",clean_queue_hint:"\uBE44\uC6B0\uAE30 \uC644\uB8CC",cancel_queue_hint:"\uBAA8\uB450 \uCDE8\uC18C",open_downloads_folder:"\uB2E4\uC6B4\uB85C\uB4DC \uD3F4\uB354 \uC5F4\uAE30",cut:"\uC798\uB77C\uB0B4\uAE30",copy:"\uBCF5\uC0AC",copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",copyImageLink:"\uC774\uBBF8\uC9C0 \uB9C1\uD06C \uBCF5\uC0AC",copyDeezerLink:"deezer \uB9C1\uD06C \uBCF5\uC0AC",paste:"\uBD99\uC5EC\uB123\uAE30",listTabs:{empty:"",all:"\uC804\uCCB4",top_result:"\uAC00\uC7A5 \uC77C\uCE58\uD558\uB294 \uACB0\uACFC",album:"\uC568\uBC94 | \uC568\uBC94",artist:"\uC544\uD2F0\uC2A4\uD2B8 | \uC544\uD2F0\uC2A4\uD2B8",single:"\uC2F1\uAE00 | \uC2F1\uAE00",title:"\uC81C\uBAA9 | \uC81C\uBAA9",track:"\uD2B8\uB799 | \uD2B8\uB799",releaseN:"0 \uBC1C\uB9E4 | {n} \uBC1C\uB9E4 | {n} \uBC1C\uB9E4",playlist:"\uC7AC\uC0DD\uBAA9\uB85D | \uC7AC\uC0DD\uBAA9\uB85D",compile:"\uD3B8\uCC2C\uBB3C | \uD3B8\uCC2C\uBB3C",ep:"ep | eps",bundle:"\uBC88\uB4E4 | \uBC88\uB4E4",more:"\uB354 \uB9CE\uC740 \uC568\uBC94",featured:"\uD2B9\uC9D1",spotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D | \uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",error:"\uC624\uB958",trackN:"0 \uD2B8\uB799 | {n} \uD2B8\uB799 | {n} \uD2B8\uB799",albumN:"0 \uC568\uBC94 | {n} \uC568\uBC94 | {n} \uC568\uBC94",artistN:"0 \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8",playlistN:"0 \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D"}},about:{appStatus:{online:"\uD504\uB85C\uADF8\uB7A8 \uC628\uB77C\uC778",offline:"\uD504\uB85C\uADF8\uB7A8 \uC624\uD504\uB77C\uC778"},updates:{currentVersion:"\uD604\uC7AC \uBC84\uC804",currentWebuiVersion:"\uD604\uC7AC WebUI \uBC84\uC804",versionNotAvailable:"N/A",updateAvailable:"\uCD5C\uC2E0\uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4: {version}",deemixVersion:"deemix lib \uBC84\uC804"},titles:{usefulLinks:"\uC720\uC6A9\uD55C \uB9C1\uD06C",bugReports:"\uBC84\uADF8 \uC81C\uBCF4",contributing:"\uAE30\uC5EC\uC790",donations:"\uD6C4\uC6D0",license:"\uC774\uC6A9\uC815\uCC45"},subtitles:{bugReports:"\uBB34\uC5B8\uAC00 \uC548\uB418\uB294 \uAC83\uC774 \uC788\uB2E4\uACE0\uC694? \uB9D0\uD574\uC8FC\uC138\uC694!",contributing:"\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uAE30\uC5EC\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uC5B4\uB835\uC9C0 \uC54A\uC544\uC694!",donations:"\uAE08\uC804\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uD6C4\uC6D0\uD558\uC138\uC694!"},usesLibrary:"\uC774 \uD504\uB85C\uADF8\uB7A8\uC740 deemix \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4, \uD574\uB2F9 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB85C \uC790\uC2E0\uB9CC\uC758 deemix\uB97C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",thanks:"\uC774 \uD504\uB85C\uC81D\uD2B8\uB97C \uB3C4\uC640\uC900 rtonno, uhwot \uADF8\uB9AC\uACE0 lollilol\uB2D8\uACFC \uC544\uC774\uCF58\uC744 \uB9CC\uB4E4\uC5B4\uC900 BasCurtiz \uB2D8\uC5D0\uAC8C \uAC10\uC0AC\uB97C.",upToDate:{text:"\uC0C8\uB85C\uC6B4 \uC5C5\uB370\uC774\uD2B8 \uC18C\uC2DD\uC744 \uB4E3\uACE0 \uC2F6\uC73C\uBA74 \uD154\uB808\uADF8\uB7A8 {newsChannel}\uC744 \uCC38\uACE0\uD558\uC138\uC694.",newsChannel:"\uC0C8\uC18C\uC2DD \uC815\uBCF4\uD1B5"},officialWebsite:"\uACF5\uC2DD \uC6F9\uC0AC\uC774\uD2B8",officialRepo:"\uACF5\uC2DD \uB77C\uC774\uBE0C\uB7EC\uB9AC \uC800\uC7A5\uC18C",officialWebuiRepo:"\uACF5\uC2DD WebUI \uC800\uC7A5\uC18C",officialSubreddit:"\uACF5\uC2DD \uC11C\uBE0C\uB808\uB527",newsChannel:"\uC0C8 \uC18C\uC2DD \uC54C\uB9AC\uBBF8",questions:{text:"\uD504\uB85C\uADF8\uB7A8\uC5D0 \uB300\uD55C \uC9C8\uBB38\uC774\uB098 \uBB38\uC81C\uC5D0 \uAD00\uD55C \uAC83\uC740, \uBA3C\uC800 {subreddit}\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uAC80\uC0C9\uD574\uBCF4\uC138\uC694. \uADF8\uB9AC\uACE0, \uC11C\uBE0C\uB808\uB527\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uCC3E\uAE30 \uBABB\uD55C \uACBD\uC6B0\uC5D0 \uB2E4\uC74C \uC21C\uC11C\uB97C \uC774\uC6A9\uD574\uC8FC\uC138\uC694.",subreddit:"\uC11C\uBE0C\uB808\uB527"},beforeReporting:"\uBC84\uADF8 \uC81C\uBCF4\uB97C \uD558\uAE30 \uC804\uC5D0 \uBA3C\uC800 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uD504\uB85C\uADF8\uB7A8\uC744 \uC2E4\uD589\uD558\uACE0 \uC788\uB294\uC9C0, \uC81C\uBCF4\uD558\uACE0\uC790 \uD558\uB294 \uAC83\uC774 \uBC84\uADF8\uC774\uC9C0 \uC624\uB85C\uC9C0 \uB2F9\uC2E0\uC758 \uBAA9\uC801\uC744 \uC774\uB8E8\uAE30 \uC704\uD55C \uC694\uAD6C\uAC00 \uC544\uB2D8\uC744 \uD655\uC778\uD574\uC8FC\uC138\uC694.",beSure:"\uD574\uB2F9 \uBC84\uADF8\uAC00 \uB2E4\uB978 \uC7A5\uCE58\uC5D0\uC11C\uB3C4 \uC7AC\uD604\uC774 \uAC00\uB2A5\uD55C\uC9C0 \uD655\uC778\uD558\uACE0 \uC774\uBBF8 \uC81C\uBCF4\uB41C \uBC84\uADF8\uC758 \uACBD\uC6B0\uC5D0\uB294 \uC911\uBCF5\uD574\uC11C \uBCF4\uACE0\uD558\uC9C0 \uB9C8\uC138\uC694.",duplicateReports:"\uC911\uBCF5\uB41C \uBC84\uADF8 \uC81C\uBCF4\uC758 \uACBD\uC6B0\uB294 \uD574\uB2F9 \uC694\uCCAD\uC744 \uB2EB\uC744 \uAC83\uC774\uB2C8, \uB450 \uB208 \uB728\uACE0 \uC9C0\uCF1C\uBCF4\uC138\uC694.",dontOpenIssues:"\uC9C8\uBB38\uC5D0 \uAD00\uD55C \uAC83\uC740 \uC774\uC288\uB97C \uC5F4\uC9C0 \uB9C8\uC138\uC694, \uC11C\uBE0C\uB808\uB527\uC774 \uC788\uC2B5\uB2C8\uB2E4.",newUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 \uD30C\uC774\uC36C\uC5D0 \uB2A5\uD1B5\uD558\uACE0 \uAE30\uBCF8\uC801\uC778 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC774\uC6A9\uD558\uC5EC \uC0C8\uB85C\uC6B4 UI\uB97C \uB9CC\uB4E4\uC5C8\uAC70\uB098, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC758 \uBC84\uADF8\uB97C \uC218\uC815\uD558\uC600\uB2E4\uBA74 {repo}\uC5D0 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uD574\uC8FC\uC138\uC694.",repo:"\uC800\uC7A5\uC18C"},acceptFeatures:"\uBCF5\uC7A1\uD558\uC9C0 \uC54A\uC740 \uAE30\uB2A5 \uCD94\uAC00\uB3C4 \uBC1B\uC2B5\uB2C8\uB2E4, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uAC00 \uC544\uB2CC \uC571\uC5D0\uC11C \uC9C1\uC811 \uAD6C\uD604\uD560 \uC218 \uC788\uB294 \uAC83\uC73C\uB85C\uC694.",otherLanguages:"\uB2F9\uC2E0\uC774 \uB2E4\uB978 \uD504\uB85C\uADF8\uB7A8 \uC5B8\uC5B4\uC5D0 \uB2A5\uD1B5\uD558\uBA74, \uC774 deemix \uD504\uB85C\uADF8\uB7A8\uC744 \uB2E4\uB978 \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4\uB85C \uD3EC\uD305\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4!",understandingCode:"\uCF54\uB4DC\uB97C \uC774\uD574\uD558\uB294 \uB370 \uB3C4\uC6C0\uC774 \uD544\uC694\uD569\uB2C8\uAE4C? \uC704\uC5D0 \uC788\uB294 RemixDev, \uD154\uB808\uADF8\uB7A8, \uC11C\uBE0C\uB808\uB527 \uB9C1\uD06C\uB97C \uB204\uB974\uC138\uC694.",contributeWebUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 Vue.js (JavaScript), HTML \uB610\uB294 CSS \uAC1C\uBC1C\uC790\uB77C\uBA74 {webui}\uC5D0 \uB3C4\uC6C0\uC744 \uC8FC\uC138\uC694.",webui:"WebUI"},itsFree:"\uC0AC\uC6A9\uD558\uAE30 \uC804\uC5D0 \uC774 \uD504\uB85C\uADF8\uB7A8\uC774 \uBB34\uB8CC \uD504\uB85C\uC81D\uD2B8\uC774\uACE0 \uAC1C\uBC1C\uC790\uB97C \uC9C0\uC6D0\uD558\uAE30 \uC804\uC5D0 \uC608\uC220\uAC00\uB4E4\uC744 \uBA3C\uC800 \uC9C0\uC6D0\uD574\uC57C \uD568\uC744 \uAE30\uC5B5\uD558\uC138\uC694.",notObligated:"\uAE30\uBD80\uB294 \uD504\uB85C\uC81D\uD2B8\uB97C \uC9C0\uC18D\uD560 \uC218 \uC788\uB294 \uB3D9\uB825\uC774 \uB429\uB2C8\uB2E4!",lincensedUnder:{text:"\uC774 \uC791\uC5C5\uC774 \uC694\uAD6C\uD558\uACE0 \uC788\uB294 \uB77C\uC774\uC13C\uC2A4\uB294 \uC544\uB798\uC640 \uAC19\uC2B5\uB2C8\uB2E4 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\uCC28\uD2B8",changeCountry:"\uAD6D\uAC00 \uBCC0\uACBD",download:"\uCC28\uD2B8 \uB2E4\uC6B4\uB85C\uB4DC"},errors:{title:"\uC624\uB958 \uBC1C\uC0DD: {name}",ids:{unsupportedURL:"URL \uC9C0\uC6D0 \uB204\uB77D",invalidURL:"URL \uC778\uC2DD \uC2E4\uD328",ISRCnotOnDeezer:"\uD2B8\uB799 \uCF54\uB4DC \uC2DD\uBCC4\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4",notYourPrivatePlaylist:"\uB2E4\uB978 \uC0AC\uB78C\uC758 \uBE44\uACF5\uAC1C \uC7AC\uC0DD \uBAA9\uB85D\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",spotifyDisabled:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uC774 \uC62C\uBC14\uB974\uAC8C \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",trackNotOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",albumNotOnDeezer:"Deezer\uC5D0\uC11C \uC568\uBC94\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notEncoded:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4!",notEncodedNoAlternative:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",wrongBitrate:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uC758 \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",wrongBitrateNoAlternative:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",no360RA:"\uD574\uB2F9 \uD2B8\uB799\uC740 360 \uB9AC\uC5BC\uB9AC\uD2F0 \uC624\uB514\uC624\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",notAvailable:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4!",notAvailableNoAlternative:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",noSpaceLeft:"\uC7A5\uCE58\uC5D0 \uC5EC\uC720 \uACF5\uAC04\uC774 \uC5C6\uC2B5\uB2C8\uB2E4!",albumDoesntExists:"\uD2B8\uB799\uC758 \uC568\uBC94\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uC815\uBCF4 \uC218\uC9D1\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."}},favorites:{title:"\uC990\uACA8\uB4E3\uB294 \uC74C\uC545",noPlaylists:"\uC990\uACA8\uB4E3\uB294 \uC7AC\uC0DD\uBAA9\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noAlbums:"\uC990\uACA8\uB4E3\uB294 \uC568\uBC94\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noArtists:"\uC990\uACA8\uB4E3\uB294 \uC544\uD2F0\uC2A4\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",noTracks:"\uC990\uACA8\uB4E3\uB294 \uD2B8\uB799\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},home:{needTologin:"\uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uC791\uD558\uAE30 \uC804\uC5D0 Deezer \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uC744 \uD574\uC57C\uD569\uB2C8\uB2E4.",openSettings:"\uC124\uC815 \uC5F4\uAE30",sections:{popularPlaylists:"\uC778\uAE30\uC788\uB294 \uC7AC\uC0DD\uBAA9\uB85D",popularAlbums:"\uAC00\uC7A5 \uB9CE\uC774 \uC7AC\uC0DD\uB41C \uC568\uBC94"}},linkAnalyzer:{info:"\uC774 \uD56D\uBAA9\uC5D0\uC11C\uB294 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uB3C4\uD560 \uB9C1\uD06C\uC5D0 \uB300\uD55C \uB354 \uB9CE\uC740 \uC815\uBCF4\uB97C \uCC3E\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",linkNotSupported:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",useful:"\uC811\uC18D\uD55C \uAD6D\uAC00\uC5D0\uC11C\uB294 \uC7AC\uC0DD\uD560 \uC218 \uC5C6\uB294 \uD2B9\uC815 \uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD558\uAE30 \uC704\uD574\uC11C \uAC00\uB2A5\uD55C \uAD6D\uAC00\uB97C \uCC3E\uB294\uB370 \uC720\uC6A9\uD558\uAC8C \uC4F0\uC785\uB2C8\uB2E4.",linkNotSupportedYet:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uB2E4\uB978 \uB9C1\uD06C\uB85C \uC2DC\uB3C4\uD574\uBCF4\uC138\uC694.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\uAE38\uC774",diskNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",trackNumber:"\uD2B8\uB799 \uBC88\uD638",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",bpm:"BPM",label:"\uB77C\uBCA8",recordType:"\uB179\uC74C \uC885\uB958",genres:"\uC7A5\uB974",tracklist:"\uD2B8\uB799\uBAA9\uB85D"}},search:{startSearching:"\uAC80\uC0C9\uC744 \uD574\uBCF4\uC138\uC694!",description:"\uD2B8\uB799, \uC544\uD2F0\uC2A4\uD2B8, \uC7AC\uC0DD\uBAA9\uB85D, Deezer \uB9C1\uD06C \uB4F1\uC73C\uB85C \uAC80\uC0C9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!",fans:"{n}\uBA85\uC758 \uD32C\uB4E4",noResults:"\uACB0\uACFC \uC5C6\uC74C",noResultsTrack:"\uBC1C\uACAC\uB41C \uD2B8\uB799 \uC5C6\uC74C",noResultsAlbum:"\uBC1C\uACAC\uB41C \uC568\uBC94 \uC5C6\uC74C",noResultsArtist:"\uBC1C\uACAC\uB41C \uC544\uD2F0\uC2A4\uD2B8 \uC5C6\uC74C",noResultsPlaylist:"\uBC1C\uACAC\uB41C \uC7AC\uC0DD\uBAA9\uB85D \uC5C6\uC74C"},searchbar:"\uC6D0\uD558\uB294 \uAC83\uC744 \uAC80\uC0C9\uD558\uC138\uC694 (\uB9C1\uD06C\uB97C \uBD99\uC5EC\uB123\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4)",downloads:"\uB2E4\uC6B4\uB85C\uB4DC\uB4E4",toasts:{restoringQueue:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4 \uBCF5\uC6D0\uC911...",queueRestored:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4\uC774 \uBCF5\uC6D0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",addedToQueue:"\uB300\uAE30\uC5F4\uC5D0 {item}(\uC774)\uAC00 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",addedMoreToQueue:"\uB300\uAE30\uC5F4\uC5D0 {n} \uD56D\uBAA9\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyInQueue:"{item}(\uC774)\uAC00 \uC774\uBBF8 \uB300\uAE30\uC5F4\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4!",finishDownload:"{item} \uD56D\uBAA9\uC774 \uB2E4\uC6B4\uB85C\uB4DC \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",allDownloaded:"\uBAA8\uB4E0 \uB2E4\uC6B4\uB85C\uB4DC\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",refreshFavs:"\uC0C8\uB85C\uACE0\uCE68\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",loggingIn:"\uB85C\uADF8\uC778 \uD558\uB294 \uC911...",loggedIn:"\uB85C\uADF8\uC778 \uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyLogged:"\uC774\uBBF8 \uB85C\uADF8\uC778\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4",loginFailed:"\uB85C\uADF8\uC778 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",loggedOut:"\uB85C\uADF8\uC544\uC6C3 \uD558\uC600\uC2B5\uB2C8\uB2E4",cancellingCurrentItem:"\uD604\uC7AC \uD56D\uBAA9\uC744 \uCDE8\uC18C \uC911\uC785\uB2C8\uB2E4.",currentItemCancelled:"\uD56D\uBAA9\uC774 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",startAddingArtist:"{artist} \uC568\uBC94\uC744 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00 \uC911\uC785\uB2C8\uB2E4",finishAddingArtist:"{artist} \uC568\uBC94\uC774 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",startConvertingSpotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uD2B8\uB799\uC744 Deezer \uD2B8\uB799\uC73C\uB85C \uC804\uD658 \uC911\uC785\uB2C8\uB2E4",finishConvertingSpotifyPlaylist:"\uC2A4\uD504\uD1A0\uD30C\uC774 \uC7AC\uC0DD \uBAA9\uB85D\uC774 \uC804\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4",loginNeededToDownload:"\uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB824\uBA74 \uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4!",deezerNotAvailable:"Deezer \uC0AC\uC774\uD2B8\uB294 \uD604\uC7AC \uADC0\uD558\uC758 \uAD6D\uAC00\uC5D0\uC11C \uC0AC\uC6A9\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4. VPN\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.",startGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC9C4\uD589\uC911...",finishGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC0DD\uC131."},settings:{title:"\uC124\uC815",languages:"\uC5B8\uC5B4",login:{title:"\uB85C\uADF8\uC778",loggedIn:"{username}(\uC73C)\uB85C \uB85C\uADF8\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4",arl:{question:"ARL\uC744 \uC5B4\uB5BB\uAC8C \uD655\uC778\uD569\uB2C8\uAE4C?",update:"ARL \uC5C5\uB370\uC774\uD2B8"},logout:"\uB85C\uADF8\uC544\uC6C3",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC4F0\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C\uD569\uB2C8\uAE4C?"},appearance:{title:"\uC678\uAD00",slimDownloadTab:"\uC587\uC740 \uB2E4\uC6B4\uB85C\uB4DC \uD0ED",slimSidebar:"\uC587\uC740 \uC0AC\uC774\uB4DC\uBC14"},downloadPath:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uACBD\uB85C"},templates:{title:"\uD15C\uD50C\uB9BF",tracknameTemplate:"\uD2B8\uB799\uC774\uB984 \uD15C\uD50C\uB9BF",albumTracknameTemplate:"\uC568\uBC94 \uD2B8\uB799 \uD15C\uD50C\uB9BF",playlistTracknameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD2B8\uB799 \uD15C\uD50C\uB9BF"},folders:{title:"\uD3F4\uB354",createPlaylistFolder:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",playlistNameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD3F4\uB354 \uD15C\uD50C\uB9BF",createArtistFolder:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",artistNameTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createAlbumFolder:"\uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",albumNameTemplate:"\uC568\uBC94 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createCDFolder:"CD\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",createStructurePlaylist:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131",createSingleFolder:"\uC2F1\uAE00 \uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131"},trackTitles:{title:"\uD2B8\uB799 \uC81C\uBAA9",padTracks:"\uD2B8\uB799 \uCC44\uC6CC\uB123\uAE30",paddingSize:"\uCC44\uC6CC\uB123\uC744 \uD06C\uAE30",illegalCharacterReplacer:"\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAE00\uC790 \uB300\uCCB4"},downloads:{title:"\uB2E4\uC6B4\uB85C\uB4DC",queueConcurrency:"\uB3D9\uC2DC \uB2E4\uC6B4\uB85C\uB4DC",maxBitrate:{title:"\uC120\uD638\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F8\uAE4C\uC694?",y:"\uB124, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC138\uC694",n:"\uC544\uB1E8, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC9C0 \uB9C8\uC138\uC694",t:"\uD0DC\uADF8\uB9CC \uB36E\uC5B4\uC4F0\uC138\uC694",b:"\uC544\uB1E8, \uC591\uCABD \uB2E4 \uB194\uB450\uACE0 \uC911\uBCF5\uB418\uB294 \uD30C\uC77C\uC5D0 \uBC88\uD638\uB97C \uCD94\uAC00\uD558\uC138\uC694",e:"\uC544\uB1E8, \uD655\uC7A5\uBA85\uC744 \uBCC0\uACBD\uD558\uC138\uC694"},fallbackBitrate:"\uBE44\uD2B8\uB808\uC774\uD2B8 \uB300\uBE44\uCC45",fallbackSearch:"\uAC80\uC0C9 \uB300\uBE44\uCC45",logErrors:"\uC624\uB958 \uBC1C\uC0DD\uC2DC \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",logSearched:"\uAC80\uC0C9\uD55C \uD2B8\uB799\uC5D0 \uB300\uD55C \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",createM3U8File:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C \uC0DD\uC131",syncedLyrics:".lyr \uD30C\uC77C \uC0DD\uC131 (\uAC00\uC0AC \uB3D9\uAE30\uD654)",playlistFilenameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C\uC774\uB984 \uD15C\uD50C\uB9BF",saveDownloadQueue:"\uD504\uB85C\uADF8\uB7A8\uC744 \uB2EB\uC744 \uB54C \uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30\uC5F4 \uC800\uC7A5"},covers:{title:"\uC568\uBC94 \uCEE4\uBC84",saveArtwork:"\uCEE4\uBC84 \uC800\uC7A5",coverImageTemplate:"\uCEE4\uBC84 \uC774\uB984 \uD15C\uD50C\uB9BF",saveArtworkArtist:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uC800\uC7A5",artistImageTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uD15C\uD50C\uB9BF",localArtworkSize:"\uC678\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",embeddedArtworkSize:"\uB0B4\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",localArtworkFormat:{title:"\uBCC4\uB3C4\uB85C \uC800\uC7A5\uD560 \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 \uBB34\uC5C7\uC73C\uB85C \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",jpg:"jpeg \uC774\uBBF8\uC9C0",png:"png \uC774\uBBF8\uC9C0",both:"jpeg\uC640 png \uB458 \uB2E4"},jpegImageQuality:"JPEG \uC774\uBBF8\uC9C0 \uD488\uC9C8",embeddedArtworkPNG:"\uD3EC\uD568\uB41C \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 PNG\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4",embeddedPNGWarning:"PNG\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBC84\uADF8\uAC00 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4",imageSizeWarning:"x1200 \uD06C\uAE30\uB97C \uCD08\uACFC\uD574\uC11C\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBB38\uC81C\uAC00 \uC0DD\uAE38 \uC218 \uC788\uC2B5\uB2C8\uB2E4",coverDescriptionUTF8:"\uCEE4\uBC84 \uC124\uBA85\uC744 UTF8 \uD3EC\uB9F7\uC744 \uC774\uC6A9\uD574 \uC800\uC7A5\uD569\uB2C8\uB2E4 (iTunes \uCEE4\uBC84 \uC624\uB958 \uD574\uACB0)"},tags:{head:"\uC800\uC7A5\uD560 \uD0DC\uADF8\uB97C \uC120\uD0DD\uD558\uC138\uC694",title:"\uC81C\uBAA9",artist:"\uC544\uD2F0\uC2A4\uD2B8",album:"\uC568\uBC94",cover:"\uCEE4\uBC84",trackNumber:"\uD2B8\uB799 \uBC88\uD638",trackTotal:"\uC804\uCCB4 \uD2B8\uB799 \uD06C\uAE30",discNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",discTotal:"\uC804\uCCB4 \uB514\uC2A4\uD06C \uC218",albumArtist:"\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8",genre:"\uC7A5\uB974",year:"\uC5F0\uB3C4",date:"\uC77C\uC790",explicit:"\uB178\uACE8\uC801 \uAC00\uC0AC",isrc:"ISRC",length:"\uD2B8\uB799 \uAE38\uC774",barcode:"\uC568\uBC94 \uBC14\uCF54\uB4DC (UPC)",bpm:"BPM",replayGain:"\uB9AC\uD50C\uB808\uC774 \uAC8C\uC778",label:"\uC568\uBC94 \uB77C\uBCA8",lyrics:"\uBE44\uB3D9\uAE30 \uAC00\uC0AC",copyright:"\uC800\uC791\uAD8C",composer:"\uC791\uACE1\uAC00",involvedPeople:"\uAD00\uB828\uC788\uB294 \uC0AC\uB78C\uB4E4",source:"\uC18C\uC2A4\uC640 \uC74C\uC545 ID"},other:{title:"\uAE30\uD0C0",savePlaylistAsCompilation:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uD3B8\uCC2C\uBB3C\uB85C \uC800\uC7A5",useNullSeparator:"null \uAD6C\uBD84\uC790 \uC0AC\uC6A9",saveID3v1:"ID3v1 \uD0DC\uADF8 \uD615\uC2DD\uC73C\uB85C \uC800\uC7A5",multiArtistSeparator:{title:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC5B4\uB5BB\uAC8C \uAD6C\uBD84\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",nothing:"\uC8FC\uC694 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",default:"\uD45C\uC900 \uC2A4\uD399\uC744 \uC0AC\uC6A9",andFeat:"& \uAE30\uD638\uC640 feat \uC0AC\uC6A9.",using:'"{separator}" \uC0AC\uC6A9'},singleAlbumArtist:"\uC8FC\uC694 \uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",albumVariousArtists:'\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uC5D0 "Various Artists"(\uB2E4\uC591\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4) \uC720\uC9C0',removeAlbumVersion:'\uD2B8\uB799 \uC81C\uBAA9\uC5D0 "Album Version"(\uC568\uBC94 \uBC84\uC804) \uC81C\uAC70',removeDuplicateArtists:"\uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC758 \uD611\uC5C5 \uC81C\uAC70",dateFormat:{title:"FLAC \uD30C\uC77C\uC758 \uB0A0\uC9DC \uD615\uC2DD",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\uD2B9\uC9D1\uC5D0 \uCC38\uC5EC\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC5D0 \uD560 \uC218 \uC788\uB294 \uAC83\uC774 \uBB34\uC5C7\uC774 \uC788\uB098\uC694?",0:"\uC544\uBB34\uAC83\uB3C4 \uD558\uC9C0 \uC54A\uC74C",1:"\uC81C\uBAA9\uC5D0\uC11C \uC81C\uAC70",3:"\uC568\uBC94 \uC81C\uBAA9\uACFC \uD2B8\uB799\uC5D0\uC11C \uC81C\uAC70",2:"\uC81C\uBAA9\uC73C\uB85C \uC774\uB3D9"},titleCasing:"\uC81C\uBAA9 \uCF00\uC774\uC2F1",artistCasing:"\uC544\uD2F0\uC2A4\uD2B8 \uCF00\uC774\uC2F1",casing:{nothing:"\uBCC0\uD568\uC5C6\uC774 \uC720\uC9C0",lower:"\uC18C\uBB38\uC790\uB85C",upper:"\uB300\uBB38\uC790\uB85C",start:"\uAC01 \uB2E8\uC5B4 \uC55E \uAE00\uC790\uB97C \uB300\uBB38\uC790\uB85C",sentence:"\uBB38\uC7A5\uCC98\uB7FC"},previewVolume:"\uBBF8\uB9AC\uB4E3\uAE30 \uBCFC\uB968",executeCommand:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uD6C4 \uC2E4\uD589\uD560 \uBA85\uB839\uC5B4",description:"\uBE48\uCE78\uC73C\uB85C \uB450\uBA74 \uC544\uBB34 \uC77C\uB3C4 \uC5C6\uC2B5\uB2C8\uB2E4"}},spotify:{title:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify \uC0AC\uC6A9\uC790\uC774\uB984"},reset:"\uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uCD08\uAE30\uD654",save:"\uC800\uC7A5",toasts:{init:"\uC124\uC815\uC744 \uBD88\uB7EC\uC654\uC2B5\uB2C8\uB2E4!",update:"\uC0C8\uB85C\uC6B4 \uC124\uC815\uC73C\uB85C \uAC31\uC2E0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",ARLcopied:"ARL\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},sidebar:{home:"\uD648",search:"\uAC80\uC0C9",charts:"\uCC28\uD2B8",favorites:"\uC990\uACA8\uCC3E\uAE30",linkAnalyzer:"\uB9C1\uD06C \uBD84\uC11D\uAE30",settings:"\uC124\uC815",about:"\uC815\uBCF4"},tracklist:{downloadSelection:"\uC120\uD0DD \uB2E4\uC6B4\uB85C\uB4DC"}},ph={globals:{welcome:"Welcome sa deemix",back:"bumalik",loading:"kumakarga",download:"I-download {thing}",by:"ayon sa {artist}",in:"sa {album}",download_hint:"I-download",play_hint:"I-play",toggle_download_tab_hint:"Palakihin/Paliitan",clean_queue_hint:"Natapos na ang Pag-alis",cancel_queue_hint:"Ikansel Lahat",open_downloads_folder:"Buksan ang Polder ng Download",cut:"i-cut",copy:"kopyahin",copyLink:"kopyahin ang link",copyImageLink:"kopyahin ang imahe sa link",copyDeezerLink:"kopyahin ang link ng deezer",paste:"idikit",listTabs:{empty:"",all:"lahat",top_result:"nangungunang resulta",album:"album | mga album",artist:"artist | mga artist",single:"single | mga single",title:"pamagat | mga pamagat",track:"track | mga track",trackN:"0 mga track | {n} track | {n} mga track",releaseN:"0 mga release | {n} release | {n} mga release",playlist:"playlist | mga playlist",compile:"pinagsama | mga pinagsama",ep:"ep | mga ep",bundle:"bundle | mga bundle",more:"Iba pang mga album",featured:"Ibinida sa",spotifyPlaylist:"playlist sa spotify | mga playlist sa spotify",releaseDate:"petsa ng paglabas",error:"error"}},about:{updates:{currentVersion:"Kasalukuyang version",versionNotAvailable:"H/P",updateAvailable:"Hindi mo ginagamit ang pinakabagong version: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Nakatutulong na mga Link",bugReports:"Report sa Bug",contributing:"Pagtulong",donations:"Mga donasiyon",license:"Lisensiya"},subtitles:{bugReports:"Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!",contributing:"Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!",donations:"Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!"},usesLibrary:"Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.",thanks:"Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.",upToDate:{text:"Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.",newsChannel:"news channel"},officialWebsite:"Opisyal na Website",officialRepo:"Opisyal na Library Repository",officialWebuiRepo:"Opisyal na Repository ng WebUI",officialSubreddit:"Opisyal na Subreddit",newsChannel:"News Channel",questions:{text:"Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.",subreddit:"subreddit"},beforeReporting:"Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.",beSure:"Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.",duplicateReports:"Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.",dontOpenIssues:"HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.",newUI:{text:"Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.",repo:"repo"},acceptFeatures:"Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.",otherLanguages:"Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!",understandingCode:"Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.",contributeWebUI:{text:"Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.",webui:"WebUI"},itsFree:"Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.",notObligated:"Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!",lincensedUnder:{text:"Ang aktibidad na ito ay lisensiyado sa {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Mga Chart",changeCountry:"Palitan ang Country",download:"I-download ang Chart"},errors:{title:"Mga error sa {name}",ids:{invalidURL:"Hindi makilala ang URL",unsupportedURL:"Hindi pa suportado ang URL",ISRCnotOnDeezer:"Ang Track ISRC ay hindi pwede sa Deezer",notYourPrivatePlaylist:"Hindi pwedeng i-download ang mga pribadong playlist ng iba.",spotifyDisabled:"Hindi mo nai-set nang tama ang Spotify Features.",trackNotOnDeezer:"Hindi mahanap ang track sa Deezer!",albumNotOnDeezer:"Hindi mahanap ang album sa Deezer!",notOnDeezer:"Hindi available ang track sa Deezer!",notEncoded:"Hindi pa nae-encode ang track!",notEncodedNoAlternative:"Hindi pa nae-encode ang track at walang mahanap na iba!",wrongBitrate:"Hindi mahanap ang track sa gusto mong bitrate.",wrongBitrateNoAlternative:"Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!",no360RA:"Hindi pwede ang track para sa Reality Audio 360.",notAvailable:"Walang available na track sa server ng Deezer!",notAvailableNoAlternative:"Walang available na track sa server ng Deezer at walang mahanap na iba!",noSpaceLeft:"Wala nang natitirang space sa iyong device!"}},favorites:{title:"Mga Paborito",noPlaylists:"Walang makitang mga Playlist",noAlbums:"Walang makitang mga Paboritong Album",noArtists:"Walang makitang mga Paboritong Artist",noTracks:"Walang makitang mga Paboritong Track"},home:{needTologin:"Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.",openSettings:"Buksan ang Mga Setting",sections:{popularPlaylists:"Mga sikat na playlist",popularAlbums:"Pinakamaraming pinakikinggang mga album"}},linkAnalyzer:{info:"Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.",useful:"Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.",linkNotSupported:"Hindi pa suportado ang link",linkNotSupportedYet:"Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Haba",diskNumber:"Bilang ng Disk",trackNumber:"Bilang ng Track",releaseDate:"Petsa ng Release",bpm:"BPM",label:"Label",recordType:"Uri ng Rekord",genres:"Mga Genre",tracklist:"Listahan ng Track"}},search:{startSearching:"Simulang Maghanap!",description:"Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer",fans:"{n} mga fan",noResults:"Walang resulta",noResultsTrack:"Walang mahanap na mga Track",noResultsAlbum:"Walang mahanap na mga Album",noResultsArtist:"Walang mahanap na mga Artist",noResultsPlaylist:"Walang mahanap na mga Playlist"},searchbar:"Maghanap ka ng gusto mo (o mag-paste ka ng link)",downloads:"mga download",toasts:{restoringQueue:"Binabalik ang download queue...",queueRestored:"Naibalik na ang download queue!",addedToQueue:"{item} ay naidagdag sa queue",addedMoreToQueue:"{n} naidagdag rin sa queue",alreadyInQueue:"{item} ay meron na sa queue!",finishDownload:"{item} ay natapos nang i-download.",allDownloaded:"Nadownload na lahat!",refreshFavs:"Narefresh na!",loggingIn:"Nagla-log in...",loggedIn:"Na-login na",alreadyLogged:"Nakalogin ka na",loginFailed:"Hindi maka-log in",loggedOut:"Na-logout na",cancellingCurrentItem:"Kinakansel ang item.",currentItemCancelled:"Nakansel na ang item.",startAddingArtist:"Idinadagdag si {artist} sa queue ng mga album",finishAddingArtist:"Naidagdag na si {artist} sa queue ng mga album",startConvertingSpotifyPlaylist:"Kino-convert ang mga track sa spotify papuntang Deezer",finishConvertingSpotifyPlaylist:"Naconvert na ang playlist sa Spotify",loginNeededToDownload:"Kailangan mong mag-login para madownload ang mga track!",deezerNotAvailable:"Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN."},settings:{title:"Mga Setting",languages:"Mga Wika",login:{title:"Login",loggedIn:"Ikaw ay naka-login sa pangalang {username}",arl:{question:"Paano ako makakuha ng sariling ARL?",update:"I-update ang ARL"},logout:"Logout",login:"Mag-login gamit ng deezer.com"},appearance:{title:"Hitsura",slimDownloadTab:"Pinaliit na download tab"},downloadPath:{title:"Paglalagyan ng Download"},templates:{title:"Mga Template",tracknameTemplate:"Template sa pangalan ng Track",albumTracknameTemplate:"Template sa track ng Album",playlistTracknameTemplate:"Template sa track ng Playlist"},folders:{title:"Mga Folder",createPlaylistFolder:"Gumawa ng folder para sa mga playlist",playlistNameTemplate:"Template sa folder ng Playlist",createArtistFolder:"Gumawa ng folder para sa artist",artistNameTemplate:"Template sa folder ng Artist",createAlbumFolder:"Gumawa ng folder para sa album",albumNameTemplate:"Template sa folder ng Album",createCDFolder:"Gumawa ng folder para sa mga CD",createStructurePlaylist:"Gumawa ng istraktura ng folder para sa mga playlist",createSingleFolder:"Gumawa ng istraktura ng folder para sa mga single"},trackTitles:{title:"Pamagat sa mga track",padTracks:"Mga track ng Pad",paddingSize:"Patungan ang laki ng padding",illegalCharacterReplacer:"Pamalit sa ilegal na Karakter"},downloads:{title:"Mga Download",queueConcurrency:"Mga Kasabay na Download",maxBitrate:{title:"Gustong Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Papatungan ko ba ang file?",y:"Oo, patungan mo ang file",n:"Hindi, huwag mong patungan ang file",t:"Patungan mo lang ang mga tag",b:"Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya",e:"Hindi, at huwag mong tignan ang mga extension"},fallbackBitrate:"Binabaang bitrate",fallbackSearch:"Maghanap para sa binabaan",logErrors:"Gumawa ng log file para sa mga error",logSearched:"Gumawa ng log file para sa mga hinanap na track",createM3U8File:"Gumawa ng file sa playlist",syncedLyrics:"Gumawa ng mga .lyr file (Mga Sync Lyric)",playlistFilenameTemplate:"Template sa pangalan ng Playlist file",saveDownloadQueue:"I-save ang download queue kapag isasara the app"},covers:{title:"Mga cover ng album",saveArtwork:"I-save ang mga Cover",coverImageTemplate:"Template ng pangalan ng cover",saveArtworkArtist:"I-save ang imahe ng artist",artistImageTemplate:"Template ng imahe ng artist",localArtworkSize:"Laki ng lokal na artwork",embeddedArtworkSize:"Laki ng Nakadikit na artwork",localArtworkFormat:{title:"Anong gusto mong format para sa mga lokal na artwork?",jpg:"jpeg na imahe",png:"png na imahe",both:"Parehong jpeg at png"},jpegImageQuality:"Kalidad ng JPEG na imahe",embeddedArtworkPNG:"I-save ang nakadikit na artwork bilang PNG",embeddedPNGWarning:"Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug",imageSizeWarning:"Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu",coverDescriptionUTF8:"I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)"},tags:{head:"Aling tag ang ise-save",title:"Pamagat",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Bilang ng Track",trackTotal:"Kabuuang Track",discNumber:"Bilang ng Disk",discTotal:"Kabuuang Disk",albumArtist:"Album Artist",genre:"Genre",year:"Taon",date:"Petsa",explicit:"Mga Explicit na Lyric",isrc:"ISRC",length:"Haba ng Track",barcode:"Barcode ng Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label ng Album",lyrics:"Unsynchronized na mga Lyric",syncedLyrics:"Synchronized na mga Lyric",copyright:"Karapatang Ari",composer:"Komposer",involvedPeople:"Mga Kasamang Tao"},other:{title:"Iba pa",savePlaylistAsCompilation:"I-save ang mga playlist bilang compilation",useNullSeparator:"Gumamit ng panghiwalay sa null",saveID3v1:"I-save rin ang ID3v1",multiArtistSeparator:{title:"Anong gusto mo para maihanay mga artist?",nothing:"I-save lang ang pangunahing artist",default:"Gamit ng standard na specification",andFeat:"Gamit ng & at feat.",using:'Gamit ng "{separator}"'},singleAlbumArtist:"I-save lang ang pangunahing album ng artist",albumVariousArtists:'Isama ang "Various Artists" sa mga Album Artist',removeAlbumVersion:'Tanggalin ang "Album Version" sa pamagat ng track',removeDuplicateArtists:"Tanggalin ang kombinasyon ng mga artist",dateFormat:{title:"Format ng petsa para sa mga FLAC file",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Anong gagawin ko sa mga itinampok na artist",0:"Wala",1:"Tanggalin mo sila sa Pamagat",3:"Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album",2:"Ilipat mo sila sa pamagat"},titleCasing:"Pagleletra sa Pamagat",artistCasing:"Pagleletra sa Artist",casing:{nothing:"Walang babaguhin",lower:"maliliit",upper:"MALALAKI",start:"Simula Ng Bawata Salita",sentence:"Kagaya ng pangungusap"},previewVolume:"Volume ng Preview",executeCommand:{title:"Mga gagawin pagkatapos ng download",description:"Hayaan lang na blangko kung wala"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"Paano ma-enable ang Spotify Features?"},reset:"Ibalik sa Dati",save:"I-save",toasts:{init:"Ikinarga ang mga Setting!",update:"In-update ang mga Setting!",ARLcopied:"Kinopya ang ARL sa clipboard"}},sidebar:{home:"tahanan",search:"maghanap",charts:"mga chart",favorites:"mga paborito",linkAnalyzer:"tagasuri ng link",settings:"mga setting",about:"tungkol sa"},tracklist:{downloadSelection:"Pagpipili ng download"}},zh_tw={globals:{welcome:"\u6B61\u8FCE\u4F7F\u7528 deemix",back:"\u8FD4\u56DE",loading:"\u8F09\u5165\u4E2D",download:"\u4E0B\u8F09 {thing}",by:"{artist}",in:"\u65BC {album}",download_hint:"\u4E0B\u8F09",play_hint:"\u64AD\u653E",toggle_download_tab_hint:"\u5C55\u958B/\u6298\u758A",clean_queue_hint:"\u6E05\u9664\u5B8C\u6210",cancel_queue_hint:"\u53D6\u6D88\u5168\u90E8",open_downloads_folder:"\u958B\u555F\u4E0B\u8F09\u8CC7\u6599\u593E",cut:"\u526A\u4E0B",copy:"\u8907\u88FD",copyLink:"\u8907\u88FD\u9023\u7D50",copyImageLink:"\u8907\u88FD\u5716\u7247\u9023\u7D50",copyDeezerLink:"\u8907\u88FD deezer \u9023\u7D50",paste:"\u8CBC\u4E0A",listTabs:{empty:"",all:"\u6240\u6709",top_result:"\u6700\u4F73\u7D50\u679C",album:"\u5C08\u8F2F|\u5C08\u8F2F",artist:"\u85DD\u4EBA|\u85DD\u4EBA",single:"\u55AE\u66F2",title:"\u6A19\u984C|\u6A19\u984C",track:"\u6B4C\u66F2|\u6B4C\u66F2",releaseN:"0 \u767C\u884C| {n} \u767C\u884C| {n} \u767C\u884C",playlist:"\u64AD\u653E\u6E05\u55AE|\u64AD\u653E\u6E05\u55AE",compile:"\u5408\u8F2F|\u5408\u8F2F",ep:"\u8FF7\u4F60\u5C08\u8F2F | \u8FF7\u4F60\u5C08\u8F2F",bundle:"bundle | bundles",more:"\u66F4\u591A\u5C08\u8F2F",featured:"\u51FA\u73FE\u65BC",spotifyPlaylist:"Spotify \u64AD\u653E\u6E05\u55AE | Spotify \u64AD\u653E\u6E05\u55AE",releaseDate:"\u767C\u5E03\u65E5\u671F",error:"\u932F\u8AA4",trackN:"0 \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2",albumN:"0 \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F",artistN:"0 \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA",playlistN:"0 \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE"}},about:{appStatus:{online:"\u4E0A\u7DDA\u4E2D",offline:"\u96E2\u7DDA\u4E2D"},updates:{currentVersion:"\u76EE\u524D\u7248\u672C",currentWebuiVersion:"\u76EE\u524D\u524D\u7AEF\u7248\u672C",versionNotAvailable:"N/A",updateAvailable:"\u60A8\u5C1A\u672A\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF1A{version}",deemixVersion:"deemix \u51FD\u793A\u5EAB\u7248\u672C"},titles:{usefulLinks:"\u5BE6\u7528\u9023\u7D50",bugReports:"\u932F\u8AA4\u5831\u544A",contributing:"\u8CA2\u737B",donations:"\u8D0A\u52A9",license:"\u4F7F\u7528\u8A31\u53EF"},subtitles:{bugReports:"\u4F7F\u7528 deemix \u6642\uFF0C\u9047\u5230\u4E86\u4EC0\u9EBC\u554F\u984C\u55CE\uFF1F\u6B61\u8FCE\u56DE\u5831\u932F\u8AA4\uFF01",contributing:"\u60A8\u60F3\u66FF\u9019\u500B\u5C08\u6848\u63D0\u51FA\u8CA2\u737B\u55CE\uFF1F\u60A8\u53EF\u4EE5\u900F\u904E\u8A31\u591A\u4E0D\u540C\u7684\u65B9\u5F0F\u4F86\u5E6B\u5FD9\uFF01",donations:"\u60A8\u60F3\u8981\u6350\u6B3E\u55CE\uFF1F\u53EF\u4EE5\u8D0A\u52A9\u6211\u5011\uFF01"},usesLibrary:"\u672C\u7A0B\u5F0F\u57FA\u65BC deemix \u51FD\u793A\u5EAB\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u8A72\u51FD\u793A\u5EAB\u4F86\u88FD\u4F5C\u81EA\u5DF1\u7684\u524D\u7AEF\u3002",thanks:"\u611F\u8B1D rtonno\u3001uhwot \u53CA lollilol \u5C0D\u65BC\u672C\u5C08\u6848\u7684\u8CA2\u737B\uFF0C\u53E6\u5916\u4E5F\u611F\u8B1D BasCurtiz \u5E6B\u5FD9\u88FD\u4F5C\u672C\u5C08\u6848\u7684\u5716\u793A",upToDate:{text:"\u60A8\u53EF\u65BC Telegram \u4E0A\u95DC\u6CE8{newsChannel}\u4EE5\u53D6\u5F97\u6700\u65B0\u52D5\u614B\u3002",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053"},officialWebsite:"\u5B98\u65B9\u7DB2\u7AD9",officialRepo:"\u5B98\u65B9\u51FD\u793A\u7248\u672C\u5EAB",officialWebuiRepo:"\u5B98\u65B9 WebUI \u7248\u672C\u5EAB",officialSubreddit:"\u5B98\u65B9 Subreddit",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053",questions:{text:"\u5982\u679C\u60A8\u5C0D\u672C\u7A0B\u5F0F\u6709\u7591\u554F\u6216\u554F\u984C\uFF0C\u8ACB\u5148\u5728{subreddit}\u4E0A\u641C\u5C0B\u89E3\u6C7A\u65B9\u6848\u3002\u5982\u679C\u627E\u4E0D\u5230\u4EFB\u4F55\u89E3\u6C7A\u65B9\u6CD5\uFF0C\u5247\u53EF\u4EE5\u5728\u6211\u5011\u7684 subreddit \u4E0A\u767C\u5E03\u8207\u60A8\u554F\u984C\u76F8\u95DC\u7684\u6587\u7AE0\u3002",subreddit:" subreddit "},beforeReporting:"\u5728\u5831\u544A\u932F\u8AA4\u4E4B\u524D\uFF0C\u8ACB\u78BA\u4FDD\u60A8\u6B63\u5728\u904B\u884C\u6700\u65B0\u7248\u672C\u7684\u7A0B\u5F0F\uFF0C\u4E26\u4E14\u8981\u5831\u544A\u7684\u5167\u5BB9\u771F\u7684\u662F\u4E00\u500B\u932F\u8AA4\uFF0C\u800C\u4E0D\u50C5\u662F\u60A8\u81EA\u5DF1\u9047\u5230\u7684\u554F\u984C\u3002",beSure:"\u8ACB\u78BA\u4FDD\u60A8\u6240\u60F3\u56DE\u5831\u7684\u932F\u8AA4\u53EF\u5728\u5176\u4ED6\u53F0\u88DD\u7F6E\u4E0A\u518D\u73FE\u7684\uFF0C\u4E26\u4E14\u8ACB\u52FF\u56DE\u5831\u5DF2\u77E5\u932F\u8AA4\u3002",duplicateReports:"\u8ACB\u6CE8\u610F\uFF0C\u91CD\u8907\u7684\u932F\u8AA4\u5831\u544A\u5C07\u88AB\u79FB\u9664\u3002",dontOpenIssues:"\u8ACB\u52FF\u900F\u904E\u672C\u7248\u672C\u5EAB\u7684 Issues \u554F\u554F\u984C\uFF0C\u6211\u5011\u958B subreddit \u662F\u6709\u539F\u56E0\u7684\u3002",newUI:{text:"\u5982\u679C\u60A8\u7CBE\u901A Python\uFF0C\u5247\u53EF\u4EE5\u5617\u8A66\u4F7F\u7528\u6211\u5011\u7684\u51FD\u793A\u5EAB\u4F86\u5EFA\u7ACB\u65B0\u7684 UI\uFF0C\u6216\u8005\u900F\u904E{repo}\u63D0\u51FA\u932F\u8AA4\u76F8\u95DC\u7684 PR\u3002",repo:"\u6211\u5011\u7684\u7248\u672C\u5EAB"},acceptFeatures:"\u6211\u4E5F\u6B61\u8FCE\u4F60\u63D0\u4EA4\u65B0\u7684\u529F\u80FD\uFF0D\u4F46\u524D\u63D0\u662F\u9019\u500B\u529F\u80FD\u4E0D\u80FD\u904E\u65BC\u8907\u96DC\uFF0D\u904E\u65BC\u8907\u96DC\u7684\u529F\u80FD\uFF0C\u61C9\u88AB\u65B0\u589E\u81F3\u7A0B\u5F0F\u5167\u800C\u975E\u51FD\u793A\u5EAB\u5167\u3002",otherLanguages:"\u5982\u679C\u60A8\u7CBE\u901A\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u5617\u8A66\u5C07 deemix \u79FB\u690D\u5230\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\u4E2D\uFF01",understandingCode:"\u4F60\u9700\u8981\u5E6B\u52A9\u4E86\u89E3\u672C\u5C08\u6848\u7684\u7A0B\u5F0F\u78BC\u55CE\uFF1F\u53EA\u9700\u5728 Telegram \u6216 Reddit \u4E0A\u6309\u4E00\u4E0B RemixDev\u3002",contributeWebUI:{text:"\u5982\u679C\u4F60\u719F\u6089 Vue.js\uFF08JavaScript\uFF09\u3001HTML \u6216 CSS\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u53C3\u8207 {webui} \u524D\u7AEF\u7684\u8CA2\u737B\u3002",webui:"WebUI"},itsFree:"\u8A18\u5F97\uFF0C\u9019\u662F\u4E00\u500B\u514D\u8CBB\u7684\u5C08\u6848\uFF0C\u5728\u652F\u6301\u958B\u767C\u4EBA\u54E1\u4E4B\u524D\uFF0C\u61C9\u8A72\u5148\u652F\u6301\u4F60\u559C\u6B61\u7684\u6B4C\u624B\u6216\u85DD\u4EBA\u3002",notObligated:"\u5225\u8A8D\u70BA\u4F60\u6709\u7FA9\u52D9\u6350\u6B3E\uFF0C\u7121\u8AD6\u5982\u4F55\u6211\u5011\u90FD\u611F\u8B1D\u60A8\uFF01",lincensedUnder:{text:"\u672C\u4F5C\u54C1\u4F7F\u7528 {gpl3} \u8A31\u53EF\u6388\u6B0A\u3002",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u6392\u884C\u699C",changeCountry:"\u6539\u8B8A\u570B\u5BB6",download:"\u4E0B\u8F09\u6392\u884C\u699C"},errors:{title:"{name} \u7684\u932F\u8AA4",ids:{invalidURL:"\u7121\u6CD5\u8B58\u5225\u7DB2\u5740",unsupportedURL:"\u5C1A\u4E0D\u652F\u6301\u6B64\u7DB2\u5740",ISRCnotOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u4F7F\u7528\u55AE\u66F2 ISRC",notYourPrivatePlaylist:"\u60A8\u7121\u6CD5\u4E0B\u8F09\u4ED6\u4EBA\u7684\u79C1\u4EBA\u64AD\u653E\u6E05\u55AE\u3002",spotifyDisabled:"Spotify \u529F\u80FD\u672A\u6B63\u78BA\u8A2D\u5B9A\u3002",trackNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u6B4C\u66F2\uFF01",albumNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u5C08\u8F2F\uFF01",notOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notEncoded:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF01",notEncodedNoAlternative:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",wrongBitrate:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\u3002",wrongBitrateNoAlternative:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",no360RA:"\u672C\u6B4C\u66F2\u4E26\u4E0D\u652F\u63F4 Reality Audio 360\u3002",notAvailable:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notAvailableNoAlternative:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",noSpaceLeft:"\u672C\u88DD\u7F6E\u53EF\u7528\u7A7A\u9593\u5DF2\u7528\u76E1\uFF01",albumDoesntExists:"\u672C\u6B4C\u66F2\u7684\u5C08\u8F2F\u4E0D\u5B58\u5728\uFF0C\u7121\u6CD5\u53D6\u5F97\u8CC7\u8A0A"}},favorites:{title:"\u6536\u85CF",noPlaylists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u64AD\u653E\u6E05\u55AE",noAlbums:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u5C08\u8F2F",noArtists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u85DD\u4EBA",noTracks:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u6B4C\u66F2"},home:{needTologin:"\u60A8\u9700\u8981\u5148\u767B\u5165 Deezer \u5E33\u6236\uFF0C\u7136\u5F8C\u624D\u80FD\u958B\u59CB\u4E0B\u8F09\u3002",openSettings:"\u958B\u555F\u8A2D\u5B9A",sections:{popularPlaylists:"\u71B1\u9580\u64AD\u653E\u6E05\u55AE",popularAlbums:"\u71B1\u9580\u5C08\u8F2F"}},linkAnalyzer:{info:"\u60A8\u53EF\u4EE5\u900F\u904E\u6B64\u5DE5\u5177\u53D6\u5F97\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u9023\u7D50\u7684\u76F8\u95DC\u8CC7\u8A0A\u3002",useful:"\u6BD4\u5982\uFF0C\u7576\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u6B4C\u66F2\u7121\u6CD5\u5728\u60A8\u7684\u570B\u5BB6\u64AD\u653E\uFF0C\u4E14\u60A8\u60F3\u77E5\u9053\u54EA\u4E9B\u570B\u5BB6\u53EF\u4EE5\u64AD\u653E\u6B64\u6B4C\u66F2\u6642\uFF0C\u60A8\u53EF\u4F7F\u7528\u6B64\u5DE5\u5177\u3002",linkNotSupported:"\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50",linkNotSupportedYet:"\u6211\u5011\u4F3C\u4E4E\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50\uFF0C\u8ACB\u6539\u7528\u5176\u4ED6\u9023\u7D50\u3002",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u9577\u5EA6",diskNumber:"\u5149\u789F\u7DE8\u865F",trackNumber:"\u6B4C\u66F2\u7DE8\u865F",releaseDate:"\u767C\u5E03\u65E5\u671F",bpm:"BPM",label:"\u6A19\u7C64",recordType:"\u5A92\u9AD4\u985E\u578B",genres:"\u985E\u578B",tracklist:"\u6B4C\u66F2\u6E05\u55AE"}},search:{startSearching:"\u958B\u59CB\u641C\u5C0B\uFF01",description:"\u60A8\u53EF\u4EE5\u641C\u7D22\u6B4C\u66F2\u540D\u7A31\u3001\u5C08\u8F2F\u3001\u85DD\u4EBA\u3001\u64AD\u653E\u6E05\u55AE...\u7B49\u7B49\u3002\u60A8\u4E5F\u53EF\u4EE5\u76F4\u63A5\u8CBC\u4E0A Deezer \u7DB2\u5740\u3002",fans:"{n} \u500B\u7C89\u7D72",noResults:"\u7121\u641C\u5C0B\u7D50\u679C",noResultsTrack:"\u627E\u4E0D\u5230\u6B4C\u66F2",noResultsAlbum:"\u627E\u4E0D\u5230\u5C08\u8F2F",noResultsArtist:"\u627E\u4E0D\u5230\u85DD\u4EBA",noResultsPlaylist:"\u627E\u4E0D\u5230\u64AD\u653E\u6E05\u55AE"},searchbar:"\u641C\u5C0B\u4EFB\u4F55\u95DC\u9375\u5B57\uFF08\u6216\u8CBC\u4E0A\u9023\u7D50\uFF09",downloads:"\u4E0B\u8F09",toasts:{restoringQueue:"\u6B63\u5728\u6062\u5FA9\u4E0B\u8F09\u6E05\u55AE...",queueRestored:"\u4E0B\u8F09\u6E05\u55AE\u5DF2\u6062\u5FA9\uFF01",addedToQueue:"\u5DF2\u65B0\u589E {item} \u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",addedMoreToQueue:"\u5DF2\u65B0\u589E {n} \u500B\u9805\u76EE\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",alreadyInQueue:"{item} \u5DF2\u5728\u4E0B\u8F09\u6E05\u55AE\u4E2D\uFF01",finishDownload:"{item} \u5DF2\u5B8C\u6210\u4E0B\u8F09\u3002",allDownloaded:"\u5168\u90E8\u4E0B\u8F09\u5B8C\u6210\uFF01",refreshFavs:"\u5237\u65B0\u5B8C\u6210\uFF01",loggingIn:"\u767B\u5165\u4E2D...",loggedIn:"\u767B\u5165",alreadyLogged:"\u5DF2\u767B\u5165",loginFailed:"\u7121\u6CD5\u767B\u5165",loggedOut:"\u767B\u51FA",cancellingCurrentItem:"\u53D6\u6D88\u7576\u524D\u9805\u76EE\u3002",currentItemCancelled:"\u7576\u524D\u9805\u76EE\u5DF2\u53D6\u6D88\u3002",startAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",finishAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",startConvertingSpotifyPlaylist:"\u5C07 Spotify \u6B4C\u66F2\u8F49\u63DB\u70BA Deezer \u6B4C\u66F2\u4E2D",finishConvertingSpotifyPlaylist:"\u5DF2\u8F49\u63DB Spotify \u64AD\u653E\u6E05\u55AE",loginNeededToDownload:"\u60A8\u9700\u8981\u767B\u5165\u624D\u80FD\u4E0B\u8F09\u6B4C\u66F2\uFF01",deezerNotAvailable:"Deezer \u5728\u60A8\u6240\u5728\u7684\u570B\u5BB6/\u5730\u5340\u7121\u6CD5\u4F7F\u7528\u3002\u8ACB\u60A8\u4F7F\u7528 VPN\u3002",startGeneratingItems:"\u751F\u6210 {n} \u500B\u9805\u76EE\u4E2D...",finishGeneratingItems:"\u5DF2\u751F\u6210 {n} \u500B\u9805\u76EE."},settings:{title:"\u8A2D\u5B9A",languages:"\u8A9E\u8A00",login:{title:"\u767B\u5165",loggedIn:"\u76EE\u524D\u4EE5 {username} \u7684\u8EAB\u4EFD\u767B\u5165",arl:{question:"\u5982\u4F55\u53D6\u5F97\u81EA\u5DF1\u7684 ARL\uFF1F",update:"\u66F4\u65B0 ARL"},logout:"\u767B\u51FA",login:"\u900F\u904E deezer.com \u767B\u5165"},appearance:{title:"\u5916\u89C0",slimDownloadTab:"\u8584\u578B\u4E0B\u8F09\u5206\u9801",slimSidebar:"\u8584\u578B\u6E2C\u6B04"},downloadPath:{title:"\u4E0B\u8F09\u76EE\u9304"},templates:{title:"\u6A94\u6848\u540D\u7A31\u683C\u5F0F",tracknameTemplate:"\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",albumTracknameTemplate:"\u5C08\u8F2F\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",playlistTracknameTemplate:"\u64AD\u653E\u6E05\u55AE\u55AE\u66F2\u540D\u7A31\u683C\u5F0F"},folders:{title:"\u8CC7\u6599\u593E",createPlaylistFolder:"\u66FF\u64AD\u653E\u6E05\u55AE\u5EFA\u7ACB\u8CC7\u6599\u593E",playlistNameTemplate:"\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createArtistFolder:"\u66FF\u85DD\u4EBA\u5EFA\u7ACB\u8CC7\u6599\u593E",artistNameTemplate:"\u85DD\u4EBA\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createAlbumFolder:"\u66FF\u5C08\u8F2F\u5EFA\u7ACB\u8CC7\u6599\u593E",albumNameTemplate:"\u5C08\u8F2F\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createCDFolder:"\u66FF CD \u5EFA\u7ACB\u8CC7\u6599\u593E",createStructurePlaylist:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u7D50\u69CB",createSingleFolder:"\u5EFA\u7ACB\u55AE\u66F2\u8CC7\u6599\u593E\u7D50\u69CB"},trackTitles:{title:"\u55AE\u66F2\u540D\u7A31",padTracks:"\u6B4C\u66F2\u6578\u76EE\u5B57\u4E32\u586B\u5145",paddingSize:"\u8986\u84CB\u6578\u76EE\u5B57\u4E32\u586B\u5145\u9577\u5EA6",illegalCharacterReplacer:"\u66FF\u63DB\u975E\u6CD5\u5B57\u5143"},downloads:{title:"\u4E0B\u8F09",queueConcurrency:"\u4E26\u884C\u4E0B\u8F09",maxBitrate:{title:"\u504F\u597D\u4F4D\u5143\u7387",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u662F\u5426\u8981\u8986\u84CB\u6A94\u6848\uFF1F",y:"\u662F\uFF0C\u8986\u84CB\u6A94\u6848",n:"\u5426\uFF0C\u8ACB\u52FF\u8986\u84CB\u6A94\u6848",t:"\u50C5\u8986\u84CB\u6A19\u7C64",b:"\u5426\uFF0C\u4FDD\u7559\u5169\u500B\u6A94\u6848\u4E26\u5728\u91CD\u8907\u7684\u6A94\u540D\u4E2D\u52A0\u5165\u4E00\u500B\u6578\u5B57",e:"\u5426\uFF0C\u4E0D\u9867\u616E\u9644\u6A94\u540D"},fallbackBitrate:"\u7576\u504F\u597D\u4F4D\u5143\u7387\u7121\u6CD5\u4E0B\u8F09\u6642\uFF0C\u4E0B\u8F09\u5176\u4ED6\u7248\u672C",fallbackSearch:"\u7576\u641C\u5C0B\u7D50\u679C\u7121\u6CD5\u4F7F\u7528\u6642\uFF0C\u4F7F\u7528\u5176\u4ED6\u641C\u5C0B\u7D50\u679C",logErrors:"\u8A18\u9304\u932F\u8AA4\u81F3\u65E5\u8A8C",logSearched:"\u8A18\u9304\u641C\u5C0B\u6B4C\u66F2\u81F3\u65E5\u8A8C",createM3U8File:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u6A94\u6848",syncedLyrics:"\u5EFA\u7ACB .lyr \u6A94\u6848\uFF08\u540C\u6B65\u6B4C\u8A5E\uFF09",playlistFilenameTemplate:"\u64AD\u653E\u6E05\u55AE\u6A94\u540D\u683C\u5F0F",saveDownloadQueue:"\u95DC\u9589\u61C9\u7528\u7A0B\u5F0F\u6642\uFF0C\u4FDD\u5B58\u4E0B\u8F09\u6E05\u55AE"},covers:{title:"\u5C08\u8F2F\u5C01\u9762",saveArtwork:"\u4FDD\u5B58\u5C01\u9762",coverImageTemplate:"\u5C01\u9762\u6A94\u540D\u683C\u5F0F",saveArtworkArtist:"\u4FDD\u5B58\u85DD\u4EBA\u7167\u7247",artistImageTemplate:"\u85DD\u4EBA\u7167\u7247\u6A94\u540D\u683C\u5F0F",localArtworkSize:"\u672C\u5730\u5716\u7247\u5927\u5C0F",embeddedArtworkSize:"\u5D4C\u5165\u5716\u7247\u5927\u5C0F",localArtworkFormat:{title:"\u60A8\u5E0C\u671B\u672C\u5730\u5716\u7247\u63A1\u7528\u54EA\u7A2E\u683C\u5F0F\uFF1F",jpg:"JPEG",png:"PNG",both:"JPEG \u53CA PNG"},jpegImageQuality:"JPEG \u5F71\u50CF\u54C1\u8CEA",embeddedArtworkPNG:"\u5C07\u5D4C\u5165\u5F0F\u5716\u7247\u5B58\u70BA PNG",embeddedPNGWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u652F\u63F4 PNG\uFF0C\u7D50\u679C\u53EF\u80FD\u6709\u8AA4",imageSizeWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u4F7F\u7528\u9AD8\u65BC x1200 \u7684\u5716\u7247\uFF0C\u60A8\u53EF\u80FD\u6703\u9047\u5230\u554F\u984C",coverDescriptionUTF8:"\u4F7F\u7528 UTF8 \u4FDD\u5B58\u5C01\u9762\u6558\u8FF0\uFF08\u4FEE\u6B63 iTunes \u5C08\u8F2F\u5C01\u9762)"},tags:{head:"\u8981\u4FDD\u5B58\u54EA\u4E9B\u6A19\u7C64",title:"\u6A19\u984C",artist:"\u85DD\u4EBA",album:"\u5C08\u8F2F",cover:"\u5C08\u8F2F\u5C01\u9762",trackNumber:"\u55AE\u66F2\u7DE8\u865F",trackTotal:"\u7E3D\u8A08\u6B4C\u66F2",discNumber:"\u5149\u789F\u7DE8\u865F",discTotal:"\u5149\u789F\u7E3D\u6578",albumArtist:"\u5C08\u8F2F\u85DD\u4EBA",genre:"\u985E\u578B",year:"\u5E74",date:"\u65E5\u671F",explicit:"\u4E0D\u826F\u6B4C\u8A5E",isrc:"ISRC",length:"\u55AE\u66F2\u9577\u5EA6",barcode:"\u5C08\u8F2F\u689D\u78BC\uFF08UPC\uFF09",bpm:"BPM",replayGain:"\u91CD\u64AD\u589E\u76CA\uFF08Replay Gain\uFF09",label:"\u5C08\u8F2F\u6A19\u7C64",lyrics:"\u4E0D\u540C\u6B65\u7684\u6B4C\u8A5E",syncedLyrics:"\u540C\u6B65\u6B4C\u8A5E",copyright:"\u7248\u6B0A",composer:"\u4F5C\u66F2\u5BB6",involvedPeople:"\u76F8\u95DC\u85DD\u4EBA",source:"\u4F86\u6E90\u6B4C\u66F2 ID"},other:{title:"\u5176\u4ED6",savePlaylistAsCompilation:"\u5C07\u64AD\u653E\u6E05\u55AE\u5132\u5B58\u70BA\u5408\u8F2F",useNullSeparator:"\u4F7F\u7528\u7A7A\u5206\u9694\u7B26",saveID3v1:"\u4FDD\u5B58 ID3v1 \u6A19\u7C64",multiArtistSeparator:{title:"\u5982\u4F55\u9694\u958B\u4F5C\u8005\u540D\u7A31\uFF1F",nothing:"\u50C5\u4FDD\u7559\u4E3B\u4F5C\u8005",default:"\u4F7F\u7528\u6A19\u6E96\u898F\u683C",andFeat:"\u4F7F\u7528 & \u53CA feat.",using:'\u4F7F\u7528 "{separator}"'},singleAlbumArtist:"\u50C5\u5132\u5B58\u5C08\u8F2F\u4E3B\u4F5C\u8005\u540D\u7A31",albumVariousArtists:"\u65BC\u5C08\u8F2F\u4F5C\u8005\u6B04\u4F4D\u4E2D\u4FDD\u7559\u300C\u591A\u4F4D\u85DD\u4EBA (Various Artists)\u300D\u5B57\u6A23",removeAlbumVersion:"\u65BC\u55AE\u66F2\u540D\u7A31\u4E2D\u79FB\u9664\u300C\u5C08\u8F2F\u7248\u672C (Album Version)\u300D\u5B57\u6A23",removeDuplicateArtists:"\u79FB\u9664\u91CD\u8907\u7684\u4F5C\u8005\u540D\u7A31",dateFormat:{title:"FLAC \u6A94\u6848\u65E5\u671F\u683C\u5F0F",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u5982\u4F55\u8655\u7406\u5BA2\u4E32\u85DD\u4EBA\u540D\u7A31 (\u5982 feat. \u7B49\u5B57\u6A23) \uFF1F",0:"\u4EC0\u9EBC\u90FD\u4E0D\u505A",1:"\u5F9E\u6A19\u984C\u4E2D\u522A\u9664",3:"\u5F9E\u6A19\u984C\u548C\u5C08\u8F2F\u6A19\u984C\u4E2D\u522A\u9664",2:"\u5C07\u5176\u79FB\u81F3\u6A19\u984C"},titleCasing:"\u6B4C\u66F2\u540D\u7A31\u5927\u5C0F\u5BEB",artistCasing:"\u85DD\u4EBA\u540D\u7A31\u5927\u5C0F\u5BEB",casing:{nothing:"\u4FDD\u6301\u4E0D\u8B8A",lower:"\u5C0F\u5BEB",upper:"\u5927\u5BEB",start:"\u5B57\u8A5E\u958B\u982D\u5927\u5BEB",sentence:"\u53E5\u5B50\u5927\u5BEB"},previewVolume:"\u9810\u89BD\u97F3\u91CF",executeCommand:{title:"\u4E0B\u8F09\u5F8C\u57F7\u884C\u6307\u4EE4",description:"\u7559\u7A7A\u5247\u4E0D\u57F7\u884C"}},spotify:{title:"Spotify \u529F\u80FD",clientID:"Spotify \u5BA2\u6236\u7AEF ID",clientSecret:"Spotify \u5BA2\u6236\u7AEF\u5BC6\u78BC",username:"Spotify \u7528\u6236\u540D",question:"\u5982\u4F55\u555F\u7528 Spotify \u529F\u80FD\uFF1F"},reset:"\u91CD\u8A2D\u81F3\u9810\u8A2D",resetMessage:"\u4F60\u78BA\u5B9A\u8981\u91CD\u8A2D\u6240\u6709\u8A2D\u5B9A\u55CE\uFF1F",save:"\u5132\u5B58",toasts:{init:"\u5DF2\u8F09\u5165\u8A2D\u5B9A\uFF01",update:"\u5DF2\u66F4\u65B0\u8A2D\u5B9A\uFF01",reset:"\u5DF2\u91CD\u8A2D\u8A2D\u5B9A\uFF01",ARLcopied:"\u5DF2\u8907\u88FD ARL \u5230\u526A\u8CBC\u7C3F\u4E2D"}},sidebar:{home:"\u9996\u9801",search:"\u641C\u5C0B",charts:"\u6392\u884C\u699C",favorites:"\u6536\u85CF",linkAnalyzer:"\u9023\u7D50\u5206\u6790",settings:"\u8A2D\u5B9A",about:"\u95DC\u65BC"},tracklist:{downloadSelection:"\u4E0B\u8F09\u6240\u9078"}},pl={globals:{welcome:"Witaj w deemix",back:"wr\xF3\u0107",loading:"\u0142adowanie",download:"Pobierz {thing}",by:"od {artist}",in:"w {album}",download_hint:"Pobierz",play_hint:"Odtw\xF3rz",toggle_download_tab_hint:"Rozszerz/Zwi\u0144",clean_queue_hint:"Wyczy\u015B\u0107 uko\u0144czone",cancel_queue_hint:"Anuluj wszystkie",open_downloads_folder:"Otw\xF3rz pobrane",cut:"wytnij",copy:"kopiuj",copyLink:"kopiuj link",copyImageLink:"kopiuj link obrazu",copyDeezerLink:"kopiuj link deezera",paste:"wklej",listTabs:{empty:"",all:"wszystkie",top_result:"najlepszy wynik",album:"album | albumy",artist:"artysta | arty\u015Bci",single:"singiel | single",title:"tytu\u0142 | tytu\u0142y",track:"utw\xF3r | utwory",trackN:"0 utwor\xF3w | {n} utw\xF3r | {n} utwor\xF3w",releaseN:"0 wyda\u0144 | {n} wydanie | {n} wyda\u0144",playlist:"playlista | playlisty",compile:"kompilacja | kompilacje",ep:"ep | ep",bundle:"zestaw | zestawy",more:"Wi\u0119cej album\xF3w",featured:"Wyst\u0119puje w",spotifyPlaylist:"playlista spotify | playlisty spotify",releaseDate:"data wydania",error:"b\u0142\u0105d"}},about:{updates:{currentVersion:"Obecna wersja",versionNotAvailable:"N/A",updateAvailable:"Nie masz najnowszej dost\u0119pnej wersji: {version}",deemixVersion:"Wersja biblioteki deemix"},titles:{usefulLinks:"Przydatne linki",bugReports:"Zg\u0142oszenia b\u0142\u0119d\xF3w",contributing:"Wk\u0142ad",donations:"Dotacje",license:"Licencja"},subtitles:{bugReports:"Czy deemix dzia\u0142a inaczej ni\u017C powinien? Powiedz nam!",contributing:"Chcesz pom\xF3c w tym projekcie? Mo\u017Cesz to zrobi\u0107 na wiele sposob\xF3w!",donations:"Chcesz pom\xF3c finansowo? Mo\u017Cesz nas wesprze\u0107!"},usesLibrary:"Ten program u\u017Cywa biblioteki deemix, kt\xF3rej mo\u017Cesz u\u017Cy\u0107 do stworzenia w\u0142asnego interfejsu u\u017Cytkownika",thanks:"Podzi\u0119kowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.",upToDate:{text:"B\u0105d\u017A na bie\u017C\u0105co z aktualizacjami do\u0142\u0105czaj\u0105c do {newsChannel} na Telegramie.",newsChannel:"kana\u0142u wiadomo\u015Bci"},officialWebsite:"Oficjalna strona",officialRepo:"Oficjalne repozytorium biblioteki",officialWebuiRepo:"Oficjalne repozytorium WebUI",officialSubreddit:"Oficjalny subreddit",newsChannel:"Kana\u0142 wiadomo\u015Bci",questions:{text:"Je\u017Celi masz pytania lub problemy zwi\u0105zane z aplikacj\u0105, szukaj odpowiedzi na {subreddit}. Je\u017Celi niczego nie znajdziesz, stw\xF3rz post na subreddicie.",subreddit:"subreddicie"},beforeReporting:"Przed zg\u0142aszaniem b\u0142\u0119du upewnij si\u0119, \u017Ce masz najnowsz\u0105 wersje aplikacji i to, co chcesz zg\u0142osi\u0107 jest b\u0142\u0119dem, a nie usterk\u0105 z twojej strony.",beSure:"Upewnij si\u0119, \u017Ce b\u0142\u0105d mo\u017Cna odtworzy\u0107 na innych urz\u0105dzeniach i NIE ZG\u0141ASZAJ b\u0142\u0119d\xF3w, kt\xF3re zosta\u0142y ju\u017C zg\u0142oszone",duplicateReports:"Identyczne zg\u0142oszenia b\u0142\u0119d\xF3w b\u0119d\u0105 zamykane, wi\u0119c zwr\xF3\u0107 na to uwag\u0119.",dontOpenIssues:"NIE OTWIERAJ zg\u0142osze\u0144 do zadawania pyta\u0144, od tego jest subreddit.",newUI:{text:"Je\u017Celi dobrze znasz Pythona, mo\u017Cesz spr\xF3bowa\u0107 stworzy\u0107 nowy interfejs dla aplikacji u\u017Cywaj\u0105c bazowej biblioteki lub naprawia\u0107 b\u0142\u0119dy w bibliotece tworz\u0105c pull request w {repo}.",repo:"repozytorium"},acceptFeatures:"Przyjmuj\u0119 nowe funkcje, ale nic z\u0142o\u017Conego, co mog\u0142oby by\u0107 zaimplementowane w aplikacji, a nie w bibliotece.",otherLanguages:"Je\u017Celi dobrze znasz inny j\u0119zyk programowania, mo\u017Cesz spr\xF3bowa\u0107 przeportowa\u0107 deemix do innych j\u0119zyk\xF3w!",understandingCode:"Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.",contributeWebUI:{text:"Je\u017Celi znasz Vue.js (JavaScript), HTML lub CSS, mo\u017Cesz pom\xF3c w {webui}.",webui:"WebUI"},itsFree:"Pami\u0119taj, \u017Ce ten projekt jest darmowy i powiniene\u015B wspiera\u0107 artyst\xF3w przed tw\xF3rcami aplikacji.",notObligated:"Nie czuj potrzeby p\u0142acenia, i tak ci\u0119 doceniam!",lincensedUnder:{text:"Ten projekt jest chroniony licencj\u0105 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Wykresy",changeCountry:"Zmie\u0144 kraj",download:"Pobierz wykres"},errors:{title:"B\u0142\u0119dy dla {name}",ids:{invalidURL:"Nierozpoznany URL",unsupportedURL:"Niewspierany URL",ISRCnotOnDeezer:"ISRC nie jest dost\u0119pne na Deezerze",notYourPrivatePlaylist:"Nie mo\u017Cesz pobiera\u0107 czyich\u015B prywatnych playlist.",spotifyDisabled:"Funkcje Spotify nie s\u0105 poprawnie ustawione",trackNotOnDeezer:"Nie znaleziono utworu na Deezerze!",albumNotOnDeezer:"Nie znaleziono albumu na Deezerze!",notOnDeezer:"Utw\xF3r nie jest dost\u0119pny na Deezerze!",notEncoded:"Utw\xF3r nie jest jeszcze zakodowany!",notEncodedNoAlternative:"Utw\xF3r nie jest jeszcze zakodowany i nie mo\u017Cna znale\u017A\u0107 alternatywy!",wrongBitrate:"Nie znaleziono utworu w wybranym bitrate.",wrongBitrateNoAlternative:"Nie znaleziono utworu w wybranym bitrate i nie mozna znale\u017A\u0107 alternatywy!",no360RA:"Utw\xF3r nie jest dost\u0119pny w Reality Audio 360.",notAvailable:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera!",notAvailableNoAlternative:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera i nie mo\u017Cna znale\u017A\u0107 alternatywy!"}},favorites:{title:"Ulubione",noPlaylists:"Nie znaleziono playlist",noAlbums:"Nie znaleziono ulubionych album\xF3w",noArtists:"Nie znaleziono ulubionych artyst\xF3w",noTracks:"Nie znaleziono ulubonych utwor\xF3w"},home:{needTologin:"Musisz si\u0119 zalogwa\u0107 do konta na Deezerze zanim zaczniesz pobiera\u0107.",openSettings:"Otw\xF3rz ustawienia",sections:{popularPlaylists:"Popularne playlisty",popularAlbums:"Najpopularniejsze albumy"}},linkAnalyzer:{info:"Mo\u017Cesz u\u017Cy\u0107 tej sekcji, aby znale\u017A\u0107 wi\u0119cej informacji o linku, kt\xF3ry chcesz pobra\u0107.",useful:"Jest to przydatne na przyk\u0142ad gdy chcesz pobra\u0107 jakie\u015B utwory, kt\xF3re nie s\u0105 dost\u0119pne w twoim kraju i chcesz wiedzie\u0107 gdzie s\u0105 dost\u0119pne.",linkNotSupported:"Ten link nie jest jeszcze wspierany",linkNotSupportedYet:"Wygl\u0105da na to, \u017Ce ten link nie jest jeszcze wspierany. Spr\xF3buj przeanalizowa\u0107 inny.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Czas",diskNumber:"Numer p\u0142yty",trackNumber:"Numer utworu",releaseDate:"Data wydania",bpm:"BPM",label:"Wytw\xF3rnia",recordType:"Rodzaj wydania",genres:"Gatunki",tracklist:"Lista utwor\xF3w"}},search:{startSearching:"Zacznij szuka\u0107!",description:"Mo\u017Cesz wyszuka\u0107 utw\xF3r, album, artyst\u0119, playlist\u0119... wszystko! Mo\u017Cesz te\u017C wklei\u0107 link do Deezera",fans:"{n} fan\xF3w",noResults:"Brak wynik\xF3w",noResultsTrack:"Nie znaleziono utwor\xF3w",noResultsAlbum:"Nie znaleziono album\xF3w",noResultsArtist:"Nie znaleziono artyst\xF3w",noResultsPlaylist:"Nie znaleziono playlist"},searchbar:"Szukaj czego chcesz (lub wklej link)",downloads:"pobrane",toasts:{restoringQueue:"Przywracanie kolejki pobierania...",queueRestored:"Przywr\xF3cono kolejk\u0119 pobierania!",addedToQueue:"Dodano {item} do kolejki",addedMoreToQueue:"Dodano {n} przedmiot\xF3w do kolejki",alreadyInQueue:"{item} jest ju\u017C w kolejce!",finishDownload:"Uko\u0144czono pobieranie {item}.",allDownloaded:"Pobrano wszystkie!",refreshFavs:"Uko\u0144czono od\u015Bwie\u017Canie!",loggingIn:"Logowanie...",loggedIn:"Zalogowano",alreadyLogged:"Ju\u017C zalogowano",loginFailed:"Nie mo\u017Cna zalogowa\u0107",loggedOut:"Wylogowano",cancellingCurrentItem:"Anulowanie przedmiotu.",currentItemCancelled:"Anulowano przedmiot.",startAddingArtist:"Dodawanie {artist} album\xF3w do kolejki",finishAddingArtist:"Dodano {artist} album\xF3w do kolejki",startConvertingSpotifyPlaylist:"Konwertowanie utwor\xF3w Spotify na Deezer",finishConvertingSpotifyPlaylist:"Przekonwertowano playlist\u0119 Spotify",loginNeededToDownload:"Musisz si\u0119 zalogowa\u0107, aby pobiera\u0107 utwory!"},settings:{title:"Ustawienia",languages:"J\u0119zyki",login:{title:"Logowanie",loggedIn:"Zalogowano jako {username}",arl:{question:"Jak zdoby\u0107 sw\xF3j w\u0142asny ARL?",update:"Zakualizuj ARL"},logout:"Wyloguj",login:"Zaloguj przez deezer.com"},appearance:{title:"Wygl\u0105d",slimDownloadTab:"Cienka karta pobranych"},downloadPath:{title:"\u015Acie\u017Cka pobierania"},templates:{title:"Szablony",tracknameTemplate:"Szablon utworu",albumTracknameTemplate:"Szablon utworu z albumu",playlistTracknameTemplate:"Szablon utworu z playlisy"},folders:{title:"Foldery",createPlaylistFolder:"Utw\xF3rz foldery dla playlist",playlistNameTemplate:"Szablon folderu playlisty",createArtistFolder:"Utw\xF3rz foldery dla artyst\xF3w",artistNameTemplate:"Szablon folderu artysty",createAlbumFolder:"Utw\xF3rz foldery dla album\xF3w",albumNameTemplate:"Szablon folderu albumu",createCDFolder:"Utw\xF3rz foldery dla p\u0142yt",createStructurePlaylist:"Utw\xF3rz struktur\u0119 folder\xF3w dla playlist",createSingleFolder:"Utw\xF3rz struktur\u0119 folder\xF3w dla singli"},trackTitles:{title:"Tytu\u0142y utworow",padTracks:"Wypchaj utwory",paddingSize:"Rozmiar wypchania",illegalCharacterReplacer:"Zamiennik niedozwolonych znak\xF3w"},downloads:{title:"Pobrane",queueConcurrency:"R\xF3wnoleg\u0142e pobieranie",maxBitrate:{title:"Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Nadpisywa\u0107 pliki?",y:"Tak",n:"Nie",t:"Tylko tagi",b:"Nie, dodaj numer do drugiego pliku",e:"Nie, nie patrz na rozszerzenia"},fallbackBitrate:"Rezerwowy bitrate",fallbackSearch:"Rezerwowe wyszukiwanie",logErrors:"Utw\xF3rz plik dziennika b\u0142\u0119d\xF3w",logSearched:"Utw\xF3rz plik dziennika wyszukiwanych utwor\xF3w",createM3U8File:"Utw\xF3rz plik playlisty",syncedLyrics:"Utw\xF3rz plik .lyr (synchronizowany tekst)",playlistFilenameTemplate:"Szablon pliku playlisty",saveDownloadQueue:"Zapisz kolejk\u0119 pobierania przy zamykaniu aplikacji"},covers:{title:"Ok\u0142adki album\xF3w",saveArtwork:"Zapisz ok\u0142adki",coverImageTemplate:"Szablon nazwy ok\u0142adki",saveArtworkArtist:"Zapisz zdj\u0119cie artysty",artistImageTemplate:"Szablon zdj\u0119cia artysty",localArtworkSize:"Rozmiar lokalnej ok\u0142adki",embeddedArtworkSize:"Rozmiar osadzonej ok\u0142adki",localArtworkFormat:{title:"W jakim formacie ma zosta\u0107 zapisana ok\u0142adka?",jpg:"Plik JPEG",png:"Plik PNG",both:"Pliki JPEG i PNG"},jpegImageQuality:"Jako\u015B\u0107 JPEG",embeddedArtworkPNG:"Zapisz osadzon\u0105 ok\u0142adk\u0119 jako PNG",embeddedPNGWarning:"PNG nie jest oficjalnie wspierane przez Deezer i mo\u017Ce powodowa\u0107 b\u0142\u0119dy",imageSizeWarning:"Wszystko powy\u017Cej x1200 nie jest oficjalnie u\u017Cywane przez Deezera, wi\u0119c mog\u0105 wyst\u0105pi\u0107 problemy."},tags:{head:"Kt\xF3re tagi zapisa\u0107",title:"Tytu\u0142",artist:"Artysta",album:"Album",cover:"Ok\u0142adka",trackNumber:"Numer utworu",trackTotal:"Liczba utwor\xF3w",discNumber:"Numer p\u0142yty",discTotal:"Liczba p\u0142yt",albumArtist:"Album Artist",genre:"Gatunek",year:"Rok",date:"Data",explicit:"Wulgarny tekst",isrc:"ISRC",length:"D\u0142ugo\u015B\u0107",barcode:"Kod kreskowy albumu (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Wytw\xF3rnia",lyrics:"Niezsynchronizowany tekst",syncedLyrics:"Zsynchronizowany tekst",copyright:"Prawa autorskie",composer:"Kompozytor",involvedPeople:"Zaanga\u017Cowane osoby"},other:{title:"Inne",savePlaylistAsCompilation:"Zapisz playlisty jako kompilacje",useNullSeparator:"U\u017Cyj separatora null",saveID3v1:"Zapisz ID3v1",multiArtistSeparator:{title:"Jak oddzieli\u0107 artyst\xF3w?",nothing:"Zapisz tylko g\u0142\xF3wnego artyst\u0119",default:"Standardowa specyfikacja",andFeat:"& i feat.",using:'U\u017Cywa "{separator}"'},singleAlbumArtist:"Zapisz tylko g\u0142\xF3wnego autora albumu",albumVariousArtists:'Zostaw "Various Artists" w autorach albumu',removeAlbumVersion:'Usu\u0144 "Album Version" z tytu\u0142u utworu',removeDuplicateArtists:"Usu\u0144 kombinacje artyst\xF3w",dateFormat:{title:"Format daty dla plik\xF3w FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Co zrobi\u0107 z dodatkowymi artystami?",0:"Nic",1:"Usu\u0144 z tytu\u0142u",3:"Usu\u0144 z tytu\u0142u i tytu\u0142u albumu",2:"Przenie\u015B do tytu\u0142u"},titleCasing:"Rozmiar liter tytu\u0142u",artistCasing:"Rozmiar liter artysty",casing:{nothing:"Zostaw",lower:"ma\u0142e litery",upper:"DU\u017BE LITERY",start:"Na Pocz\u0105tku Ka\u017Cdego S\u0142owa",sentence:"Jak w zdaniu"},previewVolume:"G\u0142o\u015Bno\u015B\u0107 podgl\u0105du",executeCommand:{title:"Polecenie do wykonania po pobraniu",description:"Zostaw puste, aby nic nie robi\u0107"}},spotify:{title:"Funkcje Spotify",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Nazwa u\u017Cytkownika",question:"Jak w\u0142\u0105czy\u0107 funkcje Spotify?"},reset:"Przywr\xF3\u0107 domy\u015Blne",save:"Zapisz",toasts:{init:"Za\u0142adowano ustawienia!",update:"Zaktualizowano ustawienia!",ARLcopied:"Skopiowano ARL do schowka"}},sidebar:{home:"strona g\u0142\xF3wna",search:"szukaj",charts:"wykresy",favorites:"ulubione",linkAnalyzer:"analiza link\xF3w",settings:"ustawienia",about:"informacje"},tracklist:{downloadSelection:"Pobierz wybrane"}},locales={it,en,es,de,fr,id,pt,pt_br,ru,tr,vn,hr,ar,ko,ph,zh_tw,pl};Vue.use(VueI18n);const storedLocale=localStorage.getItem("locale"),DEFAULT_LANG=storedLocale||"en";document.querySelector("html").setAttribute("lang",DEFAULT_LANG);const i18n=new VueI18n({locale:DEFAULT_LANG,fallbackLocale:"en",messages:locales,pluralizationRules:{ru:function(e,a){var n=Math.abs(e)%100,r=n%10;return n>10&&n<20?2:r>1&&r<5?1:r==1?0:2}}});/*! - * vue-router v3.4.9 - * (c) 2020 Evan You + */var numberFormatKeys=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function warn$3(e,n){typeof console!="undefined"&&(console.warn("[vue-i18n] "+e),n&&console.warn(n.stack))}function error(e,n){typeof console!="undefined"&&(console.error("[vue-i18n] "+e),n&&console.error(n.stack))}var isArray$1=Array.isArray;function isObject$3(e){return e!==null&&typeof e=="object"}function isBoolean(e){return typeof e=="boolean"}function isString(e){return typeof e=="string"}var toString$2=Object.prototype.toString,OBJECT_STRING="[object Object]";function isPlainObject$2(e){return toString$2.call(e)===OBJECT_STRING}function isNull(e){return e==null}function isFunction$1(e){return typeof e=="function"}function parseArgs(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var a=null,i=null;return e.length===1?isObject$3(e[0])||isArray$1(e[0])?i=e[0]:typeof e[0]=="string"&&(a=e[0]):e.length===2&&(typeof e[0]=="string"&&(a=e[0]),(isObject$3(e[1])||isArray$1(e[1]))&&(i=e[1])),{locale:a,params:i}}function looseClone(e){return JSON.parse(JSON.stringify(e))}function remove$3(e,n){if(e.length){var a=e.indexOf(n);if(a>-1)return e.splice(a,1)}}function includes(e,n){return!!~e.indexOf(n)}var hasOwnProperty$1=Object.prototype.hasOwnProperty;function hasOwn$2(e,n){return hasOwnProperty$1.call(e,n)}function merge(e){for(var n=arguments,a=Object(e),i=1;i/g,">").replace(/"/g,""").replace(/'/g,"'")}function escapeParams(e){return e!=null&&Object.keys(e).forEach(function(n){typeof e[n]=="string"&&(e[n]=escapeHtml(e[n]))}),e}function extend$1(e){e.prototype.hasOwnProperty("$i18n")||Object.defineProperty(e.prototype,"$i18n",{get:function(){return this._i18n}}),e.prototype.$t=function(n){for(var a=[],i=arguments.length-1;i-- >0;)a[i]=arguments[i+1];var r=this.$i18n;return r._t.apply(r,[n,r.locale,r._getMessages(),this].concat(a))},e.prototype.$tc=function(n,a){for(var i=[],r=arguments.length-2;r-- >0;)i[r]=arguments[r+2];var s=this.$i18n;return s._tc.apply(s,[n,s.locale,s._getMessages(),this,a].concat(i))},e.prototype.$te=function(n,a){var i=this.$i18n;return i._te(n,i.locale,i._getMessages(),a)},e.prototype.$d=function(n){for(var a,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(a=this.$i18n).d.apply(a,[n].concat(i))},e.prototype.$n=function(n){for(var a,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(a=this.$i18n).n.apply(a,[n].concat(i))}}var mixin$1={beforeCreate:function(){var n=this.$options;if(n.i18n=n.i18n||(n.__i18n?{}:null),n.i18n){if(n.i18n instanceof VueI18n){if(n.__i18n)try{var a=n.i18n&&n.i18n.messages?n.i18n.messages:{};n.__i18n.forEach(function(l){a=merge(a,JSON.parse(l))}),Object.keys(a).forEach(function(l){n.i18n.mergeLocaleMessage(l,a[l])})}catch(l){}this._i18n=n.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(isPlainObject$2(n.i18n)){var i=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this.$root.$i18n:null;if(i&&(n.i18n.root=this.$root,n.i18n.formatter=i.formatter,n.i18n.fallbackLocale=i.fallbackLocale,n.i18n.formatFallbackMessages=i.formatFallbackMessages,n.i18n.silentTranslationWarn=i.silentTranslationWarn,n.i18n.silentFallbackWarn=i.silentFallbackWarn,n.i18n.pluralizationRules=i.pluralizationRules,n.i18n.preserveDirectiveContent=i.preserveDirectiveContent),n.__i18n)try{var r=n.i18n&&n.i18n.messages?n.i18n.messages:{};n.__i18n.forEach(function(l){r=merge(r,JSON.parse(l))}),n.i18n.messages=r}catch(l){}var s=n.i18n,o=s.sharedMessages;o&&isPlainObject$2(o)&&(n.i18n.messages=merge(n.i18n.messages,o)),this._i18n=new VueI18n(n.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(n.i18n.sync===void 0||!!n.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),i&&i.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this._i18n=this.$root.$i18n:n.parent&&n.parent.$i18n&&n.parent.$i18n instanceof VueI18n&&(this._i18n=n.parent.$i18n)},beforeMount:function(){var n=this.$options;n.i18n=n.i18n||(n.__i18n?{}:null),n.i18n?n.i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):isPlainObject$2(n.i18n)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):n.parent&&n.parent.$i18n&&n.parent.$i18n instanceof VueI18n&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){if(!!this._i18n){var n=this;this.$nextTick(function(){n._subscribing&&(n._i18n.unsubscribeDataChanging(n),delete n._subscribing),n._i18nWatcher&&(n._i18nWatcher(),n._i18n.destroyVM(),delete n._i18nWatcher),n._localeWatcher&&(n._localeWatcher(),delete n._localeWatcher)})}}},interpolationComponent={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(n,a){var i=a.data,r=a.parent,s=a.props,o=a.slots,l=r.$i18n;if(!!l){var c=s.path,u=s.locale,d=s.places,f=o(),h=l.i(c,u,onlyHasDefaultPlace(f)||d?useLegacyPlaces(f.default,d):f),m=!!s.tag&&s.tag!==!0||s.tag===!1?s.tag:"span";return m?n(m,i,h):h}}};function onlyHasDefaultPlace(e){var n;for(n in e)if(n!=="default")return!1;return Boolean(n)}function useLegacyPlaces(e,n){var a=n?createParamsFromPlaces(n):{};if(!e)return a;e=e.filter(function(r){return r.tag||r.text.trim()!==""});var i=e.every(vnodeHasPlaceAttribute);return e.reduce(i?assignChildPlace:assignChildIndex,a)}function createParamsFromPlaces(e){return Array.isArray(e)?e.reduce(assignChildIndex,{}):Object.assign({},e)}function assignChildPlace(e,n){return n.data&&n.data.attrs&&n.data.attrs.place&&(e[n.data.attrs.place]=n),e}function assignChildIndex(e,n,a){return e[a]=n,e}function vnodeHasPlaceAttribute(e){return Boolean(e.data&&e.data.attrs&&e.data.attrs.place)}var numberComponent={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(n,a){var i=a.props,r=a.parent,s=a.data,o=r.$i18n;if(!o)return null;var l=null,c=null;isString(i.format)?l=i.format:isObject$3(i.format)&&(i.format.key&&(l=i.format.key),c=Object.keys(i.format).reduce(function(m,v){var y;return includes(numberFormatKeys,v)?Object.assign({},m,(y={},y[v]=i.format[v],y)):m},null));var u=i.locale||o.locale,d=o._ntp(i.value,u,l,c),f=d.map(function(m,v){var y,_=s.scopedSlots&&s.scopedSlots[m.type];return _?_((y={},y[m.type]=m.value,y.index=v,y.parts=d,y)):m.value}),h=!!i.tag&&i.tag!==!0||i.tag===!1?i.tag:"span";return h?n(h,{attrs:s.attrs,class:s.class,staticClass:s.staticClass},f):f}};function bind$2(e,n,a){!assert$1(e,a)||t(e,n,a)}function update$1(e,n,a,i){if(!!assert$1(e,a)){var r=a.context.$i18n;localeEqual(e,a)&&looseEqual$1(n.value,n.oldValue)&&looseEqual$1(e._localeMessage,r.getLocaleMessage(r.locale))||t(e,n,a)}}function unbind(e,n,a,i){var r=a.context;if(!r){warn$3("Vue instance does not exists in VNode context");return}var s=a.context.$i18n||{};!n.modifiers.preserve&&!s.preserveDirectiveContent&&(e.textContent=""),e._vt=void 0,delete e._vt,e._locale=void 0,delete e._locale,e._localeMessage=void 0,delete e._localeMessage}function assert$1(e,n){var a=n.context;return a?a.$i18n?!0:(warn$3("VueI18n instance does not exists in Vue instance"),!1):(warn$3("Vue instance does not exists in VNode context"),!1)}function localeEqual(e,n){var a=n.context;return e._locale===a.$i18n.locale}function t(e,n,a){var i,r,s=n.value,o=parseValue(s),l=o.path,c=o.locale,u=o.args,d=o.choice;if(!l&&!c&&!u){warn$3("value type not supported");return}if(!l){warn$3("`path` is required in v-t directive");return}var f=a.context;d!=null?e._vt=e.textContent=(i=f.$i18n).tc.apply(i,[l,d].concat(makeParams(c,u))):e._vt=e.textContent=(r=f.$i18n).t.apply(r,[l].concat(makeParams(c,u))),e._locale=f.$i18n.locale,e._localeMessage=f.$i18n.getLocaleMessage(f.$i18n.locale)}function parseValue(e){var n,a,i,r;return isString(e)?n=e:isPlainObject$2(e)&&(n=e.path,a=e.locale,i=e.args,r=e.choice),{path:n,locale:a,args:i,choice:r}}function makeParams(e,n){var a=[];return e&&a.push(e),n&&(Array.isArray(n)||isPlainObject$2(n))&&a.push(n),a}var Vue$2;function install$2(e){install$2.installed=!0,Vue$2=e,Vue$2.version&&Number(Vue$2.version.split(".")[0]),extend$1(Vue$2),Vue$2.mixin(mixin$1),Vue$2.directive("t",{bind:bind$2,update:update$1,unbind}),Vue$2.component(interpolationComponent.name,interpolationComponent),Vue$2.component(numberComponent.name,numberComponent);var n=Vue$2.config.optionMergeStrategies;n.i18n=function(a,i){return i===void 0?a:i}}var BaseFormatter=function(){this._caches=Object.create(null)};BaseFormatter.prototype.interpolate=function(n,a){if(!a)return[n];var i=this._caches[n];return i||(i=parse$1(n),this._caches[n]=i),compile(i,a)};var RE_TOKEN_LIST_VALUE=/^(?:\d)+/,RE_TOKEN_NAMED_VALUE=/^(?:\w)+/;function parse$1(e){for(var n=[],a=0,i="";a0)r--,i=IN_SUB_PATH,h[APPEND]();else{if(r=0,o===void 0||(o=formatSubPath(o),o===!1))return!1;h[PUSH]()}};function m(){var v=e[a+1];if(i===IN_SINGLE_QUOTE&&v==="'"||i===IN_DOUBLE_QUOTE&&v==='"')return a++,l="\\"+v,h[APPEND](),!0}for(;i!==null;)if(a++,s=e[a],!(s==="\\"&&m())){if(c=getPathCharType(s),f=pathStateMachine[i],u=f[c]||f.else||ERROR,u===ERROR||(i=u[0],d=h[u[1]],d&&(l=u[2],l=l===void 0?s:l,d()===!1)))return;if(i===AFTER_PATH)return n}}var I18nPath=function(){this._cache=Object.create(null)};I18nPath.prototype.parsePath=function(n){var a=this._cache[n];return a||(a=parse$1$1(n),a&&(this._cache[n]=a)),a||[]},I18nPath.prototype.getPathValue=function(n,a){if(!isObject$3(n))return null;var i=this.parsePath(a);if(i.length===0)return null;for(var r=i.length,s=n,o=0;o/,linkKeyMatcher=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,linkKeyPrefixMatcher=/^@(?:\.([a-z]+))?:/,bracketsMatcher=/[()]/g,defaultModifiers={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()},capitalize:function(e){return""+e.charAt(0).toLocaleUpperCase()+e.substr(1)}},defaultFormatter=new BaseFormatter,VueI18n=function(n){var a=this;n===void 0&&(n={}),!Vue$2&&typeof window!="undefined"&&window.Vue&&install$2(window.Vue);var i=n.locale||"en-US",r=n.fallbackLocale===!1?!1:n.fallbackLocale||"en-US",s=n.messages||{},o=n.dateTimeFormats||{},l=n.numberFormats||{};this._vm=null,this._formatter=n.formatter||defaultFormatter,this._modifiers=n.modifiers||{},this._missing=n.missing||null,this._root=n.root||null,this._sync=n.sync===void 0?!0:!!n.sync,this._fallbackRoot=n.fallbackRoot===void 0?!0:!!n.fallbackRoot,this._formatFallbackMessages=n.formatFallbackMessages===void 0?!1:!!n.formatFallbackMessages,this._silentTranslationWarn=n.silentTranslationWarn===void 0?!1:n.silentTranslationWarn,this._silentFallbackWarn=n.silentFallbackWarn===void 0?!1:!!n.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new I18nPath,this._dataListeners=[],this._componentInstanceCreatedListener=n.componentInstanceCreatedListener||null,this._preserveDirectiveContent=n.preserveDirectiveContent===void 0?!1:!!n.preserveDirectiveContent,this.pluralizationRules=n.pluralizationRules||{},this._warnHtmlInMessage=n.warnHtmlInMessage||"off",this._postTranslation=n.postTranslation||null,this._escapeParameterHtml=n.escapeParameterHtml||!1,this.getChoiceIndex=function(c,u){var d=Object.getPrototypeOf(a);if(d&&d.getChoiceIndex){var f=d.getChoiceIndex;return f.call(a,c,u)}var h=function(m,v){return m=Math.abs(m),v===2?m?m>1?1:0:1:m?Math.min(m,2):0};return a.locale in a.pluralizationRules?a.pluralizationRules[a.locale].apply(a,[c,u]):h(c,u)},this._exist=function(c,u){return!c||!u?!1:!!(!isNull(a._path.getPathValue(c,u))||c[u])},(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&Object.keys(s).forEach(function(c){a._checkLocaleMessage(c,a._warnHtmlInMessage,s[c])}),this._initVM({locale:i,fallbackLocale:r,messages:s,dateTimeFormats:o,numberFormats:l})},prototypeAccessors$2={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0}};VueI18n.prototype._checkLocaleMessage=function(n,a,i){var r=[],s=function(o,l,c,u){if(isPlainObject$2(c))Object.keys(c).forEach(function(h){var m=c[h];isPlainObject$2(m)?(u.push(h),u.push("."),s(o,l,m,u),u.pop(),u.pop()):(u.push(h),s(o,l,m,u),u.pop())});else if(isArray$1(c))c.forEach(function(h,m){isPlainObject$2(h)?(u.push("["+m+"]"),u.push("."),s(o,l,h,u),u.pop(),u.pop()):(u.push("["+m+"]"),s(o,l,h,u),u.pop())});else if(isString(c)){var d=htmlTagMatcher.test(c);if(d){var f="Detected HTML in message '"+c+"' of keypath '"+u.join("")+"' at '"+l+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";o==="warn"?warn$3(f):o==="error"&&error(f)}}};s(a,n,i,r)},VueI18n.prototype._initVM=function(n){var a=Vue$2.config.silent;Vue$2.config.silent=!0,this._vm=new Vue$2({data:n}),Vue$2.config.silent=a},VueI18n.prototype.destroyVM=function(){this._vm.$destroy()},VueI18n.prototype.subscribeDataChanging=function(n){this._dataListeners.push(n)},VueI18n.prototype.unsubscribeDataChanging=function(n){remove$3(this._dataListeners,n)},VueI18n.prototype.watchI18nData=function(){var n=this;return this._vm.$watch("$data",function(){for(var a=n._dataListeners.length;a--;)Vue$2.nextTick(function(){n._dataListeners[a]&&n._dataListeners[a].$forceUpdate()})},{deep:!0})},VueI18n.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var n=this._vm;return this._root.$i18n.vm.$watch("locale",function(a){n.$set(n,"locale",a),n.$forceUpdate()},{immediate:!0})},VueI18n.prototype.onComponentInstanceCreated=function(n){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(n,this)},prototypeAccessors$2.vm.get=function(){return this._vm},prototypeAccessors$2.messages.get=function(){return looseClone(this._getMessages())},prototypeAccessors$2.dateTimeFormats.get=function(){return looseClone(this._getDateTimeFormats())},prototypeAccessors$2.numberFormats.get=function(){return looseClone(this._getNumberFormats())},prototypeAccessors$2.availableLocales.get=function(){return Object.keys(this.messages).sort()},prototypeAccessors$2.locale.get=function(){return this._vm.locale},prototypeAccessors$2.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},prototypeAccessors$2.fallbackLocale.get=function(){return this._vm.fallbackLocale},prototypeAccessors$2.fallbackLocale.set=function(e){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",e)},prototypeAccessors$2.formatFallbackMessages.get=function(){return this._formatFallbackMessages},prototypeAccessors$2.formatFallbackMessages.set=function(e){this._formatFallbackMessages=e},prototypeAccessors$2.missing.get=function(){return this._missing},prototypeAccessors$2.missing.set=function(e){this._missing=e},prototypeAccessors$2.formatter.get=function(){return this._formatter},prototypeAccessors$2.formatter.set=function(e){this._formatter=e},prototypeAccessors$2.silentTranslationWarn.get=function(){return this._silentTranslationWarn},prototypeAccessors$2.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},prototypeAccessors$2.silentFallbackWarn.get=function(){return this._silentFallbackWarn},prototypeAccessors$2.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},prototypeAccessors$2.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},prototypeAccessors$2.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},prototypeAccessors$2.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},prototypeAccessors$2.warnHtmlInMessage.set=function(e){var n=this,a=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,a!==e&&(e==="warn"||e==="error")){var i=this._getMessages();Object.keys(i).forEach(function(r){n._checkLocaleMessage(r,n._warnHtmlInMessage,i[r])})}},prototypeAccessors$2.postTranslation.get=function(){return this._postTranslation},prototypeAccessors$2.postTranslation.set=function(e){this._postTranslation=e},VueI18n.prototype._getMessages=function(){return this._vm.messages},VueI18n.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},VueI18n.prototype._getNumberFormats=function(){return this._vm.numberFormats},VueI18n.prototype._warnDefault=function(n,a,i,r,s,o){if(!isNull(i))return i;if(this._missing){var l=this._missing.apply(null,[n,a,r,s]);if(isString(l))return l}if(this._formatFallbackMessages){var c=parseArgs.apply(void 0,s);return this._render(a,o,c.params,a)}else return a},VueI18n.prototype._isFallbackRoot=function(n){return!n&&!isNull(this._root)&&this._fallbackRoot},VueI18n.prototype._isSilentFallbackWarn=function(n){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(n):this._silentFallbackWarn},VueI18n.prototype._isSilentFallback=function(n,a){return this._isSilentFallbackWarn(a)&&(this._isFallbackRoot()||n!==this.fallbackLocale)},VueI18n.prototype._isSilentTranslationWarn=function(n){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(n):this._silentTranslationWarn},VueI18n.prototype._interpolate=function(n,a,i,r,s,o,l){if(!a)return null;var c=this._path.getPathValue(a,i);if(isArray$1(c)||isPlainObject$2(c))return c;var u;if(isNull(c))if(isPlainObject$2(a)){if(u=a[i],!(isString(u)||isFunction$1(u)))return null}else return null;else if(isString(c)||isFunction$1(c))u=c;else return null;return isString(u)&&(u.indexOf("@:")>=0||u.indexOf("@.")>=0)&&(u=this._link(n,a,u,r,"raw",o,l)),this._render(u,s,o,i)},VueI18n.prototype._link=function(n,a,i,r,s,o,l){var c=i,u=c.match(linkKeyMatcher);for(var d in u)if(!!u.hasOwnProperty(d)){var f=u[d],h=f.match(linkKeyPrefixMatcher),m=h[0],v=h[1],y=f.replace(m,"").replace(bracketsMatcher,"");if(includes(l,y))return c;l.push(y);var _=this._interpolate(n,a,y,r,s==="raw"?"string":s,s==="raw"?void 0:o,l);if(this._isFallbackRoot(_)){if(!this._root)throw Error("unexpected error");var w=this._root.$i18n;_=w._translate(w._getMessages(),w.locale,w.fallbackLocale,y,r,s,o)}_=this._warnDefault(n,y,_,r,isArray$1(o)?o:[o],s),this._modifiers.hasOwnProperty(v)?_=this._modifiers[v](_):defaultModifiers.hasOwnProperty(v)&&(_=defaultModifiers[v](_)),l.pop(),c=_?c.replace(f,_):c}return c},VueI18n.prototype._createMessageContext=function(n){var a=isArray$1(n)?n:[],i=isObject$3(n)?n:{},r=function(o){return a[o]},s=function(o){return i[o]};return{list:r,named:s}},VueI18n.prototype._render=function(n,a,i,r){if(isFunction$1(n))return n(this._createMessageContext(i));var s=this._formatter.interpolate(n,i,r);return s||(s=defaultFormatter.interpolate(n,i,r)),a==="string"&&!isString(s)?s.join(""):s},VueI18n.prototype._appendItemToChain=function(n,a,i){var r=!1;return includes(n,a)||(r=!0,a&&(r=a[a.length-1]!=="!",a=a.replace(/!/g,""),n.push(a),i&&i[a]&&(r=i[a]))),r},VueI18n.prototype._appendLocaleToChain=function(n,a,i){var r,s=a.split("-");do{var o=s.join("-");r=this._appendItemToChain(n,o,i),s.splice(-1,1)}while(s.length&&r===!0);return r},VueI18n.prototype._appendBlockToChain=function(n,a,i){for(var r=!0,s=0;s0;)o[l]=arguments[l+4];if(!n)return"";var c=parseArgs.apply(void 0,o);this._escapeParameterHtml&&(c.params=escapeParams(c.params));var u=c.locale||a,d=this._translate(i,u,this.fallbackLocale,n,r,"string",c.params);if(this._isFallbackRoot(d)){if(!this._root)throw Error("unexpected error");return(s=this._root).$t.apply(s,[n].concat(o))}else return d=this._warnDefault(u,n,d,r,o,"string"),this._postTranslation&&d!==null&&d!==void 0&&(d=this._postTranslation(d,n)),d},VueI18n.prototype.t=function(n){for(var a,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(a=this)._t.apply(a,[n,this.locale,this._getMessages(),null].concat(i))},VueI18n.prototype._i=function(n,a,i,r,s){var o=this._translate(i,a,this.fallbackLocale,n,r,"raw",s);if(this._isFallbackRoot(o)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(n,a,s)}else return this._warnDefault(a,n,o,r,[s],"raw")},VueI18n.prototype.i=function(n,a,i){return n?(isString(a)||(a=this.locale),this._i(n,a,this._getMessages(),null,i)):""},VueI18n.prototype._tc=function(n,a,i,r,s){for(var o,l=[],c=arguments.length-5;c-- >0;)l[c]=arguments[c+5];if(!n)return"";s===void 0&&(s=1);var u={count:s,n:s},d=parseArgs.apply(void 0,l);return d.params=Object.assign(u,d.params),l=d.locale===null?[d.params]:[d.locale,d.params],this.fetchChoice((o=this)._t.apply(o,[n,a,i,r].concat(l)),s)},VueI18n.prototype.fetchChoice=function(n,a){if(!n||!isString(n))return null;var i=n.split("|");return a=this.getChoiceIndex(a,i.length),i[a]?i[a].trim():n},VueI18n.prototype.tc=function(n,a){for(var i,r=[],s=arguments.length-2;s-- >0;)r[s]=arguments[s+2];return(i=this)._tc.apply(i,[n,this.locale,this._getMessages(),null,a].concat(r))},VueI18n.prototype._te=function(n,a,i){for(var r=[],s=arguments.length-3;s-- >0;)r[s]=arguments[s+3];var o=parseArgs.apply(void 0,r).locale||a;return this._exist(i[o],n)},VueI18n.prototype.te=function(n,a){return this._te(n,this.locale,this._getMessages(),a)},VueI18n.prototype.getLocaleMessage=function(n){return looseClone(this._vm.messages[n]||{})},VueI18n.prototype.setLocaleMessage=function(n,a){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(n,this._warnHtmlInMessage,a),this._vm.$set(this._vm.messages,n,a)},VueI18n.prototype.mergeLocaleMessage=function(n,a){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(n,this._warnHtmlInMessage,a),this._vm.$set(this._vm.messages,n,merge(typeof this._vm.messages[n]!="undefined"&&Object.keys(this._vm.messages[n]).length?this._vm.messages[n]:{},a))},VueI18n.prototype.getDateTimeFormat=function(n){return looseClone(this._vm.dateTimeFormats[n]||{})},VueI18n.prototype.setDateTimeFormat=function(n,a){this._vm.$set(this._vm.dateTimeFormats,n,a),this._clearDateTimeFormat(n,a)},VueI18n.prototype.mergeDateTimeFormat=function(n,a){this._vm.$set(this._vm.dateTimeFormats,n,merge(this._vm.dateTimeFormats[n]||{},a)),this._clearDateTimeFormat(n,a)},VueI18n.prototype._clearDateTimeFormat=function(n,a){for(var i in a){var r=n+"__"+i;!this._dateTimeFormatters.hasOwnProperty(r)||delete this._dateTimeFormatters[r]}},VueI18n.prototype._localizeDateTime=function(n,a,i,r,s){for(var o=a,l=r[o],c=this._getLocaleChain(a,i),u=0;u0;)a[i]=arguments[i+1];var r=this.locale,s=null;return a.length===1?isString(a[0])?s=a[0]:isObject$3(a[0])&&(a[0].locale&&(r=a[0].locale),a[0].key&&(s=a[0].key)):a.length===2&&(isString(a[0])&&(s=a[0]),isString(a[1])&&(r=a[1])),this._d(n,r,s)},VueI18n.prototype.getNumberFormat=function(n){return looseClone(this._vm.numberFormats[n]||{})},VueI18n.prototype.setNumberFormat=function(n,a){this._vm.$set(this._vm.numberFormats,n,a),this._clearNumberFormat(n,a)},VueI18n.prototype.mergeNumberFormat=function(n,a){this._vm.$set(this._vm.numberFormats,n,merge(this._vm.numberFormats[n]||{},a)),this._clearNumberFormat(n,a)},VueI18n.prototype._clearNumberFormat=function(n,a){for(var i in a){var r=n+"__"+i;!this._numberFormatters.hasOwnProperty(r)||delete this._numberFormatters[r]}},VueI18n.prototype._getNumberFormatter=function(n,a,i,r,s,o){for(var l=a,c=r[l],u=this._getLocaleChain(a,i),d=0;d0;)a[i]=arguments[i+1];var r=this.locale,s=null,o=null;return a.length===1?isString(a[0])?s=a[0]:isObject$3(a[0])&&(a[0].locale&&(r=a[0].locale),a[0].key&&(s=a[0].key),o=Object.keys(a[0]).reduce(function(l,c){var u;return includes(numberFormatKeys,c)?Object.assign({},l,(u={},u[c]=a[0][c],u)):l},null)):a.length===2&&(isString(a[0])&&(s=a[0]),isString(a[1])&&(r=a[1])),this._n(n,r,s,o)},VueI18n.prototype._ntp=function(n,a,i,r){if(!VueI18n.availabilities.numberFormat)return[];if(!i){var s=r?new Intl.NumberFormat(a,r):new Intl.NumberFormat(a);return s.formatToParts(n)}var o=this._getNumberFormatter(n,a,this.fallbackLocale,this._getNumberFormats(),i,r),l=o&&o.formatToParts(n);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(n,a,i,r)}else return l||[]},Object.defineProperties(VueI18n.prototype,prototypeAccessors$2);var availabilities;Object.defineProperty(VueI18n,"availabilities",{get:function(){if(!availabilities){var n=typeof Intl!="undefined";availabilities={dateTimeFormat:n&&typeof Intl.DateTimeFormat!="undefined",numberFormat:n&&typeof Intl.NumberFormat!="undefined"}}return availabilities}}),VueI18n.install=install$2,VueI18n.version="8.23.0";const it={globals:{welcome:"Benvenuto su deemix",back:"indietro",loading:"caricamento",download:"Scarica {thing}",by:"di {artist}",in:"in {album}",download_hint:"Scarica",play_hint:"Riproduci",toggle_download_tab_hint:"Espandi/Riduci",clean_queue_hint:"Pulisci Lista",cancel_queue_hint:"Cancella tutti i download",open_downloads_folder:"Apri la cartella di download",cut:"taglia",copy:"copia",copyLink:"copia link",copyImageLink:"copia link immagine",copyDeezerLink:"copia link deezer",paste:"incolla",listTabs:{all:"tutto",top_result:"miglior risultato",album:"album",artist:"artista | artisti",single:"singolo | singoli",title:"titolo | titoli",track:"brano | brani",releaseN:"0 dischi | {n} disco | {n} dischi",playlist:"playlist",compile:"compilation",bundle:"collezione | collezioni",ep:"ep",more:"Altri album",featured:"Compare in",spotifyPlaylist:"playlist spotify",releaseDate:"data di uscita",error:"errore",empty:"",trackN:"0 brani | {n} brano | {n} brani",albumN:"{n} album",artistN:"0 artisti | {n} artista | {n} artisti",playlistN:"{n} playlist"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Versione attuale",currentWebuiVersion:"Versione WebUI attuale",versionNotAvailable:"N/A",updateAvailable:"Non stai usando l'ultima versione disponibile: {version}",deemixVersion:"Versione libreria deemix"},titles:{usefulLinks:"Link Utili",bugReports:"Segnalazione di bug",contributing:"Contribuire al progetto",donations:"Donazioni",license:"Licenza"},subtitles:{bugReports:"C'\xE8 qualcosa di deemix che non funziona? Faccelo sapere!",contributing:"Vuoi contribuire a questo progetto? Puoi farlo in pi\xF9 modi!",donations:"Vuoi dare una mano economicamente? Puoi fare una donazione!"},usesLibrary:"Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.",thanks:"Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.",upToDate:{text:"Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.",newsChannel:"canale delle news"},officialWebsite:"Sito Ufficiale",officialRepo:"Repository Ufficiale della Libreria",officialWebuiRepo:"Repository Ufficiale dell'Interfaccia Web",officialSubreddit:"Subreddit Ufficiale",newsChannel:"Canale delle news",questions:{text:"Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.",subreddit:"subreddit ufficiale"},beforeReporting:"Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ci\xF2 che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.",beSure:"Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che \xE8 gi\xE0 stato segnalato.",duplicateReports:"Le segnalazioni doppie verranno chiuse, tienilo presente.",dontOpenIssues:"NON aprire issues per porre domande, per quello esiste un subreddit.",newUI:{text:"Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.",repo:"repo"},acceptFeatures:"Accetto anche funzionalit\xE0, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.",otherLanguages:"Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!",understandingCode:"Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit",contributeWebUI:{text:"Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.",webui:"WebUI"},itsFree:"Ricordati che questo \xE8 un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.",notObligated:"Non sentirti obbligato a donare, mi stai simpatico lo stesso!",lincensedUnder:{text:"Questo progetto \xE8 sotto la licenza {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Classifiche",changeCountry:"Cambia Paese",download:"Scarica Classifica"},errors:{title:"Errori riguardanti {name}",ids:{invalidURL:"URL non riconosciuto",unsupportedURL:"URL non ancora supportato",ISRCnotOnDeezer:"Questo ISRC non \xE8 disponibile su Deezer",notYourPrivatePlaylist:"Non puoi scaricare le playlist private degli altri.",spotifyDisabled:"Spotify Features non \xE8 impostato correttamente.",trackNotOnDeezer:"Brano non trovato su Deezer!",albumNotOnDeezer:"Album non trovato su Deezer!",notOnDeezer:"Brano non disponibile su Deezer!",notEncoded:"Brano non ancora codificato!",notEncodedNoAlternative:"Brano non ancora codificato e nessuna alternativa trovata!",wrongBitrate:"Brano non trovato con il bitrate specificato.",wrongBitrateNoAlternative:"Brano non trovato con il bitrate specificato e nessuna alternativa trovata!",no360RA:"Brano non disponibile in Reality Audio 360.",notAvailable:"Brano non presente sui server di Deezer!",notAvailableNoAlternative:"Brano non presente sui server di Deezer e nessuna alternativa trovata!",noSpaceLeft:"Spazio su disco esaurito!",albumDoesntExists:"Il brano non ha nessun album, impossibile ottenere informazioni"}},favorites:{title:"Preferiti",noPlaylists:"Nessuna Playlist preferita trovata",noAlbums:"Nessun Album preferito trovato",noArtists:"Nessun Artista preferito trovato",noTracks:"Nessun Brano preferito trovato"},home:{needTologin:"Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.",openSettings:"Apri le impostazioni",sections:{popularPlaylists:"Playlist Popolari",popularAlbums:"Album pi\xF9 riprodotti"}},linkAnalyzer:{info:"Puoi utilizzare questa sezione per avere pi\xF9 informazioni riguardanti il link che stai cercando di scaricare.",useful:"Ci\xF2 pu\xF2 esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.",linkNotSupported:"Questo link non \xE8 ancora supportato",linkNotSupportedYet:"Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durata",diskNumber:"Numero Disco",trackNumber:"Numero Traccia",releaseDate:"Data di uscita",bpm:"BPM",label:"Etichetta",recordType:"Tipologia di registrazione",genres:"Generi",tracklist:"Lista tracce"}},search:{startSearching:"Inizia a cercare!",description:"Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer",fans:"{n} fan",noResults:"Nessun risultato",noResultsTrack:"Nessun brano trovato",noResultsAlbum:"Nessun album trovato",noResultsArtist:"Nessun artista trovato",noResultsPlaylist:"Nessuna playlist trovata"},searchbar:"Cerca qualsiasi cosa (o incolla semplicemente un link)",downloads:"download",toasts:{restoringQueue:"Ripristinando la coda di download...",queueRestored:"Coda di download ripristinata!",addedToQueue:"{item} aggiunto alla coda",addedMoreToQueue:"{n} oggetti aggiunti alla coda",alreadyInQueue:"{item} \xE8 gi\xE0 nella coda!",finishDownload:"{item} ha finito di scaricarsi.",allDownloaded:"Tutti i download completati!",refreshFavs:"Preferiti ricaricati!",loggingIn:"Effettuando il login...",loggedIn:"Login effettuato",alreadyLogged:"Sei gi\xE0 loggato",loginFailed:"Impossibile loggarsi",loggedOut:"Disconnesso",cancellingCurrentItem:"Cancellando download corrente.",currentItemCancelled:"Download corrente cancellato.",startAddingArtist:"Aggiungendo gli album di {artist} alla coda",finishAddingArtist:"Aggiunto gli album di {artist} alla coda",startConvertingSpotifyPlaylist:"Convertendo i brani da spotify a deezer",finishConvertingSpotifyPlaylist:"Playlist di spotify convertita",loginNeededToDownload:"Devi accedere prima di poter scaricare brani!",deezerNotAvailable:"Deezer non \xE8 disponibile nel tuo paese. Dovresti usare una VPN.",startGeneratingItems:"Elaborando {n} oggetti...",finishGeneratingItems:"{n} oggetti generati."},settings:{title:"Impostazioni",languages:"Lingue",login:{title:"Login",loggedIn:"Sei loggato come {username}",arl:{question:"Come ottengo il mio ARL?",update:"Aggiorna ARL"},logout:"Disconnettiti",login:"Accedi tramite deezer.com"},appearance:{title:"Aspetto",slimDownloadTab:"Tab dei download slim",slimSidebar:"Sidebar slim"},downloadPath:{title:"Cartella di download"},templates:{title:"Template",tracknameTemplate:"Template nome brano",tracknameAvailableVariables:"Variabili nome brano disponibili",albumTracknameTemplate:"Template nome brano negli Album",albumTracknameAvailableVariables:"Variabili nome brano negli Album disponibili",playlistTracknameTemplate:"Template nome brano nelle Playlist",playlistTracknameAvailableVariables:"Variabili nome brano nelle Playlist disponibili"},folders:{title:"Cartelle",createPlaylistFolder:"Crea cartelle per le Playlist",playlistNameTemplate:"Template nome della cartella Playlist",createArtistFolder:"Crea cartelle per gli Artisti",artistNameTemplate:"Template nome della cartella Artista",createAlbumFolder:"Crea cartelle per gli Album",albumNameTemplate:"Template nome della cartella Album",createCDFolder:"Crea cartelle per i CD",createStructurePlaylist:"Crea la struttura di cartelle per le Playlist",createSingleFolder:"Crea la struttura di cartelle per i brani singoli"},trackTitles:{title:"Titoli brani",padTracks:"Aggiungi zeri ai numeri di traccia",paddingSize:"Sovrascrivi il numero di zeri da aggiungere",illegalCharacterReplacer:"Rimpiazza caratteri illegali con"},downloads:{title:"Download",queueConcurrency:"Download simultanei",maxBitrate:{title:"Bitrate preferito",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dovrei sovrascrivere i file gi\xE0 scaricati?",y:"Si, sovrascrivi i file",n:"No, non sovrascrivere i file",t:"Sovrascrivi solo i tag",b:"No, mantieni entrambi i file e aggiungi un numero al duplicato",e:"No, e non tener conto della estensione del file"},fallbackBitrate:"Utilizza bitrate pi\xF9 bassi se il bitrate preferito non \xE8 disponibile",fallbackSearch:"Cerca il brano se il link originale non \xE8 disponibile",logErrors:"Crea file di log per gli errori",logSearched:"Crea file di log per le alternative cercate",syncedLyrics:"Crea i file .lyr (Testi Sincronizzati)",createM3U8File:"Crea i file playlist",playlistFilenameTemplate:"Template nome del file playlist",saveDownloadQueue:"Salva la coda di download quando chiudi l'app"},covers:{title:"Copertine",saveArtwork:"Salva copertina album",coverImageTemplate:"Template nome copertina album",saveArtworkArtist:"Salva copertina artista",artistImageTemplate:"Template nome copertina artista",localArtworkSize:"Dimensioni copertine locali",embeddedArtworkSize:"Dimensioni copertine incorporate",localArtworkFormat:{title:"Come vuoi salvare le copertine locali?",jpg:"In jpeg",png:"In png",both:"Sia in jpeg che in png"},jpegImageQuality:"Qualit\xE0 immagine JPEG",embeddedArtworkPNG:"Salva copertina incorporata come PNG",embeddedPNGWarning:"Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi",imageSizeWarning:"Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi",coverDescriptionUTF8:"Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)"},tags:{head:"Quali tag salvare",title:"Titolo",artist:"Artista",album:"Album",cover:"Copertina",trackNumber:"Numero Traccia",trackTotal:"Tracce Totali",discNumber:"Numero Disco",discTotal:"Dischi Totali",albumArtist:"Artista dell'album",genre:"Genere",year:"Anno",date:"Data",explicit:"Testo Esplicito",isrc:"ISRC",length:"Durata Traccia",barcode:"Barcode dell'album (UPC)",bpm:"BPM",replayGain:"Replay gain",label:"Casa Discografica",lyrics:"Testo non Sincronizzato",syncedLyrics:"Testo Sincronizzato",copyright:"Copyright",composer:"Compositori",involvedPeople:"Persone Coinvolte",source:"Sorgente e ID brano"},other:{title:"Altro",savePlaylistAsCompilation:"Salva le playlist come Compilation",useNullSeparator:"Usa il carattere NULL come separatore",saveID3v1:"Salva anche l'ID3v1",multiArtistSeparator:{title:"Come vuoi separare gli artisti?",nothing:"Salva solo l'artista principale",default:"Usando la specificazione standard",andFeat:"Usando & e feat.",using:'Usando "{separator}"'},singleAlbumArtist:"Salva solo l'artista dell'album principale",albumVariousArtists:`Lascia "Artisti Vari" negli artisti dell'album`,removeAlbumVersion:'Rimuovi "Album Version" dal titolo del brano',removeDuplicateArtists:"Rimuovi le combinazioni di artisti",dateFormat:{title:"Formato della data per i file FLAC",year:"AAAA",month:"MM",day:"GG"},featuredToTitle:{title:"Cosa dovrei fare con i feat?",0:"Niente",1:"Rimuovili dal titolo",3:"Rimuovili dal titolo e dal nome dell'album",2:"Spostali sul titolo"},titleCasing:"Formato testo dei titoli",artistCasing:"Formato testo degli artisti",casing:{nothing:"Non cambiare",upper:"TUTTO MAIUSCOLO",lower:"tutto minuscolo",start:"Prima Lettera Maiuscola",sentence:"Come una frase"},previewVolume:"Volume Anteprime",executeCommand:{title:"Comando da eseguire dopo il download",description:"Lascia vuoto per nessuna azione"}},spotify:{title:"Spotify Features",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"Come attivo le Spotify Features?"},reset:"Reimposta Default",resetMessage:"Sei sicuro di voler tornare alle impostazioni di default?",save:"Salva",toasts:{init:"Impostazioni caricate!",update:"Impostazioni aggiornate!",reset:"Impostazioni di default ripristinate!",ARLcopied:"ARL copiato negli appunti"}},sidebar:{home:"home",search:"ricerca",charts:"classifiche",favorites:"preferiti",linkAnalyzer:"analizza link",settings:"impostazioni",about:"info"},tracklist:{downloadSelection:"Scarica selezionati"}},en={globals:{welcome:"Welcome to deemix",back:"back",loading:"loading",download:"Download {thing}",by:"by {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Expand/Collapse",clean_queue_hint:"Clear Finished",cancel_queue_hint:"Cancel All",open_downloads_folder:"Open Downloads Folder",cut:"cut",copy:"copy",copyLink:"copy link",copyImageLink:"copy image link",copyDeezerLink:"copy deezer link",paste:"paste",listTabs:{empty:"",all:"all",top_result:"top result",album:"album | albums",artist:"artist | artists",single:"single | singles",title:"title | titles",track:"track | tracks",releaseN:"0 releases | {n} release | {n} releases",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"More albums",featured:"Featured in",spotifyPlaylist:"spotify playlist | spotify playlists",releaseDate:"release date",error:"error",trackN:"0 tracks | {n} track | {n} tracks",albumN:"0 albums | {n} album | {n} albums",artistN:"0 artists | {n} artist | {n} artists",playlistN:"0 playlists | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Current Version",currentWebuiVersion:"Current WebUI Version",versionNotAvailable:"N/A",updateAvailable:"You're not running the latest version available: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Useful Links",bugReports:"Bug Reports",contributing:"Contributing",donations:"Donations",license:"License"},subtitles:{bugReports:"Is there something that isn't working in deemix? Tell us!",contributing:"You want to contribute to this project? You can do it in different ways!",donations:"You want to contribute monetarily? You could make a donation!"},usesLibrary:"This app uses the deemix library, which you can use to make your own UI for deemix.",thanks:"Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.",upToDate:{text:"Stay up to date with the updates by following the {newsChannel} on Telegram.",newsChannel:"news channel"},officialWebsite:"Official Website",officialRepo:"Official Library Repository",officialWebuiRepo:"Official WebUI Repository",officialSubreddit:"Official Subreddit",newsChannel:"News Channel",questions:{text:"If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.",subreddit:"subreddit"},beforeReporting:"Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.",beSure:"Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.",duplicateReports:"Duplicate bug reports will be closed, so keep an eye out on that.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",newUI:{text:"If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.",repo:"repo"},acceptFeatures:"I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.",otherLanguages:"If you're fluent in another programming language you could try to port deemix into other programming languages!",understandingCode:"You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.",contributeWebUI:{text:"If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.",webui:"WebUI"},itsFree:"You should remember that this is a free project and you should support the artists you love before supporting the developers.",notObligated:"Don't feel obligated to donate, I appreciate you anyway!",lincensedUnder:{text:"This work is licensed under the {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Change Country",download:"Download Chart"},errors:{title:"Errors for {name}",ids:{invalidURL:"URL not recognized",unsupportedURL:"URL not supported yet",ISRCnotOnDeezer:"Track ISRC is not available on Deezer",notYourPrivatePlaylist:"You can't download others private playlists.",spotifyDisabled:"Spotify Features is not setted up correctly.",trackNotOnDeezer:"Track not found on Deezer!",albumNotOnDeezer:"Album not found on Deezer!",notOnDeezer:"Track not available on Deezer!",notEncoded:"Track not yet encoded!",notEncodedNoAlternative:"Track not yet encoded and no alternative found!",wrongBitrate:"Track not found at desired bitrate.",wrongBitrateNoAlternative:"Track not found at desired bitrate and no alternative found!",no360RA:"Track is not available in Reality Audio 360.",notAvailable:"Track not available on Deezer's servers!",notAvailableNoAlternative:"Track not available on Deezer's servers and no alternative found!",noSpaceLeft:"No space left on the device!",albumDoesntExists:"Track's album doesn't exist, failed to gather info"}},favorites:{title:"Favorites",noPlaylists:"No Playlists found",noAlbums:"No Favorite Albums found",noArtists:"No Favorite Artists found",noTracks:"No Favorite Tracks found"},home:{needTologin:"You need to log into your Deezer account before you can start downloading.",openSettings:"Open Settings",sections:{popularPlaylists:"Popular playlists",popularAlbums:"Most streamed albums"}},linkAnalyzer:{info:"You can use this section to find more information about the link you are trying to download.",useful:"This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.",linkNotSupported:"This link is not yet supported",linkNotSupportedYet:"Seems like this link is not yet supported, try analyzing another one.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duration",diskNumber:"Disk Number",trackNumber:"Track Number",releaseDate:"Release Date",bpm:"BPM",label:"Label",recordType:"Record Type",genres:"Genres",tracklist:"Tracklist"}},search:{startSearching:"Start searching!",description:"You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link",fans:"{n} fans",noResults:"No results",noResultsTrack:"No Tracks found",noResultsAlbum:"No Albums found",noResultsArtist:"No Artists found",noResultsPlaylist:"No Playlists found"},searchbar:"Search anything you want (or just paste a link)",downloads:"downloads",toasts:{restoringQueue:"Restoring download queue...",queueRestored:"Download queue restored!",addedToQueue:"{item} added to queue",addedMoreToQueue:"{n} items added to queue",alreadyInQueue:"{item} is already in queue!",finishDownload:"{item} finished downloading.",allDownloaded:"All downloads completed!",refreshFavs:"Refresh completed!",loggingIn:"Logging in...",loggedIn:"Logged in",alreadyLogged:"Already logged in",loginFailed:"Couldn't log in",loggedOut:"Logged out",cancellingCurrentItem:"Cancelling current item.",currentItemCancelled:"Current item cancelled.",startAddingArtist:"Adding {artist} albums to queue",finishAddingArtist:"Added {artist} albums to queue",startConvertingSpotifyPlaylist:"Converting spotify tracks to Deezer tracks",finishConvertingSpotifyPlaylist:"Spotify playlist converted",loginNeededToDownload:"You need to log in to download tracks!",deezerNotAvailable:"Deezer is not available in your country. You should use a VPN.",startGeneratingItems:"Processing {n} items...",finishGeneratingItems:"Generated {n} items."},settings:{title:"Settings",languages:"Languages",login:{title:"Login",loggedIn:"You are logged in as {username}",arl:{question:"How do I get my own ARL?",update:"Update ARL"},logout:"Logout",login:"Login via deezer.com"},appearance:{title:"Appearance",slimDownloadTab:"Slim download tab",slimSidebar:"Slim Sidebar"},downloadPath:{title:"Download Path"},templates:{title:"Templates",tracknameTemplate:"Trackname template",tracknameAvailableVariables:"Available trackname variables",albumTracknameTemplate:"Album track template",albumTracknameAvailableVariables:"Available album track variables",playlistTracknameTemplate:"Playlist track template",playlistTracknameAvailableVariables:"Available playlist track variables"},folders:{title:"Folders",createPlaylistFolder:"Create folder for playlists",playlistNameTemplate:"Playlist folder template",createArtistFolder:"Create folder for artist",artistNameTemplate:"Artist folder template",createAlbumFolder:"Create folder for album",albumNameTemplate:"Album folder template",createCDFolder:"Create folder for CDs",createStructurePlaylist:"Create folder structure for playlists",createSingleFolder:"Create folder structure for singles"},trackTitles:{title:"Track titles",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"Illegal Character replacer"},downloads:{title:"Downloads",queueConcurrency:"Concurrent Downloads",maxBitrate:{title:"Preferred Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Should I overwrite the files?",y:"Yes, overwrite the file",n:"No, don't overwrite the file",t:"Overwrite only the tags",b:"No, keep both files and add a number to the duplicate",e:"No, and don't look at the extensions"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Search fallback",logErrors:"Create log files for errors",logSearched:"Create log files for searched tracks",createM3U8File:"Create playlist file",syncedLyrics:"Create .lyr files (Sync Lyrics)",playlistFilenameTemplate:"Playlist filename template",saveDownloadQueue:"Save download queue when closing the app"},covers:{title:"Album covers",saveArtwork:"Save Covers",coverImageTemplate:"Cover name template",saveArtworkArtist:"Save artist image",artistImageTemplate:"Artist image template",localArtworkSize:"Local artwork size",embeddedArtworkSize:"Embedded artwork size",localArtworkFormat:{title:"What format do you want the local artwork to be?",jpg:"A jpeg image",png:"A png image",both:"Both a jpeg and a png"},jpegImageQuality:"JPEG image quality",embeddedArtworkPNG:"Save embedded artwork as PNG",embeddedPNGWarning:"PNGs are not officialy supported by Deezer and can be buggy",imageSizeWarning:"Anything above x1200 is not officialy used by Deezer, you may encounter issues",coverDescriptionUTF8:"Save cover description using UTF8 (iTunes Cover Fix)"},tags:{head:"Which tags to save",title:"Title",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Track Number",trackTotal:"Track Total",discNumber:"Disc Number",discTotal:"Disc Total",albumArtist:"Album Artist",genre:"Genre",year:"Year",date:"Date",explicit:"Explicit Lyrics",isrc:"ISRC",length:"Track Length",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"Unsynchronized Lyrics",syncedLyrics:"Synchronized Lyrics",copyright:"Copyright",composer:"Composer",involvedPeople:"Involved People",source:"Source and song ID"},other:{title:"Other",savePlaylistAsCompilation:"Save playlists as compilation",useNullSeparator:"Use null separator",saveID3v1:"Save ID3v1 as well",multiArtistSeparator:{title:"How would you like to separate your artists?",nothing:"Save only the main artist",default:"Using standard specification",andFeat:"Using & and feat.",using:'Using "{separator}"'},singleAlbumArtist:"Save only the main album artist",albumVariousArtists:'Keep "Various Artists" in the Album Artists',removeAlbumVersion:'Remove "Album Version" from track title',removeDuplicateArtists:"Remove combinations of artists",dateFormat:{title:"Date format for FLAC files",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"What should I do with featured artists?",0:"Nothing",1:"Remove it from the title",3:"Remove it from the title and the album title",2:"Move it to the title"},titleCasing:"Title casing",artistCasing:"Artist casing",casing:{nothing:"Keep unchanged",lower:"lowercase",upper:"UPPERCASE",start:"Start Of Each Word",sentence:"Like a sentence"},previewVolume:"Preview Volume",executeCommand:{title:"Command to execute after download",description:"Leave blank for no action"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"How do I enable Spotify Features?"},reset:"Reset to Default",resetMessage:"Are you sure you want to go back to default settings?",save:"Save",toasts:{init:"Settings loaded!",update:"Settings updated!",reset:"Settings reset to default!",ARLcopied:"ARL copied to clipboard"}},sidebar:{home:"home",search:"search",charts:"charts",favorites:"favorites",linkAnalyzer:"link analyzer",settings:"settings",about:"about"},tracklist:{downloadSelection:"Download selection"}},es={globals:{welcome:"Bienvenido a deemix",back:"atr\xE1s",loading:"cargando",download:"Descarga {thing}",by:"por {artist}",in:"en {album}",download_hint:"Descargar",play_hint:"Reproducir",toggle_download_tab_hint:"Expandir/Colapsar",clean_queue_hint:"Limpieza terminada",cancel_queue_hint:"Cancelar todo",open_downloads_folder:"Abrir la carpeta de descargas",cut:"cortar",copy:"copiar",copyLink:"copiar vinculo",copyImageLink:"copiar el v\xEDnculo de la imagen",copyDeezerLink:"copiar el v\xEDnculo de Deezer",paste:"pegar",listTabs:{empty:"",all:"todo",top_result:"mejor resultado",album:"\xE1lbum | \xE1lbumes",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"pista | pistas",trackN:"0 pistas | {n} pista | {n} pistas",releaseN:"0 entregas | {n} entrega | {n} entregas",playlist:"lista de reproducci\xF3n | listas de reproducci\xF3n",compile:"compilaci\xF3n | compilaciones",ep:"ep | eps",more:"M\xE1s \xE1lbumes",featured:"Aparece en",spotifyPlaylist:"lista de reproducci\xF3n spotify | listas de reproducci\xF3n spotify",releaseDate:"fecha de publicaci\xF3n",error:"error"}},about:{updates:{currentVersion:"Versi\xF3n actual",versionNotAvailable:"N/D",updateAvailable:"No est\xE1s ejecutando la \xFAltima versi\xF3n disponible: {versi\xF3n}",deemixVersion:"versi\xF3n de la biblioteca deemix"},titles:{usefulLinks:"Enlaces \xFAtiles",bugReports:"Reportar fallos",contributing:"Contribuye",donations:"Donaciones",license:"Licencia"},subtitles:{bugReports:"\xBFHay algo que no funcione en Deemix? \xA1D\xEDganoslo!",contributing:"\xBFQuieres contribuir a este proyecto? \xA1Puedes hacerlo de diferentes maneras!",donations:"\xBFQuiere contribuir monetariamente? \xA1Puedes hacer una donaci\xF3n!"},usesLibrary:"Esta aplicaci\xF3n usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.",thanks:"Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.",upToDate:{text:"Mantente al d\xEDa con las actualizaciones siguiendo el {newsChannel} en Telegram.",newsChannel:"canal de noticias"},officialWebsite:"P\xE1gina web oficial",officialRepo:"Repositorio de la biblioteca oficial",officialWebuiRepo:"Repositorio oficial de WebUI",officialSubreddit:"Subreddit oficial",newsChannel:"Canal de noticias",questions:{text:"Si tienes preguntas o problemas con la aplicaci\xF3n, busca una soluci\xF3n en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de informar de un error aseg\xFArese de que est\xE1 ejecutando la \xFAltima versi\xF3n de la aplicaci\xF3n y que lo que quiere informar es en realidad un error y no algo que est\xE1 mal s\xF3lo en su extremo.",beSure:"Aseg\xFArate de que el fallo es reproducible en otras m\xE1quinas y tambi\xE9n NO reporte un fallo si ya ha sido reportado.",duplicateReports:"Los informes de errores duplicados se cerrar\xE1n, as\xED que mant\xE9ngase al tanto de eso.",dontOpenIssues:"NO abra problemas para hacer preguntas, hay un subreddit para eso.",newUI:{text:"Si tienes fluidez en Python podr\xEDas intentar hacer una nueva interfaz de usuario para la aplicaci\xF3n usando la biblioteca base, o arreglar los errores de la biblioteca con una petici\xF3n pull en el {repo}.",repo:"repo"},acceptFeatures:"Tambi\xE9n acepto caracter\xEDsticas, pero no cosas complejas, ya que se pueden implementar directamente en la aplicaci\xF3n y no en la biblioteca.",otherLanguages:"\xA1Si dominas otro lenguaje de programaci\xF3n podr\xEDas intentar portar Deemix a otros lenguajes de programaci\xF3n!",understandingCode:"\xBFNecesitas ayuda para entender el c\xF3digo? S\xF3lo tienes que poner RemixDev en Telegram o Reddit.",contributeWebUI:{text:"Si conoces Vue.js (JavaScript), HTML o CSS podr\xEDas contribuir a la {webui}.",webui:"WebUI"},itsFree:"Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.",notObligated:"No te sientas obligado a donar, \xA1te aprecio de todas formas!",lincensedUnder:{text:"Esta obra est\xE1 autorizada bajo una {gpl3}.",gpl3:"GNU Licencia P\xFAblica General 3.0"}},charts:{title:"Listas",changeCountry:"Cambiar pa\xEDs",download:"Descargar la lista"},errors:{title:"Errores para {name}",ids:{invalidURL:"No se reconoce la URL",unsupportedURL:"La URL a\xFAn no est\xE1 soportada",ISRCnotOnDeezer:"La pista ISRC no est\xE1 disponible en Deezer",notYourPrivatePlaylist:"No puedes descargar otras listas de reproducci\xF3n privadas.",spotifyDisabled:"Las funciones de Spotify no est\xE1 configurado correctamente.",trackNotOnDeezer:"\xA1No se encontr\xF3 la pista en Deezer!",albumNotOnDeezer:"\xA1El \xE1lbum no se encuentra en Deezer!",notOnDeezer:"\xA1Pista no disponible en Deezer!",notEncoded:"\xA1Pista a\xFAn no codificada!",notEncodedNoAlternative:"\xA1Pista a\xFAn no codificada y no se ha encontrado ninguna alternativa!",wrongBitrate:"La pista no se encuentra a la velocidad de bitrate deseada.",wrongBitrateNoAlternative:"\xA1Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!",no360RA:"La pista no est\xE1 disponible en Reality Audio 360.",notAvailable:"\xA1La pista no est\xE1 disponible en los servidores de Deezer!",notAvailableNoAlternative:"\xA1La pista no est\xE1 disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!",noSpaceLeft:"\xA1No queda espacio en el dispositivo!"}},favorites:{title:"Favoritos",noPlaylists:"No se han encontrado listas de reproducci\xF3n",noAlbums:"No se han encontrado \xE1lbumes favoritos",noArtists:"No se han encontrado artistas favoritos",noTracks:"No se han encontrado pistas favoritas"},home:{needTologin:"Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.",openSettings:"Abrir la configuraci\xF3n",sections:{popularPlaylists:"Listas de reproducci\xF3n populares",popularAlbums:"Los \xE1lbumes m\xE1s stremeados"}},linkAnalyzer:{info:"Puedes usar esta secci\xF3n para encontrar m\xE1s informaci\xF3n sobre el enlace que est\xE1s tratando de descargar.",useful:"Esto es \xFAtil si est\xE1 tratando de descargar algunas pistas que no est\xE1n disponibles en su pa\xEDs y quiere saber d\xF3nde est\xE1n disponibles, por ejemplo.",linkNotSupported:"Este enlace a\xFAn no est\xE1 soportado",linkNotSupportedYet:"Parece que este enlace a\xFAn no est\xE1 soportado, intenta analizar otro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duraci\xF3n",diskNumber:"N\xFAmero del disco",trackNumber:"N\xFAmero de la pista",releaseDate:"Fecha de lanzamiento",bpm:"BPM",label:"Etiqueta",recordType:"Tipo de grabaci\xF3n",genres:"G\xE9neros",tracklist:"Lista de pista"}},search:{startSearching:"\xA1Comienza a buscar!",description:"Puedes buscar un tema, un \xE1lbum entero, un artista, una lista de reproducci\xF3n... \xA1todo! Tambi\xE9n puedes pegar un enlace de Deezer",fans:"{n} fans",noResults:"Ningun resultado",noResultsTrack:"No se encontraron pistas",noResultsAlbum:"No se encontraron \xE1lbumes",noResultsArtist:"No se encontraron artistas",noResultsPlaylist:"No se encontraron listas de reproducci\xF3n"},searchbar:"Busca lo que quieras (o simplemente pega un enlace)",downloads:"descargas",toasts:{restoringQueue:"Restaurando la cola de descarga...",queueRestored:"\xA1Cola de descarga restaurada!",addedToQueue:"{item} a\xF1adidos a la cola",addedMoreToQueue:"{n} elementos a\xF1adidos a la cola",alreadyInQueue:"\xA1{item} ya est\xE1 en la cola!",finishDownload:"{item} terminado de descargar.",allDownloaded:"\xA1Todas las descargas se han completado!",refreshFavs:"\xA1Actualizaci\xF3n completada!",loggingIn:"Conectando...",loggedIn:"Conectado",alreadyLogged:"Ya est\xE1 conectado",loginFailed:"No se puede conectar",loggedOut:"Desconectado",cancellingCurrentItem:"Cancelando el elemento actual.",currentItemCancelled:"El elemento actual se ha cancelado.",startAddingArtist:"A\xF1adiendo los \xE1lbumes de {artist} a la cola",finishAddingArtist:"Se ha a\xF1adido los \xE1lbumes de {artist} a la cola",startConvertingSpotifyPlaylist:"Convertir las pistas de Spotify en pistas de Deezer",finishConvertingSpotifyPlaylist:"Lista de reproducci\xF3n de Spotify convertida",loginNeededToDownload:"\xA1Necesitas iniciar sesi\xF3n para descargar t\xEDtulos!",deezerNotAvailable:"Deezer no est\xE1 disponible en su pa\xEDs. Deber\xEDas usar una VPN."},settings:{title:"Configuraci\xF3n",languages:"Idiomas",login:{title:"Iniciar Sesi\xF3n",loggedIn:"Usted est\xE1 conectado como {nombre de usuario}",arl:{question:"\xBFC\xF3mo consigo mi propio ARL?",update:"Actualiza la ARL"},logout:"Cerrar Sesi\xF3n",login:"Inicia sesi\xF3n a trav\xE9s de deezer.com"},appearance:{title:"Apariencia",slimDownloadTab:"Pesta\xF1a de descargas fina"},downloadPath:{title:"Ruta de descarga"},templates:{title:"Plantillas",tracknameTemplate:"Plantilla de nombres de pista",albumTracknameTemplate:"Plantilla de pista del \xE1lbum",playlistTracknameTemplate:"Plantilla de pista de la lista de reproducci\xF3n"},folders:{title:"Carpetas",createPlaylistFolder:"Crear una carpeta para las listas de reproducci\xF3n",playlistNameTemplate:"Plantilla de la carpeta de la lista de reproducci\xF3n",createArtistFolder:"Crear carpeta para el artista",artistNameTemplate:"Plantilla de la carpeta del artista",createAlbumFolder:"Crear carpeta para el \xE1lbum",albumNameTemplate:"Plantilla de la carpeta del \xE1lbum",createCDFolder:"Crear una carpeta para los CDs",createStructurePlaylist:"Crear una estructura de carpetas para las listas de reproducci\xF3n",createSingleFolder:"Crear una estructura de carpetas para individuales"},trackTitles:{title:"T\xEDtulos de las pistas",padTracks:"Pad de pistas",paddingSize:"Sobrescribir el tama\xF1o del pad",illegalCharacterReplacer:"Reemplazo del car\xE1cter ilegal"},downloads:{title:"Descargas",queueConcurrency:"Descargas simult\xE1neas",maxBitrate:{title:"Tasa de bits preferida",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\xBFDesea que se sobreescriban los archivos?",y:"S\xED, sobrescribir el archivo",n:"No, no sobrescribir el archivo",t:"Sobrescribir s\xF3lo las etiquetas",b:"No, mantener los dos archivos y agregar un n\xFAmero al archivo duplicado",e:"No, y no mirar las extensiones"},fallbackBitrate:"La soluci\xF3n alternativa de bitrate",fallbackSearch:"B\xFAsqueda de la segunda opci\xF3n",logErrors:"Crear archivos de registro de errores",logSearched:"Crear archivos de registro para las pistas buscadas",createM3U8File:"Crear archivo de la lista de reproducci\xF3n",syncedLyrics:"Crear archivos .lyr (lyrics sincronizadas)",playlistFilenameTemplate:"Plantilla de nombres de archivos de la lista de reproducci\xF3n",saveDownloadQueue:"Guardar la cola de descarga al cerrar la aplicaci\xF3n"},covers:{title:"Portadas de \xE1lbumes",saveArtwork:"Guardar las portadas",coverImageTemplate:"Plantilla de nombres de portada",saveArtworkArtist:"Guardar imagen de artista",artistImageTemplate:"Plantilla de imagen de artista",localArtworkSize:"El tama\xF1o de la portada local",embeddedArtworkSize:"El tama\xF1o de la portada incorporada",localArtworkFormat:{title:"\xBFQu\xE9 formato quieres que tenga la portada local?",jpg:"Una imagen jpeg",png:"Una imagen png",both:"Ambos, jpeg y png"},jpegImageQuality:"Calidad de la imagen JPEG",embeddedArtworkPNG:"Guardar las im\xE1genes incrustadas como PNG",embeddedPNGWarning:"Las PNG no est\xE1n oficialmente soportadas por Deezer y puedes encontrar errores.",imageSizeWarning:"Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes",coverDescriptionUTF8:"Guardar la descripci\xF3n de la portada usando UTF8 (arregla la portada de iTunes)"},tags:{head:"\xBFQu\xE9 etiquetas guardar?",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Portada",trackNumber:"N\xFAmero de pista",trackTotal:"Total de pistas",discNumber:"N\xFAmero del disco",discTotal:"Total del disco",albumArtist:"Artista del \xE1lbum",genre:"G\xE9nero",year:"A\xF1o",date:"Fecha",explicit:"Letras expl\xEDcitas",isrc:"ISRC",length:"Duraci\xF3n de la pista",barcode:"C\xF3digo de barras del \xE1lbum (UPC)",bpm:"BPM",replayGain:"Ganancia de la reproducci\xF3n",label:"Etiqueta del \xE1lbum",lyrics:"Lyrics no sincronizadas",syncedLyrics:"Lyrics sincronizadas",copyright:"Derechos de autor",composer:"Compositor",involvedPeople:"Personas involucradas"},other:{title:"Otro",savePlaylistAsCompilation:"Guardar las listas de reproducci\xF3n como una compilaci\xF3n",useNullSeparator:"Usar separador nulo",saveID3v1:"Guarda la ID3v1 tambi\xE9n",multiArtistSeparator:{title:"\xBFC\xF3mo le gustar\xEDa separar a sus artistas?",nothing:"Guardar s\xF3lo el artista principal",default:"Usar la especificaci\xF3n est\xE1ndar",andFeat:"Usar & y feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar s\xF3lo el artista principal del \xE1lbum",albumVariousArtists:'Mantener "Various Artists" en los artistas del \xE1lbum',removeAlbumVersion:'Eliminar "Album Version" del t\xEDtulo de la pista',removeDuplicateArtists:"Eliminar las combinaciones de artistas",dateFormat:{title:"Formato de fecha para los archivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"\xBFQu\xE9 debo hacer con los artistas destacados?",0:"Nada",1:"Quitarlo del t\xEDtulo",3:"Quitarlo del t\xEDtulo y del t\xEDtulo del \xE1lbum",2:"Moverlo al t\xEDtulo"},titleCasing:"Capitalizar t\xEDtulo",artistCasing:"Capitalizar artista",casing:{nothing:"Mant\xE9ner sin cambios",lower:"min\xFAsculas",upper:"MAY\xDASCULAS",start:"Al Principio De Cada Palabra",sentence:"Como una frase"},previewVolume:"Volumen de previsualizaci\xF3n",executeCommand:{title:"Comando a ejecutar despu\xE9s de la descarga",description:"Dejar en blanco para no hacer nada"}},spotify:{title:"Funciones de Spotify",clientID:"ID del cliente de Spotify",clientSecret:"Cliente Secreto Spotify",username:"Nombre de usuario de Spotify"},reset:"Restablecer el valor por defecto",save:"Guardar",toasts:{init:"\xA1Configuraciones cargadas!",update:"\xA1Ajustes actualizados!",ARLcopied:"ARL copiado al portapapeles"}},sidebar:{home:"inicio",search:"buscar",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizar enlaces",settings:"ajustes",about:"acerca de"},tracklist:{downloadSelection:"Descargar selecci\xF3n"}},de={globals:{welcome:"Willkommen bei deemix",back:"zur\xFCck",loading:"l\xE4dt",download:"Download {thing}",by:"von {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Erweitern/Minimieren",clean_queue_hint:"Entferne vollst\xE4ndige",cancel_queue_hint:"Alle abbrechen",listTabs:{empty:"",all:"alle",top_result:"Top Ergebnis",album:"Album | Alben",artist:"K\xFCnstler | K\xFCnstler",single:"Single | Singles",title:"Titel | Titel",track:"Track | Tracks",trackN:"0 Tracks | {n} Track | {n} Tracks",releaseN:"0 Releases | {n} Release | {n} Releases",playlist:"Playlist | Playlists",compile:"Sammlung | Sammlungen",ep:"EP | EPs",spotifyPlaylist:"Spotify Playlist | Spotify Playlists",releaseDate:"Ver\xF6ffentlichungsdatum",error:"Fehler"}},about:{titles:{usefulLinks:"N\xFCtzliche Links",bugReports:"Fehlermeldung",contributing:"Mitwirkende",donations:"Spenden",license:"Lizenz"},subtitles:{bugReports:"Funktioniert etwas in Deemix nicht? Sag uns bescheid!",contributing:"Du m\xF6chtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!",donations:"Du m\xF6chtest deemix finanziell unterst\xFCtzen? Dann lasse eine kleine Spende da!"},usesLibrary:"Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.",thanks:"Ein Dankesch\xF6n geht an rtonno, uhwot and lollilol f\xFCr die Hilfe bei diesem Projekt und an BasCurtiz f\xFCr die Erstellung des Logos.",upToDate:{text:"Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.",newsChannel:"News Channel"},officialWebsite:"Offizielle Website",officialRepo:"Offizielle Library Repository",officialWebuiRepo:"Offizielle WebUI Repository",officialSubreddit:"Offizieller Subreddit",newsChannel:"News Channel",questions:{text:"Bei Fragen oder Problemen mit der App, suche als erstes nach einer L\xF6sung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.",subreddit:"Subreddit"},beforeReporting:"Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden m\xF6chtest, tats\xE4chlich ein Bug ist und nicht nur bei dir falsch ist.",beSure:"Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.",duplicateReports:"Doppelte Fehlerberichte werden geschlossen, achte darauf.",dontOpenIssues:"ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit daf\xFCr.",newUI:{text:"Wenn du Python flie\xDFend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfl\xE4che f\xFCr die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.",repo:"deemix Repo"},acceptFeatures:"Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden k\xF6nnen.",otherLanguages:"Wenn du eine andere Programmiersprache flie\xDFend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!",understandingCode:"Du ben\xF6tigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.",contributeWebUI:{text:"Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, k\xF6nntest du etwas zum {webui} beitragen.",webui:"WebUI"},itsFree:"Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die K\xFCnstler unterst\xFCtzen, die du magst bevor du die Entwickler unterst\xFCtzt.",notObligated:"F\xFChle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!",lincensedUnder:{text:"Diese Arbeit ist lizensiert unter der {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Land wechseln",download:"Download Chart"},errors:{title:"Errors f\xFCr {name}",ids:{invalidURL:"URL nicht erkannt",unsupportedURL:"URL noch nicht unterst\xFCtzt",ISRCnotOnDeezer:"Track ISRC ist auf deezer nicht verf\xFCgbar",notYourPrivatePlaylist:"Du kannst keine privaten Playlisten anderer herunterladen.",spotifyDisabled:"Spotify-Funktionen sind nicht richtig eingerichtet",trackNotOnDeezer:"Track ist nicht verf\xFCgbar auf Deezer!",albumNotOnDeezer:"Album auf Deezer nicht gefunden!",notOnDeezer:"Track auf Deezer nicht verf\xFCgbar!",notEncoded:"Track noch nicht codiert!",notEncodedNoAlternative:"Track noch nicht codiert und keine Alternative gefunden!",wrongBitrate:"Track mit gew\xFCnschter Bitrate nicht gefunden.",wrongBitrateNoAlternative:"Track mit gew\xFCnschter Bitrate nicht gefunden und keine Alternative gefunden!",no360RA:"Track ist nicht verf\xFCgbar in Reality Audio 360.",notAvailable:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer!",notAvailableNoAlternative:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer und keine Alternativen gefunden!!"}},favorites:{title:"Favoriten",noPlaylists:"Keine Playlist gefunden",noAlbums:"Keine favorisierten Alben gefunden",noArtists:"Keine favorisierten K\xFCnstler gefunden",noTracks:"Keine favorisierten Tracks gefunden"},home:{needTologin:"Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.",openSettings:"Einstellungen \xF6ffnen",sections:{popularPlaylists:"Beliebte Playlists",popularAlbums:"Meistgestreamte Alben"}},linkAnalyzer:{info:"Diesen Abschnitt kannst du nutzen, um weitere Informationen \xFCber den gew\xFCnschten Link zu erhalten, den du herunterladen m\xF6chtest.",useful:"Dies ist z.B. n\xFCtzlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verf\xFCgbar sind, und du wissen m\xF6chtest, wo sie verf\xFCgbar sind.",linkNotSupported:"Dieser Link wird noch nicht unterst\xFCtzt",linkNotSupportedYet:"Es scheint so, als ob dieser Link noch nicht unterst\xFCtzt wird. Versuche einen anderen Link zu analysieren.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dauer",diskNumber:"CD Nummer",trackNumber:"Track Nummer",releaseDate:"Ver\xF6ffentlichungsdatum",bpm:"BPM",label:"Label",recordType:"Art der Aufnahme",genres:"Genres",tracklist:"Trackliste"}},search:{startSearching:"Suche starten!",description:"Du kannst einen Titel, ein ganzes Album, einen K\xFCnstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einf\xFCgen",fans:"{n} Fans",noResults:"Keine Ergebnisse",noResultsTrack:"Keine Tracks gefunden",noResultsAlbum:"Keine Alben gefunden",noResultsArtist:"Keinen K\xFCnstler gefunden",noResultsPlaylist:"Keine Playlist gefunden"},searchbar:"Suche nach allem, was dir gef\xE4llt (oder f\xFCge einfach einen Link ein)",downloads:"Downloads",toasts:{addedToQueue:"{item} zur Warteschlange hinzugef\xFCgt",alreadyInQueue:"{item} ist bereits in der Warteschlange!",finishDownload:"{item} vollst\xE4ndig heruntergeladen.",allDownloaded:"Alle Downloads abgeschlossen!",refreshFavs:"Abgeschlossene Downloads neu laden!",loggingIn:"Einloggen",loggedIn:"Eingeloggt",alreadyLogged:"Bereits eingeloggt",loginFailed:"Login fehlgeschlagen",loggedOut:"Ausgeloggt",cancellingCurrentItem:"Aktuelle Auswahl abbrechen.",currentItemCancelled:"Aktuelle Auswahl wurde abgebrochen",startAddingArtist:"{artist} Alben werden hinzugef\xFCgt",finishAddingArtist:"{artist} Alben wurden hinzugef\xFCgt",startConvertingSpotifyPlaylist:"Konvertierern von Spotify-Tracks zu Deezer-Tracks",finishConvertingSpotifyPlaylist:"Spotify Playlist convertiert"},settings:{title:"Einstellungen",languages:"Sprachen",login:{title:"Login",loggedIn:"Du bist eingeloggt als {username}",arl:{question:"Wie bekomme ich meine eigene ARL?",update:"Update ARL"},logout:"Logout"},appearance:{title:"Design",slimDownloadTab:"schmaler Download-Tab"},downloadPath:{title:"Download Pfad"},templates:{title:"Vorlagen",tracknameTemplate:"Vorlage f\xFCr den Tracknamen",albumTracknameTemplate:"Vorlage f\xFCr Tracks in einem Album",playlistTracknameTemplate:"Vorlage f\xFCr Tracks in einer Playlist"},folders:{title:"Folders",createPlaylistFolder:"Ordner f\xFCr Playlist erstellen",playlistNameTemplate:"Vorlage f\xFCr Playlist-Ordner",createArtistFolder:"Ordner f\xFCr K\xFCnstler erstellen",artistNameTemplate:"Vorlage f\xFCr K\xFCnstler-Ordner",createAlbumFolder:"Ordner f\xFCr Album erstellen",albumNameTemplate:"Vorlage f\xFCr Album-Ordner",createCDFolder:"Ordner f\xFCr CDs erstellen",createStructurePlaylist:"Erstellen von K\xFCnstler-, Alben- und CD-Ordnern auch f\xFCr Playlists",createSingleFolder:"Ordner f\xFCr einzelne Titel erstellen"},trackTitles:{title:"Songtitel",padTracks:"Einheitliche L\xE4nge der Titelnummern (voranstehende Nullen werden erg\xE4nzt)",paddingSize:"Innenabstand \xFCberschreiben",illegalCharacterReplacer:"Unzul\xE4ssige Zeichen ersetzen"},downloads:{title:"Downloads",queueConcurrency:"Gleichzeitige Downloads",maxBitrate:{title:"Bevorzugte Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Soll ich die Dateien \xFCberchreiben?",y:"Ja \xFCberschreibe die Dateien",n:"Nein \xFCberschreibe die Dateien nicht",t:"\xDCberschreibe nur die Tags",b:"Nein, behalte beide Dateien und f\xFCge der Kopie eine Nummer hinzu"},fallbackBitrate:"Falls gew\xFCnschte Bitrate nicht verf\xFCgbar, auf niedrigere Bitrate zur\xFCckgreifen",fallbackSearch:"Zur Suche zur\xFCckkehren, wenn der Song nicht verf\xFCgbar ist",logErrors:"Protokolldatei f\xFCr Fehler im Download-Ordner erstellen",logSearched:"Protokolldatei f\xFCr gesuchte Titel erstellen",createM3U8File:"Erstelle Playlist-Datei (M3U8)",syncedLyrics:"Erstelle synchrone Lyrics-Datei (.lyr)",playlistFilenameTemplate:"Vorlage f\xFCr den Namen der Playlist",saveDownloadQueue:"Download-Warteschlange beim Schlie\xDFen der App speichern"},covers:{title:"Album Cover",saveArtwork:"Cover speichern",coverImageTemplate:"Vorlage f\xFCr den Covernamen",saveArtworkArtist:"Speichere das K\xFCnstlerbild",artistImageTemplate:"Vorlage des K\xFCnstlerbildes",localArtworkSize:"Lokale Grafikgr\xF6\xDFe",embeddedArtworkSize:"Eingebettete Grafikgr\xF6\xDFe",localArtworkFormat:{title:"Welches Datei-Format soll das Cover haben?",jpg:"Ein jpg Bild",png:"Ein png Bild",both:"Beides (jpg + png)"},jpegImageQuality:"JPEG Qualit\xE4t"},tags:{head:"Welche Tags sollen gespeichert werden?",title:"Titel",artist:"K\xFCnstler",album:"Album",cover:"Cover",trackNumber:"Titelnummer",trackTotal:"Titelanzahl",discNumber:"CD Nummer",discTotal:"CDs insgesamt",albumArtist:"Album K\xFCnstler",genre:"Genre",year:"Jahr",date:"Datum",explicit:"Explizite Lyrics",isrc:"ISRC",length:"Titel L\xE4nge",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Wiedergabe Lautst\xE4rke",label:"Album Plattenlabel",lyrics:"Nicht synchronisierte Texte",copyright:"Copyright",composer:"Komponist",involvedPeople:"Mitwirkende Personen"},other:{title:"Sonstige",savePlaylistAsCompilation:"Speichere Playlist als Zusammenstellung",useNullSeparator:"Verwende Nulltrennzeichen",saveID3v1:"Speichere ID3v1 ebenfalls",multiArtistSeparator:{title:"Wie m\xF6chtest du die K\xFCnstler trennen?",nothing:"Speichere nur den Hauptk\xFCnstler",default:"Verwende Standard Spezifikationen",andFeat:"Verwende & und feat.",using:'Verwende "{separator}"'},singleAlbumArtist:"Nur den Hauptk\xFCnstler speichern",albumVariousArtists:'Verschiedene K\xFCnstler" im Album K\xFCnstler Tag behalten',removeAlbumVersion:'Entferne die "Album Version" vom Songtitel',removeDuplicateArtists:"Kombinationen von K\xFCnstlern entfernen",dateFormat:{title:"Datumsformatierung f\xFCr FLAC Dateien",year:"JJJJ",month:"MM",day:"TT"},featuredToTitle:{title:"Was soll ich mit featured Artists machen?",0:"Nichts",1:"Vom Titel entfernen",3:"Vom Titel und Albumtitel entfernen",2:"Zu dem Titel hinzuf\xFCgen"},titleCasing:"Titel-Schreibweise",artistCasing:"K\xFCnstler-Schreibweise",casing:{nothing:"Unbearbeitet lassen",lower:"klein",upper:"GROSS",start:"Wortanfang Gross",sentence:"Satzanfang gross"},previewVolume:"Vorschau der Lautst\xE4rke",executeCommand:{title:"Befehl, der nach dem Download ausgef\xFChrt werden soll",description:"Leer lassen ohne Aktion"}},spotify:{title:"Spotify Features",clientID:"Spotify Client ID",clientSecret:"Spotify Client Secret",username:"Spotify Benutzername"},reset:"Auf Standardwerte zur\xFCcksetzen",save:"Speichern",toasts:{init:"Einstellungen geladen!",update:"Einstellungen aktualisiert!",ARLcopied:"ARL wurde in die Zwischenablage kopiert"}},sidebar:{home:"Home",search:"Suche",charts:"Charts",favorites:"Favoriten",linkAnalyzer:"Link Analyse",settings:"Einstellungen",about:"Info"},tracklist:{downloadSelection:"Downloads"}},fr={globals:{welcome:"Bienvenue dans deemix",back:"retour",loading:"chargement en cours",download:"T\xE9l\xE9charger {thing}",by:"par {artist}",in:"dans {album}",download_hint:"T\xE9l\xE9charger",play_hint:"Lire",toggle_download_tab_hint:"D\xE9velopper/R\xE9duire",clean_queue_hint:"Retirer Les T\xE2ches Termin\xE9es",cancel_queue_hint:"Tout Annuler",open_downloads_folder:"Ouvrir Le Dossier De T\xE9l\xE9chargements",cut:"couper",copy:"copier",copyLink:"copier le lien",copyImageLink:"copier le lien de l'image",copyDeezerLink:"copier le lien deezer",paste:"coller",listTabs:{empty:"",all:"tout",top_result:"meilleur r\xE9sultat",album:"album | albums",artist:"artiste | artistes",single:"single | singles",title:"titre | titres",track:"piste | pistes",releaseN:"0 sortie | {n} sortie | {n} sorties",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"Plus d'albums",featured:"Appara\xEEt dans",spotifyPlaylist:"playlist spotify | playlists spotify",releaseDate:"date de sortie",error:"erreur",trackN:"0 piste | {n} piste | {n} pistes",albumN:"0 album | {n} album | {n} albums",artistN:"0 artiste | {n} artiste | {n} artistes",playlistN:"0 playlist | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app en ligne",offline:"app hors ligne"},updates:{currentVersion:"Version Actuelle",currentWebuiVersion:"Version Actuelle De La WebUI",versionNotAvailable:"N/A",updateAvailable:"Vous n'utilisez pas la derni\xE8re version disponible : {version}",deemixVersion:"Version de la biblioth\xE8que deemix"},titles:{usefulLinks:"Liens Utiles",bugReports:"Rapports De Bug",contributing:"Contribution",donations:"Dons",license:"Licence"},subtitles:{bugReports:"Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !",contributing:"Vous souhaitez contribuer \xE0 ce projet ? Vous pouvez le faire de diff\xE9rentes mani\xE8res !",donations:"Vous souhaitez contribuer financi\xE8rement ? Vous pouvez faire un don !"},usesLibrary:"Cette application utilise la biblioth\xE8que deemix, que vous pouvez exploiter afin de cr\xE9er votre propre interface utilisateur pour deemix.",thanks:"Merci \xE0 rtonno, uhwot et lollilol de m'avoir aid\xE9 dans ce projet ainsi qu'\xE0 BasCurtiz pour la cr\xE9ation de l'ic\xF4ne.",upToDate:{text:"Restez inform\xE9 des mises \xE0 jour en suivant le {newsChannel} sur Telegram.",newsChannel:"canal d'informations"},officialWebsite:"Site Officiel",officialRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La Biblioth\xE8que",officialWebuiRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La WebUI",officialSubreddit:"Subreddit Officiel",newsChannel:"Canal d'Informations",questions:{text:"Si vous avez des questions ou des probl\xE8mes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en d\xE9crivant votre probl\xE8me.",subreddit:"subreddit"},beforeReporting:"Avant de signaler un bug, assurez-vous que vous utilisez la version la plus r\xE9cente de l'application. V\xE9rifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre c\xF4t\xE9.",beSure:"Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a d\xE9j\xE0 \xE9t\xE9 recens\xE9.",duplicateReports:"Les rapports de bug r\xE9p\xE9titifs seront supprim\xE9s, merci d'en prendre bonne note.",dontOpenIssues:"NE PAS rapporter de probl\xE8me s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.",newUI:{text:"Si vous ma\xEEtrisez python, vous pouvez essayer de cr\xE9er une nouvelle interface utilisateur pour l'application \xE0 l'aide de la biblioth\xE8que de base, ou corriger des bugs dans la biblioth\xE8que \xE0 l'aide d'une demande de fusion de branches (pull request) sur le {repo}.",repo:"r\xE9pertoire de d\xE9p\xF4t"},acceptFeatures:"J'accepte \xE9galement les nouvelles fonctionnalit\xE9s, mais pas de choses complexes, dans la mesure o\xF9 elles peuvent \xEAtre impl\xE9ment\xE9es directement dans l'application et non dans la biblioth\xE8que.",otherLanguages:"Si vous ma\xEEtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !",understandingCode:"Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.",contributeWebUI:{text:"Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer \xE0 la {webui}.",webui:"WebUI"},itsFree:"N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes pr\xE9f\xE9r\xE9s avant de supporter les d\xE9veloppeurs.",notObligated:"Ne vous sentez pas oblig\xE9 de faire un don, vous \xEAtes tout de m\xEAme appr\xE9ci\xE9 !",lincensedUnder:{text:"Ce projet s'inscrit dans le cadre de la {gpl3}.",gpl3:"Licence publique g\xE9n\xE9rale GNU, version 3"}},charts:{title:"Classements",changeCountry:"Changer De Pays",download:"T\xE9l\xE9charger Le Classement"},errors:{title:"Erreurs pour {name}",ids:{invalidURL:"Cette URL n'est pas reconnue",unsupportedURL:"Cette URL n'est actuellement pas support\xE9e",ISRCnotOnDeezer:"L'ISRC de la piste est indisponible sur Deezer",notYourPrivatePlaylist:"Vous n'\xEAtes pas autoris\xE9 \xE0 t\xE9l\xE9charger les playlists priv\xE9es de quelqu'un d'autre.",spotifyDisabled:"Les Fonctionnalit\xE9s Spotify ne sont pas configur\xE9es correctement.",trackNotOnDeezer:"La piste est introuvable sur Deezer !",albumNotOnDeezer:"L'album est introuvable sur Deezer !",notOnDeezer:"La piste est indisponible sur Deezer !",notEncoded:"La piste n'a pas encore \xE9t\xE9 encod\xE9e !",notEncodedNoAlternative:"La piste n'a pas encore \xE9t\xE9 encod\xE9e et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",wrongBitrate:"La piste est introuvable au d\xE9bit souhait\xE9.",wrongBitrateNoAlternative:"La piste est introuvable au d\xE9bit souhait\xE9 et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",no360RA:"La piste est indisponible au format Reality Audio 360.",notAvailable:"La piste est indisponible sur les serveurs de Deezer !",notAvailableNoAlternative:"La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",noSpaceLeft:"L'espace disponible sur cet appareil est insuffisant !",albumDoesntExists:"Aucun album n'existe pour cette piste, impossible de collecter les informations n\xE9cessaires"}},favorites:{title:"Favoris",noPlaylists:"Aucune Playlist n'a \xE9t\xE9 trouv\xE9e",noAlbums:"Aucun Album Favori n'a \xE9t\xE9 trouv\xE9",noArtists:"Aucun Artiste Favori n'a \xE9t\xE9 trouv\xE9",noTracks:"Aucune Piste Favorite n'a \xE9t\xE9 trouv\xE9e"},home:{needTologin:"Vous devez vous connecter \xE0 votre compte Deezer avant de pouvoir d\xE9marrer un t\xE9l\xE9chargement.",openSettings:"Ouvrir Les Param\xE8tres",sections:{popularPlaylists:"Playlists les plus \xE9cout\xE9es",popularAlbums:"Albums les plus \xE9cout\xE9s"}},linkAnalyzer:{info:"Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de t\xE9l\xE9charger.",useful:"C'est utile si vous essayez, par exemple, de t\xE9l\xE9charger des pistes indisponibles dans votre pays et que vous souhaitez savoir o\xF9 elles sont disponibles.",linkNotSupported:"Ce lien n'est pas encore pris en charge",linkNotSupportedYet:"Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dur\xE9e",diskNumber:"Num\xE9ro De Disque",trackNumber:"Num\xE9ro De Piste",releaseDate:"Date De Sortie",bpm:"BPM",label:"Label",recordType:"Type d'Enregistrement",genres:"Genres",tracklist:"Liste Des Pistes"}},search:{startSearching:"D\xE9marrer une recherche !",description:"Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez \xE9galement coller un lien Deezer.",fans:"{n} fans",noResults:"Aucun r\xE9sultat",noResultsTrack:"Aucune piste n'a \xE9t\xE9 trouv\xE9e",noResultsAlbum:"Aucun album n'a \xE9t\xE9 trouv\xE9",noResultsArtist:"Aucun artiste n'a \xE9t\xE9 trouv\xE9",noResultsPlaylist:"Aucune playlist n'a \xE9t\xE9 trouv\xE9e"},searchbar:"Saisissez une requ\xEAte (ou collez simplement un lien)",downloads:"t\xE9l\xE9chargements",toasts:{restoringQueue:"Restauration de la file d'attente de t\xE9l\xE9chargement...",queueRestored:"La file d'attente de t\xE9l\xE9chargement a \xE9t\xE9 restaur\xE9e !",addedToQueue:"{item} ajout\xE9 \xE0 la file d'attente",addedMoreToQueue:"{n} \xE9l\xE9ments ajout\xE9s \xE0 la file d'attente",alreadyInQueue:"{item} est d\xE9j\xE0 dans la file d'attente !",finishDownload:"{item} a \xE9t\xE9 t\xE9l\xE9charg\xE9.",allDownloaded:"Tous les t\xE9l\xE9chargements sont termin\xE9s !",refreshFavs:"Actualisation termin\xE9e !",loggingIn:"Connexion en cours...",loggedIn:"Connect\xE9",alreadyLogged:"D\xE9j\xE0 connect\xE9",loginFailed:"Connexion impossible",loggedOut:"D\xE9connect\xE9",cancellingCurrentItem:"Annulation de l'\xE9l\xE9ment actuel.",currentItemCancelled:"\xC9l\xE9ment actuel annul\xE9.",startAddingArtist:"Ajout des albums de {artist} \xE0 la file d'attente",finishAddingArtist:"Les albums de {artist} ont \xE9t\xE9 ajout\xE9s \xE0 la file d'attente",startConvertingSpotifyPlaylist:"Conversion de pistes Spotify en \xE9quivalents Deezer",finishConvertingSpotifyPlaylist:"Playlist Spotify convertie",loginNeededToDownload:"Vous devez vous connecter pour pouvoir t\xE9l\xE9charger des pistes !",deezerNotAvailable:"Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.",startGeneratingItems:"Traitement de {n} \xE9l\xE9ments...",finishGeneratingItems:"{n} \xE9l\xE9ments ont \xE9t\xE9 g\xE9n\xE9r\xE9s."},settings:{title:"Param\xE8tres",languages:"Langues",login:{title:"Connexion",loggedIn:"Vous \xEAtes connect\xE9 en tant que {username}",arl:{question:"Comment obtenir mon ARL personnel ?",update:"Mettre \xE0 jour l'ARL"},logout:"D\xE9connexion",login:"Connexion via deezer.com"},appearance:{title:"Apparence",slimDownloadTab:"Onglet de t\xE9l\xE9chargement compact",slimSidebar:"Barre lat\xE9rale compacte"},downloadPath:{title:"Emplacement De T\xE9l\xE9chargement"},templates:{title:"Mod\xE8les",tracknameTemplate:"Mod\xE8le pour le nom de piste",tracknameAvailableVariables:"Variables disponibles pour le nom de piste",albumTracknameTemplate:"Mod\xE8le pour le nom de piste de l'album",albumTracknameAvailableVariables:"Variables disponibles pour le nom de piste de l'album",playlistTracknameTemplate:"Mod\xE8le pour le nom de piste de la playlist",playlistTracknameAvailableVariables:"Variables disponibles pour le nom de piste de la playlist"},folders:{title:"Dossiers",createPlaylistFolder:"G\xE9n\xE9rer des dossiers par playlist",playlistNameTemplate:"Mod\xE8le pour le nom du dossier de playlist",createArtistFolder:"G\xE9n\xE9rer des dossiers par artiste",artistNameTemplate:"Mod\xE8le pour le nom du dossier d'artiste",createAlbumFolder:"G\xE9n\xE9rer des dossiers par album",albumNameTemplate:"Mod\xE8le pour le nom du dossier d'album",createCDFolder:"G\xE9n\xE9rer des dossiers par CD",createStructurePlaylist:"G\xE9n\xE9rer une structure de dossiers pour les playlists",createSingleFolder:"G\xE9n\xE9rer une structure de dossiers pour les singles"},trackTitles:{title:"Titres des pistes",padTracks:"Longueur uniforme des num\xE9ros de piste (ajoute automatiquement des z\xE9ros devant le num\xE9ro initial de la piste)",paddingSize:"Nombre de z\xE9ros \xE0 ajouter en permanence devant le num\xE9ro initial de la piste",illegalCharacterReplacer:"Substitut aux caract\xE8res non autoris\xE9s (dans les noms de fichiers et de dossiers)"},downloads:{title:"T\xE9l\xE9chargements",queueConcurrency:"T\xE9l\xE9chargements Simultan\xE9s",maxBitrate:{title:"D\xE9bit Pr\xE9f\xE9r\xE9",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Les fichiers doivent-ils \xEAtre \xE9cras\xE9s ?",y:"Oui, \xE9craser le fichier",n:"Non, ne pas \xE9craser le fichier",t:"\xC9craser uniquement les m\xE9tadonn\xE9es",b:"Non, conserver les deux fichiers et ajouter un num\xE9ro au doublon",e:"Non, et ne pas tenir compte de l'extension du fichier"},fallbackBitrate:"Recourir \xE0 un d\xE9bit plus faible si le d\xE9bit pr\xE9f\xE9r\xE9 n'est pas disponible",fallbackSearch:"Rechercher la piste si le lien original n'est pas disponible",logErrors:"Cr\xE9er un fichier journal d'erreurs",logSearched:"Cr\xE9er un fichier journal des pistes recherch\xE9es",createM3U8File:"Cr\xE9er un fichier de playlist",syncedLyrics:"Cr\xE9er des fichiers .lyr (Paroles Synchronis\xE9es)",playlistFilenameTemplate:"Mod\xE8le du nom de fichier de la playlist",saveDownloadQueue:"Enregistrer la file d'attente de t\xE9l\xE9chargement \xE0 la fermeture de l'application"},covers:{title:"Pochettes d'albums",saveArtwork:"Enregistrer Les Pochettes",coverImageTemplate:"Mod\xE8le pour le nom de la pochette",saveArtworkArtist:"Enregistrer l'image de l'artiste",artistImageTemplate:"Mod\xE8le pour le nom de l'image de l'artiste",localArtworkSize:"Taille de l'illustration locale",embeddedArtworkSize:"Taille de l'illustration incorpor\xE9e aux fichiers audio",localArtworkFormat:{title:"Dans quel format souhaitez-vous l'illustration locale ?",jpg:"Une image jpeg",png:"Une image png",both:"\xC0 la fois jpeg et png"},jpegImageQuality:"Qualit\xE9 de l'image JPEG",embeddedArtworkPNG:"Enregistrer l'illustration incorpor\xE9e aux fichiers audio en tant que PNG",embeddedPNGWarning:"Les images PNG ne sont pas officiellement utilis\xE9es par Deezer et pourraient causer des probl\xE8mes.",imageSizeWarning:"Toute valeur sup\xE9rieure \xE0 x1200 n'est pas officiellement support\xE9e par Deezer, vous pourriez donc rencontrer des probl\xE8mes.",coverDescriptionUTF8:"Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)"},tags:{head:"M\xE9tadonn\xE9es \xE0 sauvegarder",title:"Titre",artist:"Artiste",album:"Album",cover:"Pochette",trackNumber:"Num\xE9ro De Piste",trackTotal:"Nombre De Pistes",discNumber:"Num\xE9ro Du Disque",discTotal:"Nombre De Disques",albumArtist:"Artiste De l'Album",genre:"Genre",year:"Ann\xE9e",date:"Date",explicit:"Paroles Explicites",isrc:"ISRC",length:"Longueur De La Piste",barcode:"Code-Barres De l'Album (UPC)",bpm:"BPM",replayGain:"Gain En Relecture (Replay Gain)",label:"Label De l'Album",lyrics:"Paroles Non-Synchronis\xE9es",syncedLyrics:"Paroles Synchronis\xE9es",copyright:"Droits d'Auteur (Copyright)",composer:"Compositeur",involvedPeople:"Personnes Impliqu\xE9es",source:"ID de la source et de la piste"},other:{title:"Autre",savePlaylistAsCompilation:"Enregistrer les playlists en tant que compilation",useNullSeparator:"Utiliser le caract\xE8re NULL comme s\xE9parateur",saveID3v1:"Enregistrer \xE9galement les m\xE9tadonn\xE9es ID3v1",multiArtistSeparator:{title:"Comment aimeriez-vous s\xE9parer les artistes ?",nothing:"Enregistrer uniquement l'artiste principal",default:"En utilisant la sp\xE9cification standard",andFeat:"En utilisant & et feat.",using:'En utilisant "{separator}"'},singleAlbumArtist:"Enregistrer uniquement l'artiste principal de l'album",albumVariousArtists:`Conserver "Various Artists" dans les Artistes de l'Album`,removeAlbumVersion:'Supprimer "Album Version" du titre de la piste',removeDuplicateArtists:"Supprimer les combinaisons d'artistes",dateFormat:{title:"Format de date pour les fichiers FLAC",year:"AAAA",month:"MM",day:"JJ"},featuredToTitle:{title:"Que faire des artistes participants (featuring) ?",0:"Ne rien faire",1:"Les retirer du titre de la piste",3:"Les supprimer du titre de la piste et du titre de l'album",2:"Les d\xE9placer vers le titre de la piste"},titleCasing:"Casse pour le titre",artistCasing:"Casse pour l'artiste",casing:{nothing:"Conserver inchang\xE9",lower:"minuscules",upper:"MAJUSCULES",start:"Majuscule Au D\xE9but De Chaque Mot",sentence:"Majuscule seulement au d\xE9but de la phrase"},previewVolume:"Volume sonore des aper\xE7us de pistes",executeCommand:{title:"Commande \xE0 ex\xE9cuter apr\xE8s le t\xE9l\xE9chargement",description:"Laisser vide pour qu'aucune action n'ait lieu"}},spotify:{title:"Fonctionnalit\xE9s Spotify",clientID:"clientID Spotify",clientSecret:"Client Secret Spotify",username:"Nom d'utilisateur Spotify",question:"Comment activer les Fonctionnalit\xE9s Spotify ?"},reset:"R\xE9tablir les valeurs par d\xE9faut",resetMessage:"Souhaitez-vous vraiment r\xE9tablir les param\xE8tres par d\xE9faut ?",save:"Sauvegarder",toasts:{init:"Param\xE8tres charg\xE9s !",update:"Param\xE8tres mis \xE0 jour !",reset:"Param\xE8tres r\xE9initialis\xE9s \xE0 leur valeur par d\xE9faut !",ARLcopied:"ARL copi\xE9 dans le presse-papier"}},sidebar:{home:"accueil",search:"recherche",charts:"classements",favorites:"favoris",linkAnalyzer:"analyseur de lien",settings:"param\xE8tres",about:"\xE0 propos"},tracklist:{downloadSelection:"T\xE9l\xE9charger la s\xE9lection"}},id={globals:{welcome:"Selamat datang di deemix",back:"kembali",loading:"memuat",download:"Mengunduh {thing}",by:"oleh {artist}",in:"di {album}",download_hint:"Unduh",play_hint:"Putar",toggle_download_tab_hint:"Buka/Tutup",clean_queue_hint:"Berhasil Mengosongkan",cancel_queue_hint:"Batalkan Semua",listTabs:{empty:"",all:"semua",top_result:"hasil teratas",album:"album | album",artist:"artis | artis",single:"singel | singel",title:"judul | judul",track:"lagu | lagu",trackN:"0 lagu | {n} lagu | {n} lagu",releaseN:"0 rilis | {n} rilis | {n} rilis",playlist:"daftar putar | daftar putar",compile:"kompilasi | kompilasi",ep:"ep | ep",spotifyPlaylist:"daftar putar spotify | daftar putar spotify",releaseDate:"tanggal rilis",error:"galat"}},about:{titles:{usefulLinks:"Tautan Berguna",bugReports:"Laporan Kesalahan",contributing:"Kontirbutor",donations:"Donasi",license:"Lisensi"},subtitles:{bugReports:"Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!",contributing:"Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!",donations:"Mau kontribusi secara finansial? Kamu bisa beri donasi!"},usesLibrary:"Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.",thanks:"Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.",upToDate:{text:"Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.",newsChannel:"kanal berita deemix"},officialWebsite:"Situs Web Resmi",officialRepo:"Repositori Pustaka Resmi",officialWebuiRepo:"Repositori WebUI Resmi",officialSubreddit:"Subreddit Resmi",newsChannel:"Kanal Berita",questions:{text:"Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.",subreddit:"subreddit"},beforeReporting:"Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.",beSure:"Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.",duplicateReports:"Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.",dontOpenIssues:"JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.",newUI:{text:"Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.",repo:"repo"},acceptFeatures:"Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.",otherLanguages:"Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!",understandingCode:"Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.",contributeWebUI:{text:"Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.",webui:"WebUI"},itsFree:"Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.",notObligated:"Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!",lincensedUnder:{text:"Pekerjaan ini ada di bawah lisensi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Tangga Lagu",changeCountry:"Ubah Negara",download:"Unduh Tangga Lagu"},errors:{title:"Galat untuk {name}",ids:{invalidURL:"URL tidak dikenal",unsupportedURL:"URL belum didukung",ISRCnotOnDeezer:"Lagu ISRC tidak tersedia di deezer",notYourPrivatePlaylist:"Kamu tidak bisa mengunduh daftar putar privat orang lain.",spotifyDisabled:"Fitur Spotify tidak diatur dengan benar.",trackNotOnDeezer:"Lagu tidak ditemukan di deezer!",albumNotOnDeezer:"Album tidak ditemukan di deezer!",notOnDeezer:"Lagu tidak ada di Deezer!",notEncoded:"Lagu belum di-encode!",notEncodedNoAlternative:"Lagu belum di-encode dan tidak ada alternatif lain!",wrongBitrate:"Lagu tidak tersedia pada bitrate yang diinginkan.",wrongBitrateNoAlternative:"Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!",no360RA:"Lagu tidak tersedia pada Reality Audio 360.",notAvailable:"Lagu tidak tersedia pada server deezer!",notAvailableNoAlternative:"Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!"}},favorites:{title:"Favorit",noPlaylists:"Daftar Putar kosong",noAlbums:"Album Favorit kosong",noArtists:"Artis Favorit kosong",noTracks:"Lagu Favorit kosong"},home:{needTologin:"Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.",openSettings:"Buka Pengaturan",sections:{popularPlaylists:"Daftar putar populer",popularAlbums:"Album paling banyak diputar"}},linkAnalyzer:{info:"Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.",useful:"Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.",linkNotSupported:"Tautan seperti ini belum didukung",linkNotSupportedYet:"Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durasi",diskNumber:"Nomor Disk",trackNumber:"Nomor Lagu",releaseDate:"Tanggal Rilis",bpm:"BPM",label:"Label",recordType:"Tipe Rekaman",genres:"Genre",tracklist:"Daftar Lagu"}},search:{startSearching:"Mulai cari!",description:"Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer",fans:"{n} fan",noResults:"Tak ada hasil",noResultsTrack:"Lagu tidak ditemukan",noResultsAlbum:"Album tidak ditemukan",noResultsArtist:"Artis tidak ditemukan",noResultsPlaylist:"Daftar putar tidak ditemukan"},searchbar:"Cari apa pun yang kamu mau (atau berikan tautannya saja)",downloads:"unduhan",toasts:{addedToQueue:"{item} ditambah ke antrian",alreadyInQueue:"{item} sudah ada di antrian!",finishDownload:"{item} selesai diunduh.",allDownloaded:"Seluruh unduhan selesai!",refreshFavs:"Penyegaran selesai!",loggingIn:"Masuk",loggedIn:"Telah masuk",alreadyLogged:"Telah masuk",loginFailed:"Tidak bisa masuk",loggedOut:"Belum masuk",cancellingCurrentItem:"Membatalkan item.",currentItemCancelled:"Item telah dibatalan.",startAddingArtist:"Menambahkan {artist} album ke antrian",finishAddingArtist:"{artist} album telah ditambahkan ke antrian",startConvertingSpotifyPlaylist:"Mengonversi lagu spotify ke deezer",finishConvertingSpotifyPlaylist:"Daftar putar Spotify selesai dikonversi"},settings:{title:"Pengaturan",languages:"Bahasa",login:{title:"Masuk",loggedIn:"Kamu telah masuk sebagai {username}",arl:{question:"Bagaimana cara mendapat ARL?",update:"Perbarui ARL"},logout:"Keluar"},appearance:{title:"Tampilan",slimDownloadTab:"Tab unduhan ramping"},downloadPath:{title:"Direktori Unduhan"},templates:{title:"Templat",tracknameTemplate:"Templat judul lagu",albumTracknameTemplate:"Templat judul album",playlistTracknameTemplate:"Templat judul daftar putar"},folders:{title:"Folders",createPlaylistFolder:"Buat folder untuk daftar putar",playlistNameTemplate:"Templat folder daftar putar",createArtistFolder:"Buat folder untuk artis",artistNameTemplate:"Templat folder artis",createAlbumFolder:"Buat folder untuk album",albumNameTemplate:"Templat folder album",createCDFolder:"Buat folder untuk CD",createStructurePlaylist:"Buat struktur folder untuk daftar putar",createSingleFolder:"Buat struktur folder untuk singel"},trackTitles:{title:"Judul lagu",padTracks:"Judul pad",paddingSize:"Timpa ukuran padding",illegalCharacterReplacer:"Pengubah Simbol Tak Terdukung"},downloads:{title:"Unduhan",queueConcurrency:"Unduhan Bersamaan",maxBitrate:{title:"Bitrate Prioritas",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Apakah file mau ditimpa?",y:"Ya, silakan",n:"Tidak, jangan ditimpa",t:"Timpa tag-nya saja"},fallbackBitrate:"Rendahkan bitrate",fallbackSearch:"Cari bitrate lebih rendah",logErrors:"Buat file log untuk galat",logSearched:"Buat file log untuk lagu yang dicari",createM3U8File:"Buat file daftar putar",syncedLyrics:"Buat file .lyr (Sinkronisasikan Lirik)",playlistFilenameTemplate:"Templat nama file untuk daftar putar",saveDownloadQueue:"Simpan antrian pengunduhan saat menutup aplikasi"},covers:{title:"Sampul album",saveArtwork:"Simpan Sampul",coverImageTemplate:"Templat nama sampul",saveArtworkArtist:"Simpan gambar artis",artistImageTemplate:"Templat gambar artis",localArtworkSize:"Ukuran sampul lokal",embeddedArtworkSize:"Ukuran sampul tertanam",localArtworkFormat:{title:"Format gambar apa yang kamu mau untuk sampul lokal?",jpg:"Gambar JPEG",png:"Gambar PNG",both:"Keduanya"},jpegImageQuality:"Kualitas gambar JPEG"},tags:{head:"Tag apa saja yang disimpan?",title:"Judul",artist:"Artis",album:"Album",cover:"Sampul",trackNumber:"Nomor Lagu",trackTotal:"Jumlah Lagu",discNumber:"Nomor Disk",discTotal:"Jumlah Disk",albumArtist:"Artis pada Album",genre:"Genre",year:"Tahun",date:"Tanggal",explicit:"Lirik Eksplisit",isrc:"ISRC",length:"Durasi",barcode:"Barcode Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label Album",lyrics:"Lirik Tak Tersinkronisasi",copyright:"Hak Cipta",composer:"Komposer",involvedPeople:"Orang-Orang Terlibat"},other:{title:"Lainnya",savePlaylistAsCompilation:"Simpan daftar putar sebagai kompilasi",useNullSeparator:"Gunakan separator null",saveID3v1:"Simpan juga ID3v1",multiArtistSeparator:{title:"Bagaimana kamu mau memisahkan nama artis?",nothing:"Simpan artis utamanya saja",default:"Gunakan spesifikasi standard",andFeat:"Gunakan & dan feat.",using:'Gunakan "{separator}"'},singleAlbumArtist:"Simpan artis utama saja",albumVariousArtists:'Simpan "Various Artists" sebagai artis',removeAlbumVersion:'Hapus "Versi Album" dari judul lagu',removeDuplicateArtists:"Hapus kombinasi artis",dateFormat:{title:"Format tanggal untuk file FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Apa yang harus dilakukan jika ada artis kedua?",0:"Biarkan saja",1:"Hapus dari judul lagu",3:"Hapus dari judul lagu dan judul album",2:"Pindahkan ke judul lagu"},titleCasing:"Kapitalisasi judul",artistCasing:"Kapitalisasi album",casing:{nothing:"Biarkan seadanya",lower:"huruf kecil",upper:"HURUF KAPITAL",start:"Setiap Awal Kata",sentence:"Huruf pertama saja"},previewVolume:"Pratinjau volume",executeCommand:{title:"Perintah yang dijalankan setelah pengunduhan",description:"Biarkan kosong jika tidak ada"}},spotify:{title:"Fitur Spotify",clientID:"clientID Spotify ",clientSecret:"Client Secret Spotify ",username:"Username Spotify"},reset:"Kembalikan ke Awal",save:"Simpan",toasts:{init:"Pengaturan dimuat!",update:"Pengaturan diperbarui!",ARLcopied:"ARL tersalin ke papan klip"}},sidebar:{home:"utama",search:"cari",charts:"tangga lagu",favorites:"favorit",linkAnalyzer:"penganalisa tautan",settings:"pengaturan",about:"tentang"},tracklist:{downloadSelection:"Seleksi unduhan"}},pt={globals:{welcome:"Bem-vindo ao deemix",back:"voltar",loading:"A carregar",download:"Transferir {thing}",by:"por {artist}",in:"em {album}",download_hint:"Transferir",play_hint:"Tocar",toggle_download_tab_hint:"Expandir/Recolher",clean_queue_hint:"Limpar Finalizados",cancel_queue_hint:"Cancelar Tudo",listTabs:{empty:"",all:"Tudo",top_result:"melhor resultado",album:"\xE1lbum | \xE1lbums",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amentos | {n} lan\xE7amento | {n} lan\xE7amento",playlist:"lista de reprodu\xE7\xE3o | listas de reprodu\xE7\xE3o",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"lista de reprodu\xE7\xE3o spotify | listas de reprodu\xE7\xE3o spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relat\xF3rio de erros",contributing:"Contribuir",donations:"Doa\xE7\xF5es",license:"Licen\xE7as"},subtitles:{bugReports:"Existe alguma coisa que n\xE3o funciona no deemix? Informa-nos!",contributing:"Queres contribuir para o projecto? Podes faz\xEA-lo de diferentes formas!",donations:"Desejas contribuir monetariamente? Faz uma doa\xE7\xE3o!"},usesLibrary:"Esta aplica\xE7\xE3o usa a biblioteca deemix, que poder\xE1s usar para desenvolver o teu proprio UI para o deemix.",thanks:"Agrade\xE7o a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o \xEDcone.",upToDate:{text:"Mantem-te atualizado seguindo o {newsChannel} no Telegram.",newsChannel:"canal de not\xEDcias"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio Oficial da Biblioteca",officialWebuiRepo:"Reposit\xF3rio Oficial WebUI",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solu\xE7\xE3o no {subreddit}. Caso n\xE3o encontres nada podes criar um post com a tua quest\xE3o no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportares um bug certifica-te que est\xE1s a correr a vers\xE3o mais recente e que o que queres reportar \xE9 mesmo um bug e n\xE3o algo que apenas n\xE3o funciona do teu lado.",beSure:"Certifica-te que o erro \xE9 reprodutivel noutros dispositivos e N\xC3O reportes um bug que j\xE1 tenha sido reportado.",duplicateReports:"Bug reports duplicados ser\xE3o fechados, mant\xE9m-te atento a isso.",dontOpenIssues:"N\xC3O abras issues para colocar quest\xF5es, existe um subreddit para isso.",newUI:{text:"Caso sejas fluente em python podes tentar criar um novo UI para a aplica\xE7\xE3o recorrendo \xE0 biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.",repo:"reposit\xF3rio"},acceptFeatures:"Tamb\xE9m aceito funcionalidades n\xE3o complexas caso possam ser implementadas directamente na app e n\xE3o na biblioteca.",otherLanguages:"Caso sejas fluente noutra linguagem de programa\xE7\xE3o podes tentar migrar o deemix para outra linguagem de programa\xE7\xE3o!",understandingCode:"Precisas de ajuda a entender o c\xF3digo? Acede a RemixDev no Telegram ou no Reddit.",contributeWebUI:{text:"Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.",webui:"WebUI"},itsFree:"Deves ter em conta que que este projecto \xE9 gratuito e dever\xE1s apoiar os artistas que aprecias antes de apoiares os programadores.",notObligated:"N\xE3o te sintas obrigado a doar, agrade\xE7o-te na mesma!",lincensedUnder:{text:"Este trabalho esta licenciado sobre a {gpl3}.",gpl3:"GNU Licen\xE7a publica geral 3.0"}},charts:{title:"Tabelas",changeCountry:"Alterar pa\xEDs",download:"Transferir tabela"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL n\xE3o reconhecido",unsupportedURL:"URL ainda n\xE3o suportado",ISRCnotOnDeezer:"Faixa ISRC n\xE3o dispon\xEDvel no deezer",notYourPrivatePlaylist:"Nao podes baixar listas de reprodu\xE7\xE3o privadas de outros.",spotifyDisabled:"Funcionalidades do Spotify n\xE3o est\xE3o definidas corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"\xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa n\xE3o encontrada no Deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e n\xE3o foi encontrada alternativa!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e n\xE3o foi encontrada alternativa!",no360RA:"Faixa n\xE3o dispon\xEDvel em Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e n\xE3o foi encontrada alternativa!"}},favorites:{title:"Favoritos",noPlaylists:"Listas de reprodu\xE7\xE3o n\xE3o encontradas",noAlbums:"\xC1lbuns favoritos n\xE3o encontrados",noArtists:"Artistas favoritos n\xE3o encontrados",noTracks:"Faixas favoritas n\xE3o encontradas"},home:{needTologin:"Antes de iniciar transfer\xEAncias \xE9 necess\xE1rio efectuar autentica\xE7\xE3o na conta Deezer.",openSettings:"Abrir Defini\xE7\xF5es",sections:{popularPlaylists:"Listas de reprodu\xE7\xE3o populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Podes usar esta sec\xE7\xE3o para obteres mais informa\xE7\xE3o sobre o link que est\xE1s a tentar transferir.",useful:"Isto \xE9 \xFAtil caso estejas a tentar transferir faixas que n\xE3o est\xE3o dispon\xEDveis no teu pa\xEDs e queres saber onde est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Este link ainda n\xE3o \xE9 suportado",linkNotSupportedYet:"Parece que este link ainda n\xE3o \xE9 suportado, tenta analisar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do disco",trackNumber:"N\xFAmero da faixa",releaseDate:"Data de lan\xE7amento",bpm:"BPM",label:"Editora",recordType:"Tipo de Disco",genres:"G\xE9neros",tracklist:"Lista de faixas"}},search:{startSearching:"Come\xE7a a pesquisar!",description:"Podes perquisar uma m\xFAsica, um \xE1lbum inteiro, um artista, uma lista de reprodu\xE7\xE3o... tudo! Tamb\xE9m podes colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Faixa n\xE3o encontrada",noResultsAlbum:"\xC1lbum n\xE3o encontrado",noResultsArtist:"Artista n\xE3o encontrado",noResultsPlaylist:"Lista de reprodu\xE7\xE3o n\xE3o encontrada"},searchbar:"Pesquisa o que quiseres (ou cola um link)",downloads:"transfer\xEAncias",toasts:{addedToQueue:"{item} adicionados \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} foi transferido.",allDownloaded:"Todas as transfer\xEAncias terminadas!",refreshFavs:"Actualizar terminados!",loggingIn:"A autenticar",loggedIn:"Autenticado",alreadyLogged:"J\xE1 est\xE1s autenticado",loginFailed:"Nao foi possivel iniciar sess\xE3o",loggedOut:"Desconectado",cancellingCurrentItem:"A cancelar item actual.",currentItemCancelled:"Item actual cancelado.",startAddingArtist:"A adicionar {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"Adicionados {artist} \xE1lbuns \xE0 fila",startConvertingSpotifyPlaylist:"A converter faixas do spotify em faixas do deezer",finishConvertingSpotifyPlaylist:"Lista de reprodu\xE7\xE3o do Spotify convertida."},settings:{title:"Defini\xE7\xF5es",languages:"Idioma",login:{title:"Inicio de Sess\xE3o",loggedIn:"Est\xE1s autenticado como {username}",arl:{question:"Como obter o meu ARL?",update:"Actualizar ARL"},logout:"Sair"},appearance:{title:"Aspecto",slimDownloadTab:"Aba de transfer\xEAncias estreita"},downloadPath:{title:"Caminho das transfer\xEAncias"},templates:{title:"Formatos",tracknameTemplate:"Formato do nome de faixa",albumTracknameTemplate:"Formato do nome de \xC1lbum",playlistTracknameTemplate:"Formato do nome de lista de reprodu\xE7\xE3o"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para lista de reprodu\xE7\xE3o",playlistNameTemplate:"Formato da pasta de lista de reprodu\xE7\xE3o",createArtistFolder:"Criar pasta para artista",artistNameTemplate:"Formato da pasta de artista",createAlbumFolder:"Criar pasta para \xE1lbum",albumNameTemplate:"Formato da pasta de \xE1lbum",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para listas reprodu\xE7\xE3o",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo",padTracks:"Bloco de Faixas",paddingSize:"Substituir tamanho do preenchimento",illegalCharacterReplacer:"Substituir caractere inv\xE1lido"},downloads:{title:"Transfer\xEAncias",queueConcurrency:"Transfer\xEAncias concorrentes",maxBitrate:{title:"Bitrate preferencial",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Ficheiros existentes. Substituir?",y:"Sim, substituir o ficheiro",n:"N\xE3o substituir o ficheiro",t:"Subescrever apenas as etiquetas"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Fallback de pesquisa",logErrors:"Criar hist\xF3rico para erros",logSearched:"Criar hist\xF3rico para faixas pesquisadas",createM3U8File:"Criar ficheiro de lista de reprodu\xE7\xE3o",syncedLyrics:"Criar ficheiro .lyr (Letra Sincronizada)",playlistFilenameTemplate:"Formato do nome de ficheiro da lista de reprodu\xE7\xE3o",saveDownloadQueue:"Guardar fila de transfer\xEAncias ao fechar a aplica\xE7\xE3o"},covers:{title:"Capas do \xC1lbum",saveArtwork:"Guardar capas",coverImageTemplate:"Modelo do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Modelo de imagem do artista",localArtworkSize:"Tamanho do trabalho art\xEDstico local",embeddedArtworkSize:"Tamanho do trabalho art\xEDstico incorporado",localArtworkFormat:{title:"Em que formato desejas o trabalho art\xEDstico local?",jpg:"Em imagem jpeg",png:"Em imagem png",both:"Em jpeg e em png"},jpegImageQuality:"Qualidade de imagem JPEG"},tags:{head:"Etiquetas a guardar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero de faixa",trackTotal:"Total de faixas",discNumber:"N\xFAmero do Disco",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xE9nero",year:"Ano",date:"Data",explicit:"Letra Expl\xEDcita",isrc:"ISRC",length:"Dura\xE7\xE3o da faixa",barcode:"C\xF3digo de barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Editora do \xE1lbum",lyrics:"Letra da m\xFAsica n\xE3o sincronizada",copyright:"Direitos de Autor",composer:"Compositor",involvedPeople:"Pessoas envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Guardar listas de reprodu\xE7\xE3o como compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Tamb\xE9m guardar ID3v1",multiArtistSeparator:{title:"Como queres separarar os artistas?",nothing:"Guardar apenas o artista principal",default:"Usar especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar apenas o artista principal do \xE1lbum",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato de data nos ficheiros FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas convidados/participa\xE7\xF5es?",0:"Nada",1:"Remover do t\xEDtulo",3:"Remover do t\xEDtulo e do t\xEDtulo do album",2:"Mov\xEA-lo para o t\xEDtulo"},titleCasing:"Caixa do T\xEDtulo",artistCasing:"Caixa do Artista",casing:{nothing:"Manter inalterado",lower:"minusculas",upper:"MAI\xDASCULAS",start:"In\xEDcio De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Volume de Pr\xE9-visualiza\xE7\xE3o",executeCommand:{title:"Comando a executar ap\xF3s transferir",description:"Deixar em branco para nenhuma ac\xE7\xE3o"}},spotify:{title:"Funcionalidades Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"nome de utilizador Spotify"},reset:"Repor configura\xE7\xF5es padr\xE3o",save:"Guardar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es actualizadas",ARLcopied:"ARL copiado para area de transferencia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"tabelas",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"defini\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Transferir seleccionados"}},pt_br={globals:{welcome:"bem vindo ao deemix",back:"voltar",loading:"carregando",download:"Baixar {thing}",by:"por {artist}",in:"em {album}",download_hint:"Baixar",play_hint:"Reproduzir",toggle_download_tab_hint:"Expandir/Diminuir",clean_queue_hint:"Limpar",cancel_queue_hint:"Cancelar Todos",listTabs:{empty:"",all:"todos",top_result:"resultado principal",album:"\xE1lbum | \xE1lbuns",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amento | {n} lan\xE7amento | {n} lan\xE7amentos",playlist:"playlist | playlists",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"playlist do spotify | playlists do spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relatar Bugs",contributing:"Contribui\xE7\xF5es",donations:"Doa\xE7\xF5es",license:"Licen\xE7a"},subtitles:{bugReports:"H\xE1 algo n\xE3o funcionando no deemix? Nos diga!",contributing:"Voc\xEA quer contribuir para este projeto? Voc\xEA pode fazer isso de diferentes maneiras!",donations:"Voc\xEA quer contribuir monetariamente? Voc\xEA pode fazer uma doa\xE7\xE3o!"},usesLibrary:"Esse app usa a biblioteca do deemix, no qual voc\xEA pode usar para criar sua pr\xF3pria UI para o deemix",thanks:"Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o \xEDcone",upToDate:{text:"Para mais novidades siga o {newsChannel} no Telegram.",newsChannel:"news channel"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio da Biblioteca Oficial",officialWebuiRepo:"Reposit\xF3rio da WebUI Oficial",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Se voc\xEA tiver d\xFAvidas ou problemas com o app, procure uma solu\xE7\xE3o em {subreddit} primeiro. Caso voc\xEA n\xE3o encontre, voc\xEA pode fazer um post explicando seu problema no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportar um bug, tenha certeza que voc\xEA est\xE1 rodando a vers\xE3o mais recente do app, e o que voc\xEA quer reportar seja realmente um bug e n\xE3o algo que esteja acontecendo especialmente com voc\xEA.",beSure:"Certifique-se que o bug \xE9 reproduzivel em outras m\xE1quinas e tamb\xE9m N\xC3O reporte um bug se ele j\xE1 foi reportado.",duplicateReports:"Reportes de bugs duplicados ser\xE3o fechados, ent\xE3o fique atento a isso.",dontOpenIssues:"N\xC3O abra t\xF3picos para fazer perguntas, h\xE1 o subreddit para isso.",newUI:{text:"Se voc\xEA \xE9 fluente em Phython, voc\xEA pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.",repo:"repo"},acceptFeatures:"Eu aceito funcionalidades extras tamb\xE9m, mas nada de coisas complexas, desde que ela possa ser implementada no app, e n\xE3o na biblioteca.",otherLanguages:"Se voc\xEA for fluente em outra linguagem de programa\xE7\xE3o, voc\xEA pode tentar portar o deemix para outra linguagem!",understandingCode:"Voc\xEA precisa de ajuda para entender o c\xF3digo? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.",contributeWebUI:{text:"Se voc\xEA souber Vue.js (JavaScript), HTML ou CSS voc\xEA pode contribuir para o {webui}.",webui:"WebUI"},itsFree:"Lembre-se que este projeto \xE9 livre e voc\xEA deve dar suporte aos artistas que voc\xEA ama antes de dar suporte aos desenvolvedores.",notObligated:"N\xE3o se sinta na obriga\xE7\xE3o de doar, eu agrade\xE7o de qualquer maneira!",lincensedUnder:{text:"Esse \xE9 um projeto licenciado atrav\xE9s da {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Mudar Pa\xEDs",download:"Download Chart"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL inv\xE1lida",unsupportedURL:"URL n\xE3o suportada ainda",ISRCnotOnDeezer:"Faixa ISRC n\xE3o est\xE1 dispon\xEDvel ainda no deezer",notYourPrivatePlaylist:"Voc\xEA n\xE3o pode baixar playlists privadas.",spotifyDisabled:"Os Recursos do Spotify n\xE3o foram configurados corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"Album not found on deezer! \xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa indispon\xEDvel no deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e sem alternativas encontradas!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e nenhuma outra alternativa encontrada!",no360RA:"Faixa n\xE3o dispon\xEDvel na qualidade Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e nenhuma outra alternativa encontrada!"}},favorites:{title:"Favoritos",noPlaylists:"Nenhuma Playlist encontrada",noAlbums:"Nenhum \xC1lbum Favorito encontrado",noArtists:"Nenhum Artista Favorito encontrado",noTracks:"Nenhuma Faixa Favorita encontrada"},home:{needTologin:"Voc\xEA precisa logar na sua conta do deezer antes de come\xE7ar a baixar m\xFAsicas.",openSettings:"Abrir Configura\xE7\xF5es",sections:{popularPlaylists:"Playlists Populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Voc\xEA pode usar essa se\xE7\xE3o para encontrar mais informa\xE7\xF5es sobre o link que voc\xEA quer baixar.",useful:"Isso \xE9 \xFAtil se voc\xEA est\xE1 tentando baixar algumas faixas que n\xE3o est\xE3o dispon\xEDveis no seu pa\xEDs, e quer saber onde elas est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Esse link n\xE3o \xE9 suportado ainda",linkNotSupportedYet:"Parece que esse link n\xE3o \xE9 suportado ainda, tente analizar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do Disco",trackNumber:"N\xFAmero da Faixa",releaseDate:"Data de Lan\xE7amento",bpm:"BPM",label:"Gravadora",recordType:"Tipo de Grava\xE7\xE3o",genres:"G\xEAneros",tracklist:"Tracklist"}},search:{startSearching:"Comece pesquisando!",description:"Voc\xEA pode pesquisar uma m\xFAsica, um \xE1lbum, um artista, uma playlist.... tudo! Voc\xEA tamb\xE9m pode colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Nenhuma Faixa encontrada",noResultsAlbum:"Nenhum \xC1lbum encontrado",noResultsArtist:"Nenhum Artista encontrado",noResultsPlaylist:"Nenhuma Playlist encontrada"},searchbar:"Pesquise algo (ou apenas cole um link)",downloads:"downloads",toasts:{addedToQueue:"{item} adicionado \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} download terminado.",allDownloaded:"Todos os downloads foram feitos!",refreshFavs:"Atualiza\xE7\xE3o completa!",loggingIn:"Logando",loggedIn:"Logado",alreadyLogged:"Voc\xEA j\xE1 est\xE1 logado",loginFailed:"N\xE3o foi possivel entrar",loggedOut:"Desconectando",cancellingCurrentItem:"Cancelando item atual.",currentItemCancelled:"Item atual cancelado.",startAddingArtist:"Adicionando {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"{artist} \xE1lbuns adicionados a fila",startConvertingSpotifyPlaylist:"Convertendo faixas do spotify para faixas do deezer",finishConvertingSpotifyPlaylist:"Playlists do Spotify convertidas"},settings:{title:"Configura\xE7\xF5es",languages:"Idiomas",login:{title:"Login",loggedIn:"Voc\xEA est\xE1 logado como {username}",arl:{question:"Como eu consigo o meu ARL?",update:"Atualizar ARL"},logout:"Sair"},appearance:{title:"Apar\xEAncia",slimDownloadTab:"Aba de download slim"},downloadPath:{title:"Diret\xF3rio de Downloads"},templates:{title:"Templates",tracknameTemplate:"Template do nome da faixa",albumTracknameTemplate:"Template da faixa do \xE1lbum",playlistTracknameTemplate:"Template da faixa da playlist"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para playlists",playlistNameTemplate:"Template da pasta de playlist",createArtistFolder:"Criar pasta para os artistas",artistNameTemplate:"Template da pasta de artistas",createAlbumFolder:"Criar pasta para \xE1lbuns",albumNameTemplate:"Template da pasta de \xE1lbuns",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para playlists",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo das faixas",padTracks:"Faixas com pad",paddingSize:"Sobrescrever tamanho do padding",illegalCharacterReplacer:"Substituir caracteres inv\xE1lidos"},downloads:{title:"Downloads",queueConcurrency:"Downloads Simult\xE2neos",maxBitrate:{title:"Escolher Taxa de Bits",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Sobrescrever arquivos?",y:"Sim, sobrescrever arquivos",n:"N\xE3o, n\xE3o sobrescrever arquivos",t:"Sobrescrever apenas as tags"},fallbackBitrate:"Taxa de bits reserva",fallbackSearch:"Procurar reserva",logErrors:"Criar arquivos de log para erros",logSearched:"Criar arquivos de log para faixas pesquisadas",createM3U8File:"Criar arquivo de playlist",syncedLyrics:"Criar arquivos .lyr (Letras)",playlistFilenameTemplate:"Template do nome do arquivo da playlist",saveDownloadQueue:"Salvar a fila de downloads quando fechar o app"},covers:{title:"Capa dos \xE1lbuns",saveArtwork:"Salvar capas",coverImageTemplate:"Template do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Template da imagem do artista",localArtworkSize:"Tamanho da capa local",embeddedArtworkSize:"Tamanho da capa embutida",localArtworkFormat:{title:"Qual o formato da imagem que voc\xEA quer para a capa local?",jpg:".jpeg",png:".png",both:"Ambas, .jpeg e .png"},jpegImageQuality:"Qualidade da imagem JPEG"},tags:{head:"Quais tags salvar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero da Faixa",trackTotal:"Total de Faixas",discNumber:"N\xFAmero de Discos",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xEAnero",year:"Ano",date:"Data",explicit:"Letras Expl\xEDcitas",isrc:"ISRC",length:"Tamanho da Faixa",barcode:"C\xF3digo de Barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Gravadora",lyrics:"Letras Dessincronizadas",copyright:"Copyright",composer:"Compositor",involvedPeople:"Pessoas Envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Salvar playlists como uma compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Salvar ID3v1",multiArtistSeparator:{title:"Como voc\xEA gostaria de separar os artistas?",nothing:"Salvar apenas o artista principal",default:"Usar a especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Salvar apenas o artista principal",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato da data para arquivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas participantes?",0:"Nada",1:"Remova do t\xEDtulo da faixa",3:"Remova do t\xEDtulo da faixa e do \xE1lbum",2:"Mover para o t\xEDtulo da faixa"},titleCasing:"Formata\xE7\xE3o do t\xEDtulo",artistCasing:"Formata\xE7\xE3o do artista",casing:{nothing:"Manter inalterado",lower:"min\xFAsculo",upper:"MAI\xDASCULO",start:"Come\xE7o De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Pr\xE9via do Volume",executeCommand:{title:"Comando para executar depois de baixar",description:"Deixe em branco para nenhuma a\xE7\xE3o"}},spotify:{title:"Recursos do Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"usu\xE1rio do Spotify"},reset:"Restaurar para o padr\xE3o",save:"Salvar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es atualizadas!",ARLcopied:"ARL copiada para a \xE1rea de transfer\xEAncia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"configura\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Baixar sele\xE7\xE3o"}},ru={globals:{welcome:"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 deemix",back:"\u043D\u0430\u0437\u0430\u0434",loading:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C {thing}",by:"{artist}",in:"\u0438\u0437 {album}",download_hint:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C",play_hint:"\u041F\u0440\u043E\u0441\u043B\u0443\u0448\u0430\u0442\u044C",toggle_download_tab_hint:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0421\u043A\u0440\u044B\u0442\u044C",clean_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u044B\u0435",cancel_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0451",open_downloads_folder:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043F\u043A\u0443 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",cut:"\u0432\u044B\u0440\u0435\u0437\u0430\u0442\u044C",copy:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",copyLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443",copyImageLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",copyDeezerLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 deezer",paste:"\u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C",listTabs:{empty:"",all:"\u0432\u0441\u0435",top_result:"\u043B\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",album:"\u0430\u043B\u044C\u0431\u043E\u043C | \u0430\u043B\u044C\u0431\u043E\u043C\u044B | \u0430\u043B\u044C\u0431\u043E\u043C\u044B",artist:"\u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438",single:"\u0441\u0438\u043D\u0433\u043B | \u0441\u0438\u043D\u0433\u043B\u044B | \u0441\u0438\u043D\u0433\u043B\u044B",title:"\u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",track:"\u0442\u0440\u0435\u043A | \u0442\u0440\u0435\u043A\u0438 | \u0442\u0440\u0435\u043A\u0438",trackN:"{n} \u0442\u0440\u0435\u043A | {n} \u0442\u0440\u0435\u043A\u0430 | {n} \u0442\u0440\u0435\u043A\u043E\u0432",releaseN:"{n} \u0440\u0435\u043B\u0438\u0437 | {n} \u0440\u0435\u043B\u0438\u0437\u0430 | {n} \u0440\u0435\u043B\u0438\u0437\u043E\u0432",playlist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",compile:"\u0441\u043F\u043B\u0438\u0442 | \u0441\u043F\u043B\u0438\u0442\u044B | \u0441\u043F\u043B\u0438\u0442\u044B",ep:"ep",bundle:"\u0431\u0430\u043D\u0434\u043B | \u0431\u0430\u043D\u0434\u043B\u044B | \u0431\u0430\u043D\u0434\u043B\u044B",more:"\u0411\u043E\u043B\u044C\u0448\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",featured:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0432",spotifyPlaylist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",error:"\u043E\u0448\u0438\u0431\u043A\u0430",albumN:"{n} \u0430\u043B\u044C\u0431\u043E\u043C | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u0430 | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",artistN:"{n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",playlistN:"{n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432"}},about:{updates:{currentVersion:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionNotAvailable:"\u041D/\u0414",updateAvailable:"\u0412\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043D\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E: {version}",deemixVersion:"\u0412\u0435\u0440\u0441\u0438\u044F \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 deemix"},titles:{usefulLinks:"\u041F\u043E\u043B\u0435\u0437\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438",bugReports:"\u041E\u0442\u0447\u0451\u0442\u044B \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445",contributing:"\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u0440\u043E\u0435\u043A\u0442\u0443",donations:"\u041F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F",license:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F"},subtitles:{bugReports:"\u0427\u0442\u043E-\u0442\u043E \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442? \u0421\u043E\u043E\u0431\u0449\u0438\u0442\u0435 \u043D\u0430\u043C!",contributing:"\u0425\u043E\u0442\u0438\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u0430\u043C\u0438!",donations:"\u0425\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u043E? \u041C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u0435!"},usesLibrary:"\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 deemix, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 UI \u0434\u043B\u044F deemix.",thanks:"\u0421\u043F\u0430\u0441\u0438\u0431\u043E rtonno, uhwot \u0438 lollilol \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u044C \u0441 \u044D\u0442\u0438\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u043C, \u0430 \u0442\u0430\u043A\u0436\u0435 BasCurtiz \u0437\u0430 \u0438\u043A\u043E\u043D\u043A\u0443.",upToDate:{text:"\u0421\u043B\u0435\u0434\u0438\u0442\u0435 \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u043C\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F\u043C\u0438 \u043D\u0430 {newsChannel} \u0432 Telegram.",newsChannel:"\u043A\u0430\u043D\u0430\u043B\u0435"},officialWebsite:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0439\u0442",officialRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438",officialWebuiRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 WebUI",officialSubreddit:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442",newsChannel:"\u041A\u0430\u043D\u0430\u043B \u043D\u043E\u0432\u043E\u0441\u0442\u0435\u0439",questions:{text:"\u0415\u0441\u043B\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043E\u0437\u043D\u0438\u043A\u043B\u0438 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0441 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u0438\u0449\u0438\u0442\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 {subreddit}. \u0415\u0441\u043B\u0438 \u043D\u0435 \u043D\u0430\u0448\u043B\u0438 \u0440\u0435\u0448\u0435\u043D\u0438\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u043E\u0441\u0442 \u0438 \u043E\u043F\u0438\u0441\u0430\u0442\u044C \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443.",subreddit:"\u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442\u0435"},beforeReporting:"\u041F\u0435\u0440\u0435\u0434 \u0442\u0435\u043C, \u043A\u0430\u043A \u0441\u043E\u043E\u0431\u0449\u0430\u0442\u044C \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0438 \u0447\u0442\u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043D\u0435 \u043D\u0430 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435.",beSure:"\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E\u0437\u043D\u0438\u043A\u0430\u0435\u0442 \u0438 \u043D\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u0445. \u0422\u0430\u043A\u0436\u0435 \u041D\u0415 \u0441\u043E\u043E\u0431\u0449\u0430\u0439\u0442\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435, \u0435\u0441\u043B\u0438 \u043F\u0440\u043E \u043D\u0435\u0451 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E.",duplicateReports:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445 \u0440\u0430\u0441\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435 \u0431\u0443\u0434\u0443\u0442.",dontOpenIssues:"\u041D\u0415 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0434\u043B\u044F \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0430\u0432\u0442\u043E\u0440\u0443, \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0435\u0441\u0442\u044C \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442.",newUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 python, \u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 UI \u0434\u043B\u044F \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0438\u043B\u0438 \u043F\u043E\u0444\u0438\u043A\u0441\u0438\u0442\u044C \u0432 \u043D\u0435\u0439 \u0431\u0430\u0433\u0438 \u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C pull request \u0432 {repo}.",repo:"\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438"},acceptFeatures:"\u041C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438, \u043D\u043E \u043D\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0441\u043B\u043E\u0436\u043D\u044B\u0435, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435, \u0430 \u043D\u0435 \u0432 \u0441\u0430\u043C\u0443 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443.",otherLanguages:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u043D\u0451\u043C deemix!",understandingCode:"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u0442\u044C\u0441\u044F \u0432 \u043A\u043E\u0434\u0435? \u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 RemixDev \u0432 Telegram \u0438\u043B\u0438 \u043D\u0430 Reddit.",contributeWebUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0437\u043D\u0430\u0435\u0442\u0435 Vue.js (JavaScript), HTML \u0438\u043B\u0438 CSS, \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 {webui}.",webui:"WebUI"},itsFree:"\u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0432\u0430\u043C \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u043F\u043E\u043D\u0440\u0430\u0432\u0438\u0432\u0448\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043F\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043C \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u043E\u0432.",notObligated:"\u0412\u044B \u043D\u0435 \u043E\u0431\u044F\u0437\u0430\u043D\u044B \u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F, \u044F \u0432\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0432\u0430\u0441 \u0446\u0435\u043D\u044E!",lincensedUnder:{text:"\u041F\u0440\u043E\u0435\u043A\u0442 \u0440\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0434 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u0427\u0430\u0440\u0442\u044B",changeCountry:"\u0421\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0443",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0440\u0442"},errors:{title:"\u041E\u0448\u0438\u0431\u043A\u0438 {name}",ids:{invalidURL:"URL \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D",unsupportedURL:"URL \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",ISRCnotOnDeezer:"ISRC \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer",notYourPrivatePlaylist:"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0447\u0443\u0436\u0438\u0435 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B.",spotifyDisabled:"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B Spotify.",trackNotOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",albumNotOnDeezer:"\u0410\u043B\u044C\u0431\u043E\u043C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",notOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer!",notEncoded:"\u0422\u0440\u0435\u043A \u0435\u0449\u0451 \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D!",notEncodedNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D, \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",wrongBitrate:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435.",wrongBitrateNoAlternative:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",no360RA:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 Reality Audio 360.",notAvailable:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer!",notAvailableNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",noSpaceLeft:"\u041D\u0430 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u043D\u0435 \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430!",albumDoesntExists:"\u0410\u043B\u044C\u0431\u043E\u043C\u0430 \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043D\u0435 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0430"}},favorites:{title:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",noPlaylists:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noAlbums:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noArtists:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noTracks:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0442\u0440\u0435\u043A\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B"},home:{needTologin:"\u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u043E\u0439\u0442\u0438 \u043F\u043E\u0434 \u0441\u0432\u043E\u0435\u0439 \u0443\u0447\u0435\u0442\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u044C\u044E Deezer, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C.",openSettings:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",sections:{popularPlaylists:"\u041F\u043E\u043F\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",popularAlbums:"\u0421\u0430\u043C\u044B\u0435 \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B"}},linkAnalyzer:{info:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u044D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B, \u0447\u0442\u043E\u0431\u044B \u0443\u0437\u043D\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043E \u0441\u0441\u044B\u043B\u043A\u0435, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0441\u043A\u0430\u0447\u0430\u0442\u044C.",useful:"\u042D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B \u043D\u0443\u0436\u0435\u043D, \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0442\u0440\u0435\u043A\u0438, \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C, \u0433\u0434\u0435 \u043E\u043D\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B.",linkNotSupported:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",linkNotSupportedYet:"\u042D\u0442\u0430 \u0441\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0434\u0440\u0443\u0433\u0443\u044E.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",diskNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",bpm:"BPM",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",recordType:"\u0422\u0438\u043F",genres:"\u0416\u0430\u043D\u0440",tracklist:"\u0422\u0440\u0435\u043A\u043B\u0438\u0441\u0442"}},search:{startSearching:"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0438\u0441\u043A\u0430\u0442\u044C!",description:"\u0417\u0434\u0435\u0441\u044C \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0439\u0442\u0438 \u0442\u0440\u0435\u043A, \u0430\u043B\u044C\u0431\u043E\u043C, \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F, \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442... \u0432\u0441\u0451! \u041C\u043E\u0436\u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 Deezer",fans:"{n} \u043F\u043E\u043A\u043B\u043E\u043D\u043D\u0438\u043A\u043E\u0432",noResults:"\u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432",noResultsTrack:"\u0422\u0440\u0435\u043A\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsAlbum:"\u0410\u043B\u044C\u0431\u043E\u043C\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsPlaylist:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E"},searchbar:"\u0418\u0449\u0438\u0442\u0435, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 (\u0438\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0441\u0441\u044B\u043B\u043A\u0443)",downloads:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",toasts:{restoringQueue:"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0447\u0435\u0440\u0435\u0434\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",queueRestored:"\u041E\u0447\u0435\u0440\u0435\u0434\u044C \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430!",addedToQueue:"{item} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",addedMoreToQueue:"{n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",alreadyInQueue:"{item} \u0443\u0436\u0435 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u0438!",finishDownload:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 {item} \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430.",allDownloaded:"\u0412\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u044B!",refreshFavs:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E!",loggingIn:"\u0412\u0445\u043E\u0434...",loggedIn:"\u0412\u0445\u043E\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",alreadyLogged:"\u0412\u0445\u043E\u0434 \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loginFailed:"\u0412\u0445\u043E\u0434 \u043D\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loggedOut:"\u0412\u044B \u0432\u044B\u0448\u043B\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430",cancellingCurrentItem:"\u041E\u0442\u043C\u0435\u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",currentItemCancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E.",startAddingArtist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432 {artist} \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishAddingArtist:"\u0410\u043B\u044C\u0431\u043E\u043C\u044B {artist} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",startConvertingSpotifyPlaylist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 Spotify \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishConvertingSpotifyPlaylist:"Spotify \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",loginNeededToDownload:"\u0412\u043E\u0439\u0434\u0438\u0442\u0435 \u0432 \u0430\u043A\u043A\u0430\u0443\u043D\u0442, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0442\u0440\u0435\u043A\u0438!",deezerNotAvailable:"Deezer \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 VPN.",startGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",finishGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A."},settings:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",languages:"\u042F\u0437\u044B\u043A",login:{title:"\u0412\u0445\u043E\u0434",loggedIn:"\u0412\u044B \u0432\u043E\u0448\u043B\u0438 \u043A\u0430\u043A {username}",arl:{question:"\u041A\u0430\u043A \u0443\u0437\u043D\u0430\u0442\u044C \u0441\u0432\u043E\u0439 ARL?",update:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C ARL"},logout:"\u0412\u044B\u0439\u0442\u0438",login:"\u0412\u043E\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 deezer.com"},appearance:{title:"\u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434",slimDownloadTab:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",slimSidebar:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u043B\u0435\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C"},downloadPath:{title:"\u041F\u0443\u0442\u044C \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F"},templates:{title:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B",tracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",albumTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",playlistTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430"},folders:{title:"\u041F\u0430\u043F\u043A\u0438",createPlaylistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",playlistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",createArtistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",createAlbumFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",createCDFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F CD",createStructurePlaylist:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",createSingleFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u0441\u0438\u043D\u0433\u043B\u043E\u0432"},trackTitles:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u043E\u0432",padTracks:"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043D\u043E\u043B\u044C \u043A \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0442\u0440\u0435\u043A\u043E\u0432 (01, 02, ...)",paddingSize:"\u041A\u043E\u043B-\u0432\u043E \u0446\u0438\u0444\u0440 \u0432 \u043D\u043E\u043C\u0435\u0440\u0435",illegalCharacterReplacer:"\u0417\u0430\u043C\u0435\u043D\u0430 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u0438\u043C\u0435\u043D\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},downloads:{title:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0438",queueConcurrency:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",maxBitrate:{title:"\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u0439 \u0431\u0438\u0442\u0440\u0435\u0439\u0442",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u041D\u0443\u0436\u043D\u043E \u043B\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B?",y:"\u0414\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0444\u0430\u0439\u043B",n:"\u041D\u0435\u0442, \u043D\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C",t:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u0433\u0438",b:"\u041D\u0435\u0442, \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0430 \u0444\u0430\u0439\u043B\u0430 \u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u043C\u0435\u0440 \u043A \u0434\u0443\u0431\u043B\u0438\u043A\u0430\u0442\u0443",e:"\u041D\u0435\u0442, \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F"},fallbackBitrate:"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441 \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u043E\u043C \u043D\u0438\u0436\u0435, \u0435\u0441\u043B\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",fallbackSearch:"\u0418\u0441\u043A\u0430\u0442\u044C \u043F\u043E\u0445\u043E\u0436\u0438\u0439 \u0442\u0440\u0435\u043A, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",logErrors:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433\u0438 \u043E\u0448\u0438\u0431\u043E\u043A",logSearched:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430",createM3U8File:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",syncedLyrics:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C .lyr \u0444\u0430\u0439\u043B\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u043B\u0438\u0440\u0438\u043A\u0430)",playlistFilenameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",saveDownloadQueue:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043E\u0447\u0435\u0440\u0435\u0434\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u043F\u0440\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},covers:{title:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtwork:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u043E\u0431\u043B\u043E\u0436\u043A\u0438",coverImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtworkArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",localArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",embeddedArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0439 \u0432 \u0442\u0435\u0433\u0438 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",localArtworkFormat:{title:"\u0412 \u043A\u0430\u043A\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0431\u043B\u043E\u0436\u043A\u0438?",jpg:"jpeg",png:"png",both:"jpeg \u0438 png"},jpegImageQuality:"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E JPEG",embeddedArtworkPNG:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0443\u044E \u043E\u0431\u043B\u043E\u0436\u043A\u0443 \u0432 PNG",embeddedPNGWarning:"PNG \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0431\u0430\u0433\u0438",imageSizeWarning:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438 \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0432\u044B\u0448\u0435 x1200 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",coverDescriptionUTF8:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043E\u0431\u043B\u043E\u0436\u043A\u0438 \u0432 UTF8 (iTunes Fix)"},tags:{head:"\u041A\u0430\u043A\u0438\u0435 \u0442\u0435\u0433\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C",title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",artist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C",album:"\u0410\u043B\u044C\u0431\u043E\u043C",cover:"\u041E\u0431\u043B\u043E\u0436\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",trackTotal:"\u041A\u043E\u043B-\u0432\u043E \u0442\u0440\u0435\u043A\u043E\u0432",discNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",discTotal:"\u041A\u043E\u043B-\u0432\u043E \u0434\u0438\u0441\u043A\u043E\u0432",albumArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0430\u043B\u044C\u0431\u043E\u043C\u0430",genre:"\u0416\u0430\u043D\u0440",year:"\u0413\u043E\u0434",date:"\u0414\u0430\u0442\u0430",explicit:"\u041C\u0435\u0442\u043A\u0430 \u043E \u043D\u0435\u0446\u0435\u043D\u0437\u0443\u0440\u043D\u043E\u0439 \u043B\u0435\u043A\u0441\u0438\u043A\u0435",isrc:"\u041D\u043E\u043C\u0435\u0440 \u0437\u0430\u043F\u0438\u0441\u0438 (ISRC)",length:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",barcode:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u0434 \u0430\u043B\u044C\u0431\u043E\u043C\u0430 (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",lyrics:"\u0422\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",syncedLyrics:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D. \u0442\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",copyright:"\u041F\u0440\u0430\u0432\u0430 (\u043A\u043E\u043F\u0438\u0440\u0430\u0439\u0442)",composer:"\u041A\u043E\u043C\u043F\u043E\u0437\u0438\u0442\u043E\u0440",involvedPeople:"\u0412\u043E\u0432\u043B\u0435\u0447\u0451\u043D\u043D\u044B\u0435 \u043B\u044E\u0434\u0438",source:"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438 ID \u043F\u0435\u0441\u043D\u0438"},other:{title:"\u0420\u0430\u0437\u043D\u043E\u0435",savePlaylistAsCompilation:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043A\u0430\u043A \u0441\u0431\u043E\u0440\u043D\u0438\u043A\u0438",useNullSeparator:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C null \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044F",saveID3v1:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C ID3v1",multiArtistSeparator:{title:"\u041A\u0430\u043A \u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439?",nothing:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E",default:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0443\u044E \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044E",andFeat:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F & \u0438 feat.",using:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F "{separator}"'},singleAlbumArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumVariousArtists:'\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C "Various Artists" \u0432 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u0445 \u0430\u043B\u044C\u0431\u043E\u043C\u0430',removeAlbumVersion:'\u0423\u0434\u0430\u043B\u0438\u0442\u044C "Album Version" \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430',removeDuplicateArtists:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",dateFormat:{title:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B \u0434\u043B\u044F FLAC \u0444\u0430\u0439\u043B\u043E\u0432",year:"\u0413\u0413\u0413\u0413",month:"\u041C\u041C",day:"\u0414\u0414"},featuredToTitle:{title:"\u0427\u0442\u043E \u0434\u0435\u043B\u0430\u0442\u044C \u0441 \u043F\u0440\u0438\u0433\u043B\u0430\u0448\u0451\u043D\u043D\u044B\u043C\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u043C\u0438 (feat.)?",0:"\u041D\u0438\u0447\u0435\u0433\u043E",1:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",3:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",2:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0442\u0440\u0435\u043A\u0430"},titleCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F",artistCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",casing:{nothing:"\u041D\u0435 \u043C\u0435\u043D\u044F\u0442\u044C",lower:"\u0432 \u043D\u0438\u0436\u043D\u0435\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435",upper:"\u0412 \u0412\u0415\u0420\u0425\u041D\u0415\u041C \u0420\u0415\u0413\u0418\u0421\u0422\u0420\u0415",start:"\u041A\u0430\u0436\u0434\u043E\u0435 \u0421\u043B\u043E\u0432\u043E \u0421 \u0417\u0430\u0433\u043B\u0430\u0432\u043D\u043E\u0439 \u0411\u0443\u043A\u0432\u044B",sentence:"\u041A\u0430\u043A \u0432 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0438"},previewVolume:"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u043D\u0438\u044F",executeCommand:{title:"\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",description:"\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0435\u0441\u043B\u0438 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F"}},spotify:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"\u041A\u0430\u043A \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438 Spotify?"},reset:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",toasts:{init:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B!",update:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B!",ARLcopied:"ARL \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430"}},sidebar:{home:"\u0433\u043B\u0430\u0432\u043D\u0430\u044F",search:"\u043F\u043E\u0438\u0441\u043A",charts:"\u0447\u0430\u0440\u0442\u044B",favorites:"\u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",linkAnalyzer:"\u0430\u043D\u0430\u043B\u0438\u0437 \u0441\u0441\u044B\u043B\u043E\u043A",settings:"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",about:"\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0435"},tracklist:{downloadSelection:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435"}},tr={globals:{welcome:"Deemix'e ho\u015F geldin.",back:"geri",loading:"y\xFCkleniyor",download:"\u0130ndir {thing}",by:"{artist} taraf\u0131ndan",in:"{album} i\xE7inde",download_hint:"\u0130ndir",play_hint:"Oynat",toggle_download_tab_hint:"Geni\u015Flet/Daralt",clean_queue_hint:"Tamamlananlar\u0131 Temizle",cancel_queue_hint:"Hepsini ",listTabs:{empty:"",all:"T\xFCm\xFC",top_result:"top result",album:"alb\xFCm | alb\xFCmler",artist:"sanat\xE7\u0131 | sanat\xE7\u0131lar",single:"single | singlelar",title:"ba\u015Fl\u0131k | ba\u015Fl\u0131klar",track:"Par\xE7a | Par\xE7alar",trackN:"0 par\xE7a | {n} par\xE7a | {n} par\xE7a",releaseN:"0 yay\u0131nlanan | {n} yay\u0131nlanan | {n} yay\u0131nlanan",playlist:"oynatma listesi | oynatma listeleri",compile:"derleme | derlemeler",ep:"kay\u0131t | kay\u0131tlar",spotifyPlaylist:"spotify oynatma listesi | oynatma listeleri",releaseDate:"yay\u0131nlanma tarihi",error:"hata"}},about:{titles:{usefulLinks:"Yararl\u0131 Ba\u011Flant\u0131lar",bugReports:"Hata Raporlar\u0131",contributing:"Katk\u0131 Sa\u011Flayanlar",donations:"Ba\u011F\u0131\u015Flar",license:"Lisans"},subtitles:{bugReports:"Deemix'te \xE7al\u0131\u015Fmayan bir \u015Fey mi var?, Bize bildirin!",contributing:"Projeye katk\u0131 sa\u011Flamak m\u0131 istiyorsun? Farkl\u0131 yollardan sa\u011Flayabilirsin!",donations:"B\xFCt\xE7e yard\u0131m\u0131 m\u0131 yapmak istiyorsun? Ba\u011F\u0131\u015F yapabilirsin!"},usesLibrary:"deemix kendi kullan\u0131c\u0131 arabiriminizi olu\u015Fturabilece\u011Finiz, kendine \xF6zg\xFC k\xFCt\xFCphanesini kullan\u0131yor.",thanks:" rtonno, uhwot ve lollilol'a bu projeye yapt\u0131\u011F\u0131 katk\u0131lardan ve BasCurtiz'e ikonlardan dolay\u0131 te\u015Fekk\xFCr ederim.",upToDate:{text:"{newsChannel} takip ederek g\xFCncellemelerden haberdar olun.",newsChannel:"Telegramdaki haber kanal\u0131n\u0131"},officialWebsite:"\u0130lgili \u0130nternet Sitemiz",officialRepo:"\u0130lgili K\xFCt\xFCphanemiz",officialWebuiRepo:"\u0130lgili Web Kullan\u0131c\u0131 Aray\xFCz\xFC K\xFCt\xFCphanemiz.",officialSubreddit:"\u0130lgili Subreddit adresimiz",newsChannel:"Haber Kanal\u0131",questions:{text:"E\u011Fer uygulama ile ilgili sorular\u0131n\u0131z veya bir probleminiz varsa,ilk \xF6nce {subreddit} sorununuzu aray\u0131n. E\u011Fer bir \u015Fey bulamazsan\u0131z, sorununuz ile ilgili bir g\xF6nderi payla\u015Fabilirsiniz.",subreddit:"subreddit adresinden"},beforeReporting:"Bir hatay\u0131 bildirmeden \xF6nce, uygulaman\u0131n son s\xFCr\xFCm\xFCnde oldu\u011Funuza veya sorunun sizden kaynakl\u0131 olmay\u0131p bir hata oldu\u011Funa emin olduktan sonra emin olun.",beSure:"Hatan\u0131n ba\u015Fka cihazlarda da oldu\u011Funu do\u011Frulay\u0131n ve Bildirilen bir hatay\u0131 tekrar bildirmeyin.",duplicateReports:"Birbirinin ayn\u0131s\u0131 olan hata bildirileri kapat\u0131lacakt\u0131r, o y\xFCzden dikkatli olun.",dontOpenIssues:"Soru sormak i\xE7in hata bildirisi yollamay\u0131n, bunun i\xE7in bir subreddit adresimiz var.",newUI:{text:"E\u011Fer Phython kullanmakta iyiysen, ana k\xFCt\xFCphaneyi kullanan bir kullan\u0131c\u0131 aray\xFCz\xFC yapmay\u0131 deneyebilir, veya k\xFCt\xFCphanedeki hatalar\u0131 d\xFCzeltmek i\xE7in {repo}.",repo:"deposuna de\u011Fi\u015Fiklik iste\u011Fi yollayabilirsin"},acceptFeatures:"Yeni \xF6zellikleri de kabul ediyorum, fakat kar\u0131\u015F\u0131k \u015Feyleri k\xFCt\xFCphaneye de\u011Fil uygulamaya eklendi\u011Fi i\xE7in kabul edemiyorum.",otherLanguages:"E\u011Fer di\u011Fer programlama dillerinde kendine g\xFCveniyorsan, deemix'i farkl\u0131 dillere port etmeye \xE7al\u0131\u015Fabilirsin!",understandingCode:"Kodu anlamak i\xE7in yard\u0131m m\u0131 laz\u0131m? Reddit \xFCzerinden veya Telegramdan RemixDev'e ula\u015F.",contributeWebUI:{text:"E\u011Fer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.",webui:"Web Kullan\u0131c\u0131 Aray\xFCz\xFCne katk\u0131da bulanabilirsin"},itsFree:"Bunun \xFCcretsiz bir proje oldu\u011Funu ve geli\u015Ftiricilerden \xF6nce sevdi\u011Finiz sanat\xE7\u0131lar\u0131 desteklemeniz gerekti\u011Fini unutmay\u0131n.",notObligated:"Kendinizi ba\u011F\u0131\u015F yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!",lincensedUnder:{text:"Bu \xE7al\u0131\u015Fma lisansl\u0131d\u0131r: {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Grafikler",changeCountry:"\xDClke De\u011Fi\u015Ftir",download:"Grafi\u011Fi \u0130ndir"},errors:{title:"{name} Hatal\u0131 bulundu",ids:{invalidURL:"URL ge\xE7ersiz.",unsupportedURL:"URL \u015Fimdilik desteklenmiyor",ISRCnotOnDeezer:"ISRC par\xE7a deezerda bulunmuyor",notYourPrivatePlaylist:"Ba\u015Fkalar\u0131n\u0131n \xF6zel oynatma listelerini indiremezsin.",spotifyDisabled:"Spotify \xD6zellikleri do\u011Fru \u015Fekilde ayarlanmam\u0131\u015F.",trackNotOnDeezer:"Par\xE7a Deezer'da bulunamad\u0131!",albumNotOnDeezer:"Alb\xFCm Deezer'da bulunamad\u0131!",notOnDeezer:"Par\xE7a Deezer'da yok!",notEncoded:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi!",notEncodedNoAlternative:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi ve alternatifi bulunamad\u0131!",wrongBitrate:"Par\xE7a, istenen kalitede bulunamad\u0131!",wrongBitrateNoAlternative:"Par\xE7a veya alternatifler istenen kalitede bulunamad\u0131!",no360RA:"Par\xE7a 360 Derece ger\xE7ek\xE7i ses olarak bulunamad\u0131!",notAvailable:"Par\xE7a Deezer sunucular\u0131nda bulunamad\u0131!",notAvailableNoAlternative:"Par\xE7a veya Alternatifleri Deezer sunucular\u0131nda bulunamad\u0131.!"}},favorites:{title:"Favoriler",noPlaylists:"Oynatma listesi bulunamad\u0131.",noAlbums:"Favori alb\xFCmler bulunamad\u0131.",noArtists:"Favori sanat\xE7\u0131lar bulunamad\u0131.",noTracks:"Favori par\xE7alar bulunamad\u0131."},home:{needTologin:"\u0130ndirmeden \xF6nce Deezer hesab\u0131na giri\u015F yapmal\u0131s\u0131n.",openSettings:"Ayarlar\u0131 A\xE7",sections:{popularPlaylists:"Pop\xFCler Oynatma Listeleri",popularAlbums:"En \xE7ok dinlenen alb\xFCmler"}},linkAnalyzer:{info:"\u0130ndirmeye \xE7al\u0131\u015Ft\u0131\u011F\u0131n link hakk\u0131nda daha fazla bilgi i\xE7in buray\u0131 kullanabilirsin.",useful:"Mesela, \xFClkende dinlenebilir olmayan par\xE7alar\u0131n nerelerde var oldu\u011Funu bulmak i\xE7in kullanabilirsin.",linkNotSupported:"Bu link \u015Fimdilik desteklenmemektedir.",linkNotSupportedYet:"Bu link \u015Fimdilik desteklenmiyor gibi duruyor, ba\u015Fkas\u0131n\u0131 analiz etmeyi dene.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"S\xFCre",diskNumber:"S\u0131ra numaras\u0131",trackNumber:"Par\xE7a numaras\u0131",releaseDate:"Yay\u0131nlanma tarihi",bpm:"BPM",label:"Etiketi",recordType:"Kay\u0131t \u015Eekli",genres:"T\xFCr\xFC",tracklist:"Par\xE7a listesi"}},search:{startSearching:"Aramay\u0131 Ba\u015Flat!",description:"Bir par\xE7ay\u0131, t\xFCm alb\xFCm\xFC, bir sanat\xE7\u0131y\u0131, bir oynatma listesini... k\u0131saca her \u015Feyi aratabilirsin! Ayr\u0131ca Deezer Linki de yap\u0131\u015Ft\u0131rabilirsin!",fans:"{n} Hayranlar",noResults:"Sonu\xE7 Bulunamad\u0131",noResultsTrack:"Par\xE7a bulunamad\u0131",noResultsAlbum:"Alb\xFCm bulunamad\u0131",noResultsArtist:"Sanat\xE7\u0131 bulunamad\u0131",noResultsPlaylist:"Oynatma Listesi bulunamad\u0131"},searchbar:"\u0130stedi\u011Fin bir \u015Feyi arat (ya da bir link yap\u0131\u015Ft\u0131r.)",downloads:"\u0130ndirilenler",toasts:{addedToQueue:"{item} kuyru\u011Fa eklendi",alreadyInQueue:"{item} \xE7oktan kuyrukta!",finishDownload:"{item} indirmesi tamamland\u0131.",allDownloaded:"T\xFCm indirmeler tamamland\u0131!",refreshFavs:"Yenileme tamamland\u0131.!",loggingIn:"Giri\u015F yap\u0131l\u0131yor",loggedIn:"Giri\u015F yap\u0131ld\u0131",alreadyLogged:"\xC7oktan giri\u015F yap\u0131ld\u0131",loginFailed:"Giri\u015F yap\u0131lamad\u0131",loggedOut:"Oturum kapat\u0131ld\u0131.",cancellingCurrentItem:"Ge\xE7erli \xF6\u011Fe iptal ediliyor.",currentItemCancelled:"Ge\xE7erli \xF6\u011Fe iptal edildi.",startAddingArtist:"{artist} alb\xFCm kuyru\u011Fa ekleniyor",finishAddingArtist:"{artist} alb\xFCm kuyru\u011Fa eklendi.",startConvertingSpotifyPlaylist:"Spotify par\xE7alar\u0131 deezer par\xE7alar\u0131na d\xF6n\xFC\u015Ft\xFCr\xFCl\xFCyor.",finishConvertingSpotifyPlaylist:"Spotify oynatma listesi d\xF6n\xFC\u015Ft\xFCr\xFCld\xFC."},settings:{title:"Ayarlar",languages:"Diller",login:{title:"Giri\u015F",loggedIn:"{username} olarak giri\u015F yapt\u0131n.",arl:{question:"Kendi ARL'mi nas\u0131l al\u0131r\u0131m?",update:"ARL g\xFCncelle."},logout:"\xC7\u0131k\u0131\u015F"},appearance:{title:"G\xF6r\xFCn\xFCm",slimDownloadTab:"\u0130nce indirme sekmesi"},downloadPath:{title:"\u0130ndirilen dizin"},templates:{title:"\u015Eablonlar",tracknameTemplate:"Par\xE7a ismi \u015Fablonu",albumTracknameTemplate:"Alb\xFCm par\xE7as\u0131 \u015Fablonu",playlistTracknameTemplate:"Oynatma listesi par\xE7a \u015Fablonu"},folders:{title:"Dosyalar",createPlaylistFolder:"Oynatma listesi i\xE7in dosya olu\u015Ftur",playlistNameTemplate:"Oynatma listesi dosyas\u0131 \u015Fablonu",createArtistFolder:"Sanat\xE7\u0131 i\xE7in dosya olu\u015Ftur",artistNameTemplate:"Sanat\xE7\u0131 dosyas\u0131 \u015Fablonu",createAlbumFolder:"Alb\xFCm i\xE7in dosya olu\u015Ftur",albumNameTemplate:"Alb\xFCm dosyas\u0131 \u015Fablonu",createCDFolder:"CDler i\xE7in dosya olu\u015Ftur",createStructurePlaylist:"Oynatma listeleri i\xE7in dosya k\xF6k\xFC olu\u015Ftur",createSingleFolder:"Singlelar i\xE7in dosya k\xF6k\xFC olu\u015Ftur"},trackTitles:{title:"Par\xE7a ba\u015Fl\u0131klar\u0131",padTracks:"\u0130z Numaralar\u0131",paddingSize:"\u0130z Numaralar\u0131n\u0131 de\u011Fi\u015Ftir",illegalCharacterReplacer:"Illegal Karakter D\xFCzenleyici"},downloads:{title:"\u0130ndirilenler",queueConcurrency:"Devam eden indirmeler",maxBitrate:{title:"Tercih edilmi\u015F Bitrateler (kaliteler)",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dosyalar\u0131n \xFCst\xFCne yazmal\u0131 m\u0131y\u0131m?",y:"Evet, \xFCst\xFCne yaz",n:"Hay\u0131r, \xFCst\xFCne yazma",t:"Sadece izleri \xFCst\xFCne yaz"},fallbackBitrate:"Bitrate d\xFC\u015F\xFCrme",fallbackSearch:"D\xFC\u015F\xFCrme ara",logErrors:"Hatalar i\xE7in g\xFCnl\xFCk tut",logSearched:"Aranm\u0131\u015F par\xE7alar i\xE7in g\xFCnl\xFCk tut",createM3U8File:"Oynatma s\u0131ra listesi olu\u015Ftur",syncedLyrics:".lyr dosyalar\u0131 olu\u015Ftur (Senkronize \u015Fark\u0131 s\xF6zleri)",playlistFilenameTemplate:"Oynatma listesi \u015Fablonu",saveDownloadQueue:"Uygulamay\u0131 kapat\u0131rken indirme kuyru\u011Funu kaydet"},covers:{title:"Alb\xFCm kapaklar\u0131",saveArtwork:"Kapaklar\u0131 kaydet",coverImageTemplate:"Kapak ismi \u015Fablonu",saveArtworkArtist:"Sanat\xE7\u0131 foto\u011Fraf\u0131n\u0131 kaydet",artistImageTemplate:"\u015Eark\u0131c\u0131 foto\u011Fraf \u015Fablonu",localArtworkSize:"Yerel foto\u011Fraf boyutu",embeddedArtworkSize:"G\xF6m\xFCl\xFC foto\u011Fraf boyutu",localArtworkFormat:{title:"Yerel foto\u011Fraf\u0131n hangi formatta olmas\u0131n\u0131 istersin?",jpg:"Jpeg dosyas\u0131",png:"Png dosyas\u0131",both:"Her ikisi"},jpegImageQuality:"JPEG g\xF6r\xFCnt\xFC kalitesi"},tags:{head:"Hangi izler kay\u0131t edilsin?",title:"Ba\u015Fl\u0131k",artist:"Sanat\xE7\u0131",album:"Alb\xFCm",cover:"Kapak",trackNumber:"Par\xE7a Numaras\u0131",trackTotal:"T\xFCm Par\xE7a",discNumber:"Plak Say\u0131s\u0131",discTotal:"T\xFCm Plak",albumArtist:"Sanat\xE7\u0131 Alb\xFCm\xFC",genre:"T\xFCr",year:"Y\u0131l",date:"Tarih",explicit:"Cinsel i\xE7erikli \u015Fark\u0131 s\xF6zleri",isrc:"ISRC",length:"Par\xE7a Uzunlu\u011Fu",barcode:"Alb\xFCm Barkodu (UPC)",bpm:"BPM",replayGain:"Ses Y\xFCksekli\u011Fi Normalle\u015Ftirici",label:"Alb\xFCm Etiketi",lyrics:"Senkronize edilmemi\u015F \u015Fark\u0131 s\xF6zleri",copyright:"Telif hakk\u0131",composer:"Besteleyen",involvedPeople:"Alakal\u0131 Ki\u015Filer"},other:{title:"Di\u011Fer",savePlaylistAsCompilation:"Oynatma listelerini derleme olarak kaydet",useNullSeparator:"Bo\u015Fluk ay\u0131r\u0131c\u0131 kullan",saveID3v1:"ID3v1 dosyas\u0131n\u0131 da kaydet",multiArtistSeparator:{title:"Sanat\xE7\u0131lar\u0131n\u0131z\u0131 nas\u0131l ay\u0131rmak istersiniz?",nothing:"Sadece ana sanat\xE7\u0131y\u0131 kaydet",default:"Genel prosed\xFCr uygulans\u0131n",andFeat:"Kullan\u0131lanlar & ve Feat.",using:'Kullan\u0131lan "{separator}"'},singleAlbumArtist:"Sadece ana alb\xFCm sanat\xE7\u0131s\u0131n\u0131 kaydet",albumVariousArtists:'"\xC7e\u015Fitli sanat\xE7\u0131lar"\u0131 sanat\xE7\u0131 alb\xFCmlerinde tut',removeAlbumVersion:'"Alb\xFCm S\xFCr\xFCm\xFC"n\xFC par\xE7a ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart',removeDuplicateArtists:"Sanat\xE7\u0131 toplulu\u011Funu \xE7\u0131kart",dateFormat:{title:"FLAC dosyalar i\xE7in zaman format\u0131",year:"YYYY",month:"AA",day:"GG"},featuredToTitle:{title:"\xD6ne \xE7\u0131kan sanat\xE7\u0131lar\u0131 ne yapmal\u0131y\u0131m?",0:"Elleme",1:"Ba\u015Fl\u0131ktan \xE7\u0131kart",3:"Ba\u015Fl\u0131ktan ve alb\xFCm ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart",2:"Ba\u015Fl\u0131\u011Fa ta\u015F\u0131"},titleCasing:"Alb\xFCm harfi",artistCasing:"Sanat\xE7\u0131 harfi",casing:{nothing:"De\u011Fi\u015Ftirmeden b\u0131rak",lower:"k\xFC\xE7\xFCk harf",upper:"B\xDCY\xDCK HARF",start:"Kelimenin ba\u015F\u0131 ile ba\u015Fla",sentence:"C\xFCmle gibi yap"},previewVolume:"Ses \xF6nizlemesi",executeCommand:{title:"\u0130ndirdikten sonra komut uygula",description:"Bir \u015Fey yapmamak i\xE7in bo\u015F b\u0131rak"}},spotify:{title:"Spotify \xD6zelli\u011Fi",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify Kullan\u0131c\u0131 Ad\u0131"},reset:"Varsay\u0131lana s\u0131f\u0131rla",save:"Kaydet",toasts:{init:"Ayarlar y\xFCklendi!",update:"Ayarlar g\xFCncellendi!",ARLcopied:"ARL panoya kopyaland\u0131!"}},sidebar:{home:"Ana sayfa",search:"Ara",charts:"Grafikler",favorites:"Favoriler",linkAnalyzer:"Link Analiz\xF6r\xFC",settings:"Ayarlar",about:"Hakk\u0131nda"},tracklist:{downloadSelection:"\u0130ndirme b\xF6l\xFCm\xFC"}},vn={globals:{welcome:"Ch\xE0o m\u1EEBng \u0111\u1EBFn v\u1EDBi deemix",back:"tr\u1EDF l\u1EA1i",loading:"\u0111ang t\u1EA3i",download:"T\u1EA3i xu\u1ED1ng {thing}",by:"b\u1EDFi {artist}",in:"trong {album}",download_hint:"T\u1EA3i xu\u1ED1ng",play_hint:"Ph\xE1t",toggle_download_tab_hint:"M\u1EDF r\u1ED9ng/Gi\u1EA5u",clean_queue_hint:"X\xF3a nh\u1EEFng file \u0111\xE3 t\u1EA3i xong",cancel_queue_hint:"H\u1EE7y t\u1EA5t c\u1EA3",listTabs:{empty:"",all:"t\u1EA5t c\u1EA3",top_result:"k\u1EBFt qu\u1EA3 h\xE0ng \u0111\u1EA7u",album:"album | album",artist:"Ngh\u1EC7 s\u0129 | Ngh\u1EC7 s\u0129",single:"\u0111\u01A1n | \u0111\u01A1n",title:"ti\xEAu \u0111\u1EC1 | ti\xEAu \u0111\u1EC1",track:"B\xE0i h\xE1t | B\xE0i h\xE1t",trackN:"0 B\xE0i h\xE1t | {n} B\xE0i h\xE1t | {n} B\xE0i h\xE1t",releaseN:"0 s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m",playlist:"playlist | playlist",compile:"t\u1ED5ng h\u1EE3p | t\u1ED5ng h\u1EE3p",ep:"ep | ep",spotifyPlaylist:"playlist c\u1EE7a spotify | playlist c\u1EE7a spotify",releaseDate:"ng\xE0y ph\xE1t h\xE0nh",error:"l\u1ED7i"}},about:{titles:{usefulLinks:"Link h\u1EEFu d\u1EE5ng",bugReports:"B\xE1o l\u1ED7i",contributing:"\u0110\xF3ng g\xF3p",donations:"Quy\xEAn g\xF3p",license:"B\u1EB1ng ph\xE9p"},subtitles:{bugReports:"B\u1EA1n th\u1EA5y c\xF3 g\xEC \u0111\xF3 kh\xF4ng ho\u1EA1t \u0111\u1ED9ng trong deemix? Xin h\xE3y b\xE1o v\u1EDBi ch\xFAng t\xF4i!",contributing:"B\u1EA1n mu\u1ED1n \u0111\xF3ng g\xF3p cho d\u1EF1 \xE1n n\xE0y? B\u1EA1n c\xF3 th\u1EC3 l\xE0m \u0111i\u1EC1u \u0111\xF3 v\u1EDBi nhi\u1EC1u c\xE1ch kh\xE1c nhau!",donations:"B\u1EA1n mu\u1ED1n \u1EE7ng h\u1ED9 kinh ph\xED? B\u1EA1n c\xF3 th\u1EC3 quy\xEAn g\xF3p t\u1EA1i \u0111\xE2y!"},usesLibrary:"\u1EE8ng d\u1EE5ng n\xE0y s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n deemix, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng n\xF3 \u0111\u1EC3 t\u1EA1o m\u1ED9t UI ri\xEAng cho deemix.",thanks:"C\u1EA3m \u01A1n rtonno, uhwot v\xE0 lollilol \u0111\xE3 gi\xFAp t\xF4i v\u1EDBi d\u1EF1 \xE1n n\xE0y v\xE0 BasCurtiz v\u1EDBi vi\u1EC7c thi\u1EBFt k\u1EBF bi\u1EC3u t\u01B0\u1EE3ng.",upToDate:{text:"C\u1EADp nh\u1EADt app b\u1EB1ng c\xE1ch theo d\xF5i {newsChannel} tr\xEAn Telegram.",newsChannel:"k\xEAnh tin t\u1EE9c"},officialWebsite:"Website ch\xEDnh th\u1EE9c",officialRepo:"Repo th\u01B0 vi\u1EC7n ch\xEDnh th\u1EE9c",officialWebuiRepo:"Repo WebUI ch\xEDnh th\u1EE9c",officialSubreddit:"Subreddit ch\xEDnh th\u1EE9c",newsChannel:"K\xEAnh tin t\u1EE9c",questions:{text:"N\u1EBFu b\u1EA1n c\xF3 c\xE2u h\u1ECFi ho\u1EB7c v\u1EA5n \u0111\u1EC1 v\u1EC1 \u1EE9ng d\u1EE5ng n\xE0y, xin h\xE3y t\xECm gi\u1EA3i ph\xE1p tr\xEAn {subreddit} tr\u01B0\u1EDBc. Sau \u0111\xF3, n\u1EBFu b\u1EA1n kh\xF4ng t\xECm \u0111\u01B0\u1EE3c g\xEC th\xEC b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t b\xE0i \u0111\u0103ng v\u1EC1 v\u1EA5n \u0111\u1EC1 c\u1EE7a b\u1EA1n tr\xEAn subreddit d\xF3.",subreddit:"subreddit"},beforeReporting:"Tr\u01B0\u1EDBc khi b\xE1o l\u1ED7i h\xE3y \u0111\u1EA3m b\u1EA3o b\u1EA1n \u0111ang s\u1EED d\u1EE5ng phi\xEAn b\u1EA3n m\u1EDBi nh\u1EA5t c\u1EE7a \u1EE9ng d\u1EE5ng v\xE0 l\u1ED7i b\u1EA1n \u0111ang g\u1EB7p kh\xF4ng ph\u1EA3i l\xE0 do b\u1EA1n.",beSure:"H\xE3y \u0111\u1EA3m b\u1EA3o l\xE0 l\u1ED7i n\xE0y v\u1EABn c\xF3 th\u1EC3 x\u1EA3y ra tr\xEAn c\xE1c thi\u1EBFt b\u1ECB kh\xE1c v\xE0 XIN \u0110\u1EEANG b\xE1o l\u1ED7i \u0111\xE3 \u0111\u01B0\u1EE3c b\xE1o r\u1ED3i.",duplicateReports:"Nh\u1EEFng b\u1EA3n b\xE1o l\u1ED7i tr\xF9ng nhau s\u1EBD b\u1ECB \u0111\xF3ng, xin b\u1EA1n h\xE3y \u0111\u1EC3 \xFD \u0111i\u1EC1u n\xE0y.",dontOpenIssues:"XIN \u0110\u1EEANG m\u1EDF v\u1EA5n \u0111\u1EC1 \u0111\u1EC3 h\u1ECFi, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng subreddit tr\xEAn cho vi\u1EC7c \u0111\xF3.",newUI:{text:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi python b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t UI m\u1EDBi b\u1EB1ng c\xE1ch s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n g\u1ED1c, ho\u1EB7c s\u1EEDa l\u1ED7i trong th\u01B0 vi\u1EC7n \u0111\xF3 v\u1EDBi m\u1ED9t pull request tr\xEAn {repo}.",repo:"repo n\xE0y"},acceptFeatures:"T\xF4i c\xF3 ch\u1EA5p nh\u1EADn y\xEAu c\u1EA7u v\u1EC1 t\xEDnh n\u0103ng m\u1EDBi nh\u01B0ng kh\xF4ng qu\xE1 ph\u1EE9c t\u1EA1p b\u1EDFi v\xEC ch\xFAng c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c tri\u1EC3n khai tr\u1EF1c ti\u1EBFp v\xE0o \u1EE9ng d\u1EE5ng thay v\xEC v\xE0o th\u01B0 vi\u1EC7n.",otherLanguages:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi m\u1ED9t ng\xF4n ng\u1EEF kh\xE1c, b\u1EA1n c\xF3 th\u1EC3 port deemix sang ng\xF4n ng\u1EEF \u0111\xF3!",understandingCode:"B\u1EA1n mu\u1ED1n hi\u1EC3u code c\u1EE7a deemix? Xin h\xE3y li\xEAn l\u1EA1c RemixDev tr\xEAn Telegram ho\u1EB7c Reddit.",contributeWebUI:{text:"N\u1EBFu b\u1EA1n bi\u1EBFt Vue.js (JavaScript), HTML ho\u1EB7c CSS, b\u1EA1n c\xF3 th\u1EC3 g\xF3p ph\u1EA7n ph\xE1t tri\u1EC3n {webui}.",webui:"WebUI"},itsFree:"B\u1EA1n n\xEAn nh\u1EDB r\u1EB1ng \u0111\xE2y l\xE0 m\u1ED9t d\u1EF1 \xE1n phi l\u1EE3i nhu\u1EADn v\xE0 b\u1EA1n n\xEAn \u1EE7ng h\u1ED9 nh\u1EEFng Ngh\u1EC7 s\u0129 y\xEAu th\xEDch c\u1EE7a b\u1EA1n tr\u01B0\u1EDBc khi \u1EE7ng h\u1ED9 nh\xE0 ph\xE1t tri\u1EC3n.",notObligated:"\u0110\u1EEBng ngh\u0129 r\u1EB1ng b\u1EA1n ph\u1EA3i \u0111\xF3ng g\xF3p ti\u1EC1n, t\xF4i v\u1EABn s\u1EBD r\u1EA5t bi\u1EBFt \u01A1n b\u1EA1n!",lincensedUnder:{text:"D\u1EF1 \xE1n n\xE0y \u0111\u01B0\u1EE3c c\u1EA5p ph\xE9p b\u1EDFi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"B\u1EA3ng x\u1EBFp h\u1EA1ng",changeCountry:"Thay \u0111\u1ED5i qu\u1ED1c gia",download:"T\u1EA3i xu\u1ED1ng b\u1EA3ng x\u1EBFp h\u1EA1ng n\xE0y"},errors:{title:"L\u1ED7i {name}",ids:{invalidURL:"Kh\xF4ng nh\u1EADn di\u1EC7n \u0111\u01B0\u1EE3c URL",unsupportedURL:"URL n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",ISRCnotOnDeezer:"ISRC c\u1EE7a b\xE0i h\xE1t n\xE0y hi\u1EC7n kh\xF4ng c\xF3 tr\xEAn Deezer",notYourPrivatePlaylist:"B\u1EA1n kh\xF4ng th\u1EC3 t\u1EA3i xu\u1ED1ng playlist ri\xEAng c\u1EE7a ng\u01B0\u1EDDi kh\xE1c.",spotifyDisabled:"Ch\u1EE9c n\u0103ng Spotify ch\u01B0a \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp \u0111\xFAng c\xE1ch.",trackNotOnDeezer:"B\xE0i h\xE1t kh\xF4ng c\xF3 tr\xEAn Deezer!",albumNotOnDeezer:"Album kh\xF4ng c\xF3 tr\xEAn Deezer!",notOnDeezer:"B\xE0i h\xE1t ch\u01B0a c\xF3 tr\xEAn Deezer!",notEncoded:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode!",notEncodedNoAlternative:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",wrongBitrate:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n.",wrongBitrateNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",no360RA:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF d\u1EA1ng Reality Audio 360.",notAvailable:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer!",notAvailableNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!"}},favorites:{title:"Y\xEAu th\xEDch",noPlaylists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Playlist",noAlbums:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Album Y\xEAu th\xEDch",noArtists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Ngh\u1EC7 s\u0129 Y\xEAu th\xEDch",noTracks:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c B\xE0i h\xE1t Y\xEAu th\xEDch"},home:{needTologin:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Deezer tr\u01B0\u1EDBc khi b\u1EAFt \u0111\u1EA7u t\u1EA3i xu\u1ED1ng.",openSettings:"M\u1EDF C\xE0i \u0111\u1EB7t",sections:{popularPlaylists:"Playlist N\u1ED5i ti\u1EBFng",popularAlbums:"Album \u0111\u01B0\u1EE3c stream nhi\u1EC1u nh\u1EA5t"}},linkAnalyzer:{info:"B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng ch\u1EE9c n\u0103ng n\xE0y \u0111\u1EC3 ki\u1EBFm th\xEAm th\xF4ng tin v\u1EC1 \u0111\u01B0\u1EDDng link m\xE0 b\u1EA1n mu\u1ED1n t\u1EA3i xu\u1ED1ng.",useful:"Ch\u1EE9c n\u0103ng n\xE0y r\u1EA5t h\u1EEFu d\u1EE5ng n\u1EBFu b\u1EA1n mu\u1ED1n t\u1EA3i c\xE1c b\xE0i h\xE1t hi\u1EC7n kh\xF4ng c\xF3 s\u1EB5n \u1EDF qu\u1ED1c gia c\u1EE7a b\u1EA1n v\xE0 mu\u1ED1n bi\u1EBFt c\xE1c qu\u1ED1c gia \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3.",linkNotSupported:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",linkNotSupportedYet:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3, xin h\xE3y th\u1EED l\u1EA1i v\u1EDBi m\u1ED9t \u0111\u01B0\u1EDDng link kh\xE1c.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Th\u1EDDi l\u01B0\u1EE3ng",diskNumber:"S\u1ED1 \u0111\u0129a",trackNumber:"S\u1ED1 b\xE0i h\xE1t",releaseDate:"Ng\xE0y ph\xE1t h\xE0nh",bpm:"BPM",label:"H\xE3ng",recordType:"Lo\u1EA1i Thu \xE2m",genres:"Th\u1EC3 lo\u1EA1i",tracklist:"Danh s\xE1ch c\xE1c b\xE0i h\xE1t"}},search:{startSearching:"B\u1EAFt \u0111\u1EA7u t\xECm ki\u1EBFm!",description:"B\u1EA1n c\xF3 th\u1EC3 t\xECm m\u1ED9t b\xE0i h\xE1t, album, ngh\u1EC7 s\u0129, playlist, v.v...! B\u1EA1n c\u0169ng c\xF3 th\u1EC3 d\xF9ng link c\u1EE7a Deezer",fans:"{n} ng\u01B0\u1EDDi h\xE2m m\u1ED9",noResults:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",noResultsTrack:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c b\xE0i h\xE1t n\xE0o",noResultsAlbum:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c album n\xE0o",noResultsArtist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c ngh\u1EC7 s\u0129 n\xE0o",noResultsPlaylist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c playlist n\xE0o"},searchbar:"T\xECm nh\u1EEFng g\xEC b\u1EA1n mu\u1ED1n (b\u1EA1n c\u0169ng c\xF3 th\u1EC3 s\u1EEF d\u1EE5ng m\u1ED9t \u0111\u01B0\u1EDDng link)",downloads:"T\u1EA3i xu\u1ED1ng",toasts:{addedToQueue:"{item} \u0111\xE3 \u0111\u01B0\u1EE3c \u0111\u01B0a v\xE0o h\xE0ng ch\u1EDD",alreadyInQueue:"{item} \u0111\xE3 \u0111ang trong h\xE0ng ch\u1EDD!",finishDownload:"{item} \u0111\xE3 t\u1EA3i xong.",allDownloaded:"T\u1EA5t c\u1EA3 c\xE1c b\xE0i h\xE1t \u0111\xE3 \u0111\u01B0\u1EE3c t\u1EA3i xu\u1ED1ng!",refreshFavs:"T\u1EA3i l\u1EA1i ho\xE0n t\u1EA5t!",loggingIn:"\u0110ang \u0111\u0103ng nh\u1EADp",loggedIn:"\u0110\u0103ng nh\u1EADp th\xE0nh c\xF4ng",alreadyLogged:"\u0110\xE3 \u0111\u0103ng nh\u1EADp",loginFailed:"Kh\xF4ng th\u1EC3 \u0111\u0103ng nh\u1EADp",loggedOut:"\u0110\u0103ng xu\u1EA5t",cancellingCurrentItem:"\u0110ang h\u1EE7y file hi\u1EC7n t\u1EA1i.",currentItemCancelled:"File hi\u1EC7n t\u1EA1i \u0111\xE3 b\u1ECB h\u1EE7y.",startAddingArtist:"\u0110ang \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",finishAddingArtist:"\u0110\xE3 \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",startConvertingSpotifyPlaylist:"\u0110ang chuy\u1EC3n \u0111\u1ED5i c\xE1c b\xE0i h\xE1t t\u1EEB Spotify sang Deezer",finishConvertingSpotifyPlaylist:"Playlist c\u1EE7a Spotify \u0111\xE3 \u0111\u01B0\u1EE3c chuy\u1EC3n \u0111\u1ED5i",loginNeededToDownload:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111ang nh\u1EADp \u0111\u1EC3 t\u1EA3i nh\u1EA1c!"},settings:{title:"C\xE0i \u0111\u1EB7t",languages:"Ng\xF4n ng\u1EEF",login:{title:"\u0110\u0103ng nh\u1EADp",loggedIn:"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp v\u1EDBi t\xEAn {username}",arl:{question:"L\xE0m c\xE1ch n\xE0o \u0111\u1EC3 c\xF3 ARL c\u1EE7a t\xF4i?",update:"C\u1EADp nh\u1EADt ARL"},logout:"\u0110\u0103ng xu\u1EA5t"},appearance:{title:"Giao di\u1EC7n",slimDownloadTab:"Thanh t\u1EA3i xu\u1ED1ng nh\u1ECF"},downloadPath:{title:"N\u01A1i t\u1EA3i xu\u1ED1ng"},templates:{title:"B\u1EA3n m\u1EABu",tracknameTemplate:"B\xE0i h\xE1t m\u1EABu",albumTracknameTemplate:"B\xE0i h\xE1t trong album m\u1EABu",playlistTracknameTemplate:"B\xE0i h\xE1t trong playlist m\u1EABu"},folders:{title:"Th\u01B0 m\u1EE5c",createPlaylistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho playlist",playlistNameTemplate:"Th\u01B0 m\u1EE5c playlist m\u1EABu",createArtistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho ngh\u1EC7 s\u0129",artistNameTemplate:"Th\u01B0 m\u1EE5c Ngh\u1EC7 s\u0129 m\u1EABu",createAlbumFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho album",albumNameTemplate:"Th\u01B0 m\u1EE5c cho album m\u1EABu",createCDFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho \u0111\u0129a CD",createStructurePlaylist:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho playlist",createSingleFolder:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho \u0111\u0129a \u0111\u01A1n"},trackTitles:{title:"T\xEAn b\xE0i h\xE1t",padTracks:"\u0110\u1EC7m t\xEAn b\xE0i h\xE1t",paddingSize:"Gh\xEC \u0111\xE8 k\xEDch c\u1EE1 ph\u1EA7n \u0111\u1EC7m",illegalCharacterReplacer:"Thay c\xE1c k\xED t\u1EF1 kh\xF4ng h\u1EE3p l\u1EC7 v\u1EDBi"},downloads:{title:"T\u1EA3i xu\u1ED1ng",queueConcurrency:"S\u1ED1 l\u01B0\u1EE3ng t\u1EA3i xu\u1ED1ng c\xF9ng l\xFAc",maxBitrate:{title:"Bitrate \u01B0a th\xEDch",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"T\xF4i c\xF3 n\xEAn ghi \u0111\xE8 file n\xE0y kh\xF4ng?",y:"C\xF3, h\xE3y ghi \u0111\xE8 file n\xE0y",n:"Kh\xF4ng, \u0111\u1EEBng ghi \u0111\xE8 file n\xE0y",t:"Ch\u1EC9 ghi \u0111\xE8 c\xE1c tag"},fallbackBitrate:"Bitrate d\u1EF1 ph\xF2ng",fallbackSearch:"Search d\u1EF1 ph\xF2ng",logErrors:"T\u1EA1o file log khi c\xF3 l\u1ED7i",logSearched:"T\u1EA1o file log khi b\u1EA1n t\xECm B\xE0i h\xE1t",createM3U8File:"T\u1EA1o file playlist",syncedLyrics:"T\u1EA1o file .lyr (L\u1EDDi B\xE0i h\xE1t)",playlistFilenameTemplate:"T\xEAn playlist m\u1EABu",saveDownloadQueue:"L\u01B0u h\xE0ng ch\u1EDD download khi \u0111\xF3ng \u1EE9ng d\u1EE5ng"},covers:{title:"B\xECa album",saveArtwork:"L\u01B0u b\xECa",coverImageTemplate:"T\xEAn b\xECa m\u1EABu",saveArtworkArtist:"L\u01B0u h\xECnh Ngh\u1EC7 s\u0129",artistImageTemplate:"H\xECnh ngh\u1EC7 s\u0129 m\u1EABu",localArtworkSize:"K\xEDch c\u1EE1 file b\xECa",embeddedArtworkSize:"K\xEDch c\u1EE1 b\xECa trong file b\xE0i h\xE1t",localArtworkFormat:{title:"B\u1EA1n mu\u1ED1n file b\xECa \u1EDF \u0111\u1ECBnh d\u1EA1ng n\xE0o?",jpg:"jpg",png:"png",both:"C\u1EA3 jpg v\xE0 png"},jpegImageQuality:"Ch\u1EA5t l\u01B0\u1EE3ng file JPEG"},tags:{head:"Nh\u1EEFng tag s\u1EBD \u0111\u01B0\u1EE3c l\u01B0u",title:"Ti\xEAu \u0111\u1EC1",artist:"Ngh\u1EC7 s\u0129",album:"Album",cover:"B\xECa",trackNumber:"S\u1ED1 b\xE0i h\xE1t",trackTotal:"T\u1ED5ng s\u1ED1 b\xE0i h\xE1t",discNumber:"S\u1ED1 \u0111\u0129a",discTotal:"T\u1ED5ng s\u1ED1 \u0111\u0129a",albumArtist:"Ngh\u1EC7 s\u0129 c\u1EE7a album",genre:"Th\u1EC3 lo\u1EA1i",year:"N\u0103m",date:"Ng\xE0y",explicit:"L\u1EDDi explicit",isrc:"ISRC",length:"Th\u1EDDi l\u01B0\u1EE3ng",barcode:"M\xE3 v\u1EA1ch c\u1EE7a album (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Nh\xE3n hi\u1EC7u album",lyrics:"L\u1EDDi",copyright:"B\u1EA3n quy\u1EC1n",composer:"Nh\xE0 so\u1EA1n nh\u1EA1c",involvedPeople:"Nh\u1EEFng ng\u01B0\u1EDDi li\xEAn quan"},other:{title:"Kh\xE1c",savePlaylistAsCompilation:"L\u01B0u playlist d\u01B0\u1EDBi d\u1EA1ng tuy\u1EC3n t\u1EADp",useNullSeparator:"D\xF9ng d\u1EA3i ph\xE2n c\xE1ch null",saveID3v1:"L\u01B0u ID3v1",multiArtistSeparator:{title:"B\u1EA1n mu\u1ED1n ph\xE2n c\xE1ch c\xE1c ngh\u1EC7 s\u0129 nh\u01B0 th\u1EBF n\xE0o?",nothing:"Ch\u1EC9 l\u01B0u ngh\u1EC7 s\u0129 ch\xEDnh",default:"D\xF9ng quy c\xE1ch ti\xEAu chu\u1EA9n",andFeat:"D\xF9ng & v\xE0 feat.",using:'D\xF9ng "{separator}"'},singleAlbumArtist:"Ch\u1EC9 l\u01B0u Ngh\u1EC7 s\u0129 Album ch\xEDnh",albumVariousArtists:'Gi\u1EEF nguy\xEAn "Nhi\u1EC1u Ngh\u1EC7 s\u0129" trong Ngh\u1EC7 s\u0129 Album',removeAlbumVersion:'B\u1ECF "Phi\xEAn b\u1EA3n Album" kh\u1ECFi t\xEAn b\xE0i h\xE1t',removeDuplicateArtists:"B\u1ECF c\xE1c t\xEAn ngh\u1EC7 s\u0129 ph\u1ED1i h\u1EE3p",dateFormat:{title:"\u0110\u1ECBnh d\u1EA1ng ng\xE0y cho file FLAC ",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"T\xF4i n\xEAn l\xE0m g\xEC v\u1EDBi c\xE1c ngh\u1EC7 s\u0129 \u0111\xF3ng g\xF3p?",0:"Kh\xF4ng l\xE0m g\xEC c\u1EA3",1:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t",3:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t v\xE0 t\xEAn album",2:"\u0110\u01B0a ch\xFAng v\xE0o t\xEAn b\xE0i h\xE1t"},titleCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn b\xE0i h\xE1t",artistCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn ngh\u1EC7 s\u0129",casing:{nothing:"Kh\xF4ng \u0111\u1ED5i",lower:"ch\u1EEF th\u01B0\u1EDDng",upper:"CH\u1EEE HOA",start:"Vi\u1EBFt Hoa \u1EDE Ch\u1EEF C\xE1i \u0110\u1EA7u Ti\xEAn C\u1EE7a M\u1ED7i T\u1EEB",sentence:"Nh\u01B0 m\u1ED9t c\xE2u"},previewVolume:"\xC2m l\u01B0\u1EE3ng nghe th\u1EED",executeCommand:{title:"Th\u1EF1c hi\u1EC7n nh\u1EEFng l\u1EC7nh n\xE0y khi \u0111\xE3 t\u1EA3i xu\u1ED1ng xong",description:"\u0110\u1EC3 tr\u1ED1ng n\u1EBFu b\u1EA1n kh\xF4ng mu\u1ED1n th\u1EF1c hi\u1EC7n l\u1EC7nh n\xE0o"}},spotify:{title:"Ch\u1EE9c n\u0103ng Spotify",clientID:"ClientID c\u1EE7a Spotify",clientSecret:"Client Secret c\u1EE7a Spotify",username:"T\xEAn t\xE0i kho\u1EA3n c\u1EE7a Spotify"},reset:"Quay tr\u1EDF l\u1EA1i c\xE0i \u0111\u1EB7t m\u1EB7c \u0111\u1ECBnh",save:"L\u01B0u",toasts:{init:"C\xE0i \u0111\u1EB7t \u0111\xE3 \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp!",update:"C\xE0i \u0111\u1EB7t c\u1EADp nh\u1EADt th\xE0nh c\xF4ng!",ARLcopied:"ARL \u0111\xE3 \u0111\u01B0\u1EE3c sao ch\xE9p v\xE0o clipboard"}},sidebar:{home:"trang ch\u1EE7",search:"t\xECm ki\u1EBFm",charts:"b\u1EA3ng x\u1EBFp h\u1EA1ng",favorites:"y\xEAu th\xEDch",linkAnalyzer:"ph\xE2n t\xEDch link",settings:"c\xE0i \u0111\u1EB7t",about:"th\xF4ng tin"},tracklist:{downloadSelection:"T\u1EA3i xu\u1ED1ng nh\u1EEFng m\u1EE5c \u0111\xE3 ch\u1ECDn"}},hr={globals:{welcome:"Dobrodo\u0161li u deemix",back:"nazad",loading:"u\u010Ditavanje",download:"Preuzmi {thing}",by:"by {artist}",in:"u {album}",download_hint:"Preuzmi",play_hint:"Play",toggle_download_tab_hint:"Pro\u0161iri/Smanji",clean_queue_hint:"\u010Ci\u0161\u0107enje zavr\u0161eno",cancel_queue_hint:"Zaustavi sve",listTabs:{empty:"",all:"sve",top_result:"Najbolji rezultat",album:"album | albumi",artist:"izvo\u0111a\u010D | izvo\u0111a\u010Di",single:"singl | singlovi",title:"naslov | naslovi",track:"pjesma | pjesme",trackN:"0 pjesmi | {n} pjesma | {n} pjesme",releaseN:"0 izdanja | {n} izdanje | {n} izdanja",playlist:"playlista | playliste",compile:"kompilacija | kompilacije",ep:"ep | eps",spotifyPlaylist:"spotify playlista | spotify playliste",releaseDate:"datum izdavanja",error:"gre\u0161ka"}},about:{titles:{usefulLinks:"Korisne poveznice",bugReports:"Prijave gre\u0161aka",contributing:"Doprinosi",donations:"Donacije",license:"Licenca"},subtitles:{bugReports:"Postoji ne\u0161to \u0161to ne radi u deemixu? Reci nam!",contributing:"\u017Deli\u0161 doprinijeti ovom projektu? Mo\u017Ee\u0161 i to \u010Dak u vi\u0161e na\u010Dina!",donations:"\u017Deli\u0161 doprijeniti odmah? Mo\u017Ee\u0161 donirati!"},usesLibrary:"Ova aplikacija koristi deemix biblioteku, koju mo\u017Ee\u0161 koristiti i ti kako bi napravio svoj UI za demix.",thanks:"Hvala rtonno, uhwot i lollilol \u0161to su mi pomogli s ovim projektom te BasCurtiz \u0161to su napravili ikonu.",upToDate:{text:"Ostani u tijeku s nadogradnjama prate\u0107i {newsChannel} na Telegramu.",newsChannel:"kanal s novostima"},officialWebsite:"Slu\u017Ebena web stranica",officialRepo:"Slu\u017Ebeni repozitorij biblioteke",officialWebuiRepo:"Slu\u017Ebeni WebUI repozitorij",officialSubreddit:"Slu\u017Ebeni subreddit",newsChannel:"Kanal s novostima",questions:{text:"Ukoliko imate pitanja o aplikaciji, prvo potra\u017Eite rije\u0161enje na {subreddit}. Tada, ako ne prona\u0111ete ni\u0161ta, mo\u017Eete objaviti svoj problem na subredditu.",subreddit:"subreddit"},beforeReporting:"Prije prijavljivanja gre\u0161ke provjerite imate li instaliranu zadnju verziju aplikacije i da to \u0161to \u017Eelite prijaviti je ustvari pogre\u0161ka, a ne ne\u0161to \u0161to samo vama ne radi.",beSure:"Provjerite mo\u017Ee li se pogre\u0161ka reproducirati i na drugim ure\u0111ajima i tako\u0111er NEMOJTE prijavljivati gre\u0161ku ako je ve\u0107 prijavljena.",duplicateReports:"Duplicirane prijave o gre\u0161ki bit \u0107e zatvorene, tako da pripazite na to.",dontOpenIssues:"NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.",newUI:{text:"Ako ste vje\u0161ti u pythonu mo\u017Eete probati napraviti novi UI za aplikaciju koriste\u0107i osnovnu biblioteku ili ispraviti pogre\u0161ku u biblioteci sa pull zahtjevom na {repo}.",repo:"repozitoriju"},acceptFeatures:"Prihava\u0107am i zna\u010Dajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.",otherLanguages:"Ako ste vje\u0161ti u drugom programskom jezikumo\u017Eete probati portati deemix u drugi programski jezik!",understandingCode:"Trebate pomo\u0107 s razumijevanjem koda? Samo potra\u017Ei RemixDev na Telegramu ili Redditu.",contributeWebUI:{text:"Ako zna\u0161 Vue.js (JavaScript), HTML ili CSS mo\u017Eete doprinijeti za {webui}.",webui:"WebUI"},itsFree:"Trebate zapamtiti da je ovo besplatni projekt i trebali biste podr\u017Eati autore koje volite prije podr\u017Eavanja developera.",notObligated:"Nemojte se osje\u0107ati obveznim darivati, svejedno vas cijenim!",lincensedUnder:{text:"Ovaj rad licenciran je unutar {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Ljestvice",changeCountry:"Promijeni dr\u017Eavu",download:"Preuzmi ljestvicu"},errors:{title:"Gre\u0161ke za {name}",ids:{invalidURL:"URL nije prepoznat",unsupportedURL:"URL jo\u0161 nije podr\u017Ean",ISRCnotOnDeezer:"Zapis ISRC jo\u0161 nije podr\u017Ean na Deezeru",notYourPrivatePlaylist:"Ne mo\u017Eete preuzeti tu\u0111e privatne playliste.",spotifyDisabled:"Spotify zna\u010Dajke nisu pode\u0161ene ispravno.",trackNotOnDeezer:"Pjesma nije prona\u0111ena na Deezeru!",albumNotOnDeezer:"Album nije prona\u0111en na Deezeru!",notOnDeezer:"Pjesma nije dostupna na Deezeru!",notEncoded:"Pjesma jo\u0161 nije enkodirana!",notEncodedNoAlternative:"Pjesma jo\u0161 nije enkodirana i nije prona\u0111ena alternativa!",wrongBitrate:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu.",wrongBitrateNoAlternative:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu i nije prona\u0111ena alternativa!",no360RA:"Pjesma nije dostupna u Reality Audio 360.",notAvailable:"Pjesma nije dostupna na Deezerovim serverima!",notAvailableNoAlternative:"Pjesma nije dostupna na Deezerovim serverima i alternativa nije prona\u0111ena!"}},favorites:{title:"Favoriti",noPlaylists:"Nisu prona\u0111ene playliste",noAlbums:"Omiljeni albumi nisu prona\u0111eni",noArtists:"Omiljeni glazbenici nisu prona\u0111eni",noTracks:"Omiljene pjesme nisu prona\u0111ene"},home:{needTologin:"Trebate se prijaviti sa svojim Deezer ra\u010Dunom kako biste mogli po\u010Deti preuzimati pjesme.",openSettings:"Otvori postavke",sections:{popularPlaylists:"Popularne playliste",popularAlbums:"Najpreslu\u0161aniji album"}},linkAnalyzer:{info:"Ovu sekciju mo\u017Eete koristiti kako biste saznali vi\u0161e informacija o linku koji poku\u0161avate preuzeti.",useful:"Ovo je korisno ako poku\u0161avate preuzeti pjesme koje jo\u0161 nisu dostupne u va\u0161oj zemlji i \u017Eelite, na primjer, znati gdje su dostupne.",linkNotSupported:"Ovaj link jo\u0161 nije podr\u017Ean",linkNotSupportedYet:"\u010Cini se da ovaj link jo\u0161 nije podr\u017Ean, poku\u0161aj analizirati neki drugi.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Trajanje",diskNumber:"Broj diska",trackNumber:"Broj pjesme",releaseDate:"Datum izadavanja",bpm:"BPM",label:"Izdava\u010Dka ku\u0107a",recordType:"Vrsta zapisa",genres:"\u017Danrovi",tracklist:"Popis pjesama"}},search:{startSearching:"Po\u010Dni pretra\u017Eivati!",description:"Mo\u017Eete pretra\u017Eiti pjesmu, cijeli album, izvo\u0111a\u010Da, playlistu... sve! Tako\u0111er, mo\u017Eete i zalijepiti Deezer link",fans:"{n} obo\u017Eavatelja",noResults:"Nema rezultata",noResultsTrack:"Pjesme nisu prona\u0111ene",noResultsAlbum:"Albumi nisu prona\u0111eni",noResultsArtist:"Izvo\u0111a\u010Di nisu prona\u0111eni",noResultsPlaylist:"Playliste nisu prona\u0111ene"},searchbar:"Pretra\u017Ei bilo \u0161to (ili samo zalijepi link)",downloads:"preuzimanja",toasts:{addedToQueue:"{item} dodan u red",alreadyInQueue:"{item} je ve\u0107 u redu!",finishDownload:"{item} zavr\u0161eno preuzimanje.",allDownloaded:"Sva preuzimanja zavr\u0161ena!",refreshFavs:"Osvje\u017Eavanje zavr\u0161eno!",loggingIn:"Prijavljivanje...",loggedIn:"Prijavljeni",alreadyLogged:"Ve\u0107 prijavljeni",loginFailed:"Prijava nije bila mogu\u0107a",loggedOut:"Odjavljeni",cancellingCurrentItem:"Otkazujem trenutnu stavku.",currentItemCancelled:"Trenutna stavka otkazana.",startAddingArtist:"Dodajem {artist} album u red",finishAddingArtist:"Dodan {artist} album u red",startConvertingSpotifyPlaylist:"Pretvaram Spotify pjesme u Deezer pjesme",finishConvertingSpotifyPlaylist:"Spotify playlista pretvorena",loginNeededToDownload:"Trebate se prijaviti kako bi preuzeli pjesme!"},settings:{title:"Postavke",languages:"Jezici",login:{title:"Prijava",loggedIn:"Prijavljeni ste kao {username}",arl:{question:"Kako da dobijem svoj ARL?",update:"A\u017Euriraj ARL"},logout:"Odjavi se"},appearance:{title:"Izgled",slimDownloadTab:"Tanka kartica za preuzimanje"},downloadPath:{title:"Putanja za preuzimanja"},templates:{title:"Predlo\u0161ci",tracknameTemplate:"Naziv pjesme predlo\u017Eak",albumTracknameTemplate:"Pjesma albuma predlo\u017Eak",playlistTracknameTemplate:"Pjesma playliste predlo\u017Eak"},folders:{title:"Mape",createPlaylistFolder:"Izradi mapu za playliste",playlistNameTemplate:"Mapa za playliste predlo\u017Eak",createArtistFolder:"Izradi mapu za izvo\u0111a\u010Da",artistNameTemplate:"Izvo\u0111a\u010D mapa predlo\u017Eak",createAlbumFolder:"Izradi mapu za album",albumNameTemplate:"Album mapa predlo\u017Eak",createCDFolder:"Izradi mapu za CD",createStructurePlaylist:"Strkturiraj mape za playliste",createSingleFolder:"Strukturiraj mape za singlove"},trackTitles:{title:"Naslovi pjesama",padTracks:"Pad tracks",paddingSize:"Prepi\u0161i veli\u010Dinu paddinga",illegalCharacterReplacer:"Zamjena za nedozvoljeni znak"},downloads:{title:"Preuzimanja",queueConcurrency:"Istovremena preuzimanja",maxBitrate:{title:"\u017Deljeni bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Trebam li prepisati datoteke?",y:"Da, prepi\u0161i datoteke",n:"Ne, nemoj prepisati datoteke",t:"Prepi\u0161i samo oznake",b:"Ne, zadr\u017Ei obje datoteke i dodaj broj duplikatu"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Pretra\u017Eivanje fallback",logErrors:"Izradi zapisnik datoteku za gre\u0161ke",logSearched:"Izradi zapisnik datoteku za pretra\u017Eene pjesme",createM3U8File:"Izradi playlist datoteku",syncedLyrics:"Izradi .lyr datoteke (sinkronizirani lyrics)",playlistFilenameTemplate:"Naziv playliste predlo\u017Eak",saveDownloadQueue:"Spremi red za preuzimanje prilikom zatvaranja aplikacije"},covers:{title:"Omoti albuma",saveArtwork:"Spremi omote",coverImageTemplate:"Naziv omota predlo\u017Eak",saveArtworkArtist:"Spremi sliku izvo\u0111a\u010Da",artistImageTemplate:"Slika izvo\u0111a\u010Da predlo\u017Eak",localArtworkSize:"Veli\u010Dina lokalnog omota",embeddedArtworkSize:"Veli\u010Dina ugra\u0111enog omota",localArtworkFormat:{title:"U kojem formatu \u017Eelite lokalni omot?",jpg:"Jpeg slika",png:"Png slika",both:"I jpeg i png"},jpegImageQuality:"JPEG kvaliteta slike"},tags:{head:"Koja oznake spremam",title:"Naslovi",artist:"Izvo\u0111a\u010D",album:"Album",cover:"Omot",trackNumber:"Broj pjesme",trackTotal:"Ukupno pjesama",discNumber:"Broj diska",discTotal:"Ukupno diskova",albumArtist:"Izvo\u0111a\u010D albuma",genre:"\u017Danr",year:"Godina",date:"Datum",explicit:"Eksplicitni lyrics",isrc:"ISRC",length:"Du\u017Eina pjesme",barcode:"Album barkod (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Izdava\u010Dka ku\u0107a albuma",lyrics:"Nesinkronizirani lyrics",copyright:"Autorska prava",composer:"Skladatelj",involvedPeople:"Uklju\u010Deni ljudi"},other:{title:"Ostalo",savePlaylistAsCompilation:"Spremi playliste kao kompilacije",useNullSeparator:"Koristi null razdvojnik",saveID3v1:"Spremi i ID3v1 tako\u0111er",multiArtistSeparator:{title:"Kako biste \u017Eeljeli razdvojiti izvo\u0111a\u010De?",nothing:"Spremi samo glavnog izvo\u0111a\u010Da",default:"Koriste\u0107i standardnu specifikaciju",andFeat:"Koriste\u0107i & i feat.",using:'Koriste\u0107i "{separator}"'},singleAlbumArtist:"Spremi samo izvo\u0111a\u010Da glavnog albuma",albumVariousArtists:'Zadr\u017Ei "Various Artists" u Izvo\u0111a\u010Dima albuma',removeAlbumVersion:'Izbri\u0161i "Album Version" iz naziva pjesme',removeDuplicateArtists:"Izbri\u0161i kombinacije izvo\u0111a\u010Da",dateFormat:{title:"Format datuma za FLAC datoteke",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u0160to trebam napraviti s istaknutim izvo\u0111a\u010Dima? (feat. i ft.)",0:"Ni\u0161ta",1:"Izbri\u0161i ih iz naziva",3:"Izbri\u0161i ih iz naziva i iz naziva albuma",2:"Premjesti ih u naziv"},titleCasing:"Veli\u010Dina slova naslova",artistCasing:"Veli\u010Dina slova izvo\u0111a\u010Da",casing:{nothing:"Zadr\u017Ei nepromijenjeno",lower:"sve malo",upper:"sve VELIKO",start:"Po\u010Detak Svake Rije\u010Di",sentence:"Kao re\u010Denica"},previewVolume:"Volumen pregleda",executeCommand:{title:"Naredba za izvr\u0161enje nakon preuzimanja",description:"Ostavi prazno za bez akcije"}},spotify:{title:"Spotify zna\u010Dajke",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify korisni\u010Dko ime"},reset:"Resetiraj na zadano",save:"Spremi",toasts:{init:"Postavke u\u010Ditane!",update:"Postavke a\u017Eurirane!",ARLcopied:"ARL kopiran u me\u0111uspremnik"}},sidebar:{home:"po\u010Detna",search:"pretra\u017Eivanje",charts:"ljestvice",favorites:"favoriti",linkAnalyzer:"analizator linka",settings:"postavke",about:"o programu"},tracklist:{downloadSelection:"Preuzmi selekciju"}},ar={globals:{welcome:"\u0645\u0631\u062D\u0628\u0623 \u0628\u0643 \u0641\u064A \u062F\u064A\u0645\u0643\u0633",back:"\u0631\u062C\u0648\u0639",loading:"\u062C\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",download:"\u062A\u062D\u0645\u064A\u0644 {thing}",by:"\u0628\u0648\u0627\u0633\u0637\u0629 {artist}",in:"\u0641\u064A {album}",download_hint:"\u062A\u062D\u0645\u064A\u0644",play_hint:"\u062A\u0634\u063A\u064A\u0644",toggle_download_tab_hint:"\u0639\u0631\u0636/\u0627\u062E\u0641\u0627\u0621",clean_queue_hint:"\u062A\u0645 \u0627\u0644\u0645\u0633\u062D",cancel_queue_hint:"\u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0643\u0644",listTabs:{empty:"",all:"\u0627\u0644\u0643\u0644",top_result:"\u0627\u0641\u0636\u0644 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",album:"\u0627\u0644\u0628\u0648\u0645 | \u0627\u0644\u0628\u0648\u0645\u0627\u062A",artist:"\u0641\u0646\u0627\u0646 | \u0641\u0646\u0627\u0646\u0648\u0646",single:"\u0627\u063A\u0646\u064A\u0629 | \u0627\u063A\u0646\u064A\u0629",title:"\u0639\u0646\u0648\u0627\u0646 | \u0639\u0646\u0627\u0648\u064A\u0646",track:"\u0645\u0642\u0637\u0639 | \u0645\u0642\u0627\u0637\u0639",trackN:"0 \u0645\u0642\u0627\u0637\u0639 | {n} \u0645\u0642\u0637\u0639 | {n} \u0645\u0642\u0637\u0639",releaseN:"0 \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631",playlist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",compile:"\u0645\u062C\u0645\u0648\u0639\u0629 | \u0645\u062C\u0645\u0648\u0639\u0627\u062A",ep:"ep | eps",spotifyPlaylist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",error:"\u062E\u0637\u0623"}},about:{titles:{usefulLinks:"\u0631\u0648\u0627\u0628\u0637 \u0645\u0647\u0645\u0629",bugReports:"\u0627\u0628\u0644\u0627\u063A \u0639\u0646 \u0645\u0634\u0643\u0644\u0629",contributing:"\u0645\u0633\u0627\u0647\u0645\u0629",donations:"\u0627\u0644\u062A\u0628\u0631\u0639",license:"\u0627\u0644\u0631\u062E\u0635\u0629"},subtitles:{bugReports:"\u0647\u0644 \u0647\u0646\u0627\u0643 \u0634\u064A\u0621 \u0644\u0627 \u064A\u0639\u0645\u0644 \u0641\u064A \u062F\u064A\u0645\u0643\u0633\u061F \u0623\u062E\u0628\u0631\u0646\u0627",contributing:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0642\u064A\u0627\u0645 \u0628\u0630\u0644\u0643 \u0628\u0639\u062F\u0629 \u0637\u0631\u0642",donations:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0645\u0627\u062F\u064A\u0627\u064B\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062A\u0628\u0631\u0639"},usesLibrary:"\u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u064A\u0633\u062A\u062E\u062F\u0645 \u0645\u0643\u062A\u0628\u0629 \u062F\u064A\u0645\u0643\u0633 \u0648\u0627\u0644\u062A\u064A \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u062C\u0647\u0629 \u0645\u0633\u062A\u062E\u062F\u0645 \u062E\u0627\u0635\u0629 \u0628\u0643 \u0644\u062F\u064A\u0645\u0643\u0633.",thanks:"\u0634\u0643\u0631\u0627 \u0644\u0640 rtonno, \u0648 uhwot \u0648 lollilol \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u064A \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648 \u0644\u0640 BasCurtiz \u0644\u0635\u0646\u0639 \u0627\u0644\u0627\u064A\u0642\u0648\u0646\u0629.",officialWebsite:"\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0631\u0633\u0645\u064A",officialRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0627\u0644\u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0631\u0633\u0645\u064A",officialWebuiRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0648\u0627\u062C\u0647\u0629 \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u0631\u0633\u0645\u064A",officialSubreddit:"\u0627\u0644\u0633\u0628 \u0631\u064A\u062F\u062A \u0627\u0644\u0631\u0633\u0645\u064A",newsChannel:"\u0642\u0646\u0627\u0629 \u0627\u0644\u0627\u062E\u0628\u0627\u0631",beforeReporting:"\u0642\u0628\u0644 \u0627\u0646 \u062A\u0628\u0644\u063A \u0639\u0646 \u062E\u0637\u0623\u060C \u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646\u0643 \u062A\u0634\u063A\u0644 \u0623\u062D\u062F\u062B \u0625\u0635\u062F\u0627\u0631 \u0645\u0646 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0623\u0646 \u0645\u0627 \u062A\u0631\u064A\u062F \u0627\u0644\u0625\u0628\u0644\u0627\u063A \u0639\u0646\u0647 \u0647\u0648 \u0641\u064A \u0627\u0644\u0648\u0627\u0642\u0639 \u062E\u0637\u0623 \u0648\u0644\u064A\u0633 \u0645\u0634\u0643\u0644\u0629 \u0645\u0646 \u062C\u0647\u062A\u0643.",beSure:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646 \u0627\u0644\u062E\u0637\u0623 \u064A\u0645\u0643\u0646 \u0625\u0639\u0627\u062F\u0629 \u0625\u0646\u062A\u0627\u062C\u0647 \u0639\u0644\u0649 \u0623\u062C\u0647\u0632\u0629 \u0623\u062E\u0631\u0649 \u0648 \u0627\u064A\u0636\u0627\u064B \u0644\u0627 \u062A\u0628\u0644\u063A \u0639\u0644\u0629 \u062E\u0637\u0623 \u062A\u0645 \u0627\u0644\u062A\u0628\u0644\u064A\u063A \u0639\u0646\u0647 \u0633\u0627\u0628\u0642\u0627\u064B.",duplicateReports:"\u0633\u064A\u062A\u0645 \u0625\u063A\u0644\u0627\u0642 \u062A\u0642\u0627\u0631\u064A\u0631 \u0627\u0644\u0623\u062E\u0637\u0627\u0621 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u060C \u0644\u0630\u0644\u0643 \u062A\u0631\u0642\u0628 \u0630\u0644\u0643.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",acceptFeatures:"\u0623\u0642\u0628\u0644 \u0627\u0642\u062A\u0631\u0627\u062D\u0627\u062A \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0623\u064A\u0636\u064B\u0627 \u060C \u0648\u0644\u0643\u0646 \u0644\u0627 \u0623\u0634\u064A\u0627\u0621 \u0645\u0639\u0642\u062F\u0629 \u060C \u0641\u0642\u0637 \u0627\u0634\u064A\u0627\u0621 \u064A\u0645\u0643\u0646\u0646\u064A \u062A\u0646\u0641\u064A\u0630\u0647\u0627 \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0644\u064A\u0633 \u0641\u064A \u0627\u0644\u0645\u0643\u062A\u0628\u0629.",otherLanguages:"\u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062C\u064A\u062F \u0644\u063A\u0629 \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649 \u060C \u064A\u0645\u0643\u0646\u0643 \u0645\u062D\u0627\u0648\u0644\u0629 \u062A\u062D\u0648\u064A\u0644 \u062F\u064A\u0645\u0643\u0633 \u0625\u0644\u0649 \u0644\u063A\u0627\u062A \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649!",understandingCode:"\u0623\u0646\u062A \u0628\u062D\u0627\u062C\u0629 \u0625\u0644\u0649 \u0645\u0633\u0627\u0639\u062F\u0629 \u0641\u064A \u0641\u0647\u0645 \u0627\u0644\u0643\u0648\u062F\u061F \u0641\u0642\u0637 \u0627\u062A\u0635\u0644 \u0628\u0640 RemixDev \u0639\u0644\u0649 \u062A\u064A\u0644\u064A\u0643\u0631\u0627\u0645 \u0627\u0648 \u0631\u064A\u062F\u064A\u062A.",itsFree:"\u064A\u062C\u0628 \u0627\u0646 \u062A\u062A\u0630\u0643\u0631 \u0627\u0646 \u0647\u0630\u0627 \u0647\u0648 \u0645\u0634\u0631\u0648\u0639 \u0645\u062C\u0627\u0646\u064A \u0648 \u0639\u0644\u064A\u0643 \u062F\u0639\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u064A\u0646 \u0644\u0643 \u0642\u0628\u0644 \u0627\u0646 \u062A\u062F\u0639\u0645 \u0645\u0637\u0648\u0631\u064A\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C.",notObligated:"\u0644\u0627 \u062A\u0634\u0639\u0631 \u0628\u0627\u0644\u0627\u0644\u062A\u0632\u0627\u0645 \u0628\u0627\u0644\u062A\u0628\u0631\u0639 \u060C \u0644\u0643\u0646\u064A \u0623\u0642\u062F\u0631 \u0630\u0644\u0643 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644!"},charts:{title:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",changeCountry:"\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062F\u0648\u0644\u0629",download:"\u062A\u062D\u0645\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0648\u0644"},errors:{title:"\u062E\u0637\u0623 \u0641\u064A {name}",ids:{invalidURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D",unsupportedURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B",ISRCnotOnDeezer:"\u0631\u0645\u0632 \u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u062F\u064A\u0632\u0631",notYourPrivatePlaylist:"\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u062A\u062D\u0645\u064A\u0644 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u062E\u0627\u0635\u0629 \u0648 \u0627\u0644\u0645\u062E\u0641\u064A\u0629.",spotifyDisabled:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0639\u062F\u0627\u062F \u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0628\u0627\u0644\u0637\u0631\u0642\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629 .",trackNotOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",albumNotOnDeezer:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notEncoded:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B!",notEncodedNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u0648\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u062F\u064A\u0644!",wrongBitrate:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629.",wrongBitrateNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0648 \u0644\u0627 \u062A\u0648\u062C\u062F \u062F\u0642\u0629 \u0628\u062F\u064A\u0644\u0629!",no360RA:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A Reality Audio 360.",notAvailable:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631!",notAvailableNoAlternative:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631 \u0648 \u0644\u0627 \u064A\u0648\u062C\u062F \u0628\u062F\u064A\u0644 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646!"}},favorites:{title:"\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A",noPlaylists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",noAlbums:"\u0644\u0645 \u0644\u0627 \u062A\u0648\u062C\u062F \u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0645\u0641\u0636\u0644\u0629",noArtists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u0641\u0636\u0644\u064A\u0646",noTracks:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u0642\u0627\u0637\u0639 \u0645\u0641\u0636\u0644\u0629"},home:{needTologin:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u0627\u0644\u062A\u0633\u062C\u064A\u0644 \u0641\u064A \u062D\u0633\u0627\u0628 \u062F\u064A\u0632\u0631 \u0642\u0628\u0644 \u0628\u062F\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644.",openSettings:"\u0641\u062A\u062D \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",sections:{popularPlaylists:"\u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0645\u0634\u0647\u0648\u0631\u0629",popularAlbums:"\u0627\u0643\u062B\u0631 \u0627\u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0633\u0645\u0627\u0639\u0623"}},linkAnalyzer:{info:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0647\u0630\u0627 \u0627\u0644\u0642\u0633\u0645 \u0644\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062D\u0648\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644\u0647.",useful:" \u0643\u0645\u062B\u0627\u0644 \u0647\u0630\u0627 \u0645\u0641\u064A\u062F \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644 \u0628\u0639\u0636 \u0627\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629 \u0641\u064A \u0628\u0644\u062F\u0643 \u0648\u062A\u0631\u064A\u062F \u0645\u0639\u0631\u0641\u0629 \u0645\u0643\u0627\u0646 \u062A\u0648\u0641\u0631\u0647\u0627 .",linkNotSupported:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646",linkNotSupportedYet:"\u064A\u0628\u062F\u0648 \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u060C \u062D\u0627\u0648\u0644 \u062A\u062D\u0644\u064A\u0644 \u0631\u0627\u0628\u0637 \u0622\u062E\u0631.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u0627\u0644\u0645\u062F\u0629 \u0627\u0644\u0632\u0645\u0646\u064A\u0629",diskNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",bpm:"BPM",label:"Label",recordType:"\u0646\u0648\u0639 \u0627\u0644\u062A\u0633\u062C\u064A\u0644",genres:"\u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0641\u0646\u064A",tracklist:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0642\u0627\u0637\u0639"}},search:{startSearching:"\u0627\u0628\u062F\u0623 \u0627\u0644\u0628\u062D\u062B!",description:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0645\u0642\u0637\u0639 \u060C \u0623\u0644\u0628\u0648\u0645 \u0643\u0627\u0645\u0644 \u060C \u0641\u0646\u0627\u0646 \u060C \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 .... \u0643\u0644 \u0634\u064A\u0621! \u064A\u0645\u0643\u0646\u0643 \u0623\u064A\u0636\u064B\u0627 \u0644\u0635\u0642 \u0631\u0627\u0628\u0637 \u062F\u064A\u0632\u0631",fans:"{n} \u0645\u062A\u0627\u0628\u0639\u0648\u0646",noResults:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",noResultsTrack:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0642\u0627\u0637\u0639",noResultsAlbum:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0628\u0648\u0645\u0627\u062A",noResultsArtist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0641\u0646\u0627\u0646\u064A\u0646",noResultsPlaylist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644"},searchbar:"\u0627\u0628\u062D\u062B \u0639\u0646 \u0623\u064A \u0634\u064A\u0621 \u062A\u0631\u064A\u062F\u0647 (\u0623\u0648 \u0627\u0644\u0635\u0642 \u0631\u0627\u0628\u0637)",downloads:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",toasts:{addedToQueue:"{item} \u062A\u0645\u062A \u0625\u0644\u0623\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631",alreadyInQueue:"{item} \u062D\u0627\u0644\u064A\u0627\u064B \u0641\u064A \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631!",finishDownload:"{item} \u0627\u0646\u062A\u0647\u0649 \u062A\u062D\u0645\u064A\u0644.",allDownloaded:"\u0627\u0643\u062A\u0645\u0644\u062A \u062C\u0645\u064A\u0639 \u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A!",refreshFavs:"\u0627\u0643\u062A\u0645\u0644 \u0627\u0644\u062A\u062D\u062F\u064A\u062B!",loggingIn:"\u062C\u0627\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644...",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",alreadyLogged:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0644\u0641\u0639\u0644",loginFailed:"\u062A\u0639\u0630\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedOut:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C",cancellingCurrentItem:"\u062C\u0627\u0631 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",currentItemCancelled:"\u062A\u0645 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",startAddingArtist:"\u062C\u0627\u0631 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",finishAddingArtist:"\u062A\u0645 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",startConvertingSpotifyPlaylist:"\u062C\u0627\u0631 \u062A\u062D\u0648\u064A\u0644 \u0645\u0642\u0627\u0637\u0639 \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0627\u0644\u0649 \u0645\u0642\u0627\u0637\u0639 \u062F\u064A\u0632\u0631",finishConvertingSpotifyPlaylist:"\u062A\u0645 \u062A\u062D\u0648\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",loginNeededToDownload:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0642\u0627\u0637\u0639!"},settings:{title:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",languages:"\u0627\u0644\u0644\u063A\u0627\u062A",login:{title:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0643\u0640 {username}",arl:{question:"\u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0629 ARL",update:"\u0627\u0631\u0641\u0639 \u0627\u0644 ARL"},logout:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C"},appearance:{title:"\u0627\u0644\u0645\u0638\u0647\u0631",slimDownloadTab:"\u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0631\u0641\u064A\u0639\u0629"},downloadPath:{title:"\u0645\u0633\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644"},templates:{title:"\u0627\u0644\u0642\u0648\u0627\u0644\u0628",tracknameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",albumTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",playlistTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644"},folders:{title:"\u0627\u0644\u0645\u0644\u0641\u0627\u062A",createPlaylistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",playlistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createArtistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0641\u0646\u0627\u0646",artistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0641\u0646\u0627\u0646",createAlbumFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0644\u0628\u0648\u0645",albumNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",createCDFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0642\u0631\u0627\u0635",createStructurePlaylist:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createSingleFolder:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0627\u0644\u0648\u0627\u062D\u062F\u0629"},trackTitles:{title:"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0642\u0637\u0639",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"\u0645\u062D\u0648\u0644 \u0627\u0644\u0643\u062A\u0627\u0628\u0627\u062A \u0627\u0644\u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627"},downloads:{title:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",queueConcurrency:"\u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0632\u0627\u0645\u0646\u0629",maxBitrate:{title:"\u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0641\u0636\u0644\u0629",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u0647\u0644 \u064A\u0645\u0643\u0646\u0646\u064A \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A?",y:"\u0646\u0639\u0645, \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",n:"\u0644\u0627, \u0644\u0627 \u062A\u0628\u062F\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",t:"\u0627\u0633\u062A\u0628\u062F\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0641\u0642\u0637",b:"\u0644\u0627 \u060C \u0627\u062D\u062A\u0641\u0638 \u0628\u0627\u0644\u0645\u0644\u0641\u064A\u0646 \u0648\u0623\u0636\u0641 \u0631\u0642\u0645\u064B\u0627 \u0625\u0644\u0649 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0643\u0631\u0631"},fallbackBitrate:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u062F\u0642\u0629",fallbackSearch:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u0628\u062D\u062B",logErrors:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0623\u062E\u0637\u0627\u0621",logSearched:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u062A\u064A \u062A\u0645 \u0627\u0644\u0628\u062D\u062B \u0639\u0646\u0647\u0627",createM3U8File:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",syncedLyrics:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0643\u0644\u0645\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629",playlistFilenameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",saveDownloadQueue:"\u062D\u0641\u0638 \u0642\u0627\u0626\u0645\u0629 \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062A\u0646\u0632\u064A\u0644 \u0639\u0646\u062F \u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062A\u0637\u0628\u064A\u0642"},covers:{title:"\u063A\u0644\u0627\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",saveArtwork:"\u0627\u062D\u0641\u0638 \u0627\u0644\u063A\u0644\u0627\u0641",coverImageTemplate:"\u062A\u063A\u0637\u064A\u0629 \u0642\u0627\u0644\u0628 \u0627\u0644\u0627\u0633\u0645",saveArtworkArtist:"\u0627\u062D\u0641\u0638 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",artistImageTemplate:"\u0642\u0627\u0644\u0628 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",localArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629",embeddedArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u062F\u0645\u062C\u0629",localArtworkFormat:{title:"\u0628\u0623\u064A \u0635\u064A\u063A\u0629 \u062A\u0631\u064A\u062F \u062D\u0641\u0638 \u0627\u0644\u0635\u0648\u0631\u0629?",jpg:"jpeg \u0635\u0648\u0631\u0629",png:"png \u0635\u0648\u0631\u0629",both:"\u0627\u0644\u0627\u062B\u0646\u064A\u0646 png \u0648 jpeg"},jpegImageQuality:"JPEG \u062F\u0642\u0629 \u0635\u0648\u0631\u0629"},tags:{head:"\u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u062A\u0645 \u062D\u0641\u0638\u0647\u0627",title:"\u0627\u0644\u0639\u0646\u0648\u0627\u0646",artist:"\u0627\u0644\u0641\u0646\u0627\u0646",album:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645",cover:"\u0627\u0644\u063A\u0644\u0627\u0641",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",trackTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0645\u0642\u0627\u0637\u0639",discNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",discTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0627\u0642\u0631\u0627\u0635",albumArtist:"\u0641\u0646\u0627\u0646 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",genre:"Genre",year:"\u0627\u0644\u0633\u0646\u0629",date:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E",explicit:"\u0643\u0644\u0645\u0627\u062A \u0627\u063A\u0646\u064A\u0629 \u0635\u0631\u064A\u062D\u0629 \u0644\u0644\u0643\u0628\u0627\u0631",isrc:"ISRC",length:"\u0637\u0648\u0644 \u0627\u0644\u0645\u0642\u0637\u0639",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"\u0643\u0644\u0645\u0627\u062A \u063A\u064A\u0631 \u0645\u062A\u0632\u0627\u0645\u0646\u0629",copyright:"\u062D\u0642\u0648\u0642 \u0627\u0644\u0646\u0634\u0631",composer:"\u0645\u0644\u062D\u0646",involvedPeople:"\u0627\u0644\u0646\u0627\u0633 \u0627\u0644\u0645\u0634\u062A\u0631\u0643\u0648\u0646"},other:{title:"\u063A\u064A\u0631",savePlaylistAsCompilation:"\u062D\u0641\u0638 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0643\u0645\u062C\u0645\u0648\u0639\u0629",useNullSeparator:"\u0627\u0633\u062A\u062E\u062F\u0645 \u0641\u0627\u0635\u0644 \u0641\u0627\u0631\u063A",saveID3v1:"\u0627\u062D\u0641\u0638 \u0645\u0644\u0641 ID3v1",multiArtistSeparator:{title:"\u0643\u064A\u0641 \u062A\u0631\u064A\u062F \u0641\u0635\u0644 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646?",nothing:"\u0627\u062D\u0641\u0638 \u0627\u0644\u0641\u0646\u0627\u0646 \u0627\u0644\u0631\u0626\u064A\u0633\u064A \u0641\u0642\u0637",default:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u0642\u064A\u0627\u0633\u064A\u0629",andFeat:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645& \u0648 feat.",using:'\u0627\u0633\u062A\u062E\u062F\u0627\u0645 "{separator}"'},singleAlbumArtist:"\u0627\u062D\u0641\u0638 \u0641\u0642\u0637 \u0641\u0646\u0627\u0646 \u0627\u0644\u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0631\u0626\u064A\u0633\u064A",albumVariousArtists:'\u0627\u062D\u062A\u0641\u0638 \u0628\u0640 "\u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u062A\u0646\u0648\u0639\u064A\u0646" \u0641\u064A \u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646',removeAlbumVersion:'\u0625\u0632\u0627\u0644\u0629 "\u0625\u0635\u062F\u0627\u0631 \u0627\u0644\u0623\u0644\u0628\u0648\u0645" \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0633\u0627\u0631',removeDuplicateArtists:"\u0625\u0632\u0627\u0644\u0629 \u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646",dateFormat:{title:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0644\u0645\u0644\u0641\u0627\u062A flac",year:"\u0633 \u0633 \u0633 \u0633",month:"\u0634 \u0634",day:"\u064A \u064A"},featuredToTitle:{title:"\u0645\u0627\u0630\u0627 \u0639\u0644\u064A \u0623\u0646 \u0623\u0641\u0639\u0644 \u0645\u0639 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u063A\u064A\u0631 \u0631\u0626\u064A\u0633\u064A\u064A\u0646 ?",0:"\u0644\u0627 \u0634\u064A\u0621",1:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0627\u0644\u0639\u0646\u0648\u0627\u0646",3:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0648 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",2:"\u0648\u0636\u0639\u0647 \u0641\u064A \u0627\u0644\u0639\u0646\u0648\u0627\u0646"},titleCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0639\u0646\u0627\u0648\u0646",artistCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",casing:{nothing:"\u0628\u062F\u0648\u0646 \u062A\u063A\u064A\u064A\u0631",lower:"\u0627\u062D\u0631\u0641 \u0635\u063A\u064A\u0631\u0629",upper:"\u0627\u062D\u0631\u0641 \u0643\u0628\u064A\u0631\u0629",start:"\u062D\u0631\u0641 \u0643\u0628\u064A\u0631 \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0643\u0644 \u0643\u0644\u0645\u0629",sentence:"\u0645\u062B\u0644 \u062C\u0645\u0644\u0629"},previewVolume:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u062D\u062C\u0645",executeCommand:{title:"\u0627\u0644\u0623\u0645\u0631 \u0644\u0644\u062A\u0646\u0641\u064A\u0630 \u0628\u0639\u062F \u0627\u0644\u062A\u0646\u0632\u064A\u0644",description:"\u0627\u062A\u0631\u0643\u0647 \u0641\u0627\u0631\u063A\u064B\u0627 \u0628\u062F\u0648\u0646 \u0625\u062C\u0631\u0627\u0621"}},spotify:{title:"\u0645\u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientID:"\u0645\u0639\u0631\u0641 \u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientSecret:"\u0627\u0644\u0643\u0648\u062F \u0627\u0644\u0633\u0631\u064A \u0644\u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",username:"\u0627\u0633\u0645 \u0645\u0633\u062A\u062E\u062F\u0645 \u0633\u0628\u0648\u062A\u0641\u0627\u064A"},reset:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646 \u0625\u0644\u0649 \u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u064A",save:"\u062D\u0641\u0638",toasts:{init:"\u062A\u0645 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A!",update:"\u062A\u0645 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A!",ARLcopied:"\u062A\u0645 \u0646\u0633\u062E ARL \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629"}},sidebar:{home:"\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",search:"\u0628\u062D\u062B",charts:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",favorites:"\u0627\u0644\u0645\u0641\u0636\u0644\u0629",linkAnalyzer:"\u0645\u062D\u0644\u0644 \u0627\u0644\u0631\u0648\u0627\u0628\u0637",settings:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",about:"\u062D\u0648\u0644"},tracklist:{downloadSelection:"\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0627\u062E\u062A\u064A\u0627\u0631"}},ko={globals:{welcome:"\uC798\uC654\uB2E4, deemix\uC5D0",back:"\uB4A4\uB85C",loading:"\uBD88\uB7EC\uC624\uB294 \uC911",download:"{thing} \uB2E4\uC6B4\uB85C\uB4DC",by:"by {artist}",in:"in {album}",download_hint:"\uB2E4\uC6B4\uB85C\uB4DC",play_hint:"\uC7AC\uC0DD",toggle_download_tab_hint:"\uD3BC\uCE58\uAE30/\uC811\uAE30",clean_queue_hint:"\uBE44\uC6B0\uAE30 \uC644\uB8CC",cancel_queue_hint:"\uBAA8\uB450 \uCDE8\uC18C",open_downloads_folder:"\uB2E4\uC6B4\uB85C\uB4DC \uD3F4\uB354 \uC5F4\uAE30",cut:"\uC798\uB77C\uB0B4\uAE30",copy:"\uBCF5\uC0AC",copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",copyImageLink:"\uC774\uBBF8\uC9C0 \uB9C1\uD06C \uBCF5\uC0AC",copyDeezerLink:"deezer \uB9C1\uD06C \uBCF5\uC0AC",paste:"\uBD99\uC5EC\uB123\uAE30",listTabs:{empty:"",all:"\uC804\uCCB4",top_result:"\uAC00\uC7A5 \uC77C\uCE58\uD558\uB294 \uACB0\uACFC",album:"\uC568\uBC94 | \uC568\uBC94",artist:"\uC544\uD2F0\uC2A4\uD2B8 | \uC544\uD2F0\uC2A4\uD2B8",single:"\uC2F1\uAE00 | \uC2F1\uAE00",title:"\uC81C\uBAA9 | \uC81C\uBAA9",track:"\uD2B8\uB799 | \uD2B8\uB799",releaseN:"0 \uBC1C\uB9E4 | {n} \uBC1C\uB9E4 | {n} \uBC1C\uB9E4",playlist:"\uC7AC\uC0DD\uBAA9\uB85D | \uC7AC\uC0DD\uBAA9\uB85D",compile:"\uD3B8\uCC2C\uBB3C | \uD3B8\uCC2C\uBB3C",ep:"ep | eps",bundle:"\uBC88\uB4E4 | \uBC88\uB4E4",more:"\uB354 \uB9CE\uC740 \uC568\uBC94",featured:"\uD2B9\uC9D1",spotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D | \uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",error:"\uC624\uB958",trackN:"0 \uD2B8\uB799 | {n} \uD2B8\uB799 | {n} \uD2B8\uB799",albumN:"0 \uC568\uBC94 | {n} \uC568\uBC94 | {n} \uC568\uBC94",artistN:"0 \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8",playlistN:"0 \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D"}},about:{appStatus:{online:"\uD504\uB85C\uADF8\uB7A8 \uC628\uB77C\uC778",offline:"\uD504\uB85C\uADF8\uB7A8 \uC624\uD504\uB77C\uC778"},updates:{currentVersion:"\uD604\uC7AC \uBC84\uC804",currentWebuiVersion:"\uD604\uC7AC WebUI \uBC84\uC804",versionNotAvailable:"N/A",updateAvailable:"\uCD5C\uC2E0\uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4: {version}",deemixVersion:"deemix lib \uBC84\uC804"},titles:{usefulLinks:"\uC720\uC6A9\uD55C \uB9C1\uD06C",bugReports:"\uBC84\uADF8 \uC81C\uBCF4",contributing:"\uAE30\uC5EC\uC790",donations:"\uD6C4\uC6D0",license:"\uC774\uC6A9\uC815\uCC45"},subtitles:{bugReports:"\uBB34\uC5B8\uAC00 \uC548\uB418\uB294 \uAC83\uC774 \uC788\uB2E4\uACE0\uC694? \uB9D0\uD574\uC8FC\uC138\uC694!",contributing:"\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uAE30\uC5EC\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uC5B4\uB835\uC9C0 \uC54A\uC544\uC694!",donations:"\uAE08\uC804\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uD6C4\uC6D0\uD558\uC138\uC694!"},usesLibrary:"\uC774 \uD504\uB85C\uADF8\uB7A8\uC740 deemix \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4, \uD574\uB2F9 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB85C \uC790\uC2E0\uB9CC\uC758 deemix\uB97C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",thanks:"\uC774 \uD504\uB85C\uC81D\uD2B8\uB97C \uB3C4\uC640\uC900 rtonno, uhwot \uADF8\uB9AC\uACE0 lollilol\uB2D8\uACFC \uC544\uC774\uCF58\uC744 \uB9CC\uB4E4\uC5B4\uC900 BasCurtiz \uADF8\uB9AC\uACE0 scarvimane\uB2D8\uC5D0\uAC8C \uAC10\uC0AC\uB97C.",upToDate:{text:"\uC0C8\uB85C\uC6B4 \uC5C5\uB370\uC774\uD2B8 \uC18C\uC2DD\uC744 \uB4E3\uACE0 \uC2F6\uC73C\uBA74 \uD154\uB808\uADF8\uB7A8 {newsChannel}\uC744 \uCC38\uACE0\uD558\uC138\uC694.",newsChannel:"\uC0C8\uC18C\uC2DD \uC815\uBCF4\uD1B5"},officialWebsite:"\uACF5\uC2DD \uC6F9\uC0AC\uC774\uD2B8",officialRepo:"\uACF5\uC2DD \uB77C\uC774\uBE0C\uB7EC\uB9AC \uC800\uC7A5\uC18C",officialWebuiRepo:"\uACF5\uC2DD WebUI \uC800\uC7A5\uC18C",officialSubreddit:"\uACF5\uC2DD \uC11C\uBE0C\uB808\uB527",newsChannel:"\uC0C8 \uC18C\uC2DD \uC54C\uB9AC\uBBF8",questions:{text:"\uD504\uB85C\uADF8\uB7A8\uC5D0 \uB300\uD55C \uC9C8\uBB38\uC774\uB098 \uBB38\uC81C\uC5D0 \uAD00\uD55C \uAC83\uC740, \uBA3C\uC800 {subreddit}\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uAC80\uC0C9\uD574\uBCF4\uC138\uC694. \uADF8\uB9AC\uACE0, \uC11C\uBE0C\uB808\uB527\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uCC3E\uAE30 \uBABB\uD55C \uACBD\uC6B0\uC5D0 \uB2E4\uC74C \uC21C\uC11C\uB97C \uC774\uC6A9\uD574\uC8FC\uC138\uC694.",subreddit:"\uC11C\uBE0C\uB808\uB527"},beforeReporting:"\uBC84\uADF8 \uC81C\uBCF4\uB97C \uD558\uAE30 \uC804\uC5D0 \uBA3C\uC800 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uD504\uB85C\uADF8\uB7A8\uC744 \uC2E4\uD589\uD558\uACE0 \uC788\uB294\uC9C0, \uC81C\uBCF4\uD558\uACE0\uC790 \uD558\uB294 \uAC83\uC774 \uBC84\uADF8\uC774\uC9C0 \uC624\uB85C\uC9C0 \uB2F9\uC2E0\uC758 \uBAA9\uC801\uC744 \uC774\uB8E8\uAE30 \uC704\uD55C \uC694\uAD6C\uAC00 \uC544\uB2D8\uC744 \uD655\uC778\uD574\uC8FC\uC138\uC694.",beSure:"\uD574\uB2F9 \uBC84\uADF8\uAC00 \uB2E4\uB978 \uC7A5\uCE58\uC5D0\uC11C\uB3C4 \uC7AC\uD604\uC774 \uAC00\uB2A5\uD55C\uC9C0 \uD655\uC778\uD558\uACE0 \uC774\uBBF8 \uC81C\uBCF4\uB41C \uBC84\uADF8\uC758 \uACBD\uC6B0\uC5D0\uB294 \uC911\uBCF5\uD574\uC11C \uBCF4\uACE0\uD558\uC9C0 \uB9C8\uC138\uC694.",duplicateReports:"\uC911\uBCF5\uB41C \uBC84\uADF8 \uC81C\uBCF4\uC758 \uACBD\uC6B0\uB294 \uD574\uB2F9 \uC694\uCCAD\uC744 \uB2EB\uC744 \uAC83\uC774\uB2C8, \uB450 \uB208 \uB728\uACE0 \uC9C0\uCF1C\uBCF4\uC138\uC694.",dontOpenIssues:"\uC9C8\uBB38\uC5D0 \uAD00\uD55C \uAC83\uC740 \uC774\uC288\uB97C \uC5F4\uC9C0 \uB9C8\uC138\uC694, \uC11C\uBE0C\uB808\uB527\uC774 \uC788\uC2B5\uB2C8\uB2E4.",newUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 \uD30C\uC774\uC36C\uC5D0 \uB2A5\uD1B5\uD558\uACE0 \uAE30\uBCF8\uC801\uC778 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC774\uC6A9\uD558\uC5EC \uC0C8\uB85C\uC6B4 UI\uB97C \uB9CC\uB4E4\uC5C8\uAC70\uB098, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC758 \uBC84\uADF8\uB97C \uC218\uC815\uD558\uC600\uB2E4\uBA74 {repo}\uC5D0 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uD574\uC8FC\uC138\uC694.",repo:"\uC800\uC7A5\uC18C"},acceptFeatures:"\uBCF5\uC7A1\uD558\uC9C0 \uC54A\uC740 \uAE30\uB2A5 \uCD94\uAC00\uB3C4 \uBC1B\uC2B5\uB2C8\uB2E4, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uAC00 \uC544\uB2CC \uC571\uC5D0\uC11C \uC9C1\uC811 \uAD6C\uD604\uD560 \uC218 \uC788\uB294 \uAC83\uC73C\uB85C\uC694.",otherLanguages:"\uB2F9\uC2E0\uC774 \uB2E4\uB978 \uD504\uB85C\uADF8\uB7A8 \uC5B8\uC5B4\uC5D0 \uB2A5\uD1B5\uD558\uBA74, \uC774 deemix \uD504\uB85C\uADF8\uB7A8\uC744 \uB2E4\uB978 \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4\uB85C \uD3EC\uD305\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4!",understandingCode:"\uCF54\uB4DC\uB97C \uC774\uD574\uD558\uB294 \uB370 \uB3C4\uC6C0\uC774 \uD544\uC694\uD569\uB2C8\uAE4C? \uC704\uC5D0 \uC788\uB294 RemixDev, \uD154\uB808\uADF8\uB7A8, \uC11C\uBE0C\uB808\uB527 \uB9C1\uD06C\uB97C \uB204\uB974\uC138\uC694.",contributeWebUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 Vue.js (JavaScript), HTML \uB610\uB294 CSS \uAC1C\uBC1C\uC790\uB77C\uBA74 {webui}\uC5D0 \uB3C4\uC6C0\uC744 \uC8FC\uC138\uC694.",webui:"WebUI"},itsFree:"\uC0AC\uC6A9\uD558\uAE30 \uC804\uC5D0 \uC774 \uD504\uB85C\uADF8\uB7A8\uC774 \uBB34\uB8CC \uD504\uB85C\uC81D\uD2B8\uC774\uACE0 \uAC1C\uBC1C\uC790\uB97C \uC9C0\uC6D0\uD558\uAE30 \uC804\uC5D0 \uC608\uC220\uAC00\uB4E4\uC744 \uBA3C\uC800 \uC9C0\uC6D0\uD574\uC57C \uD568\uC744 \uAE30\uC5B5\uD558\uC138\uC694.",notObligated:"\uAE30\uBD80\uB294 \uD504\uB85C\uC81D\uD2B8\uB97C \uC9C0\uC18D\uD560 \uC218 \uC788\uB294 \uB3D9\uB825\uC774 \uB429\uB2C8\uB2E4!",lincensedUnder:{text:"\uC774 \uC791\uC5C5\uC774 \uC694\uAD6C\uD558\uACE0 \uC788\uB294 \uB77C\uC774\uC13C\uC2A4\uB294 \uC544\uB798\uC640 \uAC19\uC2B5\uB2C8\uB2E4 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\uCC28\uD2B8",changeCountry:"\uAD6D\uAC00 \uBCC0\uACBD",download:"\uCC28\uD2B8 \uB2E4\uC6B4\uB85C\uB4DC"},errors:{title:"\uC624\uB958 \uBC1C\uC0DD: {name}",ids:{unsupportedURL:"URL \uC9C0\uC6D0 \uB204\uB77D",invalidURL:"URL \uC778\uC2DD \uC2E4\uD328",ISRCnotOnDeezer:"\uD2B8\uB799 \uCF54\uB4DC \uC2DD\uBCC4\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4",notYourPrivatePlaylist:"\uB2E4\uB978 \uC0AC\uB78C\uC758 \uBE44\uACF5\uAC1C \uC7AC\uC0DD \uBAA9\uB85D\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",spotifyDisabled:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uC774 \uC62C\uBC14\uB974\uAC8C \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",trackNotOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",albumNotOnDeezer:"Deezer\uC5D0\uC11C \uC568\uBC94\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notEncoded:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4!",notEncodedNoAlternative:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",wrongBitrate:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uC758 \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",wrongBitrateNoAlternative:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",no360RA:"\uD574\uB2F9 \uD2B8\uB799\uC740 360 \uB9AC\uC5BC\uB9AC\uD2F0 \uC624\uB514\uC624\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",notAvailable:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4!",notAvailableNoAlternative:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",noSpaceLeft:"\uC7A5\uCE58\uC5D0 \uC5EC\uC720 \uACF5\uAC04\uC774 \uC5C6\uC2B5\uB2C8\uB2E4!",albumDoesntExists:"\uD2B8\uB799\uC758 \uC568\uBC94\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uC815\uBCF4 \uC218\uC9D1\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."}},favorites:{title:"\uC990\uACA8\uB4E3\uB294 \uC74C\uC545",noPlaylists:"\uC990\uACA8\uB4E3\uB294 \uC7AC\uC0DD\uBAA9\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noAlbums:"\uC990\uACA8\uB4E3\uB294 \uC568\uBC94\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noArtists:"\uC990\uACA8\uB4E3\uB294 \uC544\uD2F0\uC2A4\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",noTracks:"\uC990\uACA8\uB4E3\uB294 \uD2B8\uB799\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},home:{needTologin:"\uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uC791\uD558\uAE30 \uC804\uC5D0 Deezer \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uC744 \uD574\uC57C\uD569\uB2C8\uB2E4.",openSettings:"\uC124\uC815 \uC5F4\uAE30",sections:{popularPlaylists:"\uC778\uAE30\uC788\uB294 \uC7AC\uC0DD\uBAA9\uB85D",popularAlbums:"\uAC00\uC7A5 \uB9CE\uC774 \uC7AC\uC0DD\uB41C \uC568\uBC94"}},linkAnalyzer:{info:"\uC774 \uD56D\uBAA9\uC5D0\uC11C\uB294 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uB3C4\uD560 \uB9C1\uD06C\uC5D0 \uB300\uD55C \uB354 \uB9CE\uC740 \uC815\uBCF4\uB97C \uCC3E\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",useful:"\uC811\uC18D\uD55C \uAD6D\uAC00\uC5D0\uC11C\uB294 \uC7AC\uC0DD\uD560 \uC218 \uC5C6\uB294 \uD2B9\uC815 \uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD558\uAE30 \uC704\uD574\uC11C \uAC00\uB2A5\uD55C \uAD6D\uAC00\uB97C \uCC3E\uB294\uB370 \uC720\uC6A9\uD558\uAC8C \uC4F0\uC785\uB2C8\uB2E4.",linkNotSupported:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",linkNotSupportedYet:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uB2E4\uB978 \uB9C1\uD06C\uB85C \uC2DC\uB3C4\uD574\uBCF4\uC138\uC694.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\uAE38\uC774",diskNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",trackNumber:"\uD2B8\uB799 \uBC88\uD638",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",bpm:"BPM",label:"\uB77C\uBCA8",recordType:"\uB179\uC74C \uC885\uB958",genres:"\uC7A5\uB974",tracklist:"\uD2B8\uB799\uBAA9\uB85D"}},search:{startSearching:"\uAC80\uC0C9\uC744 \uD574\uBCF4\uC138\uC694!",description:"\uD2B8\uB799, \uC544\uD2F0\uC2A4\uD2B8, \uC7AC\uC0DD\uBAA9\uB85D, Deezer \uB9C1\uD06C \uB4F1\uC73C\uB85C \uAC80\uC0C9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!",fans:"{n}\uBA85\uC758 \uD32C\uB4E4",noResults:"\uACB0\uACFC \uC5C6\uC74C",noResultsTrack:"\uBC1C\uACAC\uB41C \uD2B8\uB799 \uC5C6\uC74C",noResultsAlbum:"\uBC1C\uACAC\uB41C \uC568\uBC94 \uC5C6\uC74C",noResultsArtist:"\uBC1C\uACAC\uB41C \uC544\uD2F0\uC2A4\uD2B8 \uC5C6\uC74C",noResultsPlaylist:"\uBC1C\uACAC\uB41C \uC7AC\uC0DD\uBAA9\uB85D \uC5C6\uC74C"},searchbar:"\uC6D0\uD558\uB294 \uAC83\uC744 \uAC80\uC0C9\uD558\uC138\uC694 (\uB9C1\uD06C\uB97C \uBD99\uC5EC\uB123\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4)",downloads:"\uB2E4\uC6B4\uB85C\uB4DC\uB4E4",toasts:{restoringQueue:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4 \uBCF5\uC6D0\uC911...",queueRestored:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4\uC774 \uBCF5\uC6D0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",addedToQueue:"\uB300\uAE30\uC5F4\uC5D0 {item}(\uC774)\uAC00 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",addedMoreToQueue:"\uB300\uAE30\uC5F4\uC5D0 {n} \uD56D\uBAA9\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyInQueue:"{item}(\uC774)\uAC00 \uC774\uBBF8 \uB300\uAE30\uC5F4\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4!",finishDownload:"{item} \uD56D\uBAA9\uC774 \uB2E4\uC6B4\uB85C\uB4DC \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",allDownloaded:"\uBAA8\uB4E0 \uB2E4\uC6B4\uB85C\uB4DC\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",refreshFavs:"\uC0C8\uB85C\uACE0\uCE68\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",loggingIn:"\uB85C\uADF8\uC778 \uD558\uB294 \uC911...",loggedIn:"\uB85C\uADF8\uC778 \uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyLogged:"\uC774\uBBF8 \uB85C\uADF8\uC778\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4",loginFailed:"\uB85C\uADF8\uC778 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",loggedOut:"\uB85C\uADF8\uC544\uC6C3 \uD558\uC600\uC2B5\uB2C8\uB2E4",cancellingCurrentItem:"\uD604\uC7AC \uD56D\uBAA9\uC744 \uCDE8\uC18C \uC911\uC785\uB2C8\uB2E4.",currentItemCancelled:"\uD56D\uBAA9\uC774 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",startAddingArtist:"{artist} \uC568\uBC94\uC744 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00 \uC911\uC785\uB2C8\uB2E4",finishAddingArtist:"{artist} \uC568\uBC94\uC774 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",startConvertingSpotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uD2B8\uB799\uC744 Deezer \uD2B8\uB799\uC73C\uB85C \uC804\uD658 \uC911\uC785\uB2C8\uB2E4",finishConvertingSpotifyPlaylist:"\uC2A4\uD504\uD1A0\uD30C\uC774 \uC7AC\uC0DD \uBAA9\uB85D\uC774 \uC804\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4",loginNeededToDownload:"\uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB824\uBA74 \uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4!",deezerNotAvailable:"Deezer \uC0AC\uC774\uD2B8\uB294 \uD604\uC7AC \uADC0\uD558\uC758 \uAD6D\uAC00\uC5D0\uC11C \uC0AC\uC6A9\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4. VPN\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.",startGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC9C4\uD589\uC911...",finishGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC0DD\uC131."},settings:{title:"\uC124\uC815",languages:"\uC5B8\uC5B4",login:{title:"\uB85C\uADF8\uC778",loggedIn:"{username}(\uC73C)\uB85C \uB85C\uADF8\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4",arl:{question:"ARL\uC744 \uC5B4\uB5BB\uAC8C \uD655\uC778\uD569\uB2C8\uAE4C?",update:"ARL \uC5C5\uB370\uC774\uD2B8"},logout:"\uB85C\uADF8\uC544\uC6C3",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC4F0\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C\uD569\uB2C8\uAE4C?"},appearance:{title:"\uC678\uAD00",slimDownloadTab:"\uC587\uC740 \uB2E4\uC6B4\uB85C\uB4DC \uD0ED",slimSidebar:"\uC587\uC740 \uC0AC\uC774\uB4DC\uBC14"},downloadPath:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uACBD\uB85C"},templates:{title:"\uD15C\uD50C\uB9BF",tracknameTemplate:"\uD2B8\uB799\uC774\uB984 \uD15C\uD50C\uB9BF",tracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uD2B8\uB799\uC774\uB984 \uBCC0\uC218 \uBAA9\uB85D",albumTracknameTemplate:"\uC568\uBC94 \uD2B8\uB799 \uD15C\uD50C\uB9BF",albumTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC568\uBC94 \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D",playlistTracknameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD2B8\uB799 \uD15C\uD50C\uB9BF",playlistTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC7AC\uC0DD \uBAA9\uB85D \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D"},folders:{title:"\uD3F4\uB354",createPlaylistFolder:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",playlistNameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD3F4\uB354 \uD15C\uD50C\uB9BF",createArtistFolder:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",artistNameTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createAlbumFolder:"\uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",albumNameTemplate:"\uC568\uBC94 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createCDFolder:"CD\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",createStructurePlaylist:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131",createSingleFolder:"\uC2F1\uAE00 \uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131"},trackTitles:{title:"\uD2B8\uB799 \uC81C\uBAA9",padTracks:"\uD2B8\uB799 \uCC44\uC6CC\uB123\uAE30",paddingSize:"\uCC44\uC6CC\uB123\uC744 \uD06C\uAE30",illegalCharacterReplacer:"\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAE00\uC790 \uB300\uCCB4"},downloads:{title:"\uB2E4\uC6B4\uB85C\uB4DC",queueConcurrency:"\uB3D9\uC2DC \uB2E4\uC6B4\uB85C\uB4DC",maxBitrate:{title:"\uC120\uD638\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F8\uAE4C\uC694?",y:"\uB124, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC138\uC694",n:"\uC544\uB1E8, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC9C0 \uB9C8\uC138\uC694",t:"\uD0DC\uADF8\uB9CC \uB36E\uC5B4\uC4F0\uC138\uC694",b:"\uC544\uB1E8, \uC591\uCABD \uB2E4 \uB194\uB450\uACE0 \uC911\uBCF5\uB418\uB294 \uD30C\uC77C\uC5D0 \uBC88\uD638\uB97C \uCD94\uAC00\uD558\uC138\uC694",e:"\uC544\uB1E8, \uD655\uC7A5\uBA85\uC744 \uBCC0\uACBD\uD558\uC138\uC694"},fallbackBitrate:"\uBE44\uD2B8\uB808\uC774\uD2B8 \uB300\uBE44\uCC45",fallbackSearch:"\uAC80\uC0C9 \uB300\uBE44\uCC45",logErrors:"\uC624\uB958 \uBC1C\uC0DD\uC2DC \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",logSearched:"\uAC80\uC0C9\uD55C \uD2B8\uB799\uC5D0 \uB300\uD55C \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",createM3U8File:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C \uC0DD\uC131",syncedLyrics:".lyr \uD30C\uC77C \uC0DD\uC131 (\uAC00\uC0AC \uB3D9\uAE30\uD654)",playlistFilenameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C\uC774\uB984 \uD15C\uD50C\uB9BF",saveDownloadQueue:"\uD504\uB85C\uADF8\uB7A8\uC744 \uB2EB\uC744 \uB54C \uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30\uC5F4 \uC800\uC7A5"},covers:{title:"\uC568\uBC94 \uCEE4\uBC84",saveArtwork:"\uCEE4\uBC84 \uC800\uC7A5",coverImageTemplate:"\uCEE4\uBC84 \uC774\uB984 \uD15C\uD50C\uB9BF",saveArtworkArtist:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uC800\uC7A5",artistImageTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uD15C\uD50C\uB9BF",localArtworkSize:"\uC678\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",embeddedArtworkSize:"\uB0B4\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",localArtworkFormat:{title:"\uBCC4\uB3C4\uB85C \uC800\uC7A5\uD560 \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 \uBB34\uC5C7\uC73C\uB85C \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",jpg:"jpeg \uC774\uBBF8\uC9C0",png:"png \uC774\uBBF8\uC9C0",both:"jpeg\uC640 png \uB458 \uB2E4"},jpegImageQuality:"JPEG \uC774\uBBF8\uC9C0 \uD488\uC9C8",embeddedArtworkPNG:"\uD3EC\uD568\uB41C \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 PNG\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4",embeddedPNGWarning:"PNG\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBC84\uADF8\uAC00 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4",imageSizeWarning:"x1200 \uD06C\uAE30\uB97C \uCD08\uACFC\uD574\uC11C\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBB38\uC81C\uAC00 \uC0DD\uAE38 \uC218 \uC788\uC2B5\uB2C8\uB2E4",coverDescriptionUTF8:"\uCEE4\uBC84 \uC124\uBA85\uC744 UTF8 \uD3EC\uB9F7\uC744 \uC774\uC6A9\uD574 \uC800\uC7A5\uD569\uB2C8\uB2E4 (iTunes \uCEE4\uBC84 \uC624\uB958 \uD574\uACB0)"},tags:{head:"\uC800\uC7A5\uD560 \uD0DC\uADF8\uB97C \uC120\uD0DD\uD558\uC138\uC694",title:"\uC81C\uBAA9",artist:"\uC544\uD2F0\uC2A4\uD2B8",album:"\uC568\uBC94",cover:"\uCEE4\uBC84",trackNumber:"\uD2B8\uB799 \uBC88\uD638",trackTotal:"\uC804\uCCB4 \uD2B8\uB799 \uD06C\uAE30",discNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",discTotal:"\uC804\uCCB4 \uB514\uC2A4\uD06C \uC218",albumArtist:"\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8",genre:"\uC7A5\uB974",year:"\uC5F0\uB3C4",date:"\uC77C\uC790",explicit:"\uB178\uACE8\uC801 \uAC00\uC0AC",isrc:"ISRC",length:"\uD2B8\uB799 \uAE38\uC774",barcode:"\uC568\uBC94 \uBC14\uCF54\uB4DC (UPC)",bpm:"BPM",replayGain:"\uB9AC\uD50C\uB808\uC774 \uAC8C\uC778",label:"\uC568\uBC94 \uB77C\uBCA8",lyrics:"\uBE44\uB3D9\uAE30 \uAC00\uC0AC",copyright:"\uC800\uC791\uAD8C",composer:"\uC791\uACE1\uAC00",involvedPeople:"\uAD00\uB828\uC788\uB294 \uC0AC\uB78C\uB4E4",source:"\uC18C\uC2A4\uC640 \uC74C\uC545 ID"},other:{title:"\uAE30\uD0C0",savePlaylistAsCompilation:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uD3B8\uCC2C\uBB3C\uB85C \uC800\uC7A5",useNullSeparator:"null \uAD6C\uBD84\uC790 \uC0AC\uC6A9",saveID3v1:"ID3v1 \uD0DC\uADF8 \uD615\uC2DD\uC73C\uB85C \uC800\uC7A5",multiArtistSeparator:{title:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC5B4\uB5BB\uAC8C \uAD6C\uBD84\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",nothing:"\uC8FC\uC694 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",default:"\uD45C\uC900 \uC2A4\uD399\uC744 \uC0AC\uC6A9",andFeat:"& \uAE30\uD638\uC640 feat \uC0AC\uC6A9.",using:'"{separator}" \uC0AC\uC6A9'},singleAlbumArtist:"\uC8FC\uC694 \uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",albumVariousArtists:'\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uC5D0 "Various Artists"(\uB2E4\uC591\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4) \uC720\uC9C0',removeAlbumVersion:'\uD2B8\uB799 \uC81C\uBAA9\uC5D0 "Album Version"(\uC568\uBC94 \uBC84\uC804) \uC81C\uAC70',removeDuplicateArtists:"\uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC758 \uD611\uC5C5 \uC81C\uAC70",dateFormat:{title:"FLAC \uD30C\uC77C\uC758 \uB0A0\uC9DC \uD615\uC2DD",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\uD2B9\uC9D1\uC5D0 \uCC38\uC5EC\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC5D0 \uD560 \uC218 \uC788\uB294 \uAC83\uC774 \uBB34\uC5C7\uC774 \uC788\uB098\uC694?",0:"\uC544\uBB34\uAC83\uB3C4 \uD558\uC9C0 \uC54A\uC74C",1:"\uC81C\uBAA9\uC5D0\uC11C \uC81C\uAC70",3:"\uC568\uBC94 \uC81C\uBAA9\uACFC \uD2B8\uB799\uC5D0\uC11C \uC81C\uAC70",2:"\uC81C\uBAA9\uC73C\uB85C \uC774\uB3D9"},titleCasing:"\uC81C\uBAA9 \uCF00\uC774\uC2F1",artistCasing:"\uC544\uD2F0\uC2A4\uD2B8 \uCF00\uC774\uC2F1",casing:{nothing:"\uBCC0\uD568\uC5C6\uC774 \uC720\uC9C0",lower:"\uC18C\uBB38\uC790\uB85C",upper:"\uB300\uBB38\uC790\uB85C",start:"\uAC01 \uB2E8\uC5B4 \uC55E \uAE00\uC790\uB97C \uB300\uBB38\uC790\uB85C",sentence:"\uBB38\uC7A5\uCC98\uB7FC"},previewVolume:"\uBBF8\uB9AC\uB4E3\uAE30 \uBCFC\uB968",executeCommand:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uD6C4 \uC2E4\uD589\uD560 \uBA85\uB839\uC5B4",description:"\uBE48\uCE78\uC73C\uB85C \uB450\uBA74 \uC544\uBB34 \uC77C\uB3C4 \uC5C6\uC2B5\uB2C8\uB2E4"}},spotify:{title:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify \uC0AC\uC6A9\uC790\uC774\uB984",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C \uD569\uB2C8\uAE4C?"},reset:"\uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uCD08\uAE30\uD654",resetMessage:"\uC815\uB9D0 \uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uB3CC\uC544\uAC00\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",save:"\uC800\uC7A5",toasts:{init:"\uC124\uC815\uC744 \uBD88\uB7EC\uC654\uC2B5\uB2C8\uB2E4!",update:"\uC0C8\uB85C\uC6B4 \uC124\uC815\uC73C\uB85C \uAC31\uC2E0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",reset:"\uC124\uC815\uC774 \uC6D0\uB798\uB300\uB85C \uCD08\uAE30\uD654 \uB418\uC5C8\uC2B5\uB2C8\uB2E4!",ARLcopied:"ARL\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},sidebar:{home:"\uD648",search:"\uAC80\uC0C9",charts:"\uCC28\uD2B8",favorites:"\uC990\uACA8\uCC3E\uAE30",linkAnalyzer:"\uB9C1\uD06C \uBD84\uC11D\uAE30",settings:"\uC124\uC815",about:"\uC815\uBCF4"},tracklist:{downloadSelection:"\uC120\uD0DD \uB2E4\uC6B4\uB85C\uB4DC"}},ph={globals:{welcome:"Welcome sa deemix",back:"bumalik",loading:"kumakarga",download:"I-download {thing}",by:"ayon sa {artist}",in:"sa {album}",download_hint:"I-download",play_hint:"I-play",toggle_download_tab_hint:"Palakihin/Paliitan",clean_queue_hint:"Natapos na ang Pag-alis",cancel_queue_hint:"Ikansel Lahat",open_downloads_folder:"Buksan ang Polder ng Download",cut:"i-cut",copy:"kopyahin",copyLink:"kopyahin ang link",copyImageLink:"kopyahin ang imahe sa link",copyDeezerLink:"kopyahin ang link ng deezer",paste:"idikit",listTabs:{empty:"",all:"lahat",top_result:"nangungunang resulta",album:"album | mga album",artist:"artist | mga artist",single:"single | mga single",title:"pamagat | mga pamagat",track:"track | mga track",trackN:"0 mga track | {n} track | {n} mga track",releaseN:"0 mga release | {n} release | {n} mga release",playlist:"playlist | mga playlist",compile:"pinagsama | mga pinagsama",ep:"ep | mga ep",bundle:"bundle | mga bundle",more:"Iba pang mga album",featured:"Ibinida sa",spotifyPlaylist:"playlist sa spotify | mga playlist sa spotify",releaseDate:"petsa ng paglabas",error:"error"}},about:{updates:{currentVersion:"Kasalukuyang version",versionNotAvailable:"H/P",updateAvailable:"Hindi mo ginagamit ang pinakabagong version: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Nakatutulong na mga Link",bugReports:"Report sa Bug",contributing:"Pagtulong",donations:"Mga donasiyon",license:"Lisensiya"},subtitles:{bugReports:"Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!",contributing:"Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!",donations:"Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!"},usesLibrary:"Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.",thanks:"Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.",upToDate:{text:"Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.",newsChannel:"news channel"},officialWebsite:"Opisyal na Website",officialRepo:"Opisyal na Library Repository",officialWebuiRepo:"Opisyal na Repository ng WebUI",officialSubreddit:"Opisyal na Subreddit",newsChannel:"News Channel",questions:{text:"Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.",subreddit:"subreddit"},beforeReporting:"Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.",beSure:"Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.",duplicateReports:"Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.",dontOpenIssues:"HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.",newUI:{text:"Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.",repo:"repo"},acceptFeatures:"Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.",otherLanguages:"Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!",understandingCode:"Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.",contributeWebUI:{text:"Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.",webui:"WebUI"},itsFree:"Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.",notObligated:"Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!",lincensedUnder:{text:"Ang aktibidad na ito ay lisensiyado sa {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Mga Chart",changeCountry:"Palitan ang Country",download:"I-download ang Chart"},errors:{title:"Mga error sa {name}",ids:{invalidURL:"Hindi makilala ang URL",unsupportedURL:"Hindi pa suportado ang URL",ISRCnotOnDeezer:"Ang Track ISRC ay hindi pwede sa Deezer",notYourPrivatePlaylist:"Hindi pwedeng i-download ang mga pribadong playlist ng iba.",spotifyDisabled:"Hindi mo nai-set nang tama ang Spotify Features.",trackNotOnDeezer:"Hindi mahanap ang track sa Deezer!",albumNotOnDeezer:"Hindi mahanap ang album sa Deezer!",notOnDeezer:"Hindi available ang track sa Deezer!",notEncoded:"Hindi pa nae-encode ang track!",notEncodedNoAlternative:"Hindi pa nae-encode ang track at walang mahanap na iba!",wrongBitrate:"Hindi mahanap ang track sa gusto mong bitrate.",wrongBitrateNoAlternative:"Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!",no360RA:"Hindi pwede ang track para sa Reality Audio 360.",notAvailable:"Walang available na track sa server ng Deezer!",notAvailableNoAlternative:"Walang available na track sa server ng Deezer at walang mahanap na iba!",noSpaceLeft:"Wala nang natitirang space sa iyong device!"}},favorites:{title:"Mga Paborito",noPlaylists:"Walang makitang mga Playlist",noAlbums:"Walang makitang mga Paboritong Album",noArtists:"Walang makitang mga Paboritong Artist",noTracks:"Walang makitang mga Paboritong Track"},home:{needTologin:"Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.",openSettings:"Buksan ang Mga Setting",sections:{popularPlaylists:"Mga sikat na playlist",popularAlbums:"Pinakamaraming pinakikinggang mga album"}},linkAnalyzer:{info:"Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.",useful:"Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.",linkNotSupported:"Hindi pa suportado ang link",linkNotSupportedYet:"Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Haba",diskNumber:"Bilang ng Disk",trackNumber:"Bilang ng Track",releaseDate:"Petsa ng Release",bpm:"BPM",label:"Label",recordType:"Uri ng Rekord",genres:"Mga Genre",tracklist:"Listahan ng Track"}},search:{startSearching:"Simulang Maghanap!",description:"Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer",fans:"{n} mga fan",noResults:"Walang resulta",noResultsTrack:"Walang mahanap na mga Track",noResultsAlbum:"Walang mahanap na mga Album",noResultsArtist:"Walang mahanap na mga Artist",noResultsPlaylist:"Walang mahanap na mga Playlist"},searchbar:"Maghanap ka ng gusto mo (o mag-paste ka ng link)",downloads:"mga download",toasts:{restoringQueue:"Binabalik ang download queue...",queueRestored:"Naibalik na ang download queue!",addedToQueue:"{item} ay naidagdag sa queue",addedMoreToQueue:"{n} naidagdag rin sa queue",alreadyInQueue:"{item} ay meron na sa queue!",finishDownload:"{item} ay natapos nang i-download.",allDownloaded:"Nadownload na lahat!",refreshFavs:"Narefresh na!",loggingIn:"Nagla-log in...",loggedIn:"Na-login na",alreadyLogged:"Nakalogin ka na",loginFailed:"Hindi maka-log in",loggedOut:"Na-logout na",cancellingCurrentItem:"Kinakansel ang item.",currentItemCancelled:"Nakansel na ang item.",startAddingArtist:"Idinadagdag si {artist} sa queue ng mga album",finishAddingArtist:"Naidagdag na si {artist} sa queue ng mga album",startConvertingSpotifyPlaylist:"Kino-convert ang mga track sa spotify papuntang Deezer",finishConvertingSpotifyPlaylist:"Naconvert na ang playlist sa Spotify",loginNeededToDownload:"Kailangan mong mag-login para madownload ang mga track!",deezerNotAvailable:"Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN."},settings:{title:"Mga Setting",languages:"Mga Wika",login:{title:"Login",loggedIn:"Ikaw ay naka-login sa pangalang {username}",arl:{question:"Paano ako makakuha ng sariling ARL?",update:"I-update ang ARL"},logout:"Logout",login:"Mag-login gamit ng deezer.com"},appearance:{title:"Hitsura",slimDownloadTab:"Pinaliit na download tab"},downloadPath:{title:"Paglalagyan ng Download"},templates:{title:"Mga Template",tracknameTemplate:"Template sa pangalan ng Track",albumTracknameTemplate:"Template sa track ng Album",playlistTracknameTemplate:"Template sa track ng Playlist"},folders:{title:"Mga Folder",createPlaylistFolder:"Gumawa ng folder para sa mga playlist",playlistNameTemplate:"Template sa folder ng Playlist",createArtistFolder:"Gumawa ng folder para sa artist",artistNameTemplate:"Template sa folder ng Artist",createAlbumFolder:"Gumawa ng folder para sa album",albumNameTemplate:"Template sa folder ng Album",createCDFolder:"Gumawa ng folder para sa mga CD",createStructurePlaylist:"Gumawa ng istraktura ng folder para sa mga playlist",createSingleFolder:"Gumawa ng istraktura ng folder para sa mga single"},trackTitles:{title:"Pamagat sa mga track",padTracks:"Mga track ng Pad",paddingSize:"Patungan ang laki ng padding",illegalCharacterReplacer:"Pamalit sa ilegal na Karakter"},downloads:{title:"Mga Download",queueConcurrency:"Mga Kasabay na Download",maxBitrate:{title:"Gustong Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Papatungan ko ba ang file?",y:"Oo, patungan mo ang file",n:"Hindi, huwag mong patungan ang file",t:"Patungan mo lang ang mga tag",b:"Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya",e:"Hindi, at huwag mong tignan ang mga extension"},fallbackBitrate:"Binabaang bitrate",fallbackSearch:"Maghanap para sa binabaan",logErrors:"Gumawa ng log file para sa mga error",logSearched:"Gumawa ng log file para sa mga hinanap na track",createM3U8File:"Gumawa ng file sa playlist",syncedLyrics:"Gumawa ng mga .lyr file (Mga Sync Lyric)",playlistFilenameTemplate:"Template sa pangalan ng Playlist file",saveDownloadQueue:"I-save ang download queue kapag isasara the app"},covers:{title:"Mga cover ng album",saveArtwork:"I-save ang mga Cover",coverImageTemplate:"Template ng pangalan ng cover",saveArtworkArtist:"I-save ang imahe ng artist",artistImageTemplate:"Template ng imahe ng artist",localArtworkSize:"Laki ng lokal na artwork",embeddedArtworkSize:"Laki ng Nakadikit na artwork",localArtworkFormat:{title:"Anong gusto mong format para sa mga lokal na artwork?",jpg:"jpeg na imahe",png:"png na imahe",both:"Parehong jpeg at png"},jpegImageQuality:"Kalidad ng JPEG na imahe",embeddedArtworkPNG:"I-save ang nakadikit na artwork bilang PNG",embeddedPNGWarning:"Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug",imageSizeWarning:"Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu",coverDescriptionUTF8:"I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)"},tags:{head:"Aling tag ang ise-save",title:"Pamagat",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Bilang ng Track",trackTotal:"Kabuuang Track",discNumber:"Bilang ng Disk",discTotal:"Kabuuang Disk",albumArtist:"Album Artist",genre:"Genre",year:"Taon",date:"Petsa",explicit:"Mga Explicit na Lyric",isrc:"ISRC",length:"Haba ng Track",barcode:"Barcode ng Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label ng Album",lyrics:"Unsynchronized na mga Lyric",syncedLyrics:"Synchronized na mga Lyric",copyright:"Karapatang Ari",composer:"Komposer",involvedPeople:"Mga Kasamang Tao"},other:{title:"Iba pa",savePlaylistAsCompilation:"I-save ang mga playlist bilang compilation",useNullSeparator:"Gumamit ng panghiwalay sa null",saveID3v1:"I-save rin ang ID3v1",multiArtistSeparator:{title:"Anong gusto mo para maihanay mga artist?",nothing:"I-save lang ang pangunahing artist",default:"Gamit ng standard na specification",andFeat:"Gamit ng & at feat.",using:'Gamit ng "{separator}"'},singleAlbumArtist:"I-save lang ang pangunahing album ng artist",albumVariousArtists:'Isama ang "Various Artists" sa mga Album Artist',removeAlbumVersion:'Tanggalin ang "Album Version" sa pamagat ng track',removeDuplicateArtists:"Tanggalin ang kombinasyon ng mga artist",dateFormat:{title:"Format ng petsa para sa mga FLAC file",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Anong gagawin ko sa mga itinampok na artist",0:"Wala",1:"Tanggalin mo sila sa Pamagat",3:"Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album",2:"Ilipat mo sila sa pamagat"},titleCasing:"Pagleletra sa Pamagat",artistCasing:"Pagleletra sa Artist",casing:{nothing:"Walang babaguhin",lower:"maliliit",upper:"MALALAKI",start:"Simula Ng Bawata Salita",sentence:"Kagaya ng pangungusap"},previewVolume:"Volume ng Preview",executeCommand:{title:"Mga gagawin pagkatapos ng download",description:"Hayaan lang na blangko kung wala"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"Paano ma-enable ang Spotify Features?"},reset:"Ibalik sa Dati",save:"I-save",toasts:{init:"Ikinarga ang mga Setting!",update:"In-update ang mga Setting!",ARLcopied:"Kinopya ang ARL sa clipboard"}},sidebar:{home:"tahanan",search:"maghanap",charts:"mga chart",favorites:"mga paborito",linkAnalyzer:"tagasuri ng link",settings:"mga setting",about:"tungkol sa"},tracklist:{downloadSelection:"Pagpipili ng download"}},zh_tw={globals:{welcome:"\u6B61\u8FCE\u4F7F\u7528 deemix",back:"\u8FD4\u56DE",loading:"\u8F09\u5165\u4E2D",download:"\u4E0B\u8F09 {thing}",by:"{artist}",in:"\u65BC {album}",download_hint:"\u4E0B\u8F09",play_hint:"\u64AD\u653E",toggle_download_tab_hint:"\u5C55\u958B/\u6298\u758A",clean_queue_hint:"\u6E05\u9664\u5B8C\u6210",cancel_queue_hint:"\u53D6\u6D88\u5168\u90E8",open_downloads_folder:"\u958B\u555F\u4E0B\u8F09\u8CC7\u6599\u593E",cut:"\u526A\u4E0B",copy:"\u8907\u88FD",copyLink:"\u8907\u88FD\u9023\u7D50",copyImageLink:"\u8907\u88FD\u5716\u7247\u9023\u7D50",copyDeezerLink:"\u8907\u88FD deezer \u9023\u7D50",paste:"\u8CBC\u4E0A",listTabs:{empty:"",all:"\u6240\u6709",top_result:"\u6700\u4F73\u7D50\u679C",album:"\u5C08\u8F2F|\u5C08\u8F2F",artist:"\u85DD\u4EBA|\u85DD\u4EBA",single:"\u55AE\u66F2",title:"\u6A19\u984C|\u6A19\u984C",track:"\u6B4C\u66F2|\u6B4C\u66F2",releaseN:"0 \u767C\u884C| {n} \u767C\u884C| {n} \u767C\u884C",playlist:"\u64AD\u653E\u6E05\u55AE|\u64AD\u653E\u6E05\u55AE",compile:"\u5408\u8F2F|\u5408\u8F2F",ep:"\u8FF7\u4F60\u5C08\u8F2F | \u8FF7\u4F60\u5C08\u8F2F",bundle:"bundle | bundles",more:"\u66F4\u591A\u5C08\u8F2F",featured:"\u51FA\u73FE\u65BC",spotifyPlaylist:"Spotify \u64AD\u653E\u6E05\u55AE | Spotify \u64AD\u653E\u6E05\u55AE",releaseDate:"\u767C\u5E03\u65E5\u671F",error:"\u932F\u8AA4",trackN:"0 \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2",albumN:"0 \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F",artistN:"0 \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA",playlistN:"0 \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE"}},about:{appStatus:{online:"\u4E0A\u7DDA\u4E2D",offline:"\u96E2\u7DDA\u4E2D"},updates:{currentVersion:"\u76EE\u524D\u7248\u672C",currentWebuiVersion:"\u76EE\u524D\u524D\u7AEF\u7248\u672C",versionNotAvailable:"N/A",updateAvailable:"\u60A8\u5C1A\u672A\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF1A{version}",deemixVersion:"deemix \u51FD\u793A\u5EAB\u7248\u672C"},titles:{usefulLinks:"\u5BE6\u7528\u9023\u7D50",bugReports:"\u932F\u8AA4\u5831\u544A",contributing:"\u8CA2\u737B",donations:"\u8D0A\u52A9",license:"\u4F7F\u7528\u8A31\u53EF"},subtitles:{bugReports:"\u4F7F\u7528 deemix \u6642\uFF0C\u9047\u5230\u4E86\u4EC0\u9EBC\u554F\u984C\u55CE\uFF1F\u6B61\u8FCE\u56DE\u5831\u932F\u8AA4\uFF01",contributing:"\u60A8\u60F3\u66FF\u9019\u500B\u5C08\u6848\u63D0\u51FA\u8CA2\u737B\u55CE\uFF1F\u60A8\u53EF\u4EE5\u900F\u904E\u8A31\u591A\u4E0D\u540C\u7684\u65B9\u5F0F\u4F86\u5E6B\u5FD9\uFF01",donations:"\u60A8\u60F3\u8981\u6350\u6B3E\u55CE\uFF1F\u53EF\u4EE5\u8D0A\u52A9\u6211\u5011\uFF01"},usesLibrary:"\u672C\u7A0B\u5F0F\u57FA\u65BC deemix \u51FD\u793A\u5EAB\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u8A72\u51FD\u793A\u5EAB\u4F86\u88FD\u4F5C\u81EA\u5DF1\u7684\u524D\u7AEF\u3002",thanks:"\u611F\u8B1D rtonno\u3001uhwot \u53CA lollilol \u5C0D\u65BC\u672C\u5C08\u6848\u7684\u8CA2\u737B\uFF0C\u53E6\u5916\u4E5F\u611F\u8B1D BasCurtiz \u5E6B\u5FD9\u88FD\u4F5C\u672C\u5C08\u6848\u7684\u5716\u793A",upToDate:{text:"\u60A8\u53EF\u65BC Telegram \u4E0A\u95DC\u6CE8{newsChannel}\u4EE5\u53D6\u5F97\u6700\u65B0\u52D5\u614B\u3002",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053"},officialWebsite:"\u5B98\u65B9\u7DB2\u7AD9",officialRepo:"\u5B98\u65B9\u51FD\u793A\u7248\u672C\u5EAB",officialWebuiRepo:"\u5B98\u65B9 WebUI \u7248\u672C\u5EAB",officialSubreddit:"\u5B98\u65B9 Subreddit",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053",questions:{text:"\u5982\u679C\u60A8\u5C0D\u672C\u7A0B\u5F0F\u6709\u7591\u554F\u6216\u554F\u984C\uFF0C\u8ACB\u5148\u5728{subreddit}\u4E0A\u641C\u5C0B\u89E3\u6C7A\u65B9\u6848\u3002\u5982\u679C\u627E\u4E0D\u5230\u4EFB\u4F55\u89E3\u6C7A\u65B9\u6CD5\uFF0C\u5247\u53EF\u4EE5\u5728\u6211\u5011\u7684 subreddit \u4E0A\u767C\u5E03\u8207\u60A8\u554F\u984C\u76F8\u95DC\u7684\u6587\u7AE0\u3002",subreddit:" subreddit "},beforeReporting:"\u5728\u5831\u544A\u932F\u8AA4\u4E4B\u524D\uFF0C\u8ACB\u78BA\u4FDD\u60A8\u6B63\u5728\u904B\u884C\u6700\u65B0\u7248\u672C\u7684\u7A0B\u5F0F\uFF0C\u4E26\u4E14\u8981\u5831\u544A\u7684\u5167\u5BB9\u771F\u7684\u662F\u4E00\u500B\u932F\u8AA4\uFF0C\u800C\u4E0D\u50C5\u662F\u60A8\u81EA\u5DF1\u9047\u5230\u7684\u554F\u984C\u3002",beSure:"\u8ACB\u78BA\u4FDD\u60A8\u6240\u60F3\u56DE\u5831\u7684\u932F\u8AA4\u53EF\u5728\u5176\u4ED6\u53F0\u88DD\u7F6E\u4E0A\u518D\u73FE\u7684\uFF0C\u4E26\u4E14\u8ACB\u52FF\u56DE\u5831\u5DF2\u77E5\u932F\u8AA4\u3002",duplicateReports:"\u8ACB\u6CE8\u610F\uFF0C\u91CD\u8907\u7684\u932F\u8AA4\u5831\u544A\u5C07\u88AB\u79FB\u9664\u3002",dontOpenIssues:"\u8ACB\u52FF\u900F\u904E\u672C\u7248\u672C\u5EAB\u7684 Issues \u554F\u554F\u984C\uFF0C\u6211\u5011\u958B subreddit \u662F\u6709\u539F\u56E0\u7684\u3002",newUI:{text:"\u5982\u679C\u60A8\u7CBE\u901A Python\uFF0C\u5247\u53EF\u4EE5\u5617\u8A66\u4F7F\u7528\u6211\u5011\u7684\u51FD\u793A\u5EAB\u4F86\u5EFA\u7ACB\u65B0\u7684 UI\uFF0C\u6216\u8005\u900F\u904E{repo}\u63D0\u51FA\u932F\u8AA4\u76F8\u95DC\u7684 PR\u3002",repo:"\u6211\u5011\u7684\u7248\u672C\u5EAB"},acceptFeatures:"\u6211\u4E5F\u6B61\u8FCE\u4F60\u63D0\u4EA4\u65B0\u7684\u529F\u80FD\uFF0D\u4F46\u524D\u63D0\u662F\u9019\u500B\u529F\u80FD\u4E0D\u80FD\u904E\u65BC\u8907\u96DC\uFF0D\u904E\u65BC\u8907\u96DC\u7684\u529F\u80FD\uFF0C\u61C9\u88AB\u65B0\u589E\u81F3\u7A0B\u5F0F\u5167\u800C\u975E\u51FD\u793A\u5EAB\u5167\u3002",otherLanguages:"\u5982\u679C\u60A8\u7CBE\u901A\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u5617\u8A66\u5C07 deemix \u79FB\u690D\u5230\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\u4E2D\uFF01",understandingCode:"\u4F60\u9700\u8981\u5E6B\u52A9\u4E86\u89E3\u672C\u5C08\u6848\u7684\u7A0B\u5F0F\u78BC\u55CE\uFF1F\u53EA\u9700\u5728 Telegram \u6216 Reddit \u4E0A\u6309\u4E00\u4E0B RemixDev\u3002",contributeWebUI:{text:"\u5982\u679C\u4F60\u719F\u6089 Vue.js\uFF08JavaScript\uFF09\u3001HTML \u6216 CSS\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u53C3\u8207 {webui} \u524D\u7AEF\u7684\u8CA2\u737B\u3002",webui:"WebUI"},itsFree:"\u8A18\u5F97\uFF0C\u9019\u662F\u4E00\u500B\u514D\u8CBB\u7684\u5C08\u6848\uFF0C\u5728\u652F\u6301\u958B\u767C\u4EBA\u54E1\u4E4B\u524D\uFF0C\u61C9\u8A72\u5148\u652F\u6301\u4F60\u559C\u6B61\u7684\u6B4C\u624B\u6216\u85DD\u4EBA\u3002",notObligated:"\u5225\u8A8D\u70BA\u4F60\u6709\u7FA9\u52D9\u6350\u6B3E\uFF0C\u7121\u8AD6\u5982\u4F55\u6211\u5011\u90FD\u611F\u8B1D\u60A8\uFF01",lincensedUnder:{text:"\u672C\u4F5C\u54C1\u4F7F\u7528 {gpl3} \u8A31\u53EF\u6388\u6B0A\u3002",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u6392\u884C\u699C",changeCountry:"\u6539\u8B8A\u570B\u5BB6",download:"\u4E0B\u8F09\u6392\u884C\u699C"},errors:{title:"{name} \u7684\u932F\u8AA4",ids:{invalidURL:"\u7121\u6CD5\u8B58\u5225\u7DB2\u5740",unsupportedURL:"\u5C1A\u4E0D\u652F\u6301\u6B64\u7DB2\u5740",ISRCnotOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u4F7F\u7528\u55AE\u66F2 ISRC",notYourPrivatePlaylist:"\u60A8\u7121\u6CD5\u4E0B\u8F09\u4ED6\u4EBA\u7684\u79C1\u4EBA\u64AD\u653E\u6E05\u55AE\u3002",spotifyDisabled:"Spotify \u529F\u80FD\u672A\u6B63\u78BA\u8A2D\u5B9A\u3002",trackNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u6B4C\u66F2\uFF01",albumNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u5C08\u8F2F\uFF01",notOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notEncoded:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF01",notEncodedNoAlternative:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",wrongBitrate:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\u3002",wrongBitrateNoAlternative:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",no360RA:"\u672C\u6B4C\u66F2\u4E26\u4E0D\u652F\u63F4 Reality Audio 360\u3002",notAvailable:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notAvailableNoAlternative:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",noSpaceLeft:"\u672C\u88DD\u7F6E\u53EF\u7528\u7A7A\u9593\u5DF2\u7528\u76E1\uFF01",albumDoesntExists:"\u672C\u6B4C\u66F2\u7684\u5C08\u8F2F\u4E0D\u5B58\u5728\uFF0C\u7121\u6CD5\u53D6\u5F97\u8CC7\u8A0A"}},favorites:{title:"\u6536\u85CF",noPlaylists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u64AD\u653E\u6E05\u55AE",noAlbums:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u5C08\u8F2F",noArtists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u85DD\u4EBA",noTracks:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u6B4C\u66F2"},home:{needTologin:"\u60A8\u9700\u8981\u5148\u767B\u5165 Deezer \u5E33\u6236\uFF0C\u7136\u5F8C\u624D\u80FD\u958B\u59CB\u4E0B\u8F09\u3002",openSettings:"\u958B\u555F\u8A2D\u5B9A",sections:{popularPlaylists:"\u71B1\u9580\u64AD\u653E\u6E05\u55AE",popularAlbums:"\u71B1\u9580\u5C08\u8F2F"}},linkAnalyzer:{info:"\u60A8\u53EF\u4EE5\u900F\u904E\u6B64\u5DE5\u5177\u53D6\u5F97\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u9023\u7D50\u7684\u76F8\u95DC\u8CC7\u8A0A\u3002",useful:"\u6BD4\u5982\uFF0C\u7576\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u6B4C\u66F2\u7121\u6CD5\u5728\u60A8\u7684\u570B\u5BB6\u64AD\u653E\uFF0C\u4E14\u60A8\u60F3\u77E5\u9053\u54EA\u4E9B\u570B\u5BB6\u53EF\u4EE5\u64AD\u653E\u6B64\u6B4C\u66F2\u6642\uFF0C\u60A8\u53EF\u4F7F\u7528\u6B64\u5DE5\u5177\u3002",linkNotSupported:"\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50",linkNotSupportedYet:"\u6211\u5011\u4F3C\u4E4E\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50\uFF0C\u8ACB\u6539\u7528\u5176\u4ED6\u9023\u7D50\u3002",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u9577\u5EA6",diskNumber:"\u5149\u789F\u7DE8\u865F",trackNumber:"\u6B4C\u66F2\u7DE8\u865F",releaseDate:"\u767C\u5E03\u65E5\u671F",bpm:"BPM",label:"\u6A19\u7C64",recordType:"\u5A92\u9AD4\u985E\u578B",genres:"\u985E\u578B",tracklist:"\u6B4C\u66F2\u6E05\u55AE"}},search:{startSearching:"\u958B\u59CB\u641C\u5C0B\uFF01",description:"\u60A8\u53EF\u4EE5\u641C\u7D22\u6B4C\u66F2\u540D\u7A31\u3001\u5C08\u8F2F\u3001\u85DD\u4EBA\u3001\u64AD\u653E\u6E05\u55AE...\u7B49\u7B49\u3002\u60A8\u4E5F\u53EF\u4EE5\u76F4\u63A5\u8CBC\u4E0A Deezer \u7DB2\u5740\u3002",fans:"{n} \u500B\u7C89\u7D72",noResults:"\u7121\u641C\u5C0B\u7D50\u679C",noResultsTrack:"\u627E\u4E0D\u5230\u6B4C\u66F2",noResultsAlbum:"\u627E\u4E0D\u5230\u5C08\u8F2F",noResultsArtist:"\u627E\u4E0D\u5230\u85DD\u4EBA",noResultsPlaylist:"\u627E\u4E0D\u5230\u64AD\u653E\u6E05\u55AE"},searchbar:"\u641C\u5C0B\u4EFB\u4F55\u95DC\u9375\u5B57\uFF08\u6216\u8CBC\u4E0A\u9023\u7D50\uFF09",downloads:"\u4E0B\u8F09",toasts:{restoringQueue:"\u6B63\u5728\u6062\u5FA9\u4E0B\u8F09\u6E05\u55AE...",queueRestored:"\u4E0B\u8F09\u6E05\u55AE\u5DF2\u6062\u5FA9\uFF01",addedToQueue:"\u5DF2\u65B0\u589E {item} \u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",addedMoreToQueue:"\u5DF2\u65B0\u589E {n} \u500B\u9805\u76EE\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",alreadyInQueue:"{item} \u5DF2\u5728\u4E0B\u8F09\u6E05\u55AE\u4E2D\uFF01",finishDownload:"{item} \u5DF2\u5B8C\u6210\u4E0B\u8F09\u3002",allDownloaded:"\u5168\u90E8\u4E0B\u8F09\u5B8C\u6210\uFF01",refreshFavs:"\u5237\u65B0\u5B8C\u6210\uFF01",loggingIn:"\u767B\u5165\u4E2D...",loggedIn:"\u767B\u5165",alreadyLogged:"\u5DF2\u767B\u5165",loginFailed:"\u7121\u6CD5\u767B\u5165",loggedOut:"\u767B\u51FA",cancellingCurrentItem:"\u53D6\u6D88\u7576\u524D\u9805\u76EE\u3002",currentItemCancelled:"\u7576\u524D\u9805\u76EE\u5DF2\u53D6\u6D88\u3002",startAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",finishAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",startConvertingSpotifyPlaylist:"\u5C07 Spotify \u6B4C\u66F2\u8F49\u63DB\u70BA Deezer \u6B4C\u66F2\u4E2D",finishConvertingSpotifyPlaylist:"\u5DF2\u8F49\u63DB Spotify \u64AD\u653E\u6E05\u55AE",loginNeededToDownload:"\u60A8\u9700\u8981\u767B\u5165\u624D\u80FD\u4E0B\u8F09\u6B4C\u66F2\uFF01",deezerNotAvailable:"Deezer \u5728\u60A8\u6240\u5728\u7684\u570B\u5BB6/\u5730\u5340\u7121\u6CD5\u4F7F\u7528\u3002\u8ACB\u60A8\u4F7F\u7528 VPN\u3002",startGeneratingItems:"\u751F\u6210 {n} \u500B\u9805\u76EE\u4E2D...",finishGeneratingItems:"\u5DF2\u751F\u6210 {n} \u500B\u9805\u76EE."},settings:{title:"\u8A2D\u5B9A",languages:"\u8A9E\u8A00",login:{title:"\u767B\u5165",loggedIn:"\u76EE\u524D\u4EE5 {username} \u7684\u8EAB\u4EFD\u767B\u5165",arl:{question:"\u5982\u4F55\u53D6\u5F97\u81EA\u5DF1\u7684 ARL\uFF1F",update:"\u66F4\u65B0 ARL"},logout:"\u767B\u51FA",login:"\u900F\u904E deezer.com \u767B\u5165"},appearance:{title:"\u5916\u89C0",slimDownloadTab:"\u8584\u578B\u4E0B\u8F09\u5206\u9801",slimSidebar:"\u8584\u578B\u6E2C\u6B04"},downloadPath:{title:"\u4E0B\u8F09\u76EE\u9304"},templates:{title:"\u6A94\u6848\u540D\u7A31\u683C\u5F0F",tracknameTemplate:"\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",albumTracknameTemplate:"\u5C08\u8F2F\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",playlistTracknameTemplate:"\u64AD\u653E\u6E05\u55AE\u55AE\u66F2\u540D\u7A31\u683C\u5F0F"},folders:{title:"\u8CC7\u6599\u593E",createPlaylistFolder:"\u66FF\u64AD\u653E\u6E05\u55AE\u5EFA\u7ACB\u8CC7\u6599\u593E",playlistNameTemplate:"\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createArtistFolder:"\u66FF\u85DD\u4EBA\u5EFA\u7ACB\u8CC7\u6599\u593E",artistNameTemplate:"\u85DD\u4EBA\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createAlbumFolder:"\u66FF\u5C08\u8F2F\u5EFA\u7ACB\u8CC7\u6599\u593E",albumNameTemplate:"\u5C08\u8F2F\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createCDFolder:"\u66FF CD \u5EFA\u7ACB\u8CC7\u6599\u593E",createStructurePlaylist:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u7D50\u69CB",createSingleFolder:"\u5EFA\u7ACB\u55AE\u66F2\u8CC7\u6599\u593E\u7D50\u69CB"},trackTitles:{title:"\u55AE\u66F2\u540D\u7A31",padTracks:"\u6B4C\u66F2\u6578\u76EE\u5B57\u4E32\u586B\u5145",paddingSize:"\u8986\u84CB\u6578\u76EE\u5B57\u4E32\u586B\u5145\u9577\u5EA6",illegalCharacterReplacer:"\u66FF\u63DB\u975E\u6CD5\u5B57\u5143"},downloads:{title:"\u4E0B\u8F09",queueConcurrency:"\u4E26\u884C\u4E0B\u8F09",maxBitrate:{title:"\u504F\u597D\u4F4D\u5143\u7387",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u662F\u5426\u8981\u8986\u84CB\u6A94\u6848\uFF1F",y:"\u662F\uFF0C\u8986\u84CB\u6A94\u6848",n:"\u5426\uFF0C\u8ACB\u52FF\u8986\u84CB\u6A94\u6848",t:"\u50C5\u8986\u84CB\u6A19\u7C64",b:"\u5426\uFF0C\u4FDD\u7559\u5169\u500B\u6A94\u6848\u4E26\u5728\u91CD\u8907\u7684\u6A94\u540D\u4E2D\u52A0\u5165\u4E00\u500B\u6578\u5B57",e:"\u5426\uFF0C\u4E0D\u9867\u616E\u9644\u6A94\u540D"},fallbackBitrate:"\u7576\u504F\u597D\u4F4D\u5143\u7387\u7121\u6CD5\u4E0B\u8F09\u6642\uFF0C\u4E0B\u8F09\u5176\u4ED6\u7248\u672C",fallbackSearch:"\u7576\u641C\u5C0B\u7D50\u679C\u7121\u6CD5\u4F7F\u7528\u6642\uFF0C\u4F7F\u7528\u5176\u4ED6\u641C\u5C0B\u7D50\u679C",logErrors:"\u8A18\u9304\u932F\u8AA4\u81F3\u65E5\u8A8C",logSearched:"\u8A18\u9304\u641C\u5C0B\u6B4C\u66F2\u81F3\u65E5\u8A8C",createM3U8File:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u6A94\u6848",syncedLyrics:"\u5EFA\u7ACB .lyr \u6A94\u6848\uFF08\u540C\u6B65\u6B4C\u8A5E\uFF09",playlistFilenameTemplate:"\u64AD\u653E\u6E05\u55AE\u6A94\u540D\u683C\u5F0F",saveDownloadQueue:"\u95DC\u9589\u61C9\u7528\u7A0B\u5F0F\u6642\uFF0C\u4FDD\u5B58\u4E0B\u8F09\u6E05\u55AE"},covers:{title:"\u5C08\u8F2F\u5C01\u9762",saveArtwork:"\u4FDD\u5B58\u5C01\u9762",coverImageTemplate:"\u5C01\u9762\u6A94\u540D\u683C\u5F0F",saveArtworkArtist:"\u4FDD\u5B58\u85DD\u4EBA\u7167\u7247",artistImageTemplate:"\u85DD\u4EBA\u7167\u7247\u6A94\u540D\u683C\u5F0F",localArtworkSize:"\u672C\u5730\u5716\u7247\u5927\u5C0F",embeddedArtworkSize:"\u5D4C\u5165\u5716\u7247\u5927\u5C0F",localArtworkFormat:{title:"\u60A8\u5E0C\u671B\u672C\u5730\u5716\u7247\u63A1\u7528\u54EA\u7A2E\u683C\u5F0F\uFF1F",jpg:"JPEG",png:"PNG",both:"JPEG \u53CA PNG"},jpegImageQuality:"JPEG \u5F71\u50CF\u54C1\u8CEA",embeddedArtworkPNG:"\u5C07\u5D4C\u5165\u5F0F\u5716\u7247\u5B58\u70BA PNG",embeddedPNGWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u652F\u63F4 PNG\uFF0C\u7D50\u679C\u53EF\u80FD\u6709\u8AA4",imageSizeWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u4F7F\u7528\u9AD8\u65BC x1200 \u7684\u5716\u7247\uFF0C\u60A8\u53EF\u80FD\u6703\u9047\u5230\u554F\u984C",coverDescriptionUTF8:"\u4F7F\u7528 UTF8 \u4FDD\u5B58\u5C01\u9762\u6558\u8FF0\uFF08\u4FEE\u6B63 iTunes \u5C08\u8F2F\u5C01\u9762)"},tags:{head:"\u8981\u4FDD\u5B58\u54EA\u4E9B\u6A19\u7C64",title:"\u6A19\u984C",artist:"\u85DD\u4EBA",album:"\u5C08\u8F2F",cover:"\u5C08\u8F2F\u5C01\u9762",trackNumber:"\u55AE\u66F2\u7DE8\u865F",trackTotal:"\u7E3D\u8A08\u6B4C\u66F2",discNumber:"\u5149\u789F\u7DE8\u865F",discTotal:"\u5149\u789F\u7E3D\u6578",albumArtist:"\u5C08\u8F2F\u85DD\u4EBA",genre:"\u985E\u578B",year:"\u5E74",date:"\u65E5\u671F",explicit:"\u4E0D\u826F\u6B4C\u8A5E",isrc:"ISRC",length:"\u55AE\u66F2\u9577\u5EA6",barcode:"\u5C08\u8F2F\u689D\u78BC\uFF08UPC\uFF09",bpm:"BPM",replayGain:"\u91CD\u64AD\u589E\u76CA\uFF08Replay Gain\uFF09",label:"\u5C08\u8F2F\u6A19\u7C64",lyrics:"\u4E0D\u540C\u6B65\u7684\u6B4C\u8A5E",syncedLyrics:"\u540C\u6B65\u6B4C\u8A5E",copyright:"\u7248\u6B0A",composer:"\u4F5C\u66F2\u5BB6",involvedPeople:"\u76F8\u95DC\u85DD\u4EBA",source:"\u4F86\u6E90\u6B4C\u66F2 ID"},other:{title:"\u5176\u4ED6",savePlaylistAsCompilation:"\u5C07\u64AD\u653E\u6E05\u55AE\u5132\u5B58\u70BA\u5408\u8F2F",useNullSeparator:"\u4F7F\u7528\u7A7A\u5206\u9694\u7B26",saveID3v1:"\u4FDD\u5B58 ID3v1 \u6A19\u7C64",multiArtistSeparator:{title:"\u5982\u4F55\u9694\u958B\u4F5C\u8005\u540D\u7A31\uFF1F",nothing:"\u50C5\u4FDD\u7559\u4E3B\u4F5C\u8005",default:"\u4F7F\u7528\u6A19\u6E96\u898F\u683C",andFeat:"\u4F7F\u7528 & \u53CA feat.",using:'\u4F7F\u7528 "{separator}"'},singleAlbumArtist:"\u50C5\u5132\u5B58\u5C08\u8F2F\u4E3B\u4F5C\u8005\u540D\u7A31",albumVariousArtists:"\u65BC\u5C08\u8F2F\u4F5C\u8005\u6B04\u4F4D\u4E2D\u4FDD\u7559\u300C\u591A\u4F4D\u85DD\u4EBA (Various Artists)\u300D\u5B57\u6A23",removeAlbumVersion:"\u65BC\u55AE\u66F2\u540D\u7A31\u4E2D\u79FB\u9664\u300C\u5C08\u8F2F\u7248\u672C (Album Version)\u300D\u5B57\u6A23",removeDuplicateArtists:"\u79FB\u9664\u91CD\u8907\u7684\u4F5C\u8005\u540D\u7A31",dateFormat:{title:"FLAC \u6A94\u6848\u65E5\u671F\u683C\u5F0F",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u5982\u4F55\u8655\u7406\u5BA2\u4E32\u85DD\u4EBA\u540D\u7A31 (\u5982 feat. \u7B49\u5B57\u6A23) \uFF1F",0:"\u4EC0\u9EBC\u90FD\u4E0D\u505A",1:"\u5F9E\u6A19\u984C\u4E2D\u522A\u9664",3:"\u5F9E\u6A19\u984C\u548C\u5C08\u8F2F\u6A19\u984C\u4E2D\u522A\u9664",2:"\u5C07\u5176\u79FB\u81F3\u6A19\u984C"},titleCasing:"\u6B4C\u66F2\u540D\u7A31\u5927\u5C0F\u5BEB",artistCasing:"\u85DD\u4EBA\u540D\u7A31\u5927\u5C0F\u5BEB",casing:{nothing:"\u4FDD\u6301\u4E0D\u8B8A",lower:"\u5C0F\u5BEB",upper:"\u5927\u5BEB",start:"\u5B57\u8A5E\u958B\u982D\u5927\u5BEB",sentence:"\u53E5\u5B50\u5927\u5BEB"},previewVolume:"\u9810\u89BD\u97F3\u91CF",executeCommand:{title:"\u4E0B\u8F09\u5F8C\u57F7\u884C\u6307\u4EE4",description:"\u7559\u7A7A\u5247\u4E0D\u57F7\u884C"}},spotify:{title:"Spotify \u529F\u80FD",clientID:"Spotify \u5BA2\u6236\u7AEF ID",clientSecret:"Spotify \u5BA2\u6236\u7AEF\u5BC6\u78BC",username:"Spotify \u7528\u6236\u540D",question:"\u5982\u4F55\u555F\u7528 Spotify \u529F\u80FD\uFF1F"},reset:"\u91CD\u8A2D\u81F3\u9810\u8A2D",resetMessage:"\u4F60\u78BA\u5B9A\u8981\u91CD\u8A2D\u6240\u6709\u8A2D\u5B9A\u55CE\uFF1F",save:"\u5132\u5B58",toasts:{init:"\u5DF2\u8F09\u5165\u8A2D\u5B9A\uFF01",update:"\u5DF2\u66F4\u65B0\u8A2D\u5B9A\uFF01",reset:"\u5DF2\u91CD\u8A2D\u8A2D\u5B9A\uFF01",ARLcopied:"\u5DF2\u8907\u88FD ARL \u5230\u526A\u8CBC\u7C3F\u4E2D"}},sidebar:{home:"\u9996\u9801",search:"\u641C\u5C0B",charts:"\u6392\u884C\u699C",favorites:"\u6536\u85CF",linkAnalyzer:"\u9023\u7D50\u5206\u6790",settings:"\u8A2D\u5B9A",about:"\u95DC\u65BC"},tracklist:{downloadSelection:"\u4E0B\u8F09\u6240\u9078"}},pl={globals:{welcome:"Witaj w deemix",back:"wr\xF3\u0107",loading:"\u0142adowanie",download:"Pobierz {thing}",by:"od {artist}",in:"w {album}",download_hint:"Pobierz",play_hint:"Odtw\xF3rz",toggle_download_tab_hint:"Rozszerz/Zwi\u0144",clean_queue_hint:"Wyczy\u015B\u0107 uko\u0144czone",cancel_queue_hint:"Anuluj wszystkie",open_downloads_folder:"Otw\xF3rz pobrane",cut:"wytnij",copy:"kopiuj",copyLink:"kopiuj link",copyImageLink:"kopiuj link obrazu",copyDeezerLink:"kopiuj link deezera",paste:"wklej",listTabs:{empty:"",all:"wszystkie",top_result:"najlepszy wynik",album:"album | albumy",artist:"artysta | arty\u015Bci",single:"singiel | single",title:"tytu\u0142 | tytu\u0142y",track:"utw\xF3r | utwory",trackN:"0 utwor\xF3w | {n} utw\xF3r | {n} utwor\xF3w",releaseN:"0 wyda\u0144 | {n} wydanie | {n} wyda\u0144",playlist:"playlista | playlisty",compile:"kompilacja | kompilacje",ep:"ep | ep",bundle:"zestaw | zestawy",more:"Wi\u0119cej album\xF3w",featured:"Wyst\u0119puje w",spotifyPlaylist:"playlista spotify | playlisty spotify",releaseDate:"data wydania",error:"b\u0142\u0105d"}},about:{updates:{currentVersion:"Obecna wersja",versionNotAvailable:"N/A",updateAvailable:"Nie masz najnowszej dost\u0119pnej wersji: {version}",deemixVersion:"Wersja biblioteki deemix"},titles:{usefulLinks:"Przydatne linki",bugReports:"Zg\u0142oszenia b\u0142\u0119d\xF3w",contributing:"Wk\u0142ad",donations:"Dotacje",license:"Licencja"},subtitles:{bugReports:"Czy deemix dzia\u0142a inaczej ni\u017C powinien? Powiedz nam!",contributing:"Chcesz pom\xF3c w tym projekcie? Mo\u017Cesz to zrobi\u0107 na wiele sposob\xF3w!",donations:"Chcesz pom\xF3c finansowo? Mo\u017Cesz nas wesprze\u0107!"},usesLibrary:"Ten program u\u017Cywa biblioteki deemix, kt\xF3rej mo\u017Cesz u\u017Cy\u0107 do stworzenia w\u0142asnego interfejsu u\u017Cytkownika",thanks:"Podzi\u0119kowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.",upToDate:{text:"B\u0105d\u017A na bie\u017C\u0105co z aktualizacjami do\u0142\u0105czaj\u0105c do {newsChannel} na Telegramie.",newsChannel:"kana\u0142u wiadomo\u015Bci"},officialWebsite:"Oficjalna strona",officialRepo:"Oficjalne repozytorium biblioteki",officialWebuiRepo:"Oficjalne repozytorium WebUI",officialSubreddit:"Oficjalny subreddit",newsChannel:"Kana\u0142 wiadomo\u015Bci",questions:{text:"Je\u017Celi masz pytania lub problemy zwi\u0105zane z aplikacj\u0105, szukaj odpowiedzi na {subreddit}. Je\u017Celi niczego nie znajdziesz, stw\xF3rz post na subreddicie.",subreddit:"subreddicie"},beforeReporting:"Przed zg\u0142aszaniem b\u0142\u0119du upewnij si\u0119, \u017Ce masz najnowsz\u0105 wersje aplikacji i to, co chcesz zg\u0142osi\u0107 jest b\u0142\u0119dem, a nie usterk\u0105 z twojej strony.",beSure:"Upewnij si\u0119, \u017Ce b\u0142\u0105d mo\u017Cna odtworzy\u0107 na innych urz\u0105dzeniach i NIE ZG\u0141ASZAJ b\u0142\u0119d\xF3w, kt\xF3re zosta\u0142y ju\u017C zg\u0142oszone",duplicateReports:"Identyczne zg\u0142oszenia b\u0142\u0119d\xF3w b\u0119d\u0105 zamykane, wi\u0119c zwr\xF3\u0107 na to uwag\u0119.",dontOpenIssues:"NIE OTWIERAJ zg\u0142osze\u0144 do zadawania pyta\u0144, od tego jest subreddit.",newUI:{text:"Je\u017Celi dobrze znasz Pythona, mo\u017Cesz spr\xF3bowa\u0107 stworzy\u0107 nowy interfejs dla aplikacji u\u017Cywaj\u0105c bazowej biblioteki lub naprawia\u0107 b\u0142\u0119dy w bibliotece tworz\u0105c pull request w {repo}.",repo:"repozytorium"},acceptFeatures:"Przyjmuj\u0119 nowe funkcje, ale nic z\u0142o\u017Conego, co mog\u0142oby by\u0107 zaimplementowane w aplikacji, a nie w bibliotece.",otherLanguages:"Je\u017Celi dobrze znasz inny j\u0119zyk programowania, mo\u017Cesz spr\xF3bowa\u0107 przeportowa\u0107 deemix do innych j\u0119zyk\xF3w!",understandingCode:"Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.",contributeWebUI:{text:"Je\u017Celi znasz Vue.js (JavaScript), HTML lub CSS, mo\u017Cesz pom\xF3c w {webui}.",webui:"WebUI"},itsFree:"Pami\u0119taj, \u017Ce ten projekt jest darmowy i powiniene\u015B wspiera\u0107 artyst\xF3w przed tw\xF3rcami aplikacji.",notObligated:"Nie czuj potrzeby p\u0142acenia, i tak ci\u0119 doceniam!",lincensedUnder:{text:"Ten projekt jest chroniony licencj\u0105 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Wykresy",changeCountry:"Zmie\u0144 kraj",download:"Pobierz wykres"},errors:{title:"B\u0142\u0119dy dla {name}",ids:{invalidURL:"Nierozpoznany URL",unsupportedURL:"Niewspierany URL",ISRCnotOnDeezer:"ISRC nie jest dost\u0119pne na Deezerze",notYourPrivatePlaylist:"Nie mo\u017Cesz pobiera\u0107 czyich\u015B prywatnych playlist.",spotifyDisabled:"Funkcje Spotify nie s\u0105 poprawnie ustawione",trackNotOnDeezer:"Nie znaleziono utworu na Deezerze!",albumNotOnDeezer:"Nie znaleziono albumu na Deezerze!",notOnDeezer:"Utw\xF3r nie jest dost\u0119pny na Deezerze!",notEncoded:"Utw\xF3r nie jest jeszcze zakodowany!",notEncodedNoAlternative:"Utw\xF3r nie jest jeszcze zakodowany i nie mo\u017Cna znale\u017A\u0107 alternatywy!",wrongBitrate:"Nie znaleziono utworu w wybranym bitrate.",wrongBitrateNoAlternative:"Nie znaleziono utworu w wybranym bitrate i nie mozna znale\u017A\u0107 alternatywy!",no360RA:"Utw\xF3r nie jest dost\u0119pny w Reality Audio 360.",notAvailable:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera!",notAvailableNoAlternative:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera i nie mo\u017Cna znale\u017A\u0107 alternatywy!"}},favorites:{title:"Ulubione",noPlaylists:"Nie znaleziono playlist",noAlbums:"Nie znaleziono ulubionych album\xF3w",noArtists:"Nie znaleziono ulubionych artyst\xF3w",noTracks:"Nie znaleziono ulubonych utwor\xF3w"},home:{needTologin:"Musisz si\u0119 zalogwa\u0107 do konta na Deezerze zanim zaczniesz pobiera\u0107.",openSettings:"Otw\xF3rz ustawienia",sections:{popularPlaylists:"Popularne playlisty",popularAlbums:"Najpopularniejsze albumy"}},linkAnalyzer:{info:"Mo\u017Cesz u\u017Cy\u0107 tej sekcji, aby znale\u017A\u0107 wi\u0119cej informacji o linku, kt\xF3ry chcesz pobra\u0107.",useful:"Jest to przydatne na przyk\u0142ad gdy chcesz pobra\u0107 jakie\u015B utwory, kt\xF3re nie s\u0105 dost\u0119pne w twoim kraju i chcesz wiedzie\u0107 gdzie s\u0105 dost\u0119pne.",linkNotSupported:"Ten link nie jest jeszcze wspierany",linkNotSupportedYet:"Wygl\u0105da na to, \u017Ce ten link nie jest jeszcze wspierany. Spr\xF3buj przeanalizowa\u0107 inny.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Czas",diskNumber:"Numer p\u0142yty",trackNumber:"Numer utworu",releaseDate:"Data wydania",bpm:"BPM",label:"Wytw\xF3rnia",recordType:"Rodzaj wydania",genres:"Gatunki",tracklist:"Lista utwor\xF3w"}},search:{startSearching:"Zacznij szuka\u0107!",description:"Mo\u017Cesz wyszuka\u0107 utw\xF3r, album, artyst\u0119, playlist\u0119... wszystko! Mo\u017Cesz te\u017C wklei\u0107 link do Deezera",fans:"{n} fan\xF3w",noResults:"Brak wynik\xF3w",noResultsTrack:"Nie znaleziono utwor\xF3w",noResultsAlbum:"Nie znaleziono album\xF3w",noResultsArtist:"Nie znaleziono artyst\xF3w",noResultsPlaylist:"Nie znaleziono playlist"},searchbar:"Szukaj czego chcesz (lub wklej link)",downloads:"pobrane",toasts:{restoringQueue:"Przywracanie kolejki pobierania...",queueRestored:"Przywr\xF3cono kolejk\u0119 pobierania!",addedToQueue:"Dodano {item} do kolejki",addedMoreToQueue:"Dodano {n} przedmiot\xF3w do kolejki",alreadyInQueue:"{item} jest ju\u017C w kolejce!",finishDownload:"Uko\u0144czono pobieranie {item}.",allDownloaded:"Pobrano wszystkie!",refreshFavs:"Uko\u0144czono od\u015Bwie\u017Canie!",loggingIn:"Logowanie...",loggedIn:"Zalogowano",alreadyLogged:"Ju\u017C zalogowano",loginFailed:"Nie mo\u017Cna zalogowa\u0107",loggedOut:"Wylogowano",cancellingCurrentItem:"Anulowanie przedmiotu.",currentItemCancelled:"Anulowano przedmiot.",startAddingArtist:"Dodawanie {artist} album\xF3w do kolejki",finishAddingArtist:"Dodano {artist} album\xF3w do kolejki",startConvertingSpotifyPlaylist:"Konwertowanie utwor\xF3w Spotify na Deezer",finishConvertingSpotifyPlaylist:"Przekonwertowano playlist\u0119 Spotify",loginNeededToDownload:"Musisz si\u0119 zalogowa\u0107, aby pobiera\u0107 utwory!"},settings:{title:"Ustawienia",languages:"J\u0119zyki",login:{title:"Logowanie",loggedIn:"Zalogowano jako {username}",arl:{question:"Jak zdoby\u0107 sw\xF3j w\u0142asny ARL?",update:"Zakualizuj ARL"},logout:"Wyloguj",login:"Zaloguj przez deezer.com"},appearance:{title:"Wygl\u0105d",slimDownloadTab:"Cienka karta pobranych"},downloadPath:{title:"\u015Acie\u017Cka pobierania"},templates:{title:"Szablony",tracknameTemplate:"Szablon utworu",albumTracknameTemplate:"Szablon utworu z albumu",playlistTracknameTemplate:"Szablon utworu z playlisy"},folders:{title:"Foldery",createPlaylistFolder:"Utw\xF3rz foldery dla playlist",playlistNameTemplate:"Szablon folderu playlisty",createArtistFolder:"Utw\xF3rz foldery dla artyst\xF3w",artistNameTemplate:"Szablon folderu artysty",createAlbumFolder:"Utw\xF3rz foldery dla album\xF3w",albumNameTemplate:"Szablon folderu albumu",createCDFolder:"Utw\xF3rz foldery dla p\u0142yt",createStructurePlaylist:"Utw\xF3rz struktur\u0119 folder\xF3w dla playlist",createSingleFolder:"Utw\xF3rz struktur\u0119 folder\xF3w dla singli"},trackTitles:{title:"Tytu\u0142y utworow",padTracks:"Wypchaj utwory",paddingSize:"Rozmiar wypchania",illegalCharacterReplacer:"Zamiennik niedozwolonych znak\xF3w"},downloads:{title:"Pobrane",queueConcurrency:"R\xF3wnoleg\u0142e pobieranie",maxBitrate:{title:"Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Nadpisywa\u0107 pliki?",y:"Tak",n:"Nie",t:"Tylko tagi",b:"Nie, dodaj numer do drugiego pliku",e:"Nie, nie patrz na rozszerzenia"},fallbackBitrate:"Rezerwowy bitrate",fallbackSearch:"Rezerwowe wyszukiwanie",logErrors:"Utw\xF3rz plik dziennika b\u0142\u0119d\xF3w",logSearched:"Utw\xF3rz plik dziennika wyszukiwanych utwor\xF3w",createM3U8File:"Utw\xF3rz plik playlisty",syncedLyrics:"Utw\xF3rz plik .lyr (synchronizowany tekst)",playlistFilenameTemplate:"Szablon pliku playlisty",saveDownloadQueue:"Zapisz kolejk\u0119 pobierania przy zamykaniu aplikacji"},covers:{title:"Ok\u0142adki album\xF3w",saveArtwork:"Zapisz ok\u0142adki",coverImageTemplate:"Szablon nazwy ok\u0142adki",saveArtworkArtist:"Zapisz zdj\u0119cie artysty",artistImageTemplate:"Szablon zdj\u0119cia artysty",localArtworkSize:"Rozmiar lokalnej ok\u0142adki",embeddedArtworkSize:"Rozmiar osadzonej ok\u0142adki",localArtworkFormat:{title:"W jakim formacie ma zosta\u0107 zapisana ok\u0142adka?",jpg:"Plik JPEG",png:"Plik PNG",both:"Pliki JPEG i PNG"},jpegImageQuality:"Jako\u015B\u0107 JPEG",embeddedArtworkPNG:"Zapisz osadzon\u0105 ok\u0142adk\u0119 jako PNG",embeddedPNGWarning:"PNG nie jest oficjalnie wspierane przez Deezer i mo\u017Ce powodowa\u0107 b\u0142\u0119dy",imageSizeWarning:"Wszystko powy\u017Cej x1200 nie jest oficjalnie u\u017Cywane przez Deezera, wi\u0119c mog\u0105 wyst\u0105pi\u0107 problemy."},tags:{head:"Kt\xF3re tagi zapisa\u0107",title:"Tytu\u0142",artist:"Artysta",album:"Album",cover:"Ok\u0142adka",trackNumber:"Numer utworu",trackTotal:"Liczba utwor\xF3w",discNumber:"Numer p\u0142yty",discTotal:"Liczba p\u0142yt",albumArtist:"Album Artist",genre:"Gatunek",year:"Rok",date:"Data",explicit:"Wulgarny tekst",isrc:"ISRC",length:"D\u0142ugo\u015B\u0107",barcode:"Kod kreskowy albumu (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Wytw\xF3rnia",lyrics:"Niezsynchronizowany tekst",syncedLyrics:"Zsynchronizowany tekst",copyright:"Prawa autorskie",composer:"Kompozytor",involvedPeople:"Zaanga\u017Cowane osoby"},other:{title:"Inne",savePlaylistAsCompilation:"Zapisz playlisty jako kompilacje",useNullSeparator:"U\u017Cyj separatora null",saveID3v1:"Zapisz ID3v1",multiArtistSeparator:{title:"Jak oddzieli\u0107 artyst\xF3w?",nothing:"Zapisz tylko g\u0142\xF3wnego artyst\u0119",default:"Standardowa specyfikacja",andFeat:"& i feat.",using:'U\u017Cywa "{separator}"'},singleAlbumArtist:"Zapisz tylko g\u0142\xF3wnego autora albumu",albumVariousArtists:'Zostaw "Various Artists" w autorach albumu',removeAlbumVersion:'Usu\u0144 "Album Version" z tytu\u0142u utworu',removeDuplicateArtists:"Usu\u0144 kombinacje artyst\xF3w",dateFormat:{title:"Format daty dla plik\xF3w FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Co zrobi\u0107 z dodatkowymi artystami?",0:"Nic",1:"Usu\u0144 z tytu\u0142u",3:"Usu\u0144 z tytu\u0142u i tytu\u0142u albumu",2:"Przenie\u015B do tytu\u0142u"},titleCasing:"Rozmiar liter tytu\u0142u",artistCasing:"Rozmiar liter artysty",casing:{nothing:"Zostaw",lower:"ma\u0142e litery",upper:"DU\u017BE LITERY",start:"Na Pocz\u0105tku Ka\u017Cdego S\u0142owa",sentence:"Jak w zdaniu"},previewVolume:"G\u0142o\u015Bno\u015B\u0107 podgl\u0105du",executeCommand:{title:"Polecenie do wykonania po pobraniu",description:"Zostaw puste, aby nic nie robi\u0107"}},spotify:{title:"Funkcje Spotify",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Nazwa u\u017Cytkownika",question:"Jak w\u0142\u0105czy\u0107 funkcje Spotify?"},reset:"Przywr\xF3\u0107 domy\u015Blne",save:"Zapisz",toasts:{init:"Za\u0142adowano ustawienia!",update:"Zaktualizowano ustawienia!",ARLcopied:"Skopiowano ARL do schowka"}},sidebar:{home:"strona g\u0142\xF3wna",search:"szukaj",charts:"wykresy",favorites:"ulubione",linkAnalyzer:"analiza link\xF3w",settings:"ustawienia",about:"informacje"},tracklist:{downloadSelection:"Pobierz wybrane"}},locales={it,en,es,de,fr,id,pt,pt_br,ru,tr,vn,hr,ar,ko,ph,zh_tw,pl};Vue.use(VueI18n);const storedLocale=localStorage.getItem("locale"),DEFAULT_LANG=storedLocale||"en";document.querySelector("html").setAttribute("lang",DEFAULT_LANG);const i18n=new VueI18n({locale:DEFAULT_LANG,fallbackLocale:"en",messages:locales,pluralizationRules:{ru:function(e,n){var a=Math.abs(e)%100,i=a%10;return a>10&&a<20?2:i>1&&i<5?1:i==1?0:2}}});/*! + * vue-router v3.5.1 + * (c) 2021 Evan You * @license MIT - */function extend$2(e,a){for(var n in a)e[n]=a[n];return e}var encodeReserveRE=/[!'()*]/g,encodeReserveReplacer=function(e){return"%"+e.charCodeAt(0).toString(16)},commaRE=/%2C/g,encode=function(e){return encodeURIComponent(e).replace(encodeReserveRE,encodeReserveReplacer).replace(commaRE,",")};function decode(e){try{return decodeURIComponent(e)}catch(a){}return e}function resolveQuery(e,a,n){a===void 0&&(a={});var r=n||parseQuery,i;try{i=r(e||"")}catch(c){i={}}for(var s in a){var l=a[s];i[s]=Array.isArray(l)?l.map(castQueryParamValue):castQueryParamValue(l)}return i}var castQueryParamValue=function(e){return e==null||typeof e=="object"?e:String(e)};function parseQuery(e){var a={};return e=e.trim().replace(/^(\?|#|&)/,""),e&&e.split("&").forEach(function(n){var r=n.replace(/\+/g," ").split("="),i=decode(r.shift()),s=r.length>0?decode(r.join("=")):null;a[i]===void 0?a[i]=s:Array.isArray(a[i])?a[i].push(s):a[i]=[a[i],s]}),a}function stringifyQuery(e){var a=e?Object.keys(e).map(function(n){var r=e[n];if(r===void 0)return"";if(r===null)return encode(n);if(Array.isArray(r)){var i=[];return r.forEach(function(s){if(s===void 0)return;s===null?i.push(encode(n)):i.push(encode(n)+"="+encode(s))}),i.join("&")}return encode(n)+"="+encode(r)}).filter(function(n){return n.length>0}).join("&"):null;return a?"?"+a:""}var trailingSlashRE=/\/?$/;function createRoute(e,a,n,r){var i=r&&r.options.stringifyQuery,s=a.query||{};try{s=clone(s)}catch(c){}var l={name:a.name||e&&e.name,meta:e&&e.meta||{},path:a.path||"/",hash:a.hash||"",query:s,params:a.params||{},fullPath:getFullPath(a,i),matched:e?formatMatch(e):[]};return n&&(l.redirectedFrom=getFullPath(n,i)),Object.freeze(l)}function clone(e){if(Array.isArray(e))return e.map(clone);if(e&&typeof e=="object"){var a={};for(var n in e)a[n]=clone(e[n]);return a}else return e}var START=createRoute(null,{path:"/"});function formatMatch(e){for(var a=[];e;)a.unshift(e),e=e.parent;return a}function getFullPath(e,a){var n=e.path,r=e.query;r===void 0&&(r={});var i=e.hash;i===void 0&&(i="");var s=a||stringifyQuery;return(n||"/")+s(r)+i}function isSameRoute(e,a){return a===START?e===a:a?e.path&&a.path?e.path.replace(trailingSlashRE,"")===a.path.replace(trailingSlashRE,"")&&e.hash===a.hash&&isObjectEqual(e.query,a.query):e.name&&a.name?e.name===a.name&&e.hash===a.hash&&isObjectEqual(e.query,a.query)&&isObjectEqual(e.params,a.params):!1:!1}function isObjectEqual(e,a){if(e===void 0&&(e={}),a===void 0&&(a={}),!e||!a)return e===a;var n=Object.keys(e).sort(),r=Object.keys(a).sort();return n.length!==r.length?!1:n.every(function(i,s){var l=e[i],c=r[s];if(c!==i)return!1;var o=a[i];return l==null||o==null?l===o:typeof l=="object"&&typeof o=="object"?isObjectEqual(l,o):String(l)===String(o)})}function isIncludedRoute(e,a){return e.path.replace(trailingSlashRE,"/").indexOf(a.path.replace(trailingSlashRE,"/"))===0&&(!a.hash||e.hash===a.hash)&&queryIncludes(e.query,a.query)}function queryIncludes(e,a){for(var n in a)if(!(n in e))return!1;return!0}function handleRouteEntered(e){for(var a=0;a=0&&(a=e.slice(r),e=e.slice(0,r));var i=e.indexOf("?");return i>=0&&(n=e.slice(i+1),e=e.slice(0,i)),{path:e,query:n,hash:a}}function cleanPath(e){return e.replace(/\/\//g,"/")}var isarray=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"},pathToRegexp_1=pathToRegexp,parse_1=parse$2,compile_1=compile$1,tokensToFunction_1=tokensToFunction,tokensToRegExp_1=tokensToRegExp,PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$2(e,a){for(var n=[],r=0,i=0,s="",l=a&&a.delimiter||"/",c;(c=PATH_REGEXP.exec(e))!=null;){var o=c[0],u=c[1],d=c.index;if(s+=e.slice(i,d),i=d+o.length,u){s+=u[1];continue}var f=e[i],h=c[2],m=c[3],b=c[4],T=c[5],M=c[6],R=c[7];s&&(n.push(s),s="");var $=h!=null&&f!=null&&f!==h,z=M==="+"||M==="*",C=M==="?"||M==="*",S=c[2]||l,A=b||T;n.push({name:m||r++,prefix:h||"",delimiter:S,optional:C,repeat:z,partial:$,asterisk:!!R,pattern:A?escapeGroup(A):R?".*":"[^"+escapeString(S)+"]+?"})}return i1||!S.length)return S.length===0?a():a("span",{},S)}if(this.tag==="a")C.on=z,C.attrs={href:o,"aria-current":R};else{var A=findAnchor(this.$slots.default);if(A){A.isStatic=!1;var w=A.data=extend$2({},A.data);w.on=w.on||{};for(var g in w.on){var v=w.on[g];g in z&&(w.on[g]=Array.isArray(v)?v:[v])}for(var k in z)k in w.on?w.on[k].push(z[k]):w.on[k]=$;var x=A.data.attrs=extend$2({},A.data.attrs);x.href=o,x["aria-current"]=R}else C.on=z}return a(this.tag,C,this.$slots.default)}};function guardEvent(e){if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;if(e.defaultPrevented)return;if(e.button!==void 0&&e.button!==0)return;if(e.currentTarget&&e.currentTarget.getAttribute){var a=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(a))return}return e.preventDefault&&e.preventDefault(),!0}function findAnchor(e){if(e)for(var a,n=0;n-1&&(b.params[$]=h.params[$]);return b.path=fillParams(M.path,b.params),d(M,b,m)}else if(b.path){b.params={};for(var z=0;z=e.length?n():e[i]?a(e[i],function(){r(i+1)}):r(i+1)};r(0)}var NavigationFailureType={redirected:2,aborted:4,cancelled:8,duplicated:16};function createNavigationRedirectedError(e,a){return createRouterError(e,a,NavigationFailureType.redirected,'Redirected when going from "'+e.fullPath+'" to "'+stringifyRoute(a)+'" via a navigation guard.')}function createNavigationDuplicatedError(e,a){var n=createRouterError(e,a,NavigationFailureType.duplicated,'Avoided redundant navigation to current location: "'+e.fullPath+'".');return n.name="NavigationDuplicated",n}function createNavigationCancelledError(e,a){return createRouterError(e,a,NavigationFailureType.cancelled,'Navigation cancelled from "'+e.fullPath+'" to "'+a.fullPath+'" with a new navigation.')}function createNavigationAbortedError(e,a){return createRouterError(e,a,NavigationFailureType.aborted,'Navigation aborted from "'+e.fullPath+'" to "'+a.fullPath+'" via a navigation guard.')}function createRouterError(e,a,n,r){var i=new Error(r);return i._isRouter=!0,i.from=e,i.to=a,i.type=n,i}var propertiesToLog=["params","query","hash"];function stringifyRoute(e){if(typeof e=="string")return e;if("path"in e)return e.path;var a={};return propertiesToLog.forEach(function(n){n in e&&(a[n]=e[n])}),JSON.stringify(a,null,2)}function isError(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function isNavigationFailure(e,a){return isError(e)&&e._isRouter&&(a==null||e.type===a)}function resolveAsyncComponents(e){return function(a,n,r){var i=!1,s=0,l=null;flatMapComponents(e,function(c,o,u,d){if(typeof c=="function"&&c.cid===void 0){i=!0,s++;var f=once$1(function(T){isESModule(T)&&(T=T.default),c.resolved=typeof T=="function"?T:_Vue.extend(T),u.components[d]=T,s--,s<=0&&r()}),h=once$1(function(T){var M="Failed to resolve async component "+d+": "+T;l||(l=isError(T)?T:new Error(M),r(l))}),m;try{m=c(f,h)}catch(T){h(T)}if(m)if(typeof m.then=="function")m.then(f,h);else{var b=m.component;b&&typeof b.then=="function"&&b.then(f,h)}}}),i||r()}}function flatMapComponents(e,a){return flatten(e.map(function(n){return Object.keys(n.components).map(function(r){return a(n.components[r],n.instances[r],n,r)})}))}function flatten(e){return Array.prototype.concat.apply([],e)}var hasSymbol$2=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function isESModule(e){return e.__esModule||hasSymbol$2&&e[Symbol.toStringTag]==="Module"}function once$1(e){var a=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];return a?void 0:(a=!0,e.apply(this,n))}}var History=function(a,n){this.router=a,this.base=normalizeBase(n),this.current=START,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};History.prototype.listen=function(a){this.cb=a},History.prototype.onReady=function(a,n){this.ready?a():(this.readyCbs.push(a),n&&this.readyErrorCbs.push(n))},History.prototype.onError=function(a){this.errorCbs.push(a)},History.prototype.transitionTo=function(a,n,r){var i=this,s;try{s=this.router.match(a,this.current)}catch(c){throw this.errorCbs.forEach(function(o){o(c)}),c}var l=this.current;this.confirmTransition(s,function(){i.updateRoute(s),n&&n(s),i.ensureURL(),i.router.afterHooks.forEach(function(c){c&&c(s,l)}),i.ready||(i.ready=!0,i.readyCbs.forEach(function(c){c(s)}))},function(c){r&&r(c),c&&!i.ready&&((!isNavigationFailure(c,NavigationFailureType.redirected)||l!==START)&&(i.ready=!0,i.readyErrorCbs.forEach(function(o){o(c)})))})},History.prototype.confirmTransition=function(a,n,r){var i=this,s=this.current;this.pending=a;var l=function(T){!isNavigationFailure(T)&&isError(T)&&(i.errorCbs.length?i.errorCbs.forEach(function(M){M(T)}):console.error(T)),r&&r(T)},c=a.matched.length-1,o=s.matched.length-1;if(isSameRoute(a,s)&&c===o&&a.matched[c]===s.matched[o])return this.ensureURL(),l(createNavigationDuplicatedError(s,a));var u=resolveQueue(this.current.matched,a.matched),d=u.updated,f=u.deactivated,h=u.activated,m=[].concat(extractLeaveGuards(f),this.router.beforeHooks,extractUpdateHooks(d),h.map(function(T){return T.beforeEnter}),resolveAsyncComponents(h)),b=function(T,M){if(i.pending!==a)return l(createNavigationCancelledError(s,a));try{T(a,s,function(R){R===!1?(i.ensureURL(!0),l(createNavigationAbortedError(s,a))):isError(R)?(i.ensureURL(!0),l(R)):typeof R=="string"||typeof R=="object"&&(typeof R.path=="string"||typeof R.name=="string")?(l(createNavigationRedirectedError(s,a)),typeof R=="object"&&R.replace?i.replace(R):i.push(R)):M(R)})}catch(R){l(R)}};runQueue(m,b,function(){var T=extractEnterGuards(h),M=T.concat(i.router.resolveHooks);runQueue(M,b,function(){if(i.pending!==a)return l(createNavigationCancelledError(s,a));i.pending=null,n(a),i.router.app&&i.router.app.$nextTick(function(){handleRouteEntered(a)})})})},History.prototype.updateRoute=function(a){this.current=a,this.cb&&this.cb(a)},History.prototype.setupListeners=function(){},History.prototype.teardown=function(){this.listeners.forEach(function(a){a()}),this.listeners=[],this.current=START,this.pending=null};function normalizeBase(e){if(!e)if(inBrowser$1){var a=document.querySelector("base");e=a&&a.getAttribute("href")||"/",e=e.replace(/^https?:\/\/[^\/]+/,"")}else e="/";return e.charAt(0)!=="/"&&(e="/"+e),e.replace(/\/$/,"")}function resolveQueue(e,a){var n,r=Math.max(e.length,a.length);for(n=0;n0)return;var i=this.router,s=i.options.scrollBehavior,l=supportsPushState&&s;l&&this.listeners.push(setupScroll());var c=function(){var o=r.current,u=getLocation(r.base);if(r.current===START&&u===r._startLocation)return;r.transitionTo(u,function(d){l&&handleScroll(i,d,o,!0)})};window.addEventListener("popstate",c),this.listeners.push(function(){window.removeEventListener("popstate",c)})},a.prototype.go=function(r){window.history.go(r)},a.prototype.push=function(r,i,s){var l=this,c=this,o=c.current;this.transitionTo(r,function(u){pushState(cleanPath(l.base+u.fullPath)),handleScroll(l.router,u,o,!1),i&&i(u)},s)},a.prototype.replace=function(r,i,s){var l=this,c=this,o=c.current;this.transitionTo(r,function(u){replaceState(cleanPath(l.base+u.fullPath)),handleScroll(l.router,u,o,!1),i&&i(u)},s)},a.prototype.ensureURL=function(r){if(getLocation(this.base)!==this.current.fullPath){var i=cleanPath(this.base+this.current.fullPath);r?pushState(i):replaceState(i)}},a.prototype.getCurrentLocation=function(){return getLocation(this.base)},a}(History);function getLocation(e){var a=window.location.pathname;return e&&a.toLowerCase().indexOf(e.toLowerCase())===0&&(a=a.slice(e.length)),(a||"/")+window.location.search+window.location.hash}var HashHistory=function(e){function a(n,r,i){if(e.call(this,n,r),i&&checkFallback(this.base))return;ensureSlash()}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.setupListeners=function(){var r=this;if(this.listeners.length>0)return;var i=this.router,s=i.options.scrollBehavior,l=supportsPushState&&s;l&&this.listeners.push(setupScroll());var c=function(){var u=r.current;if(!ensureSlash())return;r.transitionTo(getHash(),function(d){l&&handleScroll(r.router,d,u,!0),supportsPushState||replaceHash(d.fullPath)})},o=supportsPushState?"popstate":"hashchange";window.addEventListener(o,c),this.listeners.push(function(){window.removeEventListener(o,c)})},a.prototype.push=function(r,i,s){var l=this,c=this,o=c.current;this.transitionTo(r,function(u){pushHash(u.fullPath),handleScroll(l.router,u,o,!1),i&&i(u)},s)},a.prototype.replace=function(r,i,s){var l=this,c=this,o=c.current;this.transitionTo(r,function(u){replaceHash(u.fullPath),handleScroll(l.router,u,o,!1),i&&i(u)},s)},a.prototype.go=function(r){window.history.go(r)},a.prototype.ensureURL=function(r){var i=this.current.fullPath;getHash()!==i&&(r?pushHash(i):replaceHash(i))},a.prototype.getCurrentLocation=function(){return getHash()},a}(History);function checkFallback(e){var a=getLocation(e);if(!/^\/#/.test(a))return window.location.replace(cleanPath(e+"/#"+a)),!0}function ensureSlash(){var e=getHash();return e.charAt(0)==="/"?!0:(replaceHash("/"+e),!1)}function getHash(){var e=window.location.href,a=e.indexOf("#");return a<0?"":(e=e.slice(a+1),e)}function getUrl(e){var a=window.location.href,n=a.indexOf("#"),r=n>=0?a.slice(0,n):a;return r+"#"+e}function pushHash(e){supportsPushState?pushState(getUrl(e)):window.location.hash=e}function replaceHash(e){supportsPushState?replaceState(getUrl(e)):window.location.replace(getUrl(e))}var AbstractHistory=function(e){function a(n,r){e.call(this,n,r),this.stack=[],this.index=-1}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.push=function(r,i,s){var l=this;this.transitionTo(r,function(c){l.stack=l.stack.slice(0,l.index+1).concat(c),l.index++,i&&i(c)},s)},a.prototype.replace=function(r,i,s){var l=this;this.transitionTo(r,function(c){l.stack=l.stack.slice(0,l.index).concat(c),i&&i(c)},s)},a.prototype.go=function(r){var i=this,s=this.index+r;if(s<0||s>=this.stack.length)return;var l=this.stack[s];this.confirmTransition(l,function(){var c=i.current;i.index=s,i.updateRoute(l),i.router.afterHooks.forEach(function(o){o&&o(l,c)})},function(c){isNavigationFailure(c,NavigationFailureType.duplicated)&&(i.index=s)})},a.prototype.getCurrentLocation=function(){var r=this.stack[this.stack.length-1];return r?r.fullPath:"/"},a.prototype.ensureURL=function(){},a}(History),VueRouter=function(a){a===void 0&&(a={}),this.app=null,this.apps=[],this.options=a,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=createMatcher(a.routes||[],this);var n=a.mode||"hash";this.fallback=n==="history"&&!supportsPushState&&a.fallback!==!1,this.fallback&&(n="hash"),inBrowser$1||(n="abstract"),this.mode=n;switch(n){case"history":this.history=new HTML5History(this,a.base);break;case"hash":this.history=new HashHistory(this,a.base,this.fallback);break;case"abstract":this.history=new AbstractHistory(this,a.base);break}},prototypeAccessors$3={currentRoute:{configurable:!0}};VueRouter.prototype.match=function(a,n,r){return this.matcher.match(a,n,r)},prototypeAccessors$3.currentRoute.get=function(){return this.history&&this.history.current},VueRouter.prototype.init=function(a){var n=this;if(this.apps.push(a),a.$once("hook:destroyed",function(){var l=n.apps.indexOf(a);l>-1&&n.apps.splice(l,1),n.app===a&&(n.app=n.apps[0]||null),n.app||n.history.teardown()}),this.app)return;this.app=a;var r=this.history;if(r instanceof HTML5History||r instanceof HashHistory){var i=function(l){var c=r.current,o=n.options.scrollBehavior,u=supportsPushState&&o;u&&"fullPath"in l&&handleScroll(n,l,c,!1)},s=function(l){r.setupListeners(),i(l)};r.transitionTo(r.getCurrentLocation(),s,s)}r.listen(function(l){n.apps.forEach(function(c){c._route=l})})},VueRouter.prototype.beforeEach=function(a){return registerHook(this.beforeHooks,a)},VueRouter.prototype.beforeResolve=function(a){return registerHook(this.resolveHooks,a)},VueRouter.prototype.afterEach=function(a){return registerHook(this.afterHooks,a)},VueRouter.prototype.onReady=function(a,n){this.history.onReady(a,n)},VueRouter.prototype.onError=function(a){this.history.onError(a)},VueRouter.prototype.push=function(a,n,r){var i=this;if(!n&&!r&&typeof Promise!="undefined")return new Promise(function(s,l){i.history.push(a,s,l)});this.history.push(a,n,r)},VueRouter.prototype.replace=function(a,n,r){var i=this;if(!n&&!r&&typeof Promise!="undefined")return new Promise(function(s,l){i.history.replace(a,s,l)});this.history.replace(a,n,r)},VueRouter.prototype.go=function(a){this.history.go(a)},VueRouter.prototype.back=function(){this.go(-1)},VueRouter.prototype.forward=function(){this.go(1)},VueRouter.prototype.getMatchedComponents=function(a){var n=a?a.matched?a:this.resolve(a).route:this.currentRoute;return n?[].concat.apply([],n.matched.map(function(r){return Object.keys(r.components).map(function(i){return r.components[i]})})):[]},VueRouter.prototype.resolve=function(a,n,r){n=n||this.history.current;var i=normalizeLocation(a,n,r,this),s=this.match(i,n),l=s.redirectedFrom||s.fullPath,c=this.history.base,o=createHref(c,l,this.mode);return{location:i,route:s,href:o,normalizedTo:i,resolved:s}},VueRouter.prototype.addRoutes=function(a){this.matcher.addRoutes(a),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(VueRouter.prototype,prototypeAccessors$3);function registerHook(e,a){return e.push(a),function(){var n=e.indexOf(a);n>-1&&e.splice(n,1)}}function createHref(e,a,n){var r=n==="hash"?"#"+a:a;return e?cleanPath(e+"/"+r):r}VueRouter.install=install$3,VueRouter.version="3.4.9",VueRouter.isNavigationFailure=isNavigationFailure,VueRouter.NavigationFailureType=NavigationFailureType,inBrowser$1&&window.Vue&&window.Vue.use(VueRouter);const isOnline=ref$2(navigator.onLine);window.addEventListener("online",()=>{isOnline.value=!0}),window.addEventListener("offline",()=>{isOnline.value=!1});const useOnline=()=>({isOnline});var paypal=`\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -\r -`,ethereum='',script$9=defineComponent({setup(e,a){const n=reactive({current:null,latest:null,updateAvailable:!1,deemixVersion:null}),{isOnline:r}=useOnline();function i(l){const{currentCommit:c,latestCommit:o,updateAvailable:u,deemixVersion:d}=l;n.current=c,n.latest=o,n.updateAvailable=u,n.deemixVersion=d}const s=computed(()=>a.root.$store.getters.getAppInfo);return onMounted(()=>{i(s.value)}),{...toRefs(n),paypal,ethereum,isOnline:r}}});const __vue_script__$9=script$9;var __vue_render__$b=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"about_tab"}},[n("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.about")))]),e._v(" "),n("div",{staticClass:"inline-flex px-4 py-2 mb-8 rounded-full",class:{"bg-green-500":e.isOnline,"bg-red-500":!e.isOnline}},[n("span",{staticClass:"text-sm uppercase-first-letter"},[e._v(` + */function extend$2(e,n){for(var a in n)e[a]=n[a];return e}var encodeReserveRE=/[!'()*]/g,encodeReserveReplacer=function(e){return"%"+e.charCodeAt(0).toString(16)},commaRE=/%2C/g,encode=function(e){return encodeURIComponent(e).replace(encodeReserveRE,encodeReserveReplacer).replace(commaRE,",")};function decode(e){try{return decodeURIComponent(e)}catch(n){}return e}function resolveQuery(e,n,a){n===void 0&&(n={});var i=a||parseQuery,r;try{r=i(e||"")}catch(l){r={}}for(var s in n){var o=n[s];r[s]=Array.isArray(o)?o.map(castQueryParamValue):castQueryParamValue(o)}return r}var castQueryParamValue=function(e){return e==null||typeof e=="object"?e:String(e)};function parseQuery(e){var n={};return e=e.trim().replace(/^(\?|#|&)/,""),e&&e.split("&").forEach(function(a){var i=a.replace(/\+/g," ").split("="),r=decode(i.shift()),s=i.length>0?decode(i.join("=")):null;n[r]===void 0?n[r]=s:Array.isArray(n[r])?n[r].push(s):n[r]=[n[r],s]}),n}function stringifyQuery(e){var n=e?Object.keys(e).map(function(a){var i=e[a];if(i===void 0)return"";if(i===null)return encode(a);if(Array.isArray(i)){var r=[];return i.forEach(function(s){s!==void 0&&(s===null?r.push(encode(a)):r.push(encode(a)+"="+encode(s)))}),r.join("&")}return encode(a)+"="+encode(i)}).filter(function(a){return a.length>0}).join("&"):null;return n?"?"+n:""}var trailingSlashRE=/\/?$/;function createRoute(e,n,a,i){var r=i&&i.options.stringifyQuery,s=n.query||{};try{s=clone(s)}catch(l){}var o={name:n.name||e&&e.name,meta:e&&e.meta||{},path:n.path||"/",hash:n.hash||"",query:s,params:n.params||{},fullPath:getFullPath(n,r),matched:e?formatMatch(e):[]};return a&&(o.redirectedFrom=getFullPath(a,r)),Object.freeze(o)}function clone(e){if(Array.isArray(e))return e.map(clone);if(e&&typeof e=="object"){var n={};for(var a in e)n[a]=clone(e[a]);return n}else return e}var START=createRoute(null,{path:"/"});function formatMatch(e){for(var n=[];e;)n.unshift(e),e=e.parent;return n}function getFullPath(e,n){var a=e.path,i=e.query;i===void 0&&(i={});var r=e.hash;r===void 0&&(r="");var s=n||stringifyQuery;return(a||"/")+s(i)+r}function isSameRoute(e,n,a){return n===START?e===n:n?e.path&&n.path?e.path.replace(trailingSlashRE,"")===n.path.replace(trailingSlashRE,"")&&(a||e.hash===n.hash&&isObjectEqual(e.query,n.query)):e.name&&n.name?e.name===n.name&&(a||e.hash===n.hash&&isObjectEqual(e.query,n.query)&&isObjectEqual(e.params,n.params)):!1:!1}function isObjectEqual(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),!e||!n)return e===n;var a=Object.keys(e).sort(),i=Object.keys(n).sort();return a.length!==i.length?!1:a.every(function(r,s){var o=e[r],l=i[s];if(l!==r)return!1;var c=n[r];return o==null||c==null?o===c:typeof o=="object"&&typeof c=="object"?isObjectEqual(o,c):String(o)===String(c)})}function isIncludedRoute(e,n){return e.path.replace(trailingSlashRE,"/").indexOf(n.path.replace(trailingSlashRE,"/"))===0&&(!n.hash||e.hash===n.hash)&&queryIncludes(e.query,n.query)}function queryIncludes(e,n){for(var a in n)if(!(a in e))return!1;return!0}function handleRouteEntered(e){for(var n=0;n=0&&(n=e.slice(i),e=e.slice(0,i));var r=e.indexOf("?");return r>=0&&(a=e.slice(r+1),e=e.slice(0,r)),{path:e,query:a,hash:n}}function cleanPath(e){return e.replace(/\/\//g,"/")}var isarray=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"},pathToRegexp_1=pathToRegexp,parse_1=parse$2,compile_1=compile$1,tokensToFunction_1=tokensToFunction,tokensToRegExp_1=tokensToRegExp,PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$2(e,n){for(var a=[],i=0,r=0,s="",o=n&&n.delimiter||"/",l;(l=PATH_REGEXP.exec(e))!=null;){var c=l[0],u=l[1],d=l.index;if(s+=e.slice(r,d),r=d+c.length,u){s+=u[1];continue}var f=e[r],h=l[2],m=l[3],v=l[4],y=l[5],_=l[6],w=l[7];s&&(a.push(s),s="");var A=h!=null&&f!=null&&f!==h,S=_==="+"||_==="*",M=_==="?"||_==="*",P=l[2]||o,z=v||y;a.push({name:m||i++,prefix:h||"",delimiter:P,optional:M,repeat:S,partial:A,asterisk:!!w,pattern:z?escapeGroup(z):w?".*":"[^"+escapeString(P)+"]+?"})}return r1||!P.length)return P.length===0?n():n("span",{},P)}if(this.tag==="a")M.on=S,M.attrs={href:c,"aria-current":w};else{var z=findAnchor(this.$slots.default);if(z){z.isStatic=!1;var C=z.data=extend$2({},z.data);C.on=C.on||{};for(var N in C.on){var j=C.on[N];N in S&&(C.on[N]=Array.isArray(j)?j:[j])}for(var E in S)E in C.on?C.on[E].push(S[E]):C.on[E]=A;var R=z.data.attrs=extend$2({},z.data.attrs);R.href=c,R["aria-current"]=w}else M.on=S}return n(this.tag,M,this.$slots.default)}};function guardEvent(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){var n=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(n))return}return e.preventDefault&&e.preventDefault(),!0}}function findAnchor(e){if(e){for(var n,a=0;a-1&&(_.params[M]=v.params[M]);return _.path=fillParams(A.path,_.params),h(A,_,y)}else if(_.path){_.params={};for(var P=0;P=e.length?a():e[r]?n(e[r],function(){i(r+1)}):i(r+1)};i(0)}var NavigationFailureType={redirected:2,aborted:4,cancelled:8,duplicated:16};function createNavigationRedirectedError(e,n){return createRouterError(e,n,NavigationFailureType.redirected,'Redirected when going from "'+e.fullPath+'" to "'+stringifyRoute(n)+'" via a navigation guard.')}function createNavigationDuplicatedError(e,n){var a=createRouterError(e,n,NavigationFailureType.duplicated,'Avoided redundant navigation to current location: "'+e.fullPath+'".');return a.name="NavigationDuplicated",a}function createNavigationCancelledError(e,n){return createRouterError(e,n,NavigationFailureType.cancelled,'Navigation cancelled from "'+e.fullPath+'" to "'+n.fullPath+'" with a new navigation.')}function createNavigationAbortedError(e,n){return createRouterError(e,n,NavigationFailureType.aborted,'Navigation aborted from "'+e.fullPath+'" to "'+n.fullPath+'" via a navigation guard.')}function createRouterError(e,n,a,i){var r=new Error(i);return r._isRouter=!0,r.from=e,r.to=n,r.type=a,r}var propertiesToLog=["params","query","hash"];function stringifyRoute(e){if(typeof e=="string")return e;if("path"in e)return e.path;var n={};return propertiesToLog.forEach(function(a){a in e&&(n[a]=e[a])}),JSON.stringify(n,null,2)}function isError(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function isNavigationFailure(e,n){return isError(e)&&e._isRouter&&(n==null||e.type===n)}function resolveAsyncComponents(e){return function(n,a,i){var r=!1,s=0,o=null;flatMapComponents(e,function(l,c,u,d){if(typeof l=="function"&&l.cid===void 0){r=!0,s++;var f=once$1(function(y){isESModule(y)&&(y=y.default),l.resolved=typeof y=="function"?y:_Vue.extend(y),u.components[d]=y,s--,s<=0&&i()}),h=once$1(function(y){var _="Failed to resolve async component "+d+": "+y;o||(o=isError(y)?y:new Error(_),i(o))}),m;try{m=l(f,h)}catch(y){h(y)}if(m)if(typeof m.then=="function")m.then(f,h);else{var v=m.component;v&&typeof v.then=="function"&&v.then(f,h)}}}),r||i()}}function flatMapComponents(e,n){return flatten(e.map(function(a){return Object.keys(a.components).map(function(i){return n(a.components[i],a.instances[i],a,i)})}))}function flatten(e){return Array.prototype.concat.apply([],e)}var hasSymbol$2=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function isESModule(e){return e.__esModule||hasSymbol$2&&e[Symbol.toStringTag]==="Module"}function once$1(e){var n=!1;return function(){for(var a=[],i=arguments.length;i--;)a[i]=arguments[i];if(!n)return n=!0,e.apply(this,a)}}var History=function(n,a){this.router=n,this.base=normalizeBase(a),this.current=START,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};History.prototype.listen=function(n){this.cb=n},History.prototype.onReady=function(n,a){this.ready?n():(this.readyCbs.push(n),a&&this.readyErrorCbs.push(a))},History.prototype.onError=function(n){this.errorCbs.push(n)},History.prototype.transitionTo=function(n,a,i){var r=this,s;try{s=this.router.match(n,this.current)}catch(l){throw this.errorCbs.forEach(function(c){c(l)}),l}var o=this.current;this.confirmTransition(s,function(){r.updateRoute(s),a&&a(s),r.ensureURL(),r.router.afterHooks.forEach(function(l){l&&l(s,o)}),r.ready||(r.ready=!0,r.readyCbs.forEach(function(l){l(s)}))},function(l){i&&i(l),l&&!r.ready&&(!isNavigationFailure(l,NavigationFailureType.redirected)||o!==START)&&(r.ready=!0,r.readyErrorCbs.forEach(function(c){c(l)}))})},History.prototype.confirmTransition=function(n,a,i){var r=this,s=this.current;this.pending=n;var o=function(y){!isNavigationFailure(y)&&isError(y)&&(r.errorCbs.length?r.errorCbs.forEach(function(_){_(y)}):console.error(y)),i&&i(y)},l=n.matched.length-1,c=s.matched.length-1;if(isSameRoute(n,s)&&l===c&&n.matched[l]===s.matched[c])return this.ensureURL(),o(createNavigationDuplicatedError(s,n));var u=resolveQueue(this.current.matched,n.matched),d=u.updated,f=u.deactivated,h=u.activated,m=[].concat(extractLeaveGuards(f),this.router.beforeHooks,extractUpdateHooks(d),h.map(function(y){return y.beforeEnter}),resolveAsyncComponents(h)),v=function(y,_){if(r.pending!==n)return o(createNavigationCancelledError(s,n));try{y(n,s,function(w){w===!1?(r.ensureURL(!0),o(createNavigationAbortedError(s,n))):isError(w)?(r.ensureURL(!0),o(w)):typeof w=="string"||typeof w=="object"&&(typeof w.path=="string"||typeof w.name=="string")?(o(createNavigationRedirectedError(s,n)),typeof w=="object"&&w.replace?r.replace(w):r.push(w)):_(w)})}catch(w){o(w)}};runQueue(m,v,function(){var y=extractEnterGuards(h),_=y.concat(r.router.resolveHooks);runQueue(_,v,function(){if(r.pending!==n)return o(createNavigationCancelledError(s,n));r.pending=null,a(n),r.router.app&&r.router.app.$nextTick(function(){handleRouteEntered(n)})})})},History.prototype.updateRoute=function(n){this.current=n,this.cb&&this.cb(n)},History.prototype.setupListeners=function(){},History.prototype.teardown=function(){this.listeners.forEach(function(n){n()}),this.listeners=[],this.current=START,this.pending=null};function normalizeBase(e){if(!e)if(inBrowser$1){var n=document.querySelector("base");e=n&&n.getAttribute("href")||"/",e=e.replace(/^https?:\/\/[^\/]+/,"")}else e="/";return e.charAt(0)!=="/"&&(e="/"+e),e.replace(/\/$/,"")}function resolveQueue(e,n){var a,i=Math.max(e.length,n.length);for(a=0;a0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var c=i.current,u=getLocation(i.base);i.current===START&&u===i._startLocation||i.transitionTo(u,function(d){o&&handleScroll(r,d,c,!0)})};window.addEventListener("popstate",l),this.listeners.push(function(){window.removeEventListener("popstate",l)})}},n.prototype.go=function(i){window.history.go(i)},n.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},n.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},n.prototype.ensureURL=function(i){if(getLocation(this.base)!==this.current.fullPath){var r=cleanPath(this.base+this.current.fullPath);i?pushState(r):replaceState(r)}},n.prototype.getCurrentLocation=function(){return getLocation(this.base)},n}(History);function getLocation(e){var n=window.location.pathname;return e&&n.toLowerCase().indexOf(e.toLowerCase())===0&&(n=n.slice(e.length)),(n||"/")+window.location.search+window.location.hash}var HashHistory=function(e){function n(a,i,r){e.call(this,a,i),!(r&&checkFallback(this.base))&&ensureSlash()}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.setupListeners=function(){var i=this;if(!(this.listeners.length>0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var u=i.current;!ensureSlash()||i.transitionTo(getHash(),function(d){o&&handleScroll(i.router,d,u,!0),supportsPushState||replaceHash(d.fullPath)})},c=supportsPushState?"popstate":"hashchange";window.addEventListener(c,l),this.listeners.push(function(){window.removeEventListener(c,l)})}},n.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},n.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},n.prototype.go=function(i){window.history.go(i)},n.prototype.ensureURL=function(i){var r=this.current.fullPath;getHash()!==r&&(i?pushHash(r):replaceHash(r))},n.prototype.getCurrentLocation=function(){return getHash()},n}(History);function checkFallback(e){var n=getLocation(e);if(!/^\/#/.test(n))return window.location.replace(cleanPath(e+"/#"+n)),!0}function ensureSlash(){var e=getHash();return e.charAt(0)==="/"?!0:(replaceHash("/"+e),!1)}function getHash(){var e=window.location.href,n=e.indexOf("#");return n<0?"":(e=e.slice(n+1),e)}function getUrl(e){var n=window.location.href,a=n.indexOf("#"),i=a>=0?n.slice(0,a):n;return i+"#"+e}function pushHash(e){supportsPushState?pushState(getUrl(e)):window.location.hash=e}function replaceHash(e){supportsPushState?replaceState(getUrl(e)):window.location.replace(getUrl(e))}var AbstractHistory=function(e){function n(a,i){e.call(this,a,i),this.stack=[],this.index=-1}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.push=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index+1).concat(l),o.index++,r&&r(l)},s)},n.prototype.replace=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index).concat(l),r&&r(l)},s)},n.prototype.go=function(i){var r=this,s=this.index+i;if(!(s<0||s>=this.stack.length)){var o=this.stack[s];this.confirmTransition(o,function(){var l=r.current;r.index=s,r.updateRoute(o),r.router.afterHooks.forEach(function(c){c&&c(o,l)})},function(l){isNavigationFailure(l,NavigationFailureType.duplicated)&&(r.index=s)})}},n.prototype.getCurrentLocation=function(){var i=this.stack[this.stack.length-1];return i?i.fullPath:"/"},n.prototype.ensureURL=function(){},n}(History),VueRouter=function(n){n===void 0&&(n={}),this.app=null,this.apps=[],this.options=n,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=createMatcher(n.routes||[],this);var a=n.mode||"hash";switch(this.fallback=a==="history"&&!supportsPushState&&n.fallback!==!1,this.fallback&&(a="hash"),inBrowser$1||(a="abstract"),this.mode=a,a){case"history":this.history=new HTML5History(this,n.base);break;case"hash":this.history=new HashHistory(this,n.base,this.fallback);break;case"abstract":this.history=new AbstractHistory(this,n.base);break}},prototypeAccessors$3={currentRoute:{configurable:!0}};VueRouter.prototype.match=function(n,a,i){return this.matcher.match(n,a,i)},prototypeAccessors$3.currentRoute.get=function(){return this.history&&this.history.current},VueRouter.prototype.init=function(n){var a=this;if(this.apps.push(n),n.$once("hook:destroyed",function(){var o=a.apps.indexOf(n);o>-1&&a.apps.splice(o,1),a.app===n&&(a.app=a.apps[0]||null),a.app||a.history.teardown()}),!this.app){this.app=n;var i=this.history;if(i instanceof HTML5History||i instanceof HashHistory){var r=function(o){var l=i.current,c=a.options.scrollBehavior,u=supportsPushState&&c;u&&"fullPath"in o&&handleScroll(a,o,l,!1)},s=function(o){i.setupListeners(),r(o)};i.transitionTo(i.getCurrentLocation(),s,s)}i.listen(function(o){a.apps.forEach(function(l){l._route=o})})}},VueRouter.prototype.beforeEach=function(n){return registerHook(this.beforeHooks,n)},VueRouter.prototype.beforeResolve=function(n){return registerHook(this.resolveHooks,n)},VueRouter.prototype.afterEach=function(n){return registerHook(this.afterHooks,n)},VueRouter.prototype.onReady=function(n,a){this.history.onReady(n,a)},VueRouter.prototype.onError=function(n){this.history.onError(n)},VueRouter.prototype.push=function(n,a,i){var r=this;if(!a&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.push(n,s,o)});this.history.push(n,a,i)},VueRouter.prototype.replace=function(n,a,i){var r=this;if(!a&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.replace(n,s,o)});this.history.replace(n,a,i)},VueRouter.prototype.go=function(n){this.history.go(n)},VueRouter.prototype.back=function(){this.go(-1)},VueRouter.prototype.forward=function(){this.go(1)},VueRouter.prototype.getMatchedComponents=function(n){var a=n?n.matched?n:this.resolve(n).route:this.currentRoute;return a?[].concat.apply([],a.matched.map(function(i){return Object.keys(i.components).map(function(r){return i.components[r]})})):[]},VueRouter.prototype.resolve=function(n,a,i){a=a||this.history.current;var r=normalizeLocation(n,a,i,this),s=this.match(r,a),o=s.redirectedFrom||s.fullPath,l=this.history.base,c=createHref(l,o,this.mode);return{location:r,route:s,href:c,normalizedTo:r,resolved:s}},VueRouter.prototype.getRoutes=function(){return this.matcher.getRoutes()},VueRouter.prototype.addRoute=function(n,a){this.matcher.addRoute(n,a),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},VueRouter.prototype.addRoutes=function(n){this.matcher.addRoutes(n),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(VueRouter.prototype,prototypeAccessors$3);function registerHook(e,n){return e.push(n),function(){var a=e.indexOf(n);a>-1&&e.splice(a,1)}}function createHref(e,n,a){var i=a==="hash"?"#"+n:n;return e?cleanPath(e+"/"+i):i}VueRouter.install=install$3,VueRouter.version="3.5.1",VueRouter.isNavigationFailure=isNavigationFailure,VueRouter.NavigationFailureType=NavigationFailureType,VueRouter.START_LOCATION=START,inBrowser$1&&window.Vue&&window.Vue.use(VueRouter);const isOnline=ref$2(navigator.onLine);window.addEventListener("online",()=>{isOnline.value=!0}),window.addEventListener("offline",()=>{isOnline.value=!1});const useOnline=()=>({isOnline});var paypal=` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`,ethereum='',script$9=defineComponent({setup(e,n){const a=reactive({current:null,latest:null,updateAvailable:!1,deemixVersion:null}),{isOnline:i}=useOnline();function r(o){const{currentCommit:l,latestCommit:c,updateAvailable:u,deemixVersion:d}=o;a.current=l,a.latest=c,a.updateAvailable=u,a.deemixVersion=d}const s=computed(()=>n.root.$store.getters.getAppInfo);return onMounted(()=>{r(s.value)}),{...toRefs(a),paypal,ethereum,isOnline:i}}});const __vue_script__$9=script$9;var __vue_render__$b=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{attrs:{id:"about_tab"}},[a("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.about")))]),e._v(" "),a("div",{staticClass:"inline-flex px-4 py-2 mb-8 rounded-full",class:{"bg-green-500":e.isOnline,"bg-red-500":!e.isOnline}},[a("span",{staticClass:"text-sm uppercase-first-letter"},[e._v(` `+e._s(e.$t("about.appStatus."+(e.isOnline?"online":"offline")))+` - `)])]),e._v(" "),n("ul",[n("li",[e._v(` + `)])]),e._v(" "),a("ul",[a("li",[e._v(` `+e._s(e.$t("about.updates.currentWebuiVersion"))+`: - `),n("span",[e._v(e._s("1.6.0"))])]),e._v(" "),n("li",[e._v(` + `),a("span",[e._v(e._s("1.6.0"))])]),e._v(" "),a("li",[e._v(` `+e._s(e.$t("about.updates.currentVersion"))+`: - `),n("span",[e._v(e._s(e.current||e.$t("about.updates.versionNotAvailable")))])]),e._v(" "),n("li",[e._v(e._s(e.$t("about.updates.deemixVersion"))+": "+e._s(e.deemixVersion))]),e._v(" "),e.updateAvailable&&e.latest?n("li",[e._v(e._s(e.$t("about.updates.updateAvailable",{version:e.latest})))]):e._e()]),e._v(" "),n("ul",[n("li",{domProps:{innerHTML:e._s(e.$t("about.usesLibrary"))}}),e._v(" "),n("li",{domProps:{innerHTML:e._s(e.$t("about.thanks"))}}),e._v(" "),n("i18n",{attrs:{path:"about.upToDate.text",tag:"li"},scopedSlots:e._u([{key:"newsChannel",fn:function(){return[n("a",{attrs:{href:"https://t.me/RemixDevNews",target:"_blank"}},[e._v(e._s(e.$t("about.upToDate.newsChannel")))])]},proxy:!0}])})],1),e._v(" "),n("h2",[e._v(e._s(e.$t("about.titles.usefulLinks")))]),e._v(" "),n("ul",{staticClass:"no-dots"},[n("li",[n("a",{attrs:{href:"https://git.rip/RemixDev/deemix",target:"_blank"}},[e._v("\u{1F680} "+e._s(e.$t("about.officialRepo")))])]),e._v(" "),n("li",[n("a",{attrs:{href:"https://git.rip/RemixDev/deemix-webui",target:"_blank"}},[e._v(` + `),a("span",[e._v(e._s(e.current||e.$t("about.updates.versionNotAvailable")))])]),e._v(" "),a("li",[e._v(e._s(e.$t("about.updates.deemixVersion"))+": "+e._s(e.deemixVersion))]),e._v(" "),e.updateAvailable&&e.latest?a("li",[e._v(e._s(e.$t("about.updates.updateAvailable",{version:e.latest})))]):e._e()]),e._v(" "),a("ul",[a("li",{domProps:{innerHTML:e._s(e.$t("about.usesLibrary"))}}),e._v(" "),a("li",{domProps:{innerHTML:e._s(e.$t("about.thanks"))}}),e._v(" "),a("i18n",{attrs:{path:"about.upToDate.text",tag:"li"},scopedSlots:e._u([{key:"newsChannel",fn:function(){return[a("a",{attrs:{href:"https://t.me/RemixDevNews",target:"_blank"}},[e._v(e._s(e.$t("about.upToDate.newsChannel")))])]},proxy:!0}])})],1),e._v(" "),a("h2",[e._v(e._s(e.$t("about.titles.usefulLinks")))]),e._v(" "),a("ul",{staticClass:"no-dots"},[a("li",[a("a",{attrs:{href:"https://git.rip/RemixDev/deemix",target:"_blank"}},[e._v("\u{1F680} "+e._s(e.$t("about.officialRepo")))])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://git.rip/RemixDev/deemix-webui",target:"_blank"}},[e._v(` \u{1F4BB} `+e._s(e.$t("about.officialWebuiRepo"))+` - `)])]),e._v(" "),n("li",[n("a",{attrs:{href:"https://www.reddit.com/r/deemix",target:"_blank"}},[e._v("\u{1F916} "+e._s(e.$t("about.officialSubreddit")))])]),e._v(" "),n("li",[n("a",{attrs:{href:"https://t.me/RemixDevNews",target:"_blank"}},[e._v("\u{1F4F0} "+e._s(e.$t("about.newsChannel")))])])]),e._v(" "),n("h2",[e._v(` + `)])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://www.reddit.com/r/deemix",target:"_blank"}},[e._v("\u{1F916} "+e._s(e.$t("about.officialSubreddit")))])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://t.me/RemixDevNews",target:"_blank"}},[e._v("\u{1F4F0} "+e._s(e.$t("about.newsChannel")))])])]),e._v(" "),a("h2",[e._v(` `+e._s(e.$t("about.titles.bugReports"))+` - `),n("span",{staticClass:"subheading"},[e._v(` + `),a("span",{staticClass:"subheading"},[e._v(` `+e._s(e.$t("about.subtitles.bugReports"))+` - `)])]),e._v(" "),n("ul",[n("i18n",{attrs:{path:"about.questions.text",tag:"li"},scopedSlots:e._u([{key:"subreddit",fn:function(){return[n("a",{attrs:{href:"https://www.reddit.com/r/deemix",target:"_blank"}},[e._v(e._s(e.$t("about.questions.subreddit")))])]},proxy:!0}])}),e._v(" "),n("li",[e._v(` + `)])]),e._v(" "),a("ul",[a("i18n",{attrs:{path:"about.questions.text",tag:"li"},scopedSlots:e._u([{key:"subreddit",fn:function(){return[a("a",{attrs:{href:"https://www.reddit.com/r/deemix",target:"_blank"}},[e._v(e._s(e.$t("about.questions.subreddit")))])]},proxy:!0}])}),e._v(" "),a("li",[e._v(` `+e._s(e.$t("about.beforeReporting"))+` - `)]),e._v(" "),n("li",{domProps:{innerHTML:e._s(e.$t("about.beSure"))}}),e._v(" "),n("li",[e._v(` + `)]),e._v(" "),a("li",{domProps:{innerHTML:e._s(e.$t("about.beSure"))}}),e._v(" "),a("li",[e._v(` `+e._s(e.$t("about.duplicateReports"))+` - `)]),e._v(" "),n("li",{domProps:{innerHTML:e._s(e.$t("about.dontOpenIssues"))}})],1),e._v(" "),n("h2",[e._v(` + `)]),e._v(" "),a("li",{domProps:{innerHTML:e._s(e.$t("about.dontOpenIssues"))}})],1),e._v(" "),a("h2",[e._v(` `+e._s(e.$t("about.titles.contributing"))+` - `),n("span",{staticClass:"subheading"},[e._v(` + `),a("span",{staticClass:"subheading"},[e._v(` `+e._s(e.$t("about.subtitles.contributing"))+` - `)])]),e._v(" "),n("ul",[n("i18n",{attrs:{path:"about.newUI.text",tag:"li"},scopedSlots:e._u([{key:"repo",fn:function(){return[n("span",[e._v(e._s(e.$t("about.newUI.repo")))])]},proxy:!0}])}),e._v(" "),n("li",[e._v(` + `)])]),e._v(" "),a("ul",[a("i18n",{attrs:{path:"about.newUI.text",tag:"li"},scopedSlots:e._u([{key:"repo",fn:function(){return[a("span",[e._v(e._s(e.$t("about.newUI.repo")))])]},proxy:!0}])}),e._v(" "),a("li",[e._v(` `+e._s(e.$t("about.acceptFeatures"))+` - `)]),e._v(" "),n("i18n",{attrs:{path:"about.contributeWebUI.text",tag:"li"},scopedSlots:e._u([{key:"webui",fn:function(){return[n("span",[e._v(e._s(e.$t("about.contributeWebUI.webui")))])]},proxy:!0}])}),e._v(" "),n("li",[e._v(` + `)]),e._v(" "),a("i18n",{attrs:{path:"about.contributeWebUI.text",tag:"li"},scopedSlots:e._u([{key:"webui",fn:function(){return[a("span",[e._v(e._s(e.$t("about.contributeWebUI.webui")))])]},proxy:!0}])}),e._v(" "),a("li",[e._v(` `+e._s(e.$t("about.otherLanguages"))+` - `)]),e._v(" "),n("li",[e._v(` + `)]),e._v(" "),a("li",[e._v(` `+e._s(e.$t("about.understandingCode"))+` - `)])],1),e._v(" "),n("h2",[e._v(` + `)])],1),e._v(" "),a("h2",[e._v(` `+e._s(e.$t("about.titles.donations"))+` - `),n("span",{staticClass:"subheading"},[e._v(` + `),a("span",{staticClass:"subheading"},[e._v(` `+e._s(e.$t("about.subtitles.donations"))+` - `)])]),e._v(" "),n("ul",[n("li",{domProps:{innerHTML:e._s(e.$t("about.itsFree"))}}),e._v(" "),n("li",[e._v(` + `)])]),e._v(" "),a("ul",[a("li",{domProps:{innerHTML:e._s(e.$t("about.itsFree"))}}),e._v(" "),a("li",[e._v(` `+e._s(e.$t("about.notObligated"))+` - `)])]),e._v(" "),n("ul",[n("li",[n("i",{domProps:{innerHTML:e._s(e.paypal)}}),e._v(" "),n("strong",[e._v("PayPal:")]),e._v(" "),n("a",{attrs:{href:"https://paypal.me/RemixDev",target:"_blank"}},[e._v("PayPal.me/RemixDev")])]),e._v(" "),n("li",[n("i",{staticClass:"ethereum",domProps:{innerHTML:e._s(e.ethereum)}}),e._v(" "),n("strong",[e._v("Ethereum:")]),e._v(` 0x1d2aa67e671485CD4062289772B662e0A6Ff976c - `)])]),e._v(" "),n("h2",[e._v(e._s(e.$t("about.titles.license")))]),e._v(" "),e._m(0),e._v(" "),n("i18n",{attrs:{path:"about.lincensedUnder.text",tag:"p"},scopedSlots:e._u([{key:"gpl3",fn:function(){return[n("a",{attrs:{rel:"license",href:"https://www.gnu.org/licenses/gpl-3.0.en.html",target:"_blank"}},[e._v(e._s(e.$t("about.lincensedUnder.gpl3")))])]},proxy:!0}])})],1)},__vue_staticRenderFns__$b=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",[n("a",{attrs:{rel:"license",href:"https://www.gnu.org/licenses/gpl-3.0.en.html",target:"_blank"}},[n("img",{staticStyle:{"border-width":"0"},attrs:{alt:"GNU General Public License",src:"https://www.gnu.org/graphics/gplv3-127x51.png"}})])])}];const __vue_inject_styles__$b=function(e){if(!e)return;e("data-v-76112976_0",{source:`@charset "UTF-8";a[data-v-76112976],li[data-v-76112976],p[data-v-76112976]{letter-spacing:.4px;font-size:20px;line-height:1.2}i[data-v-76112976]{vertical-align:middle}i[data-v-76112976] svg{fill:#fff;width:20px}.ethereum[data-v-76112976] svg{fill:var(--foreground)}[data-v-76112976]:link{text-decoration:none}#about_tab[data-v-76112976]{margin-bottom:40px}h2[data-v-76112976]{text-transform:capitalize}h2[data-v-76112976]:not(.page_heading){font-size:2rem;border-bottom:1px solid rgba(51,51,51,.25);padding-top:2rem;padding-bottom:1rem}h2 .subheading[data-v-76112976]{display:block;font-size:.5em;margin-top:.5em;font-weight:400;opacity:.8;text-transform:none}p[data-v-76112976]{margin:0!important}ul li[data-v-76112976]{margin-bottom:7px}h2+ul[data-v-76112976]{margin-top:1rem}ul+ul[data-v-76112976]{margin-top:1.25rem}ul.no-dots[data-v-76112976]{list-style-type:none}ul[data-v-76112976]:not(.no-dots){list-style-type:none}ul:not(.no-dots) li[data-v-76112976]{position:relative}ul:not(.no-dots) li[data-v-76112976]::before{content:'\u2014';position:absolute;left:-30px;opacity:.25}`,map:void 0,media:void 0})},__vue_scope_id__$b="data-v-76112976",__vue_module_identifier__$a=void 0,__vue_is_functional_template__$b=!1;function __vue_normalize__$b(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="About.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$a(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$a.styles||(__vue_create_injector__$a.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var About=__vue_normalize__$b({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$9,__vue_scope_id__$b,__vue_is_functional_template__$b,__vue_module_identifier__$a,__vue_create_injector__$a),script$a={};const __vue_script__$a=script$a;var __vue_render__$c=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.login.arl.question")))]),e._v(" "),e._m(0),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome (Easy way)")]),e._v(" "),e._m(1),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome")]),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Firefox")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$c=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Deezer keeps track of login session by using a cookie called ARL.`),n("br"),e._v(` - deemix uses that cookie to get the metadata that it needs to download the tracks from Deezer.`),n("br"),e._v(` - ARLs last for 3 months, after that Deezer asks you to log in again. The same method is used in deemix`),n("br"),e._v(` + `)])]),e._v(" "),a("ul",[a("li",[a("i",{domProps:{innerHTML:e._s(e.paypal)}}),e._v(" "),a("strong",[e._v("PayPal:")]),e._v(" "),a("a",{attrs:{href:"https://paypal.me/RemixDev",target:"_blank"}},[e._v("PayPal.me/RemixDev")])]),e._v(" "),a("li",[a("i",{staticClass:"ethereum",domProps:{innerHTML:e._s(e.ethereum)}}),e._v(" "),a("strong",[e._v("Ethereum:")]),e._v(` 0x1d2aa67e671485CD4062289772B662e0A6Ff976c + `)])]),e._v(" "),a("h2",[e._v(e._s(e.$t("about.titles.license")))]),e._v(" "),e._m(0),e._v(" "),a("i18n",{attrs:{path:"about.lincensedUnder.text",tag:"p"},scopedSlots:e._u([{key:"gpl3",fn:function(){return[a("a",{attrs:{rel:"license",href:"https://www.gnu.org/licenses/gpl-3.0.en.html",target:"_blank"}},[e._v(e._s(e.$t("about.lincensedUnder.gpl3")))])]},proxy:!0}])})],1)},__vue_staticRenderFns__$b=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",[a("a",{attrs:{rel:"license",href:"https://www.gnu.org/licenses/gpl-3.0.en.html",target:"_blank"}},[a("img",{staticStyle:{"border-width":"0"},attrs:{alt:"GNU General Public License",src:"https://www.gnu.org/graphics/gplv3-127x51.png"}})])])}];const __vue_inject_styles__$b=function(e){!e||e("data-v-c6fe733a_0",{source:`@charset "UTF-8";a[data-v-c6fe733a],li[data-v-c6fe733a],p[data-v-c6fe733a]{letter-spacing:.4px;font-size:20px;line-height:1.2}i[data-v-c6fe733a]{vertical-align:middle}i[data-v-c6fe733a] svg{fill:#fff;width:20px}.ethereum[data-v-c6fe733a] svg{fill:var(--foreground)}[data-v-c6fe733a]:link{text-decoration:none}#about_tab[data-v-c6fe733a]{margin-bottom:40px}h2[data-v-c6fe733a]{text-transform:capitalize}h2[data-v-c6fe733a]:not(.page_heading){font-size:2rem;border-bottom:1px solid rgba(51,51,51,.25);padding-top:2rem;padding-bottom:1rem}h2 .subheading[data-v-c6fe733a]{display:block;font-size:.5em;margin-top:.5em;font-weight:400;opacity:.8;text-transform:none}p[data-v-c6fe733a]{margin:0!important}ul li[data-v-c6fe733a]{margin-bottom:7px}h2+ul[data-v-c6fe733a]{margin-top:1rem}ul+ul[data-v-c6fe733a]{margin-top:1.25rem}ul.no-dots[data-v-c6fe733a]{list-style-type:none}ul[data-v-c6fe733a]:not(.no-dots){list-style-type:none}ul:not(.no-dots) li[data-v-c6fe733a]{position:relative}ul:not(.no-dots) li[data-v-c6fe733a]::before{content:'\u2014';position:absolute;left:-30px;opacity:.25}`,map:void 0,media:void 0})},__vue_scope_id__$b="data-v-c6fe733a",__vue_module_identifier__$b=void 0,__vue_is_functional_template__$b=!1;var About=normalizeComponent_1({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$9,__vue_scope_id__$b,__vue_is_functional_template__$b,__vue_module_identifier__$b,browser,void 0),script$a={};const __vue_script__$a=script$a;var __vue_render__$c=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.login.arl.question")))]),e._v(" "),e._m(0),e._v(" "),a("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome (Easy way)")]),e._v(" "),e._m(1),e._v(" "),a("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome")]),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),a("h3",{staticClass:"mt-6 text-3xl"},[e._v("Firefox")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$c=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v(` + Deezer keeps track of login session by using a cookie called ARL.`),a("br"),e._v(` + deemix uses that cookie to get the metadata that it needs to download the tracks from Deezer.`),a("br"),e._v(` + ARLs last for 3 months, after that Deezer asks you to log in again. The same method is used in deemix`),a("br"),e._v(` Following one of the guides below you can get your own account ARL. - `)])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v('Click on the little "lock" icon next the URL')]),e._v(" "),n("li",[e._v("Click on Cookies > deezer.com > cookies > arl")]),e._v(" "),n("li",[e._v("Select the string next to Content, and Copy")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("After logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Application tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long) ")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Here's a "),n("a",{attrs:{href:"https://youtu.be/O6PRT47_yds",target:"_blank"}},[e._v("video guide")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Firefox")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("Afer logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Storage tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long)")]),e._v(" "),n("li",[e._v("Make sure only copy the value and not the entire cookie")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_is_functional_template__$c=!1;function __vue_normalize__$c(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="InfoArl.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var InfoArl=__vue_normalize__$c({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c),script$b={};const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.spotify.question")))]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v(` + `)])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("ul",{staticClass:"mb-2 text-base"},[a("li",[e._v("Open Chrome")]),e._v(" "),a("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),a("li",[e._v('Click on the little "lock" icon next the URL')]),e._v(" "),a("li",[e._v("Click on Cookies > deezer.com > cookies > arl")]),e._v(" "),a("li",[e._v("Select the string next to Content, and Copy")]),e._v(" "),a("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("ul",{staticClass:"mb-2 text-base"},[a("li",[e._v("Open Chrome")]),e._v(" "),a("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),a("li",[e._v("After logging in press F12 to open up Developer Tools")]),e._v(" "),a("li",[e._v("Go under the Application tab (if you don't see it click the double arrow)")]),e._v(" "),a("li",[e._v("Open the cookie dropdown")]),e._v(" "),a("li",[e._v("Select www.deezer.com")]),e._v(" "),a("li",[e._v("Find the `arl` cookie (It should be 192 chars long) ")]),e._v(" "),a("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v("Here's a "),a("a",{attrs:{href:"https://youtu.be/O6PRT47_yds",target:"_blank"}},[e._v("video guide")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("ul",{staticClass:"mb-2 text-base"},[a("li",[e._v("Open Firefox")]),e._v(" "),a("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),a("li",[e._v("Afer logging in press F12 to open up Developer Tools")]),e._v(" "),a("li",[e._v("Go under the Storage tab (if you don't see it click the double arrow)")]),e._v(" "),a("li",[e._v("Open the cookie dropdown")]),e._v(" "),a("li",[e._v("Select www.deezer.com")]),e._v(" "),a("li",[e._v("Find the `arl` cookie (It should be 192 chars long)")]),e._v(" "),a("li",[e._v("Make sure only copy the value and not the entire cookie")]),e._v(" "),a("li",[e._v("That's your ARL, now you can use it in the app")])])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_module_identifier__$c=void 0,__vue_is_functional_template__$c=!1;var InfoArl=normalizeComponent_1({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,void 0,void 0),script$b={};const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.spotify.question")))]),e._v(" "),a("p",{staticClass:"mb-2 text-base"},[e._v(` "Spotify Features" is a set of features that lets you convert Spotify tracks and albums links into Deezer ones. If you provide a Spotify Playlist link the app will autmatically convert all the links of the tracks inside it into deezer tracks. Enabling this set of features will let you see your public Spotify playlists in the favorites tab as well. - `)]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("For security reasons you will need to provide your own Client ID and Secret")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Client ID and Secret?")]),e._v(" "),e._m(0),e._v(" "),e._m(1),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("Now you can copy-paste those results in the appropriate fields in the settings.")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Spotify Username?")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$d=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Connect to "),n("a",{attrs:{href:"https://developer.spotify.com/dashboard",target:"_blank"}},[e._v("Spotify for Developers's Dashboard")]),e._v(" and login with your Spotify account.")])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Click on "Create an App".`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/YFz7rHj.png",alt:"Create an App button on Spotify for Developers's Dashboard"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Fill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/A9cvDkK.png",alt:"Create an app form"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),n("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$d=void 0,__vue_scope_id__$d=void 0,__vue_is_functional_template__$d=!1;function __vue_normalize__$d(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="InfoSpotifyFeatures.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var InfoSpotifyFeatures=__vue_normalize__$d({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$b,__vue_scope_id__$d,__vue_is_functional_template__$d),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var a=hasOwnProperty$2.call(e,symToStringTag),n=e[symToStringTag];try{e[symToStringTag]=void 0;var r=!0}catch(s){}var i=nativeObjectToString.call(e);return r&&(a?e[symToStringTag]=n:delete e[symToStringTag]),i}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,a){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,a){var n=typeof e;return a=a??MAX_SAFE_INTEGER,!!a&&(n=="number"||n!="symbol"&&reIsUint.test(e))&&(e>-1&&e%1==0)&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var a=e&&e.constructor,n=typeof a=="function"&&a.prototype||objectProto$3;return e===n}function baseTimes(e,a){for(var n=-1,r=Array(e);++n-1}function listCacheSet(e,a){var n=this.__data__,r=assocIndexOf(n,e);return r<0?(++this.size,n.push([e,a])):n[r][1]=a,this}function ListCache(e){var a=-1,n=e==null?0:e.length;for(this.clear();++ac))return!1;var u=s.get(e);if(u&&s.get(a))return u==a;var d=-1,f=!0,h=n&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,a),s.set(a,e);++d=a||w<0||f&&g>=s}function R(){var A=now();if(M(A))return $(A);c=setTimeout(R,T(A))}function $(A){return c=void 0,h&&r?m(A):(r=i=void 0,l)}function z(){c!==void 0&&clearTimeout(c),u=0,r=o=i=c=void 0}function C(){return c===void 0?l:$(now())}function S(){var A=now(),w=M(A);if(r=arguments,i=this,o=A,w){if(c===void 0)return b(o);if(f)return clearTimeout(c),c=setTimeout(R,a),m(o)}return c===void 0&&(c=setTimeout(R,a)),l}return S.cancel=z,S.flush=C,S}function arrayIncludesWith(e,a,n){for(var r=-1,i=e==null?0:e.length;++ra||s&&l&&o&&!c&&!u||r&&l&&o||!n&&o||!i)return 1;if(!r&&!s&&!u&&e=c)return o;var u=n[r];return o*(u=="desc"?-1:1)}}return e.index-a.index}function baseOrderBy(e,a,n){var r=-1;a=arrayMap(a.length?a:[identity$1],baseUnary(baseIteratee));var i=baseMap(e,function(s,l,c){var o=arrayMap(a,function(u){return u(s)});return{criteria:o,index:++r,value:s}});return baseSortBy(i,function(s,l){return compareMultiple(s,l,n)})}function orderBy(e,a,n,r){return e==null?[]:(isArray$2(a)||(a=a==null?[]:[a]),n=r?void 0:n,isArray$2(n)||(n=n==null?[]:[n]),baseOrderBy(e,a,n))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,a,n){var r=-1,i=arrayIncludes,s=e.length,l=!0,c=[],o=c;if(n)l=!1,i=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var u=a?null:createSet(e);if(u)return setToArray(u);l=!1,i=cacheHas,o=new SetCache}else o=a?[]:c;e:for(;++r{socket.on("show_artist",r=>{socket.off("show_artist"),a(r)})})}function standardizeData(e,a){if(e.hasLoaded){const{data:n}=e,r=[];for(const i of n){let s=a(i);r.push(s)}return{data:r,hasLoaded:e.hasLoaded}}else return null}var script$c=defineComponent({components:{BaseTabs,BaseTab},setup(e,a){const n=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>n.artistReleases[n.currentTab])}),r=computed(()=>a.root.$router.currentRoute.params.id),i=ref$2(!1);getArtistData(unref(r)).then(l=>{i.value=!0;const c={data:[l],hasLoaded:unref(i)},{data:[{artistName:o,artistPictureXL:u,artistReleases:d}]}=standardizeData(c,formatArtistData);Object.assign(n,{artistName:o,artistPicture:u,artistReleases:d,currentTab:Object.keys(d)[0]})}).catch(l=>console.error(l));const s=computed(()=>{if(!unref(i))return[];let l=n.sortKey;return l==="releaseTracksNumber"&&(l=c=>new Number(c.releaseTracksNumber)),orderBy(n.currentRelease,l,n.sortOrder)});return{...toRefs(n),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(r)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${n.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),a=this.$tc.bind(this);return{head:[{title:a("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:a("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$c=script$c;var __vue_render__$e=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative image-header"},[n("header",{staticClass:"flex items-center",style:e.headerStyle},[n("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(r){return r.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("BaseTabs",e._l(e.artistReleases,function(r,i){return n("BaseTab",{key:i,class:{active:e.currentTab===i},on:{click:function(s){e.currentTab=i}}},[e._v(` - `+e._s(e.$tc("globals.listTabs."+i,2))+` - `)])}),1),e._v(" "),n("table",{staticClass:"table"},[n("thead",[n("tr",e._l(e.head,function(r){return n("th",{key:r.title,staticClass:"uppercase-first-letter",class:{"sort-asc":r.sortKey===e.sortKey&&e.sortOrder=="asc","sort-desc":r.sortKey===e.sortKey&&e.sortOrder=="desc",sortable:r.sortKey,clickable:r.sortKey},style:{width:r.width?r.width:"auto"},on:{click:function(i){r.sortKey&&e.sortBy(r.sortKey)}}},[e._v(` - `+e._s(r.title)+` - `)])}),0)]),e._v(" "),n("tbody",e._l(e.sortedData,function(r){return n("tr",{key:r.releaseID},[n("RouterLink",{staticClass:"flex items-center clickable",attrs:{tag:"td","data-cm-link":r.releaseLink,to:{name:"Album",params:{id:r.releaseID}}}},[n("img",{staticClass:"mr-4 rounded coverart",staticStyle:{width:"56px",height:"56px"},attrs:{src:r.releaseCover}}),e._v(" "),r.isReleaseExplicit?n("i",{staticClass:"material-icons title-icon title-icon--explicit"},[e._v("explicit")]):e._e(),e._v(" "),n("div",[n("span",{staticClass:"flex hover:text-primary"},[e._v(` - `+e._s(r.releaseTitle)+` - `),e.checkNewRelease(r.releaseDate)?n("i",{staticClass:"material-icons title-icon title-icon--right title-icon--new"},[e._v(` - fiber_new - `)]):e._e()]),e._v(" "),n("span",{directives:[{name:"show",rawName:"v-show",value:e.currentTab==="all",expression:"currentTab === 'all'"}],staticClass:"block text-xs opacity-50 uppercase-first-letter"},[e._v(` - `+e._s(e.$tc("globals.listTabs."+r.releaseType))+` - `)])])]),e._v(" "),n("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(r.releaseDate))]),e._v(" "),n("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(r.releaseTracksNumber))]),e._v(" "),n("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":r.releaseLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(r.releaseLink)}}},[n("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)}),0)])],1)},__vue_staticRenderFns__$e=[];const __vue_inject_styles__$e=void 0,__vue_scope_id__$e=void 0,__vue_is_functional_template__$e=!1;function __vue_normalize__$e(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Artist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Artist=__vue_normalize__$e({render:__vue_render__$e,staticRenderFns:__vue_staticRenderFns__$e},__vue_inject_styles__$e,__vue_script__$c,__vue_scope_id__$e,__vue_is_functional_template__$e);let chartsData={},cached$1=!1;function getChartsData(){return cached$1?chartsData:(socket.emit("get_charts_data"),new Promise((e,a)=>{socket.on("init_charts",n=>{chartsData=n,cached$1=!0,socket.off("init_charts"),e(n)})}))}var script$d={methods:{previewMouseEnter,previewMouseLeave}};const __vue_script__$d=script$d;var __vue_render__$f=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(` - play_arrow -`)])},__vue_staticRenderFns__$f=[];const __vue_inject_styles__$f=void 0,__vue_scope_id__$f=void 0,__vue_is_functional_template__$f=!1;function __vue_normalize__$f(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="PreviewControls.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var PreviewControls=__vue_normalize__$f({render:__vue_render__$f,staticRenderFns:__vue_staticRenderFns__$f},__vue_inject_styles__$f,__vue_script__$d,__vue_scope_id__$f,__vue_is_functional_template__$f),script$e={components:{PreviewControls},data(){return{country:"",id:0,countries:[],chart:[]}},computed:{worldwideRelease(){let e=this.countries.filter(a=>a.title==="Worldwide");return e[0]}},async created(){socket.on("setChartTracks",this.setTracklist),this.$on("hook:destroyed",()=>{socket.off("setChartTracks")});let e=await getChartsData(),a;e=e.filter(n=>(n.title==="Worldwide"&&(a=n),n.title!=="Worldwide")),e.unshift(a),this.initCharts(e)},methods:{convertDuration,playPausePreview,addToQueue(e){e.stopPropagation(),sendAddToQueue(e.currentTarget.dataset.link)},getTrackList(e){document.getElementById("content").scrollTo(0,0);const{currentTarget:{dataset:{title:a}},currentTarget:{dataset:{id:n}}}=e;this.country=a,localStorage.setItem("chart",this.country),this.id=n,socket.emit("getChartTracks",this.id)},setTracklist(e){this.chart=e},onChangeCountry(){this.country="",this.id=0},initCharts(e){if(this.countries=e,this.country=localStorage.getItem("chart")||"",!this.country)return;let a=0;for(;a{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$h=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,a){const n=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:r,favoriteAlbums:i,favoriteSpotifyPlaylists:s,favoritePlaylists:l,favoriteTracks:c,isRefreshingFavorites:o,refreshFavorites:u}=useFavorites(),d=computed(()=>a.refs.reloadButton);return watch(o,(f,h)=>{const m=h&&!f;if(!m)return;toast(a.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(n),tracks:c,albums:i,artists:r,playlists:l,spotifyPlaylists:s,refreshFavorites:u,isRefreshingFavorites:o}},computed:{activeTabEmpty(){let e=this.getActiveRelease();return e?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let a=this.getLovedTracksPlaylist();sendAddToQueue(a.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let a;switch(e){case"playlist":a=this.playlists;break;case"album":a=this.albums;break;case"artist":a=this.artists;break;case"track":a=this.tracks;break}return a},getTabLength(e=this.activeTab){let a=this[`${e}s`]?.length;return a||0},getLovedTracksPlaylist(){let e=this.playlists.filter(a=>a.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(` - `+e._s(e.$t("favorites.title"))+` - `),n("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{role:"button","aria-label":"reload"},on:{click:e.refreshFavorites}},[n("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),n("BaseTabs",e._l(e.tabs,function(r){return n("BaseTab",{key:r,class:{active:e.activeTab===r},on:{click:function(i){e.activeTab=r}}},[e._v(` + `)]),e._v(" "),a("p",{staticClass:"mb-2 text-base"},[e._v("For security reasons you will need to provide your own Client ID and Secret")]),e._v(" "),a("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Client ID and Secret?")]),e._v(" "),e._m(0),e._v(" "),e._m(1),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),a("p",{staticClass:"mb-2 text-base"},[e._v("Now you can copy-paste those results in the appropriate fields in the settings.")]),e._v(" "),a("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Spotify Username?")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$d=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v("Connect to "),a("a",{attrs:{href:"https://developer.spotify.com/dashboard",target:"_blank"}},[e._v("Spotify for Developers's Dashboard")]),e._v(" and login with your Spotify account.")])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v(` + Click on "Create an App".`),a("br"),e._v(" "),a("img",{attrs:{src:"https://i.imgur.com/YFz7rHj.png",alt:"Create an App button on Spotify for Developers's Dashboard"}})])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v(` + Fill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.`),a("br"),e._v(" "),a("img",{attrs:{src:"https://i.imgur.com/A9cvDkK.png",alt:"Create an app form"}})])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v(` + Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),a("br"),e._v(" "),a("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),a("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$d=void 0,__vue_scope_id__$d=void 0,__vue_module_identifier__$d=void 0,__vue_is_functional_template__$d=!1;var InfoSpotifyFeatures=normalizeComponent_1({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$b,__vue_scope_id__$d,__vue_is_functional_template__$d,__vue_module_identifier__$d,void 0,void 0),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var n=hasOwnProperty$2.call(e,symToStringTag),a=e[symToStringTag];try{e[symToStringTag]=void 0;var i=!0}catch(s){}var r=nativeObjectToString.call(e);return i&&(n?e[symToStringTag]=a:delete e[symToStringTag]),r}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,n){for(var a=-1,i=e==null?0:e.length,r=Array(i);++a-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,n){var a=typeof e;return n=n??MAX_SAFE_INTEGER,!!n&&(a=="number"||a!="symbol"&&reIsUint.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var n=e&&e.constructor,a=typeof n=="function"&&n.prototype||objectProto$3;return e===a}function baseTimes(e,n){for(var a=-1,i=Array(e);++a-1}function listCacheSet(e,n){var a=this.__data__,i=assocIndexOf(a,e);return i<0?(++this.size,a.push([e,n])):a[i][1]=n,this}function ListCache(e){var n=-1,a=e==null?0:e.length;for(this.clear();++nl))return!1;var u=s.get(e),d=s.get(n);if(u&&d)return u==n&&d==e;var f=-1,h=!0,m=a&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,n),s.set(n,e);++f=n||C<0||f&&N>=s}function w(){var z=now();if(_(z))return A(z);l=setTimeout(w,y(z))}function A(z){return l=void 0,h&&i?m(z):(i=r=void 0,o)}function S(){l!==void 0&&clearTimeout(l),u=0,i=c=r=l=void 0}function M(){return l===void 0?o:A(now())}function P(){var z=now(),C=_(z);if(i=arguments,r=this,c=z,C){if(l===void 0)return v(c);if(f)return clearTimeout(l),l=setTimeout(w,n),m(c)}return l===void 0&&(l=setTimeout(w,n)),o}return P.cancel=S,P.flush=M,P}function arrayIncludesWith(e,n,a){for(var i=-1,r=e==null?0:e.length;++in||s&&o&&c&&!l&&!u||i&&o&&c||!a&&c||!r)return 1;if(!i&&!s&&!u&&e=l)return c;var u=a[i];return c*(u=="desc"?-1:1)}}return e.index-n.index}function baseOrderBy(e,n,a){n.length?n=arrayMap(n,function(s){return isArray$2(s)?function(o){return baseGet(o,s.length===1?s[0]:s)}:s}):n=[identity$1];var i=-1;n=arrayMap(n,baseUnary(baseIteratee));var r=baseMap(e,function(s,o,l){var c=arrayMap(n,function(u){return u(s)});return{criteria:c,index:++i,value:s}});return baseSortBy(r,function(s,o){return compareMultiple(s,o,a)})}function orderBy(e,n,a,i){return e==null?[]:(isArray$2(n)||(n=n==null?[]:[n]),a=i?void 0:a,isArray$2(a)||(a=a==null?[]:[a]),baseOrderBy(e,n,a))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,n,a){var i=-1,r=arrayIncludes,s=e.length,o=!0,l=[],c=l;if(a)o=!1,r=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var u=n?null:createSet(e);if(u)return setToArray(u);o=!1,r=cacheHas,c=new SetCache}else c=n?[]:l;e:for(;++i{socket.on("show_artist",i=>{socket.off("show_artist"),n(i)})})}function standardizeData(e,n){if(e.hasLoaded){const{data:a}=e,i=[];for(const r of a){let s=n(r);i.push(s)}return{data:i,hasLoaded:e.hasLoaded}}else return null}var script$c=defineComponent({components:{BaseTabs,BaseTab},setup(e,n){const a=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>a.artistReleases[a.currentTab])}),i=computed(()=>n.root.$router.currentRoute.params.id),r=ref$2(!1);getArtistData(unref(i)).then(o=>{r.value=!0;const l={data:[o],hasLoaded:unref(r)},{data:[{artistName:c,artistPictureXL:u,artistReleases:d}]}=standardizeData(l,formatArtistData);Object.assign(a,{artistName:c,artistPicture:u,artistReleases:d,currentTab:Object.keys(d)[0]})}).catch(o=>console.error(o));const s=computed(()=>{if(!unref(r))return[];let o=a.sortKey;return o==="releaseTracksNumber"&&(o=l=>new Number(l.releaseTracksNumber)),orderBy(a.currentRelease,o,a.sortOrder)});return{...toRefs(a),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(i)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${a.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),n=this.$tc.bind(this);return{head:[{title:n("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:n("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$c=script$c;var __vue_render__$e=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"relative image-header"},[a("header",{staticClass:"flex items-center",style:e.headerStyle},[a("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),a("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[a("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),a("BaseTabs",e._l(e.artistReleases,function(i,r){return a("BaseTab",{key:r,class:{active:e.currentTab===r},on:{click:function(s){e.currentTab=r}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+r,2))+` - `)])}),1),e._v(" "),e.activeTabEmpty?e._e():n("button",{staticClass:"btn btn-primary",staticStyle:{"margin-bottom":"2rem"},on:{click:e.downloadAllOfType}},[e._v(` - `+e._s(e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.activeTab+"N",e.getTabLength())}))+` - `)]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="playlist",expression:"activeTab === 'playlist'"}]},[e.playlists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e._v(" "),e.playlists.length>0||e.spotifyPlaylists>0?n("div",{staticClass:"release-grid"},[e._l(e.playlists,function(r){return n("div",{key:r.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:r.creator.name})+" - "+e.$tc("globals.listTabs.trackN",r.nb_tracks))+` - `)])],1)}),e._v(" "),e._l(e.spotifyPlaylists,function(r){return n("div",{key:r.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Spotify Playlist",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:r.creator.name})+" - "+e.$tc("globals.listTabs.trackN",r.nb_tracks))+` - `)])],1)})],2):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="album",expression:"activeTab === 'album'"}]},[e.albums.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e._v(" "),e.albums.length>0?n("div",{staticClass:"release-grid"},e._l(e.albums,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.cover_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:r.artist.name})))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="artist",expression:"activeTab === 'artist'"}]},[e.artists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e._v(" "),e.artists.length>0?n("div",{staticClass:"release-grid"},e._l(e.artists,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Artist",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.name))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="track",expression:"activeTab === 'track'"}]},[e.tracks.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e._v(" "),e.tracks.length>0?n("table",{staticClass:"table"},e._l(e.tracks,function(r){return n("tr",{staticClass:"track_row"},[n("td",{staticClass:"p-3 text-center cursor-default",class:{first:r.position===1}},[e._v(` - `+e._s(r.position)+` - `)]),e._v(" "),n("td",[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":r.preview},on:{click:e.playPausePreview}},[r.preview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:r.album.cover_small}})],1)]),e._v(" "),n("td",{staticClass:"table__cell--large"},[e._v(` - `+e._s(r.title+(r.title_version&&r.title.indexOf(r.title_version)==-1?" "+r.title_version:""))+` - `)]),e._v(" "),n("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:r.artist.id}}}},[e._v(` - `+e._s(r.artist.name)+` - `)]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:r.album.id}}}},[e._v(` - `+e._s(r.album.title)+` - `)]),e._v(" "),n("td",{staticClass:"table__cell--small"},[e._v(` - `+e._s(e.convertDuration(r.duration))+` - `)]),e._v(" "),n("td",{staticClass:"cursor-pointer group",attrs:{"data-link":r.link,role:"button","aria-label":"download"},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` + `)])}),1),e._v(" "),a("table",{staticClass:"table"},[a("thead",[a("tr",e._l(e.head,function(i){return a("th",{key:i.title,staticClass:"uppercase-first-letter",class:{"sort-asc":i.sortKey===e.sortKey&&e.sortOrder=="asc","sort-desc":i.sortKey===e.sortKey&&e.sortOrder=="desc",sortable:i.sortKey,clickable:i.sortKey},style:{width:i.width?i.width:"auto"},on:{click:function(r){i.sortKey&&e.sortBy(i.sortKey)}}},[e._v(` + `+e._s(i.title)+` + `)])}),0)]),e._v(" "),a("tbody",e._l(e.sortedData,function(i){return a("tr",{key:i.releaseID},[a("RouterLink",{staticClass:"flex items-center clickable",attrs:{tag:"td","data-cm-link":i.releaseLink,to:{name:"Album",params:{id:i.releaseID}}}},[a("img",{staticClass:"mr-4 rounded coverart",staticStyle:{width:"56px",height:"56px"},attrs:{src:i.releaseCover}}),e._v(" "),i.isReleaseExplicit?a("i",{staticClass:"material-icons title-icon title-icon--explicit"},[e._v("explicit")]):e._e(),e._v(" "),a("div",[a("span",{staticClass:"flex hover:text-primary"},[e._v(` + `+e._s(i.releaseTitle)+` + `),e.checkNewRelease(i.releaseDate)?a("i",{staticClass:"material-icons title-icon title-icon--right title-icon--new"},[e._v(` + fiber_new + `)]):e._e()]),e._v(" "),a("span",{directives:[{name:"show",rawName:"v-show",value:e.currentTab==="all",expression:"currentTab === 'all'"}],staticClass:"block text-xs opacity-50 uppercase-first-letter"},[e._v(` + `+e._s(e.$tc("globals.listTabs."+i.releaseType))+` + `)])])]),e._v(" "),a("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(i.releaseDate))]),e._v(" "),a("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(i.releaseTracksNumber))]),e._v(" "),a("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":i.releaseLink},on:{click:function(r){return r.stopPropagation(),e.sendAddToQueue(i.releaseLink)}}},[a("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)}),0)])],1)},__vue_staticRenderFns__$e=[];const __vue_inject_styles__$e=void 0,__vue_scope_id__$e=void 0,__vue_module_identifier__$e=void 0,__vue_is_functional_template__$e=!1;var Artist=normalizeComponent_1({render:__vue_render__$e,staticRenderFns:__vue_staticRenderFns__$e},__vue_inject_styles__$e,__vue_script__$c,__vue_scope_id__$e,__vue_is_functional_template__$e,__vue_module_identifier__$e,void 0,void 0);let chartsData={},cached$1=!1;function getChartsData(){return cached$1?chartsData:(socket.emit("get_charts_data"),new Promise((e,n)=>{socket.on("init_charts",a=>{chartsData=a,cached$1=!0,socket.off("init_charts"),e(a)})}))}var script$d={methods:{previewMouseEnter,previewMouseLeave}};const __vue_script__$d=script$d;var __vue_render__$f=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(` + play_arrow +`)])},__vue_staticRenderFns__$f=[];const __vue_inject_styles__$f=void 0,__vue_scope_id__$f=void 0,__vue_module_identifier__$f=void 0,__vue_is_functional_template__$f=!1;var PreviewControls=normalizeComponent_1({render:__vue_render__$f,staticRenderFns:__vue_staticRenderFns__$f},__vue_inject_styles__$f,__vue_script__$d,__vue_scope_id__$f,__vue_is_functional_template__$f,__vue_module_identifier__$f,void 0,void 0),script$e={components:{PreviewControls},data(){return{country:"",id:0,countries:[],chart:[]}},computed:{worldwideRelease(){return this.countries.filter(n=>n.title==="Worldwide")[0]}},async created(){socket.on("setChartTracks",this.setTracklist),this.$on("hook:destroyed",()=>{socket.off("setChartTracks")});let e=await getChartsData(),n;e=e.filter(a=>(a.title==="Worldwide"&&(n=a),a.title!=="Worldwide")),e.unshift(n),this.initCharts(e)},methods:{convertDuration,playPausePreview,addToQueue(e){e.stopPropagation(),sendAddToQueue(e.currentTarget.dataset.link)},getTrackList(e){document.getElementById("content").scrollTo(0,0);const{currentTarget:{dataset:{title:n}},currentTarget:{dataset:{id:a}}}=e;this.country=n,localStorage.setItem("chart",this.country),this.id=a,socket.emit("getChartTracks",this.id)},setTracklist(e){this.chart=e},onChangeCountry(){this.country="",this.id=0},initCharts(e){if(this.countries=e,this.country=localStorage.getItem("chart")||"",!this.country)return;let n=0;for(;n{socket.on("init_home",n=>{homeData=n,cached$2=!0,socket.off("init_home"),e(n)})}))}var script$i={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:a},albums:{data:n}}=e;this.playlists=a,this.albums=n}}};const __vue_script__$i=script$i;var __vue_render__$k=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"home_tab"}},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():n("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` + `)])])],1)}),0)])])])},__vue_staticRenderFns__$g=[];const __vue_inject_styles__$g=void 0,__vue_scope_id__$g=void 0,__vue_module_identifier__$g=void 0,__vue_is_functional_template__$g=!1;var Charts=normalizeComponent_1({render:__vue_render__$g,staticRenderFns:__vue_staticRenderFns__$g},__vue_inject_styles__$g,__vue_script__$e,__vue_scope_id__$g,__vue_is_functional_template__$g,__vue_module_identifier__$g,void 0,void 0),script$f={computed:{...mapGetters(["getErrors"]),title(){return`${this.getErrors.artist} - ${this.getErrors.title}`},errors(){return this.getErrors.errors}}};const __vue_script__$f=script$f;var __vue_render__$h=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("errors.title",{name:e.title})))]),e._v(" "),a("table",{staticClass:"table table--tracklist"},[a("tr",[a("th",[e._v("ID")]),e._v(" "),a("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),a("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),a("th",[e._v(e._s(e.$tc("globals.listTabs.error",1)))])]),e._v(" "),e._l(e.errors,function(i){return a("tr",{key:i.data.id},[a("td",[e._v(e._s(i.data.id))]),e._v(" "),a("td",[e._v(e._s(i.data.artist))]),e._v(" "),a("td",[e._v(e._s(i.data.title))]),e._v(" "),a("td",[e._v(e._s(i.errid?e.$t("errors.ids."+i.errid):i.message))])])})],2)])},__vue_staticRenderFns__$h=[];const __vue_inject_styles__$h=void 0,__vue_scope_id__$h=void 0,__vue_module_identifier__$h=void 0,__vue_is_functional_template__$h=!1;var Errors=normalizeComponent_1({render:__vue_render__$h,staticRenderFns:__vue_staticRenderFns__$h},__vue_inject_styles__$h,__vue_script__$f,__vue_scope_id__$h,__vue_is_functional_template__$h,__vue_module_identifier__$h,void 0,void 0),script$g={inheritAttrs:!1,props:{cover:{type:String,reqired:!0},isRounded:{type:Boolean,required:!1},isCircle:{type:Boolean,required:!1},link:{type:String,reqired:!0}}};const __vue_script__$g=script$g;var __vue_render__$i=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"relative cover-container group"},[a("img",{staticClass:"block w-full opacity-100 coverart",class:{rounded:e.isRounded,"rounded-full":e.isCircle},attrs:{"aria-hidden":"true",src:e.cover}}),e._v(" "),a("button",e._g({staticClass:"absolute p-0 text-center bg-black border-0 rounded-full opacity-0 download_overlay hover:bg-primary",attrs:{role:"button","aria-label":"download","data-link":e.link,tabindex:"0"}},e.$listeners),[a("i",{staticClass:"text-white cursor-pointer material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])])},__vue_staticRenderFns__$i=[];const __vue_inject_styles__$i=function(e){!e||e("data-v-5a73b889_0",{source:".cover-container[data-v-5a73b889]{width:156px;height:156px;margin-bottom:10px}.cover-container .coverart[data-v-5a73b889]{backface-visibility:hidden;transition:.5s ease;height:auto}.cover-container .download_overlay[data-v-5a73b889]{top:50%;left:50%;transform:translate(-50%,-50%);transition:.5s ease;opacity:0;min-width:2rem;height:2.75rem;text-align:center}.cover-container .download_overlay i[data-v-5a73b889]{padding:.625rem}.cover-container .download_overlay[data-v-5a73b889]:focus{opacity:1}.cover-container:hover .coverart[data-v-5a73b889]{opacity:.75}.cover-container:hover .download_overlay[data-v-5a73b889]{opacity:1;border:0}",map:void 0,media:void 0})},__vue_scope_id__$i="data-v-5a73b889",__vue_module_identifier__$i=void 0,__vue_is_functional_template__$i=!1;var CoverContainer=normalizeComponent_1({render:__vue_render__$i,staticRenderFns:__vue_staticRenderFns__$i},__vue_inject_styles__$i,__vue_script__$g,__vue_scope_id__$i,__vue_is_functional_template__$i,__vue_module_identifier__$i,browser,void 0);const favoriteArtists=ref$2([]),favoriteAlbums=ref$2([]),favoriteSpotifyPlaylists=ref$2([]),favoritePlaylists=ref$2([]),favoriteTracks=ref$2([]),isRefreshingFavorites=ref$2(!1);store.getters.isLoggedIn&&refreshFavorites({isInitial:!0});function refreshFavorites({isInitial:e=!1}){e||(isRefreshingFavorites.value=!0),socket.emit("get_favorites_data"),store.getters.isLoggedWithSpotify&&socket.emit("update_userSpotifyPlaylists",store.getters.getSpotifyUser.id)}function useFavorites(){return{favoriteArtists,favoriteAlbums,favoriteSpotifyPlaylists,favoritePlaylists,favoriteTracks,isRefreshingFavorites,refreshFavorites}}function setAllFavorites(e){const{tracks:n,albums:a,artists:i,playlists:r}=e;favoriteArtists.value=i,favoriteAlbums.value=a,favoritePlaylists.value=r,favoriteTracks.value=n}socket.on("updated_userFavorites",e=>{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$h=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,n){const a=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:i,favoriteAlbums:r,favoriteSpotifyPlaylists:s,favoritePlaylists:o,favoriteTracks:l,isRefreshingFavorites:c,refreshFavorites:u}=useFavorites();return computed(()=>n.refs.reloadButton),watch(c,(d,f)=>{!(f&&!d)||toast(n.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(a),tracks:l,albums:r,artists:i,playlists:o,spotifyPlaylists:s,refreshFavorites:u,isRefreshingFavorites:c}},computed:{activeTabEmpty(){return this.getActiveRelease()?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let n=this.getLovedTracksPlaylist();sendAddToQueue(n.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let n;switch(e){case"playlist":n=this.playlists;break;case"album":n=this.albums;break;case"artist":n=this.artists;break;case"track":n=this.tracks;break}return n},getTabLength(e=this.activeTab){return this[`${e}s`]?.length||0},getLovedTracksPlaylist(){let e=this.playlists.filter(n=>n.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(` + `+e._s(e.$t("favorites.title"))+` + `),a("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{role:"button","aria-label":"reload"},on:{click:e.refreshFavorites}},[a("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),a("BaseTabs",e._l(e.tabs,function(i){return a("BaseTab",{key:i,class:{active:e.activeTab===i},on:{click:function(r){e.activeTab=i}}},[e._v(` + `+e._s(e.$tc("globals.listTabs."+i,2))+` + `)])}),1),e._v(" "),e.activeTabEmpty?e._e():a("button",{staticClass:"btn btn-primary",staticStyle:{"margin-bottom":"2rem"},on:{click:e.downloadAllOfType}},[e._v(` + `+e._s(e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.activeTab+"N",e.getTabLength())}))+` + `)]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="playlist",expression:"activeTab === 'playlist'"}]},[e.playlists.length==0?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e._v(" "),e.playlists.length>0||e.spotifyPlaylists>0?a("div",{staticClass:"release-grid"},[e._l(e.playlists,function(i){return a("div",{key:i.id,staticClass:"release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.id}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `+e._s(e.$t("globals.by",{artist:i.creator.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` + `)])],1)}),e._v(" "),e._l(e.spotifyPlaylists,function(i){return a("div",{key:i.id,staticClass:"release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Spotify Playlist",params:{id:i.id}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `+e._s(e.$t("globals.by",{artist:i.creator.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` + `)])],1)})],2):e._e()]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="album",expression:"activeTab === 'album'"}]},[e.albums.length==0?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e._v(" "),e.albums.length>0?a("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return a("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:i.id}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.cover_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1):e._e()]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="artist",expression:"activeTab === 'artist'"}]},[e.artists.length==0?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e._v(" "),e.artists.length>0?a("div",{staticClass:"release-grid"},e._l(e.artists,function(i){return a("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Artist",params:{id:i.id}}}},[a("CoverContainer",{attrs:{"is-circle":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.name))])],1)}),1):e._e()]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="track",expression:"activeTab === 'track'"}]},[e.tracks.length==0?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e._v(" "),e.tracks.length>0?a("table",{staticClass:"table"},e._l(e.tracks,function(i){return a("tr",{staticClass:"track_row"},[a("td",{staticClass:"p-3 text-center cursor-default",class:{first:i.position===1}},[e._v(` + `+e._s(i.position)+` + `)]),e._v(" "),a("td",[a("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.preview},on:{click:e.playPausePreview}},[i.preview?a("PreviewControls"):e._e(),e._v(" "),a("img",{staticClass:"rounded coverart",attrs:{src:i.album.cover_small}})],1)]),e._v(" "),a("td",{staticClass:"table__cell--large"},[e._v(` + `+e._s(i.title+(i.title_version&&i.title.indexOf(i.title_version)==-1?" "+i.title_version:""))+` + `)]),e._v(" "),a("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artist.id}}}},[e._v(` + `+e._s(i.artist.name)+` + `)]),e._v(" "),a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:i.album.id}}}},[e._v(` + `+e._s(i.album.title)+` + `)]),e._v(" "),a("td",{staticClass:"table__cell--small"},[e._v(` + `+e._s(e.convertDuration(i.duration))+` + `)]),e._v(" "),a("td",{staticClass:"cursor-pointer group",attrs:{"data-link":i.link,role:"button","aria-label":"download"},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[a("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` + get_app + `)])])])],1)}),0):e._e()])],1)},__vue_staticRenderFns__$j=[];const __vue_inject_styles__$j=void 0,__vue_scope_id__$j=void 0,__vue_module_identifier__$j=void 0,__vue_is_functional_template__$j=!1;var Favorites=normalizeComponent_1({render:__vue_render__$j,staticRenderFns:__vue_staticRenderFns__$j},__vue_inject_styles__$j,__vue_script__$h,__vue_scope_id__$j,__vue_is_functional_template__$j,__vue_module_identifier__$j,void 0,void 0);let homeData={},cached$2=!1;function getHomeData(){return cached$2?homeData:(socket.emit("get_home_data"),new Promise((e,n)=>{socket.on("init_home",a=>{homeData=a,cached$2=!0,socket.off("init_home"),e(a)})}))}var script$i={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:n},albums:{data:a}}=e;this.playlists=n,this.albums=a}}};const __vue_script__$i=script$i;var __vue_render__$k=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{attrs:{id:"home_tab"}},[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():a("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[a("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),a("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` `+e._s(e.$t("home.openSettings"))+` - `)])],1),e._v(" "),e.playlists.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularPlaylists")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.playlists,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Playlist",params:{id:r.id}},tabindex:"0"},nativeOn:{keyup:function(i){return!i.type.indexOf("key")&&e._k(i.keyCode,"enter",13,i.key,"Enter")?null:e.$router.push({name:"Playlist",params:{id:r.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:r.user.name})+" - "+e.$tc("globals.listTabs.trackN",r.nb_tracks))+` - `)])],1)}),1)]):e._e(),e._v(" "),e.albums.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularAlbums")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.albums,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:r.id}},"data-id":r.id,tabindex:"0"},nativeOn:{keyup:function(i){return!i.type.indexOf("key")&&e._k(i.keyCode,"enter",13,i.key,"Enter")?null:e.$router.push({name:"Album",params:{id:r.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.cover_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:r.artist.name})))])],1)}),1)]):e._e()])},__vue_staticRenderFns__$k=[];const __vue_inject_styles__$k=void 0,__vue_scope_id__$k=void 0,__vue_is_functional_template__$k=!1;function __vue_normalize__$k(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Home.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Home=__vue_normalize__$k({render:__vue_render__$k,staticRenderFns:__vue_staticRenderFns__$k},__vue_inject_styles__$k,__vue_script__$i,__vue_scope_id__$k,__vue_is_functional_template__$k);const COUNTRIES={AF:"Afghanistan",AX:"\xC5land Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia, Plurinational State of",BQ:"Bonaire, Sint Eustatius and Saba",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, the Democratic Republic of the",CK:"Cook Islands",CR:"Costa Rica",CI:"C\xF4te d'Ivoire",HR:"Croatia",CU:"Cuba",CW:"Cura\xE7ao",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran, Islamic Republic of",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea, Democratic People's Republic of",KR:"Korea, Republic of",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Lao People's Democratic Republic",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia, the Former Yugoslav Republic of",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia, Federated States of",MD:"Moldova, Republic of",MC:"Monaco",MN:"Mongolia",ME:"Montenegro",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine, State of",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"R\xE9union",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",BL:"Saint Barth\xE9lemy",SH:"Saint Helena, Ascension and Tristan da Cunha",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",MF:"Saint Martin (French part)",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SX:"Sint Maarten (Dutch part)",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",SS:"South Sudan",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania, United Republic of",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela, Bolivarian Republic of",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe"};var script$j={data(){return{link:"",title:"",subtitle:"",image:"",data:{},type:"",id:"0",countries:[]}},methods:{convertDuration,reset(){this.title="Loading...",this.subtitle="",this.image="",this.data={},this.type="",this.link="",this.countries=[]},showTrack(e){this.reset();const{title:a,title_version:n,album:{cover_xl:r},link:i,available_countries:s,id:l}=e;this.title=a+(n&&a.indexOf(n)==-1?" "+n:""),this.image=r,this.type="track",this.link=i,this.id=l,s.forEach(c=>{let o=[],u=[...c].map(d=>d.charCodeAt()+127397);o.push(String.fromCodePoint(...u)),o.push(COUNTRIES[c]),this.countries.push(o)}),this.data=e},showAlbum(e){this.reset();const{title:a,cover_xl:n,link:r,id:i}=e;this.title=a,this.image=n,this.type="album",this.link=r,this.data=e,this.id=i},notSupported(){this.link="error"},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)}},mounted(){socket.on("analyze_track",this.showTrack),socket.on("analyze_album",this.showAlbum),socket.on("analyze_notSupported",this.notSupported)}};const __vue_script__$j=script$j;var __vue_render__$l=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"image-header",attrs:{id:"analyzer_tab"}},[n("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.linkAnalyzer")))]),e._v(" "),e.link===""?n("div",[n("p",[e._v(` + `)])],1),e._v(" "),e.playlists.length?a("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[a("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularPlaylists")))]),e._v(" "),a("div",{staticClass:"release-grid"},e._l(e.playlists,function(i){return a("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.id}},tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Playlist",params:{id:i.id}})}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `+e._s(e.$t("globals.by",{artist:i.user.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` + `)])],1)}),1)]):e._e(),e._v(" "),e.albums.length?a("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[a("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularAlbums")))]),e._v(" "),a("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return a("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:i.id}},"data-id":i.id,tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Album",params:{id:i.id}})}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.cover_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1)]):e._e()])},__vue_staticRenderFns__$k=[];const __vue_inject_styles__$k=void 0,__vue_scope_id__$k=void 0,__vue_module_identifier__$k=void 0,__vue_is_functional_template__$k=!1;var Home=normalizeComponent_1({render:__vue_render__$k,staticRenderFns:__vue_staticRenderFns__$k},__vue_inject_styles__$k,__vue_script__$i,__vue_scope_id__$k,__vue_is_functional_template__$k,__vue_module_identifier__$k,void 0,void 0);const COUNTRIES={AF:"Afghanistan",AX:"\xC5land Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia, Plurinational State of",BQ:"Bonaire, Sint Eustatius and Saba",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, the Democratic Republic of the",CK:"Cook Islands",CR:"Costa Rica",CI:"C\xF4te d'Ivoire",HR:"Croatia",CU:"Cuba",CW:"Cura\xE7ao",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran, Islamic Republic of",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea, Democratic People's Republic of",KR:"Korea, Republic of",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Lao People's Democratic Republic",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia, the Former Yugoslav Republic of",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia, Federated States of",MD:"Moldova, Republic of",MC:"Monaco",MN:"Mongolia",ME:"Montenegro",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine, State of",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"R\xE9union",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",BL:"Saint Barth\xE9lemy",SH:"Saint Helena, Ascension and Tristan da Cunha",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",MF:"Saint Martin (French part)",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SX:"Sint Maarten (Dutch part)",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",SS:"South Sudan",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania, United Republic of",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela, Bolivarian Republic of",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe"};var script$j={data(){return{link:"",title:"",subtitle:"",image:"",data:{},type:"",id:"0",countries:[]}},methods:{convertDuration,reset(){this.title="Loading...",this.subtitle="",this.image="",this.data={},this.type="",this.link="",this.countries=[]},showTrack(e){this.reset();const{title:n,title_version:a,album:{cover_xl:i},link:r,available_countries:s,id:o}=e;this.title=n+(a&&n.indexOf(a)==-1?" "+a:""),this.image=i,this.type="track",this.link=r,this.id=o,s.forEach(l=>{let c=[],u=[...l].map(d=>d.charCodeAt()+127397);c.push(String.fromCodePoint(...u)),c.push(COUNTRIES[l]),this.countries.push(c)}),this.data=e},showAlbum(e){this.reset();const{title:n,cover_xl:a,link:i,id:r}=e;this.title=n,this.image=a,this.type="album",this.link=i,this.data=e,this.id=r},notSupported(){this.link="error"},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)}},mounted(){socket.on("analyze_track",this.showTrack),socket.on("analyze_album",this.showAlbum),socket.on("analyze_notSupported",this.notSupported)}};const __vue_script__$j=script$j;var __vue_render__$l=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"image-header",attrs:{id:"analyzer_tab"}},[a("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.linkAnalyzer")))]),e._v(" "),e.link===""?a("div",[a("p",[e._v(` `+e._s(e.$t("linkAnalyzer.info"))+` - `)]),e._v(" "),n("p",[e._v(` + `)]),e._v(" "),a("p",[e._v(` `+e._s(e.$t("linkAnalyzer.useful"))+` - `)])]):e.link==="error"?n("div",[n("h2",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupported")))]),e._v(" "),n("p",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupportedYet")))])]):n("div",[n("header",{staticClass:"flex items-center",style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[n("div",[n("h1",{staticClass:"m-0"},[e._v(e._s(e.title))]),e._v(" "),e.type==="track"?n("h2",{staticClass:"m-0 mb-3 text-lg"},[n("i18n",{attrs:{path:"globals.by",tag:"span"}},[n("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` + `)])]):e.link==="error"?a("div",[a("h2",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupported")))]),e._v(" "),a("p",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupportedYet")))])]):a("div",[a("header",{staticClass:"flex items-center",style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[a("div",[a("h1",{staticClass:"m-0"},[e._v(e._s(e.title))]),e._v(" "),e.type==="track"?a("h2",{staticClass:"m-0 mb-3 text-lg"},[a("i18n",{attrs:{path:"globals.by",tag:"span"}},[a("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` `+e._s(e.data.artist.name)+` `)])],1),e._v(` \u2022 - `),n("i18n",{attrs:{path:"globals.in",tag:"span"}},[n("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"album",to:{name:"Album",params:{id:e.data.album.id}}}},[e._v(` + `),a("i18n",{attrs:{path:"globals.in",tag:"span"}},[a("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"album",to:{name:"Album",params:{id:e.data.album.id}}}},[e._v(` `+e._s(e.data.album.title)+` - `)])],1)],1):e.type==="album"?n("h2",{staticClass:"m-0 mb-3 text-lg"},[n("i18n",{attrs:{path:"globals.by",tag:"span"}},[n("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` + `)])],1)],1):e.type==="album"?a("h2",{staticClass:"m-0 mb-3 text-lg"},[a("i18n",{attrs:{path:"globals.by",tag:"span"}},[a("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` `+e._s(e.data.artist.name)+` `)])],1),e._v(` `+e._s(" \u2022 "+e.$tc("globals.listTabs.trackN",e.data.nb_tracks))+` - `)],1):e._e()]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{role:"button","aria-label":"download","data-link":e.link},on:{contextmenu:function(r){return r.preventDefault(),e.openQualityModal(r)},click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("table",{staticClass:"table"},[e.data.id?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.id")))]),e._v(" "),n("td",[e._v(e._s(e.data.id))])]):e._e(),e._v(" "),e.data.isrc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.isrc")))]),e._v(" "),n("td",[e._v(e._s(e.data.isrc))])]):e._e(),e._v(" "),e.data.upc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.upc")))]),e._v(" "),n("td",[e._v(e._s(e.data.upc))])]):e._e(),e._v(" "),e.data.duration?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.duration")))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(e.data.duration)))])]):e._e(),e._v(" "),e.data.disk_number?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.diskNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.disk_number))])]):e._e(),e._v(" "),e.data.track_position?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.trackNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.track_position))])]):e._e(),e._v(" "),e.data.release_date?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.releaseDate")))]),e._v(" "),n("td",[e._v(e._s(e.data.release_date))])]):e._e(),e._v(" "),e.data.bpm?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.bpm")))]),e._v(" "),n("td",[e._v(e._s(e.data.bpm))])]):e._e(),e._v(" "),e.data.label?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.label")))]),e._v(" "),n("td",[e._v(e._s(e.data.label))])]):e._e(),e._v(" "),e.data.record_type?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.recordType")))]),e._v(" "),n("td",[e._v(e._s(e.$tc("globals.listTabs."+e.data.record_type,1)))])]):e._e(),e._v(" "),e.data.genres&&e.data.genres.data.length?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.genres")))]),e._v(" "),n("td",[e._v(e._s(e.data.genres.data.map(function(r){return r.name}).join("; ")))])]):e._e()]),e._v(" "),e.type=="album"?n("div",[n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Album",params:{id:e.id}}}},[e._v(` + `)],1):e._e()]),e._v(" "),a("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{role:"button","aria-label":"download","data-link":e.link},on:{contextmenu:function(i){return i.preventDefault(),e.openQualityModal(i)},click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[a("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),a("table",{staticClass:"table"},[e.data.id?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.id")))]),e._v(" "),a("td",[e._v(e._s(e.data.id))])]):e._e(),e._v(" "),e.data.isrc?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.isrc")))]),e._v(" "),a("td",[e._v(e._s(e.data.isrc))])]):e._e(),e._v(" "),e.data.upc?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.upc")))]),e._v(" "),a("td",[e._v(e._s(e.data.upc))])]):e._e(),e._v(" "),e.data.duration?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.duration")))]),e._v(" "),a("td",[e._v(e._s(e.convertDuration(e.data.duration)))])]):e._e(),e._v(" "),e.data.disk_number?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.diskNumber")))]),e._v(" "),a("td",[e._v(e._s(e.data.disk_number))])]):e._e(),e._v(" "),e.data.track_position?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.trackNumber")))]),e._v(" "),a("td",[e._v(e._s(e.data.track_position))])]):e._e(),e._v(" "),e.data.release_date?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.releaseDate")))]),e._v(" "),a("td",[e._v(e._s(e.data.release_date))])]):e._e(),e._v(" "),e.data.bpm?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.bpm")))]),e._v(" "),a("td",[e._v(e._s(e.data.bpm))])]):e._e(),e._v(" "),e.data.label?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.label")))]),e._v(" "),a("td",[e._v(e._s(e.data.label))])]):e._e(),e._v(" "),e.data.record_type?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.recordType")))]),e._v(" "),a("td",[e._v(e._s(e.$tc("globals.listTabs."+e.data.record_type,1)))])]):e._e(),e._v(" "),e.data.genres&&e.data.genres.data.length?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.genres")))]),e._v(" "),a("td",[e._v(e._s(e.data.genres.data.map(function(i){return i.name}).join("; ")))])]):e._e()]),e._v(" "),e.type=="album"?a("div",[a("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Album",params:{id:e.id}}}},[e._v(` `+e._s(e.$t("linkAnalyzer.table.tracklist"))+` - `)])],1):e._e(),e._v(" "),e.countries.length?n("div",e._l(e.countries,function(r){return n("p",[e._v(e._s(r[0])+" - "+e._s(r[1]))])}),0):e._e()])])},__vue_staticRenderFns__$l=[];const __vue_inject_styles__$l=void 0,__vue_scope_id__$l=void 0,__vue_is_functional_template__$l=!1;function __vue_normalize__$l(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="LinkAnalyzer.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var LinkAnalyzer=__vue_normalize__$l({render:__vue_render__$l,staticRenderFns:__vue_staticRenderFns__$l},__vue_inject_styles__$l,__vue_script__$j,__vue_scope_id__$l,__vue_is_functional_template__$l);const upperCaseFirstLowerCaseRest=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();var script$k={components:{CoverContainer},methods:{upperCaseFirstLowerCaseRest},computed:{fansNumber(){let e;try{e=this.$n(this.$attrs.info.nb_fan)}catch(a){e=this.$n(this.$attrs.info.nb_fan,{locale:"en"})}return this.$attrs.info.type=="artist"?this.$t("search.fans",{n:e}):this.$t("globals.by",{artist:this.$attrs.info.artist})+" - "+this.$tc("globals.listTabs.trackN",this.$attrs.info.nb_song)}}};const __vue_script__$k=script$k;var __vue_render__$m=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"flex flex-col items-center justify-center"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:e.upperCaseFirstLowerCaseRest(e.$attrs.info.type),params:{id:e.$attrs.info.id}}}},[n("CoverContainer",{staticClass:"w-40 h-40",attrs:{"is-rounded":e.$attrs.info.type!=="artist","is-circle":e.$attrs.info.type==="artist",cover:e.$attrs.info.picture,link:e.$attrs.info.link},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("p",{staticClass:"mt-4 mb-1 text-xl text-center transition-colors duration-200 ease-in-out hover:text-primary"},[e._v(` + `)])],1):e._e(),e._v(" "),e.countries.length?a("div",e._l(e.countries,function(i){return a("p",[e._v(e._s(i[0])+" - "+e._s(i[1]))])}),0):e._e()])])},__vue_staticRenderFns__$l=[];const __vue_inject_styles__$l=void 0,__vue_scope_id__$l=void 0,__vue_module_identifier__$l=void 0,__vue_is_functional_template__$l=!1;var LinkAnalyzer=normalizeComponent_1({render:__vue_render__$l,staticRenderFns:__vue_staticRenderFns__$l},__vue_inject_styles__$l,__vue_script__$j,__vue_scope_id__$l,__vue_is_functional_template__$l,__vue_module_identifier__$l,void 0,void 0);const upperCaseFirstLowerCaseRest=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();var script$k={components:{CoverContainer},methods:{upperCaseFirstLowerCaseRest},computed:{fansNumber(){let e;try{e=this.$n(this.$attrs.info.nb_fan)}catch(n){e=this.$n(this.$attrs.info.nb_fan,{locale:"en"})}return this.$attrs.info.type=="artist"?this.$t("search.fans",{n:e}):this.$t("globals.by",{artist:this.$attrs.info.artist})+" - "+this.$tc("globals.listTabs.trackN",this.$attrs.info.nb_song)}}};const __vue_script__$k=script$k;var __vue_render__$m=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"flex flex-col items-center justify-center"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:e.upperCaseFirstLowerCaseRest(e.$attrs.info.type),params:{id:e.$attrs.info.id}}}},[a("CoverContainer",{staticClass:"w-40 h-40",attrs:{"is-rounded":e.$attrs.info.type!=="artist","is-circle":e.$attrs.info.type==="artist",cover:e.$attrs.info.picture,link:e.$attrs.info.link},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),a("p",{staticClass:"mt-4 mb-1 text-xl text-center transition-colors duration-200 ease-in-out hover:text-primary"},[e._v(` `+e._s(e.$attrs.info.title)+` - `)])],1),e._v(" "),n("p",{staticClass:"mb-3 text-center secondary-text"},[e._v(` + `)])],1),e._v(" "),a("p",{staticClass:"mb-3 text-center secondary-text"},[e._v(` `+e._s(e.fansNumber)+` - `)]),e._v(" "),n("span",{staticClass:"p-1 px-2 text-xs text-center capitalize bg-primary rounded-xl"},[e._v(` + `)]),e._v(" "),a("span",{staticClass:"p-1 px-2 text-xs text-center capitalize bg-primary rounded-xl"},[e._v(` `+e._s(e.$tc("globals.listTabs."+e.$attrs.info.type,1))+` - `)])],1)},__vue_staticRenderFns__$m=[];const __vue_inject_styles__$m=void 0,__vue_scope_id__$m=void 0,__vue_is_functional_template__$m=!1;function __vue_normalize__$m(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TopResult.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TopResult=__vue_normalize__$m({render:__vue_render__$m,staticRenderFns:__vue_staticRenderFns__$m},__vue_inject_styles__$m,__vue_script__$k,__vue_scope_id__$m,__vue_is_functional_template__$m);function formatSingleTrack(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_LYRICS");return typeof a=="string"&&(a=a!=="0"),{trackTitle:getPropertyWithFallback(e,"title","SNG_TITLE"),trackTitleVersion:getPropertyWithFallback(e,"title_version","VERSION"),trackPreview:getPropertyWithFallback(e,"preview","MEDIA.0.HREF"),trackDuration:getPropertyWithFallback(e,"duration","DURATION"),trackLink:getPropertyWithFallback(e,"link")||`https://www.deezer.com/track/${e.SNG_ID}`,isTrackExplicit:a,artistID:getPropertyWithFallback(e,"artist.id","ART_ID"),artistName:getPropertyWithFallback(e,"artist.name","ART_NAME"),albumID:getPropertyWithFallback(e,"album.id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"album.title","ALB_TITLE"),albumPicture:getPropertyWithFallback(e,"album.cover_small")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/56x56-000000-80-0-0.jpg`}}function formatAlbums(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS");return typeof a=="number"&&(a=a===1),{albumID:getPropertyWithFallback(e,"id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"title","ALB_TITLE"),albumCoverMedium:getPropertyWithFallback(e,"cover_medium")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/156x156-000000-80-0-0.jpg`,albumLink:getPropertyWithFallback(e,"link")||`https://deezer.com/album/${e.ALB_ID}`,albumTracks:getPropertyWithFallback(e,"nb_tracks","NUMBER_TRACK"),isAlbumExplicit:a,artistName:getPropertyWithFallback(e,"artist.name","ART_NAME")}}function formatArtist(e){return{artistID:getPropertyWithFallback(e,"id","ART_ID"),artistName:getPropertyWithFallback(e,"name","ART_NAME"),artistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/artist/${e.ART_PICTURE}/156x156-000000-80-0-0.jpg`,artistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/artist/${e.ART_ID}`,artistAlbumsNumber:getPropertyWithFallback(e,"nb_album","NB_FAN")}}function formatPlaylist(e){return{playlistID:getPropertyWithFallback(e,"id","PLAYLIST_ID"),playlistTitle:getPropertyWithFallback(e,"title","TITLE"),playlistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/${e.PICTURE_TYPE}/${e.PLAYLIST_PICTURE}/156x156-000000-80-0-0.jpg`,playlistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/playlist/${e.PLAYLIST_ID}`,playlistTracksNumber:getPropertyWithFallback(e,"nb_tracks","NB_SONG"),artistName:getPropertyWithFallback(e,"user.name")}}function formatTitle(e){const a=e.trackTitleVersion&&e.trackTitle.indexOf(e.trackTitleVersion)===-1;return`${e.trackTitle}${a?` ${e.trackTitleVersion}`:""}`}var script$l={components:{BaseLoadingPlaceholder,PreviewControls},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}},methods:{convertDuration,formatTitle,playPausePreview}};const __vue_script__$l=script$l;var __vue_render__$n=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsTrack")))])]):n("table",{staticClass:"table w-full table--tracks"},[e.wantHeaders?n("thead",[n("tr",{staticClass:"capitalize"},[n("th",{staticClass:"h-12 pb-3",attrs:{colspan:"2"}},[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.album",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[n("i",{staticClass:"material-icons"},[e._v("timer")])]),e._v(" "),n("th",{staticClass:"h-12 pb-3",staticStyle:{width:"3.5rem"}})])]):e._e(),e._v(" "),n("tbody",e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(r){return n("tr",{key:r.trackLink},[n("td",{staticClass:"table__icon table__icon--big"},[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":r.trackPreview},on:{click:function(i){return e.playPausePreview(i)}}},[r.trackPreview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:r.albumPicture}})],1)]),e._v(" "),n("td",{staticClass:"table__cell table__cell--large"},[n("div",{staticClass:"break-words table__cell-content table__cell-content--vertical-center"},[r.isTrackExplicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` - `+e._s(e.formatTitle(r))+` - `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Artist",params:{id:r.artistID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` - `+e._s(r.artistName)+` - `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Album",params:{id:r.albumID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` - `+e._s(r.albumTitle)+` - `)])]),e._v(" "),n("td",{staticClass:"table__cell table__cell--small table__cell--center"},[e._v(` - `+e._s(e.convertDuration(r.trackDuration))+` - `)]),e._v(" "),n("td",{staticClass:"cursor-pointer table__cell--center group",attrs:{"data-link":r.trackLink,"aria-label":"download"},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` + `)])],1)},__vue_staticRenderFns__$m=[];const __vue_inject_styles__$m=void 0,__vue_scope_id__$m=void 0,__vue_module_identifier__$m=void 0,__vue_is_functional_template__$m=!1;var TopResult=normalizeComponent_1({render:__vue_render__$m,staticRenderFns:__vue_staticRenderFns__$m},__vue_inject_styles__$m,__vue_script__$k,__vue_scope_id__$m,__vue_is_functional_template__$m,__vue_module_identifier__$m,void 0,void 0);function formatSingleTrack(e){let n=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_LYRICS");return typeof n=="string"&&(n=n!=="0"),{trackTitle:getPropertyWithFallback(e,"title","SNG_TITLE"),trackTitleVersion:getPropertyWithFallback(e,"title_version","VERSION"),trackPreview:getPropertyWithFallback(e,"preview","MEDIA.0.HREF"),trackDuration:getPropertyWithFallback(e,"duration","DURATION"),trackLink:getPropertyWithFallback(e,"link")||`https://www.deezer.com/track/${e.SNG_ID}`,isTrackExplicit:n,artistID:getPropertyWithFallback(e,"artist.id","ART_ID"),artistName:getPropertyWithFallback(e,"artist.name","ART_NAME"),albumID:getPropertyWithFallback(e,"album.id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"album.title","ALB_TITLE"),albumPicture:getPropertyWithFallback(e,"album.cover_small")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/56x56-000000-80-0-0.jpg`}}function formatAlbums(e){let n=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS");return typeof n=="number"&&(n=n===1),{albumID:getPropertyWithFallback(e,"id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"title","ALB_TITLE"),albumCoverMedium:getPropertyWithFallback(e,"cover_medium")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/156x156-000000-80-0-0.jpg`,albumLink:getPropertyWithFallback(e,"link")||`https://deezer.com/album/${e.ALB_ID}`,albumTracks:getPropertyWithFallback(e,"nb_tracks","NUMBER_TRACK"),isAlbumExplicit:n,artistName:getPropertyWithFallback(e,"artist.name","ART_NAME")}}function formatArtist(e){return{artistID:getPropertyWithFallback(e,"id","ART_ID"),artistName:getPropertyWithFallback(e,"name","ART_NAME"),artistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/artist/${e.ART_PICTURE}/156x156-000000-80-0-0.jpg`,artistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/artist/${e.ART_ID}`,artistAlbumsNumber:getPropertyWithFallback(e,"nb_album","NB_FAN")}}function formatPlaylist(e){return{playlistID:getPropertyWithFallback(e,"id","PLAYLIST_ID"),playlistTitle:getPropertyWithFallback(e,"title","TITLE"),playlistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/${e.PICTURE_TYPE}/${e.PLAYLIST_PICTURE}/156x156-000000-80-0-0.jpg`,playlistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/playlist/${e.PLAYLIST_ID}`,playlistTracksNumber:getPropertyWithFallback(e,"nb_tracks","NB_SONG"),artistName:getPropertyWithFallback(e,"user.name")}}function formatTitle(e){const n=e.trackTitleVersion&&e.trackTitle.indexOf(e.trackTitleVersion)===-1;return`${e.trackTitle}${n?` ${e.trackTitleVersion}`:""}`}var script$l={components:{BaseLoadingPlaceholder,PreviewControls},props:{viewInfo:{validator:function(e){let n=Object.is(e,null),a=Object.prototype.toString.call(e)==="[object Object]";return n||a},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}},methods:{convertDuration,formatTitle,playPausePreview}};const __vue_script__$l=script$l;var __vue_render__$n=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsTrack")))])]):a("table",{staticClass:"table w-full table--tracks"},[e.wantHeaders?a("thead",[a("tr",{staticClass:"capitalize"},[a("th",{staticClass:"h-12 pb-3",attrs:{colspan:"2"}},[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),a("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),a("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.album",1)))]),e._v(" "),a("th",{staticClass:"h-12 pb-3"},[a("i",{staticClass:"material-icons"},[e._v("timer")])]),e._v(" "),a("th",{staticClass:"h-12 pb-3",staticStyle:{width:"3.5rem"}})])]):e._e(),e._v(" "),a("tbody",e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return a("tr",{key:i.trackLink},[a("td",{staticClass:"table__icon table__icon--big"},[a("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.trackPreview},on:{click:function(r){return e.playPausePreview(r)}}},[i.trackPreview?a("PreviewControls"):e._e(),e._v(" "),a("img",{staticClass:"rounded coverart",attrs:{src:i.albumPicture}})],1)]),e._v(" "),a("td",{staticClass:"table__cell table__cell--large"},[a("div",{staticClass:"break-words table__cell-content table__cell-content--vertical-center"},[i.isTrackExplicit?a("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` + `+e._s(e.formatTitle(i))+` + `)])]),e._v(" "),a("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artistID}}}},[a("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` + `+e._s(i.artistName)+` + `)])]),e._v(" "),a("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Album",params:{id:i.albumID}}}},[a("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` + `+e._s(i.albumTitle)+` + `)])]),e._v(" "),a("td",{staticClass:"table__cell table__cell--small table__cell--center"},[e._v(` + `+e._s(e.convertDuration(i.trackDuration))+` + `)]),e._v(" "),a("td",{staticClass:"cursor-pointer table__cell--center group",attrs:{"data-link":i.trackLink,"aria-label":"download"},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}},[a("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` get_app - `)])])],1)}),0)])]],2)},__vue_staticRenderFns__$n=[];const __vue_inject_styles__$n=void 0,__vue_scope_id__$n=void 0,__vue_is_functional_template__$n=!1;function __vue_normalize__$n(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsTracks.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsTracks=__vue_normalize__$n({render:__vue_render__$n,staticRenderFns:__vue_staticRenderFns__$n},__vue_inject_styles__$n,__vue_script__$l,__vue_scope_id__$n,__vue_is_functional_template__$n),script$m={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$m=script$m;var __vue_render__$o=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsAlbum")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(r){return n("div",{key:r.albumID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Album",params:{id:r.albumID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.albumCoverMedium,link:r.albumLink},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[r.isAlbumExplicit?n("i",{staticClass:"material-icons title-icon",staticStyle:{"font-size":"1.0625rem !important"}},[e._v(` + `)])])],1)}),0)])]],2)},__vue_staticRenderFns__$n=[];const __vue_inject_styles__$n=void 0,__vue_scope_id__$n=void 0,__vue_module_identifier__$n=void 0,__vue_is_functional_template__$n=!1;var ResultsTracks=normalizeComponent_1({render:__vue_render__$n,staticRenderFns:__vue_staticRenderFns__$n},__vue_inject_styles__$n,__vue_script__$l,__vue_scope_id__$n,__vue_is_functional_template__$n,__vue_module_identifier__$n,void 0,void 0),script$m={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let n=Object.is(e,null),a=Object.prototype.toString.call(e)==="[object Object]";return n||a},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$m=script$m;var __vue_render__$o=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsAlbum")))])]):a("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return a("div",{key:i.albumID,staticClass:"w-40 release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Album",params:{id:i.albumID}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.albumCoverMedium,link:i.albumLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),a("span",{staticClass:"primary-text"},[i.isAlbumExplicit?a("i",{staticClass:"material-icons title-icon",staticStyle:{"font-size":"1.0625rem !important"}},[e._v(` explicit `)]):e._e(),e._v(` - `+e._s(r.albumTitle)+` - `)])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:r.artistName})+" - "+e.$tc("globals.listTabs.trackN",r.albumTracks))+` - `)])],1)}),0)]],2)},__vue_staticRenderFns__$o=[];const __vue_inject_styles__$o=void 0,__vue_scope_id__$o=void 0,__vue_is_functional_template__$o=!1;function __vue_normalize__$o(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsAlbums.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsAlbums=__vue_normalize__$o({render:__vue_render__$o,staticRenderFns:__vue_staticRenderFns__$o},__vue_inject_styles__$o,__vue_script__$m,__vue_scope_id__$o,__vue_is_functional_template__$o),script$n={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$n=script$n;var __vue_render__$p=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsArtist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(r){return n("div",{key:r.artistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Artist",params:{id:r.artistID}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:r.artistPictureMedium,link:r.artistLink},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` - `+e._s(r.artistName)+` - `)])],1)],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_is_functional_template__$p=!1;function __vue_normalize__$p(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsArtists.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsArtists=__vue_normalize__$p({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p),script$o={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsPlaylist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(r){return n("div",{key:r.playlistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:r.playlistID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.playlistPictureMedium,link:r.playlistLink},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` - `+e._s(r.playlistTitle)+` - `)])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:r.artistName})+" - "+e.$tc("globals.listTabs.trackN",r.playlistTracksNumber))+` - `)])],1)}),0)]],2)},__vue_staticRenderFns__$q=[];const __vue_inject_styles__$q=void 0,__vue_scope_id__$q=void 0,__vue_is_functional_template__$q=!1;function __vue_normalize__$q(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsPlaylists.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsPlaylists=__vue_normalize__$q({render:__vue_render__$q,staticRenderFns:__vue_staticRenderFns__$q},__vue_inject_styles__$q,__vue_script__$o,__vue_scope_id__$q,__vue_is_functional_template__$q),script$p={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){let e=!!this.viewInfo;if(!e)return!1;let a=this.viewInfo.ORDER.every(n=>n==="TOP_RESULT"?this.viewInfo[n].length===0:this.viewInfo[n].data.length===0);return!a}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$p=script$p;var __vue_render__$r=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(r){return n("section",{key:r,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(r)?[n("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":r==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":r!=="TOP_RESULT"},on:{click:function(i){return e.$emit("change-search-tab",r)}}},[e._v(` - `+e._s(e.$tc("globals.listTabs."+r.toLowerCase(),2))+` - `)]),e._v(" "),r==="TOP_RESULT"?n("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r==="TRACK"?n("ResultsTracks",{attrs:{viewInfo:e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r=="ALBUM"?n("ResultsAlbums",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r=="PLAYLIST"?n("ResultsPlaylists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r==="ARTIST"?n("ResultsArtists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ARTIST,e.formatArtist),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):e._e()]:e._e()],2)}):n("div",[n("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)},__vue_staticRenderFns__$r=[];const __vue_inject_styles__$r=void 0,__vue_scope_id__$r=void 0,__vue_is_functional_template__$r=!1;function __vue_normalize__$r(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsAll.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsAll=__vue_normalize__$r({render:__vue_render__$r,staticRenderFns:__vue_staticRenderFns__$r},__vue_inject_styles__$r,__vue_script__$p,__vue_scope_id__$r,__vue_is_functional_template__$r);const searchResult=ref$2({});function performMainSearch(e){socket.emit("mainSearch",{term:e}),socket.on("mainSearch",a=>{searchResult.value=a,socket.off("mainSearch")})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:r=30}){socket.emit("search",{term:e,type:a,start:n,nb:r}),socket.on("search",i=>{result.value=i,socket.off("search")})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$q=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:r,performMainSearch:i}=useMainSearch(),{result:s,performSearch:l}=useSearch(),c=computed(()=>a.root.$route.query.term),o=computed(()=>n.results.query===""),u=ref$2(!1),d=computed(()=>Object.keys(r.value).length!==0),f=computed(()=>r.value.QUERY!==c.value);d.value&&!f.value&&onMounted(()=>{h(r.value)}),c.value&&(!d.value||f.value)&&(i(c.value),u.value=!0);function h(m){u.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,l({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(b=>b.searchType==="all")}return watch(r,h),watch(s,m=>{const{next:b,total:T,type:M,data:R}=m,$=`${M}Tab`;let z=T;if(b&&(z=parseInt(b.match(/index=(\d*)/)[1])),n.results[$].total!==T&&(n.results[$].total=T),n.results[$].next!==z){n.results[$].next=z;const C=n.results[$].data.concat(R),S=uniqWith(C,(A,w)=>A.id===w.id);n.results[$].data=S}n.results[$].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:u,isQueryEmpty:o,searchResult:r,performMainSearch:i,performSearch:l}},computed:{loadedTabs(){const e=[];for(const a in this.results)if(this.results.hasOwnProperty(a)&&a!=="query"){const n=this.results[a];n.hasLoaded&&e.push(a.replace(/Tab/g,""))}return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`,a=this.results[e].next + `+e._s(i.albumTitle)+` + `)])],1),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `+e._s(e.$t("globals.by",{artist:i.artistName})+" - "+e.$tc("globals.listTabs.trackN",i.albumTracks))+` + `)])],1)}),0)]],2)},__vue_staticRenderFns__$o=[];const __vue_inject_styles__$o=void 0,__vue_scope_id__$o=void 0,__vue_module_identifier__$o=void 0,__vue_is_functional_template__$o=!1;var ResultsAlbums=normalizeComponent_1({render:__vue_render__$o,staticRenderFns:__vue_staticRenderFns__$o},__vue_inject_styles__$o,__vue_script__$m,__vue_scope_id__$o,__vue_is_functional_template__$o,__vue_module_identifier__$o,void 0,void 0),script$n={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let n=Object.is(e,null),a=Object.prototype.toString.call(e)==="[object Object]";return n||a},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$n=script$n;var __vue_render__$p=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsArtist")))])]):a("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return a("div",{key:i.artistID,staticClass:"w-40 release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Artist",params:{id:i.artistID}}}},[a("CoverContainer",{attrs:{"is-circle":"",cover:i.artistPictureMedium,link:i.artistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),a("span",{staticClass:"primary-text"},[e._v(` + `+e._s(i.artistName)+` + `)])],1)],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_module_identifier__$p=void 0,__vue_is_functional_template__$p=!1;var ResultsArtists=normalizeComponent_1({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p,__vue_module_identifier__$p,void 0,void 0),script$o={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let n=Object.is(e,null),a=Object.prototype.toString.call(e)==="[object Object]";return n||a},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsPlaylist")))])]):a("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return a("div",{key:i.playlistID,staticClass:"w-40 release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.playlistID}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.playlistPictureMedium,link:i.playlistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),a("span",{staticClass:"primary-text"},[e._v(` + `+e._s(i.playlistTitle)+` + `)])],1),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `+e._s(e.$t("globals.by",{artist:i.artistName})+" - "+e.$tc("globals.listTabs.trackN",i.playlistTracksNumber))+` + `)])],1)}),0)]],2)},__vue_staticRenderFns__$q=[];const __vue_inject_styles__$q=void 0,__vue_scope_id__$q=void 0,__vue_module_identifier__$q=void 0,__vue_is_functional_template__$q=!1;var ResultsPlaylists=normalizeComponent_1({render:__vue_render__$q,staticRenderFns:__vue_staticRenderFns__$q},__vue_inject_styles__$q,__vue_script__$o,__vue_scope_id__$q,__vue_is_functional_template__$q,__vue_module_identifier__$q,void 0,void 0),script$p={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){return!this.viewInfo?!1:!this.viewInfo.ORDER.every(a=>a==="TOP_RESULT"?this.viewInfo[a].length===0:this.viewInfo[a].data.length===0)}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$p=script$p;var __vue_render__$r=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(i){return a("section",{key:i,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(i)?[a("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":i==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":i!=="TOP_RESULT"},on:{click:function(r){return e.$emit("change-search-tab",i)}}},[e._v(` + `+e._s(e.$tc("globals.listTabs."+i.toLowerCase(),2))+` + `)]),e._v(" "),i==="TOP_RESULT"?a("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="TRACK"?a("ResultsTracks",{attrs:{viewInfo:e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="ALBUM"?a("ResultsAlbums",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="PLAYLIST"?a("ResultsPlaylists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="ARTIST"?a("ResultsArtists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ARTIST,e.formatArtist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):e._e()]:e._e()],2)}):a("div",[a("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)},__vue_staticRenderFns__$r=[];const __vue_inject_styles__$r=void 0,__vue_scope_id__$r=void 0,__vue_module_identifier__$r=void 0,__vue_is_functional_template__$r=!1;var ResultsAll=normalizeComponent_1({render:__vue_render__$r,staticRenderFns:__vue_staticRenderFns__$r},__vue_inject_styles__$r,__vue_script__$p,__vue_scope_id__$r,__vue_is_functional_template__$r,__vue_module_identifier__$r,void 0,void 0);const searchResult=ref$2({});function performMainSearch(e){socket.emit("mainSearch",{term:e}),socket.on("mainSearch",n=>{searchResult.value=n,socket.off("mainSearch")})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:n,start:a=0,nb:i=30}){socket.emit("search",{term:e,type:n,start:a,nb:i}),socket.on("search",r=>{result.value=r,socket.off("search")})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$q=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,n){const a=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:n.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:n.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:n.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:n.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:n.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:i,performMainSearch:r}=useMainSearch(),{result:s,performSearch:o}=useSearch(),l=computed(()=>n.root.$route.query.term),c=computed(()=>a.results.query===""),u=ref$2(!1),d=computed(()=>Object.keys(i.value).length!==0),f=computed(()=>i.value.QUERY!==l.value);d.value&&!f.value&&onMounted(()=>{h(i.value)}),l.value&&(!d.value||f.value)&&(r(l.value),u.value=!0);function h(m){u.value=!1,a.results.query=m.QUERY,a.results.allTab=m,a.results.allTab.TRACK.hasLoaded=!0,a.results.allTab.ALBUM.hasLoaded=!0,a.results.allTab.ARTIST.hasLoaded=!0,a.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(a.currentTab=lastTab.value,o({term:m.QUERY,type:a.currentTab.searchType})):a.currentTab=a.tabs.find(v=>v.searchType==="all")}return watch(i,h),watch(s,m=>{const{next:v,total:y,type:_,data:w}=m,A=`${_}Tab`;let S=y;if(v&&(S=parseInt(v.match(/index=(\d*)/)[1])),a.results[A].total!==y&&(a.results[A].total=y),a.results[A].next!==S){a.results[A].next=S;const M=a.results[A].data.concat(w),P=uniqWith(M,(z,C)=>z.id===C.id);a.results[A].data=P}a.results[A].hasLoaded=!0}),a.currentTab=a.tabs.find(m=>m.searchType==="all"),{...toRefs(a),isSearching:u,isQueryEmpty:c,searchResult:i,performMainSearch:r,performSearch:o}},computed:{loadedTabs(){const e=[];for(const n in this.results)this.results.hasOwnProperty(n)&&n!=="query"&&this.results[n].hasLoaded&&e.push(n.replace(/Tab/g,""));return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const n=this.tabs.find(a=>a.searchType===e);if(!n){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=n,lastTab.value=n},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`;this.results[e].next @@ -3877,920 +3838,920 @@ PERFORMANCE OF THIS SOFTWARE. -`,ar$1=`\r -\r - \r - \r - \r - image/svg+xml\r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r - \r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r - \r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r -\r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r - \r +`,ar$1=` + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `,ko$1=` @@ -4840,77 +4801,71 @@ PERFORMANCE OF THIS SOFTWARE. -`;const flags$1={it:it$1,en:gb,es:es$1,de:de$1,fr:fr$1,id:id$1,pt:pt$1,pt_br:br,ru:ru$1,tr:tr$1,vn:vn$1,hr:hr$1,ar:ar$1,ko:ko$1,ph:ph$1,zh_tw:tw,pl:pl$1};var script$r={props:{withArrow:{type:Boolean,default:!0}}};const __vue_script__$r=script$r;var __vue_render__$t=function(e,a){var n=a._c;return n("details",{class:[a.data.staticClass,{"with-arrow":a.props.withArrow}],style:a.data.staticStyle},[n("summary",{staticClass:"cursor-pointer"},[a._t("title",[a._v("Setting")])],2),a._v(" "),n("div",{staticClass:"my-5 space-y-5"},[a._t("default")],2)])},__vue_staticRenderFns__$t=[];const __vue_inject_styles__$t=function(e){if(!e)return;e("data-v-2058cea2_0",{source:"details>summary::-webkit-details-marker{display:none}details.with-arrow>summary::-webkit-details-marker{display:initial;vertical-align:var(--arrow-v-align,super)}",map:void 0,media:void 0})},__vue_scope_id__$t=void 0,__vue_module_identifier__$c=void 0,__vue_is_functional_template__$t=!0;function __vue_normalize__$t(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BaseAccordion.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$c(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$c.styles||(__vue_create_injector__$c.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var BaseAccordion=__vue_normalize__$t({render:__vue_render__$t,staticRenderFns:__vue_staticRenderFns__$t},__vue_inject_styles__$t,__vue_script__$r,__vue_scope_id__$t,__vue_is_functional_template__$t,__vue_module_identifier__$c,__vue_create_injector__$c),script$s={components:{BaseAccordion},props:{templateVariables:{type:Array,required:!0}}};const __vue_script__$s=script$s;var __vue_render__$u=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("BaseAccordion",{staticStyle:{"--arrow-v-align":"baseline","margin-bottom":"3rem"},scopedSlots:e._u([{key:"title",fn:function(){return[e._t("title")]},proxy:!0}],null,!0)},[e._v(" "),n("div",{staticClass:"flex flex-wrap p-4 space-x-2 rounded-2xl bg-background-secondary"},e._l(e.templateVariables,function(r){return n("span",{staticClass:"inline-block p-2 mt-2 tracking-wider rounded cursor-pointer bg-panels-bg first:ml-2 hover:shadow-outline",on:{click:function(i){return e.$emit("variable-click",r)}}},[e._v(` - `+e._s(r)+` - `)])}),0)])},__vue_staticRenderFns__$u=[];const __vue_inject_styles__$u=void 0,__vue_scope_id__$u=void 0,__vue_is_functional_template__$u=!1;function __vue_normalize__$u(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TemplateVariablesList.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TemplateVariablesList=__vue_normalize__$u({render:__vue_render__$u,staticRenderFns:__vue_staticRenderFns__$u},__vue_inject_styles__$u,__vue_script__$s,__vue_scope_id__$u,__vue_is_functional_template__$u),script$t={components:{BaseAccordion,TemplateVariablesList},data(){return{flags:flags$1,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables}},computed:{...mapGetters({arl:"getARL",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"}),needToWait(){return Object.keys(this.getSettings).length===0},modelVolume:{get(){return this.previewVolume},set:debounce$1(function(e){this.setPreviewVolume(e)},20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}},async mounted(){const{settingsData:e,defaultSettingsData:a,spotifyCredentials:n}=await getSettingsData();this.defaultSettings=a,this.initSettings(e,n);let r=localStorage.getItem("accountNum");r&&(this.accountNum=r);let i=localStorage.getItem("spotifyUser");i&&(this.lastUser=i,this.spotifyUser=i,socket.emit("update_userSpotifyPlaylists",i)),socket.on("updateSettings",this.updateSettings),socket.on("accountChanged",this.accountChanged),socket.on("familyAccounts",this.initAccounts),socket.on("downloadFolderSelected",this.downloadFolderSelected),socket.on("applogin_arl",this.loggedInViaDeezer),this.$on("hook:destroyed",()=>{socket.off("updateSettings"),socket.off("accountChanged"),socket.off("familyAccounts"),socket.off("downloadFolderSelected"),socket.off("applogin_arl")})},methods:{...mapActions({dispatchARL:"setARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar"}),onTemplateVariableClick(e){copyToClipboard(e),toast(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){let e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),toast(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),socket.emit("saveSettings",this.lastSettings,this.lastCredentials,e?this.lastUser:!1)},selectDownloadFolder(){socket.emit("selectDownloadFolder")},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},loggedInViaDeezer(e){this.dispatchARL({arl:e}),socket.emit("login",e,!0,this.accountNum)},login(){let e=this.$refs.loginInput.value.trim();e&&e!==this.arl&&socket.emit("login",e,!0,this.accountNum)},appLogin(e){socket.emit("applogin")},changeAccount(){socket.emit("changeAccount",this.accountNum)},accountChanged(e,a){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=a,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},logout(){socket.emit("logout")},initSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.init"),"settings")},updateSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.update"),"settings")},resetToDefault(){const e=confirm(this.$t("settings.resetMessage"));if(!e)return;this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),toast(this.$t("settings.toasts.reset"),"settings")}}};const __vue_script__$t=script$t;var __vue_render__$v=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"fixed-footer"},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.title")))]),e._v(" "),e.isLoggedIn?n("div",{ref:"loggedInInfo",attrs:{id:"logged_in_info"}},[n("img",{ref:"userpicture",staticClass:"w-32 h-32 rounded-full",attrs:{id:"settings_picture",src:e.pictureHref,alt:"Profile Picture"}}),e._v(" "),n("i18n",{attrs:{path:"settings.login.loggedIn",tag:"p"},scopedSlots:e._u([{key:"username",fn:function(){return[n("strong",{ref:"username",attrs:{id:"settings_username"}},[e._v(e._s(e.user.name||"not logged"))])]},proxy:!0}],null,!1,2821744753)}),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.logout}},[e._v(` +`;const flags$1={it:it$1,en:gb,es:es$1,de:de$1,fr:fr$1,id:id$1,pt:pt$1,pt_br:br,ru:ru$1,tr:tr$1,vn:vn$1,hr:hr$1,ar:ar$1,ko:ko$1,ph:ph$1,zh_tw:tw,pl:pl$1};var script$r={props:{withArrow:{type:Boolean,default:!0}}};const __vue_script__$r=script$r;var __vue_render__$t=function(e,n){var a=n._c;return a("details",{class:[n.data.staticClass,{"with-arrow":n.props.withArrow}],style:n.data.staticStyle},[a("summary",{staticClass:"cursor-pointer"},[n._t("title",[n._v("Setting")])],2),n._v(" "),a("div",{staticClass:"my-5 space-y-5"},[n._t("default")],2)])},__vue_staticRenderFns__$t=[];const __vue_inject_styles__$t=function(e){!e||e("data-v-2eaecb1a_0",{source:"details>summary::-webkit-details-marker{display:none}details.with-arrow>summary::-webkit-details-marker{display:initial;vertical-align:var(--arrow-v-align,super)}",map:void 0,media:void 0})},__vue_scope_id__$t=void 0,__vue_module_identifier__$t=void 0,__vue_is_functional_template__$t=!0;var BaseAccordion=normalizeComponent_1({render:__vue_render__$t,staticRenderFns:__vue_staticRenderFns__$t},__vue_inject_styles__$t,__vue_script__$r,__vue_scope_id__$t,__vue_is_functional_template__$t,__vue_module_identifier__$t,browser,void 0),script$s={components:{BaseAccordion},props:{templateVariables:{type:Array,required:!0}}};const __vue_script__$s=script$s;var __vue_render__$u=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("BaseAccordion",{staticStyle:{"--arrow-v-align":"baseline","margin-bottom":"3rem"},scopedSlots:e._u([{key:"title",fn:function(){return[e._t("title")]},proxy:!0}],null,!0)},[e._v(" "),a("div",{staticClass:"flex flex-wrap p-4 space-x-2 rounded-2xl bg-background-secondary"},e._l(e.templateVariables,function(i){return a("span",{staticClass:"inline-block p-2 mt-2 tracking-wider rounded cursor-pointer bg-panels-bg first:ml-2 hover:shadow-outline",on:{click:function(r){return e.$emit("variable-click",i)}}},[e._v(` + `+e._s(i)+` + `)])}),0)])},__vue_staticRenderFns__$u=[];const __vue_inject_styles__$u=void 0,__vue_scope_id__$u=void 0,__vue_module_identifier__$u=void 0,__vue_is_functional_template__$u=!1;var TemplateVariablesList=normalizeComponent_1({render:__vue_render__$u,staticRenderFns:__vue_staticRenderFns__$u},__vue_inject_styles__$u,__vue_script__$s,__vue_scope_id__$u,__vue_is_functional_template__$u,__vue_module_identifier__$u,void 0,void 0),script$t={components:{BaseAccordion,TemplateVariablesList},data(){return{flags:flags$1,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables}},computed:{...mapGetters({arl:"getARL",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"}),needToWait(){return Object.keys(this.getSettings).length===0},modelVolume:{get(){return this.previewVolume},set:debounce$1(function(e){this.setPreviewVolume(e)},20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}},async mounted(){const{settingsData:e,defaultSettingsData:n,spotifyCredentials:a}=await getSettingsData();this.defaultSettings=n,this.initSettings(e,a);let i=localStorage.getItem("accountNum");i&&(this.accountNum=i);let r=localStorage.getItem("spotifyUser");r&&(this.lastUser=r,this.spotifyUser=r,socket.emit("update_userSpotifyPlaylists",r)),socket.on("updateSettings",this.updateSettings),socket.on("accountChanged",this.accountChanged),socket.on("familyAccounts",this.initAccounts),socket.on("downloadFolderSelected",this.downloadFolderSelected),socket.on("applogin_arl",this.loggedInViaDeezer),this.$on("hook:destroyed",()=>{socket.off("updateSettings"),socket.off("accountChanged"),socket.off("familyAccounts"),socket.off("downloadFolderSelected"),socket.off("applogin_arl")})},methods:{...mapActions({dispatchARL:"setARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar"}),onTemplateVariableClick(e){copyToClipboard(e),toast(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){let e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),toast(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),socket.emit("saveSettings",this.lastSettings,this.lastCredentials,e?this.lastUser:!1)},selectDownloadFolder(){socket.emit("selectDownloadFolder")},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},loggedInViaDeezer(e){this.dispatchARL({arl:e}),socket.emit("login",e,!0,this.accountNum)},login(){let e=this.$refs.loginInput.value.trim();e&&e!==this.arl&&socket.emit("login",e,!0,this.accountNum)},appLogin(e){socket.emit("applogin")},changeAccount(){socket.emit("changeAccount",this.accountNum)},accountChanged(e,n){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=n,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},logout(){socket.emit("logout")},initSettings(e,n){this.loadSettings(e),this.loadCredentials(n),toast(this.$t("settings.toasts.init"),"settings")},updateSettings(e,n){this.loadSettings(e),this.loadCredentials(n),toast(this.$t("settings.toasts.update"),"settings")},resetToDefault(){!confirm(this.$t("settings.resetMessage"))||(this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),toast(this.$t("settings.toasts.reset"),"settings"))}}};const __vue_script__$t=script$t;var __vue_render__$v=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"fixed-footer"},[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.title")))]),e._v(" "),e.isLoggedIn?a("div",{ref:"loggedInInfo",attrs:{id:"logged_in_info"}},[a("img",{ref:"userpicture",staticClass:"w-32 h-32 rounded-full",attrs:{id:"settings_picture",src:e.pictureHref,alt:"Profile Picture"}}),e._v(" "),a("i18n",{attrs:{path:"settings.login.loggedIn",tag:"p"},scopedSlots:e._u([{key:"username",fn:function(){return[a("strong",{ref:"username",attrs:{id:"settings_username"}},[e._v(e._s(e.user.name||"not logged"))])]},proxy:!0}],null,!1,2821744753)}),e._v(" "),a("button",{staticClass:"btn btn-primary",on:{click:e.logout}},[e._v(` `+e._s(e.$t("settings.login.logout"))+` - `)]),e._v(" "),e.accounts.length>1?n("select",{directives:[{name:"model",rawName:"v-model",value:e.accountNum,expression:"accountNum"}],attrs:{id:"family_account"},on:{change:[function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.accountNum=r.target.multiple?i:i[0]},e.changeAccount]}},e._l(e.accounts,function(r,i){return n("option",{key:r,domProps:{value:i.toString()}},[e._v(` - `+e._s(r.name)+` - `)])}),0):e._e()],1):e._e(),e._v(" "),n("div",{staticClass:"settings-group"},[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("person")]),e._v(e._s(e.$t("settings.login.title")))]),e._v(" "),n("div",{staticClass:"my-5 space-y-5"},[n("div",{staticClass:"flex items-center"},[n("input",{ref:"loginInput",attrs:{id:"login_input_arl",autocomplete:"off",placeholder:"ARL",type:"password"},domProps:{value:e.arl}}),e._v(" "),n("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.copyARLtoClipboard}},[n("i",{staticClass:"material-icons"},[e._v("assignment")])])]),e._v(" "),n("RouterLink",{staticClass:"block",attrs:{to:{name:"ARL"}}},[e._v(` + `)]),e._v(" "),e.accounts.length>1?a("select",{directives:[{name:"model",rawName:"v-model",value:e.accountNum,expression:"accountNum"}],attrs:{id:"family_account"},on:{change:[function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.accountNum=i.target.multiple?r:r[0]},e.changeAccount]}},e._l(e.accounts,function(i,r){return a("option",{key:i,domProps:{value:r.toString()}},[e._v(` + `+e._s(i.name)+` + `)])}),0):e._e()],1):e._e(),e._v(" "),a("div",{staticClass:"settings-group"},[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("person")]),e._v(e._s(e.$t("settings.login.title")))]),e._v(" "),a("div",{staticClass:"my-5 space-y-5"},[a("div",{staticClass:"flex items-center"},[a("input",{ref:"loginInput",attrs:{id:"login_input_arl",autocomplete:"off",placeholder:"ARL",type:"password"},domProps:{value:e.arl}}),e._v(" "),a("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.copyARLtoClipboard}},[a("i",{staticClass:"material-icons"},[e._v("assignment")])])]),e._v(" "),a("RouterLink",{staticClass:"block",attrs:{to:{name:"ARL"}}},[e._v(` `+e._s(e.$t("settings.login.arl.question"))+` - `)]),e._v(" "),e.clientMode?n("a",{staticClass:"block",attrs:{href:"#"},on:{click:e.appLogin}},[e._v(` + `)]),e._v(" "),e.clientMode?a("a",{staticClass:"block",attrs:{href:"#"},on:{click:e.appLogin}},[e._v(` `+e._s(e.$t("settings.login.login"))+` - `)]):e._e(),e._v(" "),n("button",{staticClass:"btn btn-primary",staticStyle:{width:"100%"},on:{click:e.login}},[e._v(` + `)]):e._e(),e._v(" "),a("button",{staticClass:"btn btn-primary",staticStyle:{width:"100%"},on:{click:e.login}},[e._v(` `+e._s(e.$t("settings.login.arl.update"))+` - `)])],1)]),e._v(" "),n("div",{staticClass:"settings-group"},[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("language")]),e._v(e._s(e.$t("settings.languages")))]),e._v(" "),n("ul",{staticClass:"my-5"},e._l(e.locales,function(r){return n("li",{key:r,staticClass:"inline-flex items-center locale-flag",class:{"locale-flag--current":e.currentLocale===r},attrs:{title:r},domProps:{innerHTML:e._s(e.flags[r])},on:{click:function(i){return e.changeLocale(r)}}})}),0)]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("web")]),e._v(` + `)])],1)]),e._v(" "),a("div",{staticClass:"settings-group"},[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("language")]),e._v(e._s(e.$t("settings.languages")))]),e._v(" "),a("ul",{staticClass:"my-5"},e._l(e.locales,function(i){return a("li",{key:i,staticClass:"inline-flex items-center locale-flag",class:{"locale-flag--current":e.currentLocale===i},attrs:{title:i},domProps:{innerHTML:e._s(e.flags[i])},on:{click:function(r){return e.changeLocale(i)}}})}),0)]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("web")]),e._v(` `+e._s(e.$t("settings.appearance.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimDownloads,expression:"modelSlimDownloads"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimDownloads)?e._i(e.modelSlimDownloads,null)>-1:e.modelSlimDownloads},on:{change:function(r){var i=e.modelSlimDownloads,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&(e.modelSlimDownloads=i.concat([c])):o>-1&&(e.modelSlimDownloads=i.slice(0,o).concat(i.slice(o+1)))}else e.modelSlimDownloads=l}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimDownloadTab")))])]),e._v(" "),n("label",{staticClass:"mb-4 with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimSidebar,expression:"modelSlimSidebar"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimSidebar)?e._i(e.modelSlimSidebar,null)>-1:e.modelSlimSidebar},on:{change:function(r){var i=e.modelSlimSidebar,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&(e.modelSlimSidebar=i.concat([c])):o>-1&&(e.modelSlimSidebar=i.slice(0,o).concat(i.slice(o+1)))}else e.modelSlimSidebar=l}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimSidebar")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("folder")]),e._v(e._s(e.$t("settings.downloadPath.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"flex items-center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.downloadLocation,expression:"settings.downloadLocation"}],attrs:{autocomplete:"off",type:"text"},domProps:{value:e.settings.downloadLocation},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"downloadLocation",r.target.value)}}}),e._v(" "),e.clientMode?n("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.selectDownloadFolder}},[n("i",{staticClass:"material-icons"},[e._v("folder")])]):e._e()])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("font_download")]),e._v(e._s(e.$t("settings.templates.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.tracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tracknameTemplate,expression:"settings.tracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.tracknameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"tracknameTemplate",r.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` + `)])]},proxy:!0}])},[e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimDownloads,expression:"modelSlimDownloads"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimDownloads)?e._i(e.modelSlimDownloads,null)>-1:e.modelSlimDownloads},on:{change:function(i){var r=e.modelSlimDownloads,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimDownloads=r.concat([l])):c>-1&&(e.modelSlimDownloads=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimDownloads=o}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimDownloadTab")))])]),e._v(" "),a("label",{staticClass:"mb-4 with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimSidebar,expression:"modelSlimSidebar"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimSidebar)?e._i(e.modelSlimSidebar,null)>-1:e.modelSlimSidebar},on:{change:function(i){var r=e.modelSlimSidebar,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimSidebar=r.concat([l])):c>-1&&(e.modelSlimSidebar=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimSidebar=o}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimSidebar")))])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("folder")]),e._v(e._s(e.$t("settings.downloadPath.title"))+` + `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"flex items-center"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.downloadLocation,expression:"settings.downloadLocation"}],attrs:{autocomplete:"off",type:"text"},domProps:{value:e.settings.downloadLocation},on:{input:function(i){i.target.composing||e.$set(e.settings,"downloadLocation",i.target.value)}}}),e._v(" "),e.clientMode?a("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.selectDownloadFolder}},[a("i",{staticClass:"material-icons"},[e._v("folder")])]):e._e()])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("font_download")]),e._v(e._s(e.$t("settings.templates.title"))+` + `)])]},proxy:!0}])},[e._v(" "),a("p",[e._v(e._s(e.$t("settings.templates.tracknameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tracknameTemplate,expression:"settings.tracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.tracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"tracknameTemplate",i.target.value)}}}),e._v(" "),a("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` `+e._s(e.$t("settings.templates.tracknameAvailableVariables"))+` - `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.albumTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumTracknameTemplate,expression:"settings.albumTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumTracknameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"albumTracknameTemplate",r.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` + `)]},proxy:!0}])}),e._v(" "),a("p",[e._v(e._s(e.$t("settings.templates.albumTracknameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumTracknameTemplate,expression:"settings.albumTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumTracknameTemplate",i.target.value)}}}),e._v(" "),a("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` `+e._s(e.$t("settings.templates.albumTracknameAvailableVariables"))+` - `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.playlistTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistTracknameTemplate,expression:"settings.playlistTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistTracknameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"playlistTracknameTemplate",r.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` + `)]},proxy:!0}])}),e._v(" "),a("p",[e._v(e._s(e.$t("settings.templates.playlistTracknameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistTracknameTemplate,expression:"settings.playlistTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistTracknameTemplate",i.target.value)}}}),e._v(" "),a("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` `+e._s(e.$t("settings.templates.playlistTracknameAvailableVariables"))+` - `)]},proxy:!0}])})],1),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("create_new_folder")]),e._v(e._s(e.$t("settings.folders.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createPlaylistFolder,expression:"settings.createPlaylistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createPlaylistFolder)?e._i(e.settings.createPlaylistFolder,null)>-1:e.settings.createPlaylistFolder},on:{change:function(r){var i=e.settings.createPlaylistFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createPlaylistFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createPlaylistFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createPlaylistFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createPlaylistFolder")))])]),e._v(" "),e.settings.createPlaylistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.playlistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistNameTemplate,expression:"settings.playlistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistNameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"playlistNameTemplate",r.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createArtistFolder,expression:"settings.createArtistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createArtistFolder)?e._i(e.settings.createArtistFolder,null)>-1:e.settings.createArtistFolder},on:{change:function(r){var i=e.settings.createArtistFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createArtistFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createArtistFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createArtistFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createArtistFolder")))])]),e._v(" "),e.settings.createArtistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.artistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistNameTemplate,expression:"settings.artistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistNameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"artistNameTemplate",r.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createAlbumFolder,expression:"settings.createAlbumFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createAlbumFolder)?e._i(e.settings.createAlbumFolder,null)>-1:e.settings.createAlbumFolder},on:{change:function(r){var i=e.settings.createAlbumFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createAlbumFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createAlbumFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createAlbumFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createAlbumFolder")))])]),e._v(" "),e.settings.createAlbumFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.albumNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumNameTemplate,expression:"settings.albumNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumNameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"albumNameTemplate",r.target.value)}}})]):e._e()])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createCDFolder,expression:"settings.createCDFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createCDFolder)?e._i(e.settings.createCDFolder,null)>-1:e.settings.createCDFolder},on:{change:function(r){var i=e.settings.createCDFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createCDFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createCDFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createCDFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createCDFolder")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createStructurePlaylist,expression:"settings.createStructurePlaylist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createStructurePlaylist)?e._i(e.settings.createStructurePlaylist,null)>-1:e.settings.createStructurePlaylist},on:{change:function(r){var i=e.settings.createStructurePlaylist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createStructurePlaylist",i.concat([c])):o>-1&&e.$set(e.settings,"createStructurePlaylist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createStructurePlaylist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createStructurePlaylist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createSingleFolder,expression:"settings.createSingleFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createSingleFolder)?e._i(e.settings.createSingleFolder,null)>-1:e.settings.createSingleFolder},on:{change:function(r){var i=e.settings.createSingleFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createSingleFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createSingleFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createSingleFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createSingleFolder")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("title")]),e._v(e._s(e.$t("settings.trackTitles.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.padTracks,expression:"settings.padTracks"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.padTracks)?e._i(e.settings.padTracks,null)>-1:e.settings.padTracks},on:{change:function(r){var i=e.settings.padTracks,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"padTracks",i.concat([c])):o>-1&&e.$set(e.settings,"padTracks",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"padTracks",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.trackTitles.padTracks")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.paddingSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.paddingSize,expression:"settings.paddingSize"}],attrs:{max:"10",type:"number"},domProps:{value:e.settings.paddingSize},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"paddingSize",r.target.value)}}})])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.illegalCharacterReplacer")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.illegalCharacterReplacer,expression:"settings.illegalCharacterReplacer"}],attrs:{type:"text"},domProps:{value:e.settings.illegalCharacterReplacer},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"illegalCharacterReplacer",r.target.value)}}})])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("album")]),e._v(e._s(e.$t("settings.covers.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtwork,expression:"settings.saveArtwork"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtwork)?e._i(e.settings.saveArtwork,null)>-1:e.settings.saveArtwork},on:{change:function(r){var i=e.settings.saveArtwork,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"saveArtwork",i.concat([c])):o>-1&&e.$set(e.settings,"saveArtwork",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"saveArtwork",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtwork")))])]),e._v(" "),e.settings.saveArtwork?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.coverImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.coverImageTemplate,expression:"settings.coverImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.coverImageTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"coverImageTemplate",r.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtworkArtist,expression:"settings.saveArtworkArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtworkArtist)?e._i(e.settings.saveArtworkArtist,null)>-1:e.settings.saveArtworkArtist},on:{change:function(r){var i=e.settings.saveArtworkArtist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"saveArtworkArtist",i.concat([c])):o>-1&&e.$set(e.settings,"saveArtworkArtist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"saveArtworkArtist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtworkArtist")))])]),e._v(" "),e.settings.saveArtworkArtist?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.artistImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistImageTemplate,expression:"settings.artistImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistImageTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"artistImageTemplate",r.target.value)}}})]):e._e(),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.localArtworkSize,expression:"settings.localArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.localArtworkSize},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"localArtworkSize",e._n(r.target.value))},blur:function(r){return e.$forceUpdate()}}}),e._v(" "),e.settings.localArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` + `)]},proxy:!0}])})],1),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("create_new_folder")]),e._v(e._s(e.$t("settings.folders.title"))+` + `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__third"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createPlaylistFolder,expression:"settings.createPlaylistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createPlaylistFolder)?e._i(e.settings.createPlaylistFolder,null)>-1:e.settings.createPlaylistFolder},on:{change:function(i){var r=e.settings.createPlaylistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createPlaylistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createPlaylistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createPlaylistFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createPlaylistFolder")))])]),e._v(" "),e.settings.createPlaylistFolder?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.playlistNameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistNameTemplate,expression:"settings.playlistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),a("div",{staticClass:"settings-container__third"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createArtistFolder,expression:"settings.createArtistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createArtistFolder)?e._i(e.settings.createArtistFolder,null)>-1:e.settings.createArtistFolder},on:{change:function(i){var r=e.settings.createArtistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createArtistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createArtistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createArtistFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createArtistFolder")))])]),e._v(" "),e.settings.createArtistFolder?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.artistNameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistNameTemplate,expression:"settings.artistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),a("div",{staticClass:"settings-container__third"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createAlbumFolder,expression:"settings.createAlbumFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createAlbumFolder)?e._i(e.settings.createAlbumFolder,null)>-1:e.settings.createAlbumFolder},on:{change:function(i){var r=e.settings.createAlbumFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createAlbumFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createAlbumFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createAlbumFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createAlbumFolder")))])]),e._v(" "),e.settings.createAlbumFolder?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.albumNameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumNameTemplate,expression:"settings.albumNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumNameTemplate",i.target.value)}}})]):e._e()])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createCDFolder,expression:"settings.createCDFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createCDFolder)?e._i(e.settings.createCDFolder,null)>-1:e.settings.createCDFolder},on:{change:function(i){var r=e.settings.createCDFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createCDFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createCDFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createCDFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createCDFolder")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createStructurePlaylist,expression:"settings.createStructurePlaylist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createStructurePlaylist)?e._i(e.settings.createStructurePlaylist,null)>-1:e.settings.createStructurePlaylist},on:{change:function(i){var r=e.settings.createStructurePlaylist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createStructurePlaylist",r.concat([l])):c>-1&&e.$set(e.settings,"createStructurePlaylist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createStructurePlaylist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createStructurePlaylist")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createSingleFolder,expression:"settings.createSingleFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createSingleFolder)?e._i(e.settings.createSingleFolder,null)>-1:e.settings.createSingleFolder},on:{change:function(i){var r=e.settings.createSingleFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createSingleFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createSingleFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createSingleFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createSingleFolder")))])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("title")]),e._v(e._s(e.$t("settings.trackTitles.title"))+` + `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.padTracks,expression:"settings.padTracks"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.padTracks)?e._i(e.settings.padTracks,null)>-1:e.settings.padTracks},on:{change:function(i){var r=e.settings.padTracks,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"padTracks",r.concat([l])):c>-1&&e.$set(e.settings,"padTracks",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"padTracks",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.trackTitles.padTracks")))])])]),e._v(" "),a("div",{staticClass:"settings-container__third"},[a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.paddingSize")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.paddingSize,expression:"settings.paddingSize"}],attrs:{max:"10",type:"number"},domProps:{value:e.settings.paddingSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"paddingSize",i.target.value)}}})])]),e._v(" "),a("div",{staticClass:"settings-container__third"},[a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.illegalCharacterReplacer")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.illegalCharacterReplacer,expression:"settings.illegalCharacterReplacer"}],attrs:{type:"text"},domProps:{value:e.settings.illegalCharacterReplacer},on:{input:function(i){i.target.composing||e.$set(e.settings,"illegalCharacterReplacer",i.target.value)}}})])])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("album")]),e._v(e._s(e.$t("settings.covers.title")))])]},proxy:!0}])},[e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtwork,expression:"settings.saveArtwork"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtwork)?e._i(e.settings.saveArtwork,null)>-1:e.settings.saveArtwork},on:{change:function(i){var r=e.settings.saveArtwork,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtwork",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtwork",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtwork",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtwork")))])]),e._v(" "),e.settings.saveArtwork?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.coverImageTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.coverImageTemplate,expression:"settings.coverImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.coverImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"coverImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtworkArtist,expression:"settings.saveArtworkArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtworkArtist)?e._i(e.settings.saveArtworkArtist,null)>-1:e.settings.saveArtworkArtist},on:{change:function(i){var r=e.settings.saveArtworkArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtworkArtist",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtworkArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtworkArtist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtworkArtist")))])]),e._v(" "),e.settings.saveArtworkArtist?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.artistImageTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistImageTemplate,expression:"settings.artistImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkSize")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.localArtworkSize,expression:"settings.localArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.localArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"localArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.localArtworkSize>1200?a("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` \u26A0\uFE0F `+e._s(e.$t("settings.covers.imageSizeWarning"))+` - `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.embeddedArtworkSize,expression:"settings.embeddedArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.embeddedArtworkSize},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"embeddedArtworkSize",e._n(r.target.value))},blur:function(r){return e.$forceUpdate()}}}),e._v(" "),e.settings.embeddedArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` + `)]):e._e()]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkSize")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.embeddedArtworkSize,expression:"settings.embeddedArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.embeddedArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"embeddedArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.embeddedArtworkSize>1200?a("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` \u26A0\uFE0F `+e._s(e.$t("settings.covers.imageSizeWarning"))+` - `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.localArtworkFormat,expression:"settings.localArtworkFormat"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"localArtworkFormat",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"jpg"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.jpg")))]),e._v(" "),n("option",{attrs:{value:"png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.png")))]),e._v(" "),n("option",{attrs:{value:"jpg,png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.both")))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.embeddedArtworkPNG,expression:"settings.embeddedArtworkPNG"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.embeddedArtworkPNG)?e._i(e.settings.embeddedArtworkPNG,null)>-1:e.settings.embeddedArtworkPNG},on:{change:function(r){var i=e.settings.embeddedArtworkPNG,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"embeddedArtworkPNG",i.concat([c])):o>-1&&e.$set(e.settings,"embeddedArtworkPNG",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"embeddedArtworkPNG",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkPNG")))])]),e._v(" "),e.settings.embeddedArtworkPNG?n("p",{staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` + `)]):e._e()]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.localArtworkFormat,expression:"settings.localArtworkFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"localArtworkFormat",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"jpg"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.jpg")))]),e._v(" "),a("option",{attrs:{value:"png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.png")))]),e._v(" "),a("option",{attrs:{value:"jpg,png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.both")))])])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.embeddedArtworkPNG,expression:"settings.embeddedArtworkPNG"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.embeddedArtworkPNG)?e._i(e.settings.embeddedArtworkPNG,null)>-1:e.settings.embeddedArtworkPNG},on:{change:function(i){var r=e.settings.embeddedArtworkPNG,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"embeddedArtworkPNG",r.concat([l])):c>-1&&e.$set(e.settings,"embeddedArtworkPNG",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"embeddedArtworkPNG",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkPNG")))])]),e._v(" "),e.settings.embeddedArtworkPNG?a("p",{staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` \u26A0\uFE0F `+e._s(e.$t("settings.covers.embeddedPNGWarning"))+` - `)]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.coverDescriptionUTF8,expression:"settings.tags.coverDescriptionUTF8"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.coverDescriptionUTF8)?e._i(e.settings.tags.coverDescriptionUTF8,null)>-1:e.settings.tags.coverDescriptionUTF8},on:{change:function(r){var i=e.settings.tags.coverDescriptionUTF8,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"coverDescriptionUTF8",i.concat([c])):o>-1&&e.$set(e.settings.tags,"coverDescriptionUTF8",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"coverDescriptionUTF8",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.coverDescriptionUTF8")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.jpegImageQuality")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.jpegImageQuality,expression:"settings.jpegImageQuality",modifiers:{number:!0}}],attrs:{max:"100",min:"1",type:"number"},domProps:{value:e.settings.jpegImageQuality},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"jpegImageQuality",e._n(r.target.value))},blur:function(r){return e.$forceUpdate()}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons",staticStyle:{width:"1em",height:"1em"}},[e._v("bookmarks")]),e._v(e._s(e.$t("settings.tags.head"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.title,expression:"settings.tags.title"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.title)?e._i(e.settings.tags.title,null)>-1:e.settings.tags.title},on:{change:function(r){var i=e.settings.tags.title,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"title",i.concat([c])):o>-1&&e.$set(e.settings.tags,"title",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"title",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.title")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.artist,expression:"settings.tags.artist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.artist)?e._i(e.settings.tags.artist,null)>-1:e.settings.tags.artist},on:{change:function(r){var i=e.settings.tags.artist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"artist",i.concat([c])):o>-1&&e.$set(e.settings.tags,"artist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"artist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.artist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.album,expression:"settings.tags.album"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.album)?e._i(e.settings.tags.album,null)>-1:e.settings.tags.album},on:{change:function(r){var i=e.settings.tags.album,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"album",i.concat([c])):o>-1&&e.$set(e.settings.tags,"album",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"album",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.album")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.cover,expression:"settings.tags.cover"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.cover)?e._i(e.settings.tags.cover,null)>-1:e.settings.tags.cover},on:{change:function(r){var i=e.settings.tags.cover,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"cover",i.concat([c])):o>-1&&e.$set(e.settings.tags,"cover",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"cover",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.cover")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackNumber,expression:"settings.tags.trackNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackNumber)?e._i(e.settings.tags.trackNumber,null)>-1:e.settings.tags.trackNumber},on:{change:function(r){var i=e.settings.tags.trackNumber,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"trackNumber",i.concat([c])):o>-1&&e.$set(e.settings.tags,"trackNumber",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"trackNumber",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackTotal,expression:"settings.tags.trackTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackTotal)?e._i(e.settings.tags.trackTotal,null)>-1:e.settings.tags.trackTotal},on:{change:function(r){var i=e.settings.tags.trackTotal,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"trackTotal",i.concat([c])):o>-1&&e.$set(e.settings.tags,"trackTotal",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"trackTotal",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discNumber,expression:"settings.tags.discNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discNumber)?e._i(e.settings.tags.discNumber,null)>-1:e.settings.tags.discNumber},on:{change:function(r){var i=e.settings.tags.discNumber,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"discNumber",i.concat([c])):o>-1&&e.$set(e.settings.tags,"discNumber",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"discNumber",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discTotal,expression:"settings.tags.discTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discTotal)?e._i(e.settings.tags.discTotal,null)>-1:e.settings.tags.discTotal},on:{change:function(r){var i=e.settings.tags.discTotal,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"discTotal",i.concat([c])):o>-1&&e.$set(e.settings.tags,"discTotal",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"discTotal",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.albumArtist,expression:"settings.tags.albumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.albumArtist)?e._i(e.settings.tags.albumArtist,null)>-1:e.settings.tags.albumArtist},on:{change:function(r){var i=e.settings.tags.albumArtist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"albumArtist",i.concat([c])):o>-1&&e.$set(e.settings.tags,"albumArtist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"albumArtist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.albumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.genre,expression:"settings.tags.genre"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.genre)?e._i(e.settings.tags.genre,null)>-1:e.settings.tags.genre},on:{change:function(r){var i=e.settings.tags.genre,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"genre",i.concat([c])):o>-1&&e.$set(e.settings.tags,"genre",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"genre",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.genre")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.year,expression:"settings.tags.year"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.year)?e._i(e.settings.tags.year,null)>-1:e.settings.tags.year},on:{change:function(r){var i=e.settings.tags.year,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"year",i.concat([c])):o>-1&&e.$set(e.settings.tags,"year",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"year",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.year")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.date,expression:"settings.tags.date"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.date)?e._i(e.settings.tags.date,null)>-1:e.settings.tags.date},on:{change:function(r){var i=e.settings.tags.date,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"date",i.concat([c])):o>-1&&e.$set(e.settings.tags,"date",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"date",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.date")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.explicit,expression:"settings.tags.explicit"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.explicit)?e._i(e.settings.tags.explicit,null)>-1:e.settings.tags.explicit},on:{change:function(r){var i=e.settings.tags.explicit,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"explicit",i.concat([c])):o>-1&&e.$set(e.settings.tags,"explicit",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"explicit",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.explicit")))])])]),e._v(" "),n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.isrc,expression:"settings.tags.isrc"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.isrc)?e._i(e.settings.tags.isrc,null)>-1:e.settings.tags.isrc},on:{change:function(r){var i=e.settings.tags.isrc,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"isrc",i.concat([c])):o>-1&&e.$set(e.settings.tags,"isrc",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"isrc",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.isrc")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.length,expression:"settings.tags.length"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.length)?e._i(e.settings.tags.length,null)>-1:e.settings.tags.length},on:{change:function(r){var i=e.settings.tags.length,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"length",i.concat([c])):o>-1&&e.$set(e.settings.tags,"length",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"length",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.length")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.barcode,expression:"settings.tags.barcode"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.barcode)?e._i(e.settings.tags.barcode,null)>-1:e.settings.tags.barcode},on:{change:function(r){var i=e.settings.tags.barcode,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"barcode",i.concat([c])):o>-1&&e.$set(e.settings.tags,"barcode",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"barcode",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.barcode")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.bpm,expression:"settings.tags.bpm"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.bpm)?e._i(e.settings.tags.bpm,null)>-1:e.settings.tags.bpm},on:{change:function(r){var i=e.settings.tags.bpm,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"bpm",i.concat([c])):o>-1&&e.$set(e.settings.tags,"bpm",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"bpm",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.bpm")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.replayGain,expression:"settings.tags.replayGain"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.replayGain)?e._i(e.settings.tags.replayGain,null)>-1:e.settings.tags.replayGain},on:{change:function(r){var i=e.settings.tags.replayGain,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"replayGain",i.concat([c])):o>-1&&e.$set(e.settings.tags,"replayGain",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"replayGain",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.replayGain")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.label,expression:"settings.tags.label"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.label)?e._i(e.settings.tags.label,null)>-1:e.settings.tags.label},on:{change:function(r){var i=e.settings.tags.label,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"label",i.concat([c])):o>-1&&e.$set(e.settings.tags,"label",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"label",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.label")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.lyrics,expression:"settings.tags.lyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.lyrics)?e._i(e.settings.tags.lyrics,null)>-1:e.settings.tags.lyrics},on:{change:function(r){var i=e.settings.tags.lyrics,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"lyrics",i.concat([c])):o>-1&&e.$set(e.settings.tags,"lyrics",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"lyrics",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.lyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.syncedLyrics,expression:"settings.tags.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.syncedLyrics)?e._i(e.settings.tags.syncedLyrics,null)>-1:e.settings.tags.syncedLyrics},on:{change:function(r){var i=e.settings.tags.syncedLyrics,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"syncedLyrics",i.concat([c])):o>-1&&e.$set(e.settings.tags,"syncedLyrics",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"syncedLyrics",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.copyright,expression:"settings.tags.copyright"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.copyright)?e._i(e.settings.tags.copyright,null)>-1:e.settings.tags.copyright},on:{change:function(r){var i=e.settings.tags.copyright,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"copyright",i.concat([c])):o>-1&&e.$set(e.settings.tags,"copyright",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"copyright",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.copyright")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.composer,expression:"settings.tags.composer"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.composer)?e._i(e.settings.tags.composer,null)>-1:e.settings.tags.composer},on:{change:function(r){var i=e.settings.tags.composer,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"composer",i.concat([c])):o>-1&&e.$set(e.settings.tags,"composer",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"composer",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.composer")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.involvedPeople,expression:"settings.tags.involvedPeople"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.involvedPeople)?e._i(e.settings.tags.involvedPeople,null)>-1:e.settings.tags.involvedPeople},on:{change:function(r){var i=e.settings.tags.involvedPeople,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"involvedPeople",i.concat([c])):o>-1&&e.$set(e.settings.tags,"involvedPeople",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"involvedPeople",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.involvedPeople")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.source,expression:"settings.tags.source"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.source)?e._i(e.settings.tags.source,null)>-1:e.settings.tags.source},on:{change:function(r){var i=e.settings.tags.source,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"source",i.concat([c])):o>-1&&e.$set(e.settings.tags,"source",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"source",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.source")))])])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("get_app")]),e._v(e._s(e.$t("settings.downloads.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.queueConcurrency")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.queueConcurrency,expression:"settings.queueConcurrency",modifiers:{number:!0}}],attrs:{min:"1",type:"number"},domProps:{value:e.settings.queueConcurrency},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"queueConcurrency",e._n(r.target.value))},blur:function(r){return e.$forceUpdate()}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.maxBitrate.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.maxBitrate,expression:"settings.maxBitrate"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"maxBitrate",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"9"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.9")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.3")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.1")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.overwriteFile.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.overwriteFile,expression:"settings.overwriteFile"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"overwriteFile",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"y"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.y")))]),e._v(" "),n("option",{attrs:{value:"n"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.n")))]),e._v(" "),n("option",{attrs:{value:"e"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.e")))]),e._v(" "),n("option",{attrs:{value:"b"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.b")))]),e._v(" "),n("option",{attrs:{value:"t"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.t")))])])]),e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackBitrate,expression:"settings.fallbackBitrate"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackBitrate)?e._i(e.settings.fallbackBitrate,null)>-1:e.settings.fallbackBitrate},on:{change:function(r){var i=e.settings.fallbackBitrate,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"fallbackBitrate",i.concat([c])):o>-1&&e.$set(e.settings,"fallbackBitrate",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"fallbackBitrate",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackBitrate")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackSearch,expression:"settings.fallbackSearch"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackSearch)?e._i(e.settings.fallbackSearch,null)>-1:e.settings.fallbackSearch},on:{change:function(r){var i=e.settings.fallbackSearch,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"fallbackSearch",i.concat([c])):o>-1&&e.$set(e.settings,"fallbackSearch",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"fallbackSearch",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackSearch")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logErrors,expression:"settings.logErrors"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logErrors)?e._i(e.settings.logErrors,null)>-1:e.settings.logErrors},on:{change:function(r){var i=e.settings.logErrors,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"logErrors",i.concat([c])):o>-1&&e.$set(e.settings,"logErrors",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"logErrors",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logErrors")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logSearched,expression:"settings.logSearched"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logSearched)?e._i(e.settings.logSearched,null)>-1:e.settings.logSearched},on:{change:function(r){var i=e.settings.logSearched,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"logSearched",i.concat([c])):o>-1&&e.$set(e.settings,"logSearched",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"logSearched",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logSearched")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.syncedLyrics,expression:"settings.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.syncedLyrics)?e._i(e.settings.syncedLyrics,null)>-1:e.settings.syncedLyrics},on:{change:function(r){var i=e.settings.syncedLyrics,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"syncedLyrics",i.concat([c])):o>-1&&e.$set(e.settings,"syncedLyrics",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"syncedLyrics",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createM3U8File,expression:"settings.createM3U8File"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createM3U8File)?e._i(e.settings.createM3U8File,null)>-1:e.settings.createM3U8File},on:{change:function(r){var i=e.settings.createM3U8File,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createM3U8File",i.concat([c])):o>-1&&e.$set(e.settings,"createM3U8File",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createM3U8File",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.createM3U8File")))])])])]),e._v(" "),e.settings.createM3U8File?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.playlistFilenameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistFilenameTemplate,expression:"settings.playlistFilenameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistFilenameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"playlistFilenameTemplate",r.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveDownloadQueue,expression:"settings.saveDownloadQueue"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveDownloadQueue)?e._i(e.settings.saveDownloadQueue,null)>-1:e.settings.saveDownloadQueue},on:{change:function(r){var i=e.settings.saveDownloadQueue,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"saveDownloadQueue",i.concat([c])):o>-1&&e.$set(e.settings,"saveDownloadQueue",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"saveDownloadQueue",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.saveDownloadQueue")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("list")]),e._v(e._s(e.$t("settings.other.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.savePlaylistAsCompilation,expression:"settings.tags.savePlaylistAsCompilation"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.savePlaylistAsCompilation)?e._i(e.settings.tags.savePlaylistAsCompilation,null)>-1:e.settings.tags.savePlaylistAsCompilation},on:{change:function(r){var i=e.settings.tags.savePlaylistAsCompilation,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"savePlaylistAsCompilation",i.concat([c])):o>-1&&e.$set(e.settings.tags,"savePlaylistAsCompilation",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"savePlaylistAsCompilation",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.savePlaylistAsCompilation")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.useNullSeparator,expression:"settings.tags.useNullSeparator"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.useNullSeparator)?e._i(e.settings.tags.useNullSeparator,null)>-1:e.settings.tags.useNullSeparator},on:{change:function(r){var i=e.settings.tags.useNullSeparator,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"useNullSeparator",i.concat([c])):o>-1&&e.$set(e.settings.tags,"useNullSeparator",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"useNullSeparator",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.useNullSeparator")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.saveID3v1,expression:"settings.tags.saveID3v1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.saveID3v1)?e._i(e.settings.tags.saveID3v1,null)>-1:e.settings.tags.saveID3v1},on:{change:function(r){var i=e.settings.tags.saveID3v1,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"saveID3v1",i.concat([c])):o>-1&&e.$set(e.settings.tags,"saveID3v1",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"saveID3v1",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.saveID3v1")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.multiArtistSeparator,expression:"settings.tags.multiArtistSeparator"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings.tags,"multiArtistSeparator",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.nothing")))]),e._v(" "),n("option",{attrs:{value:"default"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.default")))]),e._v(" "),n("option",{attrs:{value:"andFeat"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.andFeat")))]),e._v(" "),n("option",{attrs:{value:" & "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" & "})))]),e._v(" "),n("option",{attrs:{value:","}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:","})))]),e._v(" "),n("option",{attrs:{value:", "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:", "})))]),e._v(" "),n("option",{attrs:{value:"/"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"/"})))]),e._v(" "),n("option",{attrs:{value:" / "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" / "})))]),e._v(" "),n("option",{attrs:{value:";"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:";"})))]),e._v(" "),n("option",{attrs:{value:"; "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"; "})))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.singleAlbumArtist,expression:"settings.tags.singleAlbumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.singleAlbumArtist)?e._i(e.settings.tags.singleAlbumArtist,null)>-1:e.settings.tags.singleAlbumArtist},on:{change:function(r){var i=e.settings.tags.singleAlbumArtist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"singleAlbumArtist",i.concat([c])):o>-1&&e.$set(e.settings.tags,"singleAlbumArtist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"singleAlbumArtist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.singleAlbumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumVariousArtists,expression:"settings.albumVariousArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.albumVariousArtists)?e._i(e.settings.albumVariousArtists,null)>-1:e.settings.albumVariousArtists},on:{change:function(r){var i=e.settings.albumVariousArtists,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"albumVariousArtists",i.concat([c])):o>-1&&e.$set(e.settings,"albumVariousArtists",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"albumVariousArtists",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.albumVariousArtists")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeAlbumVersion,expression:"settings.removeAlbumVersion"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeAlbumVersion)?e._i(e.settings.removeAlbumVersion,null)>-1:e.settings.removeAlbumVersion},on:{change:function(r){var i=e.settings.removeAlbumVersion,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"removeAlbumVersion",i.concat([c])):o>-1&&e.$set(e.settings,"removeAlbumVersion",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"removeAlbumVersion",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeAlbumVersion")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeDuplicateArtists,expression:"settings.removeDuplicateArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeDuplicateArtists)?e._i(e.settings.removeDuplicateArtists,null)>-1:e.settings.removeDuplicateArtists},on:{change:function(r){var i=e.settings.removeDuplicateArtists,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"removeDuplicateArtists",i.concat([c])):o>-1&&e.$set(e.settings,"removeDuplicateArtists",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"removeDuplicateArtists",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeDuplicateArtists")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.dateFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.dateFormat,expression:"settings.dateFormat"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"dateFormat",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"Y-M-D"}},[e._v(` + `)]):e._e(),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.coverDescriptionUTF8,expression:"settings.tags.coverDescriptionUTF8"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.coverDescriptionUTF8)?e._i(e.settings.tags.coverDescriptionUTF8,null)>-1:e.settings.tags.coverDescriptionUTF8},on:{change:function(i){var r=e.settings.tags.coverDescriptionUTF8,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.concat([l])):c>-1&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"coverDescriptionUTF8",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.coverDescriptionUTF8")))])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.jpegImageQuality")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.jpegImageQuality,expression:"settings.jpegImageQuality",modifiers:{number:!0}}],attrs:{max:"100",min:"1",type:"number"},domProps:{value:e.settings.jpegImageQuality},on:{input:function(i){i.target.composing||e.$set(e.settings,"jpegImageQuality",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons",staticStyle:{width:"1em",height:"1em"}},[e._v("bookmarks")]),e._v(e._s(e.$t("settings.tags.head"))+` + `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__half"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.title,expression:"settings.tags.title"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.title)?e._i(e.settings.tags.title,null)>-1:e.settings.tags.title},on:{change:function(i){var r=e.settings.tags.title,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"title",r.concat([l])):c>-1&&e.$set(e.settings.tags,"title",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"title",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.title")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.artist,expression:"settings.tags.artist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.artist)?e._i(e.settings.tags.artist,null)>-1:e.settings.tags.artist},on:{change:function(i){var r=e.settings.tags.artist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"artist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"artist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"artist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.artist")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.album,expression:"settings.tags.album"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.album)?e._i(e.settings.tags.album,null)>-1:e.settings.tags.album},on:{change:function(i){var r=e.settings.tags.album,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"album",r.concat([l])):c>-1&&e.$set(e.settings.tags,"album",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"album",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.album")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.cover,expression:"settings.tags.cover"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.cover)?e._i(e.settings.tags.cover,null)>-1:e.settings.tags.cover},on:{change:function(i){var r=e.settings.tags.cover,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"cover",r.concat([l])):c>-1&&e.$set(e.settings.tags,"cover",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"cover",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.cover")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackNumber,expression:"settings.tags.trackNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackNumber)?e._i(e.settings.tags.trackNumber,null)>-1:e.settings.tags.trackNumber},on:{change:function(i){var r=e.settings.tags.trackNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackNumber",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackNumber")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackTotal,expression:"settings.tags.trackTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackTotal)?e._i(e.settings.tags.trackTotal,null)>-1:e.settings.tags.trackTotal},on:{change:function(i){var r=e.settings.tags.trackTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackTotal",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackTotal")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discNumber,expression:"settings.tags.discNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discNumber)?e._i(e.settings.tags.discNumber,null)>-1:e.settings.tags.discNumber},on:{change:function(i){var r=e.settings.tags.discNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discNumber",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discNumber")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discTotal,expression:"settings.tags.discTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discTotal)?e._i(e.settings.tags.discTotal,null)>-1:e.settings.tags.discTotal},on:{change:function(i){var r=e.settings.tags.discTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discTotal",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discTotal")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.albumArtist,expression:"settings.tags.albumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.albumArtist)?e._i(e.settings.tags.albumArtist,null)>-1:e.settings.tags.albumArtist},on:{change:function(i){var r=e.settings.tags.albumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"albumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"albumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"albumArtist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.albumArtist")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.genre,expression:"settings.tags.genre"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.genre)?e._i(e.settings.tags.genre,null)>-1:e.settings.tags.genre},on:{change:function(i){var r=e.settings.tags.genre,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"genre",r.concat([l])):c>-1&&e.$set(e.settings.tags,"genre",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"genre",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.genre")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.year,expression:"settings.tags.year"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.year)?e._i(e.settings.tags.year,null)>-1:e.settings.tags.year},on:{change:function(i){var r=e.settings.tags.year,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"year",r.concat([l])):c>-1&&e.$set(e.settings.tags,"year",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"year",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.year")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.date,expression:"settings.tags.date"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.date)?e._i(e.settings.tags.date,null)>-1:e.settings.tags.date},on:{change:function(i){var r=e.settings.tags.date,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"date",r.concat([l])):c>-1&&e.$set(e.settings.tags,"date",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"date",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.date")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.explicit,expression:"settings.tags.explicit"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.explicit)?e._i(e.settings.tags.explicit,null)>-1:e.settings.tags.explicit},on:{change:function(i){var r=e.settings.tags.explicit,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"explicit",r.concat([l])):c>-1&&e.$set(e.settings.tags,"explicit",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"explicit",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.explicit")))])])]),e._v(" "),a("div",{staticClass:"settings-container__half"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.isrc,expression:"settings.tags.isrc"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.isrc)?e._i(e.settings.tags.isrc,null)>-1:e.settings.tags.isrc},on:{change:function(i){var r=e.settings.tags.isrc,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"isrc",r.concat([l])):c>-1&&e.$set(e.settings.tags,"isrc",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"isrc",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.isrc")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.length,expression:"settings.tags.length"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.length)?e._i(e.settings.tags.length,null)>-1:e.settings.tags.length},on:{change:function(i){var r=e.settings.tags.length,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"length",r.concat([l])):c>-1&&e.$set(e.settings.tags,"length",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"length",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.length")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.barcode,expression:"settings.tags.barcode"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.barcode)?e._i(e.settings.tags.barcode,null)>-1:e.settings.tags.barcode},on:{change:function(i){var r=e.settings.tags.barcode,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"barcode",r.concat([l])):c>-1&&e.$set(e.settings.tags,"barcode",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"barcode",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.barcode")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.bpm,expression:"settings.tags.bpm"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.bpm)?e._i(e.settings.tags.bpm,null)>-1:e.settings.tags.bpm},on:{change:function(i){var r=e.settings.tags.bpm,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"bpm",r.concat([l])):c>-1&&e.$set(e.settings.tags,"bpm",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"bpm",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.bpm")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.replayGain,expression:"settings.tags.replayGain"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.replayGain)?e._i(e.settings.tags.replayGain,null)>-1:e.settings.tags.replayGain},on:{change:function(i){var r=e.settings.tags.replayGain,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"replayGain",r.concat([l])):c>-1&&e.$set(e.settings.tags,"replayGain",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"replayGain",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.replayGain")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.label,expression:"settings.tags.label"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.label)?e._i(e.settings.tags.label,null)>-1:e.settings.tags.label},on:{change:function(i){var r=e.settings.tags.label,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"label",r.concat([l])):c>-1&&e.$set(e.settings.tags,"label",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"label",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.label")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.lyrics,expression:"settings.tags.lyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.lyrics)?e._i(e.settings.tags.lyrics,null)>-1:e.settings.tags.lyrics},on:{change:function(i){var r=e.settings.tags.lyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"lyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"lyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"lyrics",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.lyrics")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.syncedLyrics,expression:"settings.tags.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.syncedLyrics)?e._i(e.settings.tags.syncedLyrics,null)>-1:e.settings.tags.syncedLyrics},on:{change:function(i){var r=e.settings.tags.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"syncedLyrics",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.syncedLyrics")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.copyright,expression:"settings.tags.copyright"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.copyright)?e._i(e.settings.tags.copyright,null)>-1:e.settings.tags.copyright},on:{change:function(i){var r=e.settings.tags.copyright,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"copyright",r.concat([l])):c>-1&&e.$set(e.settings.tags,"copyright",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"copyright",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.copyright")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.composer,expression:"settings.tags.composer"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.composer)?e._i(e.settings.tags.composer,null)>-1:e.settings.tags.composer},on:{change:function(i){var r=e.settings.tags.composer,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"composer",r.concat([l])):c>-1&&e.$set(e.settings.tags,"composer",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"composer",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.composer")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.involvedPeople,expression:"settings.tags.involvedPeople"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.involvedPeople)?e._i(e.settings.tags.involvedPeople,null)>-1:e.settings.tags.involvedPeople},on:{change:function(i){var r=e.settings.tags.involvedPeople,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"involvedPeople",r.concat([l])):c>-1&&e.$set(e.settings.tags,"involvedPeople",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"involvedPeople",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.involvedPeople")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.source,expression:"settings.tags.source"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.source)?e._i(e.settings.tags.source,null)>-1:e.settings.tags.source},on:{change:function(i){var r=e.settings.tags.source,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"source",r.concat([l])):c>-1&&e.$set(e.settings.tags,"source",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"source",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.source")))])])])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("get_app")]),e._v(e._s(e.$t("settings.downloads.title"))+` + `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.queueConcurrency")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.queueConcurrency,expression:"settings.queueConcurrency",modifiers:{number:!0}}],attrs:{min:"1",type:"number"},domProps:{value:e.settings.queueConcurrency},on:{input:function(i){i.target.composing||e.$set(e.settings,"queueConcurrency",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.maxBitrate.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.maxBitrate,expression:"settings.maxBitrate"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"maxBitrate",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"9"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.9")))]),e._v(" "),a("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.3")))]),e._v(" "),a("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.1")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.overwriteFile.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.overwriteFile,expression:"settings.overwriteFile"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"overwriteFile",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"y"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.y")))]),e._v(" "),a("option",{attrs:{value:"n"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.n")))]),e._v(" "),a("option",{attrs:{value:"e"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.e")))]),e._v(" "),a("option",{attrs:{value:"b"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.b")))]),e._v(" "),a("option",{attrs:{value:"t"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.t")))])])]),e._v(" "),a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackBitrate,expression:"settings.fallbackBitrate"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackBitrate)?e._i(e.settings.fallbackBitrate,null)>-1:e.settings.fallbackBitrate},on:{change:function(i){var r=e.settings.fallbackBitrate,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackBitrate",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackBitrate",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackBitrate",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackBitrate")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackSearch,expression:"settings.fallbackSearch"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackSearch)?e._i(e.settings.fallbackSearch,null)>-1:e.settings.fallbackSearch},on:{change:function(i){var r=e.settings.fallbackSearch,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackSearch",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackSearch",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackSearch",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackSearch")))])])]),e._v(" "),a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logErrors,expression:"settings.logErrors"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logErrors)?e._i(e.settings.logErrors,null)>-1:e.settings.logErrors},on:{change:function(i){var r=e.settings.logErrors,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logErrors",r.concat([l])):c>-1&&e.$set(e.settings,"logErrors",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logErrors",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logErrors")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logSearched,expression:"settings.logSearched"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logSearched)?e._i(e.settings.logSearched,null)>-1:e.settings.logSearched},on:{change:function(i){var r=e.settings.logSearched,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logSearched",r.concat([l])):c>-1&&e.$set(e.settings,"logSearched",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logSearched",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logSearched")))])])]),e._v(" "),a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.syncedLyrics,expression:"settings.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.syncedLyrics)?e._i(e.settings.syncedLyrics,null)>-1:e.settings.syncedLyrics},on:{change:function(i){var r=e.settings.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"syncedLyrics",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.syncedLyrics")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createM3U8File,expression:"settings.createM3U8File"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createM3U8File)?e._i(e.settings.createM3U8File,null)>-1:e.settings.createM3U8File},on:{change:function(i){var r=e.settings.createM3U8File,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createM3U8File",r.concat([l])):c>-1&&e.$set(e.settings,"createM3U8File",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createM3U8File",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.createM3U8File")))])])])]),e._v(" "),e.settings.createM3U8File?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.playlistFilenameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistFilenameTemplate,expression:"settings.playlistFilenameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistFilenameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistFilenameTemplate",i.target.value)}}})]):e._e(),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveDownloadQueue,expression:"settings.saveDownloadQueue"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveDownloadQueue)?e._i(e.settings.saveDownloadQueue,null)>-1:e.settings.saveDownloadQueue},on:{change:function(i){var r=e.settings.saveDownloadQueue,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveDownloadQueue",r.concat([l])):c>-1&&e.$set(e.settings,"saveDownloadQueue",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveDownloadQueue",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.saveDownloadQueue")))])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("list")]),e._v(e._s(e.$t("settings.other.title")))])]},proxy:!0}])},[e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.savePlaylistAsCompilation,expression:"settings.tags.savePlaylistAsCompilation"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.savePlaylistAsCompilation)?e._i(e.settings.tags.savePlaylistAsCompilation,null)>-1:e.settings.tags.savePlaylistAsCompilation},on:{change:function(i){var r=e.settings.tags.savePlaylistAsCompilation,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.concat([l])):c>-1&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"savePlaylistAsCompilation",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.savePlaylistAsCompilation")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.useNullSeparator,expression:"settings.tags.useNullSeparator"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.useNullSeparator)?e._i(e.settings.tags.useNullSeparator,null)>-1:e.settings.tags.useNullSeparator},on:{change:function(i){var r=e.settings.tags.useNullSeparator,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"useNullSeparator",r.concat([l])):c>-1&&e.$set(e.settings.tags,"useNullSeparator",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"useNullSeparator",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.useNullSeparator")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.saveID3v1,expression:"settings.tags.saveID3v1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.saveID3v1)?e._i(e.settings.tags.saveID3v1,null)>-1:e.settings.tags.saveID3v1},on:{change:function(i){var r=e.settings.tags.saveID3v1,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"saveID3v1",r.concat([l])):c>-1&&e.$set(e.settings.tags,"saveID3v1",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"saveID3v1",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.saveID3v1")))])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.multiArtistSeparator,expression:"settings.tags.multiArtistSeparator"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings.tags,"multiArtistSeparator",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.nothing")))]),e._v(" "),a("option",{attrs:{value:"default"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.default")))]),e._v(" "),a("option",{attrs:{value:"andFeat"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.andFeat")))]),e._v(" "),a("option",{attrs:{value:" & "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" & "})))]),e._v(" "),a("option",{attrs:{value:","}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:","})))]),e._v(" "),a("option",{attrs:{value:", "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:", "})))]),e._v(" "),a("option",{attrs:{value:"/"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"/"})))]),e._v(" "),a("option",{attrs:{value:" / "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" / "})))]),e._v(" "),a("option",{attrs:{value:";"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:";"})))]),e._v(" "),a("option",{attrs:{value:"; "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"; "})))])])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.singleAlbumArtist,expression:"settings.tags.singleAlbumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.singleAlbumArtist)?e._i(e.settings.tags.singleAlbumArtist,null)>-1:e.settings.tags.singleAlbumArtist},on:{change:function(i){var r=e.settings.tags.singleAlbumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"singleAlbumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"singleAlbumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"singleAlbumArtist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.singleAlbumArtist")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumVariousArtists,expression:"settings.albumVariousArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.albumVariousArtists)?e._i(e.settings.albumVariousArtists,null)>-1:e.settings.albumVariousArtists},on:{change:function(i){var r=e.settings.albumVariousArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"albumVariousArtists",r.concat([l])):c>-1&&e.$set(e.settings,"albumVariousArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"albumVariousArtists",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.albumVariousArtists")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeAlbumVersion,expression:"settings.removeAlbumVersion"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeAlbumVersion)?e._i(e.settings.removeAlbumVersion,null)>-1:e.settings.removeAlbumVersion},on:{change:function(i){var r=e.settings.removeAlbumVersion,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeAlbumVersion",r.concat([l])):c>-1&&e.$set(e.settings,"removeAlbumVersion",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeAlbumVersion",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeAlbumVersion")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeDuplicateArtists,expression:"settings.removeDuplicateArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeDuplicateArtists)?e._i(e.settings.removeDuplicateArtists,null)>-1:e.settings.removeDuplicateArtists},on:{change:function(i){var r=e.settings.removeDuplicateArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeDuplicateArtists",r.concat([l])):c>-1&&e.$set(e.settings,"removeDuplicateArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeDuplicateArtists",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeDuplicateArtists")))])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.dateFormat.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.dateFormat,expression:"settings.dateFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"dateFormat",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"Y-M-D"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day"))+` - `)]),e._v(" "),n("option",{attrs:{value:"Y-D-M"}},[e._v(` + `)]),e._v(" "),a("option",{attrs:{value:"Y-D-M"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month"))+` - `)]),e._v(" "),n("option",{attrs:{value:"D-M-Y"}},[e._v(` + `)]),e._v(" "),a("option",{attrs:{value:"D-M-Y"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.year"))+` - `)]),e._v(" "),n("option",{attrs:{value:"M-D-Y"}},[e._v(` + `)]),e._v(" "),a("option",{attrs:{value:"M-D-Y"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.year"))+` - `)]),e._v(" "),n("option",{attrs:{value:"Y"}},[e._v(e._s(e.$t("settings.other.dateFormat.year")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.featuredToTitle.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.featuredToTitle,expression:"settings.featuredToTitle"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"featuredToTitle",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"0"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.0")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.1")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.3")))]),e._v(" "),n("option",{attrs:{value:"2"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.2")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.titleCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.titleCasing,expression:"settings.titleCasing"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"titleCasing",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.artistCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistCasing,expression:"settings.artistCasing"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"artistCasing",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.previewVolume")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.modelVolume,expression:"modelVolume",modifiers:{number:!0}}],staticClass:"slider",attrs:{max:"100",min:"0",step:"1",type:"range"},domProps:{value:e.modelVolume},on:{__r:function(r){e.modelVolume=e._n(r.target.value)},blur:function(r){return e.$forceUpdate()}}}),e._v(" "),n("span",[e._v(e._s(e.previewVolume)+"%")])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.executeCommand.title")))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(e.$t("settings.other.executeCommand.description")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.executeCommand,expression:"settings.executeCommand"}],attrs:{type:"text"},domProps:{value:e.settings.executeCommand},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"executeCommand",r.target.value)}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("svg",{staticClass:"mr-4 w-6 h-6",staticStyle:{fill:"#1db954"},attrs:{"enable-background":"new 0 0 24 24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"m12 24c6.624 0 12-5.376 12-12s-5.376-12-12-12-12 5.376-12 12 5.376 12 12 12zm4.872-6.344v.001c-.807 0-3.356-2.828-10.52-1.36-.189.049-.436.126-.576.126-.915 0-1.09-1.369-.106-1.578 3.963-.875 8.013-.798 11.467 1.268.824.526.474 1.543-.265 1.543zm1.303-3.173c-.113-.03-.08.069-.597-.203-3.025-1.79-7.533-2.512-11.545-1.423-.232.063-.358.126-.576.126-1.071 0-1.355-1.611-.188-1.94 4.716-1.325 9.775-.552 13.297 1.543.392.232.547.533.547.953-.005.522-.411.944-.938.944zm-13.627-7.485c4.523-1.324 11.368-.906 15.624 1.578 1.091.629.662 2.22-.498 2.22l-.001-.001c-.252 0-.407-.063-.625-.189-3.443-2.056-9.604-2.549-13.59-1.436-.175.048-.393.125-.625.125-.639 0-1.127-.499-1.127-1.142 0-.657.407-1.029.842-1.155z"}})]),e._v(` + `)]),e._v(" "),a("option",{attrs:{value:"Y"}},[e._v(e._s(e.$t("settings.other.dateFormat.year")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.featuredToTitle.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.featuredToTitle,expression:"settings.featuredToTitle"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"featuredToTitle",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"0"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.0")))]),e._v(" "),a("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.1")))]),e._v(" "),a("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.3")))]),e._v(" "),a("option",{attrs:{value:"2"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.2")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.titleCasing")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.titleCasing,expression:"settings.titleCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"titleCasing",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),a("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),a("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),a("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),a("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.artistCasing")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistCasing,expression:"settings.artistCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"artistCasing",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),a("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),a("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),a("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),a("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.previewVolume")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.modelVolume,expression:"modelVolume",modifiers:{number:!0}}],staticClass:"slider",attrs:{max:"100",min:"0",step:"1",type:"range"},domProps:{value:e.modelVolume},on:{__r:function(i){e.modelVolume=e._n(i.target.value)},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),a("span",[e._v(e._s(e.previewVolume)+"%")])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.executeCommand.title")))]),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(e._s(e.$t("settings.other.executeCommand.description")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.executeCommand,expression:"settings.executeCommand"}],attrs:{type:"text"},domProps:{value:e.settings.executeCommand},on:{input:function(i){i.target.composing||e.$set(e.settings,"executeCommand",i.target.value)}}})])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("svg",{staticClass:"mr-4 w-6 h-6",staticStyle:{fill:"#1db954"},attrs:{"enable-background":"new 0 0 24 24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{d:"m12 24c6.624 0 12-5.376 12-12s-5.376-12-12-12-12 5.376-12 12 5.376 12 12 12zm4.872-6.344v.001c-.807 0-3.356-2.828-10.52-1.36-.189.049-.436.126-.576.126-.915 0-1.09-1.369-.106-1.578 3.963-.875 8.013-.798 11.467 1.268.824.526.474 1.543-.265 1.543zm1.303-3.173c-.113-.03-.08.069-.597-.203-3.025-1.79-7.533-2.512-11.545-1.423-.232.063-.358.126-.576.126-1.071 0-1.355-1.611-.188-1.94 4.716-1.325 9.775-.552 13.297 1.543.392.232.547.533.547.953-.005.522-.411.944-.938.944zm-13.627-7.485c4.523-1.324 11.368-.906 15.624 1.578 1.091.629.662 2.22-.498 2.22l-.001-.001c-.252 0-.407-.063-.625-.189-3.443-2.056-9.604-2.549-13.59-1.436-.175.048-.393.125-.625.125-.639 0-1.127-.499-1.127-1.142 0-.657.407-1.029.842-1.155z"}})]),e._v(` `+e._s(e.$t("settings.spotify.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("RouterLink",{attrs:{to:{name:"Spotify Features"}}},[e._v(` + `)])]},proxy:!0}])},[e._v(" "),a("RouterLink",{attrs:{to:{name:"Spotify Features"}}},[e._v(` `+e._s(e.$t("settings.spotify.question"))+` - `)]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(r){if(r.target.composing)return;e.$set(e.spotifyFeatures,"clientId",r.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(r){if(r.target.composing)return;e.$set(e.spotifyFeatures,"clientSecret",r.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(r){if(r.target.composing)return;e.spotifyUser=r.target.value}}})])],1),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},__vue_staticRenderFns__$v=[];const __vue_inject_styles__$v=function(e){if(!e)return;e("data-v-580f260e_0",{source:"#logged_in_info[data-v-580f260e]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-580f260e]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-580f260e]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current svg[data-v-580f260e]{filter:brightness(1)}.locale-flag[data-v-580f260e] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-580f260e]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-580f260e]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-580f260e]{margin-right:1rem}.settings-container[data-v-580f260e]{display:flex}.settings-container__half[data-v-580f260e]{width:50%}.settings-container__third[data-v-580f260e]{width:33%}.settings-container__third--only-checkbox[data-v-580f260e]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>*[data-v-580f260e],.settings-container__third>*[data-v-580f260e]{margin-bottom:1rem}.with-checkbox[data-v-580f260e]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-580f260e]{cursor:pointer}.with-checkbox .checkbox-text[data-v-580f260e]{margin-left:10px;cursor:pointer;user-select:none}.input-group .input-group-text[data-v-580f260e]{margin-bottom:.5rem}",map:void 0,media:void 0})},__vue_scope_id__$v="data-v-580f260e",__vue_module_identifier__$d=void 0,__vue_is_functional_template__$v=!1;function __vue_normalize__$v(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="Settings.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let u;if(a&&(u=function(d){a.call(this,l(d))}),u!==void 0)if(o.functional){const d=o.render;o.render=function(h,m){return u.call(m),d(h,m)}}else{const d=o.beforeCreate;o.beforeCreate=d?[].concat(d,u):[u]}}return o}function __vue_create_injector__$d(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$d.styles||(__vue_create_injector__$d.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,u=c.ids.length;if(c.ids.push(i),s.map&&(o+=` -/*# sourceURL=`+s.map.sources[0]+" */",o+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const d=c.element=document.createElement("style");d.type="text/css",s.media&&d.setAttribute("media",s.media),n&&(d.setAttribute("data-group",l),d.setAttribute("data-next-index","0")),e.appendChild(d)}if(n&&(u=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",u+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const d=document.createTextNode(o),f=c.element.childNodes;f[u]&&c.element.removeChild(f[u]),f.length?c.element.insertBefore(d,f[u]):c.element.appendChild(d)}}}}var Settings=__vue_normalize__$v({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v,__vue_module_identifier__$d,__vue_create_injector__$d),script$u={data(){return{title:"",metadata:"",release_date:"",label:"",explicit:!1,image:"",type:"empty",link:"",body:[]}},mounted(){socket.on("show_album",this.showAlbum),socket.on("show_playlist",this.showPlaylist),socket.on("show_spotifyplaylist",this.showSpotifyPlaylist)},methods:{playPausePreview,reset(){this.title="Loading...",this.image="",this.metadata="",this.label="",this.release_date="",this.explicit=!1,this.type="empty",this.body=[]},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},toggleAll(e){this.body.forEach(a=>{a.type=="track"&&(a.selected=e.currentTarget.checked)})},selectedLinks(){var e=[];return this.body&&this.body.forEach(a=>{a.type=="track"&&a.selected&&e.push(this.type=="spotifyPlaylist"?a.uri:a.link)}),e.join(";")},convertDuration:Utils.convertDuration,showAlbum(e){this.reset();const{id:a,title:n,explicit_lyrics:r,label:i,artist:{name:s},tracks:l,tracks:{length:c},release_date:o,cover_xl:u}=e;this.type="album",this.link=`https://www.deezer.com/album/${a}`,this.title=n,this.explicit=r,this.label=i,this.metadata=`${s} \u2022 ${this.$tc("globals.listTabs.trackN",c)}`,this.release_date=o.substring(0,10),this.image=u,isEmpty(l)?this.body=null:this.body=l},showPlaylist(e){this.reset();const{id:a,title:n,picture_xl:r,creation_date:i,creator:{name:s},tracks:l,tracks:{length:c}}=e;this.type="playlist",this.link=`https://www.deezer.com/playlist/${a}`,this.title=n,this.image=r,this.release_date=i.substring(0,10),this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",c)}`,isEmpty(l)?this.body=null:this.body=l},showSpotifyPlaylist(e){this.reset();const{uri:a,name:n,images:r,images:{length:i},owner:{display_name:s},tracks:l,tracks:{length:c}}=e;this.type="spotifyPlaylist",this.link=a,this.title=n,this.image=i?r[0].url:"https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg",this.release_date="",this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",c)}`,isEmpty(l)?this.body=null:this.body=l},selectRow(e,a){a.selected=!a.selected}}};const __vue_script__$u=script$u;var __vue_render__$w=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{ref:"root",staticClass:"relative fixed-footer bg-background-main image-header"},[n("header",{style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[n("h1",{staticClass:"flex items-center m-0 text-5xl"},[e._v(` - `+e._s(e.title)+" "),e.explicit?n("i",{staticClass:"material-icons title-icon title-icon--right"},[e._v("explicit")]):e._e()]),e._v(" "),n("h2",{staticClass:"m-0 mb-3 text-lg"},[e.metadata?n("p",[e._v(e._s(e.metadata))]):e._e(),e._v(" "),e.release_date?n("p",[e._v(e._s(e.release_date))]):e._e()])]),e._v(" "),n("table",{staticClass:"table table--tracklist"},[n("thead",[n("tr",[e._m(0),e._v(" "),n("th",[e._v("#")]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),e.type==="playlist"?n("th",[e._v(e._s(e.$tc("globals.listTabs.album",1)))]):e._e(),e._v(" "),e._m(1),e._v(" "),n("th",{staticClass:"table__icon table__cell--center clickable"},[n("input",{staticClass:"selectAll",attrs:{type:"checkbox"},on:{click:e.toggleAll}})])])]),e._v(" "),n("tbody",[e.type!=="spotifyPlaylist"?[e._l(e.body,function(r,i){return[r.type=="track"?n("tr",{on:{click:function(s){return e.selectRow(i,r)}}},[n("td",{staticClass:"table__cell--x-small table__cell--center"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",e._g({staticClass:"material-icons",class:{preview_playlist_controls:r.preview,"cursor-pointer":r.preview,disabled:!r.preview},attrs:{"data-preview":r.preview,title:e.$t("globals.play_hint")}},{click:r.preview?e.playPausePreview:!1}),[e._v(` + `)]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientId",i.target.value)}}})]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientSecret",i.target.value)}}})]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(i){i.target.composing||(e.spotifyUser=i.target.value)}}})])],1),e._v(" "),a("footer",{staticClass:"bg-background-main"},[a("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),e._v(" "),a("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},__vue_staticRenderFns__$v=[];const __vue_inject_styles__$v=function(e){!e||e("data-v-6ae1bcdc_0",{source:"#logged_in_info[data-v-6ae1bcdc]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-6ae1bcdc]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-6ae1bcdc]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current svg[data-v-6ae1bcdc]{filter:brightness(1)}.locale-flag[data-v-6ae1bcdc] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-6ae1bcdc]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-6ae1bcdc]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-6ae1bcdc]{margin-right:1rem}.settings-container[data-v-6ae1bcdc]{display:flex}.settings-container__half[data-v-6ae1bcdc]{width:50%}.settings-container__third[data-v-6ae1bcdc]{width:33%}.settings-container__third--only-checkbox[data-v-6ae1bcdc]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>*[data-v-6ae1bcdc],.settings-container__third>*[data-v-6ae1bcdc]{margin-bottom:1rem}.with-checkbox[data-v-6ae1bcdc]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-6ae1bcdc]{cursor:pointer}.with-checkbox .checkbox-text[data-v-6ae1bcdc]{margin-left:10px;cursor:pointer;user-select:none}.input-group .input-group-text[data-v-6ae1bcdc]{margin-bottom:.5rem}",map:void 0,media:void 0})},__vue_scope_id__$v="data-v-6ae1bcdc",__vue_module_identifier__$v=void 0,__vue_is_functional_template__$v=!1;var Settings=normalizeComponent_1({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v,__vue_module_identifier__$v,browser,void 0),script$u={data(){return{title:"",metadata:"",release_date:"",label:"",explicit:!1,image:"",type:"empty",link:"",body:[]}},mounted(){socket.on("show_album",this.showAlbum),socket.on("show_playlist",this.showPlaylist),socket.on("show_spotifyplaylist",this.showSpotifyPlaylist)},methods:{playPausePreview,reset(){this.title="Loading...",this.image="",this.metadata="",this.label="",this.release_date="",this.explicit=!1,this.type="empty",this.body=[]},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},toggleAll(e){this.body.forEach(n=>{n.type=="track"&&(n.selected=e.currentTarget.checked)})},selectedLinks(){var e=[];return this.body&&this.body.forEach(n=>{n.type=="track"&&n.selected&&e.push(this.type=="spotifyPlaylist"?n.uri:n.link)}),e.join(";")},convertDuration:Utils.convertDuration,showAlbum(e){this.reset();const{id:n,title:a,explicit_lyrics:i,label:r,artist:{name:s},tracks:o,tracks:{length:l},release_date:c,cover_xl:u}=e;this.type="album",this.link=`https://www.deezer.com/album/${n}`,this.title=a,this.explicit=i,this.label=r,this.metadata=`${s} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,this.release_date=c.substring(0,10),this.image=u,isEmpty(o)?this.body=null:this.body=o},showPlaylist(e){this.reset();const{id:n,title:a,picture_xl:i,creation_date:r,creator:{name:s},tracks:o,tracks:{length:l}}=e;this.type="playlist",this.link=`https://www.deezer.com/playlist/${n}`,this.title=a,this.image=i,this.release_date=r.substring(0,10),this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},showSpotifyPlaylist(e){this.reset();const{uri:n,name:a,images:i,images:{length:r},owner:{display_name:s},tracks:o,tracks:{length:l}}=e;this.type="spotifyPlaylist",this.link=n,this.title=a,this.image=r?i[0].url:"https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg",this.release_date="",this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},selectRow(e,n){n.selected=!n.selected}}};const __vue_script__$u=script$u;var __vue_render__$w=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{ref:"root",staticClass:"relative fixed-footer bg-background-main image-header"},[a("header",{style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[a("h1",{staticClass:"flex items-center m-0 text-5xl"},[e._v(` + `+e._s(e.title)+" "),e.explicit?a("i",{staticClass:"material-icons title-icon title-icon--right"},[e._v("explicit")]):e._e()]),e._v(" "),a("h2",{staticClass:"m-0 mb-3 text-lg"},[e.metadata?a("p",[e._v(e._s(e.metadata))]):e._e(),e._v(" "),e.release_date?a("p",[e._v(e._s(e.release_date))]):e._e()])]),e._v(" "),a("table",{staticClass:"table table--tracklist"},[a("thead",[a("tr",[e._m(0),e._v(" "),a("th",[e._v("#")]),e._v(" "),a("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),a("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),e.type==="playlist"?a("th",[e._v(e._s(e.$tc("globals.listTabs.album",1)))]):e._e(),e._v(" "),e._m(1),e._v(" "),a("th",{staticClass:"table__icon table__cell--center clickable"},[a("input",{staticClass:"selectAll",attrs:{type:"checkbox"},on:{click:e.toggleAll}})])])]),e._v(" "),a("tbody",[e.type!=="spotifyPlaylist"?[e._l(e.body,function(i,r){return[i.type=="track"?a("tr",{on:{click:function(s){return e.selectRow(r,i)}}},[a("td",{staticClass:"table__cell--x-small table__cell--center"},[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[a("i",e._g({staticClass:"material-icons",class:{preview_playlist_controls:i.preview,"cursor-pointer":i.preview,disabled:!i.preview},attrs:{"data-preview":i.preview,title:e.$t("globals.play_hint")}},{click:i.preview?e.playPausePreview:!1}),[e._v(` play_arrow - `)])])]),e._v(" "),n("td",{staticClass:"table__cell--small table__cell--center track_position"},[e._v(` - `+e._s(e.type==="album"?r.track_position:e.body.indexOf(r)+1)+` - `)]),e._v(" "),n("td",{staticClass:"table__cell--large table__cell--with-icon"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[r.explicit_lyrics?n("i",{staticClass:"material-icons title-icon"},[e._v(" explicit ")]):e._e(),e._v(` - `+e._s(r.title+(r.title_version&&r.title.indexOf(r.title_version)==-1?" "+r.title_version:""))+` - `)])]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:r.artist.id}}}},[e._v(` - `+e._s(r.artist.name)+` - `)]),e._v(" "),e.type==="playlist"?n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:r.album.id}}}},[e._v(` - `+e._s(r.album.title)+` - `)]):e._e(),e._v(" "),n("td",{staticClass:"table__cell--center",class:{"table__cell--small":e.type==="album","table__cell--x-small":e.type==="playlist"}},[e._v(` - `+e._s(e.convertDuration(r.duration))+` - `)]),e._v(" "),n("td",{staticClass:"table__icon table__cell--center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:r.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(r.selected)?e._i(r.selected,null)>-1:r.selected},on:{change:function(s){var l=r.selected,c=s.target,o=!!c.checked;if(Array.isArray(l)){var u=null,d=e._i(l,u);c.checked?d<0&&e.$set(r,"selected",l.concat([u])):d>-1&&e.$set(r,"selected",l.slice(0,d).concat(l.slice(d+1)))}else e.$set(r,"selected",o)}}})])],1):r.type=="disc_separator"?n("tr",{staticClass:"table__row-no-highlight",staticStyle:{opacity:"0.54"}},[e._m(2,!0),e._v(" "),n("td",{staticClass:"table__cell--center"},[e._v(` - `+e._s(r.number)+` - `)]),e._v(" "),n("td",{attrs:{colspan:"4"}})]):e._e()]})]:e._l(e.body,function(r,i){return n("tr",[n("td",[r.preview_url?n("i",{staticClass:"material-icons",class:{preview_playlist_controls:r.preview_url,"cursor-pointer":r.preview_url},attrs:{"data-preview":r.preview_url,title:e.$t("globals.play_hint")},on:{click:e.playPausePreview}},[e._v(` + `)])])]),e._v(" "),a("td",{staticClass:"table__cell--small table__cell--center track_position"},[e._v(` + `+e._s(e.type==="album"?i.track_position:e.body.indexOf(i)+1)+` + `)]),e._v(" "),a("td",{staticClass:"table__cell--large table__cell--with-icon"},[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[i.explicit_lyrics?a("i",{staticClass:"material-icons title-icon"},[e._v(" explicit ")]):e._e(),e._v(` + `+e._s(i.title+(i.title_version&&i.title.indexOf(i.title_version)==-1?" "+i.title_version:""))+` + `)])]),e._v(" "),a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artist.id}}}},[e._v(` + `+e._s(i.artist.name)+` + `)]),e._v(" "),e.type==="playlist"?a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:i.album.id}}}},[e._v(` + `+e._s(i.album.title)+` + `)]):e._e(),e._v(" "),a("td",{staticClass:"table__cell--center",class:{"table__cell--small":e.type==="album","table__cell--x-small":e.type==="playlist"}},[e._v(` + `+e._s(e.convertDuration(i.duration))+` + `)]),e._v(" "),a("td",{staticClass:"table__icon table__cell--center"},[a("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])],1):i.type=="disc_separator"?a("tr",{staticClass:"table__row-no-highlight",staticStyle:{opacity:"0.54"}},[e._m(2,!0),e._v(" "),a("td",{staticClass:"table__cell--center"},[e._v(` + `+e._s(i.number)+` + `)]),e._v(" "),a("td",{attrs:{colspan:"4"}})]):e._e()]})]:e._l(e.body,function(i,r){return a("tr",[a("td",[i.preview_url?a("i",{staticClass:"material-icons",class:{preview_playlist_controls:i.preview_url,"cursor-pointer":i.preview_url},attrs:{"data-preview":i.preview_url,title:e.$t("globals.play_hint")},on:{click:e.playPausePreview}},[e._v(` play_arrow - `)]):n("i",{staticClass:"material-icons disabled"},[e._v("play_arrow")])]),e._v(" "),n("td",[e._v(e._s(i+1))]),e._v(" "),n("td",{staticClass:"flex items-center"},[r.explicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` - `+e._s(r.name)+` - `)]),e._v(" "),n("td",[e._v(e._s(r.artists[0].name))]),e._v(" "),n("td",[e._v(e._s(r.album.name))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(Math.floor(r.duration_ms/1e3))))]),e._v(" "),n("td",[n("input",{directives:[{name:"model",rawName:"v-model",value:r.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(r.selected)?e._i(r.selected,null)>-1:r.selected},on:{change:function(s){var l=r.selected,c=s.target,o=!!c.checked;if(Array.isArray(l)){var u=null,d=e._i(l,u);c.checked?d<0&&e.$set(r,"selected",l.concat([u])):d>-1&&e.$set(r,"selected",l.slice(0,d).concat(l.slice(d+1)))}else e.$set(r,"selected",o)}}})])])})],2)]),e._v(" "),e.label?n("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` + `)]):a("i",{staticClass:"material-icons disabled"},[e._v("play_arrow")])]),e._v(" "),a("td",[e._v(e._s(r+1))]),e._v(" "),a("td",{staticClass:"flex items-center"},[i.explicit?a("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` + `+e._s(i.name)+` + `)]),e._v(" "),a("td",[e._v(e._s(i.artists[0].name))]),e._v(" "),a("td",[e._v(e._s(i.album.name))]),e._v(" "),a("td",[e._v(e._s(e.convertDuration(Math.floor(i.duration_ms/1e3))))]),e._v(" "),a("td",[a("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])])})],2)]),e._v(" "),e.label?a("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),a("footer",{staticClass:"bg-background-main"},[a("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` `+e._s(""+e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.type,1)}))+` - `)]),e._v(" "),n("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` - `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$w=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$w=void 0,__vue_scope_id__$w=void 0,__vue_is_functional_template__$w=!1;function __vue_normalize__$w(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Tracklist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Tracklist=__vue_normalize__$w({render:__vue_render__$w,staticRenderFns:__vue_staticRenderFns__$w},__vue_inject_styles__$w,__vue_script__$u,__vue_scope_id__$w,__vue_is_functional_template__$w);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/about",name:"About",component:About},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let r=null;switch(e.name){case"Tracklist":r={type:e.params.type,id:e.params.id};break;case"Album":r={type:"album",id:e.params.id};break;case"Playlist":r={type:"playlist",id:e.params.id};break;case"Spotify Playlist":r={type:"spotifyplaylist",id:e.params.id};break}r&&socket.emit("getTracklist",r),n()});function startApp(){new Vue({store,router,i18n,render:e=>e(App)}).$mount("#app")}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` -`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)}),socket.on("logging_in",function(){toast(i18n.t("toasts.loggingIn"),"loading",!1,"login-toast")}),socket.on("init_autologin",function(){let e=localStorage.getItem("arl"),a=localStorage.getItem("accountNum");e&&(e=e.trim(),a!=0?socket.emit("login",e,!0,a):socket.emit("login",e))}),socket.on("logged_in",function(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}),socket.on("logged_out",function(){toast(i18n.t("toasts.loggedOut"),"done",!0,"login-toast"),store.dispatch("logout")}),socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); + `)]),e._v(" "),a("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` + `+e._s(e.$t("tracklist.downloadSelection"))),a("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$w=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("th",[a("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("th",[a("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("td",[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[a("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$w=void 0,__vue_scope_id__$w=void 0,__vue_module_identifier__$w=void 0,__vue_is_functional_template__$w=!1;var Tracklist=normalizeComponent_1({render:__vue_render__$w,staticRenderFns:__vue_staticRenderFns__$w},__vue_inject_styles__$w,__vue_script__$u,__vue_scope_id__$w,__vue_is_functional_template__$w,__vue_module_identifier__$w,void 0,void 0);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/about",name:"About",component:About},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,n,a){return{x:0,y:0}}});router.beforeEach((e,n,a)=>{let i=null;switch(e.name){case"Tracklist":i={type:e.params.type,id:e.params.id};break;case"Album":i={type:"album",id:e.params.id};break;case"Playlist":i={type:"playlist",id:e.params.id};break;case"Spotify Playlist":i={type:"spotifyplaylist",id:e.params.id};break}i&&socket.emit("getTracklist",i),a()});function startApp(){new Vue({store,router,i18n,render:e=>e(App)}).$mount("#app")}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let n=e.clipboardData.getData("Text");if(isValidURL(n))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",n):(n.indexOf(` +`)!=-1&&(n=n.replace(/\n/g,";")),sendAddToQueue(n));else{let a=document.querySelector("#searchbar");a.select(),a.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)}),socket.on("logging_in",function(){toast(i18n.t("toasts.loggingIn"),"loading",!1,"login-toast")}),socket.on("init_autologin",function(){let e=localStorage.getItem("arl"),n=localStorage.getItem("accountNum");e&&(e=e.trim(),n!=0?socket.emit("login",e,!0,n):socket.emit("login",e))}),socket.on("logged_in",function(e){const{status:n,user:a}=e;switch(n){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",a);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}),socket.on("logged_out",function(){toast(i18n.t("toasts.loggedOut"),"done",!0,"login-toast"),store.dispatch("logout")}),socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); diff --git a/rollup.config.js b/rollup.config.js index 17dc76f..127b648 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -28,10 +28,6 @@ export default { find: 'vue', replacement: 'vue/dist/vue.esm' }, - { - find: 'socket.io-client', - replacement: 'socket.io-client/dist/socket.io.min' - }, { find: '@', replacement: __dirname + '/src' diff --git a/src/App.vue b/src/App.vue index bbbf96e..711f7e0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -69,7 +69,8 @@ export default { // ConfirmModal }, mounted() { - socket.on('connect', () => { + socket.addEventListener('open', (event) => { + console.log("Connected to WebSocket") this.isSocketConnected = true }) } diff --git a/src/jsconfig.json b/src/jsconfig.json index 08585e7..fb488da 100644 --- a/src/jsconfig.json +++ b/src/jsconfig.json @@ -7,8 +7,5 @@ "@components/*": ["./components/*"] } }, - "typeAcquisition": { - "include": ["socket.io-client"] - }, "exclude": ["assets/**/*", "styles/**/*"] } diff --git a/src/utils/socket.js b/src/utils/socket.js index 4a9c31d..992cb0a 100644 --- a/src/utils/socket.js +++ b/src/utils/socket.js @@ -1,8 +1,25 @@ import store from '@/store' -import io from 'socket.io-client' -export const socket = io.connect('/') +class CustomSocket extends WebSocket { + constructor(args) { + super(args) + console.log(args) + } -socket.on('init_update', data => { - store.dispatch('setAppInfo', data) -}) + emit(key, data) { + console.log("emit:", key, data) + console.log(this.readyState) + if (this.readyState != WebSocket.OPEN) return false + this.send(JSON.stringify({key:key, data:data})) + } + + on(key, callback) { + this.addEventListener('message', function(event){ + console.log(event.data) + let data = JSON.parse(event.data) + if (data.key == key) callback(data.data) + }) + } +} + +export const socket = new CustomSocket('ws://' + location.host + '/') From 632ca94975ccd0fb2bbf174679652f108ee8787c Mon Sep 17 00:00:00 2001 From: RemixDev Date: Thu, 25 Feb 2021 22:26:05 +0100 Subject: [PATCH 02/17] Added fetch api for login --- public/js/bundle.js | 322 ++++++++++++-------------------- src/app.js | 53 ++++-- src/components/pages/Artist.vue | 1 - src/router.js | 7 +- src/utils/api.js | 10 + src/utils/socket.js | 4 - 6 files changed, 169 insertions(+), 228 deletions(-) create mode 100644 src/utils/api.js diff --git a/public/js/bundle.js b/public/js/bundle.js index 13ced95..698e08b 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -2,11 +2,11 @@ * Vue.js v2.6.12 * (c) 2014-2020 Evan You * Released under the MIT License. - */var emptyObject=Object.freeze({});function isUndef(e){return e==null}function isDef(e){return e!=null}function isTrue(e){return e===!0}function isFalse(e){return e===!1}function isPrimitive(e){return typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="boolean"}function isObject(e){return e!==null&&typeof e=="object"}var _toString=Object.prototype.toString;function toRawType(e){return _toString.call(e).slice(8,-1)}function isPlainObject(e){return _toString.call(e)==="[object Object]"}function isRegExp(e){return _toString.call(e)==="[object RegExp]"}function isValidArrayIndex(e){var n=parseFloat(String(e));return n>=0&&Math.floor(n)===n&&isFinite(e)}function isPromise(e){return isDef(e)&&typeof e.then=="function"&&typeof e.catch=="function"}function toString(e){return e==null?"":Array.isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function toNumber(e){var n=parseFloat(e);return isNaN(n)?e:n}function makeMap(e,n){for(var a=Object.create(null),i=e.split(","),r=0;r-1)return e.splice(a,1)}}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,n){return hasOwnProperty.call(e,n)}function cached(e){var n=Object.create(null);return function(i){var r=n[i];return r||(n[i]=e(i))}}var camelizeRE=/-(\w)/g,camelize=cached(function(e){return e.replace(camelizeRE,function(n,a){return a?a.toUpperCase():""})}),capitalize=cached(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(function(e){return e.replace(hyphenateRE,"-$1").toLowerCase()});function polyfillBind(e,n){function a(i){var r=arguments.length;return r?r>1?e.apply(n,arguments):e.call(n,i):e.call(n)}return a._length=e.length,a}function nativeBind(e,n){return e.bind(n)}var bind=Function.prototype.bind?nativeBind:polyfillBind;function toArray(e,n){n=n||0;for(var a=e.length-n,i=new Array(a);a--;)i[a]=e[a+n];return i}function extend(e,n){for(var a in n)e[a]=n[a];return e}function toObject(e){for(var n={},a=0;a0,isEdge=UA&&UA.indexOf("edge/")>0;UA&&UA.indexOf("android")>0;var isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==="ios";UA&&/chrome\/\d+/.test(UA),UA&&/phantomjs/.test(UA);var isFF=UA&&UA.match(/firefox\/(\d+)/),nativeWatch={}.watch,supportsPassive=!1;if(inBrowser)try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener("test-passive",null,opts)}catch(e){}var _isServer,isServerRendering=function(){return _isServer===void 0&&(!inBrowser&&!inWeex&&typeof global!="undefined"?_isServer=global.process&&global.process.env.VUE_ENV==="server":_isServer=!1),_isServer},devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function isNative(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol=typeof Symbol!="undefined"&&isNative(Symbol)&&typeof Reflect!="undefined"&&isNative(Reflect.ownKeys),_Set;typeof Set!="undefined"&&isNative(Set)?_Set=Set:_Set=function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(a){return this.set[a]===!0},e.prototype.add=function(a){this.set[a]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var warn=noop,uid=0,Dep=function(){this.id=uid++,this.subs=[]};Dep.prototype.addSub=function(n){this.subs.push(n)},Dep.prototype.removeSub=function(n){remove(this.subs,n)},Dep.prototype.depend=function(){Dep.target&&Dep.target.addDep(this)},Dep.prototype.notify=function(){for(var n=this.subs.slice(),a=0,i=n.length;a-1){if(s&&!hasOwn(r,"default"))o=!1;else if(o===""||o===hyphenate(e)){var c=getTypeIndex(String,r.type);(c<0||l0&&(r=normalizeArrayChildren(r,(n||"")+"_"+i),isTextNode(r[0])&&isTextNode(o)&&(a[s]=createTextVNode(o.text+r[0].text),r.shift()),a.push.apply(a,r)):isPrimitive(r)?isTextNode(o)?a[s]=createTextVNode(o.text+r):r!==""&&a.push(createTextVNode(r)):isTextNode(r)&&isTextNode(o)?a[s]=createTextVNode(o.text+r.text):(isTrue(e._isVList)&&isDef(r.tag)&&isUndef(r.key)&&isDef(n)&&(r.key="__vlist"+n+"_"+i+"__"),a.push(r)));return a}function initProvide(e){var n=e.$options.provide;n&&(e._provided=typeof n=="function"?n.call(e):n)}function initInjections(e){var n=resolveInject(e.$options.inject,e);n&&(toggleObserving(!1),Object.keys(n).forEach(function(a){defineReactive$$1(e,a,n[a])}),toggleObserving(!0))}function resolveInject(e,n){if(e){for(var a=Object.create(null),i=hasSymbol?Reflect.ownKeys(e):Object.keys(e),r=0;r0,s=e?!!e.$stable:!r,o=e&&e.$key;if(!e)i={};else{if(e._normalized)return e._normalized;if(s&&a&&a!==emptyObject&&o===a.$key&&!r&&!a.$hasNormal)return a;i={};for(var l in e)e[l]&&l[0]!=="$"&&(i[l]=normalizeScopedSlot(n,l,e[l]))}for(var c in n)c in i||(i[c]=proxyNormalSlot(n,c));return e&&Object.isExtensible(e)&&(e._normalized=i),def(i,"$stable",s),def(i,"$key",o),def(i,"$hasNormal",r),i}function normalizeScopedSlot(e,n,a){var i=function(){var r=arguments.length?a.apply(null,arguments):a({});return r=r&&typeof r=="object"&&!Array.isArray(r)?[r]:normalizeChildren(r),r&&(r.length===0||r.length===1&&r[0].isComment)?void 0:r};return a.proxy&&Object.defineProperty(e,n,{get:i,enumerable:!0,configurable:!0}),i}function proxyNormalSlot(e,n){return function(){return e[n]}}function renderList(e,n){var a,i,r,s,o;if(Array.isArray(e)||typeof e=="string")for(a=new Array(e.length),i=0,r=e.length;i1?toArray(r):r;for(var s=toArray(arguments,1),o='event handler for "'+a+'"',l=0,c=r.length;ldocument.createEvent("Event").timeStamp&&(getNow=function(){return performance.now()})}function flushSchedulerQueue(){currentFlushTimestamp=getNow(),flushing=!0;var e,n;for(queue.sort(function(r,s){return r.id-s.id}),index=0;indexindex&&queue[a].id>e.id;)a--;queue.splice(a+1,0,e)}waiting||(waiting=!0,nextTick(flushSchedulerQueue))}}var uid$2=0,Watcher=function(n,a,i,r,s){this.vm=n,s&&(n._watcher=this),n._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=i,this.id=++uid$2,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new _Set,this.newDepIds=new _Set,this.expression="",typeof a=="function"?this.getter=a:(this.getter=parsePath(a),this.getter||(this.getter=noop)),this.value=this.lazy?void 0:this.get()};Watcher.prototype.get=function(){pushTarget(this);var n,a=this.vm;try{n=this.getter.call(a,a)}catch(i){if(this.user)handleError(i,a,'getter for watcher "'+this.expression+'"');else throw i}finally{this.deep&&traverse(n),popTarget(),this.cleanupDeps()}return n},Watcher.prototype.addDep=function(n){var a=n.id;this.newDepIds.has(a)||(this.newDepIds.add(a),this.newDeps.push(n),this.depIds.has(a)||n.addSub(this))},Watcher.prototype.cleanupDeps=function(){for(var n=this.deps.length;n--;){var a=this.deps[n];this.newDepIds.has(a.id)||a.removeSub(this)}var i=this.depIds;this.depIds=this.newDepIds,this.newDepIds=i,this.newDepIds.clear(),i=this.deps,this.deps=this.newDeps,this.newDeps=i,this.newDeps.length=0},Watcher.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():queueWatcher(this)},Watcher.prototype.run=function(){if(this.active){var n=this.get();if(n!==this.value||isObject(n)||this.deep){var a=this.value;if(this.value=n,this.user)try{this.cb.call(this.vm,n,a)}catch(i){handleError(i,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,n,a)}}},Watcher.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Watcher.prototype.depend=function(){for(var n=this.deps.length;n--;)this.deps[n].depend()},Watcher.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||remove(this.vm._watchers,this);for(var n=this.deps.length;n--;)this.deps[n].removeSub(this);this.active=!1}};var sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop,set:noop};function proxy(e,n,a){sharedPropertyDefinition.get=function(){return this[n][a]},sharedPropertyDefinition.set=function(r){this[n][a]=r},Object.defineProperty(e,a,sharedPropertyDefinition)}function initState(e){e._watchers=[];var n=e.$options;n.props&&initProps(e,n.props),n.methods&&initMethods(e,n.methods),n.data?initData(e):observe(e._data={},!0),n.computed&&initComputed(e,n.computed),n.watch&&n.watch!==nativeWatch&&initWatch(e,n.watch)}function initProps(e,n){var a=e.$options.propsData||{},i=e._props={},r=e.$options._propKeys=[],s=!e.$parent;s||toggleObserving(!1);var o=function(c){r.push(c);var u=validateProp(c,n,a,e);defineReactive$$1(i,c,u),c in e||proxy(e,"_props",c)};for(var l in n)o(l);toggleObserving(!0)}function initData(e){var n=e.$options.data;n=e._data=typeof n=="function"?getData(n,e):n||{},isPlainObject(n)||(n={});var a=Object.keys(n),i=e.$options.props;e.$options.methods;for(var r=a.length;r--;){var s=a[r];i&&hasOwn(i,s)||isReserved(s)||proxy(e,"_data",s)}observe(n,!0)}function getData(e,n){pushTarget();try{return e.call(n,n)}catch(a){return handleError(a,n,"data()"),{}}finally{popTarget()}}var computedWatcherOptions={lazy:!0};function initComputed(e,n){var a=e._computedWatchers=Object.create(null),i=isServerRendering();for(var r in n){var s=n[r],o=typeof s=="function"?s:s.get;i||(a[r]=new Watcher(e,o||noop,noop,computedWatcherOptions)),r in e||defineComputed(e,r,s)}}function defineComputed(e,n,a){var i=!isServerRendering();typeof a=="function"?(sharedPropertyDefinition.get=i?createComputedGetter(n):createGetterInvoker(a),sharedPropertyDefinition.set=noop):(sharedPropertyDefinition.get=a.get?i&&a.cache!==!1?createComputedGetter(n):createGetterInvoker(a.get):noop,sharedPropertyDefinition.set=a.set||noop),Object.defineProperty(e,n,sharedPropertyDefinition)}function createComputedGetter(e){return function(){var a=this._computedWatchers&&this._computedWatchers[e];if(a)return a.dirty&&a.evaluate(),Dep.target&&a.depend(),a.value}}function createGetterInvoker(e){return function(){return e.call(this,this)}}function initMethods(e,n){e.$options.props;for(var a in n)e[a]=typeof n[a]!="function"?noop:bind(n[a],e)}function initWatch(e,n){for(var a in n){var i=n[a];if(Array.isArray(i))for(var r=0;r-1)return this;var i=toArray(arguments,1);return i.unshift(this),typeof n.install=="function"?n.install.apply(n,i):typeof n=="function"&&n.apply(null,i),a.push(n),this}}function initMixin$1(e){e.mixin=function(n){return this.options=mergeOptions(this.options,n),this}}function initExtend(e){e.cid=0;var n=1;e.extend=function(a){a=a||{};var i=this,r=i.cid,s=a._Ctor||(a._Ctor={});if(s[r])return s[r];var o=a.name||i.options.name,l=function(u){this._init(u)};return l.prototype=Object.create(i.prototype),l.prototype.constructor=l,l.cid=n++,l.options=mergeOptions(i.options,a),l.super=i,l.options.props&&initProps$1(l),l.options.computed&&initComputed$1(l),l.extend=i.extend,l.mixin=i.mixin,l.use=i.use,ASSET_TYPES.forEach(function(c){l[c]=i[c]}),o&&(l.options.components[o]=l),l.superOptions=i.options,l.extendOptions=a,l.sealedOptions=extend({},l.options),s[r]=l,l}}function initProps$1(e){var n=e.options.props;for(var a in n)proxy(e.prototype,"_props",a)}function initComputed$1(e){var n=e.options.computed;for(var a in n)defineComputed(e.prototype,a,n[a])}function initAssetRegisters(e){ASSET_TYPES.forEach(function(n){e[n]=function(a,i){return i?(n==="component"&&isPlainObject(i)&&(i.name=i.name||a,i=this.options._base.extend(i)),n==="directive"&&typeof i=="function"&&(i={bind:i,update:i}),this.options[n+"s"][a]=i,i):this.options[n+"s"][a]}})}function getComponentName(e){return e&&(e.Ctor.options.name||e.tag)}function matches(e,n){return Array.isArray(e)?e.indexOf(n)>-1:typeof e=="string"?e.split(",").indexOf(n)>-1:isRegExp(e)?e.test(n):!1}function pruneCache(e,n){var a=e.cache,i=e.keys,r=e._vnode;for(var s in a){var o=a[s];if(o){var l=getComponentName(o.componentOptions);l&&!n(l)&&pruneCacheEntry(a,s,i,r)}}}function pruneCacheEntry(e,n,a,i){var r=e[n];r&&(!i||r.tag!==i.tag)&&r.componentInstance.$destroy(),e[n]=null,remove(a,n)}var patternTypes=[String,RegExp,Array],KeepAlive={name:"keep-alive",abstract:!0,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var n in this.cache)pruneCacheEntry(this.cache,n,this.keys)},mounted:function(){var n=this;this.$watch("include",function(a){pruneCache(n,function(i){return matches(a,i)})}),this.$watch("exclude",function(a){pruneCache(n,function(i){return!matches(a,i)})})},render:function(){var n=this.$slots.default,a=getFirstComponentChild(n),i=a&&a.componentOptions;if(i){var r=getComponentName(i),s=this,o=s.include,l=s.exclude;if(o&&(!r||!matches(o,r))||l&&r&&matches(l,r))return a;var c=this,u=c.cache,d=c.keys,f=a.key==null?i.Ctor.cid+(i.tag?"::"+i.tag:""):a.key;u[f]?(a.componentInstance=u[f].componentInstance,remove(d,f),d.push(f)):(u[f]=a,d.push(f),this.max&&d.length>parseInt(this.max)&&pruneCacheEntry(u,d[0],d,this._vnode)),a.data.keepAlive=!0}return a||n&&n[0]}},builtInComponents={KeepAlive};function initGlobalAPI(e){var n={};n.get=function(){return config},Object.defineProperty(e,"config",n),e.util={warn,extend,mergeOptions,defineReactive:defineReactive$$1},e.set=set,e.delete=del,e.nextTick=nextTick,e.observable=function(a){return observe(a),a},e.options=Object.create(null),ASSET_TYPES.forEach(function(a){e.options[a+"s"]=Object.create(null)}),e.options._base=e,extend(e.options.components,builtInComponents),initUse(e),initMixin$1(e),initExtend(e),initAssetRegisters(e)}initGlobalAPI(Vue),Object.defineProperty(Vue.prototype,"$isServer",{get:isServerRendering}),Object.defineProperty(Vue.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vue,"FunctionalRenderContext",{value:FunctionalRenderContext}),Vue.version="2.6.12";var isReservedAttr=makeMap("style,class"),acceptValue=makeMap("input,textarea,option,select,progress"),mustUseProp=function(e,n,a){return a==="value"&&acceptValue(e)&&n!=="button"||a==="selected"&&e==="option"||a==="checked"&&e==="input"||a==="muted"&&e==="video"},isEnumeratedAttr=makeMap("contenteditable,draggable,spellcheck"),isValidContentEditableValue=makeMap("events,caret,typing,plaintext-only"),convertEnumeratedValue=function(e,n){return isFalsyAttrValue(n)||n==="false"?"false":e==="contenteditable"&&isValidContentEditableValue(n)?n:"true"},isBooleanAttr=makeMap("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),xlinkNS="http://www.w3.org/1999/xlink",isXlink=function(e){return e.charAt(5)===":"&&e.slice(0,5)==="xlink"},getXlinkProp=function(e){return isXlink(e)?e.slice(6,e.length):""},isFalsyAttrValue=function(e){return e==null||e===!1};function genClassForVnode(e){for(var n=e.data,a=e,i=e;isDef(i.componentInstance);)i=i.componentInstance._vnode,i&&i.data&&(n=mergeClassData(i.data,n));for(;isDef(a=a.parent);)a&&a.data&&(n=mergeClassData(n,a.data));return renderClass(n.staticClass,n.class)}function mergeClassData(e,n){return{staticClass:concat(e.staticClass,n.staticClass),class:isDef(e.class)?[e.class,n.class]:n.class}}function renderClass(e,n){return isDef(e)||isDef(n)?concat(e,stringifyClass(n)):""}function concat(e,n){return e?n?e+" "+n:e:n||""}function stringifyClass(e){return Array.isArray(e)?stringifyArray(e):isObject(e)?stringifyObject(e):typeof e=="string"?e:""}function stringifyArray(e){for(var n="",a,i=0,r=e.length;i-1?unknownElementCache[e]=n.constructor===window.HTMLUnknownElement||n.constructor===window.HTMLElement:unknownElementCache[e]=/HTMLUnknownElement/.test(n.toString())}var isTextInputType=makeMap("text,number,password,search,email,tel,url");function query(e){if(typeof e=="string"){var n=document.querySelector(e);return n||document.createElement("div")}else return e}function createElement$1(e,n){var a=document.createElement(e);return e!=="select"||n.data&&n.data.attrs&&n.data.attrs.multiple!==void 0&&a.setAttribute("multiple","multiple"),a}function createElementNS(e,n){return document.createElementNS(namespaceMap[e],n)}function createTextNode(e){return document.createTextNode(e)}function createComment(e){return document.createComment(e)}function insertBefore(e,n,a){e.insertBefore(n,a)}function removeChild(e,n){e.removeChild(n)}function appendChild(e,n){e.appendChild(n)}function parentNode(e){return e.parentNode}function nextSibling(e){return e.nextSibling}function tagName(e){return e.tagName}function setTextContent(e,n){e.textContent=n}function setStyleScope(e,n){e.setAttribute(n,"")}var nodeOps=Object.freeze({createElement:createElement$1,createElementNS,createTextNode,createComment,insertBefore,removeChild,appendChild,parentNode,nextSibling,tagName,setTextContent,setStyleScope}),ref={create:function(n,a){registerRef(a)},update:function(n,a){n.data.ref!==a.data.ref&&(registerRef(n,!0),registerRef(a))},destroy:function(n){registerRef(n,!0)}};function registerRef(e,n){var a=e.data.ref;if(!!isDef(a)){var i=e.context,r=e.componentInstance||e.elm,s=i.$refs;n?Array.isArray(s[a])?remove(s[a],r):s[a]===r&&(s[a]=void 0):e.data.refInFor?Array.isArray(s[a])?s[a].indexOf(r)<0&&s[a].push(r):s[a]=[r]:s[a]=r}}var emptyNode=new VNode("",{},[]),hooks=["create","activate","update","remove","destroy"];function sameVnode(e,n){return e.key===n.key&&(e.tag===n.tag&&e.isComment===n.isComment&&isDef(e.data)===isDef(n.data)&&sameInputType(e,n)||isTrue(e.isAsyncPlaceholder)&&e.asyncFactory===n.asyncFactory&&isUndef(n.asyncFactory.error))}function sameInputType(e,n){if(e.tag!=="input")return!0;var a,i=isDef(a=e.data)&&isDef(a=a.attrs)&&a.type,r=isDef(a=n.data)&&isDef(a=a.attrs)&&a.type;return i===r||isTextInputType(i)&&isTextInputType(r)}function createKeyToOldIdx(e,n,a){var i,r,s={};for(i=n;i<=a;++i)r=e[i].key,isDef(r)&&(s[r]=i);return s}function createPatchFunction(e){var n,a,i={},r=e.modules,s=e.nodeOps;for(n=0;nF?(W=isUndef(k[I+1])?null:k[I+1].elm,A(g,W,k,$,I,x)):$>I&&M(b,D,F)}function C(g,b,k,x){for(var T=k;T-1?baseSetAttr(e,n,a):isBooleanAttr(n)?isFalsyAttrValue(a)?e.removeAttribute(n):(a=n==="allowfullscreen"&&e.tagName==="EMBED"?"true":n,e.setAttribute(n,a)):isEnumeratedAttr(n)?e.setAttribute(n,convertEnumeratedValue(n,a)):isXlink(n)?isFalsyAttrValue(a)?e.removeAttributeNS(xlinkNS,getXlinkProp(n)):e.setAttributeNS(xlinkNS,n,a):baseSetAttr(e,n,a)}function baseSetAttr(e,n,a){if(isFalsyAttrValue(a))e.removeAttribute(n);else{if(isIE&&!isIE9&&e.tagName==="TEXTAREA"&&n==="placeholder"&&a!==""&&!e.__ieph){var i=function(r){r.stopImmediatePropagation(),e.removeEventListener("input",i)};e.addEventListener("input",i),e.__ieph=!0}e.setAttribute(n,a)}}var attrs={create:updateAttrs,update:updateAttrs};function updateClass(e,n){var a=n.elm,i=n.data,r=e.data;if(!(isUndef(i.staticClass)&&isUndef(i.class)&&(isUndef(r)||isUndef(r.staticClass)&&isUndef(r.class)))){var s=genClassForVnode(n),o=a._transitionClasses;isDef(o)&&(s=concat(s,stringifyClass(o))),s!==a._prevClass&&(a.setAttribute("class",s),a._prevClass=s)}}var klass={create:updateClass,update:updateClass},validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){var n=!1,a=!1,i=!1,r=!1,s=0,o=0,l=0,c=0,u,d,f,h,m;for(f=0;f=0&&(y=e.charAt(v),y===" ");v--);(!y||!validDivisionCharRE.test(y))&&(r=!0)}}h===void 0?h=e.slice(0,f).trim():c!==0&&_();function _(){(m||(m=[])).push(e.slice(c,f).trim()),c=f+1}if(m)for(f=0;f-1?{exp:e.slice(0,index$1),key:'"'+e.slice(index$1+1)+'"'}:{exp:e,key:null};for(str=e,index$1=expressionPos=expressionEndPos=0;!eof();)chr=next(),isStringStart(chr)?parseString(chr):chr===91&&parseBracket(chr);return{exp:e.slice(0,expressionPos),key:e.slice(expressionPos+1,expressionEndPos)}}function next(){return str.charCodeAt(++index$1)}function eof(){return index$1>=len}function isStringStart(e){return e===34||e===39}function parseBracket(e){var n=1;for(expressionPos=index$1;!eof();){if(e=next(),isStringStart(e)){parseString(e);continue}if(e===91&&n++,e===93&&n--,n===0){expressionEndPos=index$1;break}}}function parseString(e){for(var n=e;!eof()&&(e=next(),e!==n););}var RANGE_TOKEN="__r",CHECKBOX_RADIO_TOKEN="__c";function model(e,n,a){var i=n.value,r=n.modifiers,s=e.tag,o=e.attrsMap.type;if(e.component)return genComponentModel(e,i,r),!1;if(s==="select")genSelect(e,i,r);else if(s==="input"&&o==="checkbox")genCheckboxModel(e,i,r);else if(s==="input"&&o==="radio")genRadioModel(e,i,r);else if(s==="input"||s==="textarea")genDefaultModel(e,i,r);else if(!config.isReservedTag(s))return genComponentModel(e,i,r),!1;return!0}function genCheckboxModel(e,n,a){var i=a&&a.number,r=getBindingAttr(e,"value")||"null",s=getBindingAttr(e,"true-value")||"true",o=getBindingAttr(e,"false-value")||"false";addProp(e,"checked","Array.isArray("+n+")?_i("+n+","+r+")>-1"+(s==="true"?":("+n+")":":_q("+n+","+s+")")),addHandler(e,"change","var $$a="+n+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+o+");if(Array.isArray($$a)){var $$v="+(i?"_n("+r+")":r)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+genAssignmentCode(n,"$$a.concat([$$v])")+")}else{$$i>-1&&("+genAssignmentCode(n,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+genAssignmentCode(n,"$$c")+"}",null,!0)}function genRadioModel(e,n,a){var i=a&&a.number,r=getBindingAttr(e,"value")||"null";r=i?"_n("+r+")":r,addProp(e,"checked","_q("+n+","+r+")"),addHandler(e,"change",genAssignmentCode(n,r),null,!0)}function genSelect(e,n,a){var i=a&&a.number,r='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(i?"_n(val)":"val")+"})",s="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",o="var $$selectedVal = "+r+";";o=o+" "+genAssignmentCode(n,s),addHandler(e,"change",o,null,!0)}function genDefaultModel(e,n,a){var i=e.attrsMap.type,r=a||{},s=r.lazy,o=r.number,l=r.trim,c=!s&&i!=="range",u=s?"change":i==="range"?RANGE_TOKEN:"input",d="$event.target.value";l&&(d="$event.target.value.trim()"),o&&(d="_n("+d+")");var f=genAssignmentCode(n,d);c&&(f="if($event.target.composing)return;"+f),addProp(e,"value","("+n+")"),addHandler(e,u,f,null,!0),(l||o)&&addHandler(e,"blur","$forceUpdate()")}function normalizeEvents(e){if(isDef(e[RANGE_TOKEN])){var n=isIE?"change":"input";e[n]=[].concat(e[RANGE_TOKEN],e[n]||[]),delete e[RANGE_TOKEN]}isDef(e[CHECKBOX_RADIO_TOKEN])&&(e.change=[].concat(e[CHECKBOX_RADIO_TOKEN],e.change||[]),delete e[CHECKBOX_RADIO_TOKEN])}var target$1;function createOnceHandler$1(e,n,a){var i=target$1;return function r(){var s=n.apply(null,arguments);s!==null&&remove$2(e,r,a,i)}}var useMicrotaskFix=isUsingMicroTask&&!(isFF&&Number(isFF[1])<=53);function add$1(e,n,a,i){if(useMicrotaskFix){var r=currentFlushTimestamp,s=n;n=s._wrapper=function(o){if(o.target===o.currentTarget||o.timeStamp>=r||o.timeStamp<=0||o.target.ownerDocument!==document)return s.apply(this,arguments)}}target$1.addEventListener(e,n,supportsPassive?{capture:a,passive:i}:a)}function remove$2(e,n,a,i){(i||target$1).removeEventListener(e,n._wrapper||n,a)}function updateDOMListeners(e,n){if(!(isUndef(e.data.on)&&isUndef(n.data.on))){var a=n.data.on||{},i=e.data.on||{};target$1=n.elm,normalizeEvents(a),updateListeners(a,i,add$1,remove$2,createOnceHandler$1,n.context),target$1=void 0}}var events={create:updateDOMListeners,update:updateDOMListeners},svgContainer;function updateDOMProps(e,n){if(!(isUndef(e.data.domProps)&&isUndef(n.data.domProps))){var a,i,r=n.elm,s=e.data.domProps||{},o=n.data.domProps||{};isDef(o.__ob__)&&(o=n.data.domProps=extend({},o));for(a in s)a in o||(r[a]="");for(a in o){if(i=o[a],a==="textContent"||a==="innerHTML"){if(n.children&&(n.children.length=0),i===s[a])continue;r.childNodes.length===1&&r.removeChild(r.childNodes[0])}if(a==="value"&&r.tagName!=="PROGRESS"){r._value=i;var l=isUndef(i)?"":String(i);shouldUpdateValue(r,l)&&(r.value=l)}else if(a==="innerHTML"&&isSVG(r.tagName)&&isUndef(r.innerHTML)){svgContainer=svgContainer||document.createElement("div"),svgContainer.innerHTML=""+i+"";for(var c=svgContainer.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;c.firstChild;)r.appendChild(c.firstChild)}else if(i!==s[a])try{r[a]=i}catch(u){}}}}function shouldUpdateValue(e,n){return!e.composing&&(e.tagName==="OPTION"||isNotInFocusAndDirty(e,n)||isDirtyWithModifiers(e,n))}function isNotInFocusAndDirty(e,n){var a=!0;try{a=document.activeElement!==e}catch(i){}return a&&e.value!==n}function isDirtyWithModifiers(e,n){var a=e.value,i=e._vModifiers;if(isDef(i)){if(i.number)return toNumber(a)!==toNumber(n);if(i.trim)return a.trim()!==n.trim()}return a!==n}var domProps={create:updateDOMProps,update:updateDOMProps},parseStyleText=cached(function(e){var n={},a=/;(?![^(]*\))/g,i=/:(.+)/;return e.split(a).forEach(function(r){if(r){var s=r.split(i);s.length>1&&(n[s[0].trim()]=s[1].trim())}}),n});function normalizeStyleData(e){var n=normalizeStyleBinding(e.style);return e.staticStyle?extend(e.staticStyle,n):n}function normalizeStyleBinding(e){return Array.isArray(e)?toObject(e):typeof e=="string"?parseStyleText(e):e}function getStyle(e,n){var a={},i;if(n)for(var r=e;r.componentInstance;)r=r.componentInstance._vnode,r&&r.data&&(i=normalizeStyleData(r.data))&&extend(a,i);(i=normalizeStyleData(e.data))&&extend(a,i);for(var s=e;s=s.parent;)s.data&&(i=normalizeStyleData(s.data))&&extend(a,i);return a}var cssVarRE=/^--/,importantRE=/\s*!important$/,setProp=function(e,n,a){if(cssVarRE.test(n))e.style.setProperty(n,a);else if(importantRE.test(a))e.style.setProperty(hyphenate(n),a.replace(importantRE,""),"important");else{var i=normalize(n);if(Array.isArray(a))for(var r=0,s=a.length;r-1?n.split(whitespaceRE).forEach(function(i){return e.classList.add(i)}):e.classList.add(n);else{var a=" "+(e.getAttribute("class")||"")+" ";a.indexOf(" "+n+" ")<0&&e.setAttribute("class",(a+n).trim())}}function removeClass(e,n){if(!(!n||!(n=n.trim())))if(e.classList)n.indexOf(" ")>-1?n.split(whitespaceRE).forEach(function(r){return e.classList.remove(r)}):e.classList.remove(n),e.classList.length||e.removeAttribute("class");else{for(var a=" "+(e.getAttribute("class")||"")+" ",i=" "+n+" ";a.indexOf(i)>=0;)a=a.replace(i," ");a=a.trim(),a?e.setAttribute("class",a):e.removeAttribute("class")}}function resolveTransition(e){if(!!e){if(typeof e=="object"){var n={};return e.css!==!1&&extend(n,autoCssTransition(e.name||"v")),extend(n,e),n}else if(typeof e=="string")return autoCssTransition(e)}}var autoCssTransition=cached(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),hasTransition=inBrowser&&!isIE9,TRANSITION="transition",ANIMATION="animation",transitionProp="transition",transitionEndEvent="transitionend",animationProp="animation",animationEndEvent="animationend";hasTransition&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(transitionProp="WebkitTransition",transitionEndEvent="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(animationProp="WebkitAnimation",animationEndEvent="webkitAnimationEnd"));var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function nextFrame(e){raf(function(){raf(e)})}function addTransitionClass(e,n){var a=e._transitionClasses||(e._transitionClasses=[]);a.indexOf(n)<0&&(a.push(n),addClass(e,n))}function removeTransitionClass(e,n){e._transitionClasses&&remove(e._transitionClasses,n),removeClass(e,n)}function whenTransitionEnds(e,n,a){var i=getTransitionInfo(e,n),r=i.type,s=i.timeout,o=i.propCount;if(!r)return a();var l=r===TRANSITION?transitionEndEvent:animationEndEvent,c=0,u=function(){e.removeEventListener(l,d),a()},d=function(f){f.target===e&&++c>=o&&u()};setTimeout(function(){c0&&(u=TRANSITION,d=s,f=r.length):n===ANIMATION?c>0&&(u=ANIMATION,d=c,f=l.length):(d=Math.max(s,c),u=d>0?s>c?TRANSITION:ANIMATION:null,f=u?u===TRANSITION?r.length:l.length:0);var h=u===TRANSITION&&transformRE.test(a[transitionProp+"Property"]);return{type:u,timeout:d,propCount:f,hasTransform:h}}function getTimeout(e,n){for(;e.length1}function _enter(e,n){n.data.show!==!0&&enter(n)}var transition=inBrowser?{create:_enter,activate:_enter,remove:function(n,a){n.data.show!==!0?leave(n,a):a()}}:{},platformModules=[attrs,klass,events,domProps,style,transition],modules=platformModules.concat(baseModules),patch=createPatchFunction({nodeOps,modules});isIE9&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&trigger(e,"input")});var directive={inserted:function(n,a,i,r){i.tag==="select"?(r.elm&&!r.elm._vOptions?mergeVNodeHook(i,"postpatch",function(){directive.componentUpdated(n,a,i)}):setSelected(n,a,i.context),n._vOptions=[].map.call(n.options,getValue)):(i.tag==="textarea"||isTextInputType(n.type))&&(n._vModifiers=a.modifiers,a.modifiers.lazy||(n.addEventListener("compositionstart",onCompositionStart),n.addEventListener("compositionend",onCompositionEnd),n.addEventListener("change",onCompositionEnd),isIE9&&(n.vmodel=!0)))},componentUpdated:function(n,a,i){if(i.tag==="select"){setSelected(n,a,i.context);var r=n._vOptions,s=n._vOptions=[].map.call(n.options,getValue);if(s.some(function(l,c){return!looseEqual(l,r[c])})){var o=n.multiple?a.value.some(function(l){return hasNoMatchingOption(l,s)}):a.value!==a.oldValue&&hasNoMatchingOption(a.value,s);o&&trigger(n,"change")}}}};function setSelected(e,n,a){actuallySetSelected(e,n),(isIE||isEdge)&&setTimeout(function(){actuallySetSelected(e,n)},0)}function actuallySetSelected(e,n,a){var i=n.value,r=e.multiple;if(!(r&&!Array.isArray(i))){for(var s,o,l=0,c=e.options.length;l-1,o.selected!==s&&(o.selected=s);else if(looseEqual(getValue(o),i)){e.selectedIndex!==l&&(e.selectedIndex=l);return}r||(e.selectedIndex=-1)}}function hasNoMatchingOption(e,n){return n.every(function(a){return!looseEqual(a,e)})}function getValue(e){return"_value"in e?e._value:e.value}function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){!e.target.composing||(e.target.composing=!1,trigger(e.target,"input"))}function trigger(e,n){var a=document.createEvent("HTMLEvents");a.initEvent(n,!0,!0),e.dispatchEvent(a)}function locateNode(e){return e.componentInstance&&(!e.data||!e.data.transition)?locateNode(e.componentInstance._vnode):e}var show={bind:function(n,a,i){var r=a.value;i=locateNode(i);var s=i.data&&i.data.transition,o=n.__vOriginalDisplay=n.style.display==="none"?"":n.style.display;r&&s?(i.data.show=!0,enter(i,function(){n.style.display=o})):n.style.display=r?o:"none"},update:function(n,a,i){var r=a.value,s=a.oldValue;if(!r!=!s){i=locateNode(i);var o=i.data&&i.data.transition;o?(i.data.show=!0,r?enter(i,function(){n.style.display=n.__vOriginalDisplay}):leave(i,function(){n.style.display="none"})):n.style.display=r?n.__vOriginalDisplay:"none"}},unbind:function(n,a,i,r,s){s||(n.style.display=n.__vOriginalDisplay)}},platformDirectives={model:directive,show},transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function getRealChild(e){var n=e&&e.componentOptions;return n&&n.Ctor.options.abstract?getRealChild(getFirstComponentChild(n.children)):e}function extractTransitionData(e){var n={},a=e.$options;for(var i in a.propsData)n[i]=e[i];var r=a._parentListeners;for(var s in r)n[camelize(s)]=r[s];return n}function placeholder(e,n){if(/\d-keep-alive$/.test(n.tag))return e("keep-alive",{props:n.componentOptions.propsData})}function hasParentTransition(e){for(;e=e.parent;)if(e.data.transition)return!0}function isSameChild(e,n){return n.key===e.key&&n.tag===e.tag}var isNotTextNode=function(e){return e.tag||isAsyncPlaceholder(e)},isVShowDirective=function(e){return e.name==="show"},Transition={name:"transition",props:transitionProps,abstract:!0,render:function(n){var a=this,i=this.$slots.default;if(!!i&&(i=i.filter(isNotTextNode),!!i.length)){var r=this.mode,s=i[0];if(hasParentTransition(this.$vnode))return s;var o=getRealChild(s);if(!o)return s;if(this._leaving)return placeholder(n,s);var l="__transition-"+this._uid+"-";o.key=o.key==null?o.isComment?l+"comment":l+o.tag:isPrimitive(o.key)?String(o.key).indexOf(l)===0?o.key:l+o.key:o.key;var c=(o.data||(o.data={})).transition=extractTransitionData(this),u=this._vnode,d=getRealChild(u);if(o.data.directives&&o.data.directives.some(isVShowDirective)&&(o.data.show=!0),d&&d.data&&!isSameChild(o,d)&&!isAsyncPlaceholder(d)&&!(d.componentInstance&&d.componentInstance._vnode.isComment)){var f=d.data.transition=extend({},c);if(r==="out-in")return this._leaving=!0,mergeVNodeHook(f,"afterLeave",function(){a._leaving=!1,a.$forceUpdate()}),placeholder(n,s);if(r==="in-out"){if(isAsyncPlaceholder(o))return u;var h,m=function(){h()};mergeVNodeHook(c,"afterEnter",m),mergeVNodeHook(c,"enterCancelled",m),mergeVNodeHook(f,"delayLeave",function(v){h=v})}}return s}}},props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props,beforeMount:function(){var n=this,a=this._update;this._update=function(i,r){var s=setActiveInstance(n);n.__patch__(n._vnode,n.kept,!1,!0),n._vnode=n.kept,s(),a.call(n,i,r)}},render:function(n){for(var a=this.tag||this.$vnode.data.tag||"span",i=Object.create(null),r=this.prevChildren=this.children,s=this.$slots.default||[],o=this.children=[],l=extractTransitionData(this),c=0;cs&&(r.push(c=e.slice(s,l)),i.push(JSON.stringify(c)));var u=parseFilters(o[1].trim());i.push("_s("+u+")"),r.push({"@binding":u}),s=l+o[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ncname="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+unicodeRegExp.source+"]*",qnameCapture="((?:"+ncname+"\\:)?"+ncname+")",startTagOpen=new RegExp("^<"+qnameCapture),startTagClose=/^\s*(\/?)>/,endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>"),doctype=/^]+>/i,comment=/^",""":'"',"&":"&"," ":` -`," ":" ","'":"'"},encodedAttr=/&(?:lt|gt|quot|amp|#39);/g,encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,isIgnoreNewlineTag=makeMap("pre,textarea",!0),shouldIgnoreFirstNewline=function(e,n){return e&&isIgnoreNewlineTag(e)&&n[0]===` -`};function decodeAttr(e,n){var a=n?encodedAttrWithNewLines:encodedAttr;return e.replace(a,function(i){return decodingMap[i]})}function parseHTML(e,n){for(var a=[],i=n.expectHTML,r=n.isUnaryTag||no,s=n.canBeLeftOpenTag||no,o=0,l,c;e;){if(l=e,!c||!isPlainTextElement(c)){var u=e.indexOf("<");if(u===0){if(comment.test(e)){var d=e.indexOf("-->");if(d>=0){n.shouldKeepComment&&n.comment(e.substring(4,d),o,o+d+3),C(d+3);continue}}if(conditionalComment.test(e)){var f=e.indexOf("]>");if(f>=0){C(f+2);continue}}var h=e.match(doctype);if(h){C(h[0].length);continue}var m=e.match(endTag);if(m){var v=o;C(m[0].length),E(m[1],v,o);continue}var y=N();if(y){j(y),shouldIgnoreFirstNewline(y.tagName,e)&&C(1);continue}}var _=void 0,w=void 0,A=void 0;if(u>=0){for(w=e.slice(u);!endTag.test(w)&&!startTagOpen.test(w)&&!comment.test(w)&&!conditionalComment.test(w)&&(A=w.indexOf("<",1),!(A<0));)u+=A,w=e.slice(u);_=e.substring(0,u)}u<0&&(_=e),_&&C(_.length),n.chars&&_&&n.chars(_,o-_.length,o)}else{var S=0,M=c.toLowerCase(),P=reCache[M]||(reCache[M]=new RegExp("([\\s\\S]*?)(]*>)","i")),z=e.replace(P,function(R,g,b){return S=b.length,!isPlainTextElement(M)&&M!=="noscript"&&(g=g.replace(//g,"$1").replace(//g,"$1")),shouldIgnoreFirstNewline(M,g)&&(g=g.slice(1)),n.chars&&n.chars(g),""});o+=e.length-z.length,e=z,E(M,o-S,o)}if(e===l){n.chars&&n.chars(e);break}}E();function C(R){o+=R,e=e.substring(R)}function N(){var R=e.match(startTagOpen);if(R){var g={tagName:R[1],attrs:[],start:o};C(R[0].length);for(var b,k;!(b=e.match(startTagClose))&&(k=e.match(dynamicArgAttribute)||e.match(attribute));)k.start=o,C(k[0].length),k.end=o,g.attrs.push(k);if(b)return g.unarySlash=b[1],C(b[0].length),g.end=o,g}}function j(R){var g=R.tagName,b=R.unarySlash;i&&(c==="p"&&isNonPhrasingTag(g)&&E(c),s(g)&&c===g&&E(g));for(var k=r(g)||!!b,x=R.attrs.length,T=new Array(x),D=0;D=0&&a[k].lowerCasedTag!==x;k--);else k=0;if(k>=0){for(var T=a.length-1;T>=k;T--)n.end&&n.end(a[T].tag,g,b);a.length=k,c=k&&a[k-1].tag}else x==="br"?n.start&&n.start(R,[],!0,g,b):x==="p"&&(n.start&&n.start(R,[],!1,g,b),n.end&&n.end(R,g,b))}}var onRE=/^@|^v-on:/,dirRE=/^v-|^@|^:|^#/,forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g,dynamicArgRE=/^\[.*\]$/,argRE=/:(.*)$/,bindRE=/^:|^\.|^v-bind:/,modifierRE=/\.[^.\]]+(?=[^\]]*$)/g,slotRE=/^v-slot(:|$)|^#/,lineBreakRE=/[\r\n]/,whitespaceRE$1=/\s+/g,decodeHTMLCached=cached(he.decode),emptySlotScopeToken="_empty_",warn$2,delimiters,transforms,preTransforms,postTransforms,platformIsPreTag,platformMustUseProp,platformGetTagNamespace;function createASTElement(e,n,a){return{type:1,tag:e,attrsList:n,attrsMap:makeAttrsMap(n),rawAttrsMap:{},parent:a,children:[]}}function parse(e,n){warn$2=n.warn||baseWarn,platformIsPreTag=n.isPreTag||no,platformMustUseProp=n.mustUseProp||no,platformGetTagNamespace=n.getTagNamespace||no,n.isReservedTag,transforms=pluckModuleFunction(n.modules,"transformNode"),preTransforms=pluckModuleFunction(n.modules,"preTransformNode"),postTransforms=pluckModuleFunction(n.modules,"postTransformNode"),delimiters=n.delimiters;var a=[],i=n.preserveWhitespace!==!1,r=n.whitespace,s,o,l=!1,c=!1;function u(f){if(d(f),!l&&!f.processed&&(f=processElement(f,n)),!a.length&&f!==s&&s.if&&(f.elseif||f.else)&&addIfCondition(s,{exp:f.elseif,block:f}),o&&!f.forbidden)if(f.elseif||f.else)processIfConditions(f,o);else{if(f.slotScope){var h=f.slotTarget||'"default"';(o.scopedSlots||(o.scopedSlots={}))[h]=f}o.children.push(f),f.parent=o}f.children=f.children.filter(function(v){return!v.slotScope}),d(f),f.pre&&(l=!1),platformIsPreTag(f.tag)&&(c=!1);for(var m=0;m|^function(?:\s+[\w$]+)?\s*\(/,fnInvokeRE=/\([^)]*?\);*$/,simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},keyNames={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},genGuard=function(e){return"if("+e+")return null;"},modifierCode={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(e,n){var a=n?"nativeOn:":"on:",i="",r="";for(var s in e){var o=genHandler(e[s]);e[s]&&e[s].dynamic?r+=s+","+o+",":i+='"'+s+'":'+o+","}return i="{"+i.slice(0,-1)+"}",r?a+"_d("+i+",["+r.slice(0,-1)+"])":a+i}function genHandler(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(d){return genHandler(d)}).join(",")+"]";var n=simplePathRE.test(e.value),a=fnExpRE.test(e.value),i=simplePathRE.test(e.value.replace(fnInvokeRE,""));if(e.modifiers){var r="",s="",o=[];for(var l in e.modifiers)if(modifierCode[l])s+=modifierCode[l],keyCodes[l]&&o.push(l);else if(l==="exact"){var c=e.modifiers;s+=genGuard(["ctrl","shift","alt","meta"].filter(function(d){return!c[d]}).map(function(d){return"$event."+d+"Key"}).join("||"))}else o.push(l);o.length&&(r+=genKeyFilter(o)),s&&(r+=s);var u=n?"return "+e.value+"($event)":a?"return ("+e.value+")($event)":i?"return "+e.value:e.value;return"function($event){"+r+u+"}"}else return n||a?e.value:"function($event){"+(i?"return "+e.value:e.value)+"}"}function genKeyFilter(e){return"if(!$event.type.indexOf('key')&&"+e.map(genFilterCode).join("&&")+")return null;"}function genFilterCode(e){var n=parseInt(e,10);if(n)return"$event.keyCode!=="+n;var a=keyCodes[e],i=keyNames[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(a)+",$event.key,"+JSON.stringify(i)+")"}function on(e,n){e.wrapListeners=function(a){return"_g("+a+","+n.value+")"}}function bind$1(e,n){e.wrapData=function(a){return"_b("+a+",'"+e.tag+"',"+n.value+","+(n.modifiers&&n.modifiers.prop?"true":"false")+(n.modifiers&&n.modifiers.sync?",true":"")+")"}}var baseDirectives={on,bind:bind$1,cloak:noop},CodegenState=function(n){this.options=n,this.warn=n.warn||baseWarn,this.transforms=pluckModuleFunction(n.modules,"transformCode"),this.dataGenFns=pluckModuleFunction(n.modules,"genData"),this.directives=extend(extend({},baseDirectives),n.directives);var a=n.isReservedTag||no;this.maybeComponent=function(i){return!!i.component||!a(i.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function generate(e,n){var a=new CodegenState(n),i=e?genElement(e,a):'_c("div")';return{render:"with(this){return "+i+"}",staticRenderFns:a.staticRenderFns}}function genElement(e,n){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return genStatic(e,n);if(e.once&&!e.onceProcessed)return genOnce(e,n);if(e.for&&!e.forProcessed)return genFor(e,n);if(e.if&&!e.ifProcessed)return genIf(e,n);if(e.tag==="template"&&!e.slotTarget&&!n.pre)return genChildren(e,n)||"void 0";if(e.tag==="slot")return genSlot(e,n);var a;if(e.component)a=genComponent(e.component,e,n);else{var i;(!e.plain||e.pre&&n.maybeComponent(e))&&(i=genData$2(e,n));var r=e.inlineTemplate?null:genChildren(e,n,!0);a="_c('"+e.tag+"'"+(i?","+i:"")+(r?","+r:"")+")"}for(var s=0;s>>0}function containsSlotChild(e){return e.type===1?e.tag==="slot"?!0:e.children.some(containsSlotChild):!1}function genScopedSlot(e,n){var a=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!a)return genIf(e,n,genScopedSlot,"null");if(e.for&&!e.forProcessed)return genFor(e,n,genScopedSlot);var i=e.slotScope===emptySlotScopeToken?"":String(e.slotScope),r="function("+i+"){return "+(e.tag==="template"?e.if&&a?"("+e.if+")?"+(genChildren(e,n)||"undefined")+":undefined":genChildren(e,n)||"undefined":genElement(e,n))+"}",s=i?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+r+s+"}"}function genChildren(e,n,a,i,r){var s=e.children;if(s.length){var o=s[0];if(s.length===1&&o.for&&o.tag!=="template"&&o.tag!=="slot"){var l=a?n.maybeComponent(o)?",1":",0":"";return""+(i||genElement)(o,n)+l}var c=a?getNormalizationType(s,n.maybeComponent):0,u=r||genNode;return"["+s.map(function(d){return u(d,n)}).join(",")+"]"+(c?","+c:"")}}function getNormalizationType(e,n){for(var a=0,i=0;i=0&&Math.floor(a)===a&&isFinite(e)}function isPromise(e){return isDef(e)&&typeof e.then=="function"&&typeof e.catch=="function"}function toString(e){return e==null?"":Array.isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function toNumber(e){var a=parseFloat(e);return isNaN(a)?e:a}function makeMap(e,a){for(var n=Object.create(null),i=e.split(","),r=0;r-1)return e.splice(n,1)}}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,a){return hasOwnProperty.call(e,a)}function cached(e){var a=Object.create(null);return function(i){var r=a[i];return r||(a[i]=e(i))}}var camelizeRE=/-(\w)/g,camelize=cached(function(e){return e.replace(camelizeRE,function(a,n){return n?n.toUpperCase():""})}),capitalize=cached(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(function(e){return e.replace(hyphenateRE,"-$1").toLowerCase()});function polyfillBind(e,a){function n(i){var r=arguments.length;return r?r>1?e.apply(a,arguments):e.call(a,i):e.call(a)}return n._length=e.length,n}function nativeBind(e,a){return e.bind(a)}var bind=Function.prototype.bind?nativeBind:polyfillBind;function toArray(e,a){a=a||0;for(var n=e.length-a,i=new Array(n);n--;)i[n]=e[n+a];return i}function extend(e,a){for(var n in a)e[n]=a[n];return e}function toObject(e){for(var a={},n=0;n0,isEdge=UA&&UA.indexOf("edge/")>0;UA&&UA.indexOf("android")>0;var isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==="ios";UA&&/chrome\/\d+/.test(UA),UA&&/phantomjs/.test(UA);var isFF=UA&&UA.match(/firefox\/(\d+)/),nativeWatch={}.watch,supportsPassive=!1;if(inBrowser)try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener("test-passive",null,opts)}catch(e){}var _isServer,isServerRendering=function(){return _isServer===void 0&&(!inBrowser&&!inWeex&&typeof global!="undefined"?_isServer=global.process&&global.process.env.VUE_ENV==="server":_isServer=!1),_isServer},devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function isNative(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol=typeof Symbol!="undefined"&&isNative(Symbol)&&typeof Reflect!="undefined"&&isNative(Reflect.ownKeys),_Set;typeof Set!="undefined"&&isNative(Set)?_Set=Set:_Set=function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(n){return this.set[n]===!0},e.prototype.add=function(n){this.set[n]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var warn=noop,uid=0,Dep=function(){this.id=uid++,this.subs=[]};Dep.prototype.addSub=function(a){this.subs.push(a)},Dep.prototype.removeSub=function(a){remove(this.subs,a)},Dep.prototype.depend=function(){Dep.target&&Dep.target.addDep(this)},Dep.prototype.notify=function(){for(var a=this.subs.slice(),n=0,i=a.length;n-1){if(s&&!hasOwn(r,"default"))o=!1;else if(o===""||o===hyphenate(e)){var c=getTypeIndex(String,r.type);(c<0||l0&&(r=normalizeArrayChildren(r,(a||"")+"_"+i),isTextNode(r[0])&&isTextNode(o)&&(n[s]=createTextVNode(o.text+r[0].text),r.shift()),n.push.apply(n,r)):isPrimitive(r)?isTextNode(o)?n[s]=createTextVNode(o.text+r):r!==""&&n.push(createTextVNode(r)):isTextNode(r)&&isTextNode(o)?n[s]=createTextVNode(o.text+r.text):(isTrue(e._isVList)&&isDef(r.tag)&&isUndef(r.key)&&isDef(a)&&(r.key="__vlist"+a+"_"+i+"__"),n.push(r)));return n}function initProvide(e){var a=e.$options.provide;a&&(e._provided=typeof a=="function"?a.call(e):a)}function initInjections(e){var a=resolveInject(e.$options.inject,e);a&&(toggleObserving(!1),Object.keys(a).forEach(function(n){defineReactive$$1(e,n,a[n])}),toggleObserving(!0))}function resolveInject(e,a){if(e){for(var n=Object.create(null),i=hasSymbol?Reflect.ownKeys(e):Object.keys(e),r=0;r0,s=e?!!e.$stable:!r,o=e&&e.$key;if(!e)i={};else{if(e._normalized)return e._normalized;if(s&&n&&n!==emptyObject&&o===n.$key&&!r&&!n.$hasNormal)return n;i={};for(var l in e)e[l]&&l[0]!=="$"&&(i[l]=normalizeScopedSlot(a,l,e[l]))}for(var c in a)c in i||(i[c]=proxyNormalSlot(a,c));return e&&Object.isExtensible(e)&&(e._normalized=i),def(i,"$stable",s),def(i,"$key",o),def(i,"$hasNormal",r),i}function normalizeScopedSlot(e,a,n){var i=function(){var r=arguments.length?n.apply(null,arguments):n({});return r=r&&typeof r=="object"&&!Array.isArray(r)?[r]:normalizeChildren(r),r&&(r.length===0||r.length===1&&r[0].isComment)?void 0:r};return n.proxy&&Object.defineProperty(e,a,{get:i,enumerable:!0,configurable:!0}),i}function proxyNormalSlot(e,a){return function(){return e[a]}}function renderList(e,a){var n,i,r,s,o;if(Array.isArray(e)||typeof e=="string")for(n=new Array(e.length),i=0,r=e.length;i1?toArray(r):r;for(var s=toArray(arguments,1),o='event handler for "'+n+'"',l=0,c=r.length;ldocument.createEvent("Event").timeStamp&&(getNow=function(){return performance.now()})}function flushSchedulerQueue(){currentFlushTimestamp=getNow(),flushing=!0;var e,a;for(queue.sort(function(r,s){return r.id-s.id}),index=0;indexindex&&queue[n].id>e.id;)n--;queue.splice(n+1,0,e)}waiting||(waiting=!0,nextTick(flushSchedulerQueue))}}var uid$2=0,Watcher=function(a,n,i,r,s){this.vm=a,s&&(a._watcher=this),a._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=i,this.id=++uid$2,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new _Set,this.newDepIds=new _Set,this.expression="",typeof n=="function"?this.getter=n:(this.getter=parsePath(n),this.getter||(this.getter=noop)),this.value=this.lazy?void 0:this.get()};Watcher.prototype.get=function(){pushTarget(this);var a,n=this.vm;try{a=this.getter.call(n,n)}catch(i){if(this.user)handleError(i,n,'getter for watcher "'+this.expression+'"');else throw i}finally{this.deep&&traverse(a),popTarget(),this.cleanupDeps()}return a},Watcher.prototype.addDep=function(a){var n=a.id;this.newDepIds.has(n)||(this.newDepIds.add(n),this.newDeps.push(a),this.depIds.has(n)||a.addSub(this))},Watcher.prototype.cleanupDeps=function(){for(var a=this.deps.length;a--;){var n=this.deps[a];this.newDepIds.has(n.id)||n.removeSub(this)}var i=this.depIds;this.depIds=this.newDepIds,this.newDepIds=i,this.newDepIds.clear(),i=this.deps,this.deps=this.newDeps,this.newDeps=i,this.newDeps.length=0},Watcher.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():queueWatcher(this)},Watcher.prototype.run=function(){if(this.active){var a=this.get();if(a!==this.value||isObject(a)||this.deep){var n=this.value;if(this.value=a,this.user)try{this.cb.call(this.vm,a,n)}catch(i){handleError(i,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,a,n)}}},Watcher.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Watcher.prototype.depend=function(){for(var a=this.deps.length;a--;)this.deps[a].depend()},Watcher.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||remove(this.vm._watchers,this);for(var a=this.deps.length;a--;)this.deps[a].removeSub(this);this.active=!1}};var sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop,set:noop};function proxy(e,a,n){sharedPropertyDefinition.get=function(){return this[a][n]},sharedPropertyDefinition.set=function(r){this[a][n]=r},Object.defineProperty(e,n,sharedPropertyDefinition)}function initState(e){e._watchers=[];var a=e.$options;a.props&&initProps(e,a.props),a.methods&&initMethods(e,a.methods),a.data?initData(e):observe(e._data={},!0),a.computed&&initComputed(e,a.computed),a.watch&&a.watch!==nativeWatch&&initWatch(e,a.watch)}function initProps(e,a){var n=e.$options.propsData||{},i=e._props={},r=e.$options._propKeys=[],s=!e.$parent;s||toggleObserving(!1);var o=function(c){r.push(c);var u=validateProp(c,a,n,e);defineReactive$$1(i,c,u),c in e||proxy(e,"_props",c)};for(var l in a)o(l);toggleObserving(!0)}function initData(e){var a=e.$options.data;a=e._data=typeof a=="function"?getData(a,e):a||{},isPlainObject(a)||(a={});var n=Object.keys(a),i=e.$options.props;e.$options.methods;for(var r=n.length;r--;){var s=n[r];i&&hasOwn(i,s)||isReserved(s)||proxy(e,"_data",s)}observe(a,!0)}function getData(e,a){pushTarget();try{return e.call(a,a)}catch(n){return handleError(n,a,"data()"),{}}finally{popTarget()}}var computedWatcherOptions={lazy:!0};function initComputed(e,a){var n=e._computedWatchers=Object.create(null),i=isServerRendering();for(var r in a){var s=a[r],o=typeof s=="function"?s:s.get;i||(n[r]=new Watcher(e,o||noop,noop,computedWatcherOptions)),r in e||defineComputed(e,r,s)}}function defineComputed(e,a,n){var i=!isServerRendering();typeof n=="function"?(sharedPropertyDefinition.get=i?createComputedGetter(a):createGetterInvoker(n),sharedPropertyDefinition.set=noop):(sharedPropertyDefinition.get=n.get?i&&n.cache!==!1?createComputedGetter(a):createGetterInvoker(n.get):noop,sharedPropertyDefinition.set=n.set||noop),Object.defineProperty(e,a,sharedPropertyDefinition)}function createComputedGetter(e){return function(){var n=this._computedWatchers&&this._computedWatchers[e];if(n)return n.dirty&&n.evaluate(),Dep.target&&n.depend(),n.value}}function createGetterInvoker(e){return function(){return e.call(this,this)}}function initMethods(e,a){e.$options.props;for(var n in a)e[n]=typeof a[n]!="function"?noop:bind(a[n],e)}function initWatch(e,a){for(var n in a){var i=a[n];if(Array.isArray(i))for(var r=0;r-1)return this;var i=toArray(arguments,1);return i.unshift(this),typeof a.install=="function"?a.install.apply(a,i):typeof a=="function"&&a.apply(null,i),n.push(a),this}}function initMixin$1(e){e.mixin=function(a){return this.options=mergeOptions(this.options,a),this}}function initExtend(e){e.cid=0;var a=1;e.extend=function(n){n=n||{};var i=this,r=i.cid,s=n._Ctor||(n._Ctor={});if(s[r])return s[r];var o=n.name||i.options.name,l=function(u){this._init(u)};return l.prototype=Object.create(i.prototype),l.prototype.constructor=l,l.cid=a++,l.options=mergeOptions(i.options,n),l.super=i,l.options.props&&initProps$1(l),l.options.computed&&initComputed$1(l),l.extend=i.extend,l.mixin=i.mixin,l.use=i.use,ASSET_TYPES.forEach(function(c){l[c]=i[c]}),o&&(l.options.components[o]=l),l.superOptions=i.options,l.extendOptions=n,l.sealedOptions=extend({},l.options),s[r]=l,l}}function initProps$1(e){var a=e.options.props;for(var n in a)proxy(e.prototype,"_props",n)}function initComputed$1(e){var a=e.options.computed;for(var n in a)defineComputed(e.prototype,n,a[n])}function initAssetRegisters(e){ASSET_TYPES.forEach(function(a){e[a]=function(n,i){return i?(a==="component"&&isPlainObject(i)&&(i.name=i.name||n,i=this.options._base.extend(i)),a==="directive"&&typeof i=="function"&&(i={bind:i,update:i}),this.options[a+"s"][n]=i,i):this.options[a+"s"][n]}})}function getComponentName(e){return e&&(e.Ctor.options.name||e.tag)}function matches(e,a){return Array.isArray(e)?e.indexOf(a)>-1:typeof e=="string"?e.split(",").indexOf(a)>-1:isRegExp(e)?e.test(a):!1}function pruneCache(e,a){var n=e.cache,i=e.keys,r=e._vnode;for(var s in n){var o=n[s];if(o){var l=getComponentName(o.componentOptions);l&&!a(l)&&pruneCacheEntry(n,s,i,r)}}}function pruneCacheEntry(e,a,n,i){var r=e[a];r&&(!i||r.tag!==i.tag)&&r.componentInstance.$destroy(),e[a]=null,remove(n,a)}var patternTypes=[String,RegExp,Array],KeepAlive={name:"keep-alive",abstract:!0,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var a in this.cache)pruneCacheEntry(this.cache,a,this.keys)},mounted:function(){var a=this;this.$watch("include",function(n){pruneCache(a,function(i){return matches(n,i)})}),this.$watch("exclude",function(n){pruneCache(a,function(i){return!matches(n,i)})})},render:function(){var a=this.$slots.default,n=getFirstComponentChild(a),i=n&&n.componentOptions;if(i){var r=getComponentName(i),s=this,o=s.include,l=s.exclude;if(o&&(!r||!matches(o,r))||l&&r&&matches(l,r))return n;var c=this,u=c.cache,d=c.keys,f=n.key==null?i.Ctor.cid+(i.tag?"::"+i.tag:""):n.key;u[f]?(n.componentInstance=u[f].componentInstance,remove(d,f),d.push(f)):(u[f]=n,d.push(f),this.max&&d.length>parseInt(this.max)&&pruneCacheEntry(u,d[0],d,this._vnode)),n.data.keepAlive=!0}return n||a&&a[0]}},builtInComponents={KeepAlive};function initGlobalAPI(e){var a={};a.get=function(){return config},Object.defineProperty(e,"config",a),e.util={warn,extend,mergeOptions,defineReactive:defineReactive$$1},e.set=set,e.delete=del,e.nextTick=nextTick,e.observable=function(n){return observe(n),n},e.options=Object.create(null),ASSET_TYPES.forEach(function(n){e.options[n+"s"]=Object.create(null)}),e.options._base=e,extend(e.options.components,builtInComponents),initUse(e),initMixin$1(e),initExtend(e),initAssetRegisters(e)}initGlobalAPI(Vue),Object.defineProperty(Vue.prototype,"$isServer",{get:isServerRendering}),Object.defineProperty(Vue.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vue,"FunctionalRenderContext",{value:FunctionalRenderContext}),Vue.version="2.6.12";var isReservedAttr=makeMap("style,class"),acceptValue=makeMap("input,textarea,option,select,progress"),mustUseProp=function(e,a,n){return n==="value"&&acceptValue(e)&&a!=="button"||n==="selected"&&e==="option"||n==="checked"&&e==="input"||n==="muted"&&e==="video"},isEnumeratedAttr=makeMap("contenteditable,draggable,spellcheck"),isValidContentEditableValue=makeMap("events,caret,typing,plaintext-only"),convertEnumeratedValue=function(e,a){return isFalsyAttrValue(a)||a==="false"?"false":e==="contenteditable"&&isValidContentEditableValue(a)?a:"true"},isBooleanAttr=makeMap("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),xlinkNS="http://www.w3.org/1999/xlink",isXlink=function(e){return e.charAt(5)===":"&&e.slice(0,5)==="xlink"},getXlinkProp=function(e){return isXlink(e)?e.slice(6,e.length):""},isFalsyAttrValue=function(e){return e==null||e===!1};function genClassForVnode(e){for(var a=e.data,n=e,i=e;isDef(i.componentInstance);)i=i.componentInstance._vnode,i&&i.data&&(a=mergeClassData(i.data,a));for(;isDef(n=n.parent);)n&&n.data&&(a=mergeClassData(a,n.data));return renderClass(a.staticClass,a.class)}function mergeClassData(e,a){return{staticClass:concat(e.staticClass,a.staticClass),class:isDef(e.class)?[e.class,a.class]:a.class}}function renderClass(e,a){return isDef(e)||isDef(a)?concat(e,stringifyClass(a)):""}function concat(e,a){return e?a?e+" "+a:e:a||""}function stringifyClass(e){return Array.isArray(e)?stringifyArray(e):isObject(e)?stringifyObject(e):typeof e=="string"?e:""}function stringifyArray(e){for(var a="",n,i=0,r=e.length;i-1?unknownElementCache[e]=a.constructor===window.HTMLUnknownElement||a.constructor===window.HTMLElement:unknownElementCache[e]=/HTMLUnknownElement/.test(a.toString())}var isTextInputType=makeMap("text,number,password,search,email,tel,url");function query(e){if(typeof e=="string"){var a=document.querySelector(e);return a||document.createElement("div")}else return e}function createElement$1(e,a){var n=document.createElement(e);return e!=="select"||a.data&&a.data.attrs&&a.data.attrs.multiple!==void 0&&n.setAttribute("multiple","multiple"),n}function createElementNS(e,a){return document.createElementNS(namespaceMap[e],a)}function createTextNode(e){return document.createTextNode(e)}function createComment(e){return document.createComment(e)}function insertBefore(e,a,n){e.insertBefore(a,n)}function removeChild(e,a){e.removeChild(a)}function appendChild(e,a){e.appendChild(a)}function parentNode(e){return e.parentNode}function nextSibling(e){return e.nextSibling}function tagName(e){return e.tagName}function setTextContent(e,a){e.textContent=a}function setStyleScope(e,a){e.setAttribute(a,"")}var nodeOps=Object.freeze({createElement:createElement$1,createElementNS,createTextNode,createComment,insertBefore,removeChild,appendChild,parentNode,nextSibling,tagName,setTextContent,setStyleScope}),ref={create:function(a,n){registerRef(n)},update:function(a,n){a.data.ref!==n.data.ref&&(registerRef(a,!0),registerRef(n))},destroy:function(a){registerRef(a,!0)}};function registerRef(e,a){var n=e.data.ref;if(!!isDef(n)){var i=e.context,r=e.componentInstance||e.elm,s=i.$refs;a?Array.isArray(s[n])?remove(s[n],r):s[n]===r&&(s[n]=void 0):e.data.refInFor?Array.isArray(s[n])?s[n].indexOf(r)<0&&s[n].push(r):s[n]=[r]:s[n]=r}}var emptyNode=new VNode("",{},[]),hooks=["create","activate","update","remove","destroy"];function sameVnode(e,a){return e.key===a.key&&(e.tag===a.tag&&e.isComment===a.isComment&&isDef(e.data)===isDef(a.data)&&sameInputType(e,a)||isTrue(e.isAsyncPlaceholder)&&e.asyncFactory===a.asyncFactory&&isUndef(a.asyncFactory.error))}function sameInputType(e,a){if(e.tag!=="input")return!0;var n,i=isDef(n=e.data)&&isDef(n=n.attrs)&&n.type,r=isDef(n=a.data)&&isDef(n=n.attrs)&&n.type;return i===r||isTextInputType(i)&&isTextInputType(r)}function createKeyToOldIdx(e,a,n){var i,r,s={};for(i=a;i<=n;++i)r=e[i].key,isDef(r)&&(s[r]=i);return s}function createPatchFunction(e){var a,n,i={},r=e.modules,s=e.nodeOps;for(a=0;aF?(W=isUndef(k[I+1])?null:k[I+1].elm,A(g,W,k,$,I,x)):$>I&&M(b,D,F)}function C(g,b,k,x){for(var T=k;T-1?baseSetAttr(e,a,n):isBooleanAttr(a)?isFalsyAttrValue(n)?e.removeAttribute(a):(n=a==="allowfullscreen"&&e.tagName==="EMBED"?"true":a,e.setAttribute(a,n)):isEnumeratedAttr(a)?e.setAttribute(a,convertEnumeratedValue(a,n)):isXlink(a)?isFalsyAttrValue(n)?e.removeAttributeNS(xlinkNS,getXlinkProp(a)):e.setAttributeNS(xlinkNS,a,n):baseSetAttr(e,a,n)}function baseSetAttr(e,a,n){if(isFalsyAttrValue(n))e.removeAttribute(a);else{if(isIE&&!isIE9&&e.tagName==="TEXTAREA"&&a==="placeholder"&&n!==""&&!e.__ieph){var i=function(r){r.stopImmediatePropagation(),e.removeEventListener("input",i)};e.addEventListener("input",i),e.__ieph=!0}e.setAttribute(a,n)}}var attrs={create:updateAttrs,update:updateAttrs};function updateClass(e,a){var n=a.elm,i=a.data,r=e.data;if(!(isUndef(i.staticClass)&&isUndef(i.class)&&(isUndef(r)||isUndef(r.staticClass)&&isUndef(r.class)))){var s=genClassForVnode(a),o=n._transitionClasses;isDef(o)&&(s=concat(s,stringifyClass(o))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var klass={create:updateClass,update:updateClass},validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){var a=!1,n=!1,i=!1,r=!1,s=0,o=0,l=0,c=0,u,d,f,h,m;for(f=0;f=0&&(y=e.charAt(v),y===" ");v--);(!y||!validDivisionCharRE.test(y))&&(r=!0)}}h===void 0?h=e.slice(0,f).trim():c!==0&&_();function _(){(m||(m=[])).push(e.slice(c,f).trim()),c=f+1}if(m)for(f=0;f-1?{exp:e.slice(0,index$1),key:'"'+e.slice(index$1+1)+'"'}:{exp:e,key:null};for(str=e,index$1=expressionPos=expressionEndPos=0;!eof();)chr=next(),isStringStart(chr)?parseString(chr):chr===91&&parseBracket(chr);return{exp:e.slice(0,expressionPos),key:e.slice(expressionPos+1,expressionEndPos)}}function next(){return str.charCodeAt(++index$1)}function eof(){return index$1>=len}function isStringStart(e){return e===34||e===39}function parseBracket(e){var a=1;for(expressionPos=index$1;!eof();){if(e=next(),isStringStart(e)){parseString(e);continue}if(e===91&&a++,e===93&&a--,a===0){expressionEndPos=index$1;break}}}function parseString(e){for(var a=e;!eof()&&(e=next(),e!==a););}var RANGE_TOKEN="__r",CHECKBOX_RADIO_TOKEN="__c";function model(e,a,n){var i=a.value,r=a.modifiers,s=e.tag,o=e.attrsMap.type;if(e.component)return genComponentModel(e,i,r),!1;if(s==="select")genSelect(e,i,r);else if(s==="input"&&o==="checkbox")genCheckboxModel(e,i,r);else if(s==="input"&&o==="radio")genRadioModel(e,i,r);else if(s==="input"||s==="textarea")genDefaultModel(e,i,r);else if(!config.isReservedTag(s))return genComponentModel(e,i,r),!1;return!0}function genCheckboxModel(e,a,n){var i=n&&n.number,r=getBindingAttr(e,"value")||"null",s=getBindingAttr(e,"true-value")||"true",o=getBindingAttr(e,"false-value")||"false";addProp(e,"checked","Array.isArray("+a+")?_i("+a+","+r+")>-1"+(s==="true"?":("+a+")":":_q("+a+","+s+")")),addHandler(e,"change","var $$a="+a+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+o+");if(Array.isArray($$a)){var $$v="+(i?"_n("+r+")":r)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+genAssignmentCode(a,"$$a.concat([$$v])")+")}else{$$i>-1&&("+genAssignmentCode(a,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+genAssignmentCode(a,"$$c")+"}",null,!0)}function genRadioModel(e,a,n){var i=n&&n.number,r=getBindingAttr(e,"value")||"null";r=i?"_n("+r+")":r,addProp(e,"checked","_q("+a+","+r+")"),addHandler(e,"change",genAssignmentCode(a,r),null,!0)}function genSelect(e,a,n){var i=n&&n.number,r='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(i?"_n(val)":"val")+"})",s="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",o="var $$selectedVal = "+r+";";o=o+" "+genAssignmentCode(a,s),addHandler(e,"change",o,null,!0)}function genDefaultModel(e,a,n){var i=e.attrsMap.type,r=n||{},s=r.lazy,o=r.number,l=r.trim,c=!s&&i!=="range",u=s?"change":i==="range"?RANGE_TOKEN:"input",d="$event.target.value";l&&(d="$event.target.value.trim()"),o&&(d="_n("+d+")");var f=genAssignmentCode(a,d);c&&(f="if($event.target.composing)return;"+f),addProp(e,"value","("+a+")"),addHandler(e,u,f,null,!0),(l||o)&&addHandler(e,"blur","$forceUpdate()")}function normalizeEvents(e){if(isDef(e[RANGE_TOKEN])){var a=isIE?"change":"input";e[a]=[].concat(e[RANGE_TOKEN],e[a]||[]),delete e[RANGE_TOKEN]}isDef(e[CHECKBOX_RADIO_TOKEN])&&(e.change=[].concat(e[CHECKBOX_RADIO_TOKEN],e.change||[]),delete e[CHECKBOX_RADIO_TOKEN])}var target$1;function createOnceHandler$1(e,a,n){var i=target$1;return function r(){var s=a.apply(null,arguments);s!==null&&remove$2(e,r,n,i)}}var useMicrotaskFix=isUsingMicroTask&&!(isFF&&Number(isFF[1])<=53);function add$1(e,a,n,i){if(useMicrotaskFix){var r=currentFlushTimestamp,s=a;a=s._wrapper=function(o){if(o.target===o.currentTarget||o.timeStamp>=r||o.timeStamp<=0||o.target.ownerDocument!==document)return s.apply(this,arguments)}}target$1.addEventListener(e,a,supportsPassive?{capture:n,passive:i}:n)}function remove$2(e,a,n,i){(i||target$1).removeEventListener(e,a._wrapper||a,n)}function updateDOMListeners(e,a){if(!(isUndef(e.data.on)&&isUndef(a.data.on))){var n=a.data.on||{},i=e.data.on||{};target$1=a.elm,normalizeEvents(n),updateListeners(n,i,add$1,remove$2,createOnceHandler$1,a.context),target$1=void 0}}var events={create:updateDOMListeners,update:updateDOMListeners},svgContainer;function updateDOMProps(e,a){if(!(isUndef(e.data.domProps)&&isUndef(a.data.domProps))){var n,i,r=a.elm,s=e.data.domProps||{},o=a.data.domProps||{};isDef(o.__ob__)&&(o=a.data.domProps=extend({},o));for(n in s)n in o||(r[n]="");for(n in o){if(i=o[n],n==="textContent"||n==="innerHTML"){if(a.children&&(a.children.length=0),i===s[n])continue;r.childNodes.length===1&&r.removeChild(r.childNodes[0])}if(n==="value"&&r.tagName!=="PROGRESS"){r._value=i;var l=isUndef(i)?"":String(i);shouldUpdateValue(r,l)&&(r.value=l)}else if(n==="innerHTML"&&isSVG(r.tagName)&&isUndef(r.innerHTML)){svgContainer=svgContainer||document.createElement("div"),svgContainer.innerHTML=""+i+"";for(var c=svgContainer.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;c.firstChild;)r.appendChild(c.firstChild)}else if(i!==s[n])try{r[n]=i}catch(u){}}}}function shouldUpdateValue(e,a){return!e.composing&&(e.tagName==="OPTION"||isNotInFocusAndDirty(e,a)||isDirtyWithModifiers(e,a))}function isNotInFocusAndDirty(e,a){var n=!0;try{n=document.activeElement!==e}catch(i){}return n&&e.value!==a}function isDirtyWithModifiers(e,a){var n=e.value,i=e._vModifiers;if(isDef(i)){if(i.number)return toNumber(n)!==toNumber(a);if(i.trim)return n.trim()!==a.trim()}return n!==a}var domProps={create:updateDOMProps,update:updateDOMProps},parseStyleText=cached(function(e){var a={},n=/;(?![^(]*\))/g,i=/:(.+)/;return e.split(n).forEach(function(r){if(r){var s=r.split(i);s.length>1&&(a[s[0].trim()]=s[1].trim())}}),a});function normalizeStyleData(e){var a=normalizeStyleBinding(e.style);return e.staticStyle?extend(e.staticStyle,a):a}function normalizeStyleBinding(e){return Array.isArray(e)?toObject(e):typeof e=="string"?parseStyleText(e):e}function getStyle(e,a){var n={},i;if(a)for(var r=e;r.componentInstance;)r=r.componentInstance._vnode,r&&r.data&&(i=normalizeStyleData(r.data))&&extend(n,i);(i=normalizeStyleData(e.data))&&extend(n,i);for(var s=e;s=s.parent;)s.data&&(i=normalizeStyleData(s.data))&&extend(n,i);return n}var cssVarRE=/^--/,importantRE=/\s*!important$/,setProp=function(e,a,n){if(cssVarRE.test(a))e.style.setProperty(a,n);else if(importantRE.test(n))e.style.setProperty(hyphenate(a),n.replace(importantRE,""),"important");else{var i=normalize(a);if(Array.isArray(n))for(var r=0,s=n.length;r-1?a.split(whitespaceRE).forEach(function(i){return e.classList.add(i)}):e.classList.add(a);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+a+" ")<0&&e.setAttribute("class",(n+a).trim())}}function removeClass(e,a){if(!(!a||!(a=a.trim())))if(e.classList)a.indexOf(" ")>-1?a.split(whitespaceRE).forEach(function(r){return e.classList.remove(r)}):e.classList.remove(a),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",i=" "+a+" ";n.indexOf(i)>=0;)n=n.replace(i," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function resolveTransition(e){if(!!e){if(typeof e=="object"){var a={};return e.css!==!1&&extend(a,autoCssTransition(e.name||"v")),extend(a,e),a}else if(typeof e=="string")return autoCssTransition(e)}}var autoCssTransition=cached(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),hasTransition=inBrowser&&!isIE9,TRANSITION="transition",ANIMATION="animation",transitionProp="transition",transitionEndEvent="transitionend",animationProp="animation",animationEndEvent="animationend";hasTransition&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(transitionProp="WebkitTransition",transitionEndEvent="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(animationProp="WebkitAnimation",animationEndEvent="webkitAnimationEnd"));var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function nextFrame(e){raf(function(){raf(e)})}function addTransitionClass(e,a){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(a)<0&&(n.push(a),addClass(e,a))}function removeTransitionClass(e,a){e._transitionClasses&&remove(e._transitionClasses,a),removeClass(e,a)}function whenTransitionEnds(e,a,n){var i=getTransitionInfo(e,a),r=i.type,s=i.timeout,o=i.propCount;if(!r)return n();var l=r===TRANSITION?transitionEndEvent:animationEndEvent,c=0,u=function(){e.removeEventListener(l,d),n()},d=function(f){f.target===e&&++c>=o&&u()};setTimeout(function(){c0&&(u=TRANSITION,d=s,f=r.length):a===ANIMATION?c>0&&(u=ANIMATION,d=c,f=l.length):(d=Math.max(s,c),u=d>0?s>c?TRANSITION:ANIMATION:null,f=u?u===TRANSITION?r.length:l.length:0);var h=u===TRANSITION&&transformRE.test(n[transitionProp+"Property"]);return{type:u,timeout:d,propCount:f,hasTransform:h}}function getTimeout(e,a){for(;e.length1}function _enter(e,a){a.data.show!==!0&&enter(a)}var transition=inBrowser?{create:_enter,activate:_enter,remove:function(a,n){a.data.show!==!0?leave(a,n):n()}}:{},platformModules=[attrs,klass,events,domProps,style,transition],modules=platformModules.concat(baseModules),patch=createPatchFunction({nodeOps,modules});isIE9&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&trigger(e,"input")});var directive={inserted:function(a,n,i,r){i.tag==="select"?(r.elm&&!r.elm._vOptions?mergeVNodeHook(i,"postpatch",function(){directive.componentUpdated(a,n,i)}):setSelected(a,n,i.context),a._vOptions=[].map.call(a.options,getValue)):(i.tag==="textarea"||isTextInputType(a.type))&&(a._vModifiers=n.modifiers,n.modifiers.lazy||(a.addEventListener("compositionstart",onCompositionStart),a.addEventListener("compositionend",onCompositionEnd),a.addEventListener("change",onCompositionEnd),isIE9&&(a.vmodel=!0)))},componentUpdated:function(a,n,i){if(i.tag==="select"){setSelected(a,n,i.context);var r=a._vOptions,s=a._vOptions=[].map.call(a.options,getValue);if(s.some(function(l,c){return!looseEqual(l,r[c])})){var o=a.multiple?n.value.some(function(l){return hasNoMatchingOption(l,s)}):n.value!==n.oldValue&&hasNoMatchingOption(n.value,s);o&&trigger(a,"change")}}}};function setSelected(e,a,n){actuallySetSelected(e,a),(isIE||isEdge)&&setTimeout(function(){actuallySetSelected(e,a)},0)}function actuallySetSelected(e,a,n){var i=a.value,r=e.multiple;if(!(r&&!Array.isArray(i))){for(var s,o,l=0,c=e.options.length;l-1,o.selected!==s&&(o.selected=s);else if(looseEqual(getValue(o),i)){e.selectedIndex!==l&&(e.selectedIndex=l);return}r||(e.selectedIndex=-1)}}function hasNoMatchingOption(e,a){return a.every(function(n){return!looseEqual(n,e)})}function getValue(e){return"_value"in e?e._value:e.value}function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){!e.target.composing||(e.target.composing=!1,trigger(e.target,"input"))}function trigger(e,a){var n=document.createEvent("HTMLEvents");n.initEvent(a,!0,!0),e.dispatchEvent(n)}function locateNode(e){return e.componentInstance&&(!e.data||!e.data.transition)?locateNode(e.componentInstance._vnode):e}var show={bind:function(a,n,i){var r=n.value;i=locateNode(i);var s=i.data&&i.data.transition,o=a.__vOriginalDisplay=a.style.display==="none"?"":a.style.display;r&&s?(i.data.show=!0,enter(i,function(){a.style.display=o})):a.style.display=r?o:"none"},update:function(a,n,i){var r=n.value,s=n.oldValue;if(!r!=!s){i=locateNode(i);var o=i.data&&i.data.transition;o?(i.data.show=!0,r?enter(i,function(){a.style.display=a.__vOriginalDisplay}):leave(i,function(){a.style.display="none"})):a.style.display=r?a.__vOriginalDisplay:"none"}},unbind:function(a,n,i,r,s){s||(a.style.display=a.__vOriginalDisplay)}},platformDirectives={model:directive,show},transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function getRealChild(e){var a=e&&e.componentOptions;return a&&a.Ctor.options.abstract?getRealChild(getFirstComponentChild(a.children)):e}function extractTransitionData(e){var a={},n=e.$options;for(var i in n.propsData)a[i]=e[i];var r=n._parentListeners;for(var s in r)a[camelize(s)]=r[s];return a}function placeholder(e,a){if(/\d-keep-alive$/.test(a.tag))return e("keep-alive",{props:a.componentOptions.propsData})}function hasParentTransition(e){for(;e=e.parent;)if(e.data.transition)return!0}function isSameChild(e,a){return a.key===e.key&&a.tag===e.tag}var isNotTextNode=function(e){return e.tag||isAsyncPlaceholder(e)},isVShowDirective=function(e){return e.name==="show"},Transition={name:"transition",props:transitionProps,abstract:!0,render:function(a){var n=this,i=this.$slots.default;if(!!i&&(i=i.filter(isNotTextNode),!!i.length)){var r=this.mode,s=i[0];if(hasParentTransition(this.$vnode))return s;var o=getRealChild(s);if(!o)return s;if(this._leaving)return placeholder(a,s);var l="__transition-"+this._uid+"-";o.key=o.key==null?o.isComment?l+"comment":l+o.tag:isPrimitive(o.key)?String(o.key).indexOf(l)===0?o.key:l+o.key:o.key;var c=(o.data||(o.data={})).transition=extractTransitionData(this),u=this._vnode,d=getRealChild(u);if(o.data.directives&&o.data.directives.some(isVShowDirective)&&(o.data.show=!0),d&&d.data&&!isSameChild(o,d)&&!isAsyncPlaceholder(d)&&!(d.componentInstance&&d.componentInstance._vnode.isComment)){var f=d.data.transition=extend({},c);if(r==="out-in")return this._leaving=!0,mergeVNodeHook(f,"afterLeave",function(){n._leaving=!1,n.$forceUpdate()}),placeholder(a,s);if(r==="in-out"){if(isAsyncPlaceholder(o))return u;var h,m=function(){h()};mergeVNodeHook(c,"afterEnter",m),mergeVNodeHook(c,"enterCancelled",m),mergeVNodeHook(f,"delayLeave",function(v){h=v})}}return s}}},props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props,beforeMount:function(){var a=this,n=this._update;this._update=function(i,r){var s=setActiveInstance(a);a.__patch__(a._vnode,a.kept,!1,!0),a._vnode=a.kept,s(),n.call(a,i,r)}},render:function(a){for(var n=this.tag||this.$vnode.data.tag||"span",i=Object.create(null),r=this.prevChildren=this.children,s=this.$slots.default||[],o=this.children=[],l=extractTransitionData(this),c=0;cs&&(r.push(c=e.slice(s,l)),i.push(JSON.stringify(c)));var u=parseFilters(o[1].trim());i.push("_s("+u+")"),r.push({"@binding":u}),s=l+o[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ncname="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+unicodeRegExp.source+"]*",qnameCapture="((?:"+ncname+"\\:)?"+ncname+")",startTagOpen=new RegExp("^<"+qnameCapture),startTagClose=/^\s*(\/?)>/,endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>"),doctype=/^]+>/i,comment=/^",""":'"',"&":"&"," ":` +`," ":" ","'":"'"},encodedAttr=/&(?:lt|gt|quot|amp|#39);/g,encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,isIgnoreNewlineTag=makeMap("pre,textarea",!0),shouldIgnoreFirstNewline=function(e,a){return e&&isIgnoreNewlineTag(e)&&a[0]===` +`};function decodeAttr(e,a){var n=a?encodedAttrWithNewLines:encodedAttr;return e.replace(n,function(i){return decodingMap[i]})}function parseHTML(e,a){for(var n=[],i=a.expectHTML,r=a.isUnaryTag||no,s=a.canBeLeftOpenTag||no,o=0,l,c;e;){if(l=e,!c||!isPlainTextElement(c)){var u=e.indexOf("<");if(u===0){if(comment.test(e)){var d=e.indexOf("-->");if(d>=0){a.shouldKeepComment&&a.comment(e.substring(4,d),o,o+d+3),C(d+3);continue}}if(conditionalComment.test(e)){var f=e.indexOf("]>");if(f>=0){C(f+2);continue}}var h=e.match(doctype);if(h){C(h[0].length);continue}var m=e.match(endTag);if(m){var v=o;C(m[0].length),E(m[1],v,o);continue}var y=N();if(y){j(y),shouldIgnoreFirstNewline(y.tagName,e)&&C(1);continue}}var _=void 0,w=void 0,A=void 0;if(u>=0){for(w=e.slice(u);!endTag.test(w)&&!startTagOpen.test(w)&&!comment.test(w)&&!conditionalComment.test(w)&&(A=w.indexOf("<",1),!(A<0));)u+=A,w=e.slice(u);_=e.substring(0,u)}u<0&&(_=e),_&&C(_.length),a.chars&&_&&a.chars(_,o-_.length,o)}else{var S=0,M=c.toLowerCase(),P=reCache[M]||(reCache[M]=new RegExp("([\\s\\S]*?)(]*>)","i")),z=e.replace(P,function(L,g,b){return S=b.length,!isPlainTextElement(M)&&M!=="noscript"&&(g=g.replace(//g,"$1").replace(//g,"$1")),shouldIgnoreFirstNewline(M,g)&&(g=g.slice(1)),a.chars&&a.chars(g),""});o+=e.length-z.length,e=z,E(M,o-S,o)}if(e===l){a.chars&&a.chars(e);break}}E();function C(L){o+=L,e=e.substring(L)}function N(){var L=e.match(startTagOpen);if(L){var g={tagName:L[1],attrs:[],start:o};C(L[0].length);for(var b,k;!(b=e.match(startTagClose))&&(k=e.match(dynamicArgAttribute)||e.match(attribute));)k.start=o,C(k[0].length),k.end=o,g.attrs.push(k);if(b)return g.unarySlash=b[1],C(b[0].length),g.end=o,g}}function j(L){var g=L.tagName,b=L.unarySlash;i&&(c==="p"&&isNonPhrasingTag(g)&&E(c),s(g)&&c===g&&E(g));for(var k=r(g)||!!b,x=L.attrs.length,T=new Array(x),D=0;D=0&&n[k].lowerCasedTag!==x;k--);else k=0;if(k>=0){for(var T=n.length-1;T>=k;T--)a.end&&a.end(n[T].tag,g,b);n.length=k,c=k&&n[k-1].tag}else x==="br"?a.start&&a.start(L,[],!0,g,b):x==="p"&&(a.start&&a.start(L,[],!1,g,b),a.end&&a.end(L,g,b))}}var onRE=/^@|^v-on:/,dirRE=/^v-|^@|^:|^#/,forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g,dynamicArgRE=/^\[.*\]$/,argRE=/:(.*)$/,bindRE=/^:|^\.|^v-bind:/,modifierRE=/\.[^.\]]+(?=[^\]]*$)/g,slotRE=/^v-slot(:|$)|^#/,lineBreakRE=/[\r\n]/,whitespaceRE$1=/\s+/g,decodeHTMLCached=cached(he.decode),emptySlotScopeToken="_empty_",warn$2,delimiters,transforms,preTransforms,postTransforms,platformIsPreTag,platformMustUseProp,platformGetTagNamespace;function createASTElement(e,a,n){return{type:1,tag:e,attrsList:a,attrsMap:makeAttrsMap(a),rawAttrsMap:{},parent:n,children:[]}}function parse(e,a){warn$2=a.warn||baseWarn,platformIsPreTag=a.isPreTag||no,platformMustUseProp=a.mustUseProp||no,platformGetTagNamespace=a.getTagNamespace||no,a.isReservedTag,transforms=pluckModuleFunction(a.modules,"transformNode"),preTransforms=pluckModuleFunction(a.modules,"preTransformNode"),postTransforms=pluckModuleFunction(a.modules,"postTransformNode"),delimiters=a.delimiters;var n=[],i=a.preserveWhitespace!==!1,r=a.whitespace,s,o,l=!1,c=!1;function u(f){if(d(f),!l&&!f.processed&&(f=processElement(f,a)),!n.length&&f!==s&&s.if&&(f.elseif||f.else)&&addIfCondition(s,{exp:f.elseif,block:f}),o&&!f.forbidden)if(f.elseif||f.else)processIfConditions(f,o);else{if(f.slotScope){var h=f.slotTarget||'"default"';(o.scopedSlots||(o.scopedSlots={}))[h]=f}o.children.push(f),f.parent=o}f.children=f.children.filter(function(v){return!v.slotScope}),d(f),f.pre&&(l=!1),platformIsPreTag(f.tag)&&(c=!1);for(var m=0;m|^function(?:\s+[\w$]+)?\s*\(/,fnInvokeRE=/\([^)]*?\);*$/,simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},keyNames={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},genGuard=function(e){return"if("+e+")return null;"},modifierCode={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(e,a){var n=a?"nativeOn:":"on:",i="",r="";for(var s in e){var o=genHandler(e[s]);e[s]&&e[s].dynamic?r+=s+","+o+",":i+='"'+s+'":'+o+","}return i="{"+i.slice(0,-1)+"}",r?n+"_d("+i+",["+r.slice(0,-1)+"])":n+i}function genHandler(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(d){return genHandler(d)}).join(",")+"]";var a=simplePathRE.test(e.value),n=fnExpRE.test(e.value),i=simplePathRE.test(e.value.replace(fnInvokeRE,""));if(e.modifiers){var r="",s="",o=[];for(var l in e.modifiers)if(modifierCode[l])s+=modifierCode[l],keyCodes[l]&&o.push(l);else if(l==="exact"){var c=e.modifiers;s+=genGuard(["ctrl","shift","alt","meta"].filter(function(d){return!c[d]}).map(function(d){return"$event."+d+"Key"}).join("||"))}else o.push(l);o.length&&(r+=genKeyFilter(o)),s&&(r+=s);var u=a?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":i?"return "+e.value:e.value;return"function($event){"+r+u+"}"}else return a||n?e.value:"function($event){"+(i?"return "+e.value:e.value)+"}"}function genKeyFilter(e){return"if(!$event.type.indexOf('key')&&"+e.map(genFilterCode).join("&&")+")return null;"}function genFilterCode(e){var a=parseInt(e,10);if(a)return"$event.keyCode!=="+a;var n=keyCodes[e],i=keyNames[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(i)+")"}function on(e,a){e.wrapListeners=function(n){return"_g("+n+","+a.value+")"}}function bind$1(e,a){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+a.value+","+(a.modifiers&&a.modifiers.prop?"true":"false")+(a.modifiers&&a.modifiers.sync?",true":"")+")"}}var baseDirectives={on,bind:bind$1,cloak:noop},CodegenState=function(a){this.options=a,this.warn=a.warn||baseWarn,this.transforms=pluckModuleFunction(a.modules,"transformCode"),this.dataGenFns=pluckModuleFunction(a.modules,"genData"),this.directives=extend(extend({},baseDirectives),a.directives);var n=a.isReservedTag||no;this.maybeComponent=function(i){return!!i.component||!n(i.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function generate(e,a){var n=new CodegenState(a),i=e?genElement(e,n):'_c("div")';return{render:"with(this){return "+i+"}",staticRenderFns:n.staticRenderFns}}function genElement(e,a){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return genStatic(e,a);if(e.once&&!e.onceProcessed)return genOnce(e,a);if(e.for&&!e.forProcessed)return genFor(e,a);if(e.if&&!e.ifProcessed)return genIf(e,a);if(e.tag==="template"&&!e.slotTarget&&!a.pre)return genChildren(e,a)||"void 0";if(e.tag==="slot")return genSlot(e,a);var n;if(e.component)n=genComponent(e.component,e,a);else{var i;(!e.plain||e.pre&&a.maybeComponent(e))&&(i=genData$2(e,a));var r=e.inlineTemplate?null:genChildren(e,a,!0);n="_c('"+e.tag+"'"+(i?","+i:"")+(r?","+r:"")+")"}for(var s=0;s>>0}function containsSlotChild(e){return e.type===1?e.tag==="slot"?!0:e.children.some(containsSlotChild):!1}function genScopedSlot(e,a){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return genIf(e,a,genScopedSlot,"null");if(e.for&&!e.forProcessed)return genFor(e,a,genScopedSlot);var i=e.slotScope===emptySlotScopeToken?"":String(e.slotScope),r="function("+i+"){return "+(e.tag==="template"?e.if&&n?"("+e.if+")?"+(genChildren(e,a)||"undefined")+":undefined":genChildren(e,a)||"undefined":genElement(e,a))+"}",s=i?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+r+s+"}"}function genChildren(e,a,n,i,r){var s=e.children;if(s.length){var o=s[0];if(s.length===1&&o.for&&o.tag!=="template"&&o.tag!=="slot"){var l=n?a.maybeComponent(o)?",1":",0":"";return""+(i||genElement)(o,a)+l}var c=n?getNormalizationType(s,a.maybeComponent):0,u=r||genNode;return"["+s.map(function(d){return u(d,a)}).join(",")+"]"+(c?","+c:"")}}function getNormalizationType(e,a){for(var n=0,i=0;i`:`
`,div.innerHTML.indexOf(" ")>0}var shouldDecodeNewlines=inBrowser?getShouldDecode(!1):!1,shouldDecodeNewlinesForHref=inBrowser?getShouldDecode(!0):!1,idToTemplate=cached(function(e){var n=query(e);return n&&n.innerHTML}),mount=Vue.prototype.$mount;Vue.prototype.$mount=function(e,n){if(e=e&&query(e),e===document.body||e===document.documentElement)return this;var a=this.$options;if(!a.render){var i=a.template;if(i)if(typeof i=="string")i.charAt(0)==="#"&&(i=idToTemplate(i));else if(i.nodeType)i=i.innerHTML;else return this;else e&&(i=getOuterHTML(e));if(i){var r=compileToFunctions(i,{outputSourceRange:!1,shouldDecodeNewlines,shouldDecodeNewlinesForHref,delimiters:a.delimiters,comments:a.comments},this),s=r.render,o=r.staticRenderFns;a.render=s,a.staticRenderFns=o}}return mount.call(this,e,n)};function getOuterHTML(e){if(e.outerHTML)return e.outerHTML;var n=document.createElement("div");return n.appendChild(e.cloneNode(!0)),n.innerHTML}Vue.compile=compileToFunctions;function styleInject(e,n){n===void 0&&(n={});var a=n.insertAt;if(!(!e||typeof document=="undefined")){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",a==="top"&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}var css_248z=`/* fallback */ +"/>`,div.innerHTML.indexOf(" ")>0}var shouldDecodeNewlines=inBrowser?getShouldDecode(!1):!1,shouldDecodeNewlinesForHref=inBrowser?getShouldDecode(!0):!1,idToTemplate=cached(function(e){var a=query(e);return a&&a.innerHTML}),mount=Vue.prototype.$mount;Vue.prototype.$mount=function(e,a){if(e=e&&query(e),e===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var i=n.template;if(i)if(typeof i=="string")i.charAt(0)==="#"&&(i=idToTemplate(i));else if(i.nodeType)i=i.innerHTML;else return this;else e&&(i=getOuterHTML(e));if(i){var r=compileToFunctions(i,{outputSourceRange:!1,shouldDecodeNewlines,shouldDecodeNewlinesForHref,delimiters:n.delimiters,comments:n.comments},this),s=r.render,o=r.staticRenderFns;n.render=s,n.staticRenderFns=o}}return mount.call(this,e,a)};function getOuterHTML(e){if(e.outerHTML)return e.outerHTML;var a=document.createElement("div");return a.appendChild(e.cloneNode(!0)),a.innerHTML}Vue.compile=compileToFunctions;function styleInject(e,a){a===void 0&&(a={});var n=a.insertAt;if(!(!e||typeof document=="undefined")){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n==="top"&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}var css_248z=`/* fallback */ @font-face { font-family: 'Material Icons'; @@ -2495,22 +2495,22 @@ a { * vuex v3.6.2 * (c) 2021 Evan You * @license MIT - */function applyMixin(e){var n=Number(e.version.split(".")[0]);if(n>=2)e.mixin({beforeCreate:i});else{var a=e.prototype._init;e.prototype._init=function(r){r===void 0&&(r={}),r.init=r.init?[i].concat(r.init):i,a.call(this,r)}}function i(){var r=this.$options;r.store?this.$store=typeof r.store=="function"?r.store():r.store:r.parent&&r.parent.$store&&(this.$store=r.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){!devtoolHook||(e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(n){e.replaceState(n)}),e.subscribe(function(n,a){devtoolHook.emit("vuex:mutation",n,a)},{prepend:!0}),e.subscribeAction(function(n,a){devtoolHook.emit("vuex:action",n,a)},{prepend:!0}))}function find(e,n){return e.filter(n)[0]}function deepCopy(e,n){if(n===void 0&&(n=[]),e===null||typeof e!="object")return e;var a=find(n,function(r){return r.original===e});if(a)return a.copy;var i=Array.isArray(e)?[]:{};return n.push({original:e,copy:i}),Object.keys(e).forEach(function(r){i[r]=deepCopy(e[r],n)}),i}function forEachValue(e,n){Object.keys(e).forEach(function(a){return n(e[a],a)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,n){return function(){return e(n)}}var Module=function(n,a){this.runtime=a,this._children=Object.create(null),this._rawModule=n;var i=n.state;this.state=(typeof i=="function"?i():i)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(n,a){this._children[n]=a},Module.prototype.removeChild=function(n){delete this._children[n]},Module.prototype.getChild=function(n){return this._children[n]},Module.prototype.hasChild=function(n){return n in this._children},Module.prototype.update=function(n){this._rawModule.namespaced=n.namespaced,n.actions&&(this._rawModule.actions=n.actions),n.mutations&&(this._rawModule.mutations=n.mutations),n.getters&&(this._rawModule.getters=n.getters)},Module.prototype.forEachChild=function(n){forEachValue(this._children,n)},Module.prototype.forEachGetter=function(n){this._rawModule.getters&&forEachValue(this._rawModule.getters,n)},Module.prototype.forEachAction=function(n){this._rawModule.actions&&forEachValue(this._rawModule.actions,n)},Module.prototype.forEachMutation=function(n){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,n)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(n){this.register([],n,!1)};ModuleCollection.prototype.get=function(n){return n.reduce(function(a,i){return a.getChild(i)},this.root)},ModuleCollection.prototype.getNamespace=function(n){var a=this.root;return n.reduce(function(i,r){return a=a.getChild(r),i+(a.namespaced?r+"/":"")},"")},ModuleCollection.prototype.update=function(n){update([],this.root,n)},ModuleCollection.prototype.register=function(n,a,i){var r=this;i===void 0&&(i=!0);var s=new Module(a,i);if(n.length===0)this.root=s;else{var o=this.get(n.slice(0,-1));o.addChild(n[n.length-1],s)}a.modules&&forEachValue(a.modules,function(l,c){r.register(n.concat(c),l,i)})},ModuleCollection.prototype.unregister=function(n){var a=this.get(n.slice(0,-1)),i=n[n.length-1],r=a.getChild(i);!r||!r.runtime||a.removeChild(i)},ModuleCollection.prototype.isRegistered=function(n){var a=this.get(n.slice(0,-1)),i=n[n.length-1];return a?a.hasChild(i):!1};function update(e,n,a){if(n.update(a),a.modules)for(var i in a.modules){if(!n.getChild(i))return;update(e.concat(i),n.getChild(i),a.modules[i])}}var Vue$1,Store=function(n){var a=this;n===void 0&&(n={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var i=n.plugins;i===void 0&&(i=[]);var r=n.strict;r===void 0&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(n),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,o=this,l=o.dispatch,c=o.commit;this.dispatch=function(h,m){return l.call(s,h,m)},this.commit=function(h,m,v){return c.call(s,h,m,v)},this.strict=r;var u=this._modules.root.state;installModule(this,u,[],this._modules.root),resetStoreVM(this,u),i.forEach(function(f){return f(a)});var d=n.devtools!==void 0?n.devtools:Vue$1.config.devtools;d&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(n,a,i){var r=this,s=unifyObjectStyle(n,a,i),o=s.type,l=s.payload,c={type:o,payload:l},u=this._mutations[o];!u||(this._withCommit(function(){u.forEach(function(f){f(l)})}),this._subscribers.slice().forEach(function(d){return d(c,r.state)}))},Store.prototype.dispatch=function(n,a){var i=this,r=unifyObjectStyle(n,a),s=r.type,o=r.payload,l={type:s,payload:o},c=this._actions[s];if(!!c){try{this._actionSubscribers.slice().filter(function(d){return d.before}).forEach(function(d){return d.before(l,i.state)})}catch(d){}var u=c.length>1?Promise.all(c.map(function(d){return d(o)})):c[0](o);return new Promise(function(d,f){u.then(function(h){try{i._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(l,i.state)})}catch(m){}d(h)},function(h){try{i._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(l,i.state,h)})}catch(m){}f(h)})})}},Store.prototype.subscribe=function(n,a){return genericSubscribe(n,this._subscribers,a)},Store.prototype.subscribeAction=function(n,a){var i=typeof n=="function"?{before:n}:n;return genericSubscribe(i,this._actionSubscribers,a)},Store.prototype.watch=function(n,a,i){var r=this;return this._watcherVM.$watch(function(){return n(r.state,r.getters)},a,i)},Store.prototype.replaceState=function(n){var a=this;this._withCommit(function(){a._vm._data.$$state=n})},Store.prototype.registerModule=function(n,a,i){i===void 0&&(i={}),typeof n=="string"&&(n=[n]),this._modules.register(n,a),installModule(this,this.state,n,this._modules.get(n),i.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(n){var a=this;typeof n=="string"&&(n=[n]),this._modules.unregister(n),this._withCommit(function(){var i=getNestedState(a.state,n.slice(0,-1));Vue$1.delete(i,n[n.length-1])}),resetStore(this)},Store.prototype.hasModule=function(n){return typeof n=="string"&&(n=[n]),this._modules.isRegistered(n)},Store.prototype.hotUpdate=function(n){this._modules.update(n),resetStore(this,!0)},Store.prototype._withCommit=function(n){var a=this._committing;this._committing=!0,n(),this._committing=a},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,n,a){return n.indexOf(e)<0&&(a&&a.prepend?n.unshift(e):n.push(e)),function(){var i=n.indexOf(e);i>-1&&n.splice(i,1)}}function resetStore(e,n){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var a=e.state;installModule(e,a,[],e._modules.root,!0),resetStoreVM(e,a,n)}function resetStoreVM(e,n,a){var i=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var r=e._wrappedGetters,s={};forEachValue(r,function(l,c){s[c]=partial(l,e),Object.defineProperty(e.getters,c,{get:function(){return e._vm[c]},enumerable:!0})});var o=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:n},computed:s}),Vue$1.config.silent=o,e.strict&&enableStrictMode(e),i&&(a&&e._withCommit(function(){i._data.$$state=null}),Vue$1.nextTick(function(){return i.$destroy()}))}function installModule(e,n,a,i,r){var s=!a.length,o=e._modules.getNamespace(a);if(i.namespaced&&(e._modulesNamespaceMap[o],e._modulesNamespaceMap[o]=i),!s&&!r){var l=getNestedState(n,a.slice(0,-1)),c=a[a.length-1];e._withCommit(function(){Vue$1.set(l,c,i.state)})}var u=i.context=makeLocalContext(e,o,a);i.forEachMutation(function(d,f){var h=o+f;registerMutation(e,h,d,u)}),i.forEachAction(function(d,f){var h=d.root?f:o+f,m=d.handler||d;registerAction(e,h,m,u)}),i.forEachGetter(function(d,f){var h=o+f;registerGetter(e,h,d,u)}),i.forEachChild(function(d,f){installModule(e,n,a.concat(f),d,r)})}function makeLocalContext(e,n,a){var i=n==="",r={dispatch:i?e.dispatch:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;return(!d||!d.root)&&(f=n+f),e.dispatch(f,u)},commit:i?e.commit:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;(!d||!d.root)&&(f=n+f),e.commit(f,u,d)}};return Object.defineProperties(r,{getters:{get:i?function(){return e.getters}:function(){return makeLocalGetters(e,n)}},state:{get:function(){return getNestedState(e.state,a)}}}),r}function makeLocalGetters(e,n){if(!e._makeLocalGettersCache[n]){var a={},i=n.length;Object.keys(e.getters).forEach(function(r){if(r.slice(0,i)===n){var s=r.slice(i);Object.defineProperty(a,s,{get:function(){return e.getters[r]},enumerable:!0})}}),e._makeLocalGettersCache[n]=a}return e._makeLocalGettersCache[n]}function registerMutation(e,n,a,i){var r=e._mutations[n]||(e._mutations[n]=[]);r.push(function(o){a.call(e,i.state,o)})}function registerAction(e,n,a,i){var r=e._actions[n]||(e._actions[n]=[]);r.push(function(o){var l=a.call(e,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:e.getters,rootState:e.state},o);return isPromise$1(l)||(l=Promise.resolve(l)),e._devtoolHook?l.catch(function(c){throw e._devtoolHook.emit("vuex:error",c),c}):l})}function registerGetter(e,n,a,i){e._wrappedGetters[n]||(e._wrappedGetters[n]=function(s){return a(i.state,i.getters,s.state,s.getters)})}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,n){return n.reduce(function(a,i){return a[i]},e)}function unifyObjectStyle(e,n,a){return isObject$1(e)&&e.type&&(a=n,n=e,e=e.type),{type:e,payload:n,options:a}}function install(e){Vue$1&&e===Vue$1||(Vue$1=e,applyMixin(Vue$1))}var mapState=normalizeNamespace(function(e,n){var a={};return normalizeMap(n).forEach(function(i){var r=i.key,s=i.val;a[r]=function(){var l=this.$store.state,c=this.$store.getters;if(e){var u=getModuleByNamespace(this.$store,"mapState",e);if(!u)return;l=u.context.state,c=u.context.getters}return typeof s=="function"?s.call(this,l,c):l[s]},a[r].vuex=!0}),a}),mapMutations=normalizeNamespace(function(e,n){var a={};return normalizeMap(n).forEach(function(i){var r=i.key,s=i.val;a[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.commit;if(e){var d=getModuleByNamespace(this.$store,"mapMutations",e);if(!d)return;u=d.context.commit}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),a}),mapGetters=normalizeNamespace(function(e,n){var a={};return normalizeMap(n).forEach(function(i){var r=i.key,s=i.val;s=e+s,a[r]=function(){if(!(e&&!getModuleByNamespace(this.$store,"mapGetters",e)))return this.$store.getters[s]},a[r].vuex=!0}),a}),mapActions=normalizeNamespace(function(e,n){var a={};return normalizeMap(n).forEach(function(i){var r=i.key,s=i.val;a[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.dispatch;if(e){var d=getModuleByNamespace(this.$store,"mapActions",e);if(!d)return;u=d.context.dispatch}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),a}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(n){return{key:n,val:n}}):Object.keys(e).map(function(n){return{key:n,val:e[n]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(n,a){return typeof n!="string"?(a=n,n=""):n.charAt(n.length-1)!=="/"&&(n+="/"),e(n,a)}}function getModuleByNamespace(e,n,a){var i=e._modulesNamespaceMap[a];return i}function createLogger(e){e===void 0&&(e={});var n=e.collapsed;n===void 0&&(n=!0);var a=e.filter;a===void 0&&(a=function(d,f,h){return!0});var i=e.transformer;i===void 0&&(i=function(d){return d});var r=e.mutationTransformer;r===void 0&&(r=function(d){return d});var s=e.actionFilter;s===void 0&&(s=function(d,f){return!0});var o=e.actionTransformer;o===void 0&&(o=function(d){return d});var l=e.logMutations;l===void 0&&(l=!0);var c=e.logActions;c===void 0&&(c=!0);var u=e.logger;return u===void 0&&(u=console),function(d){var f=deepCopy(d.state);typeof u!="undefined"&&(l&&d.subscribe(function(h,m){var v=deepCopy(m);if(a(h,f,v)){var y=getFormattedTime(),_=r(h),w="mutation "+h.type+y;startMessage(u,w,n),u.log("%c prev state","color: #9E9E9E; font-weight: bold",i(f)),u.log("%c mutation","color: #03A9F4; font-weight: bold",_),u.log("%c next state","color: #4CAF50; font-weight: bold",i(v)),endMessage(u)}f=v}),c&&d.subscribeAction(function(h,m){if(s(h,m)){var v=getFormattedTime(),y=o(h),_="action "+h.type+v;startMessage(u,_,n),u.log("%c action","color: #03A9F4; font-weight: bold",y),endMessage(u)}}))}}function startMessage(e,n,a){var i=a?e.groupCollapsed:e.group;try{i.call(e,n)}catch(r){e.log(n)}}function endMessage(e){try{e.groupEnd()}catch(n){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,n){return new Array(n+1).join(e)}function pad(e,n){return repeat("0",n-e.toString().length)+e}var index$2={Store,install,version:"3.6.2",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger};let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,n)=>{socket.on("init_settings",(a,i,r)=>{settingsData=a,defaultSettingsData=r,spotifyCredentials=i,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},n){e("SET_CURRENT_COMMIT",n.currentCommit),e("SET_LATEST_COMMIT",n.latestCommit),e("SET_UPDATE_AVAILABLE",n.updateAvailable),e("SET_DEEMIX_VERSION",n.deemixVersion)},setPreviewVolume({commit:e},n){e("SET_PREVIEW_VOLUME",n),localStorage.setItem("previewVolume",n.toString())},setSlimDownloads({commit:e},n){e("SET_SLIM_DOWNLOADS",n),localStorage.setItem("slimDownloads",n.toString())},setSlimSidebar({commit:e},n){e("SET_SLIM_SIDEBAR",n),localStorage.setItem("slimSidebar",n.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(a=>{a.style.transform=`translate(${n?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,n){e.currentCommit=n},SET_LATEST_COMMIT(e,n){e.latestCommit=n},SET_UPDATE_AVAILABLE(e,n){e.updateAvailable=n},SET_DEEMIX_VERSION(e,n){e.deemixVersion=n},SET_PREVIEW_VOLUME(e,n){e.previewVolume=n},SET_SLIM_DOWNLOADS(e,n){e.hasSlimDownloads=n},SET_SLIM_SIDEBAR(e,n){e.hasSlimSidebar=n}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:n},a){const{arl:i,user:r,status:s}=a;n("setARL",{arl:i}),e("SET_USER",r),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},n){let{arl:a,saveOnLocalStorage:i}=n;i=typeof i=="undefined"?!0:i,e("SET_ARL",a),i&&localStorage.setItem("arl",a)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},n){e("SET_USER",n)},setClientMode({commit:e},n){e("SET_CLIENT_MODE",n)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,n){e.arl=n},SET_STATUS(e,n){e.status=n},SET_USER(e,n){e.user=n},SET_CLIENT_MODE(e,n){e.clientMode=n},RESET_LOGIN(e){let n=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=n}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},n){e("SET_ERRORS",n)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,n){for(const a in e)if(e.hasOwnProperty(a)){const i=n[a];e[a]=i}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});class CustomSocket extends WebSocket{constructor(n){super(n);console.log(n)}emit(n,a){if(console.log("emit:",n,a),console.log(this.readyState),this.readyState!=WebSocket.OPEN)return!1;this.send(JSON.stringify({key:n,data:a}))}on(n,a){this.addEventListener("message",function(i){console.log(i.data);let r=JSON.parse(i.data);r.key==n&&a(r.data)})}}const socket=new CustomSocket("ws://"+location.host+"/");function normalizeComponent(e,n,a,i,r,s,o,l,c,u){typeof o!="boolean"&&(c=l,l=o,o=!1);var d=typeof a=="function"?a.options:a;e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,r&&(d.functional=!0)),i&&(d._scopeId=i);var f;if(s?(f=function(y){y=y||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!y&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(y=__VUE_SSR_CONTEXT__),n&&n.call(this,c(y)),y&&y._registeredComponents&&y._registeredComponents.add(s)},d._ssrRegister=f):n&&(f=o?function(){n.call(this,u(this.$root.$options.shadowRoot))}:function(v){n.call(this,l(v))}),f)if(d.functional){var h=d.render;d.render=function(y,_){return f.call(_),h(y,_)}}else{var m=d.beforeCreate;d.beforeCreate=m?[].concat(m,f):[f]}return a}var normalizeComponent_1=normalizeComponent,isOldIE=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function createInjector(e){return function(n,a){return addStyle(n,a)}}var HEAD=document.head||document.getElementsByTagName("head")[0],styles={};function addStyle(e,n){var a=isOldIE?n.media||"default":e,i=styles[a]||(styles[a]={ids:new Set,styles:[]});if(!i.ids.has(e)){i.ids.add(e);var r=n.source;if(n.map&&(r+=` -/*# sourceURL=`+n.map.sources[0]+" */",r+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(n.map))))+" */"),i.element||(i.element=document.createElement("style"),i.element.type="text/css",n.media&&i.element.setAttribute("media",n.media),HEAD.appendChild(i.element)),"styleSheet"in i.element)i.styles.push(r),i.element.styleSheet.cssText=i.styles.filter(Boolean).join(` -`);else{var s=i.ids.size-1,o=document.createTextNode(r),l=i.element.childNodes;l[s]&&i.element.removeChild(l[s]),l.length?i.element.insertBefore(o,l[s]):i.element.appendChild(o)}}}var browser=createInjector,__vue_render__=function(e,n){var a=n._c;return a("div",{directives:[{name:"show",rawName:"v-show",value:!n.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:n.props.additionalClasses},[a("span",{staticClass:"mb-5"},[n._v(n._s(n.props.text||"Loading..."))]),n._v(" "),n._m(0)])},__vue_staticRenderFns__=[function(e,n){var a=n._c;return a("div",{staticClass:"lds-ring"},[a("div"),n._v(" "),a("div"),n._v(" "),a("div"),n._v(" "),a("div")])}];const __vue_inject_styles__=function(e){!e||e("data-v-07f63f2b_0",{source:".lds-ring[data-v-07f63f2b]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-07f63f2b]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-07f63f2b 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-07f63f2b]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-07f63f2b]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-07f63f2b]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-07f63f2b{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-07f63f2b",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;var BaseLoadingPlaceholder=normalizeComponent_1({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,browser,void 0);function sendAddToQueue(e,n=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");socket.emit("addToQueue",{url:e,bitrate:n},()=>{})}function aggregateDownloadLinks(e){let n=[];return e.forEach(a=>{n.push(a.link)}),n.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let n=[e];for(;(e=e.parentNode)&&e!==document;)n.push(e);return n}function isValidURL(e){let n=e.toLowerCase();if(n.startsWith("http")){if(n.indexOf("deezer.com")>=0||n.indexOf("deezer.page.link")>=0||n.indexOf("open.spotify.com")>=0||n.indexOf("link.tospotify.com")>=0)return!0}else if(n.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let n,a;return n=Math.floor(e/60),a=e-n*60,a<10&&(a="0"+a),n+":"+a}function convertDurationSeparated(e){let n,a,i;return a=Math.floor(e/60),n=Math.floor(a/60),i=e-a*60,a-=n*60,[n,a,i]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,n,a){var i;return function(){var r=this,s=arguments,o=function(){i=null,a||e.apply(r,s)},l=a&&!i;clearTimeout(i),i=setTimeout(o,n),l&&e.apply(r,s)}}function copyToClipboard(e){const n=document.createElement("input");document.body.appendChild(n),n.setAttribute("type","text"),n.setAttribute("value",e),n.select(),n.setSelectionRange(0,99999),document.execCommand("copy"),n.remove()}function getPropertyWithFallback(e,...n){for(const a of n){let r=/\./.test(a)?a.split(".").reduce((s,o)=>{if(s)return s[o]},e):e[a];if(typeof r!="undefined")return r}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(a=>{document.execCommand("insertText",void 0,a)}):document.execCommand("paste")}}};let n=Object.values(e).length+1;return downloadQualities.forEach((a,i)=>{e[a.objName]={label:`${this.$t("globals.download",{thing:a.label})}`,show:!1,position:n+i,action:sendAddToQueue.bind(null,this.deezerHref,a.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,n)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,n){this.xPos=`${e}px`,this.yPos=`${n}px`,this.$nextTick().then(()=>{const{innerHeight:a,innerWidth:i}=window,r=e+this.$refs.contextMenu.getBoundingClientRect().width,s=n+this.$refs.contextMenu.getBoundingClientRect().height;if(r>i){const o=r-i+15;this.xPos=`${e-o}px`}if(s>a){const o=s-a+15;this.yPos=`${n-o}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(n=>{this.options[n.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(i){return a("button",{directives:[{name:"show",rawName:"v-show",value:i.show,expression:"option.show"}],key:i.label,staticClass:"btn menu-option",on:{click:function(r){return r.preventDefault(),i.action(r)}}},[a("span",{staticClass:"menu-option__text"},[e._v(e._s(i.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){!e||e("data-v-17a20187_0",{source:".context-menu[data-v-17a20187]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-17a20187]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-17a20187]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-17a20187]{text-transform:capitalize}button[data-v-17a20187]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-17a20187]:focus{outline:0}button[data-v-17a20187]:active{background-color:unset;transform:unset}button[data-v-17a20187]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-17a20187",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;var TheContextMenu=normalizeComponent_1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,browser,void 0),EventBus=new Vue;async function adjustVolume(e,n,{duration:a=1e3,easing:i=swing,interval:r=13}={}){const s=e.volume,o=n-s;if(!o||!a||!i||!r)return e.volume=n,Promise.resolve();const l=Math.floor(a/r);let c=1;return new Promise(u=>{const d=setInterval(()=>{e.volume=s+i(c/l)*o,++c===l&&(clearInterval(d),u())},r)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,n,a)=>{this.stopStackedTabsPreview(),a()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;isFinite(e)||(e=30),!(e-this.$refs.preview.currentTime>=1)&&(this.previewStopped||(await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(n=>{n.style.opacity=0}),document.querySelectorAll("*").forEach(n=>{n.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(n=>{n.textContent="play_arrow"})))},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:n}=e;var a=n.tagName=="I"?n:n.querySelector("i");n.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,a.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,a.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(i=>{i.removeAttribute("playing")}),n.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(i=>{i.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(i=>{i.style.opacity=0}),a.innerText="pause",a.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=n.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));e.length!==0&&(await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(n=>{n.removeAttribute("playing"),n.innerText="play_arrow"}))},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:n}=e,a=n.parentElement.hasAttribute("playing");(a&&this.previewStopped||!a)&&(n.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[a("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_module_identifier__$2=void 0,__vue_is_functional_template__$2=!1;var TheTrackPreview=normalizeComponent_1({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2,__vue_module_identifier__$2,void 0,void 0),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:n}=e;this.$refs.modal.classList.add("animated","fadeOut"),!!n.matches(".quality-button")&&sendAddToQueue(this.url,n.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:n}=e;this.$refs.modal.classList.remove("animated",n),n!=="fadeIn"&&(this.open=!1)}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(i){return e.tryToDownloadTrack(i)}}},[a("div",{staticClass:"smallmodal-content"},[a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` + */function applyMixin(e){var a=Number(e.version.split(".")[0]);if(a>=2)e.mixin({beforeCreate:i});else{var n=e.prototype._init;e.prototype._init=function(r){r===void 0&&(r={}),r.init=r.init?[i].concat(r.init):i,n.call(this,r)}}function i(){var r=this.$options;r.store?this.$store=typeof r.store=="function"?r.store():r.store:r.parent&&r.parent.$store&&(this.$store=r.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){!devtoolHook||(e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(a){e.replaceState(a)}),e.subscribe(function(a,n){devtoolHook.emit("vuex:mutation",a,n)},{prepend:!0}),e.subscribeAction(function(a,n){devtoolHook.emit("vuex:action",a,n)},{prepend:!0}))}function find(e,a){return e.filter(a)[0]}function deepCopy(e,a){if(a===void 0&&(a=[]),e===null||typeof e!="object")return e;var n=find(a,function(r){return r.original===e});if(n)return n.copy;var i=Array.isArray(e)?[]:{};return a.push({original:e,copy:i}),Object.keys(e).forEach(function(r){i[r]=deepCopy(e[r],a)}),i}function forEachValue(e,a){Object.keys(e).forEach(function(n){return a(e[n],n)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,a){return function(){return e(a)}}var Module=function(a,n){this.runtime=n,this._children=Object.create(null),this._rawModule=a;var i=a.state;this.state=(typeof i=="function"?i():i)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(a,n){this._children[a]=n},Module.prototype.removeChild=function(a){delete this._children[a]},Module.prototype.getChild=function(a){return this._children[a]},Module.prototype.hasChild=function(a){return a in this._children},Module.prototype.update=function(a){this._rawModule.namespaced=a.namespaced,a.actions&&(this._rawModule.actions=a.actions),a.mutations&&(this._rawModule.mutations=a.mutations),a.getters&&(this._rawModule.getters=a.getters)},Module.prototype.forEachChild=function(a){forEachValue(this._children,a)},Module.prototype.forEachGetter=function(a){this._rawModule.getters&&forEachValue(this._rawModule.getters,a)},Module.prototype.forEachAction=function(a){this._rawModule.actions&&forEachValue(this._rawModule.actions,a)},Module.prototype.forEachMutation=function(a){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,a)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(a){this.register([],a,!1)};ModuleCollection.prototype.get=function(a){return a.reduce(function(n,i){return n.getChild(i)},this.root)},ModuleCollection.prototype.getNamespace=function(a){var n=this.root;return a.reduce(function(i,r){return n=n.getChild(r),i+(n.namespaced?r+"/":"")},"")},ModuleCollection.prototype.update=function(a){update([],this.root,a)},ModuleCollection.prototype.register=function(a,n,i){var r=this;i===void 0&&(i=!0);var s=new Module(n,i);if(a.length===0)this.root=s;else{var o=this.get(a.slice(0,-1));o.addChild(a[a.length-1],s)}n.modules&&forEachValue(n.modules,function(l,c){r.register(a.concat(c),l,i)})},ModuleCollection.prototype.unregister=function(a){var n=this.get(a.slice(0,-1)),i=a[a.length-1],r=n.getChild(i);!r||!r.runtime||n.removeChild(i)},ModuleCollection.prototype.isRegistered=function(a){var n=this.get(a.slice(0,-1)),i=a[a.length-1];return n?n.hasChild(i):!1};function update(e,a,n){if(a.update(n),n.modules)for(var i in n.modules){if(!a.getChild(i))return;update(e.concat(i),a.getChild(i),n.modules[i])}}var Vue$1,Store=function(a){var n=this;a===void 0&&(a={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var i=a.plugins;i===void 0&&(i=[]);var r=a.strict;r===void 0&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(a),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,o=this,l=o.dispatch,c=o.commit;this.dispatch=function(h,m){return l.call(s,h,m)},this.commit=function(h,m,v){return c.call(s,h,m,v)},this.strict=r;var u=this._modules.root.state;installModule(this,u,[],this._modules.root),resetStoreVM(this,u),i.forEach(function(f){return f(n)});var d=a.devtools!==void 0?a.devtools:Vue$1.config.devtools;d&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(a,n,i){var r=this,s=unifyObjectStyle(a,n,i),o=s.type,l=s.payload,c={type:o,payload:l},u=this._mutations[o];!u||(this._withCommit(function(){u.forEach(function(f){f(l)})}),this._subscribers.slice().forEach(function(d){return d(c,r.state)}))},Store.prototype.dispatch=function(a,n){var i=this,r=unifyObjectStyle(a,n),s=r.type,o=r.payload,l={type:s,payload:o},c=this._actions[s];if(!!c){try{this._actionSubscribers.slice().filter(function(d){return d.before}).forEach(function(d){return d.before(l,i.state)})}catch(d){}var u=c.length>1?Promise.all(c.map(function(d){return d(o)})):c[0](o);return new Promise(function(d,f){u.then(function(h){try{i._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(l,i.state)})}catch(m){}d(h)},function(h){try{i._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(l,i.state,h)})}catch(m){}f(h)})})}},Store.prototype.subscribe=function(a,n){return genericSubscribe(a,this._subscribers,n)},Store.prototype.subscribeAction=function(a,n){var i=typeof a=="function"?{before:a}:a;return genericSubscribe(i,this._actionSubscribers,n)},Store.prototype.watch=function(a,n,i){var r=this;return this._watcherVM.$watch(function(){return a(r.state,r.getters)},n,i)},Store.prototype.replaceState=function(a){var n=this;this._withCommit(function(){n._vm._data.$$state=a})},Store.prototype.registerModule=function(a,n,i){i===void 0&&(i={}),typeof a=="string"&&(a=[a]),this._modules.register(a,n),installModule(this,this.state,a,this._modules.get(a),i.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(a){var n=this;typeof a=="string"&&(a=[a]),this._modules.unregister(a),this._withCommit(function(){var i=getNestedState(n.state,a.slice(0,-1));Vue$1.delete(i,a[a.length-1])}),resetStore(this)},Store.prototype.hasModule=function(a){return typeof a=="string"&&(a=[a]),this._modules.isRegistered(a)},Store.prototype.hotUpdate=function(a){this._modules.update(a),resetStore(this,!0)},Store.prototype._withCommit=function(a){var n=this._committing;this._committing=!0,a(),this._committing=n},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,a,n){return a.indexOf(e)<0&&(n&&n.prepend?a.unshift(e):a.push(e)),function(){var i=a.indexOf(e);i>-1&&a.splice(i,1)}}function resetStore(e,a){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;installModule(e,n,[],e._modules.root,!0),resetStoreVM(e,n,a)}function resetStoreVM(e,a,n){var i=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var r=e._wrappedGetters,s={};forEachValue(r,function(l,c){s[c]=partial(l,e),Object.defineProperty(e.getters,c,{get:function(){return e._vm[c]},enumerable:!0})});var o=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:a},computed:s}),Vue$1.config.silent=o,e.strict&&enableStrictMode(e),i&&(n&&e._withCommit(function(){i._data.$$state=null}),Vue$1.nextTick(function(){return i.$destroy()}))}function installModule(e,a,n,i,r){var s=!n.length,o=e._modules.getNamespace(n);if(i.namespaced&&(e._modulesNamespaceMap[o],e._modulesNamespaceMap[o]=i),!s&&!r){var l=getNestedState(a,n.slice(0,-1)),c=n[n.length-1];e._withCommit(function(){Vue$1.set(l,c,i.state)})}var u=i.context=makeLocalContext(e,o,n);i.forEachMutation(function(d,f){var h=o+f;registerMutation(e,h,d,u)}),i.forEachAction(function(d,f){var h=d.root?f:o+f,m=d.handler||d;registerAction(e,h,m,u)}),i.forEachGetter(function(d,f){var h=o+f;registerGetter(e,h,d,u)}),i.forEachChild(function(d,f){installModule(e,a,n.concat(f),d,r)})}function makeLocalContext(e,a,n){var i=a==="",r={dispatch:i?e.dispatch:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;return(!d||!d.root)&&(f=a+f),e.dispatch(f,u)},commit:i?e.commit:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;(!d||!d.root)&&(f=a+f),e.commit(f,u,d)}};return Object.defineProperties(r,{getters:{get:i?function(){return e.getters}:function(){return makeLocalGetters(e,a)}},state:{get:function(){return getNestedState(e.state,n)}}}),r}function makeLocalGetters(e,a){if(!e._makeLocalGettersCache[a]){var n={},i=a.length;Object.keys(e.getters).forEach(function(r){if(r.slice(0,i)===a){var s=r.slice(i);Object.defineProperty(n,s,{get:function(){return e.getters[r]},enumerable:!0})}}),e._makeLocalGettersCache[a]=n}return e._makeLocalGettersCache[a]}function registerMutation(e,a,n,i){var r=e._mutations[a]||(e._mutations[a]=[]);r.push(function(o){n.call(e,i.state,o)})}function registerAction(e,a,n,i){var r=e._actions[a]||(e._actions[a]=[]);r.push(function(o){var l=n.call(e,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:e.getters,rootState:e.state},o);return isPromise$1(l)||(l=Promise.resolve(l)),e._devtoolHook?l.catch(function(c){throw e._devtoolHook.emit("vuex:error",c),c}):l})}function registerGetter(e,a,n,i){e._wrappedGetters[a]||(e._wrappedGetters[a]=function(s){return n(i.state,i.getters,s.state,s.getters)})}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,a){return a.reduce(function(n,i){return n[i]},e)}function unifyObjectStyle(e,a,n){return isObject$1(e)&&e.type&&(n=a,a=e,e=e.type),{type:e,payload:a,options:n}}function install(e){Vue$1&&e===Vue$1||(Vue$1=e,applyMixin(Vue$1))}var mapState=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){var l=this.$store.state,c=this.$store.getters;if(e){var u=getModuleByNamespace(this.$store,"mapState",e);if(!u)return;l=u.context.state,c=u.context.getters}return typeof s=="function"?s.call(this,l,c):l[s]},n[r].vuex=!0}),n}),mapMutations=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.commit;if(e){var d=getModuleByNamespace(this.$store,"mapMutations",e);if(!d)return;u=d.context.commit}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),n}),mapGetters=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;s=e+s,n[r]=function(){if(!(e&&!getModuleByNamespace(this.$store,"mapGetters",e)))return this.$store.getters[s]},n[r].vuex=!0}),n}),mapActions=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.dispatch;if(e){var d=getModuleByNamespace(this.$store,"mapActions",e);if(!d)return;u=d.context.dispatch}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),n}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(a){return{key:a,val:a}}):Object.keys(e).map(function(a){return{key:a,val:e[a]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(a,n){return typeof a!="string"?(n=a,a=""):a.charAt(a.length-1)!=="/"&&(a+="/"),e(a,n)}}function getModuleByNamespace(e,a,n){var i=e._modulesNamespaceMap[n];return i}function createLogger(e){e===void 0&&(e={});var a=e.collapsed;a===void 0&&(a=!0);var n=e.filter;n===void 0&&(n=function(d,f,h){return!0});var i=e.transformer;i===void 0&&(i=function(d){return d});var r=e.mutationTransformer;r===void 0&&(r=function(d){return d});var s=e.actionFilter;s===void 0&&(s=function(d,f){return!0});var o=e.actionTransformer;o===void 0&&(o=function(d){return d});var l=e.logMutations;l===void 0&&(l=!0);var c=e.logActions;c===void 0&&(c=!0);var u=e.logger;return u===void 0&&(u=console),function(d){var f=deepCopy(d.state);typeof u!="undefined"&&(l&&d.subscribe(function(h,m){var v=deepCopy(m);if(n(h,f,v)){var y=getFormattedTime(),_=r(h),w="mutation "+h.type+y;startMessage(u,w,a),u.log("%c prev state","color: #9E9E9E; font-weight: bold",i(f)),u.log("%c mutation","color: #03A9F4; font-weight: bold",_),u.log("%c next state","color: #4CAF50; font-weight: bold",i(v)),endMessage(u)}f=v}),c&&d.subscribeAction(function(h,m){if(s(h,m)){var v=getFormattedTime(),y=o(h),_="action "+h.type+v;startMessage(u,_,a),u.log("%c action","color: #03A9F4; font-weight: bold",y),endMessage(u)}}))}}function startMessage(e,a,n){var i=n?e.groupCollapsed:e.group;try{i.call(e,a)}catch(r){e.log(a)}}function endMessage(e){try{e.groupEnd()}catch(a){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,a){return new Array(a+1).join(e)}function pad(e,a){return repeat("0",a-e.toString().length)+e}var index$2={Store,install,version:"3.6.2",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger};let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,a)=>{socket.on("init_settings",(n,i,r)=>{settingsData=n,defaultSettingsData=r,spotifyCredentials=i,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:i,user:r,status:s}=n;a("setARL",{arl:i}),e("SET_USER",r),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:i}=a;i=typeof i=="undefined"?!0:i,e("SET_ARL",n),i&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const i=a[n];e[n]=i}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});class CustomSocket extends WebSocket{constructor(a){super(a)}emit(a,n){if(this.readyState!=WebSocket.OPEN)return!1;this.send(JSON.stringify({key:a,data:n}))}on(a,n){this.addEventListener("message",function(i){let r=JSON.parse(i.data);r.key==a&&n(r.data)})}}const socket=new CustomSocket("ws://"+location.host+"/");function normalizeComponent(e,a,n,i,r,s,o,l,c,u){typeof o!="boolean"&&(c=l,l=o,o=!1);var d=typeof n=="function"?n.options:n;e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,r&&(d.functional=!0)),i&&(d._scopeId=i);var f;if(s?(f=function(y){y=y||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!y&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(y=__VUE_SSR_CONTEXT__),a&&a.call(this,c(y)),y&&y._registeredComponents&&y._registeredComponents.add(s)},d._ssrRegister=f):a&&(f=o?function(){a.call(this,u(this.$root.$options.shadowRoot))}:function(v){a.call(this,l(v))}),f)if(d.functional){var h=d.render;d.render=function(y,_){return f.call(_),h(y,_)}}else{var m=d.beforeCreate;d.beforeCreate=m?[].concat(m,f):[f]}return n}var normalizeComponent_1=normalizeComponent,isOldIE=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function createInjector(e){return function(a,n){return addStyle(a,n)}}var HEAD=document.head||document.getElementsByTagName("head")[0],styles={};function addStyle(e,a){var n=isOldIE?a.media||"default":e,i=styles[n]||(styles[n]={ids:new Set,styles:[]});if(!i.ids.has(e)){i.ids.add(e);var r=a.source;if(a.map&&(r+=` +/*# sourceURL=`+a.map.sources[0]+" */",r+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(a.map))))+" */"),i.element||(i.element=document.createElement("style"),i.element.type="text/css",a.media&&i.element.setAttribute("media",a.media),HEAD.appendChild(i.element)),"styleSheet"in i.element)i.styles.push(r),i.element.styleSheet.cssText=i.styles.filter(Boolean).join(` +`);else{var s=i.ids.size-1,o=document.createTextNode(r),l=i.element.childNodes;l[s]&&i.element.removeChild(l[s]),l.length?i.element.insertBefore(o,l[s]):i.element.appendChild(o)}}}var browser=createInjector,__vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){!e||e("data-v-07f63f2b_0",{source:".lds-ring[data-v-07f63f2b]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-07f63f2b]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-07f63f2b 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-07f63f2b]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-07f63f2b]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-07f63f2b]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-07f63f2b{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-07f63f2b",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;var BaseLoadingPlaceholder=normalizeComponent_1({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,browser,void 0);function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");socket.emit("addToQueue",{url:e,bitrate:a},()=>{})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,i;return n=Math.floor(e/60),a=Math.floor(n/60),i=e-n*60,n-=a*60,[a,n,i]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var i;return function(){var r=this,s=arguments,o=function(){i=null,n||e.apply(r,s)},l=n&&!i;clearTimeout(i),i=setTimeout(o,a),l&&e.apply(r,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n)?n.split(".").reduce((s,o)=>{if(s)return s[o]},e):e[n];if(typeof r!="undefined")return r}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,i)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+i,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:i}=window,r=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(r>i){const o=r-i+15;this.xPos=`${e-o}px`}if(s>n){const o=s-n+15;this.yPos=`${a-o}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(i){return n("button",{directives:[{name:"show",rawName:"v-show",value:i.show,expression:"option.show"}],key:i.label,staticClass:"btn menu-option",on:{click:function(r){return r.preventDefault(),i.action(r)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(i.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){!e||e("data-v-17a20187_0",{source:".context-menu[data-v-17a20187]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-17a20187]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-17a20187]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-17a20187]{text-transform:capitalize}button[data-v-17a20187]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-17a20187]:focus{outline:0}button[data-v-17a20187]:active{background-color:unset;transform:unset}button[data-v-17a20187]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-17a20187",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;var TheContextMenu=normalizeComponent_1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,browser,void 0),EventBus=new Vue;async function adjustVolume(e,a,{duration:n=1e3,easing:i=swing,interval:r=13}={}){const s=e.volume,o=a-s;if(!o||!n||!i||!r)return e.volume=a,Promise.resolve();const l=Math.floor(n/r);let c=1;return new Promise(u=>{const d=setInterval(()=>{e.volume=s+i(c/l)*o,++c===l&&(clearInterval(d),u())},r)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,a,n)=>{this.stopStackedTabsPreview(),n()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;isFinite(e)||(e=30),!(e-this.$refs.preview.currentTime>=1)&&(this.previewStopped||(await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(a=>{a.style.opacity=0}),document.querySelectorAll("*").forEach(a=>{a.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(a=>{a.textContent="play_arrow"})))},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:a}=e;var n=a.tagName=="I"?a:a.querySelector("i");a.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,n.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,n.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(i=>{i.removeAttribute("playing")}),a.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(i=>{i.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(i=>{i.style.opacity=0}),n.innerText="pause",n.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=a.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));e.length!==0&&(await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(a=>{a.removeAttribute("playing"),a.innerText="play_arrow"}))},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:a}=e,n=a.parentElement.hasAttribute("playing");(n&&this.previewStopped||!n)&&(a.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[n("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_module_identifier__$2=void 0,__vue_is_functional_template__$2=!1;var TheTrackPreview=normalizeComponent_1({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2,__vue_module_identifier__$2,void 0,void 0),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:a}=e;this.$refs.modal.classList.add("animated","fadeOut"),!!a.matches(".quality-button")&&sendAddToQueue(this.url,a.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:a}=e;this.$refs.modal.classList.remove("animated",a),a!=="fadeIn"&&(this.open=!1)}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(i){return e.tryToDownloadTrack(i)}}},[n("div",{staticClass:"smallmodal-content"},[n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"FLAC"}))+` - `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"3"}},[e._v(` + `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"3"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"MP3 320kbps"}))+` - `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"1"}},[e._v(` + `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"1"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"MP3 128kbps"}))+` - `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"15"}},[e._v(` + `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"15"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"360 Reality Audio [HQ]"}))+` - `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"14"}},[e._v(` + `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"14"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"360 Reality Audio [MQ]"}))+` - `)]),e._v(" "),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"13"}},[e._v(` + `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"13"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"360 Reality Audio [LQ]"}))+` - `)])])])},__vue_staticRenderFns__$3=[];const __vue_inject_styles__$3=function(e){!e||e("data-v-2d519c1f_0",{source:".smallmodal{position:fixed;z-index:1250;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4);animation-duration:.3s}.smallmodal-content{--modal-content-width:95%;background-color:transparent;margin:auto;width:var(--modal-content-width);position:relative;top:50%;transform:translateY(-50%)}@media only screen and (min-width:601px){.smallmodal-content{--modal-content-width:85%}}@media only screen and (min-width:993px){.smallmodal-content{--modal-content-width:70%}}.smallmodal-content button{width:100%;margin-bottom:8px}",map:void 0,media:void 0})},__vue_scope_id__$3=void 0,__vue_module_identifier__$3=void 0,__vue_is_functional_template__$3=!1;var TheQualityModal=normalizeComponent_1({render:__vue_render__$3,staticRenderFns:__vue_staticRenderFns__$3},__vue_inject_styles__$3,__vue_script__$2,__vue_scope_id__$3,__vue_is_functional_template__$3,__vue_module_identifier__$3,browser,void 0),toString$1=function(e){return Object.prototype.toString.call(e)};function isNative$1(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol$1=typeof Symbol!="undefined"&&isNative$1(Symbol)&&typeof Reflect!="undefined"&&isNative$1(Reflect.ownKeys),noopFn=function(e){return e},sharedPropertyDefinition$1={enumerable:!0,configurable:!0,get:noopFn,set:noopFn};function proxy$1(e,n,a){var i=a.get,r=a.set;sharedPropertyDefinition$1.get=i||noopFn,sharedPropertyDefinition$1.set=r||noopFn,Object.defineProperty(e,n,sharedPropertyDefinition$1)}function def$1(e,n,a,i){Object.defineProperty(e,n,{value:a,enumerable:!!i,writable:!0,configurable:!0})}function hasOwn$1(e,n){return Object.hasOwnProperty.call(e,n)}function assert(e,n){if(!e)throw new Error("[vue-composition-api] "+n)}function isArray(e){return Array.isArray(e)}function isObject$2(e){return e!==null&&typeof e=="object"}function isPlainObject$1(e){return toString$1(e)==="[object Object]"}function isFunction(e){return typeof e=="function"}function warn$1(e,n){Vue.util.warn(e,n)}function logError$1(e,n,a){if(typeof window!="undefined"&&typeof console!="undefined")console.error(e);else throw e}var vueDependency=void 0;try{var requiredVue=require("vue");requiredVue&&isVue(requiredVue)?vueDependency=requiredVue:requiredVue&&"default"in requiredVue&&isVue(requiredVue.default)&&(vueDependency=requiredVue.default)}catch(e){}var vueConstructor=null,currentInstance=null,PluginInstalledFlag="__composition_api_installed__";function isVue(e){return e&&typeof e=="function"&&e.name==="Vue"}function isVueRegistered(e){return hasOwn$1(e,PluginInstalledFlag)}function getVueConstructor(){return vueConstructor}function getRegisteredVueOrDefault(){var e=vueConstructor||vueDependency;return e}function setVueConstructor(e){vueConstructor=e,Object.defineProperty(e,PluginInstalledFlag,{configurable:!0,writable:!0,value:!0})}function setCurrentInstance(e){currentInstance=e}function getCurrentVue2Instance(){return currentInstance}function getCurrentInstance(){return currentInstance?toVue3ComponentInstance(currentInstance):null}var instanceMapCache=new WeakMap;function toVue3ComponentInstance(e){if(instanceMapCache.has(e))return instanceMapCache.get(e);var n={proxy:e,update:e.$forceUpdate,uid:e._uid,emit:e.$emit.bind(e),parent:null,root:null},a=["data","props","attrs","refs","vnode","slots"];return a.forEach(function(i){proxy$1(n,i,{get:function(){return e["$"+i]}})}),proxy$1(n,"isMounted",{get:function(){return e._isMounted}}),proxy$1(n,"isUnmounted",{get:function(){return e._isDestroyed}}),proxy$1(n,"isDeactivated",{get:function(){return e._inactive}}),proxy$1(n,"emitted",{get:function(){return e._events}}),instanceMapCache.set(e,n),e.$parent&&(n.parent=toVue3ComponentInstance(e.$parent)),e.$root&&(n.root=toVue3ComponentInstance(e.$root)),n}function currentVMInFn(e){var n=getCurrentInstance();return n==null?void 0:n.proxy}function defineComponentInstance(e,n){n===void 0&&(n={});var a=e.config.silent;e.config.silent=!0;var i=new e(n);return e.config.silent=a,i}function isComponentInstance(e){var n=getVueConstructor();return n&&e instanceof n}function createSlotProxy(e,n){return function(){for(var a=[],i=0;i=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,n){var a=typeof Symbol=="function"&&e[Symbol.iterator];if(!a)return e;var i=a.call(e),r,s=[],o;try{for(;(n===void 0||n-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(l){o={error:l}}finally{try{r&&!r.done&&(a=i.return)&&a.call(i)}finally{if(o)throw o.error}}return s}function __spread(){for(var e=[],n=0;n{n!==e&&(localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements())});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(n=>{n.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function n(){e.forEach(a=>{a.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",n)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=` +***************************************************************************** */var __assign=function(){return __assign=Object.assign||function(a){for(var n,i=1,r=arguments.length;i=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,a){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var i=n.call(e),r,s=[],o;try{for(;(a===void 0||a-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(l){o={error:l}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return s}function __spread(){for(var e=[],a=0;a{a!==e&&(localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements())});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(a=>{a.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function a(){e.forEach(n=>{n.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",a)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=` @@ -2762,23 +2762,23 @@ PERFORMANCE OF THIS SOFTWARE. .st8{fill-rule:evenodd;clip-rule:evenodd;fill:url(#rect8241_1_);} .st9{fill-rule:evenodd;clip-rule:evenodd;fill:url(#rect8248_1_);} -`,script$3=defineComponent({setup(e,n){const a=reactive({activeTablink:"home",updateAvailable:!1,links}),{THEMES:i,currentTheme:r}=useTheme();return socket.on("updateAvailable",()=>{a.updateAvailable=!0}),n.root.$router.afterEach((s,o)=>{const l=a.links.find(c=>c.routerName===s.name);!l||(a.activeTablink=l.name)}),{...toRefs(a),THEMES:i,currentTheme:r,isSlim:computed(()=>n.root.$store.getters.getSlimSidebar),deemixIcon}}});const __vue_script__$3=script$3;var __vue_render__$4=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("aside",{staticClass:"top-0 left-0 flex flex-col h-screen bg-panels-bg text-foreground",class:{"slim-sidebar w-12":e.isSlim},style:{minWidth:e.isSlim?null:"14rem"},attrs:{id:"sidebar","aria-label":"sidebar",role:"navigation"}},[a("div",{staticClass:"deemix-icon-container",domProps:{innerHTML:e._s(e.deemixIcon)}}),e._v(" "),e._l(e.links,function(i){return a("router-link",{key:i.name,staticClass:"relative flex items-center h-16 no-underline group main_tablinks hover:bg-background-main text-foreground",class:{"bg-background-main":e.activeTablink===i.name},attrs:{"aria-label":i.ariaLabel,to:{name:i.routerName},tag:"a"},nativeOn:{click:function(r){e.activeTablink=i.name}}},[a("i",{staticClass:"p-2 text-3xl material-icons side_icon group-hover:text-primary",class:{"text-primary":e.activeTablink===i.name}},[e._v(` +`,script$3=defineComponent({setup(e,a){const n=reactive({activeTablink:"home",updateAvailable:!1,links}),{THEMES:i,currentTheme:r}=useTheme();return socket.on("updateAvailable",()=>{n.updateAvailable=!0}),a.root.$router.afterEach((s,o)=>{const l=n.links.find(c=>c.routerName===s.name);!l||(n.activeTablink=l.name)}),{...toRefs(n),THEMES:i,currentTheme:r,isSlim:computed(()=>a.root.$store.getters.getSlimSidebar),deemixIcon}}});const __vue_script__$3=script$3;var __vue_render__$4=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("aside",{staticClass:"top-0 left-0 flex flex-col h-screen bg-panels-bg text-foreground",class:{"slim-sidebar w-12":e.isSlim},style:{minWidth:e.isSlim?null:"14rem"},attrs:{id:"sidebar","aria-label":"sidebar",role:"navigation"}},[n("div",{staticClass:"deemix-icon-container",domProps:{innerHTML:e._s(e.deemixIcon)}}),e._v(" "),e._l(e.links,function(i){return n("router-link",{key:i.name,staticClass:"relative flex items-center h-16 no-underline group main_tablinks hover:bg-background-main text-foreground",class:{"bg-background-main":e.activeTablink===i.name},attrs:{"aria-label":i.ariaLabel,to:{name:i.routerName},tag:"a"},nativeOn:{click:function(r){e.activeTablink=i.name}}},[n("i",{staticClass:"p-2 text-3xl material-icons side_icon group-hover:text-primary",class:{"text-primary":e.activeTablink===i.name}},[e._v(` `+e._s(i.icon)+` - `)]),e._v(" "),a("span",{staticClass:"ml-5 overflow-hidden capitalize whitespace-no-wrap main-tablinks-text",class:{hidden:e.isSlim},staticStyle:{"letter-spacing":"1.3px"}},[e._v(` + `)]),e._v(" "),n("span",{staticClass:"ml-5 overflow-hidden capitalize whitespace-no-wrap main-tablinks-text",class:{hidden:e.isSlim},staticStyle:{"letter-spacing":"1.3px"}},[e._v(` `+e._s(e.$t(i.label))+` - `)]),e._v(" "),i.name==="about"&&e.updateAvailable?a("span",{staticClass:"absolute w-3 h-3 bg-red-600 rounded-full",attrs:{id:"update-notification"}}):e._e()])}),e._v(" "),a("span",{staticClass:"flex h-12 mt-5",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_selector","aria-label":"theme selector",role:"link"}},[a("i",{staticClass:"p-2 text-3xl transition-all duration-500 cursor-default material-icons side_icon side_icon--theme"},[e._v(` + `)]),e._v(" "),i.name==="about"&&e.updateAvailable?n("span",{staticClass:"absolute w-3 h-3 bg-red-600 rounded-full",attrs:{id:"update-notification"}}):e._e()])}),e._v(" "),n("span",{staticClass:"flex h-12 mt-5",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_selector","aria-label":"theme selector",role:"link"}},[n("i",{staticClass:"p-2 text-3xl transition-all duration-500 cursor-default material-icons side_icon side_icon--theme"},[e._v(` brush - `)]),e._v(" "),a("div",{staticClass:"relative flex items-center w-full justify-evenly",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_togglers"}},e._l(e.THEMES,function(i){return a("div",{key:i,staticClass:"w-6 h-6 border rounded-full cursor-pointer theme_toggler border-grayscale-500 gap",class:[{"theme_toggler--active":e.currentTheme===i},"theme_toggler--"+i],on:{click:function(r){e.currentTheme=i}}})}),0)])],2)},__vue_staticRenderFns__$4=[];const __vue_inject_styles__$4=function(e){!e||e("data-v-0270c8a8_0",{source:".deemix-icon-container[data-v-0270c8a8]{display:grid;place-content:center}.slim-sidebar .deemix-icon-container[data-v-0270c8a8]{margin:.5rem 0}.slim-sidebar .deemix-icon-container[data-v-0270c8a8] svg{height:30px}.deemix-icon-container[data-v-0270c8a8] svg{height:75px}#update-notification[data-v-0270c8a8]{top:12px;left:30px}.theme_toggler[data-v-0270c8a8]{transition:border .2s ease-in-out}.theme_toggler--active[data-v-0270c8a8]{border-width:3px}.theme_toggler--light[data-v-0270c8a8]{background-color:#fff}.theme_toggler--dark[data-v-0270c8a8]{background-color:#141414}.theme_toggler--purple[data-v-0270c8a8]{background:#460eaf}",map:void 0,media:void 0})},__vue_scope_id__$4="data-v-0270c8a8",__vue_module_identifier__$4=void 0,__vue_is_functional_template__$4=!1;var TheSidebar=normalizeComponent_1({render:__vue_render__$4,staticRenderFns:__vue_staticRenderFns__$4},__vue_inject_styles__$4,__vue_script__$3,__vue_scope_id__$4,__vue_is_functional_template__$4,__vue_module_identifier__$4,browser,void 0),script$4=defineComponent({setup(){return{lastTextSearch:ref$2("")}},created(){const e=a=>{a.keyCode===70&&a.ctrlKey&&(a.preventDefault(),this.$refs.searchbar.focus())},n=a=>{!(a.key=="Backspace"&&a.ctrlKey&&a.shiftKey)||(this.$refs.searchbar.value="",this.$refs.searchbar.focus())};document.addEventListener("keydown",e),document.addEventListener("keyup",n),this.$on("hook:destroyed",()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",n)})},methods:{async performSearch(e){if(!(e.keyCode===13))return;let a=this.$refs.searchbar.value;if(a==="")return;let r=isValidURL(a),s=e.ctrlKey,o=this.$route.name==="Link Analyzer",l=this.$route.name==="Search",c=a===this.lastTextSearch;if(r){if(s){this.$root.$emit("ContextMenu:searchbar",a);return}if(o){socket.emit("analyzeLink",a);return}sendAddToQueue(a)}else{if(l&&c)return;this.lastTextSearch=a,await this.$router.push({name:"Search",query:{term:a}})}}}});const __vue_script__$4=script$4;var __vue_render__$5=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("header",{attrs:{id:"search","aria-label":"searchbar"}},[e._m(0),e._v(" "),a("input",{ref:"searchbar",staticClass:"w-full",attrs:{id:"searchbar",autocomplete:"off",type:"search",name:"searchbar",value:"",placeholder:e.$t("searchbar"),autofocus:""},on:{keyup:function(i){return e.performSearch(i)}}})])},__vue_staticRenderFns__$5=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"search__icon"},[a("i",{staticClass:"material-icons"},[e._v("search")])])}];const __vue_inject_styles__$5=function(e){!e||e("data-v-7bfd9372_0",{source:`input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:28px;height:28px;background-color:var(--foreground);-webkit-mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search{background-color:var(--secondary-background);padding:0 1em;display:flex;align-items:center;border:1px solid transparent;transition:border .2s ease-in-out;border-radius:15px;margin:10px 10px 20px 10px}#search .search__icon{width:2rem;height:2rem}#search .search__icon i{font-size:2rem;color:var(--foreground)}#search .search__icon i::selection{background:0 0}#search #searchbar{height:45px;padding-left:.5em;border:0;border-radius:0;background-color:var(--secondary-background);color:var(--foreground);font-size:1.2rem;font-family:'Open Sans';font-weight:300;margin-bottom:0}#search #searchbar:focus{outline:0}#search #searchbar::-webkit-search-cancel-button{appearance:none;width:28px;height:28px;background-color:var(--foreground);mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search #searchbar:-webkit-autofill,#search #searchbar:-webkit-autofill:active,#search #searchbar:-webkit-autofill:focus,#search #searchbar:-webkit-autofill:hover{box-shadow:0 0 0 45px var(--secondary-background) inset!important}#search:focus-within{border:1px solid var(--foreground)}`,map:void 0,media:void 0})},__vue_scope_id__$5=void 0,__vue_module_identifier__$5=void 0,__vue_is_functional_template__$5=!1;var TheSearchBar=normalizeComponent_1({render:__vue_render__$5,staticRenderFns:__vue_staticRenderFns__$5},__vue_inject_styles__$5,__vue_script__$4,__vue_scope_id__$5,__vue_is_functional_template__$5,__vue_module_identifier__$5,browser,void 0),__vue_render__$6=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("button",{staticClass:"btn-primary border-transparent border-solid flex items-center justify-center p-1 m-0 w-16 h-16 rounded-full z-10",on:{click:function(i){return e.$router.back()}}},[a("i",{staticClass:"material-icons mirrored text-4xl text-white"},[e._v("forward")])])},__vue_staticRenderFns__$6=[];const __vue_inject_styles__$6=function(e){!e||e("data-v-5753fbea_0",{source:"button[data-v-5753fbea]{transition:background .2s ease-in-out}",map:void 0,media:void 0})},__vue_scope_id__$6="data-v-5753fbea",__vue_module_identifier__$6=void 0,__vue_is_functional_template__$6=!1;var BackButton=normalizeComponent_1({render:__vue_render__$6,staticRenderFns:__vue_staticRenderFns__$6},__vue_inject_styles__$6,{},__vue_scope_id__$6,__vue_is_functional_template__$6,__vue_module_identifier__$6,browser,void 0),script$5={components:{BackButton},data:()=>({performScrolledSearch:!1}),computed:{showBackButton(){return["Tracklist","Artist","Album","Playlist","Spotify Playlist"].indexOf(this.$route.name)!==-1}},mounted(){this.$router.beforeEach((e,n,a)=>{this.$refs.content.scrollTo(0,0),a()})},methods:{handleContentScroll:debounce(async function(){this.$refs.content.scrollTop+this.$refs.content.clientHeight=1},allFailed(){let e=!1;return this.queueItem.status==="download finished"&&(e=this.queueItem.failed===this.queueItem.size),e},finishedWithFails(){return this.queueItem.status==="download finished"&&this.hasFails},isDeterminateStatus(){return possibleStates.indexOf(this.queueItem.status)!==-1},barClass(){return{converting:this.queueItem.status==="converting",indeterminate:!this.isDeterminateStatus,determinate:this.isDeterminateStatus}},barStyle(){let e=0,n="var(--primary-color)";return this.hasFails?n="hsl(33, 100%, 47%)":n="hsl(150, 76%, 34%)",this.allFailed&&(n="hsl(360, 100%, 35%)"),this.queueItem.status==="download finished"&&(e=100),this.queueItem.status==="downloading"&&(e=this.queueItem.progress),this.queueItem.status==="converting"&&(e=100-this.queueItem.conversion,n="hsl(46, 100%, 50%)"),{width:`${e}%`,backgroundColor:n}},resultIconText(){let e="delete_forever";return this.queueItem.status==="download finished"&&(this.hasFails?this.queueItem.failed>=this.queueItem.size?e="error":e="warning":e="done"),e}},methods:{onResultIconClick(){this.isDeterminateStatus?(this.finishedWithFails&&this.$emit("show-errors",this.queueItem),this.queueItem.status==="downloading"&&(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))):(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))}}};const __vue_script__$6=script$6;var __vue_render__$8=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"download-object"},[a("div",{staticClass:"download-info"},[a("img",{staticClass:"rounded coverart",attrs:{width:"75px",src:e.queueItem.cover,alt:"Cover "+e.queueItem.title}}),e._v(" "),a("div",{staticClass:"download-info-data"},[a("span",{staticClass:"download-line"},[e._v(e._s(e.queueItem.title))]),e._v(" "),a("span",{staticClass:"download-slim-separator"},[e._v(" - ")]),e._v(" "),a("span",[e._v(e._s(e.queueItem.artist))])]),e._v(" "),a("div",{staticClass:"download-info-status",staticStyle:{"text-align":"center"}},[a("span",{staticClass:"download-line"},[e._v(" "+e._s(e.queueItem.downloaded+e.queueItem.failed)+"/"+e._s(e.queueItem.size)+" ")]),e._v(" "),e.hasFails?a("span",{staticClass:"flex items-center",class:{clickable:e.finishedWithFails},staticStyle:{"justify-content":"center"},on:{click:function(i){e.finishedWithFails&&e.$emit("show-errors",e.queueItem)}}},[e._v(` + `)]),e._v(" "),n("div",{staticClass:"relative flex items-center w-full justify-evenly",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_togglers"}},e._l(e.THEMES,function(i){return n("div",{key:i,staticClass:"w-6 h-6 border rounded-full cursor-pointer theme_toggler border-grayscale-500 gap",class:[{"theme_toggler--active":e.currentTheme===i},"theme_toggler--"+i],on:{click:function(r){e.currentTheme=i}}})}),0)])],2)},__vue_staticRenderFns__$4=[];const __vue_inject_styles__$4=function(e){!e||e("data-v-0270c8a8_0",{source:".deemix-icon-container[data-v-0270c8a8]{display:grid;place-content:center}.slim-sidebar .deemix-icon-container[data-v-0270c8a8]{margin:.5rem 0}.slim-sidebar .deemix-icon-container[data-v-0270c8a8] svg{height:30px}.deemix-icon-container[data-v-0270c8a8] svg{height:75px}#update-notification[data-v-0270c8a8]{top:12px;left:30px}.theme_toggler[data-v-0270c8a8]{transition:border .2s ease-in-out}.theme_toggler--active[data-v-0270c8a8]{border-width:3px}.theme_toggler--light[data-v-0270c8a8]{background-color:#fff}.theme_toggler--dark[data-v-0270c8a8]{background-color:#141414}.theme_toggler--purple[data-v-0270c8a8]{background:#460eaf}",map:void 0,media:void 0})},__vue_scope_id__$4="data-v-0270c8a8",__vue_module_identifier__$4=void 0,__vue_is_functional_template__$4=!1;var TheSidebar=normalizeComponent_1({render:__vue_render__$4,staticRenderFns:__vue_staticRenderFns__$4},__vue_inject_styles__$4,__vue_script__$3,__vue_scope_id__$4,__vue_is_functional_template__$4,__vue_module_identifier__$4,browser,void 0),script$4=defineComponent({setup(){return{lastTextSearch:ref$2("")}},created(){const e=n=>{n.keyCode===70&&n.ctrlKey&&(n.preventDefault(),this.$refs.searchbar.focus())},a=n=>{!(n.key=="Backspace"&&n.ctrlKey&&n.shiftKey)||(this.$refs.searchbar.value="",this.$refs.searchbar.focus())};document.addEventListener("keydown",e),document.addEventListener("keyup",a),this.$on("hook:destroyed",()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",a)})},methods:{async performSearch(e){if(!(e.keyCode===13))return;let n=this.$refs.searchbar.value;if(n==="")return;let r=isValidURL(n),s=e.ctrlKey,o=this.$route.name==="Link Analyzer",l=this.$route.name==="Search",c=n===this.lastTextSearch;if(r){if(s){this.$root.$emit("ContextMenu:searchbar",n);return}if(o){socket.emit("analyzeLink",n);return}sendAddToQueue(n)}else{if(l&&c)return;this.lastTextSearch=n,await this.$router.push({name:"Search",query:{term:n}})}}}});const __vue_script__$4=script$4;var __vue_render__$5=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("header",{attrs:{id:"search","aria-label":"searchbar"}},[e._m(0),e._v(" "),n("input",{ref:"searchbar",staticClass:"w-full",attrs:{id:"searchbar",autocomplete:"off",type:"search",name:"searchbar",value:"",placeholder:e.$t("searchbar"),autofocus:""},on:{keyup:function(i){return e.performSearch(i)}}})])},__vue_staticRenderFns__$5=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"search__icon"},[n("i",{staticClass:"material-icons"},[e._v("search")])])}];const __vue_inject_styles__$5=function(e){!e||e("data-v-7bfd9372_0",{source:`input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:28px;height:28px;background-color:var(--foreground);-webkit-mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search{background-color:var(--secondary-background);padding:0 1em;display:flex;align-items:center;border:1px solid transparent;transition:border .2s ease-in-out;border-radius:15px;margin:10px 10px 20px 10px}#search .search__icon{width:2rem;height:2rem}#search .search__icon i{font-size:2rem;color:var(--foreground)}#search .search__icon i::selection{background:0 0}#search #searchbar{height:45px;padding-left:.5em;border:0;border-radius:0;background-color:var(--secondary-background);color:var(--foreground);font-size:1.2rem;font-family:'Open Sans';font-weight:300;margin-bottom:0}#search #searchbar:focus{outline:0}#search #searchbar::-webkit-search-cancel-button{appearance:none;width:28px;height:28px;background-color:var(--foreground);mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search #searchbar:-webkit-autofill,#search #searchbar:-webkit-autofill:active,#search #searchbar:-webkit-autofill:focus,#search #searchbar:-webkit-autofill:hover{box-shadow:0 0 0 45px var(--secondary-background) inset!important}#search:focus-within{border:1px solid var(--foreground)}`,map:void 0,media:void 0})},__vue_scope_id__$5=void 0,__vue_module_identifier__$5=void 0,__vue_is_functional_template__$5=!1;var TheSearchBar=normalizeComponent_1({render:__vue_render__$5,staticRenderFns:__vue_staticRenderFns__$5},__vue_inject_styles__$5,__vue_script__$4,__vue_scope_id__$5,__vue_is_functional_template__$5,__vue_module_identifier__$5,browser,void 0),__vue_render__$6=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("button",{staticClass:"btn-primary border-transparent border-solid flex items-center justify-center p-1 m-0 w-16 h-16 rounded-full z-10",on:{click:function(i){return e.$router.back()}}},[n("i",{staticClass:"material-icons mirrored text-4xl text-white"},[e._v("forward")])])},__vue_staticRenderFns__$6=[];const __vue_inject_styles__$6=function(e){!e||e("data-v-5753fbea_0",{source:"button[data-v-5753fbea]{transition:background .2s ease-in-out}",map:void 0,media:void 0})},__vue_scope_id__$6="data-v-5753fbea",__vue_module_identifier__$6=void 0,__vue_is_functional_template__$6=!1;var BackButton=normalizeComponent_1({render:__vue_render__$6,staticRenderFns:__vue_staticRenderFns__$6},__vue_inject_styles__$6,{},__vue_scope_id__$6,__vue_is_functional_template__$6,__vue_module_identifier__$6,browser,void 0),script$5={components:{BackButton},data:()=>({performScrolledSearch:!1}),computed:{showBackButton(){return["Tracklist","Artist","Album","Playlist","Spotify Playlist"].indexOf(this.$route.name)!==-1}},mounted(){this.$router.beforeEach((e,a,n)=>{this.$refs.content.scrollTo(0,0),n()})},methods:{handleContentScroll:debounce(async function(){this.$refs.content.scrollTop+this.$refs.content.clientHeight=1},allFailed(){let e=!1;return this.queueItem.status==="download finished"&&(e=this.queueItem.failed===this.queueItem.size),e},finishedWithFails(){return this.queueItem.status==="download finished"&&this.hasFails},isDeterminateStatus(){return possibleStates.indexOf(this.queueItem.status)!==-1},barClass(){return{converting:this.queueItem.status==="converting",indeterminate:!this.isDeterminateStatus,determinate:this.isDeterminateStatus}},barStyle(){let e=0,a="var(--primary-color)";return this.hasFails?a="hsl(33, 100%, 47%)":a="hsl(150, 76%, 34%)",this.allFailed&&(a="hsl(360, 100%, 35%)"),this.queueItem.status==="download finished"&&(e=100),this.queueItem.status==="downloading"&&(e=this.queueItem.progress),this.queueItem.status==="converting"&&(e=100-this.queueItem.conversion,a="hsl(46, 100%, 50%)"),{width:`${e}%`,backgroundColor:a}},resultIconText(){let e="delete_forever";return this.queueItem.status==="download finished"&&(this.hasFails?this.queueItem.failed>=this.queueItem.size?e="error":e="warning":e="done"),e}},methods:{onResultIconClick(){this.isDeterminateStatus?(this.finishedWithFails&&this.$emit("show-errors",this.queueItem),this.queueItem.status==="downloading"&&(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))):(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))}}};const __vue_script__$6=script$6;var __vue_render__$8=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"download-object"},[n("div",{staticClass:"download-info"},[n("img",{staticClass:"rounded coverart",attrs:{width:"75px",src:e.queueItem.cover,alt:"Cover "+e.queueItem.title}}),e._v(" "),n("div",{staticClass:"download-info-data"},[n("span",{staticClass:"download-line"},[e._v(e._s(e.queueItem.title))]),e._v(" "),n("span",{staticClass:"download-slim-separator"},[e._v(" - ")]),e._v(" "),n("span",[e._v(e._s(e.queueItem.artist))])]),e._v(" "),n("div",{staticClass:"download-info-status",staticStyle:{"text-align":"center"}},[n("span",{staticClass:"download-line"},[e._v(" "+e._s(e.queueItem.downloaded+e.queueItem.failed)+"/"+e._s(e.queueItem.size)+" ")]),e._v(" "),e.hasFails?n("span",{staticClass:"flex items-center",class:{clickable:e.finishedWithFails},staticStyle:{"justify-content":"center"},on:{click:function(i){e.finishedWithFails&&e.$emit("show-errors",e.queueItem)}}},[e._v(` `+e._s(e.queueItem.failed)+` - `),a("i",{staticClass:"material-icons"},[e._v("error_outline")])]):e._e()])]),e._v(" "),a("div",{staticClass:"download-bar"},[a("div",{staticClass:"progress"},[a("div",{class:e.barClass,style:e.barStyle})]),e._v(" "),e.isLoading?a("div",{staticClass:"circle-loader"}):a("i",{staticClass:"material-icons queue_icon",class:{clickable:e.finishedWithFails||e.resultIconText==="delete_forever"},on:{click:e.onResultIconClick}},[e._v(` + `),n("i",{staticClass:"material-icons"},[e._v("error_outline")])]):e._e()])]),e._v(" "),n("div",{staticClass:"download-bar"},[n("div",{staticClass:"progress"},[n("div",{class:e.barClass,style:e.barStyle})]),e._v(" "),e.isLoading?n("div",{staticClass:"circle-loader"}):n("i",{staticClass:"material-icons queue_icon",class:{clickable:e.finishedWithFails||e.resultIconText==="delete_forever"},on:{click:e.onResultIconClick}},[e._v(` `+e._s(e.resultIconText)+` - `)])])])},__vue_staticRenderFns__$8=[];const __vue_inject_styles__$8=function(e){!e||e("data-v-571dc33c_0",{source:".download-object{padding-bottom:8px}.download-object .download-info{display:flex;align-items:center}.download-object .download-info img{height:75px;flex-shrink:0;flex:0 0 75px}.download-object .download-info .download-line{display:block}.download-object .download-info .download-slim-separator{display:none}.download-object .download-info-data{flex:1 50%;margin-left:8px;overflow:hidden}.download-object .download-info-status{flex:1 15%;margin-left:8px;width:80px}.download-object>.download-bar{display:flex;align-items:center;height:24px}.download-object>.download-bar>.queue_icon{cursor:default;margin-left:8px}.download-object>.download-bar>.progress{margin:0}#download_list:not(.slim) .download-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#download_list.slim>.download-object .download-info{display:block}#download_list.slim>.download-object .download-info img{display:none}#download_list.slim>.download-object .download-info .download-line{display:inline-block}#download_list.slim>.download-object .download-info .download-slim-separator{display:inline-block}#download_list.slim>.download-object .download-info-data{width:calc(80% - 16px);display:inline-block;padding-left:0}#download_list.slim>.download-object .download-info-status{width:20%;display:inline-block;float:right}.progress{position:relative;height:4px;display:block;width:100%;background-color:var(--secondary-background);border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:var(--primary-color);transition:width .3s linear}.progress .converting{background-color:var(--secondary-color);transition:none!important}.progress .indeterminate{background-color:var(--primary-color)}.progress .indeterminate::before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate::after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}",map:void 0,media:void 0})},__vue_scope_id__$8=void 0,__vue_module_identifier__$8=void 0,__vue_is_functional_template__$8=!1;var QueueItem=normalizeComponent_1({render:__vue_render__$8,staticRenderFns:__vue_staticRenderFns__$8},__vue_inject_styles__$8,__vue_script__$6,__vue_scope_id__$8,__vue_is_functional_template__$8,__vue_module_identifier__$8,browser,void 0),commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function createCommonjsModule(e,n,a){return a={path:n,exports:{},require:function(i,r){return commonjsRequire(i,r??a.path)}},e(a,a.exports),a.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var toastify=createCommonjsModule(function(e){/*! + `)])])])},__vue_staticRenderFns__$8=[];const __vue_inject_styles__$8=function(e){!e||e("data-v-571dc33c_0",{source:".download-object{padding-bottom:8px}.download-object .download-info{display:flex;align-items:center}.download-object .download-info img{height:75px;flex-shrink:0;flex:0 0 75px}.download-object .download-info .download-line{display:block}.download-object .download-info .download-slim-separator{display:none}.download-object .download-info-data{flex:1 50%;margin-left:8px;overflow:hidden}.download-object .download-info-status{flex:1 15%;margin-left:8px;width:80px}.download-object>.download-bar{display:flex;align-items:center;height:24px}.download-object>.download-bar>.queue_icon{cursor:default;margin-left:8px}.download-object>.download-bar>.progress{margin:0}#download_list:not(.slim) .download-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#download_list.slim>.download-object .download-info{display:block}#download_list.slim>.download-object .download-info img{display:none}#download_list.slim>.download-object .download-info .download-line{display:inline-block}#download_list.slim>.download-object .download-info .download-slim-separator{display:inline-block}#download_list.slim>.download-object .download-info-data{width:calc(80% - 16px);display:inline-block;padding-left:0}#download_list.slim>.download-object .download-info-status{width:20%;display:inline-block;float:right}.progress{position:relative;height:4px;display:block;width:100%;background-color:var(--secondary-background);border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:var(--primary-color);transition:width .3s linear}.progress .converting{background-color:var(--secondary-color);transition:none!important}.progress .indeterminate{background-color:var(--primary-color)}.progress .indeterminate::before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate::after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}",map:void 0,media:void 0})},__vue_scope_id__$8=void 0,__vue_module_identifier__$8=void 0,__vue_is_functional_template__$8=!1;var QueueItem=normalizeComponent_1({render:__vue_render__$8,staticRenderFns:__vue_staticRenderFns__$8},__vue_inject_styles__$8,__vue_script__$6,__vue_scope_id__$8,__vue_is_functional_template__$8,__vue_module_identifier__$8,browser,void 0),commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function createCommonjsModule(e,a,n){return n={path:a,exports:{},require:function(i,r){return commonjsRequire(i,r??n.path)}},e(n,n.exports),n.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var toastify=createCommonjsModule(function(e){/*! * Toastify js 1.9.3 * https://github.com/apvarun/toastify-js * @license MIT licensed * * Copyright (C) 2018 Varun A P - */(function(n,a){e.exports?e.exports=a():n.Toastify=a()})(commonjsGlobal,function(n){var a=function(o){return new a.lib.init(o)},i="1.9.3";a.lib=a.prototype={toastify:i,constructor:a,init:function(o){return o||(o={}),this.options={},this.toastElement=null,this.options.text=o.text||"Hi there!",this.options.node=o.node,this.options.duration=o.duration===0?0:o.duration||3e3,this.options.selector=o.selector,this.options.callback=o.callback||function(){},this.options.destination=o.destination,this.options.newWindow=o.newWindow||!1,this.options.close=o.close||!1,this.options.gravity=o.gravity==="bottom"?"toastify-bottom":"toastify-top",this.options.positionLeft=o.positionLeft||!1,this.options.position=o.position||"",this.options.backgroundColor=o.backgroundColor,this.options.avatar=o.avatar||"",this.options.className=o.className||"",this.options.stopOnFocus=o.stopOnFocus===void 0?!0:o.stopOnFocus,this.options.onClick=o.onClick,this.options.offset=o.offset||{x:0,y:0},this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var o=document.createElement("div");if(o.className="toastify on "+this.options.className,this.options.position?o.className+=" toastify-"+this.options.position:this.options.positionLeft===!0?(o.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):o.className+=" toastify-right",o.className+=" "+this.options.gravity,this.options.backgroundColor&&(o.style.background=this.options.backgroundColor),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)o.appendChild(this.options.node);else if(o.innerHTML=this.options.text,this.options.avatar!==""){var l=document.createElement("img");l.src=this.options.avatar,l.className="toastify-avatar",this.options.position=="left"||this.options.positionLeft===!0?o.appendChild(l):o.insertAdjacentElement("afterbegin",l)}if(this.options.close===!0){var c=document.createElement("span");c.innerHTML="✖",c.className="toast-close",c.addEventListener("click",function(y){y.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var u=window.innerWidth>0?window.innerWidth:screen.width;(this.options.position=="left"||this.options.positionLeft===!0)&&u>360?o.insertAdjacentElement("afterbegin",c):o.appendChild(c)}if(this.options.stopOnFocus&&this.options.duration>0){var d=this;o.addEventListener("mouseover",function(y){window.clearTimeout(o.timeOutValue)}),o.addEventListener("mouseleave",function(){o.timeOutValue=window.setTimeout(function(){d.removeElement(o)},d.options.duration)})}if(typeof this.options.destination!="undefined"&&o.addEventListener("click",function(y){y.stopPropagation(),this.options.newWindow===!0?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),typeof this.options.onClick=="function"&&typeof this.options.destination=="undefined"&&o.addEventListener("click",function(y){y.stopPropagation(),this.options.onClick()}.bind(this)),typeof this.options.offset=="object"){var f=r("x",this.options),h=r("y",this.options),m=this.options.position=="left"?f:"-"+f,v=this.options.gravity=="toastify-top"?h:"-"+h;o.style.transform="translate("+m+","+v+")"}return o},showToast:function(){this.toastElement=this.buildToast();var o;if(typeof this.options.selector=="undefined"?o=document.body:o=document.getElementById(this.options.selector),!o)throw"Root element is not defined";return o.insertBefore(this.toastElement,o.firstChild),a.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(o){o.className=o.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),o.parentNode&&o.parentNode.removeChild(o),this.options.callback.call(o),a.reposition()}.bind(this),400)}},a.reposition=function(){for(var o={top:15,bottom:15},l={top:15,bottom:15},c={top:15,bottom:15},u=document.getElementsByClassName("toastify"),d,f=0;f0?window.innerWidth:screen.width;v<=360?(u[f].style[d]=c[d]+"px",c[d]+=h+m):s(u[f],"toastify-left")===!0?(u[f].style[d]=o[d]+"px",o[d]+=h+m):(u[f].style[d]=l[d]+"px",l[d]+=h+m)}return this};function r(o,l){return l.offset[o]?isNaN(l.offset[o])?l.offset[o]:l.offset[o]+"px":"0px"}function s(o,l){return!o||typeof l!="string"?!1:!!(o.className&&o.className.trim().split(/\s+/gi).indexOf(l)>-1)}return a.lib.init.prototype=a.lib,a})}),css_248z$9=`/*! + */(function(a,n){e.exports?e.exports=n():a.Toastify=n()})(commonjsGlobal,function(a){var n=function(o){return new n.lib.init(o)},i="1.9.3";n.lib=n.prototype={toastify:i,constructor:n,init:function(o){return o||(o={}),this.options={},this.toastElement=null,this.options.text=o.text||"Hi there!",this.options.node=o.node,this.options.duration=o.duration===0?0:o.duration||3e3,this.options.selector=o.selector,this.options.callback=o.callback||function(){},this.options.destination=o.destination,this.options.newWindow=o.newWindow||!1,this.options.close=o.close||!1,this.options.gravity=o.gravity==="bottom"?"toastify-bottom":"toastify-top",this.options.positionLeft=o.positionLeft||!1,this.options.position=o.position||"",this.options.backgroundColor=o.backgroundColor,this.options.avatar=o.avatar||"",this.options.className=o.className||"",this.options.stopOnFocus=o.stopOnFocus===void 0?!0:o.stopOnFocus,this.options.onClick=o.onClick,this.options.offset=o.offset||{x:0,y:0},this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var o=document.createElement("div");if(o.className="toastify on "+this.options.className,this.options.position?o.className+=" toastify-"+this.options.position:this.options.positionLeft===!0?(o.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):o.className+=" toastify-right",o.className+=" "+this.options.gravity,this.options.backgroundColor&&(o.style.background=this.options.backgroundColor),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)o.appendChild(this.options.node);else if(o.innerHTML=this.options.text,this.options.avatar!==""){var l=document.createElement("img");l.src=this.options.avatar,l.className="toastify-avatar",this.options.position=="left"||this.options.positionLeft===!0?o.appendChild(l):o.insertAdjacentElement("afterbegin",l)}if(this.options.close===!0){var c=document.createElement("span");c.innerHTML="✖",c.className="toast-close",c.addEventListener("click",function(y){y.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var u=window.innerWidth>0?window.innerWidth:screen.width;(this.options.position=="left"||this.options.positionLeft===!0)&&u>360?o.insertAdjacentElement("afterbegin",c):o.appendChild(c)}if(this.options.stopOnFocus&&this.options.duration>0){var d=this;o.addEventListener("mouseover",function(y){window.clearTimeout(o.timeOutValue)}),o.addEventListener("mouseleave",function(){o.timeOutValue=window.setTimeout(function(){d.removeElement(o)},d.options.duration)})}if(typeof this.options.destination!="undefined"&&o.addEventListener("click",function(y){y.stopPropagation(),this.options.newWindow===!0?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),typeof this.options.onClick=="function"&&typeof this.options.destination=="undefined"&&o.addEventListener("click",function(y){y.stopPropagation(),this.options.onClick()}.bind(this)),typeof this.options.offset=="object"){var f=r("x",this.options),h=r("y",this.options),m=this.options.position=="left"?f:"-"+f,v=this.options.gravity=="toastify-top"?h:"-"+h;o.style.transform="translate("+m+","+v+")"}return o},showToast:function(){this.toastElement=this.buildToast();var o;if(typeof this.options.selector=="undefined"?o=document.body:o=document.getElementById(this.options.selector),!o)throw"Root element is not defined";return o.insertBefore(this.toastElement,o.firstChild),n.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(o){o.className=o.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),o.parentNode&&o.parentNode.removeChild(o),this.options.callback.call(o),n.reposition()}.bind(this),400)}},n.reposition=function(){for(var o={top:15,bottom:15},l={top:15,bottom:15},c={top:15,bottom:15},u=document.getElementsByClassName("toastify"),d,f=0;f0?window.innerWidth:screen.width;v<=360?(u[f].style[d]=c[d]+"px",c[d]+=h+m):s(u[f],"toastify-left")===!0?(u[f].style[d]=o[d]+"px",o[d]+=h+m):(u[f].style[d]=l[d]+"px",l[d]+=h+m)}return this};function r(o,l){return l.offset[o]?isNaN(l.offset[o])?l.offset[o]:l.offset[o]+"px":"0px"}function s(o,l){return!o||typeof l!="string"?!1:!!(o.className&&o.className.trim().split(/\s+/gi).indexOf(l)>-1)}return n.lib.init.prototype=n.lib,n})}),css_248z$9=`/*! * Toastify js 1.9.3 * https://github.com/apvarun/toastify-js * @license MIT licensed @@ -2886,209 +2886,133 @@ PERFORMANCE OF THIS SOFTWARE. .toastify .circle-loader { border-bottom-color: var(--toast-secondary); } -`;styleInject(css_248z$a);const sharedOptions={gravity:"bottom",position:"left"};let toastsWithId={};const toast=function(e,n=null,a=!0,i=null){if(toastsWithId[i]){let r=toastsWithId[i],s=document.querySelectorAll(`div.toastify[toast_id=${i}]`);e&&s.forEach(o=>{o.querySelectorAll(".toast-message").forEach(c=>{c.innerHTML=e})}),n&&(n=="loading"?n='
':n=`${n}`,s.forEach(o=>{o.querySelectorAll(".toast-icon").forEach(c=>{c.innerHTML=n})})),a!==null&&a&&(s.forEach(o=>{o.classList.add("dismissable")}),setTimeout(()=>{r.hideToast(),delete toastsWithId[i]},3e3))}else{n==null?n="":n=="loading"?n='
':n=`${n}`;let r=toastify({...sharedOptions,text:`${n}${e}`,duration:a?3e3:0,className:a?"dismissable":"",onClick:function(){let s=!0;if(i){let o=document.querySelector(`div.toastify[toast_id=${i}]`).classList;o&&(s=Array.prototype.slice.call(o).indexOf("dismissable")!=-1)}r&&s&&(r.hideToast(),i&&delete toastsWithId[i])},offset:{x:localStorage.getItem("slimSidebar")==="true"?"3rem":"14rem"}}).showToast();i&&(toastsWithId[i]=r,r.toastElement.setAttribute("toast_id",i))}};socket.on("toast",e=>{const{msg:n,icon:a,dismiss:i,id:r}=e;toast(n,a||null,i!==void 0?i:!0,r||null)});const tabMinWidth=250,tabMaxWidth=500;var script$7={components:{QueueItem},data(){return{cachedTabWidth:parseInt(localStorage.getItem("downloadTabWidth"))||300,queue:[],queueList:{},queueComplete:[],isExpanded:localStorage.getItem("downloadTabOpen")==="true"}},computed:{...mapGetters({clientMode:"getClientMode",isSlim:"getSlimDownloads"})},created(){const e=n=>{!(n.ctrlKey&&n.key==="b")||this.toggleDownloadTab()};document.addEventListener("keyup",e),this.$on("hook:destroyed",()=>{document.removeEventListener("keyup",e)})},mounted(){socket.on("startDownload",this.startDownload),socket.on("startConversion",this.startConversion),socket.on("init_downloadQueue",this.initQueue),socket.on("addedToQueue",this.addToQueue),socket.on("updateQueue",this.updateQueue),socket.on("removedFromQueue",this.removeFromQueue),socket.on("finishDownload",this.finishDownload),socket.on("removedAllDownloads",this.removeAllDownloads),socket.on("removedFinishedDownloads",this.removedFinishedDownloads),localStorage.getItem("slimDownloads")==="true"&&this.$refs.list.classList.add("slim"),this.isExpanded&&this.setTabWidth(this.cachedTabWidth),document.addEventListener("mouseup",()=>{document.removeEventListener("mousemove",this.handleDrag)}),window.addEventListener("beforeunload",()=>{localStorage.setItem("downloadTabWidth",this.cachedTabWidth)})},methods:{...mapActions(["setErrors"]),onRemoveItem(e){socket.emit("removeFromQueue",e)},setTabWidth(e){e===void 0?(this.$refs.container.style.width="",this.$refs.list.style.width=""):(this.$refs.container.style.width=e+"px",this.$refs.list.style.width=e+"px")},initQueue(e){const{queue:n,queueComplete:a,currentItem:i,queueList:r,restored:s}=e;a.length&&a.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),i&&(r[i].silent=!0,this.addToQueue(r[i],!0)),n.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),s&&(toast(this.$t("toasts.queueRestored"),"done",!0,"restoring_queue"),socket.emit("queueRestored"))},addToQueue(e,n=!1){if(Array.isArray(e))if(e.length>1){e.forEach((r,s)=>{r.silent=!0,this.addToQueue(r)}),toast(this.$t("toasts.addedMoreToQueue",{n:e.length}),"playlist_add_check");return}else e=e[0];if(this.$set(e,"current",n),this.$set(this.queueList,e.uuid,e),e.downloaded+e.failed==e.size){const r=this.queueComplete.indexOf(e.uuid)==-1;this.$set(this.queueList[e.uuid],"status","download finished"),r&&this.queueComplete.push(e.uuid)}else this.queue.indexOf(e.uuid)==-1&&this.queue.push(e.uuid);(e.progress>0&&e.progress<100||n)&&this.startDownload(e.uuid),e.silent||toast(this.$t("toasts.addedToQueue",{item:e.title}),"playlist_add_check")},updateQueue(e){const{uuid:n,downloaded:a,failed:i,progress:r,conversion:s,error:o,data:l,errid:c}=e;n&&this.queue.indexOf(n)>-1&&(a&&this.queueList[n].downloaded++,i&&(this.queueList[n].failed++,this.queueList[n].errors.push({message:o,data:l,errid:c})),r&&(this.queueList[n].progress=r),s&&(this.queueList[n].conversion=s))},removeFromQueue(e){let n=this.queue.indexOf(e);n>-1&&(this.$delete(this.queue,n),this.$delete(this.queueList,e))},removeAllDownloads(e){if(this.queueComplete=[],!e)this.queue=[],this.queueList={};else{this.queue=[e];let n=this.queueList[e];this.queueList={},this.queueList[e]=n}},removedFinishedDownloads(){this.queueComplete.forEach(e=>{this.$delete(this.queueList,e)}),this.queueComplete=[]},toggleDownloadTab(){this.setTabWidth(),this.$refs.container.style.transition="all 250ms ease-in-out",this.isExpanded=!this.isExpanded,this.isExpanded&&this.setTabWidth(this.cachedTabWidth),localStorage.setItem("downloadTabOpen",this.isExpanded)},cleanQueue(){socket.emit("removeFinishedDownloads")},cancelQueue(){socket.emit("cancelAllDownloads")},openDownloadsFolder(){socket.emit("openDownloadsFolder")},handleDrag(e){let n=window.innerWidth-e.pageX+2;ntabMaxWidth&&(n=tabMaxWidth),this.cachedTabWidth=n,this.setTabWidth(n)},startDrag(){document.addEventListener("mousemove",this.handleDrag)},startDownload(e){this.$set(this.queueList[e],"status","downloading")},finishDownload(e){if(!(this.queue.indexOf(e)>-1))return;this.$set(this.queueList[e],"status","download finished"),toast(this.$t("toasts.finishDownload",{item:this.queueList[e].title}),"done");let a=this.queue.indexOf(e);a>-1&&(this.queue.splice(a,1),this.queueComplete.push(e)),this.queue.length<=0&&toast(this.$t("toasts.allDownloaded"),"done_all")},startConversion(e){this.$set(this.queueList[e],"status","converting"),this.$set(this.queueList[e],"conversion",0)},async showErrorsTab(e){await this.setErrors(e),this.$router.push({name:"Errors"})}}};const __vue_script__$7=script$7;var __vue_render__$9=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",{ref:"container",staticClass:"block h-screen bg-panels-bg text-foreground",class:{"tab-hidden":!e.isExpanded,"w-8":!e.isExpanded},attrs:{id:"download_tab_container","data-label":e.$t("downloads"),"aria-label":"downloads"},on:{transitionend:function(i){e.$refs.container.style.transition=""}}},[a("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],staticClass:"absolute w-4 h-full bg-grayscale-200",staticStyle:{cursor:"ew-resize"},on:{mousedown:function(i){return i.preventDefault(),e.startDrag(i)}}}),e._v(" "),a("i",{ref:"toggler",staticClass:"m-1 text-2xl cursor-pointer material-icons",class:{"ml-1":!e.isExpanded,"ml-5":e.isExpanded},attrs:{id:"toggle_download_tab",title:e.$t("globals.toggle_download_tab_hint")},on:{click:function(i){return i.preventDefault(),e.toggleDownloadTab(i)}}}),e._v(" "),a("div",{staticClass:"absolute top-0 right-0 transition-all duration-200 ease-in-out",class:{"opacity-0 invisible":!e.isExpanded,"opacity-100 visible":e.isExpanded}},[e.clientMode?a("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.open_downloads_folder")},on:{click:e.openDownloadsFolder}},[e._v(` +`;styleInject(css_248z$a);const sharedOptions={gravity:"bottom",position:"left"};let toastsWithId={};const toast=function(e,a=null,n=!0,i=null){if(toastsWithId[i]){let r=toastsWithId[i],s=document.querySelectorAll(`div.toastify[toast_id=${i}]`);e&&s.forEach(o=>{o.querySelectorAll(".toast-message").forEach(c=>{c.innerHTML=e})}),a&&(a=="loading"?a='
':a=`${a}`,s.forEach(o=>{o.querySelectorAll(".toast-icon").forEach(c=>{c.innerHTML=a})})),n!==null&&n&&(s.forEach(o=>{o.classList.add("dismissable")}),setTimeout(()=>{r.hideToast(),delete toastsWithId[i]},3e3))}else{a==null?a="":a=="loading"?a='
':a=`${a}`;let r=toastify({...sharedOptions,text:`${a}${e}`,duration:n?3e3:0,className:n?"dismissable":"",onClick:function(){let s=!0;if(i){let o=document.querySelector(`div.toastify[toast_id=${i}]`).classList;o&&(s=Array.prototype.slice.call(o).indexOf("dismissable")!=-1)}r&&s&&(r.hideToast(),i&&delete toastsWithId[i])},offset:{x:localStorage.getItem("slimSidebar")==="true"?"3rem":"14rem"}}).showToast();i&&(toastsWithId[i]=r,r.toastElement.setAttribute("toast_id",i))}};socket.on("toast",e=>{const{msg:a,icon:n,dismiss:i,id:r}=e;toast(a,n||null,i!==void 0?i:!0,r||null)});const tabMinWidth=250,tabMaxWidth=500;var script$7={components:{QueueItem},data(){return{cachedTabWidth:parseInt(localStorage.getItem("downloadTabWidth"))||300,queue:[],queueList:{},queueComplete:[],isExpanded:localStorage.getItem("downloadTabOpen")==="true"}},computed:{...mapGetters({clientMode:"getClientMode",isSlim:"getSlimDownloads"})},created(){const e=a=>{!(a.ctrlKey&&a.key==="b")||this.toggleDownloadTab()};document.addEventListener("keyup",e),this.$on("hook:destroyed",()=>{document.removeEventListener("keyup",e)})},mounted(){socket.on("startDownload",this.startDownload),socket.on("startConversion",this.startConversion),socket.on("init_downloadQueue",this.initQueue),socket.on("addedToQueue",this.addToQueue),socket.on("updateQueue",this.updateQueue),socket.on("removedFromQueue",this.removeFromQueue),socket.on("finishDownload",this.finishDownload),socket.on("removedAllDownloads",this.removeAllDownloads),socket.on("removedFinishedDownloads",this.removedFinishedDownloads),localStorage.getItem("slimDownloads")==="true"&&this.$refs.list.classList.add("slim"),this.isExpanded&&this.setTabWidth(this.cachedTabWidth),document.addEventListener("mouseup",()=>{document.removeEventListener("mousemove",this.handleDrag)}),window.addEventListener("beforeunload",()=>{localStorage.setItem("downloadTabWidth",this.cachedTabWidth)})},methods:{...mapActions(["setErrors"]),onRemoveItem(e){socket.emit("removeFromQueue",e)},setTabWidth(e){e===void 0?(this.$refs.container.style.width="",this.$refs.list.style.width=""):(this.$refs.container.style.width=e+"px",this.$refs.list.style.width=e+"px")},initQueue(e){const{queue:a,queueComplete:n,currentItem:i,queueList:r,restored:s}=e;n.length&&n.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),i&&(r[i].silent=!0,this.addToQueue(r[i],!0)),a.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),s&&(toast(this.$t("toasts.queueRestored"),"done",!0,"restoring_queue"),socket.emit("queueRestored"))},addToQueue(e,a=!1){if(Array.isArray(e))if(e.length>1){e.forEach((r,s)=>{r.silent=!0,this.addToQueue(r)}),toast(this.$t("toasts.addedMoreToQueue",{n:e.length}),"playlist_add_check");return}else e=e[0];if(this.$set(e,"current",a),this.$set(this.queueList,e.uuid,e),e.downloaded+e.failed==e.size){const r=this.queueComplete.indexOf(e.uuid)==-1;this.$set(this.queueList[e.uuid],"status","download finished"),r&&this.queueComplete.push(e.uuid)}else this.queue.indexOf(e.uuid)==-1&&this.queue.push(e.uuid);(e.progress>0&&e.progress<100||a)&&this.startDownload(e.uuid),e.silent||toast(this.$t("toasts.addedToQueue",{item:e.title}),"playlist_add_check")},updateQueue(e){const{uuid:a,downloaded:n,failed:i,progress:r,conversion:s,error:o,data:l,errid:c}=e;a&&this.queue.indexOf(a)>-1&&(n&&this.queueList[a].downloaded++,i&&(this.queueList[a].failed++,this.queueList[a].errors.push({message:o,data:l,errid:c})),r&&(this.queueList[a].progress=r),s&&(this.queueList[a].conversion=s))},removeFromQueue(e){let a=this.queue.indexOf(e);a>-1&&(this.$delete(this.queue,a),this.$delete(this.queueList,e))},removeAllDownloads(e){if(this.queueComplete=[],!e)this.queue=[],this.queueList={};else{this.queue=[e];let a=this.queueList[e];this.queueList={},this.queueList[e]=a}},removedFinishedDownloads(){this.queueComplete.forEach(e=>{this.$delete(this.queueList,e)}),this.queueComplete=[]},toggleDownloadTab(){this.setTabWidth(),this.$refs.container.style.transition="all 250ms ease-in-out",this.isExpanded=!this.isExpanded,this.isExpanded&&this.setTabWidth(this.cachedTabWidth),localStorage.setItem("downloadTabOpen",this.isExpanded)},cleanQueue(){socket.emit("removeFinishedDownloads")},cancelQueue(){socket.emit("cancelAllDownloads")},openDownloadsFolder(){socket.emit("openDownloadsFolder")},handleDrag(e){let a=window.innerWidth-e.pageX+2;atabMaxWidth&&(a=tabMaxWidth),this.cachedTabWidth=a,this.setTabWidth(a)},startDrag(){document.addEventListener("mousemove",this.handleDrag)},startDownload(e){this.$set(this.queueList[e],"status","downloading")},finishDownload(e){if(!(this.queue.indexOf(e)>-1))return;this.$set(this.queueList[e],"status","download finished"),toast(this.$t("toasts.finishDownload",{item:this.queueList[e].title}),"done");let n=this.queue.indexOf(e);n>-1&&(this.queue.splice(n,1),this.queueComplete.push(e)),this.queue.length<=0&&toast(this.$t("toasts.allDownloaded"),"done_all")},startConversion(e){this.$set(this.queueList[e],"status","converting"),this.$set(this.queueList[e],"conversion",0)},async showErrorsTab(e){await this.setErrors(e),this.$router.push({name:"Errors"})}}};const __vue_script__$7=script$7;var __vue_render__$9=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",{ref:"container",staticClass:"block h-screen bg-panels-bg text-foreground",class:{"tab-hidden":!e.isExpanded,"w-8":!e.isExpanded},attrs:{id:"download_tab_container","data-label":e.$t("downloads"),"aria-label":"downloads"},on:{transitionend:function(i){e.$refs.container.style.transition=""}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],staticClass:"absolute w-4 h-full bg-grayscale-200",staticStyle:{cursor:"ew-resize"},on:{mousedown:function(i){return i.preventDefault(),e.startDrag(i)}}}),e._v(" "),n("i",{ref:"toggler",staticClass:"m-1 text-2xl cursor-pointer material-icons",class:{"ml-1":!e.isExpanded,"ml-5":e.isExpanded},attrs:{id:"toggle_download_tab",title:e.$t("globals.toggle_download_tab_hint")},on:{click:function(i){return i.preventDefault(),e.toggleDownloadTab(i)}}}),e._v(" "),n("div",{staticClass:"absolute top-0 right-0 transition-all duration-200 ease-in-out",class:{"opacity-0 invisible":!e.isExpanded,"opacity-100 visible":e.isExpanded}},[e.clientMode?n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.open_downloads_folder")},on:{click:e.openDownloadsFolder}},[e._v(` folder_open - `)]):e._e(),e._v(" "),a("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.clean_queue_hint")},on:{click:e.cleanQueue}},[e._v(` + `)]):e._e(),e._v(" "),n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.clean_queue_hint")},on:{click:e.cleanQueue}},[e._v(` clear_all - `)]),e._v(" "),a("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.cancel_queue_hint")},on:{click:e.cancelQueue}},[e._v(` + `)]),e._v(" "),n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.cancel_queue_hint")},on:{click:e.cancelQueue}},[e._v(` delete_sweep - `)])]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],ref:"list",staticClass:"w-full pr-2",class:{slim:e.isSlim},attrs:{id:"download_list"}},e._l(e.queueList,function(i){return a("QueueItem",{key:i.uuid,attrs:{"queue-item":i},on:{"show-errors":e.showErrorsTab,"remove-item":e.onRemoveItem}})}),1)])},__vue_staticRenderFns__$9=[];const __vue_inject_styles__$9=function(e){!e||e("data-v-6e5215da_0",{source:"#toggle_download_tab[data-v-6e5215da]{width:25px;height:25px}#toggle_download_tab[data-v-6e5215da]::before{font-family:'Material Icons';font-style:normal;font-weight:400;content:'chevron_right'}#download_tab_container.tab-hidden #toggle_download_tab[data-v-6e5215da]::before{content:'chevron_left'}#download_tab_container.tab-hidden[data-v-6e5215da]::after{content:attr(data-label);display:flex;align-items:center;text-transform:capitalize;writing-mode:vertical-rl;line-height:2rem}#download_list[data-v-6e5215da]{height:calc(100% - 32px);padding-left:28px;overflow-y:scroll}#download_list[data-v-6e5215da]::-webkit-scrollbar{width:10px}#download_list[data-v-6e5215da]::-webkit-scrollbar-track{background:var(--panels-background)}#download_list[data-v-6e5215da]::-webkit-scrollbar-thumb{background:var(--panels-scroll);border-radius:4px;width:6px;padding:0 2px}",map:void 0,media:void 0})},__vue_scope_id__$9="data-v-6e5215da",__vue_module_identifier__$9=void 0,__vue_is_functional_template__$9=!1;var TheDownloadBar=normalizeComponent_1({render:__vue_render__$9,staticRenderFns:__vue_staticRenderFns__$9},__vue_inject_styles__$9,__vue_script__$7,__vue_scope_id__$9,__vue_is_functional_template__$9,__vue_module_identifier__$9,browser,void 0),script$8={data(){return{isSocketConnected:!1}},components:{TheSidebar,TheSearchBar,TheDownloadBar,TheTrackPreview,TheQualityModal,BaseLoadingPlaceholder,TheContextMenu,TheContent},mounted(){socket.addEventListener("open",e=>{console.log("Connected to WebSocket"),this.isSocketConnected=!0})}};const __vue_script__$8=script$8;var __vue_render__$a=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{attrs:{id:"app"}},[a("div",{staticClass:"app-container"},[a("TheSidebar"),e._v(" "),a("div",{staticClass:"content-container"},[a("TheSearchBar"),e._v(" "),a("TheContent")],1),e._v(" "),a("TheDownloadBar")],1),e._v(" "),a("BaseLoadingPlaceholder",{attrs:{text:"Connecting to local server...",hidden:e.isSocketConnected,additionalClasses:"absolute top-0 left-0 w-screen h-screen bg-black bg-opacity-50 z-50"}}),e._v(" "),a("TheTrackPreview"),e._v(" "),a("TheQualityModal"),e._v(" "),a("TheContextMenu")],1)},__vue_staticRenderFns__$a=[];const __vue_inject_styles__$a=function(e){!e||e("data-v-01b764b9_0",{source:".app-container{display:flex}.content-container{width:100%;display:flex;flex-direction:column}",map:void 0,media:void 0})},__vue_scope_id__$a=void 0,__vue_module_identifier__$a=void 0,__vue_is_functional_template__$a=!1;var App=normalizeComponent_1({render:__vue_render__$a,staticRenderFns:__vue_staticRenderFns__$a},__vue_inject_styles__$a,__vue_script__$8,__vue_scope_id__$a,__vue_is_functional_template__$a,__vue_module_identifier__$a,browser,void 0);/*! + `)])]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],ref:"list",staticClass:"w-full pr-2",class:{slim:e.isSlim},attrs:{id:"download_list"}},e._l(e.queueList,function(i){return n("QueueItem",{key:i.uuid,attrs:{"queue-item":i},on:{"show-errors":e.showErrorsTab,"remove-item":e.onRemoveItem}})}),1)])},__vue_staticRenderFns__$9=[];const __vue_inject_styles__$9=function(e){!e||e("data-v-6e5215da_0",{source:"#toggle_download_tab[data-v-6e5215da]{width:25px;height:25px}#toggle_download_tab[data-v-6e5215da]::before{font-family:'Material Icons';font-style:normal;font-weight:400;content:'chevron_right'}#download_tab_container.tab-hidden #toggle_download_tab[data-v-6e5215da]::before{content:'chevron_left'}#download_tab_container.tab-hidden[data-v-6e5215da]::after{content:attr(data-label);display:flex;align-items:center;text-transform:capitalize;writing-mode:vertical-rl;line-height:2rem}#download_list[data-v-6e5215da]{height:calc(100% - 32px);padding-left:28px;overflow-y:scroll}#download_list[data-v-6e5215da]::-webkit-scrollbar{width:10px}#download_list[data-v-6e5215da]::-webkit-scrollbar-track{background:var(--panels-background)}#download_list[data-v-6e5215da]::-webkit-scrollbar-thumb{background:var(--panels-scroll);border-radius:4px;width:6px;padding:0 2px}",map:void 0,media:void 0})},__vue_scope_id__$9="data-v-6e5215da",__vue_module_identifier__$9=void 0,__vue_is_functional_template__$9=!1;var TheDownloadBar=normalizeComponent_1({render:__vue_render__$9,staticRenderFns:__vue_staticRenderFns__$9},__vue_inject_styles__$9,__vue_script__$7,__vue_scope_id__$9,__vue_is_functional_template__$9,__vue_module_identifier__$9,browser,void 0),script$8={data(){return{isSocketConnected:!1}},components:{TheSidebar,TheSearchBar,TheDownloadBar,TheTrackPreview,TheQualityModal,BaseLoadingPlaceholder,TheContextMenu,TheContent},mounted(){socket.addEventListener("open",e=>{console.log("Connected to WebSocket"),this.isSocketConnected=!0})}};const __vue_script__$8=script$8;var __vue_render__$a=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"app-container"},[n("TheSidebar"),e._v(" "),n("div",{staticClass:"content-container"},[n("TheSearchBar"),e._v(" "),n("TheContent")],1),e._v(" "),n("TheDownloadBar")],1),e._v(" "),n("BaseLoadingPlaceholder",{attrs:{text:"Connecting to local server...",hidden:e.isSocketConnected,additionalClasses:"absolute top-0 left-0 w-screen h-screen bg-black bg-opacity-50 z-50"}}),e._v(" "),n("TheTrackPreview"),e._v(" "),n("TheQualityModal"),e._v(" "),n("TheContextMenu")],1)},__vue_staticRenderFns__$a=[];const __vue_inject_styles__$a=function(e){!e||e("data-v-01b764b9_0",{source:".app-container{display:flex}.content-container{width:100%;display:flex;flex-direction:column}",map:void 0,media:void 0})},__vue_scope_id__$a=void 0,__vue_module_identifier__$a=void 0,__vue_is_functional_template__$a=!1;var App=normalizeComponent_1({render:__vue_render__$a,staticRenderFns:__vue_staticRenderFns__$a},__vue_inject_styles__$a,__vue_script__$8,__vue_scope_id__$a,__vue_is_functional_template__$a,__vue_module_identifier__$a,browser,void 0);/*! * vue-i18n v8.23.0 * (c) 2021 kazuya kawaguchi * Released under the MIT License. - */var numberFormatKeys=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function warn$3(e,n){typeof console!="undefined"&&(console.warn("[vue-i18n] "+e),n&&console.warn(n.stack))}function error(e,n){typeof console!="undefined"&&(console.error("[vue-i18n] "+e),n&&console.error(n.stack))}var isArray$1=Array.isArray;function isObject$3(e){return e!==null&&typeof e=="object"}function isBoolean(e){return typeof e=="boolean"}function isString(e){return typeof e=="string"}var toString$2=Object.prototype.toString,OBJECT_STRING="[object Object]";function isPlainObject$2(e){return toString$2.call(e)===OBJECT_STRING}function isNull(e){return e==null}function isFunction$1(e){return typeof e=="function"}function parseArgs(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var a=null,i=null;return e.length===1?isObject$3(e[0])||isArray$1(e[0])?i=e[0]:typeof e[0]=="string"&&(a=e[0]):e.length===2&&(typeof e[0]=="string"&&(a=e[0]),(isObject$3(e[1])||isArray$1(e[1]))&&(i=e[1])),{locale:a,params:i}}function looseClone(e){return JSON.parse(JSON.stringify(e))}function remove$3(e,n){if(e.length){var a=e.indexOf(n);if(a>-1)return e.splice(a,1)}}function includes(e,n){return!!~e.indexOf(n)}var hasOwnProperty$1=Object.prototype.hasOwnProperty;function hasOwn$2(e,n){return hasOwnProperty$1.call(e,n)}function merge(e){for(var n=arguments,a=Object(e),i=1;i/g,">").replace(/"/g,""").replace(/'/g,"'")}function escapeParams(e){return e!=null&&Object.keys(e).forEach(function(n){typeof e[n]=="string"&&(e[n]=escapeHtml(e[n]))}),e}function extend$1(e){e.prototype.hasOwnProperty("$i18n")||Object.defineProperty(e.prototype,"$i18n",{get:function(){return this._i18n}}),e.prototype.$t=function(n){for(var a=[],i=arguments.length-1;i-- >0;)a[i]=arguments[i+1];var r=this.$i18n;return r._t.apply(r,[n,r.locale,r._getMessages(),this].concat(a))},e.prototype.$tc=function(n,a){for(var i=[],r=arguments.length-2;r-- >0;)i[r]=arguments[r+2];var s=this.$i18n;return s._tc.apply(s,[n,s.locale,s._getMessages(),this,a].concat(i))},e.prototype.$te=function(n,a){var i=this.$i18n;return i._te(n,i.locale,i._getMessages(),a)},e.prototype.$d=function(n){for(var a,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(a=this.$i18n).d.apply(a,[n].concat(i))},e.prototype.$n=function(n){for(var a,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(a=this.$i18n).n.apply(a,[n].concat(i))}}var mixin$1={beforeCreate:function(){var n=this.$options;if(n.i18n=n.i18n||(n.__i18n?{}:null),n.i18n){if(n.i18n instanceof VueI18n){if(n.__i18n)try{var a=n.i18n&&n.i18n.messages?n.i18n.messages:{};n.__i18n.forEach(function(l){a=merge(a,JSON.parse(l))}),Object.keys(a).forEach(function(l){n.i18n.mergeLocaleMessage(l,a[l])})}catch(l){}this._i18n=n.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(isPlainObject$2(n.i18n)){var i=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this.$root.$i18n:null;if(i&&(n.i18n.root=this.$root,n.i18n.formatter=i.formatter,n.i18n.fallbackLocale=i.fallbackLocale,n.i18n.formatFallbackMessages=i.formatFallbackMessages,n.i18n.silentTranslationWarn=i.silentTranslationWarn,n.i18n.silentFallbackWarn=i.silentFallbackWarn,n.i18n.pluralizationRules=i.pluralizationRules,n.i18n.preserveDirectiveContent=i.preserveDirectiveContent),n.__i18n)try{var r=n.i18n&&n.i18n.messages?n.i18n.messages:{};n.__i18n.forEach(function(l){r=merge(r,JSON.parse(l))}),n.i18n.messages=r}catch(l){}var s=n.i18n,o=s.sharedMessages;o&&isPlainObject$2(o)&&(n.i18n.messages=merge(n.i18n.messages,o)),this._i18n=new VueI18n(n.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(n.i18n.sync===void 0||!!n.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),i&&i.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this._i18n=this.$root.$i18n:n.parent&&n.parent.$i18n&&n.parent.$i18n instanceof VueI18n&&(this._i18n=n.parent.$i18n)},beforeMount:function(){var n=this.$options;n.i18n=n.i18n||(n.__i18n?{}:null),n.i18n?n.i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):isPlainObject$2(n.i18n)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):n.parent&&n.parent.$i18n&&n.parent.$i18n instanceof VueI18n&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){if(!!this._i18n){var n=this;this.$nextTick(function(){n._subscribing&&(n._i18n.unsubscribeDataChanging(n),delete n._subscribing),n._i18nWatcher&&(n._i18nWatcher(),n._i18n.destroyVM(),delete n._i18nWatcher),n._localeWatcher&&(n._localeWatcher(),delete n._localeWatcher)})}}},interpolationComponent={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(n,a){var i=a.data,r=a.parent,s=a.props,o=a.slots,l=r.$i18n;if(!!l){var c=s.path,u=s.locale,d=s.places,f=o(),h=l.i(c,u,onlyHasDefaultPlace(f)||d?useLegacyPlaces(f.default,d):f),m=!!s.tag&&s.tag!==!0||s.tag===!1?s.tag:"span";return m?n(m,i,h):h}}};function onlyHasDefaultPlace(e){var n;for(n in e)if(n!=="default")return!1;return Boolean(n)}function useLegacyPlaces(e,n){var a=n?createParamsFromPlaces(n):{};if(!e)return a;e=e.filter(function(r){return r.tag||r.text.trim()!==""});var i=e.every(vnodeHasPlaceAttribute);return e.reduce(i?assignChildPlace:assignChildIndex,a)}function createParamsFromPlaces(e){return Array.isArray(e)?e.reduce(assignChildIndex,{}):Object.assign({},e)}function assignChildPlace(e,n){return n.data&&n.data.attrs&&n.data.attrs.place&&(e[n.data.attrs.place]=n),e}function assignChildIndex(e,n,a){return e[a]=n,e}function vnodeHasPlaceAttribute(e){return Boolean(e.data&&e.data.attrs&&e.data.attrs.place)}var numberComponent={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(n,a){var i=a.props,r=a.parent,s=a.data,o=r.$i18n;if(!o)return null;var l=null,c=null;isString(i.format)?l=i.format:isObject$3(i.format)&&(i.format.key&&(l=i.format.key),c=Object.keys(i.format).reduce(function(m,v){var y;return includes(numberFormatKeys,v)?Object.assign({},m,(y={},y[v]=i.format[v],y)):m},null));var u=i.locale||o.locale,d=o._ntp(i.value,u,l,c),f=d.map(function(m,v){var y,_=s.scopedSlots&&s.scopedSlots[m.type];return _?_((y={},y[m.type]=m.value,y.index=v,y.parts=d,y)):m.value}),h=!!i.tag&&i.tag!==!0||i.tag===!1?i.tag:"span";return h?n(h,{attrs:s.attrs,class:s.class,staticClass:s.staticClass},f):f}};function bind$2(e,n,a){!assert$1(e,a)||t(e,n,a)}function update$1(e,n,a,i){if(!!assert$1(e,a)){var r=a.context.$i18n;localeEqual(e,a)&&looseEqual$1(n.value,n.oldValue)&&looseEqual$1(e._localeMessage,r.getLocaleMessage(r.locale))||t(e,n,a)}}function unbind(e,n,a,i){var r=a.context;if(!r){warn$3("Vue instance does not exists in VNode context");return}var s=a.context.$i18n||{};!n.modifiers.preserve&&!s.preserveDirectiveContent&&(e.textContent=""),e._vt=void 0,delete e._vt,e._locale=void 0,delete e._locale,e._localeMessage=void 0,delete e._localeMessage}function assert$1(e,n){var a=n.context;return a?a.$i18n?!0:(warn$3("VueI18n instance does not exists in Vue instance"),!1):(warn$3("Vue instance does not exists in VNode context"),!1)}function localeEqual(e,n){var a=n.context;return e._locale===a.$i18n.locale}function t(e,n,a){var i,r,s=n.value,o=parseValue(s),l=o.path,c=o.locale,u=o.args,d=o.choice;if(!l&&!c&&!u){warn$3("value type not supported");return}if(!l){warn$3("`path` is required in v-t directive");return}var f=a.context;d!=null?e._vt=e.textContent=(i=f.$i18n).tc.apply(i,[l,d].concat(makeParams(c,u))):e._vt=e.textContent=(r=f.$i18n).t.apply(r,[l].concat(makeParams(c,u))),e._locale=f.$i18n.locale,e._localeMessage=f.$i18n.getLocaleMessage(f.$i18n.locale)}function parseValue(e){var n,a,i,r;return isString(e)?n=e:isPlainObject$2(e)&&(n=e.path,a=e.locale,i=e.args,r=e.choice),{path:n,locale:a,args:i,choice:r}}function makeParams(e,n){var a=[];return e&&a.push(e),n&&(Array.isArray(n)||isPlainObject$2(n))&&a.push(n),a}var Vue$2;function install$2(e){install$2.installed=!0,Vue$2=e,Vue$2.version&&Number(Vue$2.version.split(".")[0]),extend$1(Vue$2),Vue$2.mixin(mixin$1),Vue$2.directive("t",{bind:bind$2,update:update$1,unbind}),Vue$2.component(interpolationComponent.name,interpolationComponent),Vue$2.component(numberComponent.name,numberComponent);var n=Vue$2.config.optionMergeStrategies;n.i18n=function(a,i){return i===void 0?a:i}}var BaseFormatter=function(){this._caches=Object.create(null)};BaseFormatter.prototype.interpolate=function(n,a){if(!a)return[n];var i=this._caches[n];return i||(i=parse$1(n),this._caches[n]=i),compile(i,a)};var RE_TOKEN_LIST_VALUE=/^(?:\d)+/,RE_TOKEN_NAMED_VALUE=/^(?:\w)+/;function parse$1(e){for(var n=[],a=0,i="";a0)r--,i=IN_SUB_PATH,h[APPEND]();else{if(r=0,o===void 0||(o=formatSubPath(o),o===!1))return!1;h[PUSH]()}};function m(){var v=e[a+1];if(i===IN_SINGLE_QUOTE&&v==="'"||i===IN_DOUBLE_QUOTE&&v==='"')return a++,l="\\"+v,h[APPEND](),!0}for(;i!==null;)if(a++,s=e[a],!(s==="\\"&&m())){if(c=getPathCharType(s),f=pathStateMachine[i],u=f[c]||f.else||ERROR,u===ERROR||(i=u[0],d=h[u[1]],d&&(l=u[2],l=l===void 0?s:l,d()===!1)))return;if(i===AFTER_PATH)return n}}var I18nPath=function(){this._cache=Object.create(null)};I18nPath.prototype.parsePath=function(n){var a=this._cache[n];return a||(a=parse$1$1(n),a&&(this._cache[n]=a)),a||[]},I18nPath.prototype.getPathValue=function(n,a){if(!isObject$3(n))return null;var i=this.parsePath(a);if(i.length===0)return null;for(var r=i.length,s=n,o=0;o/,linkKeyMatcher=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,linkKeyPrefixMatcher=/^@(?:\.([a-z]+))?:/,bracketsMatcher=/[()]/g,defaultModifiers={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()},capitalize:function(e){return""+e.charAt(0).toLocaleUpperCase()+e.substr(1)}},defaultFormatter=new BaseFormatter,VueI18n=function(n){var a=this;n===void 0&&(n={}),!Vue$2&&typeof window!="undefined"&&window.Vue&&install$2(window.Vue);var i=n.locale||"en-US",r=n.fallbackLocale===!1?!1:n.fallbackLocale||"en-US",s=n.messages||{},o=n.dateTimeFormats||{},l=n.numberFormats||{};this._vm=null,this._formatter=n.formatter||defaultFormatter,this._modifiers=n.modifiers||{},this._missing=n.missing||null,this._root=n.root||null,this._sync=n.sync===void 0?!0:!!n.sync,this._fallbackRoot=n.fallbackRoot===void 0?!0:!!n.fallbackRoot,this._formatFallbackMessages=n.formatFallbackMessages===void 0?!1:!!n.formatFallbackMessages,this._silentTranslationWarn=n.silentTranslationWarn===void 0?!1:n.silentTranslationWarn,this._silentFallbackWarn=n.silentFallbackWarn===void 0?!1:!!n.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new I18nPath,this._dataListeners=[],this._componentInstanceCreatedListener=n.componentInstanceCreatedListener||null,this._preserveDirectiveContent=n.preserveDirectiveContent===void 0?!1:!!n.preserveDirectiveContent,this.pluralizationRules=n.pluralizationRules||{},this._warnHtmlInMessage=n.warnHtmlInMessage||"off",this._postTranslation=n.postTranslation||null,this._escapeParameterHtml=n.escapeParameterHtml||!1,this.getChoiceIndex=function(c,u){var d=Object.getPrototypeOf(a);if(d&&d.getChoiceIndex){var f=d.getChoiceIndex;return f.call(a,c,u)}var h=function(m,v){return m=Math.abs(m),v===2?m?m>1?1:0:1:m?Math.min(m,2):0};return a.locale in a.pluralizationRules?a.pluralizationRules[a.locale].apply(a,[c,u]):h(c,u)},this._exist=function(c,u){return!c||!u?!1:!!(!isNull(a._path.getPathValue(c,u))||c[u])},(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&Object.keys(s).forEach(function(c){a._checkLocaleMessage(c,a._warnHtmlInMessage,s[c])}),this._initVM({locale:i,fallbackLocale:r,messages:s,dateTimeFormats:o,numberFormats:l})},prototypeAccessors$2={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0}};VueI18n.prototype._checkLocaleMessage=function(n,a,i){var r=[],s=function(o,l,c,u){if(isPlainObject$2(c))Object.keys(c).forEach(function(h){var m=c[h];isPlainObject$2(m)?(u.push(h),u.push("."),s(o,l,m,u),u.pop(),u.pop()):(u.push(h),s(o,l,m,u),u.pop())});else if(isArray$1(c))c.forEach(function(h,m){isPlainObject$2(h)?(u.push("["+m+"]"),u.push("."),s(o,l,h,u),u.pop(),u.pop()):(u.push("["+m+"]"),s(o,l,h,u),u.pop())});else if(isString(c)){var d=htmlTagMatcher.test(c);if(d){var f="Detected HTML in message '"+c+"' of keypath '"+u.join("")+"' at '"+l+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";o==="warn"?warn$3(f):o==="error"&&error(f)}}};s(a,n,i,r)},VueI18n.prototype._initVM=function(n){var a=Vue$2.config.silent;Vue$2.config.silent=!0,this._vm=new Vue$2({data:n}),Vue$2.config.silent=a},VueI18n.prototype.destroyVM=function(){this._vm.$destroy()},VueI18n.prototype.subscribeDataChanging=function(n){this._dataListeners.push(n)},VueI18n.prototype.unsubscribeDataChanging=function(n){remove$3(this._dataListeners,n)},VueI18n.prototype.watchI18nData=function(){var n=this;return this._vm.$watch("$data",function(){for(var a=n._dataListeners.length;a--;)Vue$2.nextTick(function(){n._dataListeners[a]&&n._dataListeners[a].$forceUpdate()})},{deep:!0})},VueI18n.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var n=this._vm;return this._root.$i18n.vm.$watch("locale",function(a){n.$set(n,"locale",a),n.$forceUpdate()},{immediate:!0})},VueI18n.prototype.onComponentInstanceCreated=function(n){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(n,this)},prototypeAccessors$2.vm.get=function(){return this._vm},prototypeAccessors$2.messages.get=function(){return looseClone(this._getMessages())},prototypeAccessors$2.dateTimeFormats.get=function(){return looseClone(this._getDateTimeFormats())},prototypeAccessors$2.numberFormats.get=function(){return looseClone(this._getNumberFormats())},prototypeAccessors$2.availableLocales.get=function(){return Object.keys(this.messages).sort()},prototypeAccessors$2.locale.get=function(){return this._vm.locale},prototypeAccessors$2.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},prototypeAccessors$2.fallbackLocale.get=function(){return this._vm.fallbackLocale},prototypeAccessors$2.fallbackLocale.set=function(e){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",e)},prototypeAccessors$2.formatFallbackMessages.get=function(){return this._formatFallbackMessages},prototypeAccessors$2.formatFallbackMessages.set=function(e){this._formatFallbackMessages=e},prototypeAccessors$2.missing.get=function(){return this._missing},prototypeAccessors$2.missing.set=function(e){this._missing=e},prototypeAccessors$2.formatter.get=function(){return this._formatter},prototypeAccessors$2.formatter.set=function(e){this._formatter=e},prototypeAccessors$2.silentTranslationWarn.get=function(){return this._silentTranslationWarn},prototypeAccessors$2.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},prototypeAccessors$2.silentFallbackWarn.get=function(){return this._silentFallbackWarn},prototypeAccessors$2.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},prototypeAccessors$2.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},prototypeAccessors$2.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},prototypeAccessors$2.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},prototypeAccessors$2.warnHtmlInMessage.set=function(e){var n=this,a=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,a!==e&&(e==="warn"||e==="error")){var i=this._getMessages();Object.keys(i).forEach(function(r){n._checkLocaleMessage(r,n._warnHtmlInMessage,i[r])})}},prototypeAccessors$2.postTranslation.get=function(){return this._postTranslation},prototypeAccessors$2.postTranslation.set=function(e){this._postTranslation=e},VueI18n.prototype._getMessages=function(){return this._vm.messages},VueI18n.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},VueI18n.prototype._getNumberFormats=function(){return this._vm.numberFormats},VueI18n.prototype._warnDefault=function(n,a,i,r,s,o){if(!isNull(i))return i;if(this._missing){var l=this._missing.apply(null,[n,a,r,s]);if(isString(l))return l}if(this._formatFallbackMessages){var c=parseArgs.apply(void 0,s);return this._render(a,o,c.params,a)}else return a},VueI18n.prototype._isFallbackRoot=function(n){return!n&&!isNull(this._root)&&this._fallbackRoot},VueI18n.prototype._isSilentFallbackWarn=function(n){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(n):this._silentFallbackWarn},VueI18n.prototype._isSilentFallback=function(n,a){return this._isSilentFallbackWarn(a)&&(this._isFallbackRoot()||n!==this.fallbackLocale)},VueI18n.prototype._isSilentTranslationWarn=function(n){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(n):this._silentTranslationWarn},VueI18n.prototype._interpolate=function(n,a,i,r,s,o,l){if(!a)return null;var c=this._path.getPathValue(a,i);if(isArray$1(c)||isPlainObject$2(c))return c;var u;if(isNull(c))if(isPlainObject$2(a)){if(u=a[i],!(isString(u)||isFunction$1(u)))return null}else return null;else if(isString(c)||isFunction$1(c))u=c;else return null;return isString(u)&&(u.indexOf("@:")>=0||u.indexOf("@.")>=0)&&(u=this._link(n,a,u,r,"raw",o,l)),this._render(u,s,o,i)},VueI18n.prototype._link=function(n,a,i,r,s,o,l){var c=i,u=c.match(linkKeyMatcher);for(var d in u)if(!!u.hasOwnProperty(d)){var f=u[d],h=f.match(linkKeyPrefixMatcher),m=h[0],v=h[1],y=f.replace(m,"").replace(bracketsMatcher,"");if(includes(l,y))return c;l.push(y);var _=this._interpolate(n,a,y,r,s==="raw"?"string":s,s==="raw"?void 0:o,l);if(this._isFallbackRoot(_)){if(!this._root)throw Error("unexpected error");var w=this._root.$i18n;_=w._translate(w._getMessages(),w.locale,w.fallbackLocale,y,r,s,o)}_=this._warnDefault(n,y,_,r,isArray$1(o)?o:[o],s),this._modifiers.hasOwnProperty(v)?_=this._modifiers[v](_):defaultModifiers.hasOwnProperty(v)&&(_=defaultModifiers[v](_)),l.pop(),c=_?c.replace(f,_):c}return c},VueI18n.prototype._createMessageContext=function(n){var a=isArray$1(n)?n:[],i=isObject$3(n)?n:{},r=function(o){return a[o]},s=function(o){return i[o]};return{list:r,named:s}},VueI18n.prototype._render=function(n,a,i,r){if(isFunction$1(n))return n(this._createMessageContext(i));var s=this._formatter.interpolate(n,i,r);return s||(s=defaultFormatter.interpolate(n,i,r)),a==="string"&&!isString(s)?s.join(""):s},VueI18n.prototype._appendItemToChain=function(n,a,i){var r=!1;return includes(n,a)||(r=!0,a&&(r=a[a.length-1]!=="!",a=a.replace(/!/g,""),n.push(a),i&&i[a]&&(r=i[a]))),r},VueI18n.prototype._appendLocaleToChain=function(n,a,i){var r,s=a.split("-");do{var o=s.join("-");r=this._appendItemToChain(n,o,i),s.splice(-1,1)}while(s.length&&r===!0);return r},VueI18n.prototype._appendBlockToChain=function(n,a,i){for(var r=!0,s=0;s0;)o[l]=arguments[l+4];if(!n)return"";var c=parseArgs.apply(void 0,o);this._escapeParameterHtml&&(c.params=escapeParams(c.params));var u=c.locale||a,d=this._translate(i,u,this.fallbackLocale,n,r,"string",c.params);if(this._isFallbackRoot(d)){if(!this._root)throw Error("unexpected error");return(s=this._root).$t.apply(s,[n].concat(o))}else return d=this._warnDefault(u,n,d,r,o,"string"),this._postTranslation&&d!==null&&d!==void 0&&(d=this._postTranslation(d,n)),d},VueI18n.prototype.t=function(n){for(var a,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(a=this)._t.apply(a,[n,this.locale,this._getMessages(),null].concat(i))},VueI18n.prototype._i=function(n,a,i,r,s){var o=this._translate(i,a,this.fallbackLocale,n,r,"raw",s);if(this._isFallbackRoot(o)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(n,a,s)}else return this._warnDefault(a,n,o,r,[s],"raw")},VueI18n.prototype.i=function(n,a,i){return n?(isString(a)||(a=this.locale),this._i(n,a,this._getMessages(),null,i)):""},VueI18n.prototype._tc=function(n,a,i,r,s){for(var o,l=[],c=arguments.length-5;c-- >0;)l[c]=arguments[c+5];if(!n)return"";s===void 0&&(s=1);var u={count:s,n:s},d=parseArgs.apply(void 0,l);return d.params=Object.assign(u,d.params),l=d.locale===null?[d.params]:[d.locale,d.params],this.fetchChoice((o=this)._t.apply(o,[n,a,i,r].concat(l)),s)},VueI18n.prototype.fetchChoice=function(n,a){if(!n||!isString(n))return null;var i=n.split("|");return a=this.getChoiceIndex(a,i.length),i[a]?i[a].trim():n},VueI18n.prototype.tc=function(n,a){for(var i,r=[],s=arguments.length-2;s-- >0;)r[s]=arguments[s+2];return(i=this)._tc.apply(i,[n,this.locale,this._getMessages(),null,a].concat(r))},VueI18n.prototype._te=function(n,a,i){for(var r=[],s=arguments.length-3;s-- >0;)r[s]=arguments[s+3];var o=parseArgs.apply(void 0,r).locale||a;return this._exist(i[o],n)},VueI18n.prototype.te=function(n,a){return this._te(n,this.locale,this._getMessages(),a)},VueI18n.prototype.getLocaleMessage=function(n){return looseClone(this._vm.messages[n]||{})},VueI18n.prototype.setLocaleMessage=function(n,a){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(n,this._warnHtmlInMessage,a),this._vm.$set(this._vm.messages,n,a)},VueI18n.prototype.mergeLocaleMessage=function(n,a){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(n,this._warnHtmlInMessage,a),this._vm.$set(this._vm.messages,n,merge(typeof this._vm.messages[n]!="undefined"&&Object.keys(this._vm.messages[n]).length?this._vm.messages[n]:{},a))},VueI18n.prototype.getDateTimeFormat=function(n){return looseClone(this._vm.dateTimeFormats[n]||{})},VueI18n.prototype.setDateTimeFormat=function(n,a){this._vm.$set(this._vm.dateTimeFormats,n,a),this._clearDateTimeFormat(n,a)},VueI18n.prototype.mergeDateTimeFormat=function(n,a){this._vm.$set(this._vm.dateTimeFormats,n,merge(this._vm.dateTimeFormats[n]||{},a)),this._clearDateTimeFormat(n,a)},VueI18n.prototype._clearDateTimeFormat=function(n,a){for(var i in a){var r=n+"__"+i;!this._dateTimeFormatters.hasOwnProperty(r)||delete this._dateTimeFormatters[r]}},VueI18n.prototype._localizeDateTime=function(n,a,i,r,s){for(var o=a,l=r[o],c=this._getLocaleChain(a,i),u=0;u0;)a[i]=arguments[i+1];var r=this.locale,s=null;return a.length===1?isString(a[0])?s=a[0]:isObject$3(a[0])&&(a[0].locale&&(r=a[0].locale),a[0].key&&(s=a[0].key)):a.length===2&&(isString(a[0])&&(s=a[0]),isString(a[1])&&(r=a[1])),this._d(n,r,s)},VueI18n.prototype.getNumberFormat=function(n){return looseClone(this._vm.numberFormats[n]||{})},VueI18n.prototype.setNumberFormat=function(n,a){this._vm.$set(this._vm.numberFormats,n,a),this._clearNumberFormat(n,a)},VueI18n.prototype.mergeNumberFormat=function(n,a){this._vm.$set(this._vm.numberFormats,n,merge(this._vm.numberFormats[n]||{},a)),this._clearNumberFormat(n,a)},VueI18n.prototype._clearNumberFormat=function(n,a){for(var i in a){var r=n+"__"+i;!this._numberFormatters.hasOwnProperty(r)||delete this._numberFormatters[r]}},VueI18n.prototype._getNumberFormatter=function(n,a,i,r,s,o){for(var l=a,c=r[l],u=this._getLocaleChain(a,i),d=0;d0;)a[i]=arguments[i+1];var r=this.locale,s=null,o=null;return a.length===1?isString(a[0])?s=a[0]:isObject$3(a[0])&&(a[0].locale&&(r=a[0].locale),a[0].key&&(s=a[0].key),o=Object.keys(a[0]).reduce(function(l,c){var u;return includes(numberFormatKeys,c)?Object.assign({},l,(u={},u[c]=a[0][c],u)):l},null)):a.length===2&&(isString(a[0])&&(s=a[0]),isString(a[1])&&(r=a[1])),this._n(n,r,s,o)},VueI18n.prototype._ntp=function(n,a,i,r){if(!VueI18n.availabilities.numberFormat)return[];if(!i){var s=r?new Intl.NumberFormat(a,r):new Intl.NumberFormat(a);return s.formatToParts(n)}var o=this._getNumberFormatter(n,a,this.fallbackLocale,this._getNumberFormats(),i,r),l=o&&o.formatToParts(n);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(n,a,i,r)}else return l||[]},Object.defineProperties(VueI18n.prototype,prototypeAccessors$2);var availabilities;Object.defineProperty(VueI18n,"availabilities",{get:function(){if(!availabilities){var n=typeof Intl!="undefined";availabilities={dateTimeFormat:n&&typeof Intl.DateTimeFormat!="undefined",numberFormat:n&&typeof Intl.NumberFormat!="undefined"}}return availabilities}}),VueI18n.install=install$2,VueI18n.version="8.23.0";const it={globals:{welcome:"Benvenuto su deemix",back:"indietro",loading:"caricamento",download:"Scarica {thing}",by:"di {artist}",in:"in {album}",download_hint:"Scarica",play_hint:"Riproduci",toggle_download_tab_hint:"Espandi/Riduci",clean_queue_hint:"Pulisci Lista",cancel_queue_hint:"Cancella tutti i download",open_downloads_folder:"Apri la cartella di download",cut:"taglia",copy:"copia",copyLink:"copia link",copyImageLink:"copia link immagine",copyDeezerLink:"copia link deezer",paste:"incolla",listTabs:{all:"tutto",top_result:"miglior risultato",album:"album",artist:"artista | artisti",single:"singolo | singoli",title:"titolo | titoli",track:"brano | brani",releaseN:"0 dischi | {n} disco | {n} dischi",playlist:"playlist",compile:"compilation",bundle:"collezione | collezioni",ep:"ep",more:"Altri album",featured:"Compare in",spotifyPlaylist:"playlist spotify",releaseDate:"data di uscita",error:"errore",empty:"",trackN:"0 brani | {n} brano | {n} brani",albumN:"{n} album",artistN:"0 artisti | {n} artista | {n} artisti",playlistN:"{n} playlist"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Versione attuale",currentWebuiVersion:"Versione WebUI attuale",versionNotAvailable:"N/A",updateAvailable:"Non stai usando l'ultima versione disponibile: {version}",deemixVersion:"Versione libreria deemix"},titles:{usefulLinks:"Link Utili",bugReports:"Segnalazione di bug",contributing:"Contribuire al progetto",donations:"Donazioni",license:"Licenza"},subtitles:{bugReports:"C'\xE8 qualcosa di deemix che non funziona? Faccelo sapere!",contributing:"Vuoi contribuire a questo progetto? Puoi farlo in pi\xF9 modi!",donations:"Vuoi dare una mano economicamente? Puoi fare una donazione!"},usesLibrary:"Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.",thanks:"Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.",upToDate:{text:"Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.",newsChannel:"canale delle news"},officialWebsite:"Sito Ufficiale",officialRepo:"Repository Ufficiale della Libreria",officialWebuiRepo:"Repository Ufficiale dell'Interfaccia Web",officialSubreddit:"Subreddit Ufficiale",newsChannel:"Canale delle news",questions:{text:"Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.",subreddit:"subreddit ufficiale"},beforeReporting:"Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ci\xF2 che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.",beSure:"Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che \xE8 gi\xE0 stato segnalato.",duplicateReports:"Le segnalazioni doppie verranno chiuse, tienilo presente.",dontOpenIssues:"NON aprire issues per porre domande, per quello esiste un subreddit.",newUI:{text:"Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.",repo:"repo"},acceptFeatures:"Accetto anche funzionalit\xE0, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.",otherLanguages:"Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!",understandingCode:"Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit",contributeWebUI:{text:"Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.",webui:"WebUI"},itsFree:"Ricordati che questo \xE8 un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.",notObligated:"Non sentirti obbligato a donare, mi stai simpatico lo stesso!",lincensedUnder:{text:"Questo progetto \xE8 sotto la licenza {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Classifiche",changeCountry:"Cambia Paese",download:"Scarica Classifica"},errors:{title:"Errori riguardanti {name}",ids:{invalidURL:"URL non riconosciuto",unsupportedURL:"URL non ancora supportato",ISRCnotOnDeezer:"Questo ISRC non \xE8 disponibile su Deezer",notYourPrivatePlaylist:"Non puoi scaricare le playlist private degli altri.",spotifyDisabled:"Spotify Features non \xE8 impostato correttamente.",trackNotOnDeezer:"Brano non trovato su Deezer!",albumNotOnDeezer:"Album non trovato su Deezer!",notOnDeezer:"Brano non disponibile su Deezer!",notEncoded:"Brano non ancora codificato!",notEncodedNoAlternative:"Brano non ancora codificato e nessuna alternativa trovata!",wrongBitrate:"Brano non trovato con il bitrate specificato.",wrongBitrateNoAlternative:"Brano non trovato con il bitrate specificato e nessuna alternativa trovata!",no360RA:"Brano non disponibile in Reality Audio 360.",notAvailable:"Brano non presente sui server di Deezer!",notAvailableNoAlternative:"Brano non presente sui server di Deezer e nessuna alternativa trovata!",noSpaceLeft:"Spazio su disco esaurito!",albumDoesntExists:"Il brano non ha nessun album, impossibile ottenere informazioni"}},favorites:{title:"Preferiti",noPlaylists:"Nessuna Playlist preferita trovata",noAlbums:"Nessun Album preferito trovato",noArtists:"Nessun Artista preferito trovato",noTracks:"Nessun Brano preferito trovato"},home:{needTologin:"Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.",openSettings:"Apri le impostazioni",sections:{popularPlaylists:"Playlist Popolari",popularAlbums:"Album pi\xF9 riprodotti"}},linkAnalyzer:{info:"Puoi utilizzare questa sezione per avere pi\xF9 informazioni riguardanti il link che stai cercando di scaricare.",useful:"Ci\xF2 pu\xF2 esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.",linkNotSupported:"Questo link non \xE8 ancora supportato",linkNotSupportedYet:"Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durata",diskNumber:"Numero Disco",trackNumber:"Numero Traccia",releaseDate:"Data di uscita",bpm:"BPM",label:"Etichetta",recordType:"Tipologia di registrazione",genres:"Generi",tracklist:"Lista tracce"}},search:{startSearching:"Inizia a cercare!",description:"Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer",fans:"{n} fan",noResults:"Nessun risultato",noResultsTrack:"Nessun brano trovato",noResultsAlbum:"Nessun album trovato",noResultsArtist:"Nessun artista trovato",noResultsPlaylist:"Nessuna playlist trovata"},searchbar:"Cerca qualsiasi cosa (o incolla semplicemente un link)",downloads:"download",toasts:{restoringQueue:"Ripristinando la coda di download...",queueRestored:"Coda di download ripristinata!",addedToQueue:"{item} aggiunto alla coda",addedMoreToQueue:"{n} oggetti aggiunti alla coda",alreadyInQueue:"{item} \xE8 gi\xE0 nella coda!",finishDownload:"{item} ha finito di scaricarsi.",allDownloaded:"Tutti i download completati!",refreshFavs:"Preferiti ricaricati!",loggingIn:"Effettuando il login...",loggedIn:"Login effettuato",alreadyLogged:"Sei gi\xE0 loggato",loginFailed:"Impossibile loggarsi",loggedOut:"Disconnesso",cancellingCurrentItem:"Cancellando download corrente.",currentItemCancelled:"Download corrente cancellato.",startAddingArtist:"Aggiungendo gli album di {artist} alla coda",finishAddingArtist:"Aggiunto gli album di {artist} alla coda",startConvertingSpotifyPlaylist:"Convertendo i brani da spotify a deezer",finishConvertingSpotifyPlaylist:"Playlist di spotify convertita",loginNeededToDownload:"Devi accedere prima di poter scaricare brani!",deezerNotAvailable:"Deezer non \xE8 disponibile nel tuo paese. Dovresti usare una VPN.",startGeneratingItems:"Elaborando {n} oggetti...",finishGeneratingItems:"{n} oggetti generati."},settings:{title:"Impostazioni",languages:"Lingue",login:{title:"Login",loggedIn:"Sei loggato come {username}",arl:{question:"Come ottengo il mio ARL?",update:"Aggiorna ARL"},logout:"Disconnettiti",login:"Accedi tramite deezer.com"},appearance:{title:"Aspetto",slimDownloadTab:"Tab dei download slim",slimSidebar:"Sidebar slim"},downloadPath:{title:"Cartella di download"},templates:{title:"Template",tracknameTemplate:"Template nome brano",tracknameAvailableVariables:"Variabili nome brano disponibili",albumTracknameTemplate:"Template nome brano negli Album",albumTracknameAvailableVariables:"Variabili nome brano negli Album disponibili",playlistTracknameTemplate:"Template nome brano nelle Playlist",playlistTracknameAvailableVariables:"Variabili nome brano nelle Playlist disponibili"},folders:{title:"Cartelle",createPlaylistFolder:"Crea cartelle per le Playlist",playlistNameTemplate:"Template nome della cartella Playlist",createArtistFolder:"Crea cartelle per gli Artisti",artistNameTemplate:"Template nome della cartella Artista",createAlbumFolder:"Crea cartelle per gli Album",albumNameTemplate:"Template nome della cartella Album",createCDFolder:"Crea cartelle per i CD",createStructurePlaylist:"Crea la struttura di cartelle per le Playlist",createSingleFolder:"Crea la struttura di cartelle per i brani singoli"},trackTitles:{title:"Titoli brani",padTracks:"Aggiungi zeri ai numeri di traccia",paddingSize:"Sovrascrivi il numero di zeri da aggiungere",illegalCharacterReplacer:"Rimpiazza caratteri illegali con"},downloads:{title:"Download",queueConcurrency:"Download simultanei",maxBitrate:{title:"Bitrate preferito",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dovrei sovrascrivere i file gi\xE0 scaricati?",y:"Si, sovrascrivi i file",n:"No, non sovrascrivere i file",t:"Sovrascrivi solo i tag",b:"No, mantieni entrambi i file e aggiungi un numero al duplicato",e:"No, e non tener conto della estensione del file"},fallbackBitrate:"Utilizza bitrate pi\xF9 bassi se il bitrate preferito non \xE8 disponibile",fallbackSearch:"Cerca il brano se il link originale non \xE8 disponibile",logErrors:"Crea file di log per gli errori",logSearched:"Crea file di log per le alternative cercate",syncedLyrics:"Crea i file .lyr (Testi Sincronizzati)",createM3U8File:"Crea i file playlist",playlistFilenameTemplate:"Template nome del file playlist",saveDownloadQueue:"Salva la coda di download quando chiudi l'app"},covers:{title:"Copertine",saveArtwork:"Salva copertina album",coverImageTemplate:"Template nome copertina album",saveArtworkArtist:"Salva copertina artista",artistImageTemplate:"Template nome copertina artista",localArtworkSize:"Dimensioni copertine locali",embeddedArtworkSize:"Dimensioni copertine incorporate",localArtworkFormat:{title:"Come vuoi salvare le copertine locali?",jpg:"In jpeg",png:"In png",both:"Sia in jpeg che in png"},jpegImageQuality:"Qualit\xE0 immagine JPEG",embeddedArtworkPNG:"Salva copertina incorporata come PNG",embeddedPNGWarning:"Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi",imageSizeWarning:"Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi",coverDescriptionUTF8:"Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)"},tags:{head:"Quali tag salvare",title:"Titolo",artist:"Artista",album:"Album",cover:"Copertina",trackNumber:"Numero Traccia",trackTotal:"Tracce Totali",discNumber:"Numero Disco",discTotal:"Dischi Totali",albumArtist:"Artista dell'album",genre:"Genere",year:"Anno",date:"Data",explicit:"Testo Esplicito",isrc:"ISRC",length:"Durata Traccia",barcode:"Barcode dell'album (UPC)",bpm:"BPM",replayGain:"Replay gain",label:"Casa Discografica",lyrics:"Testo non Sincronizzato",syncedLyrics:"Testo Sincronizzato",copyright:"Copyright",composer:"Compositori",involvedPeople:"Persone Coinvolte",source:"Sorgente e ID brano"},other:{title:"Altro",savePlaylistAsCompilation:"Salva le playlist come Compilation",useNullSeparator:"Usa il carattere NULL come separatore",saveID3v1:"Salva anche l'ID3v1",multiArtistSeparator:{title:"Come vuoi separare gli artisti?",nothing:"Salva solo l'artista principale",default:"Usando la specificazione standard",andFeat:"Usando & e feat.",using:'Usando "{separator}"'},singleAlbumArtist:"Salva solo l'artista dell'album principale",albumVariousArtists:`Lascia "Artisti Vari" negli artisti dell'album`,removeAlbumVersion:'Rimuovi "Album Version" dal titolo del brano',removeDuplicateArtists:"Rimuovi le combinazioni di artisti",dateFormat:{title:"Formato della data per i file FLAC",year:"AAAA",month:"MM",day:"GG"},featuredToTitle:{title:"Cosa dovrei fare con i feat?",0:"Niente",1:"Rimuovili dal titolo",3:"Rimuovili dal titolo e dal nome dell'album",2:"Spostali sul titolo"},titleCasing:"Formato testo dei titoli",artistCasing:"Formato testo degli artisti",casing:{nothing:"Non cambiare",upper:"TUTTO MAIUSCOLO",lower:"tutto minuscolo",start:"Prima Lettera Maiuscola",sentence:"Come una frase"},previewVolume:"Volume Anteprime",executeCommand:{title:"Comando da eseguire dopo il download",description:"Lascia vuoto per nessuna azione"}},spotify:{title:"Spotify Features",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"Come attivo le Spotify Features?"},reset:"Reimposta Default",resetMessage:"Sei sicuro di voler tornare alle impostazioni di default?",save:"Salva",toasts:{init:"Impostazioni caricate!",update:"Impostazioni aggiornate!",reset:"Impostazioni di default ripristinate!",ARLcopied:"ARL copiato negli appunti"}},sidebar:{home:"home",search:"ricerca",charts:"classifiche",favorites:"preferiti",linkAnalyzer:"analizza link",settings:"impostazioni",about:"info"},tracklist:{downloadSelection:"Scarica selezionati"}},en={globals:{welcome:"Welcome to deemix",back:"back",loading:"loading",download:"Download {thing}",by:"by {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Expand/Collapse",clean_queue_hint:"Clear Finished",cancel_queue_hint:"Cancel All",open_downloads_folder:"Open Downloads Folder",cut:"cut",copy:"copy",copyLink:"copy link",copyImageLink:"copy image link",copyDeezerLink:"copy deezer link",paste:"paste",listTabs:{empty:"",all:"all",top_result:"top result",album:"album | albums",artist:"artist | artists",single:"single | singles",title:"title | titles",track:"track | tracks",releaseN:"0 releases | {n} release | {n} releases",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"More albums",featured:"Featured in",spotifyPlaylist:"spotify playlist | spotify playlists",releaseDate:"release date",error:"error",trackN:"0 tracks | {n} track | {n} tracks",albumN:"0 albums | {n} album | {n} albums",artistN:"0 artists | {n} artist | {n} artists",playlistN:"0 playlists | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Current Version",currentWebuiVersion:"Current WebUI Version",versionNotAvailable:"N/A",updateAvailable:"You're not running the latest version available: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Useful Links",bugReports:"Bug Reports",contributing:"Contributing",donations:"Donations",license:"License"},subtitles:{bugReports:"Is there something that isn't working in deemix? Tell us!",contributing:"You want to contribute to this project? You can do it in different ways!",donations:"You want to contribute monetarily? You could make a donation!"},usesLibrary:"This app uses the deemix library, which you can use to make your own UI for deemix.",thanks:"Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.",upToDate:{text:"Stay up to date with the updates by following the {newsChannel} on Telegram.",newsChannel:"news channel"},officialWebsite:"Official Website",officialRepo:"Official Library Repository",officialWebuiRepo:"Official WebUI Repository",officialSubreddit:"Official Subreddit",newsChannel:"News Channel",questions:{text:"If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.",subreddit:"subreddit"},beforeReporting:"Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.",beSure:"Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.",duplicateReports:"Duplicate bug reports will be closed, so keep an eye out on that.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",newUI:{text:"If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.",repo:"repo"},acceptFeatures:"I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.",otherLanguages:"If you're fluent in another programming language you could try to port deemix into other programming languages!",understandingCode:"You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.",contributeWebUI:{text:"If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.",webui:"WebUI"},itsFree:"You should remember that this is a free project and you should support the artists you love before supporting the developers.",notObligated:"Don't feel obligated to donate, I appreciate you anyway!",lincensedUnder:{text:"This work is licensed under the {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Change Country",download:"Download Chart"},errors:{title:"Errors for {name}",ids:{invalidURL:"URL not recognized",unsupportedURL:"URL not supported yet",ISRCnotOnDeezer:"Track ISRC is not available on Deezer",notYourPrivatePlaylist:"You can't download others private playlists.",spotifyDisabled:"Spotify Features is not setted up correctly.",trackNotOnDeezer:"Track not found on Deezer!",albumNotOnDeezer:"Album not found on Deezer!",notOnDeezer:"Track not available on Deezer!",notEncoded:"Track not yet encoded!",notEncodedNoAlternative:"Track not yet encoded and no alternative found!",wrongBitrate:"Track not found at desired bitrate.",wrongBitrateNoAlternative:"Track not found at desired bitrate and no alternative found!",no360RA:"Track is not available in Reality Audio 360.",notAvailable:"Track not available on Deezer's servers!",notAvailableNoAlternative:"Track not available on Deezer's servers and no alternative found!",noSpaceLeft:"No space left on the device!",albumDoesntExists:"Track's album doesn't exist, failed to gather info"}},favorites:{title:"Favorites",noPlaylists:"No Playlists found",noAlbums:"No Favorite Albums found",noArtists:"No Favorite Artists found",noTracks:"No Favorite Tracks found"},home:{needTologin:"You need to log into your Deezer account before you can start downloading.",openSettings:"Open Settings",sections:{popularPlaylists:"Popular playlists",popularAlbums:"Most streamed albums"}},linkAnalyzer:{info:"You can use this section to find more information about the link you are trying to download.",useful:"This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.",linkNotSupported:"This link is not yet supported",linkNotSupportedYet:"Seems like this link is not yet supported, try analyzing another one.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duration",diskNumber:"Disk Number",trackNumber:"Track Number",releaseDate:"Release Date",bpm:"BPM",label:"Label",recordType:"Record Type",genres:"Genres",tracklist:"Tracklist"}},search:{startSearching:"Start searching!",description:"You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link",fans:"{n} fans",noResults:"No results",noResultsTrack:"No Tracks found",noResultsAlbum:"No Albums found",noResultsArtist:"No Artists found",noResultsPlaylist:"No Playlists found"},searchbar:"Search anything you want (or just paste a link)",downloads:"downloads",toasts:{restoringQueue:"Restoring download queue...",queueRestored:"Download queue restored!",addedToQueue:"{item} added to queue",addedMoreToQueue:"{n} items added to queue",alreadyInQueue:"{item} is already in queue!",finishDownload:"{item} finished downloading.",allDownloaded:"All downloads completed!",refreshFavs:"Refresh completed!",loggingIn:"Logging in...",loggedIn:"Logged in",alreadyLogged:"Already logged in",loginFailed:"Couldn't log in",loggedOut:"Logged out",cancellingCurrentItem:"Cancelling current item.",currentItemCancelled:"Current item cancelled.",startAddingArtist:"Adding {artist} albums to queue",finishAddingArtist:"Added {artist} albums to queue",startConvertingSpotifyPlaylist:"Converting spotify tracks to Deezer tracks",finishConvertingSpotifyPlaylist:"Spotify playlist converted",loginNeededToDownload:"You need to log in to download tracks!",deezerNotAvailable:"Deezer is not available in your country. You should use a VPN.",startGeneratingItems:"Processing {n} items...",finishGeneratingItems:"Generated {n} items."},settings:{title:"Settings",languages:"Languages",login:{title:"Login",loggedIn:"You are logged in as {username}",arl:{question:"How do I get my own ARL?",update:"Update ARL"},logout:"Logout",login:"Login via deezer.com"},appearance:{title:"Appearance",slimDownloadTab:"Slim download tab",slimSidebar:"Slim Sidebar"},downloadPath:{title:"Download Path"},templates:{title:"Templates",tracknameTemplate:"Trackname template",tracknameAvailableVariables:"Available trackname variables",albumTracknameTemplate:"Album track template",albumTracknameAvailableVariables:"Available album track variables",playlistTracknameTemplate:"Playlist track template",playlistTracknameAvailableVariables:"Available playlist track variables"},folders:{title:"Folders",createPlaylistFolder:"Create folder for playlists",playlistNameTemplate:"Playlist folder template",createArtistFolder:"Create folder for artist",artistNameTemplate:"Artist folder template",createAlbumFolder:"Create folder for album",albumNameTemplate:"Album folder template",createCDFolder:"Create folder for CDs",createStructurePlaylist:"Create folder structure for playlists",createSingleFolder:"Create folder structure for singles"},trackTitles:{title:"Track titles",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"Illegal Character replacer"},downloads:{title:"Downloads",queueConcurrency:"Concurrent Downloads",maxBitrate:{title:"Preferred Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Should I overwrite the files?",y:"Yes, overwrite the file",n:"No, don't overwrite the file",t:"Overwrite only the tags",b:"No, keep both files and add a number to the duplicate",e:"No, and don't look at the extensions"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Search fallback",logErrors:"Create log files for errors",logSearched:"Create log files for searched tracks",createM3U8File:"Create playlist file",syncedLyrics:"Create .lyr files (Sync Lyrics)",playlistFilenameTemplate:"Playlist filename template",saveDownloadQueue:"Save download queue when closing the app"},covers:{title:"Album covers",saveArtwork:"Save Covers",coverImageTemplate:"Cover name template",saveArtworkArtist:"Save artist image",artistImageTemplate:"Artist image template",localArtworkSize:"Local artwork size",embeddedArtworkSize:"Embedded artwork size",localArtworkFormat:{title:"What format do you want the local artwork to be?",jpg:"A jpeg image",png:"A png image",both:"Both a jpeg and a png"},jpegImageQuality:"JPEG image quality",embeddedArtworkPNG:"Save embedded artwork as PNG",embeddedPNGWarning:"PNGs are not officialy supported by Deezer and can be buggy",imageSizeWarning:"Anything above x1200 is not officialy used by Deezer, you may encounter issues",coverDescriptionUTF8:"Save cover description using UTF8 (iTunes Cover Fix)"},tags:{head:"Which tags to save",title:"Title",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Track Number",trackTotal:"Track Total",discNumber:"Disc Number",discTotal:"Disc Total",albumArtist:"Album Artist",genre:"Genre",year:"Year",date:"Date",explicit:"Explicit Lyrics",isrc:"ISRC",length:"Track Length",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"Unsynchronized Lyrics",syncedLyrics:"Synchronized Lyrics",copyright:"Copyright",composer:"Composer",involvedPeople:"Involved People",source:"Source and song ID"},other:{title:"Other",savePlaylistAsCompilation:"Save playlists as compilation",useNullSeparator:"Use null separator",saveID3v1:"Save ID3v1 as well",multiArtistSeparator:{title:"How would you like to separate your artists?",nothing:"Save only the main artist",default:"Using standard specification",andFeat:"Using & and feat.",using:'Using "{separator}"'},singleAlbumArtist:"Save only the main album artist",albumVariousArtists:'Keep "Various Artists" in the Album Artists',removeAlbumVersion:'Remove "Album Version" from track title',removeDuplicateArtists:"Remove combinations of artists",dateFormat:{title:"Date format for FLAC files",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"What should I do with featured artists?",0:"Nothing",1:"Remove it from the title",3:"Remove it from the title and the album title",2:"Move it to the title"},titleCasing:"Title casing",artistCasing:"Artist casing",casing:{nothing:"Keep unchanged",lower:"lowercase",upper:"UPPERCASE",start:"Start Of Each Word",sentence:"Like a sentence"},previewVolume:"Preview Volume",executeCommand:{title:"Command to execute after download",description:"Leave blank for no action"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"How do I enable Spotify Features?"},reset:"Reset to Default",resetMessage:"Are you sure you want to go back to default settings?",save:"Save",toasts:{init:"Settings loaded!",update:"Settings updated!",reset:"Settings reset to default!",ARLcopied:"ARL copied to clipboard"}},sidebar:{home:"home",search:"search",charts:"charts",favorites:"favorites",linkAnalyzer:"link analyzer",settings:"settings",about:"about"},tracklist:{downloadSelection:"Download selection"}},es={globals:{welcome:"Bienvenido a deemix",back:"atr\xE1s",loading:"cargando",download:"Descarga {thing}",by:"por {artist}",in:"en {album}",download_hint:"Descargar",play_hint:"Reproducir",toggle_download_tab_hint:"Expandir/Colapsar",clean_queue_hint:"Limpieza terminada",cancel_queue_hint:"Cancelar todo",open_downloads_folder:"Abrir la carpeta de descargas",cut:"cortar",copy:"copiar",copyLink:"copiar vinculo",copyImageLink:"copiar el v\xEDnculo de la imagen",copyDeezerLink:"copiar el v\xEDnculo de Deezer",paste:"pegar",listTabs:{empty:"",all:"todo",top_result:"mejor resultado",album:"\xE1lbum | \xE1lbumes",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"pista | pistas",trackN:"0 pistas | {n} pista | {n} pistas",releaseN:"0 entregas | {n} entrega | {n} entregas",playlist:"lista de reproducci\xF3n | listas de reproducci\xF3n",compile:"compilaci\xF3n | compilaciones",ep:"ep | eps",more:"M\xE1s \xE1lbumes",featured:"Aparece en",spotifyPlaylist:"lista de reproducci\xF3n spotify | listas de reproducci\xF3n spotify",releaseDate:"fecha de publicaci\xF3n",error:"error"}},about:{updates:{currentVersion:"Versi\xF3n actual",versionNotAvailable:"N/D",updateAvailable:"No est\xE1s ejecutando la \xFAltima versi\xF3n disponible: {versi\xF3n}",deemixVersion:"versi\xF3n de la biblioteca deemix"},titles:{usefulLinks:"Enlaces \xFAtiles",bugReports:"Reportar fallos",contributing:"Contribuye",donations:"Donaciones",license:"Licencia"},subtitles:{bugReports:"\xBFHay algo que no funcione en Deemix? \xA1D\xEDganoslo!",contributing:"\xBFQuieres contribuir a este proyecto? \xA1Puedes hacerlo de diferentes maneras!",donations:"\xBFQuiere contribuir monetariamente? \xA1Puedes hacer una donaci\xF3n!"},usesLibrary:"Esta aplicaci\xF3n usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.",thanks:"Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.",upToDate:{text:"Mantente al d\xEDa con las actualizaciones siguiendo el {newsChannel} en Telegram.",newsChannel:"canal de noticias"},officialWebsite:"P\xE1gina web oficial",officialRepo:"Repositorio de la biblioteca oficial",officialWebuiRepo:"Repositorio oficial de WebUI",officialSubreddit:"Subreddit oficial",newsChannel:"Canal de noticias",questions:{text:"Si tienes preguntas o problemas con la aplicaci\xF3n, busca una soluci\xF3n en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de informar de un error aseg\xFArese de que est\xE1 ejecutando la \xFAltima versi\xF3n de la aplicaci\xF3n y que lo que quiere informar es en realidad un error y no algo que est\xE1 mal s\xF3lo en su extremo.",beSure:"Aseg\xFArate de que el fallo es reproducible en otras m\xE1quinas y tambi\xE9n NO reporte un fallo si ya ha sido reportado.",duplicateReports:"Los informes de errores duplicados se cerrar\xE1n, as\xED que mant\xE9ngase al tanto de eso.",dontOpenIssues:"NO abra problemas para hacer preguntas, hay un subreddit para eso.",newUI:{text:"Si tienes fluidez en Python podr\xEDas intentar hacer una nueva interfaz de usuario para la aplicaci\xF3n usando la biblioteca base, o arreglar los errores de la biblioteca con una petici\xF3n pull en el {repo}.",repo:"repo"},acceptFeatures:"Tambi\xE9n acepto caracter\xEDsticas, pero no cosas complejas, ya que se pueden implementar directamente en la aplicaci\xF3n y no en la biblioteca.",otherLanguages:"\xA1Si dominas otro lenguaje de programaci\xF3n podr\xEDas intentar portar Deemix a otros lenguajes de programaci\xF3n!",understandingCode:"\xBFNecesitas ayuda para entender el c\xF3digo? S\xF3lo tienes que poner RemixDev en Telegram o Reddit.",contributeWebUI:{text:"Si conoces Vue.js (JavaScript), HTML o CSS podr\xEDas contribuir a la {webui}.",webui:"WebUI"},itsFree:"Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.",notObligated:"No te sientas obligado a donar, \xA1te aprecio de todas formas!",lincensedUnder:{text:"Esta obra est\xE1 autorizada bajo una {gpl3}.",gpl3:"GNU Licencia P\xFAblica General 3.0"}},charts:{title:"Listas",changeCountry:"Cambiar pa\xEDs",download:"Descargar la lista"},errors:{title:"Errores para {name}",ids:{invalidURL:"No se reconoce la URL",unsupportedURL:"La URL a\xFAn no est\xE1 soportada",ISRCnotOnDeezer:"La pista ISRC no est\xE1 disponible en Deezer",notYourPrivatePlaylist:"No puedes descargar otras listas de reproducci\xF3n privadas.",spotifyDisabled:"Las funciones de Spotify no est\xE1 configurado correctamente.",trackNotOnDeezer:"\xA1No se encontr\xF3 la pista en Deezer!",albumNotOnDeezer:"\xA1El \xE1lbum no se encuentra en Deezer!",notOnDeezer:"\xA1Pista no disponible en Deezer!",notEncoded:"\xA1Pista a\xFAn no codificada!",notEncodedNoAlternative:"\xA1Pista a\xFAn no codificada y no se ha encontrado ninguna alternativa!",wrongBitrate:"La pista no se encuentra a la velocidad de bitrate deseada.",wrongBitrateNoAlternative:"\xA1Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!",no360RA:"La pista no est\xE1 disponible en Reality Audio 360.",notAvailable:"\xA1La pista no est\xE1 disponible en los servidores de Deezer!",notAvailableNoAlternative:"\xA1La pista no est\xE1 disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!",noSpaceLeft:"\xA1No queda espacio en el dispositivo!"}},favorites:{title:"Favoritos",noPlaylists:"No se han encontrado listas de reproducci\xF3n",noAlbums:"No se han encontrado \xE1lbumes favoritos",noArtists:"No se han encontrado artistas favoritos",noTracks:"No se han encontrado pistas favoritas"},home:{needTologin:"Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.",openSettings:"Abrir la configuraci\xF3n",sections:{popularPlaylists:"Listas de reproducci\xF3n populares",popularAlbums:"Los \xE1lbumes m\xE1s stremeados"}},linkAnalyzer:{info:"Puedes usar esta secci\xF3n para encontrar m\xE1s informaci\xF3n sobre el enlace que est\xE1s tratando de descargar.",useful:"Esto es \xFAtil si est\xE1 tratando de descargar algunas pistas que no est\xE1n disponibles en su pa\xEDs y quiere saber d\xF3nde est\xE1n disponibles, por ejemplo.",linkNotSupported:"Este enlace a\xFAn no est\xE1 soportado",linkNotSupportedYet:"Parece que este enlace a\xFAn no est\xE1 soportado, intenta analizar otro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duraci\xF3n",diskNumber:"N\xFAmero del disco",trackNumber:"N\xFAmero de la pista",releaseDate:"Fecha de lanzamiento",bpm:"BPM",label:"Etiqueta",recordType:"Tipo de grabaci\xF3n",genres:"G\xE9neros",tracklist:"Lista de pista"}},search:{startSearching:"\xA1Comienza a buscar!",description:"Puedes buscar un tema, un \xE1lbum entero, un artista, una lista de reproducci\xF3n... \xA1todo! Tambi\xE9n puedes pegar un enlace de Deezer",fans:"{n} fans",noResults:"Ningun resultado",noResultsTrack:"No se encontraron pistas",noResultsAlbum:"No se encontraron \xE1lbumes",noResultsArtist:"No se encontraron artistas",noResultsPlaylist:"No se encontraron listas de reproducci\xF3n"},searchbar:"Busca lo que quieras (o simplemente pega un enlace)",downloads:"descargas",toasts:{restoringQueue:"Restaurando la cola de descarga...",queueRestored:"\xA1Cola de descarga restaurada!",addedToQueue:"{item} a\xF1adidos a la cola",addedMoreToQueue:"{n} elementos a\xF1adidos a la cola",alreadyInQueue:"\xA1{item} ya est\xE1 en la cola!",finishDownload:"{item} terminado de descargar.",allDownloaded:"\xA1Todas las descargas se han completado!",refreshFavs:"\xA1Actualizaci\xF3n completada!",loggingIn:"Conectando...",loggedIn:"Conectado",alreadyLogged:"Ya est\xE1 conectado",loginFailed:"No se puede conectar",loggedOut:"Desconectado",cancellingCurrentItem:"Cancelando el elemento actual.",currentItemCancelled:"El elemento actual se ha cancelado.",startAddingArtist:"A\xF1adiendo los \xE1lbumes de {artist} a la cola",finishAddingArtist:"Se ha a\xF1adido los \xE1lbumes de {artist} a la cola",startConvertingSpotifyPlaylist:"Convertir las pistas de Spotify en pistas de Deezer",finishConvertingSpotifyPlaylist:"Lista de reproducci\xF3n de Spotify convertida",loginNeededToDownload:"\xA1Necesitas iniciar sesi\xF3n para descargar t\xEDtulos!",deezerNotAvailable:"Deezer no est\xE1 disponible en su pa\xEDs. Deber\xEDas usar una VPN."},settings:{title:"Configuraci\xF3n",languages:"Idiomas",login:{title:"Iniciar Sesi\xF3n",loggedIn:"Usted est\xE1 conectado como {nombre de usuario}",arl:{question:"\xBFC\xF3mo consigo mi propio ARL?",update:"Actualiza la ARL"},logout:"Cerrar Sesi\xF3n",login:"Inicia sesi\xF3n a trav\xE9s de deezer.com"},appearance:{title:"Apariencia",slimDownloadTab:"Pesta\xF1a de descargas fina"},downloadPath:{title:"Ruta de descarga"},templates:{title:"Plantillas",tracknameTemplate:"Plantilla de nombres de pista",albumTracknameTemplate:"Plantilla de pista del \xE1lbum",playlistTracknameTemplate:"Plantilla de pista de la lista de reproducci\xF3n"},folders:{title:"Carpetas",createPlaylistFolder:"Crear una carpeta para las listas de reproducci\xF3n",playlistNameTemplate:"Plantilla de la carpeta de la lista de reproducci\xF3n",createArtistFolder:"Crear carpeta para el artista",artistNameTemplate:"Plantilla de la carpeta del artista",createAlbumFolder:"Crear carpeta para el \xE1lbum",albumNameTemplate:"Plantilla de la carpeta del \xE1lbum",createCDFolder:"Crear una carpeta para los CDs",createStructurePlaylist:"Crear una estructura de carpetas para las listas de reproducci\xF3n",createSingleFolder:"Crear una estructura de carpetas para individuales"},trackTitles:{title:"T\xEDtulos de las pistas",padTracks:"Pad de pistas",paddingSize:"Sobrescribir el tama\xF1o del pad",illegalCharacterReplacer:"Reemplazo del car\xE1cter ilegal"},downloads:{title:"Descargas",queueConcurrency:"Descargas simult\xE1neas",maxBitrate:{title:"Tasa de bits preferida",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\xBFDesea que se sobreescriban los archivos?",y:"S\xED, sobrescribir el archivo",n:"No, no sobrescribir el archivo",t:"Sobrescribir s\xF3lo las etiquetas",b:"No, mantener los dos archivos y agregar un n\xFAmero al archivo duplicado",e:"No, y no mirar las extensiones"},fallbackBitrate:"La soluci\xF3n alternativa de bitrate",fallbackSearch:"B\xFAsqueda de la segunda opci\xF3n",logErrors:"Crear archivos de registro de errores",logSearched:"Crear archivos de registro para las pistas buscadas",createM3U8File:"Crear archivo de la lista de reproducci\xF3n",syncedLyrics:"Crear archivos .lyr (lyrics sincronizadas)",playlistFilenameTemplate:"Plantilla de nombres de archivos de la lista de reproducci\xF3n",saveDownloadQueue:"Guardar la cola de descarga al cerrar la aplicaci\xF3n"},covers:{title:"Portadas de \xE1lbumes",saveArtwork:"Guardar las portadas",coverImageTemplate:"Plantilla de nombres de portada",saveArtworkArtist:"Guardar imagen de artista",artistImageTemplate:"Plantilla de imagen de artista",localArtworkSize:"El tama\xF1o de la portada local",embeddedArtworkSize:"El tama\xF1o de la portada incorporada",localArtworkFormat:{title:"\xBFQu\xE9 formato quieres que tenga la portada local?",jpg:"Una imagen jpeg",png:"Una imagen png",both:"Ambos, jpeg y png"},jpegImageQuality:"Calidad de la imagen JPEG",embeddedArtworkPNG:"Guardar las im\xE1genes incrustadas como PNG",embeddedPNGWarning:"Las PNG no est\xE1n oficialmente soportadas por Deezer y puedes encontrar errores.",imageSizeWarning:"Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes",coverDescriptionUTF8:"Guardar la descripci\xF3n de la portada usando UTF8 (arregla la portada de iTunes)"},tags:{head:"\xBFQu\xE9 etiquetas guardar?",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Portada",trackNumber:"N\xFAmero de pista",trackTotal:"Total de pistas",discNumber:"N\xFAmero del disco",discTotal:"Total del disco",albumArtist:"Artista del \xE1lbum",genre:"G\xE9nero",year:"A\xF1o",date:"Fecha",explicit:"Letras expl\xEDcitas",isrc:"ISRC",length:"Duraci\xF3n de la pista",barcode:"C\xF3digo de barras del \xE1lbum (UPC)",bpm:"BPM",replayGain:"Ganancia de la reproducci\xF3n",label:"Etiqueta del \xE1lbum",lyrics:"Lyrics no sincronizadas",syncedLyrics:"Lyrics sincronizadas",copyright:"Derechos de autor",composer:"Compositor",involvedPeople:"Personas involucradas"},other:{title:"Otro",savePlaylistAsCompilation:"Guardar las listas de reproducci\xF3n como una compilaci\xF3n",useNullSeparator:"Usar separador nulo",saveID3v1:"Guarda la ID3v1 tambi\xE9n",multiArtistSeparator:{title:"\xBFC\xF3mo le gustar\xEDa separar a sus artistas?",nothing:"Guardar s\xF3lo el artista principal",default:"Usar la especificaci\xF3n est\xE1ndar",andFeat:"Usar & y feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar s\xF3lo el artista principal del \xE1lbum",albumVariousArtists:'Mantener "Various Artists" en los artistas del \xE1lbum',removeAlbumVersion:'Eliminar "Album Version" del t\xEDtulo de la pista',removeDuplicateArtists:"Eliminar las combinaciones de artistas",dateFormat:{title:"Formato de fecha para los archivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"\xBFQu\xE9 debo hacer con los artistas destacados?",0:"Nada",1:"Quitarlo del t\xEDtulo",3:"Quitarlo del t\xEDtulo y del t\xEDtulo del \xE1lbum",2:"Moverlo al t\xEDtulo"},titleCasing:"Capitalizar t\xEDtulo",artistCasing:"Capitalizar artista",casing:{nothing:"Mant\xE9ner sin cambios",lower:"min\xFAsculas",upper:"MAY\xDASCULAS",start:"Al Principio De Cada Palabra",sentence:"Como una frase"},previewVolume:"Volumen de previsualizaci\xF3n",executeCommand:{title:"Comando a ejecutar despu\xE9s de la descarga",description:"Dejar en blanco para no hacer nada"}},spotify:{title:"Funciones de Spotify",clientID:"ID del cliente de Spotify",clientSecret:"Cliente Secreto Spotify",username:"Nombre de usuario de Spotify"},reset:"Restablecer el valor por defecto",save:"Guardar",toasts:{init:"\xA1Configuraciones cargadas!",update:"\xA1Ajustes actualizados!",ARLcopied:"ARL copiado al portapapeles"}},sidebar:{home:"inicio",search:"buscar",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizar enlaces",settings:"ajustes",about:"acerca de"},tracklist:{downloadSelection:"Descargar selecci\xF3n"}},de={globals:{welcome:"Willkommen bei deemix",back:"zur\xFCck",loading:"l\xE4dt",download:"Download {thing}",by:"von {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Erweitern/Minimieren",clean_queue_hint:"Entferne vollst\xE4ndige",cancel_queue_hint:"Alle abbrechen",listTabs:{empty:"",all:"alle",top_result:"Top Ergebnis",album:"Album | Alben",artist:"K\xFCnstler | K\xFCnstler",single:"Single | Singles",title:"Titel | Titel",track:"Track | Tracks",trackN:"0 Tracks | {n} Track | {n} Tracks",releaseN:"0 Releases | {n} Release | {n} Releases",playlist:"Playlist | Playlists",compile:"Sammlung | Sammlungen",ep:"EP | EPs",spotifyPlaylist:"Spotify Playlist | Spotify Playlists",releaseDate:"Ver\xF6ffentlichungsdatum",error:"Fehler"}},about:{titles:{usefulLinks:"N\xFCtzliche Links",bugReports:"Fehlermeldung",contributing:"Mitwirkende",donations:"Spenden",license:"Lizenz"},subtitles:{bugReports:"Funktioniert etwas in Deemix nicht? Sag uns bescheid!",contributing:"Du m\xF6chtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!",donations:"Du m\xF6chtest deemix finanziell unterst\xFCtzen? Dann lasse eine kleine Spende da!"},usesLibrary:"Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.",thanks:"Ein Dankesch\xF6n geht an rtonno, uhwot and lollilol f\xFCr die Hilfe bei diesem Projekt und an BasCurtiz f\xFCr die Erstellung des Logos.",upToDate:{text:"Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.",newsChannel:"News Channel"},officialWebsite:"Offizielle Website",officialRepo:"Offizielle Library Repository",officialWebuiRepo:"Offizielle WebUI Repository",officialSubreddit:"Offizieller Subreddit",newsChannel:"News Channel",questions:{text:"Bei Fragen oder Problemen mit der App, suche als erstes nach einer L\xF6sung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.",subreddit:"Subreddit"},beforeReporting:"Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden m\xF6chtest, tats\xE4chlich ein Bug ist und nicht nur bei dir falsch ist.",beSure:"Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.",duplicateReports:"Doppelte Fehlerberichte werden geschlossen, achte darauf.",dontOpenIssues:"ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit daf\xFCr.",newUI:{text:"Wenn du Python flie\xDFend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfl\xE4che f\xFCr die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.",repo:"deemix Repo"},acceptFeatures:"Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden k\xF6nnen.",otherLanguages:"Wenn du eine andere Programmiersprache flie\xDFend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!",understandingCode:"Du ben\xF6tigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.",contributeWebUI:{text:"Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, k\xF6nntest du etwas zum {webui} beitragen.",webui:"WebUI"},itsFree:"Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die K\xFCnstler unterst\xFCtzen, die du magst bevor du die Entwickler unterst\xFCtzt.",notObligated:"F\xFChle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!",lincensedUnder:{text:"Diese Arbeit ist lizensiert unter der {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Land wechseln",download:"Download Chart"},errors:{title:"Errors f\xFCr {name}",ids:{invalidURL:"URL nicht erkannt",unsupportedURL:"URL noch nicht unterst\xFCtzt",ISRCnotOnDeezer:"Track ISRC ist auf deezer nicht verf\xFCgbar",notYourPrivatePlaylist:"Du kannst keine privaten Playlisten anderer herunterladen.",spotifyDisabled:"Spotify-Funktionen sind nicht richtig eingerichtet",trackNotOnDeezer:"Track ist nicht verf\xFCgbar auf Deezer!",albumNotOnDeezer:"Album auf Deezer nicht gefunden!",notOnDeezer:"Track auf Deezer nicht verf\xFCgbar!",notEncoded:"Track noch nicht codiert!",notEncodedNoAlternative:"Track noch nicht codiert und keine Alternative gefunden!",wrongBitrate:"Track mit gew\xFCnschter Bitrate nicht gefunden.",wrongBitrateNoAlternative:"Track mit gew\xFCnschter Bitrate nicht gefunden und keine Alternative gefunden!",no360RA:"Track ist nicht verf\xFCgbar in Reality Audio 360.",notAvailable:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer!",notAvailableNoAlternative:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer und keine Alternativen gefunden!!"}},favorites:{title:"Favoriten",noPlaylists:"Keine Playlist gefunden",noAlbums:"Keine favorisierten Alben gefunden",noArtists:"Keine favorisierten K\xFCnstler gefunden",noTracks:"Keine favorisierten Tracks gefunden"},home:{needTologin:"Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.",openSettings:"Einstellungen \xF6ffnen",sections:{popularPlaylists:"Beliebte Playlists",popularAlbums:"Meistgestreamte Alben"}},linkAnalyzer:{info:"Diesen Abschnitt kannst du nutzen, um weitere Informationen \xFCber den gew\xFCnschten Link zu erhalten, den du herunterladen m\xF6chtest.",useful:"Dies ist z.B. n\xFCtzlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verf\xFCgbar sind, und du wissen m\xF6chtest, wo sie verf\xFCgbar sind.",linkNotSupported:"Dieser Link wird noch nicht unterst\xFCtzt",linkNotSupportedYet:"Es scheint so, als ob dieser Link noch nicht unterst\xFCtzt wird. Versuche einen anderen Link zu analysieren.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dauer",diskNumber:"CD Nummer",trackNumber:"Track Nummer",releaseDate:"Ver\xF6ffentlichungsdatum",bpm:"BPM",label:"Label",recordType:"Art der Aufnahme",genres:"Genres",tracklist:"Trackliste"}},search:{startSearching:"Suche starten!",description:"Du kannst einen Titel, ein ganzes Album, einen K\xFCnstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einf\xFCgen",fans:"{n} Fans",noResults:"Keine Ergebnisse",noResultsTrack:"Keine Tracks gefunden",noResultsAlbum:"Keine Alben gefunden",noResultsArtist:"Keinen K\xFCnstler gefunden",noResultsPlaylist:"Keine Playlist gefunden"},searchbar:"Suche nach allem, was dir gef\xE4llt (oder f\xFCge einfach einen Link ein)",downloads:"Downloads",toasts:{addedToQueue:"{item} zur Warteschlange hinzugef\xFCgt",alreadyInQueue:"{item} ist bereits in der Warteschlange!",finishDownload:"{item} vollst\xE4ndig heruntergeladen.",allDownloaded:"Alle Downloads abgeschlossen!",refreshFavs:"Abgeschlossene Downloads neu laden!",loggingIn:"Einloggen",loggedIn:"Eingeloggt",alreadyLogged:"Bereits eingeloggt",loginFailed:"Login fehlgeschlagen",loggedOut:"Ausgeloggt",cancellingCurrentItem:"Aktuelle Auswahl abbrechen.",currentItemCancelled:"Aktuelle Auswahl wurde abgebrochen",startAddingArtist:"{artist} Alben werden hinzugef\xFCgt",finishAddingArtist:"{artist} Alben wurden hinzugef\xFCgt",startConvertingSpotifyPlaylist:"Konvertierern von Spotify-Tracks zu Deezer-Tracks",finishConvertingSpotifyPlaylist:"Spotify Playlist convertiert"},settings:{title:"Einstellungen",languages:"Sprachen",login:{title:"Login",loggedIn:"Du bist eingeloggt als {username}",arl:{question:"Wie bekomme ich meine eigene ARL?",update:"Update ARL"},logout:"Logout"},appearance:{title:"Design",slimDownloadTab:"schmaler Download-Tab"},downloadPath:{title:"Download Pfad"},templates:{title:"Vorlagen",tracknameTemplate:"Vorlage f\xFCr den Tracknamen",albumTracknameTemplate:"Vorlage f\xFCr Tracks in einem Album",playlistTracknameTemplate:"Vorlage f\xFCr Tracks in einer Playlist"},folders:{title:"Folders",createPlaylistFolder:"Ordner f\xFCr Playlist erstellen",playlistNameTemplate:"Vorlage f\xFCr Playlist-Ordner",createArtistFolder:"Ordner f\xFCr K\xFCnstler erstellen",artistNameTemplate:"Vorlage f\xFCr K\xFCnstler-Ordner",createAlbumFolder:"Ordner f\xFCr Album erstellen",albumNameTemplate:"Vorlage f\xFCr Album-Ordner",createCDFolder:"Ordner f\xFCr CDs erstellen",createStructurePlaylist:"Erstellen von K\xFCnstler-, Alben- und CD-Ordnern auch f\xFCr Playlists",createSingleFolder:"Ordner f\xFCr einzelne Titel erstellen"},trackTitles:{title:"Songtitel",padTracks:"Einheitliche L\xE4nge der Titelnummern (voranstehende Nullen werden erg\xE4nzt)",paddingSize:"Innenabstand \xFCberschreiben",illegalCharacterReplacer:"Unzul\xE4ssige Zeichen ersetzen"},downloads:{title:"Downloads",queueConcurrency:"Gleichzeitige Downloads",maxBitrate:{title:"Bevorzugte Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Soll ich die Dateien \xFCberchreiben?",y:"Ja \xFCberschreibe die Dateien",n:"Nein \xFCberschreibe die Dateien nicht",t:"\xDCberschreibe nur die Tags",b:"Nein, behalte beide Dateien und f\xFCge der Kopie eine Nummer hinzu"},fallbackBitrate:"Falls gew\xFCnschte Bitrate nicht verf\xFCgbar, auf niedrigere Bitrate zur\xFCckgreifen",fallbackSearch:"Zur Suche zur\xFCckkehren, wenn der Song nicht verf\xFCgbar ist",logErrors:"Protokolldatei f\xFCr Fehler im Download-Ordner erstellen",logSearched:"Protokolldatei f\xFCr gesuchte Titel erstellen",createM3U8File:"Erstelle Playlist-Datei (M3U8)",syncedLyrics:"Erstelle synchrone Lyrics-Datei (.lyr)",playlistFilenameTemplate:"Vorlage f\xFCr den Namen der Playlist",saveDownloadQueue:"Download-Warteschlange beim Schlie\xDFen der App speichern"},covers:{title:"Album Cover",saveArtwork:"Cover speichern",coverImageTemplate:"Vorlage f\xFCr den Covernamen",saveArtworkArtist:"Speichere das K\xFCnstlerbild",artistImageTemplate:"Vorlage des K\xFCnstlerbildes",localArtworkSize:"Lokale Grafikgr\xF6\xDFe",embeddedArtworkSize:"Eingebettete Grafikgr\xF6\xDFe",localArtworkFormat:{title:"Welches Datei-Format soll das Cover haben?",jpg:"Ein jpg Bild",png:"Ein png Bild",both:"Beides (jpg + png)"},jpegImageQuality:"JPEG Qualit\xE4t"},tags:{head:"Welche Tags sollen gespeichert werden?",title:"Titel",artist:"K\xFCnstler",album:"Album",cover:"Cover",trackNumber:"Titelnummer",trackTotal:"Titelanzahl",discNumber:"CD Nummer",discTotal:"CDs insgesamt",albumArtist:"Album K\xFCnstler",genre:"Genre",year:"Jahr",date:"Datum",explicit:"Explizite Lyrics",isrc:"ISRC",length:"Titel L\xE4nge",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Wiedergabe Lautst\xE4rke",label:"Album Plattenlabel",lyrics:"Nicht synchronisierte Texte",copyright:"Copyright",composer:"Komponist",involvedPeople:"Mitwirkende Personen"},other:{title:"Sonstige",savePlaylistAsCompilation:"Speichere Playlist als Zusammenstellung",useNullSeparator:"Verwende Nulltrennzeichen",saveID3v1:"Speichere ID3v1 ebenfalls",multiArtistSeparator:{title:"Wie m\xF6chtest du die K\xFCnstler trennen?",nothing:"Speichere nur den Hauptk\xFCnstler",default:"Verwende Standard Spezifikationen",andFeat:"Verwende & und feat.",using:'Verwende "{separator}"'},singleAlbumArtist:"Nur den Hauptk\xFCnstler speichern",albumVariousArtists:'Verschiedene K\xFCnstler" im Album K\xFCnstler Tag behalten',removeAlbumVersion:'Entferne die "Album Version" vom Songtitel',removeDuplicateArtists:"Kombinationen von K\xFCnstlern entfernen",dateFormat:{title:"Datumsformatierung f\xFCr FLAC Dateien",year:"JJJJ",month:"MM",day:"TT"},featuredToTitle:{title:"Was soll ich mit featured Artists machen?",0:"Nichts",1:"Vom Titel entfernen",3:"Vom Titel und Albumtitel entfernen",2:"Zu dem Titel hinzuf\xFCgen"},titleCasing:"Titel-Schreibweise",artistCasing:"K\xFCnstler-Schreibweise",casing:{nothing:"Unbearbeitet lassen",lower:"klein",upper:"GROSS",start:"Wortanfang Gross",sentence:"Satzanfang gross"},previewVolume:"Vorschau der Lautst\xE4rke",executeCommand:{title:"Befehl, der nach dem Download ausgef\xFChrt werden soll",description:"Leer lassen ohne Aktion"}},spotify:{title:"Spotify Features",clientID:"Spotify Client ID",clientSecret:"Spotify Client Secret",username:"Spotify Benutzername"},reset:"Auf Standardwerte zur\xFCcksetzen",save:"Speichern",toasts:{init:"Einstellungen geladen!",update:"Einstellungen aktualisiert!",ARLcopied:"ARL wurde in die Zwischenablage kopiert"}},sidebar:{home:"Home",search:"Suche",charts:"Charts",favorites:"Favoriten",linkAnalyzer:"Link Analyse",settings:"Einstellungen",about:"Info"},tracklist:{downloadSelection:"Downloads"}},fr={globals:{welcome:"Bienvenue dans deemix",back:"retour",loading:"chargement en cours",download:"T\xE9l\xE9charger {thing}",by:"par {artist}",in:"dans {album}",download_hint:"T\xE9l\xE9charger",play_hint:"Lire",toggle_download_tab_hint:"D\xE9velopper/R\xE9duire",clean_queue_hint:"Retirer Les T\xE2ches Termin\xE9es",cancel_queue_hint:"Tout Annuler",open_downloads_folder:"Ouvrir Le Dossier De T\xE9l\xE9chargements",cut:"couper",copy:"copier",copyLink:"copier le lien",copyImageLink:"copier le lien de l'image",copyDeezerLink:"copier le lien deezer",paste:"coller",listTabs:{empty:"",all:"tout",top_result:"meilleur r\xE9sultat",album:"album | albums",artist:"artiste | artistes",single:"single | singles",title:"titre | titres",track:"piste | pistes",releaseN:"0 sortie | {n} sortie | {n} sorties",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"Plus d'albums",featured:"Appara\xEEt dans",spotifyPlaylist:"playlist spotify | playlists spotify",releaseDate:"date de sortie",error:"erreur",trackN:"0 piste | {n} piste | {n} pistes",albumN:"0 album | {n} album | {n} albums",artistN:"0 artiste | {n} artiste | {n} artistes",playlistN:"0 playlist | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app en ligne",offline:"app hors ligne"},updates:{currentVersion:"Version Actuelle",currentWebuiVersion:"Version Actuelle De La WebUI",versionNotAvailable:"N/A",updateAvailable:"Vous n'utilisez pas la derni\xE8re version disponible : {version}",deemixVersion:"Version de la biblioth\xE8que deemix"},titles:{usefulLinks:"Liens Utiles",bugReports:"Rapports De Bug",contributing:"Contribution",donations:"Dons",license:"Licence"},subtitles:{bugReports:"Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !",contributing:"Vous souhaitez contribuer \xE0 ce projet ? Vous pouvez le faire de diff\xE9rentes mani\xE8res !",donations:"Vous souhaitez contribuer financi\xE8rement ? Vous pouvez faire un don !"},usesLibrary:"Cette application utilise la biblioth\xE8que deemix, que vous pouvez exploiter afin de cr\xE9er votre propre interface utilisateur pour deemix.",thanks:"Merci \xE0 rtonno, uhwot et lollilol de m'avoir aid\xE9 dans ce projet ainsi qu'\xE0 BasCurtiz pour la cr\xE9ation de l'ic\xF4ne.",upToDate:{text:"Restez inform\xE9 des mises \xE0 jour en suivant le {newsChannel} sur Telegram.",newsChannel:"canal d'informations"},officialWebsite:"Site Officiel",officialRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La Biblioth\xE8que",officialWebuiRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La WebUI",officialSubreddit:"Subreddit Officiel",newsChannel:"Canal d'Informations",questions:{text:"Si vous avez des questions ou des probl\xE8mes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en d\xE9crivant votre probl\xE8me.",subreddit:"subreddit"},beforeReporting:"Avant de signaler un bug, assurez-vous que vous utilisez la version la plus r\xE9cente de l'application. V\xE9rifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre c\xF4t\xE9.",beSure:"Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a d\xE9j\xE0 \xE9t\xE9 recens\xE9.",duplicateReports:"Les rapports de bug r\xE9p\xE9titifs seront supprim\xE9s, merci d'en prendre bonne note.",dontOpenIssues:"NE PAS rapporter de probl\xE8me s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.",newUI:{text:"Si vous ma\xEEtrisez python, vous pouvez essayer de cr\xE9er une nouvelle interface utilisateur pour l'application \xE0 l'aide de la biblioth\xE8que de base, ou corriger des bugs dans la biblioth\xE8que \xE0 l'aide d'une demande de fusion de branches (pull request) sur le {repo}.",repo:"r\xE9pertoire de d\xE9p\xF4t"},acceptFeatures:"J'accepte \xE9galement les nouvelles fonctionnalit\xE9s, mais pas de choses complexes, dans la mesure o\xF9 elles peuvent \xEAtre impl\xE9ment\xE9es directement dans l'application et non dans la biblioth\xE8que.",otherLanguages:"Si vous ma\xEEtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !",understandingCode:"Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.",contributeWebUI:{text:"Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer \xE0 la {webui}.",webui:"WebUI"},itsFree:"N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes pr\xE9f\xE9r\xE9s avant de supporter les d\xE9veloppeurs.",notObligated:"Ne vous sentez pas oblig\xE9 de faire un don, vous \xEAtes tout de m\xEAme appr\xE9ci\xE9 !",lincensedUnder:{text:"Ce projet s'inscrit dans le cadre de la {gpl3}.",gpl3:"Licence publique g\xE9n\xE9rale GNU, version 3"}},charts:{title:"Classements",changeCountry:"Changer De Pays",download:"T\xE9l\xE9charger Le Classement"},errors:{title:"Erreurs pour {name}",ids:{invalidURL:"Cette URL n'est pas reconnue",unsupportedURL:"Cette URL n'est actuellement pas support\xE9e",ISRCnotOnDeezer:"L'ISRC de la piste est indisponible sur Deezer",notYourPrivatePlaylist:"Vous n'\xEAtes pas autoris\xE9 \xE0 t\xE9l\xE9charger les playlists priv\xE9es de quelqu'un d'autre.",spotifyDisabled:"Les Fonctionnalit\xE9s Spotify ne sont pas configur\xE9es correctement.",trackNotOnDeezer:"La piste est introuvable sur Deezer !",albumNotOnDeezer:"L'album est introuvable sur Deezer !",notOnDeezer:"La piste est indisponible sur Deezer !",notEncoded:"La piste n'a pas encore \xE9t\xE9 encod\xE9e !",notEncodedNoAlternative:"La piste n'a pas encore \xE9t\xE9 encod\xE9e et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",wrongBitrate:"La piste est introuvable au d\xE9bit souhait\xE9.",wrongBitrateNoAlternative:"La piste est introuvable au d\xE9bit souhait\xE9 et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",no360RA:"La piste est indisponible au format Reality Audio 360.",notAvailable:"La piste est indisponible sur les serveurs de Deezer !",notAvailableNoAlternative:"La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",noSpaceLeft:"L'espace disponible sur cet appareil est insuffisant !",albumDoesntExists:"Aucun album n'existe pour cette piste, impossible de collecter les informations n\xE9cessaires"}},favorites:{title:"Favoris",noPlaylists:"Aucune Playlist n'a \xE9t\xE9 trouv\xE9e",noAlbums:"Aucun Album Favori n'a \xE9t\xE9 trouv\xE9",noArtists:"Aucun Artiste Favori n'a \xE9t\xE9 trouv\xE9",noTracks:"Aucune Piste Favorite n'a \xE9t\xE9 trouv\xE9e"},home:{needTologin:"Vous devez vous connecter \xE0 votre compte Deezer avant de pouvoir d\xE9marrer un t\xE9l\xE9chargement.",openSettings:"Ouvrir Les Param\xE8tres",sections:{popularPlaylists:"Playlists les plus \xE9cout\xE9es",popularAlbums:"Albums les plus \xE9cout\xE9s"}},linkAnalyzer:{info:"Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de t\xE9l\xE9charger.",useful:"C'est utile si vous essayez, par exemple, de t\xE9l\xE9charger des pistes indisponibles dans votre pays et que vous souhaitez savoir o\xF9 elles sont disponibles.",linkNotSupported:"Ce lien n'est pas encore pris en charge",linkNotSupportedYet:"Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dur\xE9e",diskNumber:"Num\xE9ro De Disque",trackNumber:"Num\xE9ro De Piste",releaseDate:"Date De Sortie",bpm:"BPM",label:"Label",recordType:"Type d'Enregistrement",genres:"Genres",tracklist:"Liste Des Pistes"}},search:{startSearching:"D\xE9marrer une recherche !",description:"Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez \xE9galement coller un lien Deezer.",fans:"{n} fans",noResults:"Aucun r\xE9sultat",noResultsTrack:"Aucune piste n'a \xE9t\xE9 trouv\xE9e",noResultsAlbum:"Aucun album n'a \xE9t\xE9 trouv\xE9",noResultsArtist:"Aucun artiste n'a \xE9t\xE9 trouv\xE9",noResultsPlaylist:"Aucune playlist n'a \xE9t\xE9 trouv\xE9e"},searchbar:"Saisissez une requ\xEAte (ou collez simplement un lien)",downloads:"t\xE9l\xE9chargements",toasts:{restoringQueue:"Restauration de la file d'attente de t\xE9l\xE9chargement...",queueRestored:"La file d'attente de t\xE9l\xE9chargement a \xE9t\xE9 restaur\xE9e !",addedToQueue:"{item} ajout\xE9 \xE0 la file d'attente",addedMoreToQueue:"{n} \xE9l\xE9ments ajout\xE9s \xE0 la file d'attente",alreadyInQueue:"{item} est d\xE9j\xE0 dans la file d'attente !",finishDownload:"{item} a \xE9t\xE9 t\xE9l\xE9charg\xE9.",allDownloaded:"Tous les t\xE9l\xE9chargements sont termin\xE9s !",refreshFavs:"Actualisation termin\xE9e !",loggingIn:"Connexion en cours...",loggedIn:"Connect\xE9",alreadyLogged:"D\xE9j\xE0 connect\xE9",loginFailed:"Connexion impossible",loggedOut:"D\xE9connect\xE9",cancellingCurrentItem:"Annulation de l'\xE9l\xE9ment actuel.",currentItemCancelled:"\xC9l\xE9ment actuel annul\xE9.",startAddingArtist:"Ajout des albums de {artist} \xE0 la file d'attente",finishAddingArtist:"Les albums de {artist} ont \xE9t\xE9 ajout\xE9s \xE0 la file d'attente",startConvertingSpotifyPlaylist:"Conversion de pistes Spotify en \xE9quivalents Deezer",finishConvertingSpotifyPlaylist:"Playlist Spotify convertie",loginNeededToDownload:"Vous devez vous connecter pour pouvoir t\xE9l\xE9charger des pistes !",deezerNotAvailable:"Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.",startGeneratingItems:"Traitement de {n} \xE9l\xE9ments...",finishGeneratingItems:"{n} \xE9l\xE9ments ont \xE9t\xE9 g\xE9n\xE9r\xE9s."},settings:{title:"Param\xE8tres",languages:"Langues",login:{title:"Connexion",loggedIn:"Vous \xEAtes connect\xE9 en tant que {username}",arl:{question:"Comment obtenir mon ARL personnel ?",update:"Mettre \xE0 jour l'ARL"},logout:"D\xE9connexion",login:"Connexion via deezer.com"},appearance:{title:"Apparence",slimDownloadTab:"Onglet de t\xE9l\xE9chargement compact",slimSidebar:"Barre lat\xE9rale compacte"},downloadPath:{title:"Emplacement De T\xE9l\xE9chargement"},templates:{title:"Mod\xE8les",tracknameTemplate:"Mod\xE8le pour le nom de piste",tracknameAvailableVariables:"Variables disponibles pour le nom de piste",albumTracknameTemplate:"Mod\xE8le pour le nom de piste de l'album",albumTracknameAvailableVariables:"Variables disponibles pour le nom de piste de l'album",playlistTracknameTemplate:"Mod\xE8le pour le nom de piste de la playlist",playlistTracknameAvailableVariables:"Variables disponibles pour le nom de piste de la playlist"},folders:{title:"Dossiers",createPlaylistFolder:"G\xE9n\xE9rer des dossiers par playlist",playlistNameTemplate:"Mod\xE8le pour le nom du dossier de playlist",createArtistFolder:"G\xE9n\xE9rer des dossiers par artiste",artistNameTemplate:"Mod\xE8le pour le nom du dossier d'artiste",createAlbumFolder:"G\xE9n\xE9rer des dossiers par album",albumNameTemplate:"Mod\xE8le pour le nom du dossier d'album",createCDFolder:"G\xE9n\xE9rer des dossiers par CD",createStructurePlaylist:"G\xE9n\xE9rer une structure de dossiers pour les playlists",createSingleFolder:"G\xE9n\xE9rer une structure de dossiers pour les singles"},trackTitles:{title:"Titres des pistes",padTracks:"Longueur uniforme des num\xE9ros de piste (ajoute automatiquement des z\xE9ros devant le num\xE9ro initial de la piste)",paddingSize:"Nombre de z\xE9ros \xE0 ajouter en permanence devant le num\xE9ro initial de la piste",illegalCharacterReplacer:"Substitut aux caract\xE8res non autoris\xE9s (dans les noms de fichiers et de dossiers)"},downloads:{title:"T\xE9l\xE9chargements",queueConcurrency:"T\xE9l\xE9chargements Simultan\xE9s",maxBitrate:{title:"D\xE9bit Pr\xE9f\xE9r\xE9",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Les fichiers doivent-ils \xEAtre \xE9cras\xE9s ?",y:"Oui, \xE9craser le fichier",n:"Non, ne pas \xE9craser le fichier",t:"\xC9craser uniquement les m\xE9tadonn\xE9es",b:"Non, conserver les deux fichiers et ajouter un num\xE9ro au doublon",e:"Non, et ne pas tenir compte de l'extension du fichier"},fallbackBitrate:"Recourir \xE0 un d\xE9bit plus faible si le d\xE9bit pr\xE9f\xE9r\xE9 n'est pas disponible",fallbackSearch:"Rechercher la piste si le lien original n'est pas disponible",logErrors:"Cr\xE9er un fichier journal d'erreurs",logSearched:"Cr\xE9er un fichier journal des pistes recherch\xE9es",createM3U8File:"Cr\xE9er un fichier de playlist",syncedLyrics:"Cr\xE9er des fichiers .lyr (Paroles Synchronis\xE9es)",playlistFilenameTemplate:"Mod\xE8le du nom de fichier de la playlist",saveDownloadQueue:"Enregistrer la file d'attente de t\xE9l\xE9chargement \xE0 la fermeture de l'application"},covers:{title:"Pochettes d'albums",saveArtwork:"Enregistrer Les Pochettes",coverImageTemplate:"Mod\xE8le pour le nom de la pochette",saveArtworkArtist:"Enregistrer l'image de l'artiste",artistImageTemplate:"Mod\xE8le pour le nom de l'image de l'artiste",localArtworkSize:"Taille de l'illustration locale",embeddedArtworkSize:"Taille de l'illustration incorpor\xE9e aux fichiers audio",localArtworkFormat:{title:"Dans quel format souhaitez-vous l'illustration locale ?",jpg:"Une image jpeg",png:"Une image png",both:"\xC0 la fois jpeg et png"},jpegImageQuality:"Qualit\xE9 de l'image JPEG",embeddedArtworkPNG:"Enregistrer l'illustration incorpor\xE9e aux fichiers audio en tant que PNG",embeddedPNGWarning:"Les images PNG ne sont pas officiellement utilis\xE9es par Deezer et pourraient causer des probl\xE8mes.",imageSizeWarning:"Toute valeur sup\xE9rieure \xE0 x1200 n'est pas officiellement support\xE9e par Deezer, vous pourriez donc rencontrer des probl\xE8mes.",coverDescriptionUTF8:"Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)"},tags:{head:"M\xE9tadonn\xE9es \xE0 sauvegarder",title:"Titre",artist:"Artiste",album:"Album",cover:"Pochette",trackNumber:"Num\xE9ro De Piste",trackTotal:"Nombre De Pistes",discNumber:"Num\xE9ro Du Disque",discTotal:"Nombre De Disques",albumArtist:"Artiste De l'Album",genre:"Genre",year:"Ann\xE9e",date:"Date",explicit:"Paroles Explicites",isrc:"ISRC",length:"Longueur De La Piste",barcode:"Code-Barres De l'Album (UPC)",bpm:"BPM",replayGain:"Gain En Relecture (Replay Gain)",label:"Label De l'Album",lyrics:"Paroles Non-Synchronis\xE9es",syncedLyrics:"Paroles Synchronis\xE9es",copyright:"Droits d'Auteur (Copyright)",composer:"Compositeur",involvedPeople:"Personnes Impliqu\xE9es",source:"ID de la source et de la piste"},other:{title:"Autre",savePlaylistAsCompilation:"Enregistrer les playlists en tant que compilation",useNullSeparator:"Utiliser le caract\xE8re NULL comme s\xE9parateur",saveID3v1:"Enregistrer \xE9galement les m\xE9tadonn\xE9es ID3v1",multiArtistSeparator:{title:"Comment aimeriez-vous s\xE9parer les artistes ?",nothing:"Enregistrer uniquement l'artiste principal",default:"En utilisant la sp\xE9cification standard",andFeat:"En utilisant & et feat.",using:'En utilisant "{separator}"'},singleAlbumArtist:"Enregistrer uniquement l'artiste principal de l'album",albumVariousArtists:`Conserver "Various Artists" dans les Artistes de l'Album`,removeAlbumVersion:'Supprimer "Album Version" du titre de la piste',removeDuplicateArtists:"Supprimer les combinaisons d'artistes",dateFormat:{title:"Format de date pour les fichiers FLAC",year:"AAAA",month:"MM",day:"JJ"},featuredToTitle:{title:"Que faire des artistes participants (featuring) ?",0:"Ne rien faire",1:"Les retirer du titre de la piste",3:"Les supprimer du titre de la piste et du titre de l'album",2:"Les d\xE9placer vers le titre de la piste"},titleCasing:"Casse pour le titre",artistCasing:"Casse pour l'artiste",casing:{nothing:"Conserver inchang\xE9",lower:"minuscules",upper:"MAJUSCULES",start:"Majuscule Au D\xE9but De Chaque Mot",sentence:"Majuscule seulement au d\xE9but de la phrase"},previewVolume:"Volume sonore des aper\xE7us de pistes",executeCommand:{title:"Commande \xE0 ex\xE9cuter apr\xE8s le t\xE9l\xE9chargement",description:"Laisser vide pour qu'aucune action n'ait lieu"}},spotify:{title:"Fonctionnalit\xE9s Spotify",clientID:"clientID Spotify",clientSecret:"Client Secret Spotify",username:"Nom d'utilisateur Spotify",question:"Comment activer les Fonctionnalit\xE9s Spotify ?"},reset:"R\xE9tablir les valeurs par d\xE9faut",resetMessage:"Souhaitez-vous vraiment r\xE9tablir les param\xE8tres par d\xE9faut ?",save:"Sauvegarder",toasts:{init:"Param\xE8tres charg\xE9s !",update:"Param\xE8tres mis \xE0 jour !",reset:"Param\xE8tres r\xE9initialis\xE9s \xE0 leur valeur par d\xE9faut !",ARLcopied:"ARL copi\xE9 dans le presse-papier"}},sidebar:{home:"accueil",search:"recherche",charts:"classements",favorites:"favoris",linkAnalyzer:"analyseur de lien",settings:"param\xE8tres",about:"\xE0 propos"},tracklist:{downloadSelection:"T\xE9l\xE9charger la s\xE9lection"}},id={globals:{welcome:"Selamat datang di deemix",back:"kembali",loading:"memuat",download:"Mengunduh {thing}",by:"oleh {artist}",in:"di {album}",download_hint:"Unduh",play_hint:"Putar",toggle_download_tab_hint:"Buka/Tutup",clean_queue_hint:"Berhasil Mengosongkan",cancel_queue_hint:"Batalkan Semua",listTabs:{empty:"",all:"semua",top_result:"hasil teratas",album:"album | album",artist:"artis | artis",single:"singel | singel",title:"judul | judul",track:"lagu | lagu",trackN:"0 lagu | {n} lagu | {n} lagu",releaseN:"0 rilis | {n} rilis | {n} rilis",playlist:"daftar putar | daftar putar",compile:"kompilasi | kompilasi",ep:"ep | ep",spotifyPlaylist:"daftar putar spotify | daftar putar spotify",releaseDate:"tanggal rilis",error:"galat"}},about:{titles:{usefulLinks:"Tautan Berguna",bugReports:"Laporan Kesalahan",contributing:"Kontirbutor",donations:"Donasi",license:"Lisensi"},subtitles:{bugReports:"Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!",contributing:"Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!",donations:"Mau kontribusi secara finansial? Kamu bisa beri donasi!"},usesLibrary:"Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.",thanks:"Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.",upToDate:{text:"Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.",newsChannel:"kanal berita deemix"},officialWebsite:"Situs Web Resmi",officialRepo:"Repositori Pustaka Resmi",officialWebuiRepo:"Repositori WebUI Resmi",officialSubreddit:"Subreddit Resmi",newsChannel:"Kanal Berita",questions:{text:"Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.",subreddit:"subreddit"},beforeReporting:"Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.",beSure:"Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.",duplicateReports:"Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.",dontOpenIssues:"JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.",newUI:{text:"Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.",repo:"repo"},acceptFeatures:"Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.",otherLanguages:"Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!",understandingCode:"Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.",contributeWebUI:{text:"Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.",webui:"WebUI"},itsFree:"Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.",notObligated:"Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!",lincensedUnder:{text:"Pekerjaan ini ada di bawah lisensi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Tangga Lagu",changeCountry:"Ubah Negara",download:"Unduh Tangga Lagu"},errors:{title:"Galat untuk {name}",ids:{invalidURL:"URL tidak dikenal",unsupportedURL:"URL belum didukung",ISRCnotOnDeezer:"Lagu ISRC tidak tersedia di deezer",notYourPrivatePlaylist:"Kamu tidak bisa mengunduh daftar putar privat orang lain.",spotifyDisabled:"Fitur Spotify tidak diatur dengan benar.",trackNotOnDeezer:"Lagu tidak ditemukan di deezer!",albumNotOnDeezer:"Album tidak ditemukan di deezer!",notOnDeezer:"Lagu tidak ada di Deezer!",notEncoded:"Lagu belum di-encode!",notEncodedNoAlternative:"Lagu belum di-encode dan tidak ada alternatif lain!",wrongBitrate:"Lagu tidak tersedia pada bitrate yang diinginkan.",wrongBitrateNoAlternative:"Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!",no360RA:"Lagu tidak tersedia pada Reality Audio 360.",notAvailable:"Lagu tidak tersedia pada server deezer!",notAvailableNoAlternative:"Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!"}},favorites:{title:"Favorit",noPlaylists:"Daftar Putar kosong",noAlbums:"Album Favorit kosong",noArtists:"Artis Favorit kosong",noTracks:"Lagu Favorit kosong"},home:{needTologin:"Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.",openSettings:"Buka Pengaturan",sections:{popularPlaylists:"Daftar putar populer",popularAlbums:"Album paling banyak diputar"}},linkAnalyzer:{info:"Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.",useful:"Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.",linkNotSupported:"Tautan seperti ini belum didukung",linkNotSupportedYet:"Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durasi",diskNumber:"Nomor Disk",trackNumber:"Nomor Lagu",releaseDate:"Tanggal Rilis",bpm:"BPM",label:"Label",recordType:"Tipe Rekaman",genres:"Genre",tracklist:"Daftar Lagu"}},search:{startSearching:"Mulai cari!",description:"Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer",fans:"{n} fan",noResults:"Tak ada hasil",noResultsTrack:"Lagu tidak ditemukan",noResultsAlbum:"Album tidak ditemukan",noResultsArtist:"Artis tidak ditemukan",noResultsPlaylist:"Daftar putar tidak ditemukan"},searchbar:"Cari apa pun yang kamu mau (atau berikan tautannya saja)",downloads:"unduhan",toasts:{addedToQueue:"{item} ditambah ke antrian",alreadyInQueue:"{item} sudah ada di antrian!",finishDownload:"{item} selesai diunduh.",allDownloaded:"Seluruh unduhan selesai!",refreshFavs:"Penyegaran selesai!",loggingIn:"Masuk",loggedIn:"Telah masuk",alreadyLogged:"Telah masuk",loginFailed:"Tidak bisa masuk",loggedOut:"Belum masuk",cancellingCurrentItem:"Membatalkan item.",currentItemCancelled:"Item telah dibatalan.",startAddingArtist:"Menambahkan {artist} album ke antrian",finishAddingArtist:"{artist} album telah ditambahkan ke antrian",startConvertingSpotifyPlaylist:"Mengonversi lagu spotify ke deezer",finishConvertingSpotifyPlaylist:"Daftar putar Spotify selesai dikonversi"},settings:{title:"Pengaturan",languages:"Bahasa",login:{title:"Masuk",loggedIn:"Kamu telah masuk sebagai {username}",arl:{question:"Bagaimana cara mendapat ARL?",update:"Perbarui ARL"},logout:"Keluar"},appearance:{title:"Tampilan",slimDownloadTab:"Tab unduhan ramping"},downloadPath:{title:"Direktori Unduhan"},templates:{title:"Templat",tracknameTemplate:"Templat judul lagu",albumTracknameTemplate:"Templat judul album",playlistTracknameTemplate:"Templat judul daftar putar"},folders:{title:"Folders",createPlaylistFolder:"Buat folder untuk daftar putar",playlistNameTemplate:"Templat folder daftar putar",createArtistFolder:"Buat folder untuk artis",artistNameTemplate:"Templat folder artis",createAlbumFolder:"Buat folder untuk album",albumNameTemplate:"Templat folder album",createCDFolder:"Buat folder untuk CD",createStructurePlaylist:"Buat struktur folder untuk daftar putar",createSingleFolder:"Buat struktur folder untuk singel"},trackTitles:{title:"Judul lagu",padTracks:"Judul pad",paddingSize:"Timpa ukuran padding",illegalCharacterReplacer:"Pengubah Simbol Tak Terdukung"},downloads:{title:"Unduhan",queueConcurrency:"Unduhan Bersamaan",maxBitrate:{title:"Bitrate Prioritas",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Apakah file mau ditimpa?",y:"Ya, silakan",n:"Tidak, jangan ditimpa",t:"Timpa tag-nya saja"},fallbackBitrate:"Rendahkan bitrate",fallbackSearch:"Cari bitrate lebih rendah",logErrors:"Buat file log untuk galat",logSearched:"Buat file log untuk lagu yang dicari",createM3U8File:"Buat file daftar putar",syncedLyrics:"Buat file .lyr (Sinkronisasikan Lirik)",playlistFilenameTemplate:"Templat nama file untuk daftar putar",saveDownloadQueue:"Simpan antrian pengunduhan saat menutup aplikasi"},covers:{title:"Sampul album",saveArtwork:"Simpan Sampul",coverImageTemplate:"Templat nama sampul",saveArtworkArtist:"Simpan gambar artis",artistImageTemplate:"Templat gambar artis",localArtworkSize:"Ukuran sampul lokal",embeddedArtworkSize:"Ukuran sampul tertanam",localArtworkFormat:{title:"Format gambar apa yang kamu mau untuk sampul lokal?",jpg:"Gambar JPEG",png:"Gambar PNG",both:"Keduanya"},jpegImageQuality:"Kualitas gambar JPEG"},tags:{head:"Tag apa saja yang disimpan?",title:"Judul",artist:"Artis",album:"Album",cover:"Sampul",trackNumber:"Nomor Lagu",trackTotal:"Jumlah Lagu",discNumber:"Nomor Disk",discTotal:"Jumlah Disk",albumArtist:"Artis pada Album",genre:"Genre",year:"Tahun",date:"Tanggal",explicit:"Lirik Eksplisit",isrc:"ISRC",length:"Durasi",barcode:"Barcode Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label Album",lyrics:"Lirik Tak Tersinkronisasi",copyright:"Hak Cipta",composer:"Komposer",involvedPeople:"Orang-Orang Terlibat"},other:{title:"Lainnya",savePlaylistAsCompilation:"Simpan daftar putar sebagai kompilasi",useNullSeparator:"Gunakan separator null",saveID3v1:"Simpan juga ID3v1",multiArtistSeparator:{title:"Bagaimana kamu mau memisahkan nama artis?",nothing:"Simpan artis utamanya saja",default:"Gunakan spesifikasi standard",andFeat:"Gunakan & dan feat.",using:'Gunakan "{separator}"'},singleAlbumArtist:"Simpan artis utama saja",albumVariousArtists:'Simpan "Various Artists" sebagai artis',removeAlbumVersion:'Hapus "Versi Album" dari judul lagu',removeDuplicateArtists:"Hapus kombinasi artis",dateFormat:{title:"Format tanggal untuk file FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Apa yang harus dilakukan jika ada artis kedua?",0:"Biarkan saja",1:"Hapus dari judul lagu",3:"Hapus dari judul lagu dan judul album",2:"Pindahkan ke judul lagu"},titleCasing:"Kapitalisasi judul",artistCasing:"Kapitalisasi album",casing:{nothing:"Biarkan seadanya",lower:"huruf kecil",upper:"HURUF KAPITAL",start:"Setiap Awal Kata",sentence:"Huruf pertama saja"},previewVolume:"Pratinjau volume",executeCommand:{title:"Perintah yang dijalankan setelah pengunduhan",description:"Biarkan kosong jika tidak ada"}},spotify:{title:"Fitur Spotify",clientID:"clientID Spotify ",clientSecret:"Client Secret Spotify ",username:"Username Spotify"},reset:"Kembalikan ke Awal",save:"Simpan",toasts:{init:"Pengaturan dimuat!",update:"Pengaturan diperbarui!",ARLcopied:"ARL tersalin ke papan klip"}},sidebar:{home:"utama",search:"cari",charts:"tangga lagu",favorites:"favorit",linkAnalyzer:"penganalisa tautan",settings:"pengaturan",about:"tentang"},tracklist:{downloadSelection:"Seleksi unduhan"}},pt={globals:{welcome:"Bem-vindo ao deemix",back:"voltar",loading:"A carregar",download:"Transferir {thing}",by:"por {artist}",in:"em {album}",download_hint:"Transferir",play_hint:"Tocar",toggle_download_tab_hint:"Expandir/Recolher",clean_queue_hint:"Limpar Finalizados",cancel_queue_hint:"Cancelar Tudo",listTabs:{empty:"",all:"Tudo",top_result:"melhor resultado",album:"\xE1lbum | \xE1lbums",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amentos | {n} lan\xE7amento | {n} lan\xE7amento",playlist:"lista de reprodu\xE7\xE3o | listas de reprodu\xE7\xE3o",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"lista de reprodu\xE7\xE3o spotify | listas de reprodu\xE7\xE3o spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relat\xF3rio de erros",contributing:"Contribuir",donations:"Doa\xE7\xF5es",license:"Licen\xE7as"},subtitles:{bugReports:"Existe alguma coisa que n\xE3o funciona no deemix? Informa-nos!",contributing:"Queres contribuir para o projecto? Podes faz\xEA-lo de diferentes formas!",donations:"Desejas contribuir monetariamente? Faz uma doa\xE7\xE3o!"},usesLibrary:"Esta aplica\xE7\xE3o usa a biblioteca deemix, que poder\xE1s usar para desenvolver o teu proprio UI para o deemix.",thanks:"Agrade\xE7o a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o \xEDcone.",upToDate:{text:"Mantem-te atualizado seguindo o {newsChannel} no Telegram.",newsChannel:"canal de not\xEDcias"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio Oficial da Biblioteca",officialWebuiRepo:"Reposit\xF3rio Oficial WebUI",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solu\xE7\xE3o no {subreddit}. Caso n\xE3o encontres nada podes criar um post com a tua quest\xE3o no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportares um bug certifica-te que est\xE1s a correr a vers\xE3o mais recente e que o que queres reportar \xE9 mesmo um bug e n\xE3o algo que apenas n\xE3o funciona do teu lado.",beSure:"Certifica-te que o erro \xE9 reprodutivel noutros dispositivos e N\xC3O reportes um bug que j\xE1 tenha sido reportado.",duplicateReports:"Bug reports duplicados ser\xE3o fechados, mant\xE9m-te atento a isso.",dontOpenIssues:"N\xC3O abras issues para colocar quest\xF5es, existe um subreddit para isso.",newUI:{text:"Caso sejas fluente em python podes tentar criar um novo UI para a aplica\xE7\xE3o recorrendo \xE0 biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.",repo:"reposit\xF3rio"},acceptFeatures:"Tamb\xE9m aceito funcionalidades n\xE3o complexas caso possam ser implementadas directamente na app e n\xE3o na biblioteca.",otherLanguages:"Caso sejas fluente noutra linguagem de programa\xE7\xE3o podes tentar migrar o deemix para outra linguagem de programa\xE7\xE3o!",understandingCode:"Precisas de ajuda a entender o c\xF3digo? Acede a RemixDev no Telegram ou no Reddit.",contributeWebUI:{text:"Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.",webui:"WebUI"},itsFree:"Deves ter em conta que que este projecto \xE9 gratuito e dever\xE1s apoiar os artistas que aprecias antes de apoiares os programadores.",notObligated:"N\xE3o te sintas obrigado a doar, agrade\xE7o-te na mesma!",lincensedUnder:{text:"Este trabalho esta licenciado sobre a {gpl3}.",gpl3:"GNU Licen\xE7a publica geral 3.0"}},charts:{title:"Tabelas",changeCountry:"Alterar pa\xEDs",download:"Transferir tabela"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL n\xE3o reconhecido",unsupportedURL:"URL ainda n\xE3o suportado",ISRCnotOnDeezer:"Faixa ISRC n\xE3o dispon\xEDvel no deezer",notYourPrivatePlaylist:"Nao podes baixar listas de reprodu\xE7\xE3o privadas de outros.",spotifyDisabled:"Funcionalidades do Spotify n\xE3o est\xE3o definidas corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"\xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa n\xE3o encontrada no Deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e n\xE3o foi encontrada alternativa!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e n\xE3o foi encontrada alternativa!",no360RA:"Faixa n\xE3o dispon\xEDvel em Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e n\xE3o foi encontrada alternativa!"}},favorites:{title:"Favoritos",noPlaylists:"Listas de reprodu\xE7\xE3o n\xE3o encontradas",noAlbums:"\xC1lbuns favoritos n\xE3o encontrados",noArtists:"Artistas favoritos n\xE3o encontrados",noTracks:"Faixas favoritas n\xE3o encontradas"},home:{needTologin:"Antes de iniciar transfer\xEAncias \xE9 necess\xE1rio efectuar autentica\xE7\xE3o na conta Deezer.",openSettings:"Abrir Defini\xE7\xF5es",sections:{popularPlaylists:"Listas de reprodu\xE7\xE3o populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Podes usar esta sec\xE7\xE3o para obteres mais informa\xE7\xE3o sobre o link que est\xE1s a tentar transferir.",useful:"Isto \xE9 \xFAtil caso estejas a tentar transferir faixas que n\xE3o est\xE3o dispon\xEDveis no teu pa\xEDs e queres saber onde est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Este link ainda n\xE3o \xE9 suportado",linkNotSupportedYet:"Parece que este link ainda n\xE3o \xE9 suportado, tenta analisar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do disco",trackNumber:"N\xFAmero da faixa",releaseDate:"Data de lan\xE7amento",bpm:"BPM",label:"Editora",recordType:"Tipo de Disco",genres:"G\xE9neros",tracklist:"Lista de faixas"}},search:{startSearching:"Come\xE7a a pesquisar!",description:"Podes perquisar uma m\xFAsica, um \xE1lbum inteiro, um artista, uma lista de reprodu\xE7\xE3o... tudo! Tamb\xE9m podes colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Faixa n\xE3o encontrada",noResultsAlbum:"\xC1lbum n\xE3o encontrado",noResultsArtist:"Artista n\xE3o encontrado",noResultsPlaylist:"Lista de reprodu\xE7\xE3o n\xE3o encontrada"},searchbar:"Pesquisa o que quiseres (ou cola um link)",downloads:"transfer\xEAncias",toasts:{addedToQueue:"{item} adicionados \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} foi transferido.",allDownloaded:"Todas as transfer\xEAncias terminadas!",refreshFavs:"Actualizar terminados!",loggingIn:"A autenticar",loggedIn:"Autenticado",alreadyLogged:"J\xE1 est\xE1s autenticado",loginFailed:"Nao foi possivel iniciar sess\xE3o",loggedOut:"Desconectado",cancellingCurrentItem:"A cancelar item actual.",currentItemCancelled:"Item actual cancelado.",startAddingArtist:"A adicionar {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"Adicionados {artist} \xE1lbuns \xE0 fila",startConvertingSpotifyPlaylist:"A converter faixas do spotify em faixas do deezer",finishConvertingSpotifyPlaylist:"Lista de reprodu\xE7\xE3o do Spotify convertida."},settings:{title:"Defini\xE7\xF5es",languages:"Idioma",login:{title:"Inicio de Sess\xE3o",loggedIn:"Est\xE1s autenticado como {username}",arl:{question:"Como obter o meu ARL?",update:"Actualizar ARL"},logout:"Sair"},appearance:{title:"Aspecto",slimDownloadTab:"Aba de transfer\xEAncias estreita"},downloadPath:{title:"Caminho das transfer\xEAncias"},templates:{title:"Formatos",tracknameTemplate:"Formato do nome de faixa",albumTracknameTemplate:"Formato do nome de \xC1lbum",playlistTracknameTemplate:"Formato do nome de lista de reprodu\xE7\xE3o"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para lista de reprodu\xE7\xE3o",playlistNameTemplate:"Formato da pasta de lista de reprodu\xE7\xE3o",createArtistFolder:"Criar pasta para artista",artistNameTemplate:"Formato da pasta de artista",createAlbumFolder:"Criar pasta para \xE1lbum",albumNameTemplate:"Formato da pasta de \xE1lbum",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para listas reprodu\xE7\xE3o",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo",padTracks:"Bloco de Faixas",paddingSize:"Substituir tamanho do preenchimento",illegalCharacterReplacer:"Substituir caractere inv\xE1lido"},downloads:{title:"Transfer\xEAncias",queueConcurrency:"Transfer\xEAncias concorrentes",maxBitrate:{title:"Bitrate preferencial",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Ficheiros existentes. Substituir?",y:"Sim, substituir o ficheiro",n:"N\xE3o substituir o ficheiro",t:"Subescrever apenas as etiquetas"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Fallback de pesquisa",logErrors:"Criar hist\xF3rico para erros",logSearched:"Criar hist\xF3rico para faixas pesquisadas",createM3U8File:"Criar ficheiro de lista de reprodu\xE7\xE3o",syncedLyrics:"Criar ficheiro .lyr (Letra Sincronizada)",playlistFilenameTemplate:"Formato do nome de ficheiro da lista de reprodu\xE7\xE3o",saveDownloadQueue:"Guardar fila de transfer\xEAncias ao fechar a aplica\xE7\xE3o"},covers:{title:"Capas do \xC1lbum",saveArtwork:"Guardar capas",coverImageTemplate:"Modelo do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Modelo de imagem do artista",localArtworkSize:"Tamanho do trabalho art\xEDstico local",embeddedArtworkSize:"Tamanho do trabalho art\xEDstico incorporado",localArtworkFormat:{title:"Em que formato desejas o trabalho art\xEDstico local?",jpg:"Em imagem jpeg",png:"Em imagem png",both:"Em jpeg e em png"},jpegImageQuality:"Qualidade de imagem JPEG"},tags:{head:"Etiquetas a guardar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero de faixa",trackTotal:"Total de faixas",discNumber:"N\xFAmero do Disco",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xE9nero",year:"Ano",date:"Data",explicit:"Letra Expl\xEDcita",isrc:"ISRC",length:"Dura\xE7\xE3o da faixa",barcode:"C\xF3digo de barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Editora do \xE1lbum",lyrics:"Letra da m\xFAsica n\xE3o sincronizada",copyright:"Direitos de Autor",composer:"Compositor",involvedPeople:"Pessoas envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Guardar listas de reprodu\xE7\xE3o como compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Tamb\xE9m guardar ID3v1",multiArtistSeparator:{title:"Como queres separarar os artistas?",nothing:"Guardar apenas o artista principal",default:"Usar especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar apenas o artista principal do \xE1lbum",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato de data nos ficheiros FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas convidados/participa\xE7\xF5es?",0:"Nada",1:"Remover do t\xEDtulo",3:"Remover do t\xEDtulo e do t\xEDtulo do album",2:"Mov\xEA-lo para o t\xEDtulo"},titleCasing:"Caixa do T\xEDtulo",artistCasing:"Caixa do Artista",casing:{nothing:"Manter inalterado",lower:"minusculas",upper:"MAI\xDASCULAS",start:"In\xEDcio De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Volume de Pr\xE9-visualiza\xE7\xE3o",executeCommand:{title:"Comando a executar ap\xF3s transferir",description:"Deixar em branco para nenhuma ac\xE7\xE3o"}},spotify:{title:"Funcionalidades Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"nome de utilizador Spotify"},reset:"Repor configura\xE7\xF5es padr\xE3o",save:"Guardar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es actualizadas",ARLcopied:"ARL copiado para area de transferencia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"tabelas",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"defini\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Transferir seleccionados"}},pt_br={globals:{welcome:"bem vindo ao deemix",back:"voltar",loading:"carregando",download:"Baixar {thing}",by:"por {artist}",in:"em {album}",download_hint:"Baixar",play_hint:"Reproduzir",toggle_download_tab_hint:"Expandir/Diminuir",clean_queue_hint:"Limpar",cancel_queue_hint:"Cancelar Todos",listTabs:{empty:"",all:"todos",top_result:"resultado principal",album:"\xE1lbum | \xE1lbuns",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amento | {n} lan\xE7amento | {n} lan\xE7amentos",playlist:"playlist | playlists",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"playlist do spotify | playlists do spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relatar Bugs",contributing:"Contribui\xE7\xF5es",donations:"Doa\xE7\xF5es",license:"Licen\xE7a"},subtitles:{bugReports:"H\xE1 algo n\xE3o funcionando no deemix? Nos diga!",contributing:"Voc\xEA quer contribuir para este projeto? Voc\xEA pode fazer isso de diferentes maneiras!",donations:"Voc\xEA quer contribuir monetariamente? Voc\xEA pode fazer uma doa\xE7\xE3o!"},usesLibrary:"Esse app usa a biblioteca do deemix, no qual voc\xEA pode usar para criar sua pr\xF3pria UI para o deemix",thanks:"Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o \xEDcone",upToDate:{text:"Para mais novidades siga o {newsChannel} no Telegram.",newsChannel:"news channel"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio da Biblioteca Oficial",officialWebuiRepo:"Reposit\xF3rio da WebUI Oficial",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Se voc\xEA tiver d\xFAvidas ou problemas com o app, procure uma solu\xE7\xE3o em {subreddit} primeiro. Caso voc\xEA n\xE3o encontre, voc\xEA pode fazer um post explicando seu problema no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportar um bug, tenha certeza que voc\xEA est\xE1 rodando a vers\xE3o mais recente do app, e o que voc\xEA quer reportar seja realmente um bug e n\xE3o algo que esteja acontecendo especialmente com voc\xEA.",beSure:"Certifique-se que o bug \xE9 reproduzivel em outras m\xE1quinas e tamb\xE9m N\xC3O reporte um bug se ele j\xE1 foi reportado.",duplicateReports:"Reportes de bugs duplicados ser\xE3o fechados, ent\xE3o fique atento a isso.",dontOpenIssues:"N\xC3O abra t\xF3picos para fazer perguntas, h\xE1 o subreddit para isso.",newUI:{text:"Se voc\xEA \xE9 fluente em Phython, voc\xEA pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.",repo:"repo"},acceptFeatures:"Eu aceito funcionalidades extras tamb\xE9m, mas nada de coisas complexas, desde que ela possa ser implementada no app, e n\xE3o na biblioteca.",otherLanguages:"Se voc\xEA for fluente em outra linguagem de programa\xE7\xE3o, voc\xEA pode tentar portar o deemix para outra linguagem!",understandingCode:"Voc\xEA precisa de ajuda para entender o c\xF3digo? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.",contributeWebUI:{text:"Se voc\xEA souber Vue.js (JavaScript), HTML ou CSS voc\xEA pode contribuir para o {webui}.",webui:"WebUI"},itsFree:"Lembre-se que este projeto \xE9 livre e voc\xEA deve dar suporte aos artistas que voc\xEA ama antes de dar suporte aos desenvolvedores.",notObligated:"N\xE3o se sinta na obriga\xE7\xE3o de doar, eu agrade\xE7o de qualquer maneira!",lincensedUnder:{text:"Esse \xE9 um projeto licenciado atrav\xE9s da {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Mudar Pa\xEDs",download:"Download Chart"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL inv\xE1lida",unsupportedURL:"URL n\xE3o suportada ainda",ISRCnotOnDeezer:"Faixa ISRC n\xE3o est\xE1 dispon\xEDvel ainda no deezer",notYourPrivatePlaylist:"Voc\xEA n\xE3o pode baixar playlists privadas.",spotifyDisabled:"Os Recursos do Spotify n\xE3o foram configurados corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"Album not found on deezer! \xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa indispon\xEDvel no deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e sem alternativas encontradas!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e nenhuma outra alternativa encontrada!",no360RA:"Faixa n\xE3o dispon\xEDvel na qualidade Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e nenhuma outra alternativa encontrada!"}},favorites:{title:"Favoritos",noPlaylists:"Nenhuma Playlist encontrada",noAlbums:"Nenhum \xC1lbum Favorito encontrado",noArtists:"Nenhum Artista Favorito encontrado",noTracks:"Nenhuma Faixa Favorita encontrada"},home:{needTologin:"Voc\xEA precisa logar na sua conta do deezer antes de come\xE7ar a baixar m\xFAsicas.",openSettings:"Abrir Configura\xE7\xF5es",sections:{popularPlaylists:"Playlists Populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Voc\xEA pode usar essa se\xE7\xE3o para encontrar mais informa\xE7\xF5es sobre o link que voc\xEA quer baixar.",useful:"Isso \xE9 \xFAtil se voc\xEA est\xE1 tentando baixar algumas faixas que n\xE3o est\xE3o dispon\xEDveis no seu pa\xEDs, e quer saber onde elas est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Esse link n\xE3o \xE9 suportado ainda",linkNotSupportedYet:"Parece que esse link n\xE3o \xE9 suportado ainda, tente analizar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do Disco",trackNumber:"N\xFAmero da Faixa",releaseDate:"Data de Lan\xE7amento",bpm:"BPM",label:"Gravadora",recordType:"Tipo de Grava\xE7\xE3o",genres:"G\xEAneros",tracklist:"Tracklist"}},search:{startSearching:"Comece pesquisando!",description:"Voc\xEA pode pesquisar uma m\xFAsica, um \xE1lbum, um artista, uma playlist.... tudo! Voc\xEA tamb\xE9m pode colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Nenhuma Faixa encontrada",noResultsAlbum:"Nenhum \xC1lbum encontrado",noResultsArtist:"Nenhum Artista encontrado",noResultsPlaylist:"Nenhuma Playlist encontrada"},searchbar:"Pesquise algo (ou apenas cole um link)",downloads:"downloads",toasts:{addedToQueue:"{item} adicionado \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} download terminado.",allDownloaded:"Todos os downloads foram feitos!",refreshFavs:"Atualiza\xE7\xE3o completa!",loggingIn:"Logando",loggedIn:"Logado",alreadyLogged:"Voc\xEA j\xE1 est\xE1 logado",loginFailed:"N\xE3o foi possivel entrar",loggedOut:"Desconectando",cancellingCurrentItem:"Cancelando item atual.",currentItemCancelled:"Item atual cancelado.",startAddingArtist:"Adicionando {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"{artist} \xE1lbuns adicionados a fila",startConvertingSpotifyPlaylist:"Convertendo faixas do spotify para faixas do deezer",finishConvertingSpotifyPlaylist:"Playlists do Spotify convertidas"},settings:{title:"Configura\xE7\xF5es",languages:"Idiomas",login:{title:"Login",loggedIn:"Voc\xEA est\xE1 logado como {username}",arl:{question:"Como eu consigo o meu ARL?",update:"Atualizar ARL"},logout:"Sair"},appearance:{title:"Apar\xEAncia",slimDownloadTab:"Aba de download slim"},downloadPath:{title:"Diret\xF3rio de Downloads"},templates:{title:"Templates",tracknameTemplate:"Template do nome da faixa",albumTracknameTemplate:"Template da faixa do \xE1lbum",playlistTracknameTemplate:"Template da faixa da playlist"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para playlists",playlistNameTemplate:"Template da pasta de playlist",createArtistFolder:"Criar pasta para os artistas",artistNameTemplate:"Template da pasta de artistas",createAlbumFolder:"Criar pasta para \xE1lbuns",albumNameTemplate:"Template da pasta de \xE1lbuns",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para playlists",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo das faixas",padTracks:"Faixas com pad",paddingSize:"Sobrescrever tamanho do padding",illegalCharacterReplacer:"Substituir caracteres inv\xE1lidos"},downloads:{title:"Downloads",queueConcurrency:"Downloads Simult\xE2neos",maxBitrate:{title:"Escolher Taxa de Bits",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Sobrescrever arquivos?",y:"Sim, sobrescrever arquivos",n:"N\xE3o, n\xE3o sobrescrever arquivos",t:"Sobrescrever apenas as tags"},fallbackBitrate:"Taxa de bits reserva",fallbackSearch:"Procurar reserva",logErrors:"Criar arquivos de log para erros",logSearched:"Criar arquivos de log para faixas pesquisadas",createM3U8File:"Criar arquivo de playlist",syncedLyrics:"Criar arquivos .lyr (Letras)",playlistFilenameTemplate:"Template do nome do arquivo da playlist",saveDownloadQueue:"Salvar a fila de downloads quando fechar o app"},covers:{title:"Capa dos \xE1lbuns",saveArtwork:"Salvar capas",coverImageTemplate:"Template do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Template da imagem do artista",localArtworkSize:"Tamanho da capa local",embeddedArtworkSize:"Tamanho da capa embutida",localArtworkFormat:{title:"Qual o formato da imagem que voc\xEA quer para a capa local?",jpg:".jpeg",png:".png",both:"Ambas, .jpeg e .png"},jpegImageQuality:"Qualidade da imagem JPEG"},tags:{head:"Quais tags salvar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero da Faixa",trackTotal:"Total de Faixas",discNumber:"N\xFAmero de Discos",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xEAnero",year:"Ano",date:"Data",explicit:"Letras Expl\xEDcitas",isrc:"ISRC",length:"Tamanho da Faixa",barcode:"C\xF3digo de Barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Gravadora",lyrics:"Letras Dessincronizadas",copyright:"Copyright",composer:"Compositor",involvedPeople:"Pessoas Envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Salvar playlists como uma compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Salvar ID3v1",multiArtistSeparator:{title:"Como voc\xEA gostaria de separar os artistas?",nothing:"Salvar apenas o artista principal",default:"Usar a especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Salvar apenas o artista principal",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato da data para arquivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas participantes?",0:"Nada",1:"Remova do t\xEDtulo da faixa",3:"Remova do t\xEDtulo da faixa e do \xE1lbum",2:"Mover para o t\xEDtulo da faixa"},titleCasing:"Formata\xE7\xE3o do t\xEDtulo",artistCasing:"Formata\xE7\xE3o do artista",casing:{nothing:"Manter inalterado",lower:"min\xFAsculo",upper:"MAI\xDASCULO",start:"Come\xE7o De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Pr\xE9via do Volume",executeCommand:{title:"Comando para executar depois de baixar",description:"Deixe em branco para nenhuma a\xE7\xE3o"}},spotify:{title:"Recursos do Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"usu\xE1rio do Spotify"},reset:"Restaurar para o padr\xE3o",save:"Salvar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es atualizadas!",ARLcopied:"ARL copiada para a \xE1rea de transfer\xEAncia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"configura\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Baixar sele\xE7\xE3o"}},ru={globals:{welcome:"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 deemix",back:"\u043D\u0430\u0437\u0430\u0434",loading:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C {thing}",by:"{artist}",in:"\u0438\u0437 {album}",download_hint:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C",play_hint:"\u041F\u0440\u043E\u0441\u043B\u0443\u0448\u0430\u0442\u044C",toggle_download_tab_hint:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0421\u043A\u0440\u044B\u0442\u044C",clean_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u044B\u0435",cancel_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0451",open_downloads_folder:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043F\u043A\u0443 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",cut:"\u0432\u044B\u0440\u0435\u0437\u0430\u0442\u044C",copy:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",copyLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443",copyImageLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",copyDeezerLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 deezer",paste:"\u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C",listTabs:{empty:"",all:"\u0432\u0441\u0435",top_result:"\u043B\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",album:"\u0430\u043B\u044C\u0431\u043E\u043C | \u0430\u043B\u044C\u0431\u043E\u043C\u044B | \u0430\u043B\u044C\u0431\u043E\u043C\u044B",artist:"\u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438",single:"\u0441\u0438\u043D\u0433\u043B | \u0441\u0438\u043D\u0433\u043B\u044B | \u0441\u0438\u043D\u0433\u043B\u044B",title:"\u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",track:"\u0442\u0440\u0435\u043A | \u0442\u0440\u0435\u043A\u0438 | \u0442\u0440\u0435\u043A\u0438",trackN:"{n} \u0442\u0440\u0435\u043A | {n} \u0442\u0440\u0435\u043A\u0430 | {n} \u0442\u0440\u0435\u043A\u043E\u0432",releaseN:"{n} \u0440\u0435\u043B\u0438\u0437 | {n} \u0440\u0435\u043B\u0438\u0437\u0430 | {n} \u0440\u0435\u043B\u0438\u0437\u043E\u0432",playlist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",compile:"\u0441\u043F\u043B\u0438\u0442 | \u0441\u043F\u043B\u0438\u0442\u044B | \u0441\u043F\u043B\u0438\u0442\u044B",ep:"ep",bundle:"\u0431\u0430\u043D\u0434\u043B | \u0431\u0430\u043D\u0434\u043B\u044B | \u0431\u0430\u043D\u0434\u043B\u044B",more:"\u0411\u043E\u043B\u044C\u0448\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",featured:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0432",spotifyPlaylist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",error:"\u043E\u0448\u0438\u0431\u043A\u0430",albumN:"{n} \u0430\u043B\u044C\u0431\u043E\u043C | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u0430 | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",artistN:"{n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",playlistN:"{n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432"}},about:{updates:{currentVersion:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionNotAvailable:"\u041D/\u0414",updateAvailable:"\u0412\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043D\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E: {version}",deemixVersion:"\u0412\u0435\u0440\u0441\u0438\u044F \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 deemix"},titles:{usefulLinks:"\u041F\u043E\u043B\u0435\u0437\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438",bugReports:"\u041E\u0442\u0447\u0451\u0442\u044B \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445",contributing:"\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u0440\u043E\u0435\u043A\u0442\u0443",donations:"\u041F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F",license:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F"},subtitles:{bugReports:"\u0427\u0442\u043E-\u0442\u043E \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442? \u0421\u043E\u043E\u0431\u0449\u0438\u0442\u0435 \u043D\u0430\u043C!",contributing:"\u0425\u043E\u0442\u0438\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u0430\u043C\u0438!",donations:"\u0425\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u043E? \u041C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u0435!"},usesLibrary:"\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 deemix, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 UI \u0434\u043B\u044F deemix.",thanks:"\u0421\u043F\u0430\u0441\u0438\u0431\u043E rtonno, uhwot \u0438 lollilol \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u044C \u0441 \u044D\u0442\u0438\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u043C, \u0430 \u0442\u0430\u043A\u0436\u0435 BasCurtiz \u0437\u0430 \u0438\u043A\u043E\u043D\u043A\u0443.",upToDate:{text:"\u0421\u043B\u0435\u0434\u0438\u0442\u0435 \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u043C\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F\u043C\u0438 \u043D\u0430 {newsChannel} \u0432 Telegram.",newsChannel:"\u043A\u0430\u043D\u0430\u043B\u0435"},officialWebsite:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0439\u0442",officialRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438",officialWebuiRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 WebUI",officialSubreddit:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442",newsChannel:"\u041A\u0430\u043D\u0430\u043B \u043D\u043E\u0432\u043E\u0441\u0442\u0435\u0439",questions:{text:"\u0415\u0441\u043B\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043E\u0437\u043D\u0438\u043A\u043B\u0438 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0441 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u0438\u0449\u0438\u0442\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 {subreddit}. \u0415\u0441\u043B\u0438 \u043D\u0435 \u043D\u0430\u0448\u043B\u0438 \u0440\u0435\u0448\u0435\u043D\u0438\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u043E\u0441\u0442 \u0438 \u043E\u043F\u0438\u0441\u0430\u0442\u044C \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443.",subreddit:"\u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442\u0435"},beforeReporting:"\u041F\u0435\u0440\u0435\u0434 \u0442\u0435\u043C, \u043A\u0430\u043A \u0441\u043E\u043E\u0431\u0449\u0430\u0442\u044C \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0438 \u0447\u0442\u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043D\u0435 \u043D\u0430 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435.",beSure:"\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E\u0437\u043D\u0438\u043A\u0430\u0435\u0442 \u0438 \u043D\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u0445. \u0422\u0430\u043A\u0436\u0435 \u041D\u0415 \u0441\u043E\u043E\u0431\u0449\u0430\u0439\u0442\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435, \u0435\u0441\u043B\u0438 \u043F\u0440\u043E \u043D\u0435\u0451 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E.",duplicateReports:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445 \u0440\u0430\u0441\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435 \u0431\u0443\u0434\u0443\u0442.",dontOpenIssues:"\u041D\u0415 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0434\u043B\u044F \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0430\u0432\u0442\u043E\u0440\u0443, \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0435\u0441\u0442\u044C \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442.",newUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 python, \u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 UI \u0434\u043B\u044F \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0438\u043B\u0438 \u043F\u043E\u0444\u0438\u043A\u0441\u0438\u0442\u044C \u0432 \u043D\u0435\u0439 \u0431\u0430\u0433\u0438 \u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C pull request \u0432 {repo}.",repo:"\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438"},acceptFeatures:"\u041C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438, \u043D\u043E \u043D\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0441\u043B\u043E\u0436\u043D\u044B\u0435, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435, \u0430 \u043D\u0435 \u0432 \u0441\u0430\u043C\u0443 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443.",otherLanguages:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u043D\u0451\u043C deemix!",understandingCode:"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u0442\u044C\u0441\u044F \u0432 \u043A\u043E\u0434\u0435? \u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 RemixDev \u0432 Telegram \u0438\u043B\u0438 \u043D\u0430 Reddit.",contributeWebUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0437\u043D\u0430\u0435\u0442\u0435 Vue.js (JavaScript), HTML \u0438\u043B\u0438 CSS, \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 {webui}.",webui:"WebUI"},itsFree:"\u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0432\u0430\u043C \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u043F\u043E\u043D\u0440\u0430\u0432\u0438\u0432\u0448\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043F\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043C \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u043E\u0432.",notObligated:"\u0412\u044B \u043D\u0435 \u043E\u0431\u044F\u0437\u0430\u043D\u044B \u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F, \u044F \u0432\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0432\u0430\u0441 \u0446\u0435\u043D\u044E!",lincensedUnder:{text:"\u041F\u0440\u043E\u0435\u043A\u0442 \u0440\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0434 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u0427\u0430\u0440\u0442\u044B",changeCountry:"\u0421\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0443",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0440\u0442"},errors:{title:"\u041E\u0448\u0438\u0431\u043A\u0438 {name}",ids:{invalidURL:"URL \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D",unsupportedURL:"URL \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",ISRCnotOnDeezer:"ISRC \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer",notYourPrivatePlaylist:"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0447\u0443\u0436\u0438\u0435 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B.",spotifyDisabled:"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B Spotify.",trackNotOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",albumNotOnDeezer:"\u0410\u043B\u044C\u0431\u043E\u043C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",notOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer!",notEncoded:"\u0422\u0440\u0435\u043A \u0435\u0449\u0451 \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D!",notEncodedNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D, \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",wrongBitrate:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435.",wrongBitrateNoAlternative:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",no360RA:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 Reality Audio 360.",notAvailable:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer!",notAvailableNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",noSpaceLeft:"\u041D\u0430 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u043D\u0435 \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430!",albumDoesntExists:"\u0410\u043B\u044C\u0431\u043E\u043C\u0430 \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043D\u0435 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0430"}},favorites:{title:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",noPlaylists:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noAlbums:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noArtists:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noTracks:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0442\u0440\u0435\u043A\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B"},home:{needTologin:"\u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u043E\u0439\u0442\u0438 \u043F\u043E\u0434 \u0441\u0432\u043E\u0435\u0439 \u0443\u0447\u0435\u0442\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u044C\u044E Deezer, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C.",openSettings:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",sections:{popularPlaylists:"\u041F\u043E\u043F\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",popularAlbums:"\u0421\u0430\u043C\u044B\u0435 \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B"}},linkAnalyzer:{info:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u044D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B, \u0447\u0442\u043E\u0431\u044B \u0443\u0437\u043D\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043E \u0441\u0441\u044B\u043B\u043A\u0435, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0441\u043A\u0430\u0447\u0430\u0442\u044C.",useful:"\u042D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B \u043D\u0443\u0436\u0435\u043D, \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0442\u0440\u0435\u043A\u0438, \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C, \u0433\u0434\u0435 \u043E\u043D\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B.",linkNotSupported:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",linkNotSupportedYet:"\u042D\u0442\u0430 \u0441\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0434\u0440\u0443\u0433\u0443\u044E.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",diskNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",bpm:"BPM",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",recordType:"\u0422\u0438\u043F",genres:"\u0416\u0430\u043D\u0440",tracklist:"\u0422\u0440\u0435\u043A\u043B\u0438\u0441\u0442"}},search:{startSearching:"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0438\u0441\u043A\u0430\u0442\u044C!",description:"\u0417\u0434\u0435\u0441\u044C \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0439\u0442\u0438 \u0442\u0440\u0435\u043A, \u0430\u043B\u044C\u0431\u043E\u043C, \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F, \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442... \u0432\u0441\u0451! \u041C\u043E\u0436\u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 Deezer",fans:"{n} \u043F\u043E\u043A\u043B\u043E\u043D\u043D\u0438\u043A\u043E\u0432",noResults:"\u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432",noResultsTrack:"\u0422\u0440\u0435\u043A\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsAlbum:"\u0410\u043B\u044C\u0431\u043E\u043C\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsPlaylist:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E"},searchbar:"\u0418\u0449\u0438\u0442\u0435, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 (\u0438\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0441\u0441\u044B\u043B\u043A\u0443)",downloads:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",toasts:{restoringQueue:"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0447\u0435\u0440\u0435\u0434\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",queueRestored:"\u041E\u0447\u0435\u0440\u0435\u0434\u044C \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430!",addedToQueue:"{item} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",addedMoreToQueue:"{n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",alreadyInQueue:"{item} \u0443\u0436\u0435 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u0438!",finishDownload:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 {item} \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430.",allDownloaded:"\u0412\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u044B!",refreshFavs:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E!",loggingIn:"\u0412\u0445\u043E\u0434...",loggedIn:"\u0412\u0445\u043E\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",alreadyLogged:"\u0412\u0445\u043E\u0434 \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loginFailed:"\u0412\u0445\u043E\u0434 \u043D\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loggedOut:"\u0412\u044B \u0432\u044B\u0448\u043B\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430",cancellingCurrentItem:"\u041E\u0442\u043C\u0435\u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",currentItemCancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E.",startAddingArtist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432 {artist} \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishAddingArtist:"\u0410\u043B\u044C\u0431\u043E\u043C\u044B {artist} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",startConvertingSpotifyPlaylist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 Spotify \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishConvertingSpotifyPlaylist:"Spotify \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",loginNeededToDownload:"\u0412\u043E\u0439\u0434\u0438\u0442\u0435 \u0432 \u0430\u043A\u043A\u0430\u0443\u043D\u0442, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0442\u0440\u0435\u043A\u0438!",deezerNotAvailable:"Deezer \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 VPN.",startGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",finishGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A."},settings:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",languages:"\u042F\u0437\u044B\u043A",login:{title:"\u0412\u0445\u043E\u0434",loggedIn:"\u0412\u044B \u0432\u043E\u0448\u043B\u0438 \u043A\u0430\u043A {username}",arl:{question:"\u041A\u0430\u043A \u0443\u0437\u043D\u0430\u0442\u044C \u0441\u0432\u043E\u0439 ARL?",update:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C ARL"},logout:"\u0412\u044B\u0439\u0442\u0438",login:"\u0412\u043E\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 deezer.com"},appearance:{title:"\u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434",slimDownloadTab:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",slimSidebar:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u043B\u0435\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C"},downloadPath:{title:"\u041F\u0443\u0442\u044C \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F"},templates:{title:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B",tracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",albumTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",playlistTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430"},folders:{title:"\u041F\u0430\u043F\u043A\u0438",createPlaylistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",playlistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",createArtistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",createAlbumFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",createCDFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F CD",createStructurePlaylist:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",createSingleFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u0441\u0438\u043D\u0433\u043B\u043E\u0432"},trackTitles:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u043E\u0432",padTracks:"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043D\u043E\u043B\u044C \u043A \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0442\u0440\u0435\u043A\u043E\u0432 (01, 02, ...)",paddingSize:"\u041A\u043E\u043B-\u0432\u043E \u0446\u0438\u0444\u0440 \u0432 \u043D\u043E\u043C\u0435\u0440\u0435",illegalCharacterReplacer:"\u0417\u0430\u043C\u0435\u043D\u0430 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u0438\u043C\u0435\u043D\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},downloads:{title:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0438",queueConcurrency:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",maxBitrate:{title:"\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u0439 \u0431\u0438\u0442\u0440\u0435\u0439\u0442",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u041D\u0443\u0436\u043D\u043E \u043B\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B?",y:"\u0414\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0444\u0430\u0439\u043B",n:"\u041D\u0435\u0442, \u043D\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C",t:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u0433\u0438",b:"\u041D\u0435\u0442, \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0430 \u0444\u0430\u0439\u043B\u0430 \u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u043C\u0435\u0440 \u043A \u0434\u0443\u0431\u043B\u0438\u043A\u0430\u0442\u0443",e:"\u041D\u0435\u0442, \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F"},fallbackBitrate:"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441 \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u043E\u043C \u043D\u0438\u0436\u0435, \u0435\u0441\u043B\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",fallbackSearch:"\u0418\u0441\u043A\u0430\u0442\u044C \u043F\u043E\u0445\u043E\u0436\u0438\u0439 \u0442\u0440\u0435\u043A, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",logErrors:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433\u0438 \u043E\u0448\u0438\u0431\u043E\u043A",logSearched:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430",createM3U8File:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",syncedLyrics:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C .lyr \u0444\u0430\u0439\u043B\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u043B\u0438\u0440\u0438\u043A\u0430)",playlistFilenameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",saveDownloadQueue:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043E\u0447\u0435\u0440\u0435\u0434\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u043F\u0440\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},covers:{title:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtwork:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u043E\u0431\u043B\u043E\u0436\u043A\u0438",coverImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtworkArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",localArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",embeddedArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0439 \u0432 \u0442\u0435\u0433\u0438 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",localArtworkFormat:{title:"\u0412 \u043A\u0430\u043A\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0431\u043B\u043E\u0436\u043A\u0438?",jpg:"jpeg",png:"png",both:"jpeg \u0438 png"},jpegImageQuality:"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E JPEG",embeddedArtworkPNG:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0443\u044E \u043E\u0431\u043B\u043E\u0436\u043A\u0443 \u0432 PNG",embeddedPNGWarning:"PNG \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0431\u0430\u0433\u0438",imageSizeWarning:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438 \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0432\u044B\u0448\u0435 x1200 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",coverDescriptionUTF8:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043E\u0431\u043B\u043E\u0436\u043A\u0438 \u0432 UTF8 (iTunes Fix)"},tags:{head:"\u041A\u0430\u043A\u0438\u0435 \u0442\u0435\u0433\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C",title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",artist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C",album:"\u0410\u043B\u044C\u0431\u043E\u043C",cover:"\u041E\u0431\u043B\u043E\u0436\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",trackTotal:"\u041A\u043E\u043B-\u0432\u043E \u0442\u0440\u0435\u043A\u043E\u0432",discNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",discTotal:"\u041A\u043E\u043B-\u0432\u043E \u0434\u0438\u0441\u043A\u043E\u0432",albumArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0430\u043B\u044C\u0431\u043E\u043C\u0430",genre:"\u0416\u0430\u043D\u0440",year:"\u0413\u043E\u0434",date:"\u0414\u0430\u0442\u0430",explicit:"\u041C\u0435\u0442\u043A\u0430 \u043E \u043D\u0435\u0446\u0435\u043D\u0437\u0443\u0440\u043D\u043E\u0439 \u043B\u0435\u043A\u0441\u0438\u043A\u0435",isrc:"\u041D\u043E\u043C\u0435\u0440 \u0437\u0430\u043F\u0438\u0441\u0438 (ISRC)",length:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",barcode:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u0434 \u0430\u043B\u044C\u0431\u043E\u043C\u0430 (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",lyrics:"\u0422\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",syncedLyrics:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D. \u0442\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",copyright:"\u041F\u0440\u0430\u0432\u0430 (\u043A\u043E\u043F\u0438\u0440\u0430\u0439\u0442)",composer:"\u041A\u043E\u043C\u043F\u043E\u0437\u0438\u0442\u043E\u0440",involvedPeople:"\u0412\u043E\u0432\u043B\u0435\u0447\u0451\u043D\u043D\u044B\u0435 \u043B\u044E\u0434\u0438",source:"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438 ID \u043F\u0435\u0441\u043D\u0438"},other:{title:"\u0420\u0430\u0437\u043D\u043E\u0435",savePlaylistAsCompilation:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043A\u0430\u043A \u0441\u0431\u043E\u0440\u043D\u0438\u043A\u0438",useNullSeparator:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C null \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044F",saveID3v1:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C ID3v1",multiArtistSeparator:{title:"\u041A\u0430\u043A \u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439?",nothing:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E",default:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0443\u044E \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044E",andFeat:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F & \u0438 feat.",using:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F "{separator}"'},singleAlbumArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumVariousArtists:'\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C "Various Artists" \u0432 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u0445 \u0430\u043B\u044C\u0431\u043E\u043C\u0430',removeAlbumVersion:'\u0423\u0434\u0430\u043B\u0438\u0442\u044C "Album Version" \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430',removeDuplicateArtists:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",dateFormat:{title:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B \u0434\u043B\u044F FLAC \u0444\u0430\u0439\u043B\u043E\u0432",year:"\u0413\u0413\u0413\u0413",month:"\u041C\u041C",day:"\u0414\u0414"},featuredToTitle:{title:"\u0427\u0442\u043E \u0434\u0435\u043B\u0430\u0442\u044C \u0441 \u043F\u0440\u0438\u0433\u043B\u0430\u0448\u0451\u043D\u043D\u044B\u043C\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u043C\u0438 (feat.)?",0:"\u041D\u0438\u0447\u0435\u0433\u043E",1:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",3:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",2:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0442\u0440\u0435\u043A\u0430"},titleCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F",artistCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",casing:{nothing:"\u041D\u0435 \u043C\u0435\u043D\u044F\u0442\u044C",lower:"\u0432 \u043D\u0438\u0436\u043D\u0435\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435",upper:"\u0412 \u0412\u0415\u0420\u0425\u041D\u0415\u041C \u0420\u0415\u0413\u0418\u0421\u0422\u0420\u0415",start:"\u041A\u0430\u0436\u0434\u043E\u0435 \u0421\u043B\u043E\u0432\u043E \u0421 \u0417\u0430\u0433\u043B\u0430\u0432\u043D\u043E\u0439 \u0411\u0443\u043A\u0432\u044B",sentence:"\u041A\u0430\u043A \u0432 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0438"},previewVolume:"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u043D\u0438\u044F",executeCommand:{title:"\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",description:"\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0435\u0441\u043B\u0438 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F"}},spotify:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"\u041A\u0430\u043A \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438 Spotify?"},reset:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",toasts:{init:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B!",update:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B!",ARLcopied:"ARL \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430"}},sidebar:{home:"\u0433\u043B\u0430\u0432\u043D\u0430\u044F",search:"\u043F\u043E\u0438\u0441\u043A",charts:"\u0447\u0430\u0440\u0442\u044B",favorites:"\u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",linkAnalyzer:"\u0430\u043D\u0430\u043B\u0438\u0437 \u0441\u0441\u044B\u043B\u043E\u043A",settings:"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",about:"\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0435"},tracklist:{downloadSelection:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435"}},tr={globals:{welcome:"Deemix'e ho\u015F geldin.",back:"geri",loading:"y\xFCkleniyor",download:"\u0130ndir {thing}",by:"{artist} taraf\u0131ndan",in:"{album} i\xE7inde",download_hint:"\u0130ndir",play_hint:"Oynat",toggle_download_tab_hint:"Geni\u015Flet/Daralt",clean_queue_hint:"Tamamlananlar\u0131 Temizle",cancel_queue_hint:"Hepsini ",listTabs:{empty:"",all:"T\xFCm\xFC",top_result:"top result",album:"alb\xFCm | alb\xFCmler",artist:"sanat\xE7\u0131 | sanat\xE7\u0131lar",single:"single | singlelar",title:"ba\u015Fl\u0131k | ba\u015Fl\u0131klar",track:"Par\xE7a | Par\xE7alar",trackN:"0 par\xE7a | {n} par\xE7a | {n} par\xE7a",releaseN:"0 yay\u0131nlanan | {n} yay\u0131nlanan | {n} yay\u0131nlanan",playlist:"oynatma listesi | oynatma listeleri",compile:"derleme | derlemeler",ep:"kay\u0131t | kay\u0131tlar",spotifyPlaylist:"spotify oynatma listesi | oynatma listeleri",releaseDate:"yay\u0131nlanma tarihi",error:"hata"}},about:{titles:{usefulLinks:"Yararl\u0131 Ba\u011Flant\u0131lar",bugReports:"Hata Raporlar\u0131",contributing:"Katk\u0131 Sa\u011Flayanlar",donations:"Ba\u011F\u0131\u015Flar",license:"Lisans"},subtitles:{bugReports:"Deemix'te \xE7al\u0131\u015Fmayan bir \u015Fey mi var?, Bize bildirin!",contributing:"Projeye katk\u0131 sa\u011Flamak m\u0131 istiyorsun? Farkl\u0131 yollardan sa\u011Flayabilirsin!",donations:"B\xFCt\xE7e yard\u0131m\u0131 m\u0131 yapmak istiyorsun? Ba\u011F\u0131\u015F yapabilirsin!"},usesLibrary:"deemix kendi kullan\u0131c\u0131 arabiriminizi olu\u015Fturabilece\u011Finiz, kendine \xF6zg\xFC k\xFCt\xFCphanesini kullan\u0131yor.",thanks:" rtonno, uhwot ve lollilol'a bu projeye yapt\u0131\u011F\u0131 katk\u0131lardan ve BasCurtiz'e ikonlardan dolay\u0131 te\u015Fekk\xFCr ederim.",upToDate:{text:"{newsChannel} takip ederek g\xFCncellemelerden haberdar olun.",newsChannel:"Telegramdaki haber kanal\u0131n\u0131"},officialWebsite:"\u0130lgili \u0130nternet Sitemiz",officialRepo:"\u0130lgili K\xFCt\xFCphanemiz",officialWebuiRepo:"\u0130lgili Web Kullan\u0131c\u0131 Aray\xFCz\xFC K\xFCt\xFCphanemiz.",officialSubreddit:"\u0130lgili Subreddit adresimiz",newsChannel:"Haber Kanal\u0131",questions:{text:"E\u011Fer uygulama ile ilgili sorular\u0131n\u0131z veya bir probleminiz varsa,ilk \xF6nce {subreddit} sorununuzu aray\u0131n. E\u011Fer bir \u015Fey bulamazsan\u0131z, sorununuz ile ilgili bir g\xF6nderi payla\u015Fabilirsiniz.",subreddit:"subreddit adresinden"},beforeReporting:"Bir hatay\u0131 bildirmeden \xF6nce, uygulaman\u0131n son s\xFCr\xFCm\xFCnde oldu\u011Funuza veya sorunun sizden kaynakl\u0131 olmay\u0131p bir hata oldu\u011Funa emin olduktan sonra emin olun.",beSure:"Hatan\u0131n ba\u015Fka cihazlarda da oldu\u011Funu do\u011Frulay\u0131n ve Bildirilen bir hatay\u0131 tekrar bildirmeyin.",duplicateReports:"Birbirinin ayn\u0131s\u0131 olan hata bildirileri kapat\u0131lacakt\u0131r, o y\xFCzden dikkatli olun.",dontOpenIssues:"Soru sormak i\xE7in hata bildirisi yollamay\u0131n, bunun i\xE7in bir subreddit adresimiz var.",newUI:{text:"E\u011Fer Phython kullanmakta iyiysen, ana k\xFCt\xFCphaneyi kullanan bir kullan\u0131c\u0131 aray\xFCz\xFC yapmay\u0131 deneyebilir, veya k\xFCt\xFCphanedeki hatalar\u0131 d\xFCzeltmek i\xE7in {repo}.",repo:"deposuna de\u011Fi\u015Fiklik iste\u011Fi yollayabilirsin"},acceptFeatures:"Yeni \xF6zellikleri de kabul ediyorum, fakat kar\u0131\u015F\u0131k \u015Feyleri k\xFCt\xFCphaneye de\u011Fil uygulamaya eklendi\u011Fi i\xE7in kabul edemiyorum.",otherLanguages:"E\u011Fer di\u011Fer programlama dillerinde kendine g\xFCveniyorsan, deemix'i farkl\u0131 dillere port etmeye \xE7al\u0131\u015Fabilirsin!",understandingCode:"Kodu anlamak i\xE7in yard\u0131m m\u0131 laz\u0131m? Reddit \xFCzerinden veya Telegramdan RemixDev'e ula\u015F.",contributeWebUI:{text:"E\u011Fer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.",webui:"Web Kullan\u0131c\u0131 Aray\xFCz\xFCne katk\u0131da bulanabilirsin"},itsFree:"Bunun \xFCcretsiz bir proje oldu\u011Funu ve geli\u015Ftiricilerden \xF6nce sevdi\u011Finiz sanat\xE7\u0131lar\u0131 desteklemeniz gerekti\u011Fini unutmay\u0131n.",notObligated:"Kendinizi ba\u011F\u0131\u015F yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!",lincensedUnder:{text:"Bu \xE7al\u0131\u015Fma lisansl\u0131d\u0131r: {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Grafikler",changeCountry:"\xDClke De\u011Fi\u015Ftir",download:"Grafi\u011Fi \u0130ndir"},errors:{title:"{name} Hatal\u0131 bulundu",ids:{invalidURL:"URL ge\xE7ersiz.",unsupportedURL:"URL \u015Fimdilik desteklenmiyor",ISRCnotOnDeezer:"ISRC par\xE7a deezerda bulunmuyor",notYourPrivatePlaylist:"Ba\u015Fkalar\u0131n\u0131n \xF6zel oynatma listelerini indiremezsin.",spotifyDisabled:"Spotify \xD6zellikleri do\u011Fru \u015Fekilde ayarlanmam\u0131\u015F.",trackNotOnDeezer:"Par\xE7a Deezer'da bulunamad\u0131!",albumNotOnDeezer:"Alb\xFCm Deezer'da bulunamad\u0131!",notOnDeezer:"Par\xE7a Deezer'da yok!",notEncoded:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi!",notEncodedNoAlternative:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi ve alternatifi bulunamad\u0131!",wrongBitrate:"Par\xE7a, istenen kalitede bulunamad\u0131!",wrongBitrateNoAlternative:"Par\xE7a veya alternatifler istenen kalitede bulunamad\u0131!",no360RA:"Par\xE7a 360 Derece ger\xE7ek\xE7i ses olarak bulunamad\u0131!",notAvailable:"Par\xE7a Deezer sunucular\u0131nda bulunamad\u0131!",notAvailableNoAlternative:"Par\xE7a veya Alternatifleri Deezer sunucular\u0131nda bulunamad\u0131.!"}},favorites:{title:"Favoriler",noPlaylists:"Oynatma listesi bulunamad\u0131.",noAlbums:"Favori alb\xFCmler bulunamad\u0131.",noArtists:"Favori sanat\xE7\u0131lar bulunamad\u0131.",noTracks:"Favori par\xE7alar bulunamad\u0131."},home:{needTologin:"\u0130ndirmeden \xF6nce Deezer hesab\u0131na giri\u015F yapmal\u0131s\u0131n.",openSettings:"Ayarlar\u0131 A\xE7",sections:{popularPlaylists:"Pop\xFCler Oynatma Listeleri",popularAlbums:"En \xE7ok dinlenen alb\xFCmler"}},linkAnalyzer:{info:"\u0130ndirmeye \xE7al\u0131\u015Ft\u0131\u011F\u0131n link hakk\u0131nda daha fazla bilgi i\xE7in buray\u0131 kullanabilirsin.",useful:"Mesela, \xFClkende dinlenebilir olmayan par\xE7alar\u0131n nerelerde var oldu\u011Funu bulmak i\xE7in kullanabilirsin.",linkNotSupported:"Bu link \u015Fimdilik desteklenmemektedir.",linkNotSupportedYet:"Bu link \u015Fimdilik desteklenmiyor gibi duruyor, ba\u015Fkas\u0131n\u0131 analiz etmeyi dene.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"S\xFCre",diskNumber:"S\u0131ra numaras\u0131",trackNumber:"Par\xE7a numaras\u0131",releaseDate:"Yay\u0131nlanma tarihi",bpm:"BPM",label:"Etiketi",recordType:"Kay\u0131t \u015Eekli",genres:"T\xFCr\xFC",tracklist:"Par\xE7a listesi"}},search:{startSearching:"Aramay\u0131 Ba\u015Flat!",description:"Bir par\xE7ay\u0131, t\xFCm alb\xFCm\xFC, bir sanat\xE7\u0131y\u0131, bir oynatma listesini... k\u0131saca her \u015Feyi aratabilirsin! Ayr\u0131ca Deezer Linki de yap\u0131\u015Ft\u0131rabilirsin!",fans:"{n} Hayranlar",noResults:"Sonu\xE7 Bulunamad\u0131",noResultsTrack:"Par\xE7a bulunamad\u0131",noResultsAlbum:"Alb\xFCm bulunamad\u0131",noResultsArtist:"Sanat\xE7\u0131 bulunamad\u0131",noResultsPlaylist:"Oynatma Listesi bulunamad\u0131"},searchbar:"\u0130stedi\u011Fin bir \u015Feyi arat (ya da bir link yap\u0131\u015Ft\u0131r.)",downloads:"\u0130ndirilenler",toasts:{addedToQueue:"{item} kuyru\u011Fa eklendi",alreadyInQueue:"{item} \xE7oktan kuyrukta!",finishDownload:"{item} indirmesi tamamland\u0131.",allDownloaded:"T\xFCm indirmeler tamamland\u0131!",refreshFavs:"Yenileme tamamland\u0131.!",loggingIn:"Giri\u015F yap\u0131l\u0131yor",loggedIn:"Giri\u015F yap\u0131ld\u0131",alreadyLogged:"\xC7oktan giri\u015F yap\u0131ld\u0131",loginFailed:"Giri\u015F yap\u0131lamad\u0131",loggedOut:"Oturum kapat\u0131ld\u0131.",cancellingCurrentItem:"Ge\xE7erli \xF6\u011Fe iptal ediliyor.",currentItemCancelled:"Ge\xE7erli \xF6\u011Fe iptal edildi.",startAddingArtist:"{artist} alb\xFCm kuyru\u011Fa ekleniyor",finishAddingArtist:"{artist} alb\xFCm kuyru\u011Fa eklendi.",startConvertingSpotifyPlaylist:"Spotify par\xE7alar\u0131 deezer par\xE7alar\u0131na d\xF6n\xFC\u015Ft\xFCr\xFCl\xFCyor.",finishConvertingSpotifyPlaylist:"Spotify oynatma listesi d\xF6n\xFC\u015Ft\xFCr\xFCld\xFC."},settings:{title:"Ayarlar",languages:"Diller",login:{title:"Giri\u015F",loggedIn:"{username} olarak giri\u015F yapt\u0131n.",arl:{question:"Kendi ARL'mi nas\u0131l al\u0131r\u0131m?",update:"ARL g\xFCncelle."},logout:"\xC7\u0131k\u0131\u015F"},appearance:{title:"G\xF6r\xFCn\xFCm",slimDownloadTab:"\u0130nce indirme sekmesi"},downloadPath:{title:"\u0130ndirilen dizin"},templates:{title:"\u015Eablonlar",tracknameTemplate:"Par\xE7a ismi \u015Fablonu",albumTracknameTemplate:"Alb\xFCm par\xE7as\u0131 \u015Fablonu",playlistTracknameTemplate:"Oynatma listesi par\xE7a \u015Fablonu"},folders:{title:"Dosyalar",createPlaylistFolder:"Oynatma listesi i\xE7in dosya olu\u015Ftur",playlistNameTemplate:"Oynatma listesi dosyas\u0131 \u015Fablonu",createArtistFolder:"Sanat\xE7\u0131 i\xE7in dosya olu\u015Ftur",artistNameTemplate:"Sanat\xE7\u0131 dosyas\u0131 \u015Fablonu",createAlbumFolder:"Alb\xFCm i\xE7in dosya olu\u015Ftur",albumNameTemplate:"Alb\xFCm dosyas\u0131 \u015Fablonu",createCDFolder:"CDler i\xE7in dosya olu\u015Ftur",createStructurePlaylist:"Oynatma listeleri i\xE7in dosya k\xF6k\xFC olu\u015Ftur",createSingleFolder:"Singlelar i\xE7in dosya k\xF6k\xFC olu\u015Ftur"},trackTitles:{title:"Par\xE7a ba\u015Fl\u0131klar\u0131",padTracks:"\u0130z Numaralar\u0131",paddingSize:"\u0130z Numaralar\u0131n\u0131 de\u011Fi\u015Ftir",illegalCharacterReplacer:"Illegal Karakter D\xFCzenleyici"},downloads:{title:"\u0130ndirilenler",queueConcurrency:"Devam eden indirmeler",maxBitrate:{title:"Tercih edilmi\u015F Bitrateler (kaliteler)",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dosyalar\u0131n \xFCst\xFCne yazmal\u0131 m\u0131y\u0131m?",y:"Evet, \xFCst\xFCne yaz",n:"Hay\u0131r, \xFCst\xFCne yazma",t:"Sadece izleri \xFCst\xFCne yaz"},fallbackBitrate:"Bitrate d\xFC\u015F\xFCrme",fallbackSearch:"D\xFC\u015F\xFCrme ara",logErrors:"Hatalar i\xE7in g\xFCnl\xFCk tut",logSearched:"Aranm\u0131\u015F par\xE7alar i\xE7in g\xFCnl\xFCk tut",createM3U8File:"Oynatma s\u0131ra listesi olu\u015Ftur",syncedLyrics:".lyr dosyalar\u0131 olu\u015Ftur (Senkronize \u015Fark\u0131 s\xF6zleri)",playlistFilenameTemplate:"Oynatma listesi \u015Fablonu",saveDownloadQueue:"Uygulamay\u0131 kapat\u0131rken indirme kuyru\u011Funu kaydet"},covers:{title:"Alb\xFCm kapaklar\u0131",saveArtwork:"Kapaklar\u0131 kaydet",coverImageTemplate:"Kapak ismi \u015Fablonu",saveArtworkArtist:"Sanat\xE7\u0131 foto\u011Fraf\u0131n\u0131 kaydet",artistImageTemplate:"\u015Eark\u0131c\u0131 foto\u011Fraf \u015Fablonu",localArtworkSize:"Yerel foto\u011Fraf boyutu",embeddedArtworkSize:"G\xF6m\xFCl\xFC foto\u011Fraf boyutu",localArtworkFormat:{title:"Yerel foto\u011Fraf\u0131n hangi formatta olmas\u0131n\u0131 istersin?",jpg:"Jpeg dosyas\u0131",png:"Png dosyas\u0131",both:"Her ikisi"},jpegImageQuality:"JPEG g\xF6r\xFCnt\xFC kalitesi"},tags:{head:"Hangi izler kay\u0131t edilsin?",title:"Ba\u015Fl\u0131k",artist:"Sanat\xE7\u0131",album:"Alb\xFCm",cover:"Kapak",trackNumber:"Par\xE7a Numaras\u0131",trackTotal:"T\xFCm Par\xE7a",discNumber:"Plak Say\u0131s\u0131",discTotal:"T\xFCm Plak",albumArtist:"Sanat\xE7\u0131 Alb\xFCm\xFC",genre:"T\xFCr",year:"Y\u0131l",date:"Tarih",explicit:"Cinsel i\xE7erikli \u015Fark\u0131 s\xF6zleri",isrc:"ISRC",length:"Par\xE7a Uzunlu\u011Fu",barcode:"Alb\xFCm Barkodu (UPC)",bpm:"BPM",replayGain:"Ses Y\xFCksekli\u011Fi Normalle\u015Ftirici",label:"Alb\xFCm Etiketi",lyrics:"Senkronize edilmemi\u015F \u015Fark\u0131 s\xF6zleri",copyright:"Telif hakk\u0131",composer:"Besteleyen",involvedPeople:"Alakal\u0131 Ki\u015Filer"},other:{title:"Di\u011Fer",savePlaylistAsCompilation:"Oynatma listelerini derleme olarak kaydet",useNullSeparator:"Bo\u015Fluk ay\u0131r\u0131c\u0131 kullan",saveID3v1:"ID3v1 dosyas\u0131n\u0131 da kaydet",multiArtistSeparator:{title:"Sanat\xE7\u0131lar\u0131n\u0131z\u0131 nas\u0131l ay\u0131rmak istersiniz?",nothing:"Sadece ana sanat\xE7\u0131y\u0131 kaydet",default:"Genel prosed\xFCr uygulans\u0131n",andFeat:"Kullan\u0131lanlar & ve Feat.",using:'Kullan\u0131lan "{separator}"'},singleAlbumArtist:"Sadece ana alb\xFCm sanat\xE7\u0131s\u0131n\u0131 kaydet",albumVariousArtists:'"\xC7e\u015Fitli sanat\xE7\u0131lar"\u0131 sanat\xE7\u0131 alb\xFCmlerinde tut',removeAlbumVersion:'"Alb\xFCm S\xFCr\xFCm\xFC"n\xFC par\xE7a ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart',removeDuplicateArtists:"Sanat\xE7\u0131 toplulu\u011Funu \xE7\u0131kart",dateFormat:{title:"FLAC dosyalar i\xE7in zaman format\u0131",year:"YYYY",month:"AA",day:"GG"},featuredToTitle:{title:"\xD6ne \xE7\u0131kan sanat\xE7\u0131lar\u0131 ne yapmal\u0131y\u0131m?",0:"Elleme",1:"Ba\u015Fl\u0131ktan \xE7\u0131kart",3:"Ba\u015Fl\u0131ktan ve alb\xFCm ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart",2:"Ba\u015Fl\u0131\u011Fa ta\u015F\u0131"},titleCasing:"Alb\xFCm harfi",artistCasing:"Sanat\xE7\u0131 harfi",casing:{nothing:"De\u011Fi\u015Ftirmeden b\u0131rak",lower:"k\xFC\xE7\xFCk harf",upper:"B\xDCY\xDCK HARF",start:"Kelimenin ba\u015F\u0131 ile ba\u015Fla",sentence:"C\xFCmle gibi yap"},previewVolume:"Ses \xF6nizlemesi",executeCommand:{title:"\u0130ndirdikten sonra komut uygula",description:"Bir \u015Fey yapmamak i\xE7in bo\u015F b\u0131rak"}},spotify:{title:"Spotify \xD6zelli\u011Fi",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify Kullan\u0131c\u0131 Ad\u0131"},reset:"Varsay\u0131lana s\u0131f\u0131rla",save:"Kaydet",toasts:{init:"Ayarlar y\xFCklendi!",update:"Ayarlar g\xFCncellendi!",ARLcopied:"ARL panoya kopyaland\u0131!"}},sidebar:{home:"Ana sayfa",search:"Ara",charts:"Grafikler",favorites:"Favoriler",linkAnalyzer:"Link Analiz\xF6r\xFC",settings:"Ayarlar",about:"Hakk\u0131nda"},tracklist:{downloadSelection:"\u0130ndirme b\xF6l\xFCm\xFC"}},vn={globals:{welcome:"Ch\xE0o m\u1EEBng \u0111\u1EBFn v\u1EDBi deemix",back:"tr\u1EDF l\u1EA1i",loading:"\u0111ang t\u1EA3i",download:"T\u1EA3i xu\u1ED1ng {thing}",by:"b\u1EDFi {artist}",in:"trong {album}",download_hint:"T\u1EA3i xu\u1ED1ng",play_hint:"Ph\xE1t",toggle_download_tab_hint:"M\u1EDF r\u1ED9ng/Gi\u1EA5u",clean_queue_hint:"X\xF3a nh\u1EEFng file \u0111\xE3 t\u1EA3i xong",cancel_queue_hint:"H\u1EE7y t\u1EA5t c\u1EA3",listTabs:{empty:"",all:"t\u1EA5t c\u1EA3",top_result:"k\u1EBFt qu\u1EA3 h\xE0ng \u0111\u1EA7u",album:"album | album",artist:"Ngh\u1EC7 s\u0129 | Ngh\u1EC7 s\u0129",single:"\u0111\u01A1n | \u0111\u01A1n",title:"ti\xEAu \u0111\u1EC1 | ti\xEAu \u0111\u1EC1",track:"B\xE0i h\xE1t | B\xE0i h\xE1t",trackN:"0 B\xE0i h\xE1t | {n} B\xE0i h\xE1t | {n} B\xE0i h\xE1t",releaseN:"0 s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m",playlist:"playlist | playlist",compile:"t\u1ED5ng h\u1EE3p | t\u1ED5ng h\u1EE3p",ep:"ep | ep",spotifyPlaylist:"playlist c\u1EE7a spotify | playlist c\u1EE7a spotify",releaseDate:"ng\xE0y ph\xE1t h\xE0nh",error:"l\u1ED7i"}},about:{titles:{usefulLinks:"Link h\u1EEFu d\u1EE5ng",bugReports:"B\xE1o l\u1ED7i",contributing:"\u0110\xF3ng g\xF3p",donations:"Quy\xEAn g\xF3p",license:"B\u1EB1ng ph\xE9p"},subtitles:{bugReports:"B\u1EA1n th\u1EA5y c\xF3 g\xEC \u0111\xF3 kh\xF4ng ho\u1EA1t \u0111\u1ED9ng trong deemix? Xin h\xE3y b\xE1o v\u1EDBi ch\xFAng t\xF4i!",contributing:"B\u1EA1n mu\u1ED1n \u0111\xF3ng g\xF3p cho d\u1EF1 \xE1n n\xE0y? B\u1EA1n c\xF3 th\u1EC3 l\xE0m \u0111i\u1EC1u \u0111\xF3 v\u1EDBi nhi\u1EC1u c\xE1ch kh\xE1c nhau!",donations:"B\u1EA1n mu\u1ED1n \u1EE7ng h\u1ED9 kinh ph\xED? B\u1EA1n c\xF3 th\u1EC3 quy\xEAn g\xF3p t\u1EA1i \u0111\xE2y!"},usesLibrary:"\u1EE8ng d\u1EE5ng n\xE0y s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n deemix, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng n\xF3 \u0111\u1EC3 t\u1EA1o m\u1ED9t UI ri\xEAng cho deemix.",thanks:"C\u1EA3m \u01A1n rtonno, uhwot v\xE0 lollilol \u0111\xE3 gi\xFAp t\xF4i v\u1EDBi d\u1EF1 \xE1n n\xE0y v\xE0 BasCurtiz v\u1EDBi vi\u1EC7c thi\u1EBFt k\u1EBF bi\u1EC3u t\u01B0\u1EE3ng.",upToDate:{text:"C\u1EADp nh\u1EADt app b\u1EB1ng c\xE1ch theo d\xF5i {newsChannel} tr\xEAn Telegram.",newsChannel:"k\xEAnh tin t\u1EE9c"},officialWebsite:"Website ch\xEDnh th\u1EE9c",officialRepo:"Repo th\u01B0 vi\u1EC7n ch\xEDnh th\u1EE9c",officialWebuiRepo:"Repo WebUI ch\xEDnh th\u1EE9c",officialSubreddit:"Subreddit ch\xEDnh th\u1EE9c",newsChannel:"K\xEAnh tin t\u1EE9c",questions:{text:"N\u1EBFu b\u1EA1n c\xF3 c\xE2u h\u1ECFi ho\u1EB7c v\u1EA5n \u0111\u1EC1 v\u1EC1 \u1EE9ng d\u1EE5ng n\xE0y, xin h\xE3y t\xECm gi\u1EA3i ph\xE1p tr\xEAn {subreddit} tr\u01B0\u1EDBc. Sau \u0111\xF3, n\u1EBFu b\u1EA1n kh\xF4ng t\xECm \u0111\u01B0\u1EE3c g\xEC th\xEC b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t b\xE0i \u0111\u0103ng v\u1EC1 v\u1EA5n \u0111\u1EC1 c\u1EE7a b\u1EA1n tr\xEAn subreddit d\xF3.",subreddit:"subreddit"},beforeReporting:"Tr\u01B0\u1EDBc khi b\xE1o l\u1ED7i h\xE3y \u0111\u1EA3m b\u1EA3o b\u1EA1n \u0111ang s\u1EED d\u1EE5ng phi\xEAn b\u1EA3n m\u1EDBi nh\u1EA5t c\u1EE7a \u1EE9ng d\u1EE5ng v\xE0 l\u1ED7i b\u1EA1n \u0111ang g\u1EB7p kh\xF4ng ph\u1EA3i l\xE0 do b\u1EA1n.",beSure:"H\xE3y \u0111\u1EA3m b\u1EA3o l\xE0 l\u1ED7i n\xE0y v\u1EABn c\xF3 th\u1EC3 x\u1EA3y ra tr\xEAn c\xE1c thi\u1EBFt b\u1ECB kh\xE1c v\xE0 XIN \u0110\u1EEANG b\xE1o l\u1ED7i \u0111\xE3 \u0111\u01B0\u1EE3c b\xE1o r\u1ED3i.",duplicateReports:"Nh\u1EEFng b\u1EA3n b\xE1o l\u1ED7i tr\xF9ng nhau s\u1EBD b\u1ECB \u0111\xF3ng, xin b\u1EA1n h\xE3y \u0111\u1EC3 \xFD \u0111i\u1EC1u n\xE0y.",dontOpenIssues:"XIN \u0110\u1EEANG m\u1EDF v\u1EA5n \u0111\u1EC1 \u0111\u1EC3 h\u1ECFi, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng subreddit tr\xEAn cho vi\u1EC7c \u0111\xF3.",newUI:{text:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi python b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t UI m\u1EDBi b\u1EB1ng c\xE1ch s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n g\u1ED1c, ho\u1EB7c s\u1EEDa l\u1ED7i trong th\u01B0 vi\u1EC7n \u0111\xF3 v\u1EDBi m\u1ED9t pull request tr\xEAn {repo}.",repo:"repo n\xE0y"},acceptFeatures:"T\xF4i c\xF3 ch\u1EA5p nh\u1EADn y\xEAu c\u1EA7u v\u1EC1 t\xEDnh n\u0103ng m\u1EDBi nh\u01B0ng kh\xF4ng qu\xE1 ph\u1EE9c t\u1EA1p b\u1EDFi v\xEC ch\xFAng c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c tri\u1EC3n khai tr\u1EF1c ti\u1EBFp v\xE0o \u1EE9ng d\u1EE5ng thay v\xEC v\xE0o th\u01B0 vi\u1EC7n.",otherLanguages:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi m\u1ED9t ng\xF4n ng\u1EEF kh\xE1c, b\u1EA1n c\xF3 th\u1EC3 port deemix sang ng\xF4n ng\u1EEF \u0111\xF3!",understandingCode:"B\u1EA1n mu\u1ED1n hi\u1EC3u code c\u1EE7a deemix? Xin h\xE3y li\xEAn l\u1EA1c RemixDev tr\xEAn Telegram ho\u1EB7c Reddit.",contributeWebUI:{text:"N\u1EBFu b\u1EA1n bi\u1EBFt Vue.js (JavaScript), HTML ho\u1EB7c CSS, b\u1EA1n c\xF3 th\u1EC3 g\xF3p ph\u1EA7n ph\xE1t tri\u1EC3n {webui}.",webui:"WebUI"},itsFree:"B\u1EA1n n\xEAn nh\u1EDB r\u1EB1ng \u0111\xE2y l\xE0 m\u1ED9t d\u1EF1 \xE1n phi l\u1EE3i nhu\u1EADn v\xE0 b\u1EA1n n\xEAn \u1EE7ng h\u1ED9 nh\u1EEFng Ngh\u1EC7 s\u0129 y\xEAu th\xEDch c\u1EE7a b\u1EA1n tr\u01B0\u1EDBc khi \u1EE7ng h\u1ED9 nh\xE0 ph\xE1t tri\u1EC3n.",notObligated:"\u0110\u1EEBng ngh\u0129 r\u1EB1ng b\u1EA1n ph\u1EA3i \u0111\xF3ng g\xF3p ti\u1EC1n, t\xF4i v\u1EABn s\u1EBD r\u1EA5t bi\u1EBFt \u01A1n b\u1EA1n!",lincensedUnder:{text:"D\u1EF1 \xE1n n\xE0y \u0111\u01B0\u1EE3c c\u1EA5p ph\xE9p b\u1EDFi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"B\u1EA3ng x\u1EBFp h\u1EA1ng",changeCountry:"Thay \u0111\u1ED5i qu\u1ED1c gia",download:"T\u1EA3i xu\u1ED1ng b\u1EA3ng x\u1EBFp h\u1EA1ng n\xE0y"},errors:{title:"L\u1ED7i {name}",ids:{invalidURL:"Kh\xF4ng nh\u1EADn di\u1EC7n \u0111\u01B0\u1EE3c URL",unsupportedURL:"URL n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",ISRCnotOnDeezer:"ISRC c\u1EE7a b\xE0i h\xE1t n\xE0y hi\u1EC7n kh\xF4ng c\xF3 tr\xEAn Deezer",notYourPrivatePlaylist:"B\u1EA1n kh\xF4ng th\u1EC3 t\u1EA3i xu\u1ED1ng playlist ri\xEAng c\u1EE7a ng\u01B0\u1EDDi kh\xE1c.",spotifyDisabled:"Ch\u1EE9c n\u0103ng Spotify ch\u01B0a \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp \u0111\xFAng c\xE1ch.",trackNotOnDeezer:"B\xE0i h\xE1t kh\xF4ng c\xF3 tr\xEAn Deezer!",albumNotOnDeezer:"Album kh\xF4ng c\xF3 tr\xEAn Deezer!",notOnDeezer:"B\xE0i h\xE1t ch\u01B0a c\xF3 tr\xEAn Deezer!",notEncoded:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode!",notEncodedNoAlternative:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",wrongBitrate:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n.",wrongBitrateNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",no360RA:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF d\u1EA1ng Reality Audio 360.",notAvailable:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer!",notAvailableNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!"}},favorites:{title:"Y\xEAu th\xEDch",noPlaylists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Playlist",noAlbums:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Album Y\xEAu th\xEDch",noArtists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Ngh\u1EC7 s\u0129 Y\xEAu th\xEDch",noTracks:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c B\xE0i h\xE1t Y\xEAu th\xEDch"},home:{needTologin:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Deezer tr\u01B0\u1EDBc khi b\u1EAFt \u0111\u1EA7u t\u1EA3i xu\u1ED1ng.",openSettings:"M\u1EDF C\xE0i \u0111\u1EB7t",sections:{popularPlaylists:"Playlist N\u1ED5i ti\u1EBFng",popularAlbums:"Album \u0111\u01B0\u1EE3c stream nhi\u1EC1u nh\u1EA5t"}},linkAnalyzer:{info:"B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng ch\u1EE9c n\u0103ng n\xE0y \u0111\u1EC3 ki\u1EBFm th\xEAm th\xF4ng tin v\u1EC1 \u0111\u01B0\u1EDDng link m\xE0 b\u1EA1n mu\u1ED1n t\u1EA3i xu\u1ED1ng.",useful:"Ch\u1EE9c n\u0103ng n\xE0y r\u1EA5t h\u1EEFu d\u1EE5ng n\u1EBFu b\u1EA1n mu\u1ED1n t\u1EA3i c\xE1c b\xE0i h\xE1t hi\u1EC7n kh\xF4ng c\xF3 s\u1EB5n \u1EDF qu\u1ED1c gia c\u1EE7a b\u1EA1n v\xE0 mu\u1ED1n bi\u1EBFt c\xE1c qu\u1ED1c gia \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3.",linkNotSupported:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",linkNotSupportedYet:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3, xin h\xE3y th\u1EED l\u1EA1i v\u1EDBi m\u1ED9t \u0111\u01B0\u1EDDng link kh\xE1c.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Th\u1EDDi l\u01B0\u1EE3ng",diskNumber:"S\u1ED1 \u0111\u0129a",trackNumber:"S\u1ED1 b\xE0i h\xE1t",releaseDate:"Ng\xE0y ph\xE1t h\xE0nh",bpm:"BPM",label:"H\xE3ng",recordType:"Lo\u1EA1i Thu \xE2m",genres:"Th\u1EC3 lo\u1EA1i",tracklist:"Danh s\xE1ch c\xE1c b\xE0i h\xE1t"}},search:{startSearching:"B\u1EAFt \u0111\u1EA7u t\xECm ki\u1EBFm!",description:"B\u1EA1n c\xF3 th\u1EC3 t\xECm m\u1ED9t b\xE0i h\xE1t, album, ngh\u1EC7 s\u0129, playlist, v.v...! B\u1EA1n c\u0169ng c\xF3 th\u1EC3 d\xF9ng link c\u1EE7a Deezer",fans:"{n} ng\u01B0\u1EDDi h\xE2m m\u1ED9",noResults:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",noResultsTrack:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c b\xE0i h\xE1t n\xE0o",noResultsAlbum:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c album n\xE0o",noResultsArtist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c ngh\u1EC7 s\u0129 n\xE0o",noResultsPlaylist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c playlist n\xE0o"},searchbar:"T\xECm nh\u1EEFng g\xEC b\u1EA1n mu\u1ED1n (b\u1EA1n c\u0169ng c\xF3 th\u1EC3 s\u1EEF d\u1EE5ng m\u1ED9t \u0111\u01B0\u1EDDng link)",downloads:"T\u1EA3i xu\u1ED1ng",toasts:{addedToQueue:"{item} \u0111\xE3 \u0111\u01B0\u1EE3c \u0111\u01B0a v\xE0o h\xE0ng ch\u1EDD",alreadyInQueue:"{item} \u0111\xE3 \u0111ang trong h\xE0ng ch\u1EDD!",finishDownload:"{item} \u0111\xE3 t\u1EA3i xong.",allDownloaded:"T\u1EA5t c\u1EA3 c\xE1c b\xE0i h\xE1t \u0111\xE3 \u0111\u01B0\u1EE3c t\u1EA3i xu\u1ED1ng!",refreshFavs:"T\u1EA3i l\u1EA1i ho\xE0n t\u1EA5t!",loggingIn:"\u0110ang \u0111\u0103ng nh\u1EADp",loggedIn:"\u0110\u0103ng nh\u1EADp th\xE0nh c\xF4ng",alreadyLogged:"\u0110\xE3 \u0111\u0103ng nh\u1EADp",loginFailed:"Kh\xF4ng th\u1EC3 \u0111\u0103ng nh\u1EADp",loggedOut:"\u0110\u0103ng xu\u1EA5t",cancellingCurrentItem:"\u0110ang h\u1EE7y file hi\u1EC7n t\u1EA1i.",currentItemCancelled:"File hi\u1EC7n t\u1EA1i \u0111\xE3 b\u1ECB h\u1EE7y.",startAddingArtist:"\u0110ang \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",finishAddingArtist:"\u0110\xE3 \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",startConvertingSpotifyPlaylist:"\u0110ang chuy\u1EC3n \u0111\u1ED5i c\xE1c b\xE0i h\xE1t t\u1EEB Spotify sang Deezer",finishConvertingSpotifyPlaylist:"Playlist c\u1EE7a Spotify \u0111\xE3 \u0111\u01B0\u1EE3c chuy\u1EC3n \u0111\u1ED5i",loginNeededToDownload:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111ang nh\u1EADp \u0111\u1EC3 t\u1EA3i nh\u1EA1c!"},settings:{title:"C\xE0i \u0111\u1EB7t",languages:"Ng\xF4n ng\u1EEF",login:{title:"\u0110\u0103ng nh\u1EADp",loggedIn:"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp v\u1EDBi t\xEAn {username}",arl:{question:"L\xE0m c\xE1ch n\xE0o \u0111\u1EC3 c\xF3 ARL c\u1EE7a t\xF4i?",update:"C\u1EADp nh\u1EADt ARL"},logout:"\u0110\u0103ng xu\u1EA5t"},appearance:{title:"Giao di\u1EC7n",slimDownloadTab:"Thanh t\u1EA3i xu\u1ED1ng nh\u1ECF"},downloadPath:{title:"N\u01A1i t\u1EA3i xu\u1ED1ng"},templates:{title:"B\u1EA3n m\u1EABu",tracknameTemplate:"B\xE0i h\xE1t m\u1EABu",albumTracknameTemplate:"B\xE0i h\xE1t trong album m\u1EABu",playlistTracknameTemplate:"B\xE0i h\xE1t trong playlist m\u1EABu"},folders:{title:"Th\u01B0 m\u1EE5c",createPlaylistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho playlist",playlistNameTemplate:"Th\u01B0 m\u1EE5c playlist m\u1EABu",createArtistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho ngh\u1EC7 s\u0129",artistNameTemplate:"Th\u01B0 m\u1EE5c Ngh\u1EC7 s\u0129 m\u1EABu",createAlbumFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho album",albumNameTemplate:"Th\u01B0 m\u1EE5c cho album m\u1EABu",createCDFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho \u0111\u0129a CD",createStructurePlaylist:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho playlist",createSingleFolder:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho \u0111\u0129a \u0111\u01A1n"},trackTitles:{title:"T\xEAn b\xE0i h\xE1t",padTracks:"\u0110\u1EC7m t\xEAn b\xE0i h\xE1t",paddingSize:"Gh\xEC \u0111\xE8 k\xEDch c\u1EE1 ph\u1EA7n \u0111\u1EC7m",illegalCharacterReplacer:"Thay c\xE1c k\xED t\u1EF1 kh\xF4ng h\u1EE3p l\u1EC7 v\u1EDBi"},downloads:{title:"T\u1EA3i xu\u1ED1ng",queueConcurrency:"S\u1ED1 l\u01B0\u1EE3ng t\u1EA3i xu\u1ED1ng c\xF9ng l\xFAc",maxBitrate:{title:"Bitrate \u01B0a th\xEDch",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"T\xF4i c\xF3 n\xEAn ghi \u0111\xE8 file n\xE0y kh\xF4ng?",y:"C\xF3, h\xE3y ghi \u0111\xE8 file n\xE0y",n:"Kh\xF4ng, \u0111\u1EEBng ghi \u0111\xE8 file n\xE0y",t:"Ch\u1EC9 ghi \u0111\xE8 c\xE1c tag"},fallbackBitrate:"Bitrate d\u1EF1 ph\xF2ng",fallbackSearch:"Search d\u1EF1 ph\xF2ng",logErrors:"T\u1EA1o file log khi c\xF3 l\u1ED7i",logSearched:"T\u1EA1o file log khi b\u1EA1n t\xECm B\xE0i h\xE1t",createM3U8File:"T\u1EA1o file playlist",syncedLyrics:"T\u1EA1o file .lyr (L\u1EDDi B\xE0i h\xE1t)",playlistFilenameTemplate:"T\xEAn playlist m\u1EABu",saveDownloadQueue:"L\u01B0u h\xE0ng ch\u1EDD download khi \u0111\xF3ng \u1EE9ng d\u1EE5ng"},covers:{title:"B\xECa album",saveArtwork:"L\u01B0u b\xECa",coverImageTemplate:"T\xEAn b\xECa m\u1EABu",saveArtworkArtist:"L\u01B0u h\xECnh Ngh\u1EC7 s\u0129",artistImageTemplate:"H\xECnh ngh\u1EC7 s\u0129 m\u1EABu",localArtworkSize:"K\xEDch c\u1EE1 file b\xECa",embeddedArtworkSize:"K\xEDch c\u1EE1 b\xECa trong file b\xE0i h\xE1t",localArtworkFormat:{title:"B\u1EA1n mu\u1ED1n file b\xECa \u1EDF \u0111\u1ECBnh d\u1EA1ng n\xE0o?",jpg:"jpg",png:"png",both:"C\u1EA3 jpg v\xE0 png"},jpegImageQuality:"Ch\u1EA5t l\u01B0\u1EE3ng file JPEG"},tags:{head:"Nh\u1EEFng tag s\u1EBD \u0111\u01B0\u1EE3c l\u01B0u",title:"Ti\xEAu \u0111\u1EC1",artist:"Ngh\u1EC7 s\u0129",album:"Album",cover:"B\xECa",trackNumber:"S\u1ED1 b\xE0i h\xE1t",trackTotal:"T\u1ED5ng s\u1ED1 b\xE0i h\xE1t",discNumber:"S\u1ED1 \u0111\u0129a",discTotal:"T\u1ED5ng s\u1ED1 \u0111\u0129a",albumArtist:"Ngh\u1EC7 s\u0129 c\u1EE7a album",genre:"Th\u1EC3 lo\u1EA1i",year:"N\u0103m",date:"Ng\xE0y",explicit:"L\u1EDDi explicit",isrc:"ISRC",length:"Th\u1EDDi l\u01B0\u1EE3ng",barcode:"M\xE3 v\u1EA1ch c\u1EE7a album (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Nh\xE3n hi\u1EC7u album",lyrics:"L\u1EDDi",copyright:"B\u1EA3n quy\u1EC1n",composer:"Nh\xE0 so\u1EA1n nh\u1EA1c",involvedPeople:"Nh\u1EEFng ng\u01B0\u1EDDi li\xEAn quan"},other:{title:"Kh\xE1c",savePlaylistAsCompilation:"L\u01B0u playlist d\u01B0\u1EDBi d\u1EA1ng tuy\u1EC3n t\u1EADp",useNullSeparator:"D\xF9ng d\u1EA3i ph\xE2n c\xE1ch null",saveID3v1:"L\u01B0u ID3v1",multiArtistSeparator:{title:"B\u1EA1n mu\u1ED1n ph\xE2n c\xE1ch c\xE1c ngh\u1EC7 s\u0129 nh\u01B0 th\u1EBF n\xE0o?",nothing:"Ch\u1EC9 l\u01B0u ngh\u1EC7 s\u0129 ch\xEDnh",default:"D\xF9ng quy c\xE1ch ti\xEAu chu\u1EA9n",andFeat:"D\xF9ng & v\xE0 feat.",using:'D\xF9ng "{separator}"'},singleAlbumArtist:"Ch\u1EC9 l\u01B0u Ngh\u1EC7 s\u0129 Album ch\xEDnh",albumVariousArtists:'Gi\u1EEF nguy\xEAn "Nhi\u1EC1u Ngh\u1EC7 s\u0129" trong Ngh\u1EC7 s\u0129 Album',removeAlbumVersion:'B\u1ECF "Phi\xEAn b\u1EA3n Album" kh\u1ECFi t\xEAn b\xE0i h\xE1t',removeDuplicateArtists:"B\u1ECF c\xE1c t\xEAn ngh\u1EC7 s\u0129 ph\u1ED1i h\u1EE3p",dateFormat:{title:"\u0110\u1ECBnh d\u1EA1ng ng\xE0y cho file FLAC ",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"T\xF4i n\xEAn l\xE0m g\xEC v\u1EDBi c\xE1c ngh\u1EC7 s\u0129 \u0111\xF3ng g\xF3p?",0:"Kh\xF4ng l\xE0m g\xEC c\u1EA3",1:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t",3:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t v\xE0 t\xEAn album",2:"\u0110\u01B0a ch\xFAng v\xE0o t\xEAn b\xE0i h\xE1t"},titleCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn b\xE0i h\xE1t",artistCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn ngh\u1EC7 s\u0129",casing:{nothing:"Kh\xF4ng \u0111\u1ED5i",lower:"ch\u1EEF th\u01B0\u1EDDng",upper:"CH\u1EEE HOA",start:"Vi\u1EBFt Hoa \u1EDE Ch\u1EEF C\xE1i \u0110\u1EA7u Ti\xEAn C\u1EE7a M\u1ED7i T\u1EEB",sentence:"Nh\u01B0 m\u1ED9t c\xE2u"},previewVolume:"\xC2m l\u01B0\u1EE3ng nghe th\u1EED",executeCommand:{title:"Th\u1EF1c hi\u1EC7n nh\u1EEFng l\u1EC7nh n\xE0y khi \u0111\xE3 t\u1EA3i xu\u1ED1ng xong",description:"\u0110\u1EC3 tr\u1ED1ng n\u1EBFu b\u1EA1n kh\xF4ng mu\u1ED1n th\u1EF1c hi\u1EC7n l\u1EC7nh n\xE0o"}},spotify:{title:"Ch\u1EE9c n\u0103ng Spotify",clientID:"ClientID c\u1EE7a Spotify",clientSecret:"Client Secret c\u1EE7a Spotify",username:"T\xEAn t\xE0i kho\u1EA3n c\u1EE7a Spotify"},reset:"Quay tr\u1EDF l\u1EA1i c\xE0i \u0111\u1EB7t m\u1EB7c \u0111\u1ECBnh",save:"L\u01B0u",toasts:{init:"C\xE0i \u0111\u1EB7t \u0111\xE3 \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp!",update:"C\xE0i \u0111\u1EB7t c\u1EADp nh\u1EADt th\xE0nh c\xF4ng!",ARLcopied:"ARL \u0111\xE3 \u0111\u01B0\u1EE3c sao ch\xE9p v\xE0o clipboard"}},sidebar:{home:"trang ch\u1EE7",search:"t\xECm ki\u1EBFm",charts:"b\u1EA3ng x\u1EBFp h\u1EA1ng",favorites:"y\xEAu th\xEDch",linkAnalyzer:"ph\xE2n t\xEDch link",settings:"c\xE0i \u0111\u1EB7t",about:"th\xF4ng tin"},tracklist:{downloadSelection:"T\u1EA3i xu\u1ED1ng nh\u1EEFng m\u1EE5c \u0111\xE3 ch\u1ECDn"}},hr={globals:{welcome:"Dobrodo\u0161li u deemix",back:"nazad",loading:"u\u010Ditavanje",download:"Preuzmi {thing}",by:"by {artist}",in:"u {album}",download_hint:"Preuzmi",play_hint:"Play",toggle_download_tab_hint:"Pro\u0161iri/Smanji",clean_queue_hint:"\u010Ci\u0161\u0107enje zavr\u0161eno",cancel_queue_hint:"Zaustavi sve",listTabs:{empty:"",all:"sve",top_result:"Najbolji rezultat",album:"album | albumi",artist:"izvo\u0111a\u010D | izvo\u0111a\u010Di",single:"singl | singlovi",title:"naslov | naslovi",track:"pjesma | pjesme",trackN:"0 pjesmi | {n} pjesma | {n} pjesme",releaseN:"0 izdanja | {n} izdanje | {n} izdanja",playlist:"playlista | playliste",compile:"kompilacija | kompilacije",ep:"ep | eps",spotifyPlaylist:"spotify playlista | spotify playliste",releaseDate:"datum izdavanja",error:"gre\u0161ka"}},about:{titles:{usefulLinks:"Korisne poveznice",bugReports:"Prijave gre\u0161aka",contributing:"Doprinosi",donations:"Donacije",license:"Licenca"},subtitles:{bugReports:"Postoji ne\u0161to \u0161to ne radi u deemixu? Reci nam!",contributing:"\u017Deli\u0161 doprinijeti ovom projektu? Mo\u017Ee\u0161 i to \u010Dak u vi\u0161e na\u010Dina!",donations:"\u017Deli\u0161 doprijeniti odmah? Mo\u017Ee\u0161 donirati!"},usesLibrary:"Ova aplikacija koristi deemix biblioteku, koju mo\u017Ee\u0161 koristiti i ti kako bi napravio svoj UI za demix.",thanks:"Hvala rtonno, uhwot i lollilol \u0161to su mi pomogli s ovim projektom te BasCurtiz \u0161to su napravili ikonu.",upToDate:{text:"Ostani u tijeku s nadogradnjama prate\u0107i {newsChannel} na Telegramu.",newsChannel:"kanal s novostima"},officialWebsite:"Slu\u017Ebena web stranica",officialRepo:"Slu\u017Ebeni repozitorij biblioteke",officialWebuiRepo:"Slu\u017Ebeni WebUI repozitorij",officialSubreddit:"Slu\u017Ebeni subreddit",newsChannel:"Kanal s novostima",questions:{text:"Ukoliko imate pitanja o aplikaciji, prvo potra\u017Eite rije\u0161enje na {subreddit}. Tada, ako ne prona\u0111ete ni\u0161ta, mo\u017Eete objaviti svoj problem na subredditu.",subreddit:"subreddit"},beforeReporting:"Prije prijavljivanja gre\u0161ke provjerite imate li instaliranu zadnju verziju aplikacije i da to \u0161to \u017Eelite prijaviti je ustvari pogre\u0161ka, a ne ne\u0161to \u0161to samo vama ne radi.",beSure:"Provjerite mo\u017Ee li se pogre\u0161ka reproducirati i na drugim ure\u0111ajima i tako\u0111er NEMOJTE prijavljivati gre\u0161ku ako je ve\u0107 prijavljena.",duplicateReports:"Duplicirane prijave o gre\u0161ki bit \u0107e zatvorene, tako da pripazite na to.",dontOpenIssues:"NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.",newUI:{text:"Ako ste vje\u0161ti u pythonu mo\u017Eete probati napraviti novi UI za aplikaciju koriste\u0107i osnovnu biblioteku ili ispraviti pogre\u0161ku u biblioteci sa pull zahtjevom na {repo}.",repo:"repozitoriju"},acceptFeatures:"Prihava\u0107am i zna\u010Dajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.",otherLanguages:"Ako ste vje\u0161ti u drugom programskom jezikumo\u017Eete probati portati deemix u drugi programski jezik!",understandingCode:"Trebate pomo\u0107 s razumijevanjem koda? Samo potra\u017Ei RemixDev na Telegramu ili Redditu.",contributeWebUI:{text:"Ako zna\u0161 Vue.js (JavaScript), HTML ili CSS mo\u017Eete doprinijeti za {webui}.",webui:"WebUI"},itsFree:"Trebate zapamtiti da je ovo besplatni projekt i trebali biste podr\u017Eati autore koje volite prije podr\u017Eavanja developera.",notObligated:"Nemojte se osje\u0107ati obveznim darivati, svejedno vas cijenim!",lincensedUnder:{text:"Ovaj rad licenciran je unutar {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Ljestvice",changeCountry:"Promijeni dr\u017Eavu",download:"Preuzmi ljestvicu"},errors:{title:"Gre\u0161ke za {name}",ids:{invalidURL:"URL nije prepoznat",unsupportedURL:"URL jo\u0161 nije podr\u017Ean",ISRCnotOnDeezer:"Zapis ISRC jo\u0161 nije podr\u017Ean na Deezeru",notYourPrivatePlaylist:"Ne mo\u017Eete preuzeti tu\u0111e privatne playliste.",spotifyDisabled:"Spotify zna\u010Dajke nisu pode\u0161ene ispravno.",trackNotOnDeezer:"Pjesma nije prona\u0111ena na Deezeru!",albumNotOnDeezer:"Album nije prona\u0111en na Deezeru!",notOnDeezer:"Pjesma nije dostupna na Deezeru!",notEncoded:"Pjesma jo\u0161 nije enkodirana!",notEncodedNoAlternative:"Pjesma jo\u0161 nije enkodirana i nije prona\u0111ena alternativa!",wrongBitrate:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu.",wrongBitrateNoAlternative:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu i nije prona\u0111ena alternativa!",no360RA:"Pjesma nije dostupna u Reality Audio 360.",notAvailable:"Pjesma nije dostupna na Deezerovim serverima!",notAvailableNoAlternative:"Pjesma nije dostupna na Deezerovim serverima i alternativa nije prona\u0111ena!"}},favorites:{title:"Favoriti",noPlaylists:"Nisu prona\u0111ene playliste",noAlbums:"Omiljeni albumi nisu prona\u0111eni",noArtists:"Omiljeni glazbenici nisu prona\u0111eni",noTracks:"Omiljene pjesme nisu prona\u0111ene"},home:{needTologin:"Trebate se prijaviti sa svojim Deezer ra\u010Dunom kako biste mogli po\u010Deti preuzimati pjesme.",openSettings:"Otvori postavke",sections:{popularPlaylists:"Popularne playliste",popularAlbums:"Najpreslu\u0161aniji album"}},linkAnalyzer:{info:"Ovu sekciju mo\u017Eete koristiti kako biste saznali vi\u0161e informacija o linku koji poku\u0161avate preuzeti.",useful:"Ovo je korisno ako poku\u0161avate preuzeti pjesme koje jo\u0161 nisu dostupne u va\u0161oj zemlji i \u017Eelite, na primjer, znati gdje su dostupne.",linkNotSupported:"Ovaj link jo\u0161 nije podr\u017Ean",linkNotSupportedYet:"\u010Cini se da ovaj link jo\u0161 nije podr\u017Ean, poku\u0161aj analizirati neki drugi.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Trajanje",diskNumber:"Broj diska",trackNumber:"Broj pjesme",releaseDate:"Datum izadavanja",bpm:"BPM",label:"Izdava\u010Dka ku\u0107a",recordType:"Vrsta zapisa",genres:"\u017Danrovi",tracklist:"Popis pjesama"}},search:{startSearching:"Po\u010Dni pretra\u017Eivati!",description:"Mo\u017Eete pretra\u017Eiti pjesmu, cijeli album, izvo\u0111a\u010Da, playlistu... sve! Tako\u0111er, mo\u017Eete i zalijepiti Deezer link",fans:"{n} obo\u017Eavatelja",noResults:"Nema rezultata",noResultsTrack:"Pjesme nisu prona\u0111ene",noResultsAlbum:"Albumi nisu prona\u0111eni",noResultsArtist:"Izvo\u0111a\u010Di nisu prona\u0111eni",noResultsPlaylist:"Playliste nisu prona\u0111ene"},searchbar:"Pretra\u017Ei bilo \u0161to (ili samo zalijepi link)",downloads:"preuzimanja",toasts:{addedToQueue:"{item} dodan u red",alreadyInQueue:"{item} je ve\u0107 u redu!",finishDownload:"{item} zavr\u0161eno preuzimanje.",allDownloaded:"Sva preuzimanja zavr\u0161ena!",refreshFavs:"Osvje\u017Eavanje zavr\u0161eno!",loggingIn:"Prijavljivanje...",loggedIn:"Prijavljeni",alreadyLogged:"Ve\u0107 prijavljeni",loginFailed:"Prijava nije bila mogu\u0107a",loggedOut:"Odjavljeni",cancellingCurrentItem:"Otkazujem trenutnu stavku.",currentItemCancelled:"Trenutna stavka otkazana.",startAddingArtist:"Dodajem {artist} album u red",finishAddingArtist:"Dodan {artist} album u red",startConvertingSpotifyPlaylist:"Pretvaram Spotify pjesme u Deezer pjesme",finishConvertingSpotifyPlaylist:"Spotify playlista pretvorena",loginNeededToDownload:"Trebate se prijaviti kako bi preuzeli pjesme!"},settings:{title:"Postavke",languages:"Jezici",login:{title:"Prijava",loggedIn:"Prijavljeni ste kao {username}",arl:{question:"Kako da dobijem svoj ARL?",update:"A\u017Euriraj ARL"},logout:"Odjavi se"},appearance:{title:"Izgled",slimDownloadTab:"Tanka kartica za preuzimanje"},downloadPath:{title:"Putanja za preuzimanja"},templates:{title:"Predlo\u0161ci",tracknameTemplate:"Naziv pjesme predlo\u017Eak",albumTracknameTemplate:"Pjesma albuma predlo\u017Eak",playlistTracknameTemplate:"Pjesma playliste predlo\u017Eak"},folders:{title:"Mape",createPlaylistFolder:"Izradi mapu za playliste",playlistNameTemplate:"Mapa za playliste predlo\u017Eak",createArtistFolder:"Izradi mapu za izvo\u0111a\u010Da",artistNameTemplate:"Izvo\u0111a\u010D mapa predlo\u017Eak",createAlbumFolder:"Izradi mapu za album",albumNameTemplate:"Album mapa predlo\u017Eak",createCDFolder:"Izradi mapu za CD",createStructurePlaylist:"Strkturiraj mape za playliste",createSingleFolder:"Strukturiraj mape za singlove"},trackTitles:{title:"Naslovi pjesama",padTracks:"Pad tracks",paddingSize:"Prepi\u0161i veli\u010Dinu paddinga",illegalCharacterReplacer:"Zamjena za nedozvoljeni znak"},downloads:{title:"Preuzimanja",queueConcurrency:"Istovremena preuzimanja",maxBitrate:{title:"\u017Deljeni bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Trebam li prepisati datoteke?",y:"Da, prepi\u0161i datoteke",n:"Ne, nemoj prepisati datoteke",t:"Prepi\u0161i samo oznake",b:"Ne, zadr\u017Ei obje datoteke i dodaj broj duplikatu"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Pretra\u017Eivanje fallback",logErrors:"Izradi zapisnik datoteku za gre\u0161ke",logSearched:"Izradi zapisnik datoteku za pretra\u017Eene pjesme",createM3U8File:"Izradi playlist datoteku",syncedLyrics:"Izradi .lyr datoteke (sinkronizirani lyrics)",playlistFilenameTemplate:"Naziv playliste predlo\u017Eak",saveDownloadQueue:"Spremi red za preuzimanje prilikom zatvaranja aplikacije"},covers:{title:"Omoti albuma",saveArtwork:"Spremi omote",coverImageTemplate:"Naziv omota predlo\u017Eak",saveArtworkArtist:"Spremi sliku izvo\u0111a\u010Da",artistImageTemplate:"Slika izvo\u0111a\u010Da predlo\u017Eak",localArtworkSize:"Veli\u010Dina lokalnog omota",embeddedArtworkSize:"Veli\u010Dina ugra\u0111enog omota",localArtworkFormat:{title:"U kojem formatu \u017Eelite lokalni omot?",jpg:"Jpeg slika",png:"Png slika",both:"I jpeg i png"},jpegImageQuality:"JPEG kvaliteta slike"},tags:{head:"Koja oznake spremam",title:"Naslovi",artist:"Izvo\u0111a\u010D",album:"Album",cover:"Omot",trackNumber:"Broj pjesme",trackTotal:"Ukupno pjesama",discNumber:"Broj diska",discTotal:"Ukupno diskova",albumArtist:"Izvo\u0111a\u010D albuma",genre:"\u017Danr",year:"Godina",date:"Datum",explicit:"Eksplicitni lyrics",isrc:"ISRC",length:"Du\u017Eina pjesme",barcode:"Album barkod (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Izdava\u010Dka ku\u0107a albuma",lyrics:"Nesinkronizirani lyrics",copyright:"Autorska prava",composer:"Skladatelj",involvedPeople:"Uklju\u010Deni ljudi"},other:{title:"Ostalo",savePlaylistAsCompilation:"Spremi playliste kao kompilacije",useNullSeparator:"Koristi null razdvojnik",saveID3v1:"Spremi i ID3v1 tako\u0111er",multiArtistSeparator:{title:"Kako biste \u017Eeljeli razdvojiti izvo\u0111a\u010De?",nothing:"Spremi samo glavnog izvo\u0111a\u010Da",default:"Koriste\u0107i standardnu specifikaciju",andFeat:"Koriste\u0107i & i feat.",using:'Koriste\u0107i "{separator}"'},singleAlbumArtist:"Spremi samo izvo\u0111a\u010Da glavnog albuma",albumVariousArtists:'Zadr\u017Ei "Various Artists" u Izvo\u0111a\u010Dima albuma',removeAlbumVersion:'Izbri\u0161i "Album Version" iz naziva pjesme',removeDuplicateArtists:"Izbri\u0161i kombinacije izvo\u0111a\u010Da",dateFormat:{title:"Format datuma za FLAC datoteke",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u0160to trebam napraviti s istaknutim izvo\u0111a\u010Dima? (feat. i ft.)",0:"Ni\u0161ta",1:"Izbri\u0161i ih iz naziva",3:"Izbri\u0161i ih iz naziva i iz naziva albuma",2:"Premjesti ih u naziv"},titleCasing:"Veli\u010Dina slova naslova",artistCasing:"Veli\u010Dina slova izvo\u0111a\u010Da",casing:{nothing:"Zadr\u017Ei nepromijenjeno",lower:"sve malo",upper:"sve VELIKO",start:"Po\u010Detak Svake Rije\u010Di",sentence:"Kao re\u010Denica"},previewVolume:"Volumen pregleda",executeCommand:{title:"Naredba za izvr\u0161enje nakon preuzimanja",description:"Ostavi prazno za bez akcije"}},spotify:{title:"Spotify zna\u010Dajke",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify korisni\u010Dko ime"},reset:"Resetiraj na zadano",save:"Spremi",toasts:{init:"Postavke u\u010Ditane!",update:"Postavke a\u017Eurirane!",ARLcopied:"ARL kopiran u me\u0111uspremnik"}},sidebar:{home:"po\u010Detna",search:"pretra\u017Eivanje",charts:"ljestvice",favorites:"favoriti",linkAnalyzer:"analizator linka",settings:"postavke",about:"o programu"},tracklist:{downloadSelection:"Preuzmi selekciju"}},ar={globals:{welcome:"\u0645\u0631\u062D\u0628\u0623 \u0628\u0643 \u0641\u064A \u062F\u064A\u0645\u0643\u0633",back:"\u0631\u062C\u0648\u0639",loading:"\u062C\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",download:"\u062A\u062D\u0645\u064A\u0644 {thing}",by:"\u0628\u0648\u0627\u0633\u0637\u0629 {artist}",in:"\u0641\u064A {album}",download_hint:"\u062A\u062D\u0645\u064A\u0644",play_hint:"\u062A\u0634\u063A\u064A\u0644",toggle_download_tab_hint:"\u0639\u0631\u0636/\u0627\u062E\u0641\u0627\u0621",clean_queue_hint:"\u062A\u0645 \u0627\u0644\u0645\u0633\u062D",cancel_queue_hint:"\u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0643\u0644",listTabs:{empty:"",all:"\u0627\u0644\u0643\u0644",top_result:"\u0627\u0641\u0636\u0644 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",album:"\u0627\u0644\u0628\u0648\u0645 | \u0627\u0644\u0628\u0648\u0645\u0627\u062A",artist:"\u0641\u0646\u0627\u0646 | \u0641\u0646\u0627\u0646\u0648\u0646",single:"\u0627\u063A\u0646\u064A\u0629 | \u0627\u063A\u0646\u064A\u0629",title:"\u0639\u0646\u0648\u0627\u0646 | \u0639\u0646\u0627\u0648\u064A\u0646",track:"\u0645\u0642\u0637\u0639 | \u0645\u0642\u0627\u0637\u0639",trackN:"0 \u0645\u0642\u0627\u0637\u0639 | {n} \u0645\u0642\u0637\u0639 | {n} \u0645\u0642\u0637\u0639",releaseN:"0 \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631",playlist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",compile:"\u0645\u062C\u0645\u0648\u0639\u0629 | \u0645\u062C\u0645\u0648\u0639\u0627\u062A",ep:"ep | eps",spotifyPlaylist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",error:"\u062E\u0637\u0623"}},about:{titles:{usefulLinks:"\u0631\u0648\u0627\u0628\u0637 \u0645\u0647\u0645\u0629",bugReports:"\u0627\u0628\u0644\u0627\u063A \u0639\u0646 \u0645\u0634\u0643\u0644\u0629",contributing:"\u0645\u0633\u0627\u0647\u0645\u0629",donations:"\u0627\u0644\u062A\u0628\u0631\u0639",license:"\u0627\u0644\u0631\u062E\u0635\u0629"},subtitles:{bugReports:"\u0647\u0644 \u0647\u0646\u0627\u0643 \u0634\u064A\u0621 \u0644\u0627 \u064A\u0639\u0645\u0644 \u0641\u064A \u062F\u064A\u0645\u0643\u0633\u061F \u0623\u062E\u0628\u0631\u0646\u0627",contributing:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0642\u064A\u0627\u0645 \u0628\u0630\u0644\u0643 \u0628\u0639\u062F\u0629 \u0637\u0631\u0642",donations:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0645\u0627\u062F\u064A\u0627\u064B\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062A\u0628\u0631\u0639"},usesLibrary:"\u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u064A\u0633\u062A\u062E\u062F\u0645 \u0645\u0643\u062A\u0628\u0629 \u062F\u064A\u0645\u0643\u0633 \u0648\u0627\u0644\u062A\u064A \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u062C\u0647\u0629 \u0645\u0633\u062A\u062E\u062F\u0645 \u062E\u0627\u0635\u0629 \u0628\u0643 \u0644\u062F\u064A\u0645\u0643\u0633.",thanks:"\u0634\u0643\u0631\u0627 \u0644\u0640 rtonno, \u0648 uhwot \u0648 lollilol \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u064A \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648 \u0644\u0640 BasCurtiz \u0644\u0635\u0646\u0639 \u0627\u0644\u0627\u064A\u0642\u0648\u0646\u0629.",officialWebsite:"\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0631\u0633\u0645\u064A",officialRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0627\u0644\u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0631\u0633\u0645\u064A",officialWebuiRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0648\u0627\u062C\u0647\u0629 \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u0631\u0633\u0645\u064A",officialSubreddit:"\u0627\u0644\u0633\u0628 \u0631\u064A\u062F\u062A \u0627\u0644\u0631\u0633\u0645\u064A",newsChannel:"\u0642\u0646\u0627\u0629 \u0627\u0644\u0627\u062E\u0628\u0627\u0631",beforeReporting:"\u0642\u0628\u0644 \u0627\u0646 \u062A\u0628\u0644\u063A \u0639\u0646 \u062E\u0637\u0623\u060C \u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646\u0643 \u062A\u0634\u063A\u0644 \u0623\u062D\u062F\u062B \u0625\u0635\u062F\u0627\u0631 \u0645\u0646 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0623\u0646 \u0645\u0627 \u062A\u0631\u064A\u062F \u0627\u0644\u0625\u0628\u0644\u0627\u063A \u0639\u0646\u0647 \u0647\u0648 \u0641\u064A \u0627\u0644\u0648\u0627\u0642\u0639 \u062E\u0637\u0623 \u0648\u0644\u064A\u0633 \u0645\u0634\u0643\u0644\u0629 \u0645\u0646 \u062C\u0647\u062A\u0643.",beSure:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646 \u0627\u0644\u062E\u0637\u0623 \u064A\u0645\u0643\u0646 \u0625\u0639\u0627\u062F\u0629 \u0625\u0646\u062A\u0627\u062C\u0647 \u0639\u0644\u0649 \u0623\u062C\u0647\u0632\u0629 \u0623\u062E\u0631\u0649 \u0648 \u0627\u064A\u0636\u0627\u064B \u0644\u0627 \u062A\u0628\u0644\u063A \u0639\u0644\u0629 \u062E\u0637\u0623 \u062A\u0645 \u0627\u0644\u062A\u0628\u0644\u064A\u063A \u0639\u0646\u0647 \u0633\u0627\u0628\u0642\u0627\u064B.",duplicateReports:"\u0633\u064A\u062A\u0645 \u0625\u063A\u0644\u0627\u0642 \u062A\u0642\u0627\u0631\u064A\u0631 \u0627\u0644\u0623\u062E\u0637\u0627\u0621 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u060C \u0644\u0630\u0644\u0643 \u062A\u0631\u0642\u0628 \u0630\u0644\u0643.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",acceptFeatures:"\u0623\u0642\u0628\u0644 \u0627\u0642\u062A\u0631\u0627\u062D\u0627\u062A \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0623\u064A\u0636\u064B\u0627 \u060C \u0648\u0644\u0643\u0646 \u0644\u0627 \u0623\u0634\u064A\u0627\u0621 \u0645\u0639\u0642\u062F\u0629 \u060C \u0641\u0642\u0637 \u0627\u0634\u064A\u0627\u0621 \u064A\u0645\u0643\u0646\u0646\u064A \u062A\u0646\u0641\u064A\u0630\u0647\u0627 \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0644\u064A\u0633 \u0641\u064A \u0627\u0644\u0645\u0643\u062A\u0628\u0629.",otherLanguages:"\u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062C\u064A\u062F \u0644\u063A\u0629 \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649 \u060C \u064A\u0645\u0643\u0646\u0643 \u0645\u062D\u0627\u0648\u0644\u0629 \u062A\u062D\u0648\u064A\u0644 \u062F\u064A\u0645\u0643\u0633 \u0625\u0644\u0649 \u0644\u063A\u0627\u062A \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649!",understandingCode:"\u0623\u0646\u062A \u0628\u062D\u0627\u062C\u0629 \u0625\u0644\u0649 \u0645\u0633\u0627\u0639\u062F\u0629 \u0641\u064A \u0641\u0647\u0645 \u0627\u0644\u0643\u0648\u062F\u061F \u0641\u0642\u0637 \u0627\u062A\u0635\u0644 \u0628\u0640 RemixDev \u0639\u0644\u0649 \u062A\u064A\u0644\u064A\u0643\u0631\u0627\u0645 \u0627\u0648 \u0631\u064A\u062F\u064A\u062A.",itsFree:"\u064A\u062C\u0628 \u0627\u0646 \u062A\u062A\u0630\u0643\u0631 \u0627\u0646 \u0647\u0630\u0627 \u0647\u0648 \u0645\u0634\u0631\u0648\u0639 \u0645\u062C\u0627\u0646\u064A \u0648 \u0639\u0644\u064A\u0643 \u062F\u0639\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u064A\u0646 \u0644\u0643 \u0642\u0628\u0644 \u0627\u0646 \u062A\u062F\u0639\u0645 \u0645\u0637\u0648\u0631\u064A\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C.",notObligated:"\u0644\u0627 \u062A\u0634\u0639\u0631 \u0628\u0627\u0644\u0627\u0644\u062A\u0632\u0627\u0645 \u0628\u0627\u0644\u062A\u0628\u0631\u0639 \u060C \u0644\u0643\u0646\u064A \u0623\u0642\u062F\u0631 \u0630\u0644\u0643 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644!"},charts:{title:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",changeCountry:"\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062F\u0648\u0644\u0629",download:"\u062A\u062D\u0645\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0648\u0644"},errors:{title:"\u062E\u0637\u0623 \u0641\u064A {name}",ids:{invalidURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D",unsupportedURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B",ISRCnotOnDeezer:"\u0631\u0645\u0632 \u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u062F\u064A\u0632\u0631",notYourPrivatePlaylist:"\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u062A\u062D\u0645\u064A\u0644 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u062E\u0627\u0635\u0629 \u0648 \u0627\u0644\u0645\u062E\u0641\u064A\u0629.",spotifyDisabled:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0639\u062F\u0627\u062F \u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0628\u0627\u0644\u0637\u0631\u0642\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629 .",trackNotOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",albumNotOnDeezer:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notEncoded:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B!",notEncodedNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u0648\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u062F\u064A\u0644!",wrongBitrate:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629.",wrongBitrateNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0648 \u0644\u0627 \u062A\u0648\u062C\u062F \u062F\u0642\u0629 \u0628\u062F\u064A\u0644\u0629!",no360RA:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A Reality Audio 360.",notAvailable:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631!",notAvailableNoAlternative:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631 \u0648 \u0644\u0627 \u064A\u0648\u062C\u062F \u0628\u062F\u064A\u0644 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646!"}},favorites:{title:"\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A",noPlaylists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",noAlbums:"\u0644\u0645 \u0644\u0627 \u062A\u0648\u062C\u062F \u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0645\u0641\u0636\u0644\u0629",noArtists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u0641\u0636\u0644\u064A\u0646",noTracks:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u0642\u0627\u0637\u0639 \u0645\u0641\u0636\u0644\u0629"},home:{needTologin:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u0627\u0644\u062A\u0633\u062C\u064A\u0644 \u0641\u064A \u062D\u0633\u0627\u0628 \u062F\u064A\u0632\u0631 \u0642\u0628\u0644 \u0628\u062F\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644.",openSettings:"\u0641\u062A\u062D \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",sections:{popularPlaylists:"\u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0645\u0634\u0647\u0648\u0631\u0629",popularAlbums:"\u0627\u0643\u062B\u0631 \u0627\u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0633\u0645\u0627\u0639\u0623"}},linkAnalyzer:{info:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0647\u0630\u0627 \u0627\u0644\u0642\u0633\u0645 \u0644\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062D\u0648\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644\u0647.",useful:" \u0643\u0645\u062B\u0627\u0644 \u0647\u0630\u0627 \u0645\u0641\u064A\u062F \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644 \u0628\u0639\u0636 \u0627\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629 \u0641\u064A \u0628\u0644\u062F\u0643 \u0648\u062A\u0631\u064A\u062F \u0645\u0639\u0631\u0641\u0629 \u0645\u0643\u0627\u0646 \u062A\u0648\u0641\u0631\u0647\u0627 .",linkNotSupported:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646",linkNotSupportedYet:"\u064A\u0628\u062F\u0648 \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u060C \u062D\u0627\u0648\u0644 \u062A\u062D\u0644\u064A\u0644 \u0631\u0627\u0628\u0637 \u0622\u062E\u0631.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u0627\u0644\u0645\u062F\u0629 \u0627\u0644\u0632\u0645\u0646\u064A\u0629",diskNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",bpm:"BPM",label:"Label",recordType:"\u0646\u0648\u0639 \u0627\u0644\u062A\u0633\u062C\u064A\u0644",genres:"\u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0641\u0646\u064A",tracklist:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0642\u0627\u0637\u0639"}},search:{startSearching:"\u0627\u0628\u062F\u0623 \u0627\u0644\u0628\u062D\u062B!",description:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0645\u0642\u0637\u0639 \u060C \u0623\u0644\u0628\u0648\u0645 \u0643\u0627\u0645\u0644 \u060C \u0641\u0646\u0627\u0646 \u060C \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 .... \u0643\u0644 \u0634\u064A\u0621! \u064A\u0645\u0643\u0646\u0643 \u0623\u064A\u0636\u064B\u0627 \u0644\u0635\u0642 \u0631\u0627\u0628\u0637 \u062F\u064A\u0632\u0631",fans:"{n} \u0645\u062A\u0627\u0628\u0639\u0648\u0646",noResults:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",noResultsTrack:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0642\u0627\u0637\u0639",noResultsAlbum:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0628\u0648\u0645\u0627\u062A",noResultsArtist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0641\u0646\u0627\u0646\u064A\u0646",noResultsPlaylist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644"},searchbar:"\u0627\u0628\u062D\u062B \u0639\u0646 \u0623\u064A \u0634\u064A\u0621 \u062A\u0631\u064A\u062F\u0647 (\u0623\u0648 \u0627\u0644\u0635\u0642 \u0631\u0627\u0628\u0637)",downloads:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",toasts:{addedToQueue:"{item} \u062A\u0645\u062A \u0625\u0644\u0623\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631",alreadyInQueue:"{item} \u062D\u0627\u0644\u064A\u0627\u064B \u0641\u064A \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631!",finishDownload:"{item} \u0627\u0646\u062A\u0647\u0649 \u062A\u062D\u0645\u064A\u0644.",allDownloaded:"\u0627\u0643\u062A\u0645\u0644\u062A \u062C\u0645\u064A\u0639 \u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A!",refreshFavs:"\u0627\u0643\u062A\u0645\u0644 \u0627\u0644\u062A\u062D\u062F\u064A\u062B!",loggingIn:"\u062C\u0627\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644...",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",alreadyLogged:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0644\u0641\u0639\u0644",loginFailed:"\u062A\u0639\u0630\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedOut:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C",cancellingCurrentItem:"\u062C\u0627\u0631 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",currentItemCancelled:"\u062A\u0645 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",startAddingArtist:"\u062C\u0627\u0631 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",finishAddingArtist:"\u062A\u0645 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",startConvertingSpotifyPlaylist:"\u062C\u0627\u0631 \u062A\u062D\u0648\u064A\u0644 \u0645\u0642\u0627\u0637\u0639 \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0627\u0644\u0649 \u0645\u0642\u0627\u0637\u0639 \u062F\u064A\u0632\u0631",finishConvertingSpotifyPlaylist:"\u062A\u0645 \u062A\u062D\u0648\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",loginNeededToDownload:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0642\u0627\u0637\u0639!"},settings:{title:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",languages:"\u0627\u0644\u0644\u063A\u0627\u062A",login:{title:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0643\u0640 {username}",arl:{question:"\u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0629 ARL",update:"\u0627\u0631\u0641\u0639 \u0627\u0644 ARL"},logout:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C"},appearance:{title:"\u0627\u0644\u0645\u0638\u0647\u0631",slimDownloadTab:"\u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0631\u0641\u064A\u0639\u0629"},downloadPath:{title:"\u0645\u0633\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644"},templates:{title:"\u0627\u0644\u0642\u0648\u0627\u0644\u0628",tracknameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",albumTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",playlistTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644"},folders:{title:"\u0627\u0644\u0645\u0644\u0641\u0627\u062A",createPlaylistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",playlistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createArtistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0641\u0646\u0627\u0646",artistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0641\u0646\u0627\u0646",createAlbumFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0644\u0628\u0648\u0645",albumNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",createCDFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0642\u0631\u0627\u0635",createStructurePlaylist:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createSingleFolder:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0627\u0644\u0648\u0627\u062D\u062F\u0629"},trackTitles:{title:"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0642\u0637\u0639",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"\u0645\u062D\u0648\u0644 \u0627\u0644\u0643\u062A\u0627\u0628\u0627\u062A \u0627\u0644\u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627"},downloads:{title:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",queueConcurrency:"\u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0632\u0627\u0645\u0646\u0629",maxBitrate:{title:"\u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0641\u0636\u0644\u0629",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u0647\u0644 \u064A\u0645\u0643\u0646\u0646\u064A \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A?",y:"\u0646\u0639\u0645, \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",n:"\u0644\u0627, \u0644\u0627 \u062A\u0628\u062F\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",t:"\u0627\u0633\u062A\u0628\u062F\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0641\u0642\u0637",b:"\u0644\u0627 \u060C \u0627\u062D\u062A\u0641\u0638 \u0628\u0627\u0644\u0645\u0644\u0641\u064A\u0646 \u0648\u0623\u0636\u0641 \u0631\u0642\u0645\u064B\u0627 \u0625\u0644\u0649 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0643\u0631\u0631"},fallbackBitrate:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u062F\u0642\u0629",fallbackSearch:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u0628\u062D\u062B",logErrors:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0623\u062E\u0637\u0627\u0621",logSearched:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u062A\u064A \u062A\u0645 \u0627\u0644\u0628\u062D\u062B \u0639\u0646\u0647\u0627",createM3U8File:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",syncedLyrics:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0643\u0644\u0645\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629",playlistFilenameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",saveDownloadQueue:"\u062D\u0641\u0638 \u0642\u0627\u0626\u0645\u0629 \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062A\u0646\u0632\u064A\u0644 \u0639\u0646\u062F \u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062A\u0637\u0628\u064A\u0642"},covers:{title:"\u063A\u0644\u0627\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",saveArtwork:"\u0627\u062D\u0641\u0638 \u0627\u0644\u063A\u0644\u0627\u0641",coverImageTemplate:"\u062A\u063A\u0637\u064A\u0629 \u0642\u0627\u0644\u0628 \u0627\u0644\u0627\u0633\u0645",saveArtworkArtist:"\u0627\u062D\u0641\u0638 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",artistImageTemplate:"\u0642\u0627\u0644\u0628 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",localArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629",embeddedArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u062F\u0645\u062C\u0629",localArtworkFormat:{title:"\u0628\u0623\u064A \u0635\u064A\u063A\u0629 \u062A\u0631\u064A\u062F \u062D\u0641\u0638 \u0627\u0644\u0635\u0648\u0631\u0629?",jpg:"jpeg \u0635\u0648\u0631\u0629",png:"png \u0635\u0648\u0631\u0629",both:"\u0627\u0644\u0627\u062B\u0646\u064A\u0646 png \u0648 jpeg"},jpegImageQuality:"JPEG \u062F\u0642\u0629 \u0635\u0648\u0631\u0629"},tags:{head:"\u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u062A\u0645 \u062D\u0641\u0638\u0647\u0627",title:"\u0627\u0644\u0639\u0646\u0648\u0627\u0646",artist:"\u0627\u0644\u0641\u0646\u0627\u0646",album:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645",cover:"\u0627\u0644\u063A\u0644\u0627\u0641",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",trackTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0645\u0642\u0627\u0637\u0639",discNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",discTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0627\u0642\u0631\u0627\u0635",albumArtist:"\u0641\u0646\u0627\u0646 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",genre:"Genre",year:"\u0627\u0644\u0633\u0646\u0629",date:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E",explicit:"\u0643\u0644\u0645\u0627\u062A \u0627\u063A\u0646\u064A\u0629 \u0635\u0631\u064A\u062D\u0629 \u0644\u0644\u0643\u0628\u0627\u0631",isrc:"ISRC",length:"\u0637\u0648\u0644 \u0627\u0644\u0645\u0642\u0637\u0639",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"\u0643\u0644\u0645\u0627\u062A \u063A\u064A\u0631 \u0645\u062A\u0632\u0627\u0645\u0646\u0629",copyright:"\u062D\u0642\u0648\u0642 \u0627\u0644\u0646\u0634\u0631",composer:"\u0645\u0644\u062D\u0646",involvedPeople:"\u0627\u0644\u0646\u0627\u0633 \u0627\u0644\u0645\u0634\u062A\u0631\u0643\u0648\u0646"},other:{title:"\u063A\u064A\u0631",savePlaylistAsCompilation:"\u062D\u0641\u0638 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0643\u0645\u062C\u0645\u0648\u0639\u0629",useNullSeparator:"\u0627\u0633\u062A\u062E\u062F\u0645 \u0641\u0627\u0635\u0644 \u0641\u0627\u0631\u063A",saveID3v1:"\u0627\u062D\u0641\u0638 \u0645\u0644\u0641 ID3v1",multiArtistSeparator:{title:"\u0643\u064A\u0641 \u062A\u0631\u064A\u062F \u0641\u0635\u0644 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646?",nothing:"\u0627\u062D\u0641\u0638 \u0627\u0644\u0641\u0646\u0627\u0646 \u0627\u0644\u0631\u0626\u064A\u0633\u064A \u0641\u0642\u0637",default:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u0642\u064A\u0627\u0633\u064A\u0629",andFeat:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645& \u0648 feat.",using:'\u0627\u0633\u062A\u062E\u062F\u0627\u0645 "{separator}"'},singleAlbumArtist:"\u0627\u062D\u0641\u0638 \u0641\u0642\u0637 \u0641\u0646\u0627\u0646 \u0627\u0644\u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0631\u0626\u064A\u0633\u064A",albumVariousArtists:'\u0627\u062D\u062A\u0641\u0638 \u0628\u0640 "\u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u062A\u0646\u0648\u0639\u064A\u0646" \u0641\u064A \u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646',removeAlbumVersion:'\u0625\u0632\u0627\u0644\u0629 "\u0625\u0635\u062F\u0627\u0631 \u0627\u0644\u0623\u0644\u0628\u0648\u0645" \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0633\u0627\u0631',removeDuplicateArtists:"\u0625\u0632\u0627\u0644\u0629 \u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646",dateFormat:{title:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0644\u0645\u0644\u0641\u0627\u062A flac",year:"\u0633 \u0633 \u0633 \u0633",month:"\u0634 \u0634",day:"\u064A \u064A"},featuredToTitle:{title:"\u0645\u0627\u0630\u0627 \u0639\u0644\u064A \u0623\u0646 \u0623\u0641\u0639\u0644 \u0645\u0639 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u063A\u064A\u0631 \u0631\u0626\u064A\u0633\u064A\u064A\u0646 ?",0:"\u0644\u0627 \u0634\u064A\u0621",1:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0627\u0644\u0639\u0646\u0648\u0627\u0646",3:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0648 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",2:"\u0648\u0636\u0639\u0647 \u0641\u064A \u0627\u0644\u0639\u0646\u0648\u0627\u0646"},titleCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0639\u0646\u0627\u0648\u0646",artistCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",casing:{nothing:"\u0628\u062F\u0648\u0646 \u062A\u063A\u064A\u064A\u0631",lower:"\u0627\u062D\u0631\u0641 \u0635\u063A\u064A\u0631\u0629",upper:"\u0627\u062D\u0631\u0641 \u0643\u0628\u064A\u0631\u0629",start:"\u062D\u0631\u0641 \u0643\u0628\u064A\u0631 \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0643\u0644 \u0643\u0644\u0645\u0629",sentence:"\u0645\u062B\u0644 \u062C\u0645\u0644\u0629"},previewVolume:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u062D\u062C\u0645",executeCommand:{title:"\u0627\u0644\u0623\u0645\u0631 \u0644\u0644\u062A\u0646\u0641\u064A\u0630 \u0628\u0639\u062F \u0627\u0644\u062A\u0646\u0632\u064A\u0644",description:"\u0627\u062A\u0631\u0643\u0647 \u0641\u0627\u0631\u063A\u064B\u0627 \u0628\u062F\u0648\u0646 \u0625\u062C\u0631\u0627\u0621"}},spotify:{title:"\u0645\u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientID:"\u0645\u0639\u0631\u0641 \u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientSecret:"\u0627\u0644\u0643\u0648\u062F \u0627\u0644\u0633\u0631\u064A \u0644\u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",username:"\u0627\u0633\u0645 \u0645\u0633\u062A\u062E\u062F\u0645 \u0633\u0628\u0648\u062A\u0641\u0627\u064A"},reset:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646 \u0625\u0644\u0649 \u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u064A",save:"\u062D\u0641\u0638",toasts:{init:"\u062A\u0645 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A!",update:"\u062A\u0645 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A!",ARLcopied:"\u062A\u0645 \u0646\u0633\u062E ARL \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629"}},sidebar:{home:"\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",search:"\u0628\u062D\u062B",charts:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",favorites:"\u0627\u0644\u0645\u0641\u0636\u0644\u0629",linkAnalyzer:"\u0645\u062D\u0644\u0644 \u0627\u0644\u0631\u0648\u0627\u0628\u0637",settings:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",about:"\u062D\u0648\u0644"},tracklist:{downloadSelection:"\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0627\u062E\u062A\u064A\u0627\u0631"}},ko={globals:{welcome:"\uC798\uC654\uB2E4, deemix\uC5D0",back:"\uB4A4\uB85C",loading:"\uBD88\uB7EC\uC624\uB294 \uC911",download:"{thing} \uB2E4\uC6B4\uB85C\uB4DC",by:"by {artist}",in:"in {album}",download_hint:"\uB2E4\uC6B4\uB85C\uB4DC",play_hint:"\uC7AC\uC0DD",toggle_download_tab_hint:"\uD3BC\uCE58\uAE30/\uC811\uAE30",clean_queue_hint:"\uBE44\uC6B0\uAE30 \uC644\uB8CC",cancel_queue_hint:"\uBAA8\uB450 \uCDE8\uC18C",open_downloads_folder:"\uB2E4\uC6B4\uB85C\uB4DC \uD3F4\uB354 \uC5F4\uAE30",cut:"\uC798\uB77C\uB0B4\uAE30",copy:"\uBCF5\uC0AC",copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",copyImageLink:"\uC774\uBBF8\uC9C0 \uB9C1\uD06C \uBCF5\uC0AC",copyDeezerLink:"deezer \uB9C1\uD06C \uBCF5\uC0AC",paste:"\uBD99\uC5EC\uB123\uAE30",listTabs:{empty:"",all:"\uC804\uCCB4",top_result:"\uAC00\uC7A5 \uC77C\uCE58\uD558\uB294 \uACB0\uACFC",album:"\uC568\uBC94 | \uC568\uBC94",artist:"\uC544\uD2F0\uC2A4\uD2B8 | \uC544\uD2F0\uC2A4\uD2B8",single:"\uC2F1\uAE00 | \uC2F1\uAE00",title:"\uC81C\uBAA9 | \uC81C\uBAA9",track:"\uD2B8\uB799 | \uD2B8\uB799",releaseN:"0 \uBC1C\uB9E4 | {n} \uBC1C\uB9E4 | {n} \uBC1C\uB9E4",playlist:"\uC7AC\uC0DD\uBAA9\uB85D | \uC7AC\uC0DD\uBAA9\uB85D",compile:"\uD3B8\uCC2C\uBB3C | \uD3B8\uCC2C\uBB3C",ep:"ep | eps",bundle:"\uBC88\uB4E4 | \uBC88\uB4E4",more:"\uB354 \uB9CE\uC740 \uC568\uBC94",featured:"\uD2B9\uC9D1",spotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D | \uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",error:"\uC624\uB958",trackN:"0 \uD2B8\uB799 | {n} \uD2B8\uB799 | {n} \uD2B8\uB799",albumN:"0 \uC568\uBC94 | {n} \uC568\uBC94 | {n} \uC568\uBC94",artistN:"0 \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8",playlistN:"0 \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D"}},about:{appStatus:{online:"\uD504\uB85C\uADF8\uB7A8 \uC628\uB77C\uC778",offline:"\uD504\uB85C\uADF8\uB7A8 \uC624\uD504\uB77C\uC778"},updates:{currentVersion:"\uD604\uC7AC \uBC84\uC804",currentWebuiVersion:"\uD604\uC7AC WebUI \uBC84\uC804",versionNotAvailable:"N/A",updateAvailable:"\uCD5C\uC2E0\uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4: {version}",deemixVersion:"deemix lib \uBC84\uC804"},titles:{usefulLinks:"\uC720\uC6A9\uD55C \uB9C1\uD06C",bugReports:"\uBC84\uADF8 \uC81C\uBCF4",contributing:"\uAE30\uC5EC\uC790",donations:"\uD6C4\uC6D0",license:"\uC774\uC6A9\uC815\uCC45"},subtitles:{bugReports:"\uBB34\uC5B8\uAC00 \uC548\uB418\uB294 \uAC83\uC774 \uC788\uB2E4\uACE0\uC694? \uB9D0\uD574\uC8FC\uC138\uC694!",contributing:"\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uAE30\uC5EC\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uC5B4\uB835\uC9C0 \uC54A\uC544\uC694!",donations:"\uAE08\uC804\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uD6C4\uC6D0\uD558\uC138\uC694!"},usesLibrary:"\uC774 \uD504\uB85C\uADF8\uB7A8\uC740 deemix \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4, \uD574\uB2F9 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB85C \uC790\uC2E0\uB9CC\uC758 deemix\uB97C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",thanks:"\uC774 \uD504\uB85C\uC81D\uD2B8\uB97C \uB3C4\uC640\uC900 rtonno, uhwot \uADF8\uB9AC\uACE0 lollilol\uB2D8\uACFC \uC544\uC774\uCF58\uC744 \uB9CC\uB4E4\uC5B4\uC900 BasCurtiz \uADF8\uB9AC\uACE0 scarvimane\uB2D8\uC5D0\uAC8C \uAC10\uC0AC\uB97C.",upToDate:{text:"\uC0C8\uB85C\uC6B4 \uC5C5\uB370\uC774\uD2B8 \uC18C\uC2DD\uC744 \uB4E3\uACE0 \uC2F6\uC73C\uBA74 \uD154\uB808\uADF8\uB7A8 {newsChannel}\uC744 \uCC38\uACE0\uD558\uC138\uC694.",newsChannel:"\uC0C8\uC18C\uC2DD \uC815\uBCF4\uD1B5"},officialWebsite:"\uACF5\uC2DD \uC6F9\uC0AC\uC774\uD2B8",officialRepo:"\uACF5\uC2DD \uB77C\uC774\uBE0C\uB7EC\uB9AC \uC800\uC7A5\uC18C",officialWebuiRepo:"\uACF5\uC2DD WebUI \uC800\uC7A5\uC18C",officialSubreddit:"\uACF5\uC2DD \uC11C\uBE0C\uB808\uB527",newsChannel:"\uC0C8 \uC18C\uC2DD \uC54C\uB9AC\uBBF8",questions:{text:"\uD504\uB85C\uADF8\uB7A8\uC5D0 \uB300\uD55C \uC9C8\uBB38\uC774\uB098 \uBB38\uC81C\uC5D0 \uAD00\uD55C \uAC83\uC740, \uBA3C\uC800 {subreddit}\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uAC80\uC0C9\uD574\uBCF4\uC138\uC694. \uADF8\uB9AC\uACE0, \uC11C\uBE0C\uB808\uB527\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uCC3E\uAE30 \uBABB\uD55C \uACBD\uC6B0\uC5D0 \uB2E4\uC74C \uC21C\uC11C\uB97C \uC774\uC6A9\uD574\uC8FC\uC138\uC694.",subreddit:"\uC11C\uBE0C\uB808\uB527"},beforeReporting:"\uBC84\uADF8 \uC81C\uBCF4\uB97C \uD558\uAE30 \uC804\uC5D0 \uBA3C\uC800 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uD504\uB85C\uADF8\uB7A8\uC744 \uC2E4\uD589\uD558\uACE0 \uC788\uB294\uC9C0, \uC81C\uBCF4\uD558\uACE0\uC790 \uD558\uB294 \uAC83\uC774 \uBC84\uADF8\uC774\uC9C0 \uC624\uB85C\uC9C0 \uB2F9\uC2E0\uC758 \uBAA9\uC801\uC744 \uC774\uB8E8\uAE30 \uC704\uD55C \uC694\uAD6C\uAC00 \uC544\uB2D8\uC744 \uD655\uC778\uD574\uC8FC\uC138\uC694.",beSure:"\uD574\uB2F9 \uBC84\uADF8\uAC00 \uB2E4\uB978 \uC7A5\uCE58\uC5D0\uC11C\uB3C4 \uC7AC\uD604\uC774 \uAC00\uB2A5\uD55C\uC9C0 \uD655\uC778\uD558\uACE0 \uC774\uBBF8 \uC81C\uBCF4\uB41C \uBC84\uADF8\uC758 \uACBD\uC6B0\uC5D0\uB294 \uC911\uBCF5\uD574\uC11C \uBCF4\uACE0\uD558\uC9C0 \uB9C8\uC138\uC694.",duplicateReports:"\uC911\uBCF5\uB41C \uBC84\uADF8 \uC81C\uBCF4\uC758 \uACBD\uC6B0\uB294 \uD574\uB2F9 \uC694\uCCAD\uC744 \uB2EB\uC744 \uAC83\uC774\uB2C8, \uB450 \uB208 \uB728\uACE0 \uC9C0\uCF1C\uBCF4\uC138\uC694.",dontOpenIssues:"\uC9C8\uBB38\uC5D0 \uAD00\uD55C \uAC83\uC740 \uC774\uC288\uB97C \uC5F4\uC9C0 \uB9C8\uC138\uC694, \uC11C\uBE0C\uB808\uB527\uC774 \uC788\uC2B5\uB2C8\uB2E4.",newUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 \uD30C\uC774\uC36C\uC5D0 \uB2A5\uD1B5\uD558\uACE0 \uAE30\uBCF8\uC801\uC778 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC774\uC6A9\uD558\uC5EC \uC0C8\uB85C\uC6B4 UI\uB97C \uB9CC\uB4E4\uC5C8\uAC70\uB098, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC758 \uBC84\uADF8\uB97C \uC218\uC815\uD558\uC600\uB2E4\uBA74 {repo}\uC5D0 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uD574\uC8FC\uC138\uC694.",repo:"\uC800\uC7A5\uC18C"},acceptFeatures:"\uBCF5\uC7A1\uD558\uC9C0 \uC54A\uC740 \uAE30\uB2A5 \uCD94\uAC00\uB3C4 \uBC1B\uC2B5\uB2C8\uB2E4, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uAC00 \uC544\uB2CC \uC571\uC5D0\uC11C \uC9C1\uC811 \uAD6C\uD604\uD560 \uC218 \uC788\uB294 \uAC83\uC73C\uB85C\uC694.",otherLanguages:"\uB2F9\uC2E0\uC774 \uB2E4\uB978 \uD504\uB85C\uADF8\uB7A8 \uC5B8\uC5B4\uC5D0 \uB2A5\uD1B5\uD558\uBA74, \uC774 deemix \uD504\uB85C\uADF8\uB7A8\uC744 \uB2E4\uB978 \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4\uB85C \uD3EC\uD305\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4!",understandingCode:"\uCF54\uB4DC\uB97C \uC774\uD574\uD558\uB294 \uB370 \uB3C4\uC6C0\uC774 \uD544\uC694\uD569\uB2C8\uAE4C? \uC704\uC5D0 \uC788\uB294 RemixDev, \uD154\uB808\uADF8\uB7A8, \uC11C\uBE0C\uB808\uB527 \uB9C1\uD06C\uB97C \uB204\uB974\uC138\uC694.",contributeWebUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 Vue.js (JavaScript), HTML \uB610\uB294 CSS \uAC1C\uBC1C\uC790\uB77C\uBA74 {webui}\uC5D0 \uB3C4\uC6C0\uC744 \uC8FC\uC138\uC694.",webui:"WebUI"},itsFree:"\uC0AC\uC6A9\uD558\uAE30 \uC804\uC5D0 \uC774 \uD504\uB85C\uADF8\uB7A8\uC774 \uBB34\uB8CC \uD504\uB85C\uC81D\uD2B8\uC774\uACE0 \uAC1C\uBC1C\uC790\uB97C \uC9C0\uC6D0\uD558\uAE30 \uC804\uC5D0 \uC608\uC220\uAC00\uB4E4\uC744 \uBA3C\uC800 \uC9C0\uC6D0\uD574\uC57C \uD568\uC744 \uAE30\uC5B5\uD558\uC138\uC694.",notObligated:"\uAE30\uBD80\uB294 \uD504\uB85C\uC81D\uD2B8\uB97C \uC9C0\uC18D\uD560 \uC218 \uC788\uB294 \uB3D9\uB825\uC774 \uB429\uB2C8\uB2E4!",lincensedUnder:{text:"\uC774 \uC791\uC5C5\uC774 \uC694\uAD6C\uD558\uACE0 \uC788\uB294 \uB77C\uC774\uC13C\uC2A4\uB294 \uC544\uB798\uC640 \uAC19\uC2B5\uB2C8\uB2E4 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\uCC28\uD2B8",changeCountry:"\uAD6D\uAC00 \uBCC0\uACBD",download:"\uCC28\uD2B8 \uB2E4\uC6B4\uB85C\uB4DC"},errors:{title:"\uC624\uB958 \uBC1C\uC0DD: {name}",ids:{unsupportedURL:"URL \uC9C0\uC6D0 \uB204\uB77D",invalidURL:"URL \uC778\uC2DD \uC2E4\uD328",ISRCnotOnDeezer:"\uD2B8\uB799 \uCF54\uB4DC \uC2DD\uBCC4\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4",notYourPrivatePlaylist:"\uB2E4\uB978 \uC0AC\uB78C\uC758 \uBE44\uACF5\uAC1C \uC7AC\uC0DD \uBAA9\uB85D\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",spotifyDisabled:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uC774 \uC62C\uBC14\uB974\uAC8C \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",trackNotOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",albumNotOnDeezer:"Deezer\uC5D0\uC11C \uC568\uBC94\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notEncoded:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4!",notEncodedNoAlternative:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",wrongBitrate:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uC758 \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",wrongBitrateNoAlternative:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",no360RA:"\uD574\uB2F9 \uD2B8\uB799\uC740 360 \uB9AC\uC5BC\uB9AC\uD2F0 \uC624\uB514\uC624\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",notAvailable:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4!",notAvailableNoAlternative:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",noSpaceLeft:"\uC7A5\uCE58\uC5D0 \uC5EC\uC720 \uACF5\uAC04\uC774 \uC5C6\uC2B5\uB2C8\uB2E4!",albumDoesntExists:"\uD2B8\uB799\uC758 \uC568\uBC94\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uC815\uBCF4 \uC218\uC9D1\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."}},favorites:{title:"\uC990\uACA8\uB4E3\uB294 \uC74C\uC545",noPlaylists:"\uC990\uACA8\uB4E3\uB294 \uC7AC\uC0DD\uBAA9\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noAlbums:"\uC990\uACA8\uB4E3\uB294 \uC568\uBC94\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noArtists:"\uC990\uACA8\uB4E3\uB294 \uC544\uD2F0\uC2A4\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",noTracks:"\uC990\uACA8\uB4E3\uB294 \uD2B8\uB799\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},home:{needTologin:"\uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uC791\uD558\uAE30 \uC804\uC5D0 Deezer \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uC744 \uD574\uC57C\uD569\uB2C8\uB2E4.",openSettings:"\uC124\uC815 \uC5F4\uAE30",sections:{popularPlaylists:"\uC778\uAE30\uC788\uB294 \uC7AC\uC0DD\uBAA9\uB85D",popularAlbums:"\uAC00\uC7A5 \uB9CE\uC774 \uC7AC\uC0DD\uB41C \uC568\uBC94"}},linkAnalyzer:{info:"\uC774 \uD56D\uBAA9\uC5D0\uC11C\uB294 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uB3C4\uD560 \uB9C1\uD06C\uC5D0 \uB300\uD55C \uB354 \uB9CE\uC740 \uC815\uBCF4\uB97C \uCC3E\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",useful:"\uC811\uC18D\uD55C \uAD6D\uAC00\uC5D0\uC11C\uB294 \uC7AC\uC0DD\uD560 \uC218 \uC5C6\uB294 \uD2B9\uC815 \uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD558\uAE30 \uC704\uD574\uC11C \uAC00\uB2A5\uD55C \uAD6D\uAC00\uB97C \uCC3E\uB294\uB370 \uC720\uC6A9\uD558\uAC8C \uC4F0\uC785\uB2C8\uB2E4.",linkNotSupported:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",linkNotSupportedYet:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uB2E4\uB978 \uB9C1\uD06C\uB85C \uC2DC\uB3C4\uD574\uBCF4\uC138\uC694.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\uAE38\uC774",diskNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",trackNumber:"\uD2B8\uB799 \uBC88\uD638",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",bpm:"BPM",label:"\uB77C\uBCA8",recordType:"\uB179\uC74C \uC885\uB958",genres:"\uC7A5\uB974",tracklist:"\uD2B8\uB799\uBAA9\uB85D"}},search:{startSearching:"\uAC80\uC0C9\uC744 \uD574\uBCF4\uC138\uC694!",description:"\uD2B8\uB799, \uC544\uD2F0\uC2A4\uD2B8, \uC7AC\uC0DD\uBAA9\uB85D, Deezer \uB9C1\uD06C \uB4F1\uC73C\uB85C \uAC80\uC0C9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!",fans:"{n}\uBA85\uC758 \uD32C\uB4E4",noResults:"\uACB0\uACFC \uC5C6\uC74C",noResultsTrack:"\uBC1C\uACAC\uB41C \uD2B8\uB799 \uC5C6\uC74C",noResultsAlbum:"\uBC1C\uACAC\uB41C \uC568\uBC94 \uC5C6\uC74C",noResultsArtist:"\uBC1C\uACAC\uB41C \uC544\uD2F0\uC2A4\uD2B8 \uC5C6\uC74C",noResultsPlaylist:"\uBC1C\uACAC\uB41C \uC7AC\uC0DD\uBAA9\uB85D \uC5C6\uC74C"},searchbar:"\uC6D0\uD558\uB294 \uAC83\uC744 \uAC80\uC0C9\uD558\uC138\uC694 (\uB9C1\uD06C\uB97C \uBD99\uC5EC\uB123\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4)",downloads:"\uB2E4\uC6B4\uB85C\uB4DC\uB4E4",toasts:{restoringQueue:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4 \uBCF5\uC6D0\uC911...",queueRestored:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4\uC774 \uBCF5\uC6D0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",addedToQueue:"\uB300\uAE30\uC5F4\uC5D0 {item}(\uC774)\uAC00 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",addedMoreToQueue:"\uB300\uAE30\uC5F4\uC5D0 {n} \uD56D\uBAA9\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyInQueue:"{item}(\uC774)\uAC00 \uC774\uBBF8 \uB300\uAE30\uC5F4\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4!",finishDownload:"{item} \uD56D\uBAA9\uC774 \uB2E4\uC6B4\uB85C\uB4DC \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",allDownloaded:"\uBAA8\uB4E0 \uB2E4\uC6B4\uB85C\uB4DC\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",refreshFavs:"\uC0C8\uB85C\uACE0\uCE68\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",loggingIn:"\uB85C\uADF8\uC778 \uD558\uB294 \uC911...",loggedIn:"\uB85C\uADF8\uC778 \uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyLogged:"\uC774\uBBF8 \uB85C\uADF8\uC778\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4",loginFailed:"\uB85C\uADF8\uC778 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",loggedOut:"\uB85C\uADF8\uC544\uC6C3 \uD558\uC600\uC2B5\uB2C8\uB2E4",cancellingCurrentItem:"\uD604\uC7AC \uD56D\uBAA9\uC744 \uCDE8\uC18C \uC911\uC785\uB2C8\uB2E4.",currentItemCancelled:"\uD56D\uBAA9\uC774 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",startAddingArtist:"{artist} \uC568\uBC94\uC744 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00 \uC911\uC785\uB2C8\uB2E4",finishAddingArtist:"{artist} \uC568\uBC94\uC774 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",startConvertingSpotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uD2B8\uB799\uC744 Deezer \uD2B8\uB799\uC73C\uB85C \uC804\uD658 \uC911\uC785\uB2C8\uB2E4",finishConvertingSpotifyPlaylist:"\uC2A4\uD504\uD1A0\uD30C\uC774 \uC7AC\uC0DD \uBAA9\uB85D\uC774 \uC804\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4",loginNeededToDownload:"\uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB824\uBA74 \uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4!",deezerNotAvailable:"Deezer \uC0AC\uC774\uD2B8\uB294 \uD604\uC7AC \uADC0\uD558\uC758 \uAD6D\uAC00\uC5D0\uC11C \uC0AC\uC6A9\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4. VPN\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.",startGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC9C4\uD589\uC911...",finishGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC0DD\uC131."},settings:{title:"\uC124\uC815",languages:"\uC5B8\uC5B4",login:{title:"\uB85C\uADF8\uC778",loggedIn:"{username}(\uC73C)\uB85C \uB85C\uADF8\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4",arl:{question:"ARL\uC744 \uC5B4\uB5BB\uAC8C \uD655\uC778\uD569\uB2C8\uAE4C?",update:"ARL \uC5C5\uB370\uC774\uD2B8"},logout:"\uB85C\uADF8\uC544\uC6C3",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC4F0\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C\uD569\uB2C8\uAE4C?"},appearance:{title:"\uC678\uAD00",slimDownloadTab:"\uC587\uC740 \uB2E4\uC6B4\uB85C\uB4DC \uD0ED",slimSidebar:"\uC587\uC740 \uC0AC\uC774\uB4DC\uBC14"},downloadPath:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uACBD\uB85C"},templates:{title:"\uD15C\uD50C\uB9BF",tracknameTemplate:"\uD2B8\uB799\uC774\uB984 \uD15C\uD50C\uB9BF",tracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uD2B8\uB799\uC774\uB984 \uBCC0\uC218 \uBAA9\uB85D",albumTracknameTemplate:"\uC568\uBC94 \uD2B8\uB799 \uD15C\uD50C\uB9BF",albumTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC568\uBC94 \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D",playlistTracknameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD2B8\uB799 \uD15C\uD50C\uB9BF",playlistTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC7AC\uC0DD \uBAA9\uB85D \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D"},folders:{title:"\uD3F4\uB354",createPlaylistFolder:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",playlistNameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD3F4\uB354 \uD15C\uD50C\uB9BF",createArtistFolder:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",artistNameTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createAlbumFolder:"\uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",albumNameTemplate:"\uC568\uBC94 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createCDFolder:"CD\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",createStructurePlaylist:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131",createSingleFolder:"\uC2F1\uAE00 \uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131"},trackTitles:{title:"\uD2B8\uB799 \uC81C\uBAA9",padTracks:"\uD2B8\uB799 \uCC44\uC6CC\uB123\uAE30",paddingSize:"\uCC44\uC6CC\uB123\uC744 \uD06C\uAE30",illegalCharacterReplacer:"\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAE00\uC790 \uB300\uCCB4"},downloads:{title:"\uB2E4\uC6B4\uB85C\uB4DC",queueConcurrency:"\uB3D9\uC2DC \uB2E4\uC6B4\uB85C\uB4DC",maxBitrate:{title:"\uC120\uD638\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F8\uAE4C\uC694?",y:"\uB124, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC138\uC694",n:"\uC544\uB1E8, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC9C0 \uB9C8\uC138\uC694",t:"\uD0DC\uADF8\uB9CC \uB36E\uC5B4\uC4F0\uC138\uC694",b:"\uC544\uB1E8, \uC591\uCABD \uB2E4 \uB194\uB450\uACE0 \uC911\uBCF5\uB418\uB294 \uD30C\uC77C\uC5D0 \uBC88\uD638\uB97C \uCD94\uAC00\uD558\uC138\uC694",e:"\uC544\uB1E8, \uD655\uC7A5\uBA85\uC744 \uBCC0\uACBD\uD558\uC138\uC694"},fallbackBitrate:"\uBE44\uD2B8\uB808\uC774\uD2B8 \uB300\uBE44\uCC45",fallbackSearch:"\uAC80\uC0C9 \uB300\uBE44\uCC45",logErrors:"\uC624\uB958 \uBC1C\uC0DD\uC2DC \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",logSearched:"\uAC80\uC0C9\uD55C \uD2B8\uB799\uC5D0 \uB300\uD55C \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",createM3U8File:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C \uC0DD\uC131",syncedLyrics:".lyr \uD30C\uC77C \uC0DD\uC131 (\uAC00\uC0AC \uB3D9\uAE30\uD654)",playlistFilenameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C\uC774\uB984 \uD15C\uD50C\uB9BF",saveDownloadQueue:"\uD504\uB85C\uADF8\uB7A8\uC744 \uB2EB\uC744 \uB54C \uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30\uC5F4 \uC800\uC7A5"},covers:{title:"\uC568\uBC94 \uCEE4\uBC84",saveArtwork:"\uCEE4\uBC84 \uC800\uC7A5",coverImageTemplate:"\uCEE4\uBC84 \uC774\uB984 \uD15C\uD50C\uB9BF",saveArtworkArtist:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uC800\uC7A5",artistImageTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uD15C\uD50C\uB9BF",localArtworkSize:"\uC678\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",embeddedArtworkSize:"\uB0B4\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",localArtworkFormat:{title:"\uBCC4\uB3C4\uB85C \uC800\uC7A5\uD560 \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 \uBB34\uC5C7\uC73C\uB85C \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",jpg:"jpeg \uC774\uBBF8\uC9C0",png:"png \uC774\uBBF8\uC9C0",both:"jpeg\uC640 png \uB458 \uB2E4"},jpegImageQuality:"JPEG \uC774\uBBF8\uC9C0 \uD488\uC9C8",embeddedArtworkPNG:"\uD3EC\uD568\uB41C \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 PNG\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4",embeddedPNGWarning:"PNG\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBC84\uADF8\uAC00 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4",imageSizeWarning:"x1200 \uD06C\uAE30\uB97C \uCD08\uACFC\uD574\uC11C\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBB38\uC81C\uAC00 \uC0DD\uAE38 \uC218 \uC788\uC2B5\uB2C8\uB2E4",coverDescriptionUTF8:"\uCEE4\uBC84 \uC124\uBA85\uC744 UTF8 \uD3EC\uB9F7\uC744 \uC774\uC6A9\uD574 \uC800\uC7A5\uD569\uB2C8\uB2E4 (iTunes \uCEE4\uBC84 \uC624\uB958 \uD574\uACB0)"},tags:{head:"\uC800\uC7A5\uD560 \uD0DC\uADF8\uB97C \uC120\uD0DD\uD558\uC138\uC694",title:"\uC81C\uBAA9",artist:"\uC544\uD2F0\uC2A4\uD2B8",album:"\uC568\uBC94",cover:"\uCEE4\uBC84",trackNumber:"\uD2B8\uB799 \uBC88\uD638",trackTotal:"\uC804\uCCB4 \uD2B8\uB799 \uD06C\uAE30",discNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",discTotal:"\uC804\uCCB4 \uB514\uC2A4\uD06C \uC218",albumArtist:"\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8",genre:"\uC7A5\uB974",year:"\uC5F0\uB3C4",date:"\uC77C\uC790",explicit:"\uB178\uACE8\uC801 \uAC00\uC0AC",isrc:"ISRC",length:"\uD2B8\uB799 \uAE38\uC774",barcode:"\uC568\uBC94 \uBC14\uCF54\uB4DC (UPC)",bpm:"BPM",replayGain:"\uB9AC\uD50C\uB808\uC774 \uAC8C\uC778",label:"\uC568\uBC94 \uB77C\uBCA8",lyrics:"\uBE44\uB3D9\uAE30 \uAC00\uC0AC",copyright:"\uC800\uC791\uAD8C",composer:"\uC791\uACE1\uAC00",involvedPeople:"\uAD00\uB828\uC788\uB294 \uC0AC\uB78C\uB4E4",source:"\uC18C\uC2A4\uC640 \uC74C\uC545 ID"},other:{title:"\uAE30\uD0C0",savePlaylistAsCompilation:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uD3B8\uCC2C\uBB3C\uB85C \uC800\uC7A5",useNullSeparator:"null \uAD6C\uBD84\uC790 \uC0AC\uC6A9",saveID3v1:"ID3v1 \uD0DC\uADF8 \uD615\uC2DD\uC73C\uB85C \uC800\uC7A5",multiArtistSeparator:{title:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC5B4\uB5BB\uAC8C \uAD6C\uBD84\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",nothing:"\uC8FC\uC694 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",default:"\uD45C\uC900 \uC2A4\uD399\uC744 \uC0AC\uC6A9",andFeat:"& \uAE30\uD638\uC640 feat \uC0AC\uC6A9.",using:'"{separator}" \uC0AC\uC6A9'},singleAlbumArtist:"\uC8FC\uC694 \uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",albumVariousArtists:'\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uC5D0 "Various Artists"(\uB2E4\uC591\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4) \uC720\uC9C0',removeAlbumVersion:'\uD2B8\uB799 \uC81C\uBAA9\uC5D0 "Album Version"(\uC568\uBC94 \uBC84\uC804) \uC81C\uAC70',removeDuplicateArtists:"\uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC758 \uD611\uC5C5 \uC81C\uAC70",dateFormat:{title:"FLAC \uD30C\uC77C\uC758 \uB0A0\uC9DC \uD615\uC2DD",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\uD2B9\uC9D1\uC5D0 \uCC38\uC5EC\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC5D0 \uD560 \uC218 \uC788\uB294 \uAC83\uC774 \uBB34\uC5C7\uC774 \uC788\uB098\uC694?",0:"\uC544\uBB34\uAC83\uB3C4 \uD558\uC9C0 \uC54A\uC74C",1:"\uC81C\uBAA9\uC5D0\uC11C \uC81C\uAC70",3:"\uC568\uBC94 \uC81C\uBAA9\uACFC \uD2B8\uB799\uC5D0\uC11C \uC81C\uAC70",2:"\uC81C\uBAA9\uC73C\uB85C \uC774\uB3D9"},titleCasing:"\uC81C\uBAA9 \uCF00\uC774\uC2F1",artistCasing:"\uC544\uD2F0\uC2A4\uD2B8 \uCF00\uC774\uC2F1",casing:{nothing:"\uBCC0\uD568\uC5C6\uC774 \uC720\uC9C0",lower:"\uC18C\uBB38\uC790\uB85C",upper:"\uB300\uBB38\uC790\uB85C",start:"\uAC01 \uB2E8\uC5B4 \uC55E \uAE00\uC790\uB97C \uB300\uBB38\uC790\uB85C",sentence:"\uBB38\uC7A5\uCC98\uB7FC"},previewVolume:"\uBBF8\uB9AC\uB4E3\uAE30 \uBCFC\uB968",executeCommand:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uD6C4 \uC2E4\uD589\uD560 \uBA85\uB839\uC5B4",description:"\uBE48\uCE78\uC73C\uB85C \uB450\uBA74 \uC544\uBB34 \uC77C\uB3C4 \uC5C6\uC2B5\uB2C8\uB2E4"}},spotify:{title:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify \uC0AC\uC6A9\uC790\uC774\uB984",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C \uD569\uB2C8\uAE4C?"},reset:"\uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uCD08\uAE30\uD654",resetMessage:"\uC815\uB9D0 \uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uB3CC\uC544\uAC00\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",save:"\uC800\uC7A5",toasts:{init:"\uC124\uC815\uC744 \uBD88\uB7EC\uC654\uC2B5\uB2C8\uB2E4!",update:"\uC0C8\uB85C\uC6B4 \uC124\uC815\uC73C\uB85C \uAC31\uC2E0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",reset:"\uC124\uC815\uC774 \uC6D0\uB798\uB300\uB85C \uCD08\uAE30\uD654 \uB418\uC5C8\uC2B5\uB2C8\uB2E4!",ARLcopied:"ARL\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},sidebar:{home:"\uD648",search:"\uAC80\uC0C9",charts:"\uCC28\uD2B8",favorites:"\uC990\uACA8\uCC3E\uAE30",linkAnalyzer:"\uB9C1\uD06C \uBD84\uC11D\uAE30",settings:"\uC124\uC815",about:"\uC815\uBCF4"},tracklist:{downloadSelection:"\uC120\uD0DD \uB2E4\uC6B4\uB85C\uB4DC"}},ph={globals:{welcome:"Welcome sa deemix",back:"bumalik",loading:"kumakarga",download:"I-download {thing}",by:"ayon sa {artist}",in:"sa {album}",download_hint:"I-download",play_hint:"I-play",toggle_download_tab_hint:"Palakihin/Paliitan",clean_queue_hint:"Natapos na ang Pag-alis",cancel_queue_hint:"Ikansel Lahat",open_downloads_folder:"Buksan ang Polder ng Download",cut:"i-cut",copy:"kopyahin",copyLink:"kopyahin ang link",copyImageLink:"kopyahin ang imahe sa link",copyDeezerLink:"kopyahin ang link ng deezer",paste:"idikit",listTabs:{empty:"",all:"lahat",top_result:"nangungunang resulta",album:"album | mga album",artist:"artist | mga artist",single:"single | mga single",title:"pamagat | mga pamagat",track:"track | mga track",trackN:"0 mga track | {n} track | {n} mga track",releaseN:"0 mga release | {n} release | {n} mga release",playlist:"playlist | mga playlist",compile:"pinagsama | mga pinagsama",ep:"ep | mga ep",bundle:"bundle | mga bundle",more:"Iba pang mga album",featured:"Ibinida sa",spotifyPlaylist:"playlist sa spotify | mga playlist sa spotify",releaseDate:"petsa ng paglabas",error:"error"}},about:{updates:{currentVersion:"Kasalukuyang version",versionNotAvailable:"H/P",updateAvailable:"Hindi mo ginagamit ang pinakabagong version: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Nakatutulong na mga Link",bugReports:"Report sa Bug",contributing:"Pagtulong",donations:"Mga donasiyon",license:"Lisensiya"},subtitles:{bugReports:"Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!",contributing:"Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!",donations:"Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!"},usesLibrary:"Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.",thanks:"Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.",upToDate:{text:"Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.",newsChannel:"news channel"},officialWebsite:"Opisyal na Website",officialRepo:"Opisyal na Library Repository",officialWebuiRepo:"Opisyal na Repository ng WebUI",officialSubreddit:"Opisyal na Subreddit",newsChannel:"News Channel",questions:{text:"Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.",subreddit:"subreddit"},beforeReporting:"Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.",beSure:"Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.",duplicateReports:"Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.",dontOpenIssues:"HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.",newUI:{text:"Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.",repo:"repo"},acceptFeatures:"Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.",otherLanguages:"Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!",understandingCode:"Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.",contributeWebUI:{text:"Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.",webui:"WebUI"},itsFree:"Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.",notObligated:"Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!",lincensedUnder:{text:"Ang aktibidad na ito ay lisensiyado sa {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Mga Chart",changeCountry:"Palitan ang Country",download:"I-download ang Chart"},errors:{title:"Mga error sa {name}",ids:{invalidURL:"Hindi makilala ang URL",unsupportedURL:"Hindi pa suportado ang URL",ISRCnotOnDeezer:"Ang Track ISRC ay hindi pwede sa Deezer",notYourPrivatePlaylist:"Hindi pwedeng i-download ang mga pribadong playlist ng iba.",spotifyDisabled:"Hindi mo nai-set nang tama ang Spotify Features.",trackNotOnDeezer:"Hindi mahanap ang track sa Deezer!",albumNotOnDeezer:"Hindi mahanap ang album sa Deezer!",notOnDeezer:"Hindi available ang track sa Deezer!",notEncoded:"Hindi pa nae-encode ang track!",notEncodedNoAlternative:"Hindi pa nae-encode ang track at walang mahanap na iba!",wrongBitrate:"Hindi mahanap ang track sa gusto mong bitrate.",wrongBitrateNoAlternative:"Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!",no360RA:"Hindi pwede ang track para sa Reality Audio 360.",notAvailable:"Walang available na track sa server ng Deezer!",notAvailableNoAlternative:"Walang available na track sa server ng Deezer at walang mahanap na iba!",noSpaceLeft:"Wala nang natitirang space sa iyong device!"}},favorites:{title:"Mga Paborito",noPlaylists:"Walang makitang mga Playlist",noAlbums:"Walang makitang mga Paboritong Album",noArtists:"Walang makitang mga Paboritong Artist",noTracks:"Walang makitang mga Paboritong Track"},home:{needTologin:"Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.",openSettings:"Buksan ang Mga Setting",sections:{popularPlaylists:"Mga sikat na playlist",popularAlbums:"Pinakamaraming pinakikinggang mga album"}},linkAnalyzer:{info:"Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.",useful:"Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.",linkNotSupported:"Hindi pa suportado ang link",linkNotSupportedYet:"Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Haba",diskNumber:"Bilang ng Disk",trackNumber:"Bilang ng Track",releaseDate:"Petsa ng Release",bpm:"BPM",label:"Label",recordType:"Uri ng Rekord",genres:"Mga Genre",tracklist:"Listahan ng Track"}},search:{startSearching:"Simulang Maghanap!",description:"Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer",fans:"{n} mga fan",noResults:"Walang resulta",noResultsTrack:"Walang mahanap na mga Track",noResultsAlbum:"Walang mahanap na mga Album",noResultsArtist:"Walang mahanap na mga Artist",noResultsPlaylist:"Walang mahanap na mga Playlist"},searchbar:"Maghanap ka ng gusto mo (o mag-paste ka ng link)",downloads:"mga download",toasts:{restoringQueue:"Binabalik ang download queue...",queueRestored:"Naibalik na ang download queue!",addedToQueue:"{item} ay naidagdag sa queue",addedMoreToQueue:"{n} naidagdag rin sa queue",alreadyInQueue:"{item} ay meron na sa queue!",finishDownload:"{item} ay natapos nang i-download.",allDownloaded:"Nadownload na lahat!",refreshFavs:"Narefresh na!",loggingIn:"Nagla-log in...",loggedIn:"Na-login na",alreadyLogged:"Nakalogin ka na",loginFailed:"Hindi maka-log in",loggedOut:"Na-logout na",cancellingCurrentItem:"Kinakansel ang item.",currentItemCancelled:"Nakansel na ang item.",startAddingArtist:"Idinadagdag si {artist} sa queue ng mga album",finishAddingArtist:"Naidagdag na si {artist} sa queue ng mga album",startConvertingSpotifyPlaylist:"Kino-convert ang mga track sa spotify papuntang Deezer",finishConvertingSpotifyPlaylist:"Naconvert na ang playlist sa Spotify",loginNeededToDownload:"Kailangan mong mag-login para madownload ang mga track!",deezerNotAvailable:"Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN."},settings:{title:"Mga Setting",languages:"Mga Wika",login:{title:"Login",loggedIn:"Ikaw ay naka-login sa pangalang {username}",arl:{question:"Paano ako makakuha ng sariling ARL?",update:"I-update ang ARL"},logout:"Logout",login:"Mag-login gamit ng deezer.com"},appearance:{title:"Hitsura",slimDownloadTab:"Pinaliit na download tab"},downloadPath:{title:"Paglalagyan ng Download"},templates:{title:"Mga Template",tracknameTemplate:"Template sa pangalan ng Track",albumTracknameTemplate:"Template sa track ng Album",playlistTracknameTemplate:"Template sa track ng Playlist"},folders:{title:"Mga Folder",createPlaylistFolder:"Gumawa ng folder para sa mga playlist",playlistNameTemplate:"Template sa folder ng Playlist",createArtistFolder:"Gumawa ng folder para sa artist",artistNameTemplate:"Template sa folder ng Artist",createAlbumFolder:"Gumawa ng folder para sa album",albumNameTemplate:"Template sa folder ng Album",createCDFolder:"Gumawa ng folder para sa mga CD",createStructurePlaylist:"Gumawa ng istraktura ng folder para sa mga playlist",createSingleFolder:"Gumawa ng istraktura ng folder para sa mga single"},trackTitles:{title:"Pamagat sa mga track",padTracks:"Mga track ng Pad",paddingSize:"Patungan ang laki ng padding",illegalCharacterReplacer:"Pamalit sa ilegal na Karakter"},downloads:{title:"Mga Download",queueConcurrency:"Mga Kasabay na Download",maxBitrate:{title:"Gustong Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Papatungan ko ba ang file?",y:"Oo, patungan mo ang file",n:"Hindi, huwag mong patungan ang file",t:"Patungan mo lang ang mga tag",b:"Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya",e:"Hindi, at huwag mong tignan ang mga extension"},fallbackBitrate:"Binabaang bitrate",fallbackSearch:"Maghanap para sa binabaan",logErrors:"Gumawa ng log file para sa mga error",logSearched:"Gumawa ng log file para sa mga hinanap na track",createM3U8File:"Gumawa ng file sa playlist",syncedLyrics:"Gumawa ng mga .lyr file (Mga Sync Lyric)",playlistFilenameTemplate:"Template sa pangalan ng Playlist file",saveDownloadQueue:"I-save ang download queue kapag isasara the app"},covers:{title:"Mga cover ng album",saveArtwork:"I-save ang mga Cover",coverImageTemplate:"Template ng pangalan ng cover",saveArtworkArtist:"I-save ang imahe ng artist",artistImageTemplate:"Template ng imahe ng artist",localArtworkSize:"Laki ng lokal na artwork",embeddedArtworkSize:"Laki ng Nakadikit na artwork",localArtworkFormat:{title:"Anong gusto mong format para sa mga lokal na artwork?",jpg:"jpeg na imahe",png:"png na imahe",both:"Parehong jpeg at png"},jpegImageQuality:"Kalidad ng JPEG na imahe",embeddedArtworkPNG:"I-save ang nakadikit na artwork bilang PNG",embeddedPNGWarning:"Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug",imageSizeWarning:"Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu",coverDescriptionUTF8:"I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)"},tags:{head:"Aling tag ang ise-save",title:"Pamagat",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Bilang ng Track",trackTotal:"Kabuuang Track",discNumber:"Bilang ng Disk",discTotal:"Kabuuang Disk",albumArtist:"Album Artist",genre:"Genre",year:"Taon",date:"Petsa",explicit:"Mga Explicit na Lyric",isrc:"ISRC",length:"Haba ng Track",barcode:"Barcode ng Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label ng Album",lyrics:"Unsynchronized na mga Lyric",syncedLyrics:"Synchronized na mga Lyric",copyright:"Karapatang Ari",composer:"Komposer",involvedPeople:"Mga Kasamang Tao"},other:{title:"Iba pa",savePlaylistAsCompilation:"I-save ang mga playlist bilang compilation",useNullSeparator:"Gumamit ng panghiwalay sa null",saveID3v1:"I-save rin ang ID3v1",multiArtistSeparator:{title:"Anong gusto mo para maihanay mga artist?",nothing:"I-save lang ang pangunahing artist",default:"Gamit ng standard na specification",andFeat:"Gamit ng & at feat.",using:'Gamit ng "{separator}"'},singleAlbumArtist:"I-save lang ang pangunahing album ng artist",albumVariousArtists:'Isama ang "Various Artists" sa mga Album Artist',removeAlbumVersion:'Tanggalin ang "Album Version" sa pamagat ng track',removeDuplicateArtists:"Tanggalin ang kombinasyon ng mga artist",dateFormat:{title:"Format ng petsa para sa mga FLAC file",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Anong gagawin ko sa mga itinampok na artist",0:"Wala",1:"Tanggalin mo sila sa Pamagat",3:"Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album",2:"Ilipat mo sila sa pamagat"},titleCasing:"Pagleletra sa Pamagat",artistCasing:"Pagleletra sa Artist",casing:{nothing:"Walang babaguhin",lower:"maliliit",upper:"MALALAKI",start:"Simula Ng Bawata Salita",sentence:"Kagaya ng pangungusap"},previewVolume:"Volume ng Preview",executeCommand:{title:"Mga gagawin pagkatapos ng download",description:"Hayaan lang na blangko kung wala"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"Paano ma-enable ang Spotify Features?"},reset:"Ibalik sa Dati",save:"I-save",toasts:{init:"Ikinarga ang mga Setting!",update:"In-update ang mga Setting!",ARLcopied:"Kinopya ang ARL sa clipboard"}},sidebar:{home:"tahanan",search:"maghanap",charts:"mga chart",favorites:"mga paborito",linkAnalyzer:"tagasuri ng link",settings:"mga setting",about:"tungkol sa"},tracklist:{downloadSelection:"Pagpipili ng download"}},zh_tw={globals:{welcome:"\u6B61\u8FCE\u4F7F\u7528 deemix",back:"\u8FD4\u56DE",loading:"\u8F09\u5165\u4E2D",download:"\u4E0B\u8F09 {thing}",by:"{artist}",in:"\u65BC {album}",download_hint:"\u4E0B\u8F09",play_hint:"\u64AD\u653E",toggle_download_tab_hint:"\u5C55\u958B/\u6298\u758A",clean_queue_hint:"\u6E05\u9664\u5B8C\u6210",cancel_queue_hint:"\u53D6\u6D88\u5168\u90E8",open_downloads_folder:"\u958B\u555F\u4E0B\u8F09\u8CC7\u6599\u593E",cut:"\u526A\u4E0B",copy:"\u8907\u88FD",copyLink:"\u8907\u88FD\u9023\u7D50",copyImageLink:"\u8907\u88FD\u5716\u7247\u9023\u7D50",copyDeezerLink:"\u8907\u88FD deezer \u9023\u7D50",paste:"\u8CBC\u4E0A",listTabs:{empty:"",all:"\u6240\u6709",top_result:"\u6700\u4F73\u7D50\u679C",album:"\u5C08\u8F2F|\u5C08\u8F2F",artist:"\u85DD\u4EBA|\u85DD\u4EBA",single:"\u55AE\u66F2",title:"\u6A19\u984C|\u6A19\u984C",track:"\u6B4C\u66F2|\u6B4C\u66F2",releaseN:"0 \u767C\u884C| {n} \u767C\u884C| {n} \u767C\u884C",playlist:"\u64AD\u653E\u6E05\u55AE|\u64AD\u653E\u6E05\u55AE",compile:"\u5408\u8F2F|\u5408\u8F2F",ep:"\u8FF7\u4F60\u5C08\u8F2F | \u8FF7\u4F60\u5C08\u8F2F",bundle:"bundle | bundles",more:"\u66F4\u591A\u5C08\u8F2F",featured:"\u51FA\u73FE\u65BC",spotifyPlaylist:"Spotify \u64AD\u653E\u6E05\u55AE | Spotify \u64AD\u653E\u6E05\u55AE",releaseDate:"\u767C\u5E03\u65E5\u671F",error:"\u932F\u8AA4",trackN:"0 \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2",albumN:"0 \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F",artistN:"0 \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA",playlistN:"0 \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE"}},about:{appStatus:{online:"\u4E0A\u7DDA\u4E2D",offline:"\u96E2\u7DDA\u4E2D"},updates:{currentVersion:"\u76EE\u524D\u7248\u672C",currentWebuiVersion:"\u76EE\u524D\u524D\u7AEF\u7248\u672C",versionNotAvailable:"N/A",updateAvailable:"\u60A8\u5C1A\u672A\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF1A{version}",deemixVersion:"deemix \u51FD\u793A\u5EAB\u7248\u672C"},titles:{usefulLinks:"\u5BE6\u7528\u9023\u7D50",bugReports:"\u932F\u8AA4\u5831\u544A",contributing:"\u8CA2\u737B",donations:"\u8D0A\u52A9",license:"\u4F7F\u7528\u8A31\u53EF"},subtitles:{bugReports:"\u4F7F\u7528 deemix \u6642\uFF0C\u9047\u5230\u4E86\u4EC0\u9EBC\u554F\u984C\u55CE\uFF1F\u6B61\u8FCE\u56DE\u5831\u932F\u8AA4\uFF01",contributing:"\u60A8\u60F3\u66FF\u9019\u500B\u5C08\u6848\u63D0\u51FA\u8CA2\u737B\u55CE\uFF1F\u60A8\u53EF\u4EE5\u900F\u904E\u8A31\u591A\u4E0D\u540C\u7684\u65B9\u5F0F\u4F86\u5E6B\u5FD9\uFF01",donations:"\u60A8\u60F3\u8981\u6350\u6B3E\u55CE\uFF1F\u53EF\u4EE5\u8D0A\u52A9\u6211\u5011\uFF01"},usesLibrary:"\u672C\u7A0B\u5F0F\u57FA\u65BC deemix \u51FD\u793A\u5EAB\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u8A72\u51FD\u793A\u5EAB\u4F86\u88FD\u4F5C\u81EA\u5DF1\u7684\u524D\u7AEF\u3002",thanks:"\u611F\u8B1D rtonno\u3001uhwot \u53CA lollilol \u5C0D\u65BC\u672C\u5C08\u6848\u7684\u8CA2\u737B\uFF0C\u53E6\u5916\u4E5F\u611F\u8B1D BasCurtiz \u5E6B\u5FD9\u88FD\u4F5C\u672C\u5C08\u6848\u7684\u5716\u793A",upToDate:{text:"\u60A8\u53EF\u65BC Telegram \u4E0A\u95DC\u6CE8{newsChannel}\u4EE5\u53D6\u5F97\u6700\u65B0\u52D5\u614B\u3002",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053"},officialWebsite:"\u5B98\u65B9\u7DB2\u7AD9",officialRepo:"\u5B98\u65B9\u51FD\u793A\u7248\u672C\u5EAB",officialWebuiRepo:"\u5B98\u65B9 WebUI \u7248\u672C\u5EAB",officialSubreddit:"\u5B98\u65B9 Subreddit",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053",questions:{text:"\u5982\u679C\u60A8\u5C0D\u672C\u7A0B\u5F0F\u6709\u7591\u554F\u6216\u554F\u984C\uFF0C\u8ACB\u5148\u5728{subreddit}\u4E0A\u641C\u5C0B\u89E3\u6C7A\u65B9\u6848\u3002\u5982\u679C\u627E\u4E0D\u5230\u4EFB\u4F55\u89E3\u6C7A\u65B9\u6CD5\uFF0C\u5247\u53EF\u4EE5\u5728\u6211\u5011\u7684 subreddit \u4E0A\u767C\u5E03\u8207\u60A8\u554F\u984C\u76F8\u95DC\u7684\u6587\u7AE0\u3002",subreddit:" subreddit "},beforeReporting:"\u5728\u5831\u544A\u932F\u8AA4\u4E4B\u524D\uFF0C\u8ACB\u78BA\u4FDD\u60A8\u6B63\u5728\u904B\u884C\u6700\u65B0\u7248\u672C\u7684\u7A0B\u5F0F\uFF0C\u4E26\u4E14\u8981\u5831\u544A\u7684\u5167\u5BB9\u771F\u7684\u662F\u4E00\u500B\u932F\u8AA4\uFF0C\u800C\u4E0D\u50C5\u662F\u60A8\u81EA\u5DF1\u9047\u5230\u7684\u554F\u984C\u3002",beSure:"\u8ACB\u78BA\u4FDD\u60A8\u6240\u60F3\u56DE\u5831\u7684\u932F\u8AA4\u53EF\u5728\u5176\u4ED6\u53F0\u88DD\u7F6E\u4E0A\u518D\u73FE\u7684\uFF0C\u4E26\u4E14\u8ACB\u52FF\u56DE\u5831\u5DF2\u77E5\u932F\u8AA4\u3002",duplicateReports:"\u8ACB\u6CE8\u610F\uFF0C\u91CD\u8907\u7684\u932F\u8AA4\u5831\u544A\u5C07\u88AB\u79FB\u9664\u3002",dontOpenIssues:"\u8ACB\u52FF\u900F\u904E\u672C\u7248\u672C\u5EAB\u7684 Issues \u554F\u554F\u984C\uFF0C\u6211\u5011\u958B subreddit \u662F\u6709\u539F\u56E0\u7684\u3002",newUI:{text:"\u5982\u679C\u60A8\u7CBE\u901A Python\uFF0C\u5247\u53EF\u4EE5\u5617\u8A66\u4F7F\u7528\u6211\u5011\u7684\u51FD\u793A\u5EAB\u4F86\u5EFA\u7ACB\u65B0\u7684 UI\uFF0C\u6216\u8005\u900F\u904E{repo}\u63D0\u51FA\u932F\u8AA4\u76F8\u95DC\u7684 PR\u3002",repo:"\u6211\u5011\u7684\u7248\u672C\u5EAB"},acceptFeatures:"\u6211\u4E5F\u6B61\u8FCE\u4F60\u63D0\u4EA4\u65B0\u7684\u529F\u80FD\uFF0D\u4F46\u524D\u63D0\u662F\u9019\u500B\u529F\u80FD\u4E0D\u80FD\u904E\u65BC\u8907\u96DC\uFF0D\u904E\u65BC\u8907\u96DC\u7684\u529F\u80FD\uFF0C\u61C9\u88AB\u65B0\u589E\u81F3\u7A0B\u5F0F\u5167\u800C\u975E\u51FD\u793A\u5EAB\u5167\u3002",otherLanguages:"\u5982\u679C\u60A8\u7CBE\u901A\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u5617\u8A66\u5C07 deemix \u79FB\u690D\u5230\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\u4E2D\uFF01",understandingCode:"\u4F60\u9700\u8981\u5E6B\u52A9\u4E86\u89E3\u672C\u5C08\u6848\u7684\u7A0B\u5F0F\u78BC\u55CE\uFF1F\u53EA\u9700\u5728 Telegram \u6216 Reddit \u4E0A\u6309\u4E00\u4E0B RemixDev\u3002",contributeWebUI:{text:"\u5982\u679C\u4F60\u719F\u6089 Vue.js\uFF08JavaScript\uFF09\u3001HTML \u6216 CSS\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u53C3\u8207 {webui} \u524D\u7AEF\u7684\u8CA2\u737B\u3002",webui:"WebUI"},itsFree:"\u8A18\u5F97\uFF0C\u9019\u662F\u4E00\u500B\u514D\u8CBB\u7684\u5C08\u6848\uFF0C\u5728\u652F\u6301\u958B\u767C\u4EBA\u54E1\u4E4B\u524D\uFF0C\u61C9\u8A72\u5148\u652F\u6301\u4F60\u559C\u6B61\u7684\u6B4C\u624B\u6216\u85DD\u4EBA\u3002",notObligated:"\u5225\u8A8D\u70BA\u4F60\u6709\u7FA9\u52D9\u6350\u6B3E\uFF0C\u7121\u8AD6\u5982\u4F55\u6211\u5011\u90FD\u611F\u8B1D\u60A8\uFF01",lincensedUnder:{text:"\u672C\u4F5C\u54C1\u4F7F\u7528 {gpl3} \u8A31\u53EF\u6388\u6B0A\u3002",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u6392\u884C\u699C",changeCountry:"\u6539\u8B8A\u570B\u5BB6",download:"\u4E0B\u8F09\u6392\u884C\u699C"},errors:{title:"{name} \u7684\u932F\u8AA4",ids:{invalidURL:"\u7121\u6CD5\u8B58\u5225\u7DB2\u5740",unsupportedURL:"\u5C1A\u4E0D\u652F\u6301\u6B64\u7DB2\u5740",ISRCnotOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u4F7F\u7528\u55AE\u66F2 ISRC",notYourPrivatePlaylist:"\u60A8\u7121\u6CD5\u4E0B\u8F09\u4ED6\u4EBA\u7684\u79C1\u4EBA\u64AD\u653E\u6E05\u55AE\u3002",spotifyDisabled:"Spotify \u529F\u80FD\u672A\u6B63\u78BA\u8A2D\u5B9A\u3002",trackNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u6B4C\u66F2\uFF01",albumNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u5C08\u8F2F\uFF01",notOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notEncoded:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF01",notEncodedNoAlternative:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",wrongBitrate:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\u3002",wrongBitrateNoAlternative:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",no360RA:"\u672C\u6B4C\u66F2\u4E26\u4E0D\u652F\u63F4 Reality Audio 360\u3002",notAvailable:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notAvailableNoAlternative:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",noSpaceLeft:"\u672C\u88DD\u7F6E\u53EF\u7528\u7A7A\u9593\u5DF2\u7528\u76E1\uFF01",albumDoesntExists:"\u672C\u6B4C\u66F2\u7684\u5C08\u8F2F\u4E0D\u5B58\u5728\uFF0C\u7121\u6CD5\u53D6\u5F97\u8CC7\u8A0A"}},favorites:{title:"\u6536\u85CF",noPlaylists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u64AD\u653E\u6E05\u55AE",noAlbums:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u5C08\u8F2F",noArtists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u85DD\u4EBA",noTracks:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u6B4C\u66F2"},home:{needTologin:"\u60A8\u9700\u8981\u5148\u767B\u5165 Deezer \u5E33\u6236\uFF0C\u7136\u5F8C\u624D\u80FD\u958B\u59CB\u4E0B\u8F09\u3002",openSettings:"\u958B\u555F\u8A2D\u5B9A",sections:{popularPlaylists:"\u71B1\u9580\u64AD\u653E\u6E05\u55AE",popularAlbums:"\u71B1\u9580\u5C08\u8F2F"}},linkAnalyzer:{info:"\u60A8\u53EF\u4EE5\u900F\u904E\u6B64\u5DE5\u5177\u53D6\u5F97\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u9023\u7D50\u7684\u76F8\u95DC\u8CC7\u8A0A\u3002",useful:"\u6BD4\u5982\uFF0C\u7576\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u6B4C\u66F2\u7121\u6CD5\u5728\u60A8\u7684\u570B\u5BB6\u64AD\u653E\uFF0C\u4E14\u60A8\u60F3\u77E5\u9053\u54EA\u4E9B\u570B\u5BB6\u53EF\u4EE5\u64AD\u653E\u6B64\u6B4C\u66F2\u6642\uFF0C\u60A8\u53EF\u4F7F\u7528\u6B64\u5DE5\u5177\u3002",linkNotSupported:"\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50",linkNotSupportedYet:"\u6211\u5011\u4F3C\u4E4E\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50\uFF0C\u8ACB\u6539\u7528\u5176\u4ED6\u9023\u7D50\u3002",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u9577\u5EA6",diskNumber:"\u5149\u789F\u7DE8\u865F",trackNumber:"\u6B4C\u66F2\u7DE8\u865F",releaseDate:"\u767C\u5E03\u65E5\u671F",bpm:"BPM",label:"\u6A19\u7C64",recordType:"\u5A92\u9AD4\u985E\u578B",genres:"\u985E\u578B",tracklist:"\u6B4C\u66F2\u6E05\u55AE"}},search:{startSearching:"\u958B\u59CB\u641C\u5C0B\uFF01",description:"\u60A8\u53EF\u4EE5\u641C\u7D22\u6B4C\u66F2\u540D\u7A31\u3001\u5C08\u8F2F\u3001\u85DD\u4EBA\u3001\u64AD\u653E\u6E05\u55AE...\u7B49\u7B49\u3002\u60A8\u4E5F\u53EF\u4EE5\u76F4\u63A5\u8CBC\u4E0A Deezer \u7DB2\u5740\u3002",fans:"{n} \u500B\u7C89\u7D72",noResults:"\u7121\u641C\u5C0B\u7D50\u679C",noResultsTrack:"\u627E\u4E0D\u5230\u6B4C\u66F2",noResultsAlbum:"\u627E\u4E0D\u5230\u5C08\u8F2F",noResultsArtist:"\u627E\u4E0D\u5230\u85DD\u4EBA",noResultsPlaylist:"\u627E\u4E0D\u5230\u64AD\u653E\u6E05\u55AE"},searchbar:"\u641C\u5C0B\u4EFB\u4F55\u95DC\u9375\u5B57\uFF08\u6216\u8CBC\u4E0A\u9023\u7D50\uFF09",downloads:"\u4E0B\u8F09",toasts:{restoringQueue:"\u6B63\u5728\u6062\u5FA9\u4E0B\u8F09\u6E05\u55AE...",queueRestored:"\u4E0B\u8F09\u6E05\u55AE\u5DF2\u6062\u5FA9\uFF01",addedToQueue:"\u5DF2\u65B0\u589E {item} \u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",addedMoreToQueue:"\u5DF2\u65B0\u589E {n} \u500B\u9805\u76EE\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",alreadyInQueue:"{item} \u5DF2\u5728\u4E0B\u8F09\u6E05\u55AE\u4E2D\uFF01",finishDownload:"{item} \u5DF2\u5B8C\u6210\u4E0B\u8F09\u3002",allDownloaded:"\u5168\u90E8\u4E0B\u8F09\u5B8C\u6210\uFF01",refreshFavs:"\u5237\u65B0\u5B8C\u6210\uFF01",loggingIn:"\u767B\u5165\u4E2D...",loggedIn:"\u767B\u5165",alreadyLogged:"\u5DF2\u767B\u5165",loginFailed:"\u7121\u6CD5\u767B\u5165",loggedOut:"\u767B\u51FA",cancellingCurrentItem:"\u53D6\u6D88\u7576\u524D\u9805\u76EE\u3002",currentItemCancelled:"\u7576\u524D\u9805\u76EE\u5DF2\u53D6\u6D88\u3002",startAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",finishAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",startConvertingSpotifyPlaylist:"\u5C07 Spotify \u6B4C\u66F2\u8F49\u63DB\u70BA Deezer \u6B4C\u66F2\u4E2D",finishConvertingSpotifyPlaylist:"\u5DF2\u8F49\u63DB Spotify \u64AD\u653E\u6E05\u55AE",loginNeededToDownload:"\u60A8\u9700\u8981\u767B\u5165\u624D\u80FD\u4E0B\u8F09\u6B4C\u66F2\uFF01",deezerNotAvailable:"Deezer \u5728\u60A8\u6240\u5728\u7684\u570B\u5BB6/\u5730\u5340\u7121\u6CD5\u4F7F\u7528\u3002\u8ACB\u60A8\u4F7F\u7528 VPN\u3002",startGeneratingItems:"\u751F\u6210 {n} \u500B\u9805\u76EE\u4E2D...",finishGeneratingItems:"\u5DF2\u751F\u6210 {n} \u500B\u9805\u76EE."},settings:{title:"\u8A2D\u5B9A",languages:"\u8A9E\u8A00",login:{title:"\u767B\u5165",loggedIn:"\u76EE\u524D\u4EE5 {username} \u7684\u8EAB\u4EFD\u767B\u5165",arl:{question:"\u5982\u4F55\u53D6\u5F97\u81EA\u5DF1\u7684 ARL\uFF1F",update:"\u66F4\u65B0 ARL"},logout:"\u767B\u51FA",login:"\u900F\u904E deezer.com \u767B\u5165"},appearance:{title:"\u5916\u89C0",slimDownloadTab:"\u8584\u578B\u4E0B\u8F09\u5206\u9801",slimSidebar:"\u8584\u578B\u6E2C\u6B04"},downloadPath:{title:"\u4E0B\u8F09\u76EE\u9304"},templates:{title:"\u6A94\u6848\u540D\u7A31\u683C\u5F0F",tracknameTemplate:"\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",albumTracknameTemplate:"\u5C08\u8F2F\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",playlistTracknameTemplate:"\u64AD\u653E\u6E05\u55AE\u55AE\u66F2\u540D\u7A31\u683C\u5F0F"},folders:{title:"\u8CC7\u6599\u593E",createPlaylistFolder:"\u66FF\u64AD\u653E\u6E05\u55AE\u5EFA\u7ACB\u8CC7\u6599\u593E",playlistNameTemplate:"\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createArtistFolder:"\u66FF\u85DD\u4EBA\u5EFA\u7ACB\u8CC7\u6599\u593E",artistNameTemplate:"\u85DD\u4EBA\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createAlbumFolder:"\u66FF\u5C08\u8F2F\u5EFA\u7ACB\u8CC7\u6599\u593E",albumNameTemplate:"\u5C08\u8F2F\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createCDFolder:"\u66FF CD \u5EFA\u7ACB\u8CC7\u6599\u593E",createStructurePlaylist:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u7D50\u69CB",createSingleFolder:"\u5EFA\u7ACB\u55AE\u66F2\u8CC7\u6599\u593E\u7D50\u69CB"},trackTitles:{title:"\u55AE\u66F2\u540D\u7A31",padTracks:"\u6B4C\u66F2\u6578\u76EE\u5B57\u4E32\u586B\u5145",paddingSize:"\u8986\u84CB\u6578\u76EE\u5B57\u4E32\u586B\u5145\u9577\u5EA6",illegalCharacterReplacer:"\u66FF\u63DB\u975E\u6CD5\u5B57\u5143"},downloads:{title:"\u4E0B\u8F09",queueConcurrency:"\u4E26\u884C\u4E0B\u8F09",maxBitrate:{title:"\u504F\u597D\u4F4D\u5143\u7387",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u662F\u5426\u8981\u8986\u84CB\u6A94\u6848\uFF1F",y:"\u662F\uFF0C\u8986\u84CB\u6A94\u6848",n:"\u5426\uFF0C\u8ACB\u52FF\u8986\u84CB\u6A94\u6848",t:"\u50C5\u8986\u84CB\u6A19\u7C64",b:"\u5426\uFF0C\u4FDD\u7559\u5169\u500B\u6A94\u6848\u4E26\u5728\u91CD\u8907\u7684\u6A94\u540D\u4E2D\u52A0\u5165\u4E00\u500B\u6578\u5B57",e:"\u5426\uFF0C\u4E0D\u9867\u616E\u9644\u6A94\u540D"},fallbackBitrate:"\u7576\u504F\u597D\u4F4D\u5143\u7387\u7121\u6CD5\u4E0B\u8F09\u6642\uFF0C\u4E0B\u8F09\u5176\u4ED6\u7248\u672C",fallbackSearch:"\u7576\u641C\u5C0B\u7D50\u679C\u7121\u6CD5\u4F7F\u7528\u6642\uFF0C\u4F7F\u7528\u5176\u4ED6\u641C\u5C0B\u7D50\u679C",logErrors:"\u8A18\u9304\u932F\u8AA4\u81F3\u65E5\u8A8C",logSearched:"\u8A18\u9304\u641C\u5C0B\u6B4C\u66F2\u81F3\u65E5\u8A8C",createM3U8File:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u6A94\u6848",syncedLyrics:"\u5EFA\u7ACB .lyr \u6A94\u6848\uFF08\u540C\u6B65\u6B4C\u8A5E\uFF09",playlistFilenameTemplate:"\u64AD\u653E\u6E05\u55AE\u6A94\u540D\u683C\u5F0F",saveDownloadQueue:"\u95DC\u9589\u61C9\u7528\u7A0B\u5F0F\u6642\uFF0C\u4FDD\u5B58\u4E0B\u8F09\u6E05\u55AE"},covers:{title:"\u5C08\u8F2F\u5C01\u9762",saveArtwork:"\u4FDD\u5B58\u5C01\u9762",coverImageTemplate:"\u5C01\u9762\u6A94\u540D\u683C\u5F0F",saveArtworkArtist:"\u4FDD\u5B58\u85DD\u4EBA\u7167\u7247",artistImageTemplate:"\u85DD\u4EBA\u7167\u7247\u6A94\u540D\u683C\u5F0F",localArtworkSize:"\u672C\u5730\u5716\u7247\u5927\u5C0F",embeddedArtworkSize:"\u5D4C\u5165\u5716\u7247\u5927\u5C0F",localArtworkFormat:{title:"\u60A8\u5E0C\u671B\u672C\u5730\u5716\u7247\u63A1\u7528\u54EA\u7A2E\u683C\u5F0F\uFF1F",jpg:"JPEG",png:"PNG",both:"JPEG \u53CA PNG"},jpegImageQuality:"JPEG \u5F71\u50CF\u54C1\u8CEA",embeddedArtworkPNG:"\u5C07\u5D4C\u5165\u5F0F\u5716\u7247\u5B58\u70BA PNG",embeddedPNGWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u652F\u63F4 PNG\uFF0C\u7D50\u679C\u53EF\u80FD\u6709\u8AA4",imageSizeWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u4F7F\u7528\u9AD8\u65BC x1200 \u7684\u5716\u7247\uFF0C\u60A8\u53EF\u80FD\u6703\u9047\u5230\u554F\u984C",coverDescriptionUTF8:"\u4F7F\u7528 UTF8 \u4FDD\u5B58\u5C01\u9762\u6558\u8FF0\uFF08\u4FEE\u6B63 iTunes \u5C08\u8F2F\u5C01\u9762)"},tags:{head:"\u8981\u4FDD\u5B58\u54EA\u4E9B\u6A19\u7C64",title:"\u6A19\u984C",artist:"\u85DD\u4EBA",album:"\u5C08\u8F2F",cover:"\u5C08\u8F2F\u5C01\u9762",trackNumber:"\u55AE\u66F2\u7DE8\u865F",trackTotal:"\u7E3D\u8A08\u6B4C\u66F2",discNumber:"\u5149\u789F\u7DE8\u865F",discTotal:"\u5149\u789F\u7E3D\u6578",albumArtist:"\u5C08\u8F2F\u85DD\u4EBA",genre:"\u985E\u578B",year:"\u5E74",date:"\u65E5\u671F",explicit:"\u4E0D\u826F\u6B4C\u8A5E",isrc:"ISRC",length:"\u55AE\u66F2\u9577\u5EA6",barcode:"\u5C08\u8F2F\u689D\u78BC\uFF08UPC\uFF09",bpm:"BPM",replayGain:"\u91CD\u64AD\u589E\u76CA\uFF08Replay Gain\uFF09",label:"\u5C08\u8F2F\u6A19\u7C64",lyrics:"\u4E0D\u540C\u6B65\u7684\u6B4C\u8A5E",syncedLyrics:"\u540C\u6B65\u6B4C\u8A5E",copyright:"\u7248\u6B0A",composer:"\u4F5C\u66F2\u5BB6",involvedPeople:"\u76F8\u95DC\u85DD\u4EBA",source:"\u4F86\u6E90\u6B4C\u66F2 ID"},other:{title:"\u5176\u4ED6",savePlaylistAsCompilation:"\u5C07\u64AD\u653E\u6E05\u55AE\u5132\u5B58\u70BA\u5408\u8F2F",useNullSeparator:"\u4F7F\u7528\u7A7A\u5206\u9694\u7B26",saveID3v1:"\u4FDD\u5B58 ID3v1 \u6A19\u7C64",multiArtistSeparator:{title:"\u5982\u4F55\u9694\u958B\u4F5C\u8005\u540D\u7A31\uFF1F",nothing:"\u50C5\u4FDD\u7559\u4E3B\u4F5C\u8005",default:"\u4F7F\u7528\u6A19\u6E96\u898F\u683C",andFeat:"\u4F7F\u7528 & \u53CA feat.",using:'\u4F7F\u7528 "{separator}"'},singleAlbumArtist:"\u50C5\u5132\u5B58\u5C08\u8F2F\u4E3B\u4F5C\u8005\u540D\u7A31",albumVariousArtists:"\u65BC\u5C08\u8F2F\u4F5C\u8005\u6B04\u4F4D\u4E2D\u4FDD\u7559\u300C\u591A\u4F4D\u85DD\u4EBA (Various Artists)\u300D\u5B57\u6A23",removeAlbumVersion:"\u65BC\u55AE\u66F2\u540D\u7A31\u4E2D\u79FB\u9664\u300C\u5C08\u8F2F\u7248\u672C (Album Version)\u300D\u5B57\u6A23",removeDuplicateArtists:"\u79FB\u9664\u91CD\u8907\u7684\u4F5C\u8005\u540D\u7A31",dateFormat:{title:"FLAC \u6A94\u6848\u65E5\u671F\u683C\u5F0F",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u5982\u4F55\u8655\u7406\u5BA2\u4E32\u85DD\u4EBA\u540D\u7A31 (\u5982 feat. \u7B49\u5B57\u6A23) \uFF1F",0:"\u4EC0\u9EBC\u90FD\u4E0D\u505A",1:"\u5F9E\u6A19\u984C\u4E2D\u522A\u9664",3:"\u5F9E\u6A19\u984C\u548C\u5C08\u8F2F\u6A19\u984C\u4E2D\u522A\u9664",2:"\u5C07\u5176\u79FB\u81F3\u6A19\u984C"},titleCasing:"\u6B4C\u66F2\u540D\u7A31\u5927\u5C0F\u5BEB",artistCasing:"\u85DD\u4EBA\u540D\u7A31\u5927\u5C0F\u5BEB",casing:{nothing:"\u4FDD\u6301\u4E0D\u8B8A",lower:"\u5C0F\u5BEB",upper:"\u5927\u5BEB",start:"\u5B57\u8A5E\u958B\u982D\u5927\u5BEB",sentence:"\u53E5\u5B50\u5927\u5BEB"},previewVolume:"\u9810\u89BD\u97F3\u91CF",executeCommand:{title:"\u4E0B\u8F09\u5F8C\u57F7\u884C\u6307\u4EE4",description:"\u7559\u7A7A\u5247\u4E0D\u57F7\u884C"}},spotify:{title:"Spotify \u529F\u80FD",clientID:"Spotify \u5BA2\u6236\u7AEF ID",clientSecret:"Spotify \u5BA2\u6236\u7AEF\u5BC6\u78BC",username:"Spotify \u7528\u6236\u540D",question:"\u5982\u4F55\u555F\u7528 Spotify \u529F\u80FD\uFF1F"},reset:"\u91CD\u8A2D\u81F3\u9810\u8A2D",resetMessage:"\u4F60\u78BA\u5B9A\u8981\u91CD\u8A2D\u6240\u6709\u8A2D\u5B9A\u55CE\uFF1F",save:"\u5132\u5B58",toasts:{init:"\u5DF2\u8F09\u5165\u8A2D\u5B9A\uFF01",update:"\u5DF2\u66F4\u65B0\u8A2D\u5B9A\uFF01",reset:"\u5DF2\u91CD\u8A2D\u8A2D\u5B9A\uFF01",ARLcopied:"\u5DF2\u8907\u88FD ARL \u5230\u526A\u8CBC\u7C3F\u4E2D"}},sidebar:{home:"\u9996\u9801",search:"\u641C\u5C0B",charts:"\u6392\u884C\u699C",favorites:"\u6536\u85CF",linkAnalyzer:"\u9023\u7D50\u5206\u6790",settings:"\u8A2D\u5B9A",about:"\u95DC\u65BC"},tracklist:{downloadSelection:"\u4E0B\u8F09\u6240\u9078"}},pl={globals:{welcome:"Witaj w deemix",back:"wr\xF3\u0107",loading:"\u0142adowanie",download:"Pobierz {thing}",by:"od {artist}",in:"w {album}",download_hint:"Pobierz",play_hint:"Odtw\xF3rz",toggle_download_tab_hint:"Rozszerz/Zwi\u0144",clean_queue_hint:"Wyczy\u015B\u0107 uko\u0144czone",cancel_queue_hint:"Anuluj wszystkie",open_downloads_folder:"Otw\xF3rz pobrane",cut:"wytnij",copy:"kopiuj",copyLink:"kopiuj link",copyImageLink:"kopiuj link obrazu",copyDeezerLink:"kopiuj link deezera",paste:"wklej",listTabs:{empty:"",all:"wszystkie",top_result:"najlepszy wynik",album:"album | albumy",artist:"artysta | arty\u015Bci",single:"singiel | single",title:"tytu\u0142 | tytu\u0142y",track:"utw\xF3r | utwory",trackN:"0 utwor\xF3w | {n} utw\xF3r | {n} utwor\xF3w",releaseN:"0 wyda\u0144 | {n} wydanie | {n} wyda\u0144",playlist:"playlista | playlisty",compile:"kompilacja | kompilacje",ep:"ep | ep",bundle:"zestaw | zestawy",more:"Wi\u0119cej album\xF3w",featured:"Wyst\u0119puje w",spotifyPlaylist:"playlista spotify | playlisty spotify",releaseDate:"data wydania",error:"b\u0142\u0105d"}},about:{updates:{currentVersion:"Obecna wersja",versionNotAvailable:"N/A",updateAvailable:"Nie masz najnowszej dost\u0119pnej wersji: {version}",deemixVersion:"Wersja biblioteki deemix"},titles:{usefulLinks:"Przydatne linki",bugReports:"Zg\u0142oszenia b\u0142\u0119d\xF3w",contributing:"Wk\u0142ad",donations:"Dotacje",license:"Licencja"},subtitles:{bugReports:"Czy deemix dzia\u0142a inaczej ni\u017C powinien? Powiedz nam!",contributing:"Chcesz pom\xF3c w tym projekcie? Mo\u017Cesz to zrobi\u0107 na wiele sposob\xF3w!",donations:"Chcesz pom\xF3c finansowo? Mo\u017Cesz nas wesprze\u0107!"},usesLibrary:"Ten program u\u017Cywa biblioteki deemix, kt\xF3rej mo\u017Cesz u\u017Cy\u0107 do stworzenia w\u0142asnego interfejsu u\u017Cytkownika",thanks:"Podzi\u0119kowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.",upToDate:{text:"B\u0105d\u017A na bie\u017C\u0105co z aktualizacjami do\u0142\u0105czaj\u0105c do {newsChannel} na Telegramie.",newsChannel:"kana\u0142u wiadomo\u015Bci"},officialWebsite:"Oficjalna strona",officialRepo:"Oficjalne repozytorium biblioteki",officialWebuiRepo:"Oficjalne repozytorium WebUI",officialSubreddit:"Oficjalny subreddit",newsChannel:"Kana\u0142 wiadomo\u015Bci",questions:{text:"Je\u017Celi masz pytania lub problemy zwi\u0105zane z aplikacj\u0105, szukaj odpowiedzi na {subreddit}. Je\u017Celi niczego nie znajdziesz, stw\xF3rz post na subreddicie.",subreddit:"subreddicie"},beforeReporting:"Przed zg\u0142aszaniem b\u0142\u0119du upewnij si\u0119, \u017Ce masz najnowsz\u0105 wersje aplikacji i to, co chcesz zg\u0142osi\u0107 jest b\u0142\u0119dem, a nie usterk\u0105 z twojej strony.",beSure:"Upewnij si\u0119, \u017Ce b\u0142\u0105d mo\u017Cna odtworzy\u0107 na innych urz\u0105dzeniach i NIE ZG\u0141ASZAJ b\u0142\u0119d\xF3w, kt\xF3re zosta\u0142y ju\u017C zg\u0142oszone",duplicateReports:"Identyczne zg\u0142oszenia b\u0142\u0119d\xF3w b\u0119d\u0105 zamykane, wi\u0119c zwr\xF3\u0107 na to uwag\u0119.",dontOpenIssues:"NIE OTWIERAJ zg\u0142osze\u0144 do zadawania pyta\u0144, od tego jest subreddit.",newUI:{text:"Je\u017Celi dobrze znasz Pythona, mo\u017Cesz spr\xF3bowa\u0107 stworzy\u0107 nowy interfejs dla aplikacji u\u017Cywaj\u0105c bazowej biblioteki lub naprawia\u0107 b\u0142\u0119dy w bibliotece tworz\u0105c pull request w {repo}.",repo:"repozytorium"},acceptFeatures:"Przyjmuj\u0119 nowe funkcje, ale nic z\u0142o\u017Conego, co mog\u0142oby by\u0107 zaimplementowane w aplikacji, a nie w bibliotece.",otherLanguages:"Je\u017Celi dobrze znasz inny j\u0119zyk programowania, mo\u017Cesz spr\xF3bowa\u0107 przeportowa\u0107 deemix do innych j\u0119zyk\xF3w!",understandingCode:"Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.",contributeWebUI:{text:"Je\u017Celi znasz Vue.js (JavaScript), HTML lub CSS, mo\u017Cesz pom\xF3c w {webui}.",webui:"WebUI"},itsFree:"Pami\u0119taj, \u017Ce ten projekt jest darmowy i powiniene\u015B wspiera\u0107 artyst\xF3w przed tw\xF3rcami aplikacji.",notObligated:"Nie czuj potrzeby p\u0142acenia, i tak ci\u0119 doceniam!",lincensedUnder:{text:"Ten projekt jest chroniony licencj\u0105 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Wykresy",changeCountry:"Zmie\u0144 kraj",download:"Pobierz wykres"},errors:{title:"B\u0142\u0119dy dla {name}",ids:{invalidURL:"Nierozpoznany URL",unsupportedURL:"Niewspierany URL",ISRCnotOnDeezer:"ISRC nie jest dost\u0119pne na Deezerze",notYourPrivatePlaylist:"Nie mo\u017Cesz pobiera\u0107 czyich\u015B prywatnych playlist.",spotifyDisabled:"Funkcje Spotify nie s\u0105 poprawnie ustawione",trackNotOnDeezer:"Nie znaleziono utworu na Deezerze!",albumNotOnDeezer:"Nie znaleziono albumu na Deezerze!",notOnDeezer:"Utw\xF3r nie jest dost\u0119pny na Deezerze!",notEncoded:"Utw\xF3r nie jest jeszcze zakodowany!",notEncodedNoAlternative:"Utw\xF3r nie jest jeszcze zakodowany i nie mo\u017Cna znale\u017A\u0107 alternatywy!",wrongBitrate:"Nie znaleziono utworu w wybranym bitrate.",wrongBitrateNoAlternative:"Nie znaleziono utworu w wybranym bitrate i nie mozna znale\u017A\u0107 alternatywy!",no360RA:"Utw\xF3r nie jest dost\u0119pny w Reality Audio 360.",notAvailable:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera!",notAvailableNoAlternative:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera i nie mo\u017Cna znale\u017A\u0107 alternatywy!"}},favorites:{title:"Ulubione",noPlaylists:"Nie znaleziono playlist",noAlbums:"Nie znaleziono ulubionych album\xF3w",noArtists:"Nie znaleziono ulubionych artyst\xF3w",noTracks:"Nie znaleziono ulubonych utwor\xF3w"},home:{needTologin:"Musisz si\u0119 zalogwa\u0107 do konta na Deezerze zanim zaczniesz pobiera\u0107.",openSettings:"Otw\xF3rz ustawienia",sections:{popularPlaylists:"Popularne playlisty",popularAlbums:"Najpopularniejsze albumy"}},linkAnalyzer:{info:"Mo\u017Cesz u\u017Cy\u0107 tej sekcji, aby znale\u017A\u0107 wi\u0119cej informacji o linku, kt\xF3ry chcesz pobra\u0107.",useful:"Jest to przydatne na przyk\u0142ad gdy chcesz pobra\u0107 jakie\u015B utwory, kt\xF3re nie s\u0105 dost\u0119pne w twoim kraju i chcesz wiedzie\u0107 gdzie s\u0105 dost\u0119pne.",linkNotSupported:"Ten link nie jest jeszcze wspierany",linkNotSupportedYet:"Wygl\u0105da na to, \u017Ce ten link nie jest jeszcze wspierany. Spr\xF3buj przeanalizowa\u0107 inny.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Czas",diskNumber:"Numer p\u0142yty",trackNumber:"Numer utworu",releaseDate:"Data wydania",bpm:"BPM",label:"Wytw\xF3rnia",recordType:"Rodzaj wydania",genres:"Gatunki",tracklist:"Lista utwor\xF3w"}},search:{startSearching:"Zacznij szuka\u0107!",description:"Mo\u017Cesz wyszuka\u0107 utw\xF3r, album, artyst\u0119, playlist\u0119... wszystko! Mo\u017Cesz te\u017C wklei\u0107 link do Deezera",fans:"{n} fan\xF3w",noResults:"Brak wynik\xF3w",noResultsTrack:"Nie znaleziono utwor\xF3w",noResultsAlbum:"Nie znaleziono album\xF3w",noResultsArtist:"Nie znaleziono artyst\xF3w",noResultsPlaylist:"Nie znaleziono playlist"},searchbar:"Szukaj czego chcesz (lub wklej link)",downloads:"pobrane",toasts:{restoringQueue:"Przywracanie kolejki pobierania...",queueRestored:"Przywr\xF3cono kolejk\u0119 pobierania!",addedToQueue:"Dodano {item} do kolejki",addedMoreToQueue:"Dodano {n} przedmiot\xF3w do kolejki",alreadyInQueue:"{item} jest ju\u017C w kolejce!",finishDownload:"Uko\u0144czono pobieranie {item}.",allDownloaded:"Pobrano wszystkie!",refreshFavs:"Uko\u0144czono od\u015Bwie\u017Canie!",loggingIn:"Logowanie...",loggedIn:"Zalogowano",alreadyLogged:"Ju\u017C zalogowano",loginFailed:"Nie mo\u017Cna zalogowa\u0107",loggedOut:"Wylogowano",cancellingCurrentItem:"Anulowanie przedmiotu.",currentItemCancelled:"Anulowano przedmiot.",startAddingArtist:"Dodawanie {artist} album\xF3w do kolejki",finishAddingArtist:"Dodano {artist} album\xF3w do kolejki",startConvertingSpotifyPlaylist:"Konwertowanie utwor\xF3w Spotify na Deezer",finishConvertingSpotifyPlaylist:"Przekonwertowano playlist\u0119 Spotify",loginNeededToDownload:"Musisz si\u0119 zalogowa\u0107, aby pobiera\u0107 utwory!"},settings:{title:"Ustawienia",languages:"J\u0119zyki",login:{title:"Logowanie",loggedIn:"Zalogowano jako {username}",arl:{question:"Jak zdoby\u0107 sw\xF3j w\u0142asny ARL?",update:"Zakualizuj ARL"},logout:"Wyloguj",login:"Zaloguj przez deezer.com"},appearance:{title:"Wygl\u0105d",slimDownloadTab:"Cienka karta pobranych"},downloadPath:{title:"\u015Acie\u017Cka pobierania"},templates:{title:"Szablony",tracknameTemplate:"Szablon utworu",albumTracknameTemplate:"Szablon utworu z albumu",playlistTracknameTemplate:"Szablon utworu z playlisy"},folders:{title:"Foldery",createPlaylistFolder:"Utw\xF3rz foldery dla playlist",playlistNameTemplate:"Szablon folderu playlisty",createArtistFolder:"Utw\xF3rz foldery dla artyst\xF3w",artistNameTemplate:"Szablon folderu artysty",createAlbumFolder:"Utw\xF3rz foldery dla album\xF3w",albumNameTemplate:"Szablon folderu albumu",createCDFolder:"Utw\xF3rz foldery dla p\u0142yt",createStructurePlaylist:"Utw\xF3rz struktur\u0119 folder\xF3w dla playlist",createSingleFolder:"Utw\xF3rz struktur\u0119 folder\xF3w dla singli"},trackTitles:{title:"Tytu\u0142y utworow",padTracks:"Wypchaj utwory",paddingSize:"Rozmiar wypchania",illegalCharacterReplacer:"Zamiennik niedozwolonych znak\xF3w"},downloads:{title:"Pobrane",queueConcurrency:"R\xF3wnoleg\u0142e pobieranie",maxBitrate:{title:"Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Nadpisywa\u0107 pliki?",y:"Tak",n:"Nie",t:"Tylko tagi",b:"Nie, dodaj numer do drugiego pliku",e:"Nie, nie patrz na rozszerzenia"},fallbackBitrate:"Rezerwowy bitrate",fallbackSearch:"Rezerwowe wyszukiwanie",logErrors:"Utw\xF3rz plik dziennika b\u0142\u0119d\xF3w",logSearched:"Utw\xF3rz plik dziennika wyszukiwanych utwor\xF3w",createM3U8File:"Utw\xF3rz plik playlisty",syncedLyrics:"Utw\xF3rz plik .lyr (synchronizowany tekst)",playlistFilenameTemplate:"Szablon pliku playlisty",saveDownloadQueue:"Zapisz kolejk\u0119 pobierania przy zamykaniu aplikacji"},covers:{title:"Ok\u0142adki album\xF3w",saveArtwork:"Zapisz ok\u0142adki",coverImageTemplate:"Szablon nazwy ok\u0142adki",saveArtworkArtist:"Zapisz zdj\u0119cie artysty",artistImageTemplate:"Szablon zdj\u0119cia artysty",localArtworkSize:"Rozmiar lokalnej ok\u0142adki",embeddedArtworkSize:"Rozmiar osadzonej ok\u0142adki",localArtworkFormat:{title:"W jakim formacie ma zosta\u0107 zapisana ok\u0142adka?",jpg:"Plik JPEG",png:"Plik PNG",both:"Pliki JPEG i PNG"},jpegImageQuality:"Jako\u015B\u0107 JPEG",embeddedArtworkPNG:"Zapisz osadzon\u0105 ok\u0142adk\u0119 jako PNG",embeddedPNGWarning:"PNG nie jest oficjalnie wspierane przez Deezer i mo\u017Ce powodowa\u0107 b\u0142\u0119dy",imageSizeWarning:"Wszystko powy\u017Cej x1200 nie jest oficjalnie u\u017Cywane przez Deezera, wi\u0119c mog\u0105 wyst\u0105pi\u0107 problemy."},tags:{head:"Kt\xF3re tagi zapisa\u0107",title:"Tytu\u0142",artist:"Artysta",album:"Album",cover:"Ok\u0142adka",trackNumber:"Numer utworu",trackTotal:"Liczba utwor\xF3w",discNumber:"Numer p\u0142yty",discTotal:"Liczba p\u0142yt",albumArtist:"Album Artist",genre:"Gatunek",year:"Rok",date:"Data",explicit:"Wulgarny tekst",isrc:"ISRC",length:"D\u0142ugo\u015B\u0107",barcode:"Kod kreskowy albumu (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Wytw\xF3rnia",lyrics:"Niezsynchronizowany tekst",syncedLyrics:"Zsynchronizowany tekst",copyright:"Prawa autorskie",composer:"Kompozytor",involvedPeople:"Zaanga\u017Cowane osoby"},other:{title:"Inne",savePlaylistAsCompilation:"Zapisz playlisty jako kompilacje",useNullSeparator:"U\u017Cyj separatora null",saveID3v1:"Zapisz ID3v1",multiArtistSeparator:{title:"Jak oddzieli\u0107 artyst\xF3w?",nothing:"Zapisz tylko g\u0142\xF3wnego artyst\u0119",default:"Standardowa specyfikacja",andFeat:"& i feat.",using:'U\u017Cywa "{separator}"'},singleAlbumArtist:"Zapisz tylko g\u0142\xF3wnego autora albumu",albumVariousArtists:'Zostaw "Various Artists" w autorach albumu',removeAlbumVersion:'Usu\u0144 "Album Version" z tytu\u0142u utworu',removeDuplicateArtists:"Usu\u0144 kombinacje artyst\xF3w",dateFormat:{title:"Format daty dla plik\xF3w FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Co zrobi\u0107 z dodatkowymi artystami?",0:"Nic",1:"Usu\u0144 z tytu\u0142u",3:"Usu\u0144 z tytu\u0142u i tytu\u0142u albumu",2:"Przenie\u015B do tytu\u0142u"},titleCasing:"Rozmiar liter tytu\u0142u",artistCasing:"Rozmiar liter artysty",casing:{nothing:"Zostaw",lower:"ma\u0142e litery",upper:"DU\u017BE LITERY",start:"Na Pocz\u0105tku Ka\u017Cdego S\u0142owa",sentence:"Jak w zdaniu"},previewVolume:"G\u0142o\u015Bno\u015B\u0107 podgl\u0105du",executeCommand:{title:"Polecenie do wykonania po pobraniu",description:"Zostaw puste, aby nic nie robi\u0107"}},spotify:{title:"Funkcje Spotify",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Nazwa u\u017Cytkownika",question:"Jak w\u0142\u0105czy\u0107 funkcje Spotify?"},reset:"Przywr\xF3\u0107 domy\u015Blne",save:"Zapisz",toasts:{init:"Za\u0142adowano ustawienia!",update:"Zaktualizowano ustawienia!",ARLcopied:"Skopiowano ARL do schowka"}},sidebar:{home:"strona g\u0142\xF3wna",search:"szukaj",charts:"wykresy",favorites:"ulubione",linkAnalyzer:"analiza link\xF3w",settings:"ustawienia",about:"informacje"},tracklist:{downloadSelection:"Pobierz wybrane"}},locales={it,en,es,de,fr,id,pt,pt_br,ru,tr,vn,hr,ar,ko,ph,zh_tw,pl};Vue.use(VueI18n);const storedLocale=localStorage.getItem("locale"),DEFAULT_LANG=storedLocale||"en";document.querySelector("html").setAttribute("lang",DEFAULT_LANG);const i18n=new VueI18n({locale:DEFAULT_LANG,fallbackLocale:"en",messages:locales,pluralizationRules:{ru:function(e,n){var a=Math.abs(e)%100,i=a%10;return a>10&&a<20?2:i>1&&i<5?1:i==1?0:2}}});/*! + */var numberFormatKeys=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function warn$3(e,a){typeof console!="undefined"&&(console.warn("[vue-i18n] "+e),a&&console.warn(a.stack))}function error(e,a){typeof console!="undefined"&&(console.error("[vue-i18n] "+e),a&&console.error(a.stack))}var isArray$1=Array.isArray;function isObject$3(e){return e!==null&&typeof e=="object"}function isBoolean(e){return typeof e=="boolean"}function isString(e){return typeof e=="string"}var toString$2=Object.prototype.toString,OBJECT_STRING="[object Object]";function isPlainObject$2(e){return toString$2.call(e)===OBJECT_STRING}function isNull(e){return e==null}function isFunction$1(e){return typeof e=="function"}function parseArgs(){for(var e=[],a=arguments.length;a--;)e[a]=arguments[a];var n=null,i=null;return e.length===1?isObject$3(e[0])||isArray$1(e[0])?i=e[0]:typeof e[0]=="string"&&(n=e[0]):e.length===2&&(typeof e[0]=="string"&&(n=e[0]),(isObject$3(e[1])||isArray$1(e[1]))&&(i=e[1])),{locale:n,params:i}}function looseClone(e){return JSON.parse(JSON.stringify(e))}function remove$3(e,a){if(e.length){var n=e.indexOf(a);if(n>-1)return e.splice(n,1)}}function includes(e,a){return!!~e.indexOf(a)}var hasOwnProperty$1=Object.prototype.hasOwnProperty;function hasOwn$2(e,a){return hasOwnProperty$1.call(e,a)}function merge(e){for(var a=arguments,n=Object(e),i=1;i/g,">").replace(/"/g,""").replace(/'/g,"'")}function escapeParams(e){return e!=null&&Object.keys(e).forEach(function(a){typeof e[a]=="string"&&(e[a]=escapeHtml(e[a]))}),e}function extend$1(e){e.prototype.hasOwnProperty("$i18n")||Object.defineProperty(e.prototype,"$i18n",{get:function(){return this._i18n}}),e.prototype.$t=function(a){for(var n=[],i=arguments.length-1;i-- >0;)n[i]=arguments[i+1];var r=this.$i18n;return r._t.apply(r,[a,r.locale,r._getMessages(),this].concat(n))},e.prototype.$tc=function(a,n){for(var i=[],r=arguments.length-2;r-- >0;)i[r]=arguments[r+2];var s=this.$i18n;return s._tc.apply(s,[a,s.locale,s._getMessages(),this,n].concat(i))},e.prototype.$te=function(a,n){var i=this.$i18n;return i._te(a,i.locale,i._getMessages(),n)},e.prototype.$d=function(a){for(var n,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(n=this.$i18n).d.apply(n,[a].concat(i))},e.prototype.$n=function(a){for(var n,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(n=this.$i18n).n.apply(n,[a].concat(i))}}var mixin$1={beforeCreate:function(){var a=this.$options;if(a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n){if(a.i18n instanceof VueI18n){if(a.__i18n)try{var n=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(l){n=merge(n,JSON.parse(l))}),Object.keys(n).forEach(function(l){a.i18n.mergeLocaleMessage(l,n[l])})}catch(l){}this._i18n=a.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(isPlainObject$2(a.i18n)){var i=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this.$root.$i18n:null;if(i&&(a.i18n.root=this.$root,a.i18n.formatter=i.formatter,a.i18n.fallbackLocale=i.fallbackLocale,a.i18n.formatFallbackMessages=i.formatFallbackMessages,a.i18n.silentTranslationWarn=i.silentTranslationWarn,a.i18n.silentFallbackWarn=i.silentFallbackWarn,a.i18n.pluralizationRules=i.pluralizationRules,a.i18n.preserveDirectiveContent=i.preserveDirectiveContent),a.__i18n)try{var r=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(l){r=merge(r,JSON.parse(l))}),a.i18n.messages=r}catch(l){}var s=a.i18n,o=s.sharedMessages;o&&isPlainObject$2(o)&&(a.i18n.messages=merge(a.i18n.messages,o)),this._i18n=new VueI18n(a.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(a.i18n.sync===void 0||!!a.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),i&&i.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this._i18n=this.$root.$i18n:a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n=a.parent.$i18n)},beforeMount:function(){var a=this.$options;a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n?a.i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):isPlainObject$2(a.i18n)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){if(!!this._i18n){var a=this;this.$nextTick(function(){a._subscribing&&(a._i18n.unsubscribeDataChanging(a),delete a._subscribing),a._i18nWatcher&&(a._i18nWatcher(),a._i18n.destroyVM(),delete a._i18nWatcher),a._localeWatcher&&(a._localeWatcher(),delete a._localeWatcher)})}}},interpolationComponent={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(a,n){var i=n.data,r=n.parent,s=n.props,o=n.slots,l=r.$i18n;if(!!l){var c=s.path,u=s.locale,d=s.places,f=o(),h=l.i(c,u,onlyHasDefaultPlace(f)||d?useLegacyPlaces(f.default,d):f),m=!!s.tag&&s.tag!==!0||s.tag===!1?s.tag:"span";return m?a(m,i,h):h}}};function onlyHasDefaultPlace(e){var a;for(a in e)if(a!=="default")return!1;return Boolean(a)}function useLegacyPlaces(e,a){var n=a?createParamsFromPlaces(a):{};if(!e)return n;e=e.filter(function(r){return r.tag||r.text.trim()!==""});var i=e.every(vnodeHasPlaceAttribute);return e.reduce(i?assignChildPlace:assignChildIndex,n)}function createParamsFromPlaces(e){return Array.isArray(e)?e.reduce(assignChildIndex,{}):Object.assign({},e)}function assignChildPlace(e,a){return a.data&&a.data.attrs&&a.data.attrs.place&&(e[a.data.attrs.place]=a),e}function assignChildIndex(e,a,n){return e[n]=a,e}function vnodeHasPlaceAttribute(e){return Boolean(e.data&&e.data.attrs&&e.data.attrs.place)}var numberComponent={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(a,n){var i=n.props,r=n.parent,s=n.data,o=r.$i18n;if(!o)return null;var l=null,c=null;isString(i.format)?l=i.format:isObject$3(i.format)&&(i.format.key&&(l=i.format.key),c=Object.keys(i.format).reduce(function(m,v){var y;return includes(numberFormatKeys,v)?Object.assign({},m,(y={},y[v]=i.format[v],y)):m},null));var u=i.locale||o.locale,d=o._ntp(i.value,u,l,c),f=d.map(function(m,v){var y,_=s.scopedSlots&&s.scopedSlots[m.type];return _?_((y={},y[m.type]=m.value,y.index=v,y.parts=d,y)):m.value}),h=!!i.tag&&i.tag!==!0||i.tag===!1?i.tag:"span";return h?a(h,{attrs:s.attrs,class:s.class,staticClass:s.staticClass},f):f}};function bind$2(e,a,n){!assert$1(e,n)||t(e,a,n)}function update$1(e,a,n,i){if(!!assert$1(e,n)){var r=n.context.$i18n;localeEqual(e,n)&&looseEqual$1(a.value,a.oldValue)&&looseEqual$1(e._localeMessage,r.getLocaleMessage(r.locale))||t(e,a,n)}}function unbind(e,a,n,i){var r=n.context;if(!r){warn$3("Vue instance does not exists in VNode context");return}var s=n.context.$i18n||{};!a.modifiers.preserve&&!s.preserveDirectiveContent&&(e.textContent=""),e._vt=void 0,delete e._vt,e._locale=void 0,delete e._locale,e._localeMessage=void 0,delete e._localeMessage}function assert$1(e,a){var n=a.context;return n?n.$i18n?!0:(warn$3("VueI18n instance does not exists in Vue instance"),!1):(warn$3("Vue instance does not exists in VNode context"),!1)}function localeEqual(e,a){var n=a.context;return e._locale===n.$i18n.locale}function t(e,a,n){var i,r,s=a.value,o=parseValue(s),l=o.path,c=o.locale,u=o.args,d=o.choice;if(!l&&!c&&!u){warn$3("value type not supported");return}if(!l){warn$3("`path` is required in v-t directive");return}var f=n.context;d!=null?e._vt=e.textContent=(i=f.$i18n).tc.apply(i,[l,d].concat(makeParams(c,u))):e._vt=e.textContent=(r=f.$i18n).t.apply(r,[l].concat(makeParams(c,u))),e._locale=f.$i18n.locale,e._localeMessage=f.$i18n.getLocaleMessage(f.$i18n.locale)}function parseValue(e){var a,n,i,r;return isString(e)?a=e:isPlainObject$2(e)&&(a=e.path,n=e.locale,i=e.args,r=e.choice),{path:a,locale:n,args:i,choice:r}}function makeParams(e,a){var n=[];return e&&n.push(e),a&&(Array.isArray(a)||isPlainObject$2(a))&&n.push(a),n}var Vue$2;function install$2(e){install$2.installed=!0,Vue$2=e,Vue$2.version&&Number(Vue$2.version.split(".")[0]),extend$1(Vue$2),Vue$2.mixin(mixin$1),Vue$2.directive("t",{bind:bind$2,update:update$1,unbind}),Vue$2.component(interpolationComponent.name,interpolationComponent),Vue$2.component(numberComponent.name,numberComponent);var a=Vue$2.config.optionMergeStrategies;a.i18n=function(n,i){return i===void 0?n:i}}var BaseFormatter=function(){this._caches=Object.create(null)};BaseFormatter.prototype.interpolate=function(a,n){if(!n)return[a];var i=this._caches[a];return i||(i=parse$1(a),this._caches[a]=i),compile(i,n)};var RE_TOKEN_LIST_VALUE=/^(?:\d)+/,RE_TOKEN_NAMED_VALUE=/^(?:\w)+/;function parse$1(e){for(var a=[],n=0,i="";n0)r--,i=IN_SUB_PATH,h[APPEND]();else{if(r=0,o===void 0||(o=formatSubPath(o),o===!1))return!1;h[PUSH]()}};function m(){var v=e[n+1];if(i===IN_SINGLE_QUOTE&&v==="'"||i===IN_DOUBLE_QUOTE&&v==='"')return n++,l="\\"+v,h[APPEND](),!0}for(;i!==null;)if(n++,s=e[n],!(s==="\\"&&m())){if(c=getPathCharType(s),f=pathStateMachine[i],u=f[c]||f.else||ERROR,u===ERROR||(i=u[0],d=h[u[1]],d&&(l=u[2],l=l===void 0?s:l,d()===!1)))return;if(i===AFTER_PATH)return a}}var I18nPath=function(){this._cache=Object.create(null)};I18nPath.prototype.parsePath=function(a){var n=this._cache[a];return n||(n=parse$1$1(a),n&&(this._cache[a]=n)),n||[]},I18nPath.prototype.getPathValue=function(a,n){if(!isObject$3(a))return null;var i=this.parsePath(n);if(i.length===0)return null;for(var r=i.length,s=a,o=0;o/,linkKeyMatcher=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,linkKeyPrefixMatcher=/^@(?:\.([a-z]+))?:/,bracketsMatcher=/[()]/g,defaultModifiers={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()},capitalize:function(e){return""+e.charAt(0).toLocaleUpperCase()+e.substr(1)}},defaultFormatter=new BaseFormatter,VueI18n=function(a){var n=this;a===void 0&&(a={}),!Vue$2&&typeof window!="undefined"&&window.Vue&&install$2(window.Vue);var i=a.locale||"en-US",r=a.fallbackLocale===!1?!1:a.fallbackLocale||"en-US",s=a.messages||{},o=a.dateTimeFormats||{},l=a.numberFormats||{};this._vm=null,this._formatter=a.formatter||defaultFormatter,this._modifiers=a.modifiers||{},this._missing=a.missing||null,this._root=a.root||null,this._sync=a.sync===void 0?!0:!!a.sync,this._fallbackRoot=a.fallbackRoot===void 0?!0:!!a.fallbackRoot,this._formatFallbackMessages=a.formatFallbackMessages===void 0?!1:!!a.formatFallbackMessages,this._silentTranslationWarn=a.silentTranslationWarn===void 0?!1:a.silentTranslationWarn,this._silentFallbackWarn=a.silentFallbackWarn===void 0?!1:!!a.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new I18nPath,this._dataListeners=[],this._componentInstanceCreatedListener=a.componentInstanceCreatedListener||null,this._preserveDirectiveContent=a.preserveDirectiveContent===void 0?!1:!!a.preserveDirectiveContent,this.pluralizationRules=a.pluralizationRules||{},this._warnHtmlInMessage=a.warnHtmlInMessage||"off",this._postTranslation=a.postTranslation||null,this._escapeParameterHtml=a.escapeParameterHtml||!1,this.getChoiceIndex=function(c,u){var d=Object.getPrototypeOf(n);if(d&&d.getChoiceIndex){var f=d.getChoiceIndex;return f.call(n,c,u)}var h=function(m,v){return m=Math.abs(m),v===2?m?m>1?1:0:1:m?Math.min(m,2):0};return n.locale in n.pluralizationRules?n.pluralizationRules[n.locale].apply(n,[c,u]):h(c,u)},this._exist=function(c,u){return!c||!u?!1:!!(!isNull(n._path.getPathValue(c,u))||c[u])},(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&Object.keys(s).forEach(function(c){n._checkLocaleMessage(c,n._warnHtmlInMessage,s[c])}),this._initVM({locale:i,fallbackLocale:r,messages:s,dateTimeFormats:o,numberFormats:l})},prototypeAccessors$2={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0}};VueI18n.prototype._checkLocaleMessage=function(a,n,i){var r=[],s=function(o,l,c,u){if(isPlainObject$2(c))Object.keys(c).forEach(function(h){var m=c[h];isPlainObject$2(m)?(u.push(h),u.push("."),s(o,l,m,u),u.pop(),u.pop()):(u.push(h),s(o,l,m,u),u.pop())});else if(isArray$1(c))c.forEach(function(h,m){isPlainObject$2(h)?(u.push("["+m+"]"),u.push("."),s(o,l,h,u),u.pop(),u.pop()):(u.push("["+m+"]"),s(o,l,h,u),u.pop())});else if(isString(c)){var d=htmlTagMatcher.test(c);if(d){var f="Detected HTML in message '"+c+"' of keypath '"+u.join("")+"' at '"+l+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";o==="warn"?warn$3(f):o==="error"&&error(f)}}};s(n,a,i,r)},VueI18n.prototype._initVM=function(a){var n=Vue$2.config.silent;Vue$2.config.silent=!0,this._vm=new Vue$2({data:a}),Vue$2.config.silent=n},VueI18n.prototype.destroyVM=function(){this._vm.$destroy()},VueI18n.prototype.subscribeDataChanging=function(a){this._dataListeners.push(a)},VueI18n.prototype.unsubscribeDataChanging=function(a){remove$3(this._dataListeners,a)},VueI18n.prototype.watchI18nData=function(){var a=this;return this._vm.$watch("$data",function(){for(var n=a._dataListeners.length;n--;)Vue$2.nextTick(function(){a._dataListeners[n]&&a._dataListeners[n].$forceUpdate()})},{deep:!0})},VueI18n.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var a=this._vm;return this._root.$i18n.vm.$watch("locale",function(n){a.$set(a,"locale",n),a.$forceUpdate()},{immediate:!0})},VueI18n.prototype.onComponentInstanceCreated=function(a){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(a,this)},prototypeAccessors$2.vm.get=function(){return this._vm},prototypeAccessors$2.messages.get=function(){return looseClone(this._getMessages())},prototypeAccessors$2.dateTimeFormats.get=function(){return looseClone(this._getDateTimeFormats())},prototypeAccessors$2.numberFormats.get=function(){return looseClone(this._getNumberFormats())},prototypeAccessors$2.availableLocales.get=function(){return Object.keys(this.messages).sort()},prototypeAccessors$2.locale.get=function(){return this._vm.locale},prototypeAccessors$2.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},prototypeAccessors$2.fallbackLocale.get=function(){return this._vm.fallbackLocale},prototypeAccessors$2.fallbackLocale.set=function(e){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",e)},prototypeAccessors$2.formatFallbackMessages.get=function(){return this._formatFallbackMessages},prototypeAccessors$2.formatFallbackMessages.set=function(e){this._formatFallbackMessages=e},prototypeAccessors$2.missing.get=function(){return this._missing},prototypeAccessors$2.missing.set=function(e){this._missing=e},prototypeAccessors$2.formatter.get=function(){return this._formatter},prototypeAccessors$2.formatter.set=function(e){this._formatter=e},prototypeAccessors$2.silentTranslationWarn.get=function(){return this._silentTranslationWarn},prototypeAccessors$2.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},prototypeAccessors$2.silentFallbackWarn.get=function(){return this._silentFallbackWarn},prototypeAccessors$2.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},prototypeAccessors$2.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},prototypeAccessors$2.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},prototypeAccessors$2.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},prototypeAccessors$2.warnHtmlInMessage.set=function(e){var a=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,n!==e&&(e==="warn"||e==="error")){var i=this._getMessages();Object.keys(i).forEach(function(r){a._checkLocaleMessage(r,a._warnHtmlInMessage,i[r])})}},prototypeAccessors$2.postTranslation.get=function(){return this._postTranslation},prototypeAccessors$2.postTranslation.set=function(e){this._postTranslation=e},VueI18n.prototype._getMessages=function(){return this._vm.messages},VueI18n.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},VueI18n.prototype._getNumberFormats=function(){return this._vm.numberFormats},VueI18n.prototype._warnDefault=function(a,n,i,r,s,o){if(!isNull(i))return i;if(this._missing){var l=this._missing.apply(null,[a,n,r,s]);if(isString(l))return l}if(this._formatFallbackMessages){var c=parseArgs.apply(void 0,s);return this._render(n,o,c.params,n)}else return n},VueI18n.prototype._isFallbackRoot=function(a){return!a&&!isNull(this._root)&&this._fallbackRoot},VueI18n.prototype._isSilentFallbackWarn=function(a){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(a):this._silentFallbackWarn},VueI18n.prototype._isSilentFallback=function(a,n){return this._isSilentFallbackWarn(n)&&(this._isFallbackRoot()||a!==this.fallbackLocale)},VueI18n.prototype._isSilentTranslationWarn=function(a){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(a):this._silentTranslationWarn},VueI18n.prototype._interpolate=function(a,n,i,r,s,o,l){if(!n)return null;var c=this._path.getPathValue(n,i);if(isArray$1(c)||isPlainObject$2(c))return c;var u;if(isNull(c))if(isPlainObject$2(n)){if(u=n[i],!(isString(u)||isFunction$1(u)))return null}else return null;else if(isString(c)||isFunction$1(c))u=c;else return null;return isString(u)&&(u.indexOf("@:")>=0||u.indexOf("@.")>=0)&&(u=this._link(a,n,u,r,"raw",o,l)),this._render(u,s,o,i)},VueI18n.prototype._link=function(a,n,i,r,s,o,l){var c=i,u=c.match(linkKeyMatcher);for(var d in u)if(!!u.hasOwnProperty(d)){var f=u[d],h=f.match(linkKeyPrefixMatcher),m=h[0],v=h[1],y=f.replace(m,"").replace(bracketsMatcher,"");if(includes(l,y))return c;l.push(y);var _=this._interpolate(a,n,y,r,s==="raw"?"string":s,s==="raw"?void 0:o,l);if(this._isFallbackRoot(_)){if(!this._root)throw Error("unexpected error");var w=this._root.$i18n;_=w._translate(w._getMessages(),w.locale,w.fallbackLocale,y,r,s,o)}_=this._warnDefault(a,y,_,r,isArray$1(o)?o:[o],s),this._modifiers.hasOwnProperty(v)?_=this._modifiers[v](_):defaultModifiers.hasOwnProperty(v)&&(_=defaultModifiers[v](_)),l.pop(),c=_?c.replace(f,_):c}return c},VueI18n.prototype._createMessageContext=function(a){var n=isArray$1(a)?a:[],i=isObject$3(a)?a:{},r=function(o){return n[o]},s=function(o){return i[o]};return{list:r,named:s}},VueI18n.prototype._render=function(a,n,i,r){if(isFunction$1(a))return a(this._createMessageContext(i));var s=this._formatter.interpolate(a,i,r);return s||(s=defaultFormatter.interpolate(a,i,r)),n==="string"&&!isString(s)?s.join(""):s},VueI18n.prototype._appendItemToChain=function(a,n,i){var r=!1;return includes(a,n)||(r=!0,n&&(r=n[n.length-1]!=="!",n=n.replace(/!/g,""),a.push(n),i&&i[n]&&(r=i[n]))),r},VueI18n.prototype._appendLocaleToChain=function(a,n,i){var r,s=n.split("-");do{var o=s.join("-");r=this._appendItemToChain(a,o,i),s.splice(-1,1)}while(s.length&&r===!0);return r},VueI18n.prototype._appendBlockToChain=function(a,n,i){for(var r=!0,s=0;s0;)o[l]=arguments[l+4];if(!a)return"";var c=parseArgs.apply(void 0,o);this._escapeParameterHtml&&(c.params=escapeParams(c.params));var u=c.locale||n,d=this._translate(i,u,this.fallbackLocale,a,r,"string",c.params);if(this._isFallbackRoot(d)){if(!this._root)throw Error("unexpected error");return(s=this._root).$t.apply(s,[a].concat(o))}else return d=this._warnDefault(u,a,d,r,o,"string"),this._postTranslation&&d!==null&&d!==void 0&&(d=this._postTranslation(d,a)),d},VueI18n.prototype.t=function(a){for(var n,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(n=this)._t.apply(n,[a,this.locale,this._getMessages(),null].concat(i))},VueI18n.prototype._i=function(a,n,i,r,s){var o=this._translate(i,n,this.fallbackLocale,a,r,"raw",s);if(this._isFallbackRoot(o)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(a,n,s)}else return this._warnDefault(n,a,o,r,[s],"raw")},VueI18n.prototype.i=function(a,n,i){return a?(isString(n)||(n=this.locale),this._i(a,n,this._getMessages(),null,i)):""},VueI18n.prototype._tc=function(a,n,i,r,s){for(var o,l=[],c=arguments.length-5;c-- >0;)l[c]=arguments[c+5];if(!a)return"";s===void 0&&(s=1);var u={count:s,n:s},d=parseArgs.apply(void 0,l);return d.params=Object.assign(u,d.params),l=d.locale===null?[d.params]:[d.locale,d.params],this.fetchChoice((o=this)._t.apply(o,[a,n,i,r].concat(l)),s)},VueI18n.prototype.fetchChoice=function(a,n){if(!a||!isString(a))return null;var i=a.split("|");return n=this.getChoiceIndex(n,i.length),i[n]?i[n].trim():a},VueI18n.prototype.tc=function(a,n){for(var i,r=[],s=arguments.length-2;s-- >0;)r[s]=arguments[s+2];return(i=this)._tc.apply(i,[a,this.locale,this._getMessages(),null,n].concat(r))},VueI18n.prototype._te=function(a,n,i){for(var r=[],s=arguments.length-3;s-- >0;)r[s]=arguments[s+3];var o=parseArgs.apply(void 0,r).locale||n;return this._exist(i[o],a)},VueI18n.prototype.te=function(a,n){return this._te(a,this.locale,this._getMessages(),n)},VueI18n.prototype.getLocaleMessage=function(a){return looseClone(this._vm.messages[a]||{})},VueI18n.prototype.setLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,n)},VueI18n.prototype.mergeLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,merge(typeof this._vm.messages[a]!="undefined"&&Object.keys(this._vm.messages[a]).length?this._vm.messages[a]:{},n))},VueI18n.prototype.getDateTimeFormat=function(a){return looseClone(this._vm.dateTimeFormats[a]||{})},VueI18n.prototype.setDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,n),this._clearDateTimeFormat(a,n)},VueI18n.prototype.mergeDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,merge(this._vm.dateTimeFormats[a]||{},n)),this._clearDateTimeFormat(a,n)},VueI18n.prototype._clearDateTimeFormat=function(a,n){for(var i in n){var r=a+"__"+i;!this._dateTimeFormatters.hasOwnProperty(r)||delete this._dateTimeFormatters[r]}},VueI18n.prototype._localizeDateTime=function(a,n,i,r,s){for(var o=n,l=r[o],c=this._getLocaleChain(n,i),u=0;u0;)n[i]=arguments[i+1];var r=this.locale,s=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(r=n[0].locale),n[0].key&&(s=n[0].key)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(r=n[1])),this._d(a,r,s)},VueI18n.prototype.getNumberFormat=function(a){return looseClone(this._vm.numberFormats[a]||{})},VueI18n.prototype.setNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,n),this._clearNumberFormat(a,n)},VueI18n.prototype.mergeNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,merge(this._vm.numberFormats[a]||{},n)),this._clearNumberFormat(a,n)},VueI18n.prototype._clearNumberFormat=function(a,n){for(var i in n){var r=a+"__"+i;!this._numberFormatters.hasOwnProperty(r)||delete this._numberFormatters[r]}},VueI18n.prototype._getNumberFormatter=function(a,n,i,r,s,o){for(var l=n,c=r[l],u=this._getLocaleChain(n,i),d=0;d0;)n[i]=arguments[i+1];var r=this.locale,s=null,o=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(r=n[0].locale),n[0].key&&(s=n[0].key),o=Object.keys(n[0]).reduce(function(l,c){var u;return includes(numberFormatKeys,c)?Object.assign({},l,(u={},u[c]=n[0][c],u)):l},null)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(r=n[1])),this._n(a,r,s,o)},VueI18n.prototype._ntp=function(a,n,i,r){if(!VueI18n.availabilities.numberFormat)return[];if(!i){var s=r?new Intl.NumberFormat(n,r):new Intl.NumberFormat(n);return s.formatToParts(a)}var o=this._getNumberFormatter(a,n,this.fallbackLocale,this._getNumberFormats(),i,r),l=o&&o.formatToParts(a);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(a,n,i,r)}else return l||[]},Object.defineProperties(VueI18n.prototype,prototypeAccessors$2);var availabilities;Object.defineProperty(VueI18n,"availabilities",{get:function(){if(!availabilities){var a=typeof Intl!="undefined";availabilities={dateTimeFormat:a&&typeof Intl.DateTimeFormat!="undefined",numberFormat:a&&typeof Intl.NumberFormat!="undefined"}}return availabilities}}),VueI18n.install=install$2,VueI18n.version="8.23.0";const it={globals:{welcome:"Benvenuto su deemix",back:"indietro",loading:"caricamento",download:"Scarica {thing}",by:"di {artist}",in:"in {album}",download_hint:"Scarica",play_hint:"Riproduci",toggle_download_tab_hint:"Espandi/Riduci",clean_queue_hint:"Pulisci Lista",cancel_queue_hint:"Cancella tutti i download",open_downloads_folder:"Apri la cartella di download",cut:"taglia",copy:"copia",copyLink:"copia link",copyImageLink:"copia link immagine",copyDeezerLink:"copia link deezer",paste:"incolla",listTabs:{all:"tutto",top_result:"miglior risultato",album:"album",artist:"artista | artisti",single:"singolo | singoli",title:"titolo | titoli",track:"brano | brani",releaseN:"0 dischi | {n} disco | {n} dischi",playlist:"playlist",compile:"compilation",bundle:"collezione | collezioni",ep:"ep",more:"Altri album",featured:"Compare in",spotifyPlaylist:"playlist spotify",releaseDate:"data di uscita",error:"errore",empty:"",trackN:"0 brani | {n} brano | {n} brani",albumN:"{n} album",artistN:"0 artisti | {n} artista | {n} artisti",playlistN:"{n} playlist"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Versione attuale",currentWebuiVersion:"Versione WebUI attuale",versionNotAvailable:"N/A",updateAvailable:"Non stai usando l'ultima versione disponibile: {version}",deemixVersion:"Versione libreria deemix"},titles:{usefulLinks:"Link Utili",bugReports:"Segnalazione di bug",contributing:"Contribuire al progetto",donations:"Donazioni",license:"Licenza"},subtitles:{bugReports:"C'\xE8 qualcosa di deemix che non funziona? Faccelo sapere!",contributing:"Vuoi contribuire a questo progetto? Puoi farlo in pi\xF9 modi!",donations:"Vuoi dare una mano economicamente? Puoi fare una donazione!"},usesLibrary:"Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.",thanks:"Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.",upToDate:{text:"Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.",newsChannel:"canale delle news"},officialWebsite:"Sito Ufficiale",officialRepo:"Repository Ufficiale della Libreria",officialWebuiRepo:"Repository Ufficiale dell'Interfaccia Web",officialSubreddit:"Subreddit Ufficiale",newsChannel:"Canale delle news",questions:{text:"Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.",subreddit:"subreddit ufficiale"},beforeReporting:"Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ci\xF2 che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.",beSure:"Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che \xE8 gi\xE0 stato segnalato.",duplicateReports:"Le segnalazioni doppie verranno chiuse, tienilo presente.",dontOpenIssues:"NON aprire issues per porre domande, per quello esiste un subreddit.",newUI:{text:"Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.",repo:"repo"},acceptFeatures:"Accetto anche funzionalit\xE0, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.",otherLanguages:"Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!",understandingCode:"Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit",contributeWebUI:{text:"Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.",webui:"WebUI"},itsFree:"Ricordati che questo \xE8 un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.",notObligated:"Non sentirti obbligato a donare, mi stai simpatico lo stesso!",lincensedUnder:{text:"Questo progetto \xE8 sotto la licenza {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Classifiche",changeCountry:"Cambia Paese",download:"Scarica Classifica"},errors:{title:"Errori riguardanti {name}",ids:{invalidURL:"URL non riconosciuto",unsupportedURL:"URL non ancora supportato",ISRCnotOnDeezer:"Questo ISRC non \xE8 disponibile su Deezer",notYourPrivatePlaylist:"Non puoi scaricare le playlist private degli altri.",spotifyDisabled:"Spotify Features non \xE8 impostato correttamente.",trackNotOnDeezer:"Brano non trovato su Deezer!",albumNotOnDeezer:"Album non trovato su Deezer!",notOnDeezer:"Brano non disponibile su Deezer!",notEncoded:"Brano non ancora codificato!",notEncodedNoAlternative:"Brano non ancora codificato e nessuna alternativa trovata!",wrongBitrate:"Brano non trovato con il bitrate specificato.",wrongBitrateNoAlternative:"Brano non trovato con il bitrate specificato e nessuna alternativa trovata!",no360RA:"Brano non disponibile in Reality Audio 360.",notAvailable:"Brano non presente sui server di Deezer!",notAvailableNoAlternative:"Brano non presente sui server di Deezer e nessuna alternativa trovata!",noSpaceLeft:"Spazio su disco esaurito!",albumDoesntExists:"Il brano non ha nessun album, impossibile ottenere informazioni"}},favorites:{title:"Preferiti",noPlaylists:"Nessuna Playlist preferita trovata",noAlbums:"Nessun Album preferito trovato",noArtists:"Nessun Artista preferito trovato",noTracks:"Nessun Brano preferito trovato"},home:{needTologin:"Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.",openSettings:"Apri le impostazioni",sections:{popularPlaylists:"Playlist Popolari",popularAlbums:"Album pi\xF9 riprodotti"}},linkAnalyzer:{info:"Puoi utilizzare questa sezione per avere pi\xF9 informazioni riguardanti il link che stai cercando di scaricare.",useful:"Ci\xF2 pu\xF2 esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.",linkNotSupported:"Questo link non \xE8 ancora supportato",linkNotSupportedYet:"Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durata",diskNumber:"Numero Disco",trackNumber:"Numero Traccia",releaseDate:"Data di uscita",bpm:"BPM",label:"Etichetta",recordType:"Tipologia di registrazione",genres:"Generi",tracklist:"Lista tracce"}},search:{startSearching:"Inizia a cercare!",description:"Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer",fans:"{n} fan",noResults:"Nessun risultato",noResultsTrack:"Nessun brano trovato",noResultsAlbum:"Nessun album trovato",noResultsArtist:"Nessun artista trovato",noResultsPlaylist:"Nessuna playlist trovata"},searchbar:"Cerca qualsiasi cosa (o incolla semplicemente un link)",downloads:"download",toasts:{restoringQueue:"Ripristinando la coda di download...",queueRestored:"Coda di download ripristinata!",addedToQueue:"{item} aggiunto alla coda",addedMoreToQueue:"{n} oggetti aggiunti alla coda",alreadyInQueue:"{item} \xE8 gi\xE0 nella coda!",finishDownload:"{item} ha finito di scaricarsi.",allDownloaded:"Tutti i download completati!",refreshFavs:"Preferiti ricaricati!",loggingIn:"Effettuando il login...",loggedIn:"Login effettuato",alreadyLogged:"Sei gi\xE0 loggato",loginFailed:"Impossibile loggarsi",loggedOut:"Disconnesso",cancellingCurrentItem:"Cancellando download corrente.",currentItemCancelled:"Download corrente cancellato.",startAddingArtist:"Aggiungendo gli album di {artist} alla coda",finishAddingArtist:"Aggiunto gli album di {artist} alla coda",startConvertingSpotifyPlaylist:"Convertendo i brani da spotify a deezer",finishConvertingSpotifyPlaylist:"Playlist di spotify convertita",loginNeededToDownload:"Devi accedere prima di poter scaricare brani!",deezerNotAvailable:"Deezer non \xE8 disponibile nel tuo paese. Dovresti usare una VPN.",startGeneratingItems:"Elaborando {n} oggetti...",finishGeneratingItems:"{n} oggetti generati."},settings:{title:"Impostazioni",languages:"Lingue",login:{title:"Login",loggedIn:"Sei loggato come {username}",arl:{question:"Come ottengo il mio ARL?",update:"Aggiorna ARL"},logout:"Disconnettiti",login:"Accedi tramite deezer.com"},appearance:{title:"Aspetto",slimDownloadTab:"Tab dei download slim",slimSidebar:"Sidebar slim"},downloadPath:{title:"Cartella di download"},templates:{title:"Template",tracknameTemplate:"Template nome brano",tracknameAvailableVariables:"Variabili nome brano disponibili",albumTracknameTemplate:"Template nome brano negli Album",albumTracknameAvailableVariables:"Variabili nome brano negli Album disponibili",playlistTracknameTemplate:"Template nome brano nelle Playlist",playlistTracknameAvailableVariables:"Variabili nome brano nelle Playlist disponibili"},folders:{title:"Cartelle",createPlaylistFolder:"Crea cartelle per le Playlist",playlistNameTemplate:"Template nome della cartella Playlist",createArtistFolder:"Crea cartelle per gli Artisti",artistNameTemplate:"Template nome della cartella Artista",createAlbumFolder:"Crea cartelle per gli Album",albumNameTemplate:"Template nome della cartella Album",createCDFolder:"Crea cartelle per i CD",createStructurePlaylist:"Crea la struttura di cartelle per le Playlist",createSingleFolder:"Crea la struttura di cartelle per i brani singoli"},trackTitles:{title:"Titoli brani",padTracks:"Aggiungi zeri ai numeri di traccia",paddingSize:"Sovrascrivi il numero di zeri da aggiungere",illegalCharacterReplacer:"Rimpiazza caratteri illegali con"},downloads:{title:"Download",queueConcurrency:"Download simultanei",maxBitrate:{title:"Bitrate preferito",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dovrei sovrascrivere i file gi\xE0 scaricati?",y:"Si, sovrascrivi i file",n:"No, non sovrascrivere i file",t:"Sovrascrivi solo i tag",b:"No, mantieni entrambi i file e aggiungi un numero al duplicato",e:"No, e non tener conto della estensione del file"},fallbackBitrate:"Utilizza bitrate pi\xF9 bassi se il bitrate preferito non \xE8 disponibile",fallbackSearch:"Cerca il brano se il link originale non \xE8 disponibile",logErrors:"Crea file di log per gli errori",logSearched:"Crea file di log per le alternative cercate",syncedLyrics:"Crea i file .lyr (Testi Sincronizzati)",createM3U8File:"Crea i file playlist",playlistFilenameTemplate:"Template nome del file playlist",saveDownloadQueue:"Salva la coda di download quando chiudi l'app"},covers:{title:"Copertine",saveArtwork:"Salva copertina album",coverImageTemplate:"Template nome copertina album",saveArtworkArtist:"Salva copertina artista",artistImageTemplate:"Template nome copertina artista",localArtworkSize:"Dimensioni copertine locali",embeddedArtworkSize:"Dimensioni copertine incorporate",localArtworkFormat:{title:"Come vuoi salvare le copertine locali?",jpg:"In jpeg",png:"In png",both:"Sia in jpeg che in png"},jpegImageQuality:"Qualit\xE0 immagine JPEG",embeddedArtworkPNG:"Salva copertina incorporata come PNG",embeddedPNGWarning:"Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi",imageSizeWarning:"Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi",coverDescriptionUTF8:"Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)"},tags:{head:"Quali tag salvare",title:"Titolo",artist:"Artista",album:"Album",cover:"Copertina",trackNumber:"Numero Traccia",trackTotal:"Tracce Totali",discNumber:"Numero Disco",discTotal:"Dischi Totali",albumArtist:"Artista dell'album",genre:"Genere",year:"Anno",date:"Data",explicit:"Testo Esplicito",isrc:"ISRC",length:"Durata Traccia",barcode:"Barcode dell'album (UPC)",bpm:"BPM",replayGain:"Replay gain",label:"Casa Discografica",lyrics:"Testo non Sincronizzato",syncedLyrics:"Testo Sincronizzato",copyright:"Copyright",composer:"Compositori",involvedPeople:"Persone Coinvolte",source:"Sorgente e ID brano"},other:{title:"Altro",savePlaylistAsCompilation:"Salva le playlist come Compilation",useNullSeparator:"Usa il carattere NULL come separatore",saveID3v1:"Salva anche l'ID3v1",multiArtistSeparator:{title:"Come vuoi separare gli artisti?",nothing:"Salva solo l'artista principale",default:"Usando la specificazione standard",andFeat:"Usando & e feat.",using:'Usando "{separator}"'},singleAlbumArtist:"Salva solo l'artista dell'album principale",albumVariousArtists:`Lascia "Artisti Vari" negli artisti dell'album`,removeAlbumVersion:'Rimuovi "Album Version" dal titolo del brano',removeDuplicateArtists:"Rimuovi le combinazioni di artisti",dateFormat:{title:"Formato della data per i file FLAC",year:"AAAA",month:"MM",day:"GG"},featuredToTitle:{title:"Cosa dovrei fare con i feat?",0:"Niente",1:"Rimuovili dal titolo",3:"Rimuovili dal titolo e dal nome dell'album",2:"Spostali sul titolo"},titleCasing:"Formato testo dei titoli",artistCasing:"Formato testo degli artisti",casing:{nothing:"Non cambiare",upper:"TUTTO MAIUSCOLO",lower:"tutto minuscolo",start:"Prima Lettera Maiuscola",sentence:"Come una frase"},previewVolume:"Volume Anteprime",executeCommand:{title:"Comando da eseguire dopo il download",description:"Lascia vuoto per nessuna azione"}},spotify:{title:"Spotify Features",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"Come attivo le Spotify Features?"},reset:"Reimposta Default",resetMessage:"Sei sicuro di voler tornare alle impostazioni di default?",save:"Salva",toasts:{init:"Impostazioni caricate!",update:"Impostazioni aggiornate!",reset:"Impostazioni di default ripristinate!",ARLcopied:"ARL copiato negli appunti"}},sidebar:{home:"home",search:"ricerca",charts:"classifiche",favorites:"preferiti",linkAnalyzer:"analizza link",settings:"impostazioni",about:"info"},tracklist:{downloadSelection:"Scarica selezionati"}},en={globals:{welcome:"Welcome to deemix",back:"back",loading:"loading",download:"Download {thing}",by:"by {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Expand/Collapse",clean_queue_hint:"Clear Finished",cancel_queue_hint:"Cancel All",open_downloads_folder:"Open Downloads Folder",cut:"cut",copy:"copy",copyLink:"copy link",copyImageLink:"copy image link",copyDeezerLink:"copy deezer link",paste:"paste",listTabs:{empty:"",all:"all",top_result:"top result",album:"album | albums",artist:"artist | artists",single:"single | singles",title:"title | titles",track:"track | tracks",releaseN:"0 releases | {n} release | {n} releases",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"More albums",featured:"Featured in",spotifyPlaylist:"spotify playlist | spotify playlists",releaseDate:"release date",error:"error",trackN:"0 tracks | {n} track | {n} tracks",albumN:"0 albums | {n} album | {n} albums",artistN:"0 artists | {n} artist | {n} artists",playlistN:"0 playlists | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Current Version",currentWebuiVersion:"Current WebUI Version",versionNotAvailable:"N/A",updateAvailable:"You're not running the latest version available: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Useful Links",bugReports:"Bug Reports",contributing:"Contributing",donations:"Donations",license:"License"},subtitles:{bugReports:"Is there something that isn't working in deemix? Tell us!",contributing:"You want to contribute to this project? You can do it in different ways!",donations:"You want to contribute monetarily? You could make a donation!"},usesLibrary:"This app uses the deemix library, which you can use to make your own UI for deemix.",thanks:"Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.",upToDate:{text:"Stay up to date with the updates by following the {newsChannel} on Telegram.",newsChannel:"news channel"},officialWebsite:"Official Website",officialRepo:"Official Library Repository",officialWebuiRepo:"Official WebUI Repository",officialSubreddit:"Official Subreddit",newsChannel:"News Channel",questions:{text:"If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.",subreddit:"subreddit"},beforeReporting:"Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.",beSure:"Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.",duplicateReports:"Duplicate bug reports will be closed, so keep an eye out on that.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",newUI:{text:"If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.",repo:"repo"},acceptFeatures:"I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.",otherLanguages:"If you're fluent in another programming language you could try to port deemix into other programming languages!",understandingCode:"You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.",contributeWebUI:{text:"If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.",webui:"WebUI"},itsFree:"You should remember that this is a free project and you should support the artists you love before supporting the developers.",notObligated:"Don't feel obligated to donate, I appreciate you anyway!",lincensedUnder:{text:"This work is licensed under the {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Change Country",download:"Download Chart"},errors:{title:"Errors for {name}",ids:{invalidURL:"URL not recognized",unsupportedURL:"URL not supported yet",ISRCnotOnDeezer:"Track ISRC is not available on Deezer",notYourPrivatePlaylist:"You can't download others private playlists.",spotifyDisabled:"Spotify Features is not setted up correctly.",trackNotOnDeezer:"Track not found on Deezer!",albumNotOnDeezer:"Album not found on Deezer!",notOnDeezer:"Track not available on Deezer!",notEncoded:"Track not yet encoded!",notEncodedNoAlternative:"Track not yet encoded and no alternative found!",wrongBitrate:"Track not found at desired bitrate.",wrongBitrateNoAlternative:"Track not found at desired bitrate and no alternative found!",no360RA:"Track is not available in Reality Audio 360.",notAvailable:"Track not available on Deezer's servers!",notAvailableNoAlternative:"Track not available on Deezer's servers and no alternative found!",noSpaceLeft:"No space left on the device!",albumDoesntExists:"Track's album doesn't exist, failed to gather info"}},favorites:{title:"Favorites",noPlaylists:"No Playlists found",noAlbums:"No Favorite Albums found",noArtists:"No Favorite Artists found",noTracks:"No Favorite Tracks found"},home:{needTologin:"You need to log into your Deezer account before you can start downloading.",openSettings:"Open Settings",sections:{popularPlaylists:"Popular playlists",popularAlbums:"Most streamed albums"}},linkAnalyzer:{info:"You can use this section to find more information about the link you are trying to download.",useful:"This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.",linkNotSupported:"This link is not yet supported",linkNotSupportedYet:"Seems like this link is not yet supported, try analyzing another one.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duration",diskNumber:"Disk Number",trackNumber:"Track Number",releaseDate:"Release Date",bpm:"BPM",label:"Label",recordType:"Record Type",genres:"Genres",tracklist:"Tracklist"}},search:{startSearching:"Start searching!",description:"You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link",fans:"{n} fans",noResults:"No results",noResultsTrack:"No Tracks found",noResultsAlbum:"No Albums found",noResultsArtist:"No Artists found",noResultsPlaylist:"No Playlists found"},searchbar:"Search anything you want (or just paste a link)",downloads:"downloads",toasts:{restoringQueue:"Restoring download queue...",queueRestored:"Download queue restored!",addedToQueue:"{item} added to queue",addedMoreToQueue:"{n} items added to queue",alreadyInQueue:"{item} is already in queue!",finishDownload:"{item} finished downloading.",allDownloaded:"All downloads completed!",refreshFavs:"Refresh completed!",loggingIn:"Logging in...",loggedIn:"Logged in",alreadyLogged:"Already logged in",loginFailed:"Couldn't log in",loggedOut:"Logged out",cancellingCurrentItem:"Cancelling current item.",currentItemCancelled:"Current item cancelled.",startAddingArtist:"Adding {artist} albums to queue",finishAddingArtist:"Added {artist} albums to queue",startConvertingSpotifyPlaylist:"Converting spotify tracks to Deezer tracks",finishConvertingSpotifyPlaylist:"Spotify playlist converted",loginNeededToDownload:"You need to log in to download tracks!",deezerNotAvailable:"Deezer is not available in your country. You should use a VPN.",startGeneratingItems:"Processing {n} items...",finishGeneratingItems:"Generated {n} items."},settings:{title:"Settings",languages:"Languages",login:{title:"Login",loggedIn:"You are logged in as {username}",arl:{question:"How do I get my own ARL?",update:"Update ARL"},logout:"Logout",login:"Login via deezer.com"},appearance:{title:"Appearance",slimDownloadTab:"Slim download tab",slimSidebar:"Slim Sidebar"},downloadPath:{title:"Download Path"},templates:{title:"Templates",tracknameTemplate:"Trackname template",tracknameAvailableVariables:"Available trackname variables",albumTracknameTemplate:"Album track template",albumTracknameAvailableVariables:"Available album track variables",playlistTracknameTemplate:"Playlist track template",playlistTracknameAvailableVariables:"Available playlist track variables"},folders:{title:"Folders",createPlaylistFolder:"Create folder for playlists",playlistNameTemplate:"Playlist folder template",createArtistFolder:"Create folder for artist",artistNameTemplate:"Artist folder template",createAlbumFolder:"Create folder for album",albumNameTemplate:"Album folder template",createCDFolder:"Create folder for CDs",createStructurePlaylist:"Create folder structure for playlists",createSingleFolder:"Create folder structure for singles"},trackTitles:{title:"Track titles",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"Illegal Character replacer"},downloads:{title:"Downloads",queueConcurrency:"Concurrent Downloads",maxBitrate:{title:"Preferred Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Should I overwrite the files?",y:"Yes, overwrite the file",n:"No, don't overwrite the file",t:"Overwrite only the tags",b:"No, keep both files and add a number to the duplicate",e:"No, and don't look at the extensions"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Search fallback",logErrors:"Create log files for errors",logSearched:"Create log files for searched tracks",createM3U8File:"Create playlist file",syncedLyrics:"Create .lyr files (Sync Lyrics)",playlistFilenameTemplate:"Playlist filename template",saveDownloadQueue:"Save download queue when closing the app"},covers:{title:"Album covers",saveArtwork:"Save Covers",coverImageTemplate:"Cover name template",saveArtworkArtist:"Save artist image",artistImageTemplate:"Artist image template",localArtworkSize:"Local artwork size",embeddedArtworkSize:"Embedded artwork size",localArtworkFormat:{title:"What format do you want the local artwork to be?",jpg:"A jpeg image",png:"A png image",both:"Both a jpeg and a png"},jpegImageQuality:"JPEG image quality",embeddedArtworkPNG:"Save embedded artwork as PNG",embeddedPNGWarning:"PNGs are not officialy supported by Deezer and can be buggy",imageSizeWarning:"Anything above x1200 is not officialy used by Deezer, you may encounter issues",coverDescriptionUTF8:"Save cover description using UTF8 (iTunes Cover Fix)"},tags:{head:"Which tags to save",title:"Title",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Track Number",trackTotal:"Track Total",discNumber:"Disc Number",discTotal:"Disc Total",albumArtist:"Album Artist",genre:"Genre",year:"Year",date:"Date",explicit:"Explicit Lyrics",isrc:"ISRC",length:"Track Length",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"Unsynchronized Lyrics",syncedLyrics:"Synchronized Lyrics",copyright:"Copyright",composer:"Composer",involvedPeople:"Involved People",source:"Source and song ID"},other:{title:"Other",savePlaylistAsCompilation:"Save playlists as compilation",useNullSeparator:"Use null separator",saveID3v1:"Save ID3v1 as well",multiArtistSeparator:{title:"How would you like to separate your artists?",nothing:"Save only the main artist",default:"Using standard specification",andFeat:"Using & and feat.",using:'Using "{separator}"'},singleAlbumArtist:"Save only the main album artist",albumVariousArtists:'Keep "Various Artists" in the Album Artists',removeAlbumVersion:'Remove "Album Version" from track title',removeDuplicateArtists:"Remove combinations of artists",dateFormat:{title:"Date format for FLAC files",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"What should I do with featured artists?",0:"Nothing",1:"Remove it from the title",3:"Remove it from the title and the album title",2:"Move it to the title"},titleCasing:"Title casing",artistCasing:"Artist casing",casing:{nothing:"Keep unchanged",lower:"lowercase",upper:"UPPERCASE",start:"Start Of Each Word",sentence:"Like a sentence"},previewVolume:"Preview Volume",executeCommand:{title:"Command to execute after download",description:"Leave blank for no action"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"How do I enable Spotify Features?"},reset:"Reset to Default",resetMessage:"Are you sure you want to go back to default settings?",save:"Save",toasts:{init:"Settings loaded!",update:"Settings updated!",reset:"Settings reset to default!",ARLcopied:"ARL copied to clipboard"}},sidebar:{home:"home",search:"search",charts:"charts",favorites:"favorites",linkAnalyzer:"link analyzer",settings:"settings",about:"about"},tracklist:{downloadSelection:"Download selection"}},es={globals:{welcome:"Bienvenido a deemix",back:"atr\xE1s",loading:"cargando",download:"Descarga {thing}",by:"por {artist}",in:"en {album}",download_hint:"Descargar",play_hint:"Reproducir",toggle_download_tab_hint:"Expandir/Colapsar",clean_queue_hint:"Limpieza terminada",cancel_queue_hint:"Cancelar todo",open_downloads_folder:"Abrir la carpeta de descargas",cut:"cortar",copy:"copiar",copyLink:"copiar vinculo",copyImageLink:"copiar el v\xEDnculo de la imagen",copyDeezerLink:"copiar el v\xEDnculo de Deezer",paste:"pegar",listTabs:{empty:"",all:"todo",top_result:"mejor resultado",album:"\xE1lbum | \xE1lbumes",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"pista | pistas",trackN:"0 pistas | {n} pista | {n} pistas",releaseN:"0 entregas | {n} entrega | {n} entregas",playlist:"lista de reproducci\xF3n | listas de reproducci\xF3n",compile:"compilaci\xF3n | compilaciones",ep:"ep | eps",more:"M\xE1s \xE1lbumes",featured:"Aparece en",spotifyPlaylist:"lista de reproducci\xF3n spotify | listas de reproducci\xF3n spotify",releaseDate:"fecha de publicaci\xF3n",error:"error"}},about:{updates:{currentVersion:"Versi\xF3n actual",versionNotAvailable:"N/D",updateAvailable:"No est\xE1s ejecutando la \xFAltima versi\xF3n disponible: {versi\xF3n}",deemixVersion:"versi\xF3n de la biblioteca deemix"},titles:{usefulLinks:"Enlaces \xFAtiles",bugReports:"Reportar fallos",contributing:"Contribuye",donations:"Donaciones",license:"Licencia"},subtitles:{bugReports:"\xBFHay algo que no funcione en Deemix? \xA1D\xEDganoslo!",contributing:"\xBFQuieres contribuir a este proyecto? \xA1Puedes hacerlo de diferentes maneras!",donations:"\xBFQuiere contribuir monetariamente? \xA1Puedes hacer una donaci\xF3n!"},usesLibrary:"Esta aplicaci\xF3n usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.",thanks:"Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.",upToDate:{text:"Mantente al d\xEDa con las actualizaciones siguiendo el {newsChannel} en Telegram.",newsChannel:"canal de noticias"},officialWebsite:"P\xE1gina web oficial",officialRepo:"Repositorio de la biblioteca oficial",officialWebuiRepo:"Repositorio oficial de WebUI",officialSubreddit:"Subreddit oficial",newsChannel:"Canal de noticias",questions:{text:"Si tienes preguntas o problemas con la aplicaci\xF3n, busca una soluci\xF3n en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de informar de un error aseg\xFArese de que est\xE1 ejecutando la \xFAltima versi\xF3n de la aplicaci\xF3n y que lo que quiere informar es en realidad un error y no algo que est\xE1 mal s\xF3lo en su extremo.",beSure:"Aseg\xFArate de que el fallo es reproducible en otras m\xE1quinas y tambi\xE9n NO reporte un fallo si ya ha sido reportado.",duplicateReports:"Los informes de errores duplicados se cerrar\xE1n, as\xED que mant\xE9ngase al tanto de eso.",dontOpenIssues:"NO abra problemas para hacer preguntas, hay un subreddit para eso.",newUI:{text:"Si tienes fluidez en Python podr\xEDas intentar hacer una nueva interfaz de usuario para la aplicaci\xF3n usando la biblioteca base, o arreglar los errores de la biblioteca con una petici\xF3n pull en el {repo}.",repo:"repo"},acceptFeatures:"Tambi\xE9n acepto caracter\xEDsticas, pero no cosas complejas, ya que se pueden implementar directamente en la aplicaci\xF3n y no en la biblioteca.",otherLanguages:"\xA1Si dominas otro lenguaje de programaci\xF3n podr\xEDas intentar portar Deemix a otros lenguajes de programaci\xF3n!",understandingCode:"\xBFNecesitas ayuda para entender el c\xF3digo? S\xF3lo tienes que poner RemixDev en Telegram o Reddit.",contributeWebUI:{text:"Si conoces Vue.js (JavaScript), HTML o CSS podr\xEDas contribuir a la {webui}.",webui:"WebUI"},itsFree:"Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.",notObligated:"No te sientas obligado a donar, \xA1te aprecio de todas formas!",lincensedUnder:{text:"Esta obra est\xE1 autorizada bajo una {gpl3}.",gpl3:"GNU Licencia P\xFAblica General 3.0"}},charts:{title:"Listas",changeCountry:"Cambiar pa\xEDs",download:"Descargar la lista"},errors:{title:"Errores para {name}",ids:{invalidURL:"No se reconoce la URL",unsupportedURL:"La URL a\xFAn no est\xE1 soportada",ISRCnotOnDeezer:"La pista ISRC no est\xE1 disponible en Deezer",notYourPrivatePlaylist:"No puedes descargar otras listas de reproducci\xF3n privadas.",spotifyDisabled:"Las funciones de Spotify no est\xE1 configurado correctamente.",trackNotOnDeezer:"\xA1No se encontr\xF3 la pista en Deezer!",albumNotOnDeezer:"\xA1El \xE1lbum no se encuentra en Deezer!",notOnDeezer:"\xA1Pista no disponible en Deezer!",notEncoded:"\xA1Pista a\xFAn no codificada!",notEncodedNoAlternative:"\xA1Pista a\xFAn no codificada y no se ha encontrado ninguna alternativa!",wrongBitrate:"La pista no se encuentra a la velocidad de bitrate deseada.",wrongBitrateNoAlternative:"\xA1Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!",no360RA:"La pista no est\xE1 disponible en Reality Audio 360.",notAvailable:"\xA1La pista no est\xE1 disponible en los servidores de Deezer!",notAvailableNoAlternative:"\xA1La pista no est\xE1 disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!",noSpaceLeft:"\xA1No queda espacio en el dispositivo!"}},favorites:{title:"Favoritos",noPlaylists:"No se han encontrado listas de reproducci\xF3n",noAlbums:"No se han encontrado \xE1lbumes favoritos",noArtists:"No se han encontrado artistas favoritos",noTracks:"No se han encontrado pistas favoritas"},home:{needTologin:"Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.",openSettings:"Abrir la configuraci\xF3n",sections:{popularPlaylists:"Listas de reproducci\xF3n populares",popularAlbums:"Los \xE1lbumes m\xE1s stremeados"}},linkAnalyzer:{info:"Puedes usar esta secci\xF3n para encontrar m\xE1s informaci\xF3n sobre el enlace que est\xE1s tratando de descargar.",useful:"Esto es \xFAtil si est\xE1 tratando de descargar algunas pistas que no est\xE1n disponibles en su pa\xEDs y quiere saber d\xF3nde est\xE1n disponibles, por ejemplo.",linkNotSupported:"Este enlace a\xFAn no est\xE1 soportado",linkNotSupportedYet:"Parece que este enlace a\xFAn no est\xE1 soportado, intenta analizar otro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duraci\xF3n",diskNumber:"N\xFAmero del disco",trackNumber:"N\xFAmero de la pista",releaseDate:"Fecha de lanzamiento",bpm:"BPM",label:"Etiqueta",recordType:"Tipo de grabaci\xF3n",genres:"G\xE9neros",tracklist:"Lista de pista"}},search:{startSearching:"\xA1Comienza a buscar!",description:"Puedes buscar un tema, un \xE1lbum entero, un artista, una lista de reproducci\xF3n... \xA1todo! Tambi\xE9n puedes pegar un enlace de Deezer",fans:"{n} fans",noResults:"Ningun resultado",noResultsTrack:"No se encontraron pistas",noResultsAlbum:"No se encontraron \xE1lbumes",noResultsArtist:"No se encontraron artistas",noResultsPlaylist:"No se encontraron listas de reproducci\xF3n"},searchbar:"Busca lo que quieras (o simplemente pega un enlace)",downloads:"descargas",toasts:{restoringQueue:"Restaurando la cola de descarga...",queueRestored:"\xA1Cola de descarga restaurada!",addedToQueue:"{item} a\xF1adidos a la cola",addedMoreToQueue:"{n} elementos a\xF1adidos a la cola",alreadyInQueue:"\xA1{item} ya est\xE1 en la cola!",finishDownload:"{item} terminado de descargar.",allDownloaded:"\xA1Todas las descargas se han completado!",refreshFavs:"\xA1Actualizaci\xF3n completada!",loggingIn:"Conectando...",loggedIn:"Conectado",alreadyLogged:"Ya est\xE1 conectado",loginFailed:"No se puede conectar",loggedOut:"Desconectado",cancellingCurrentItem:"Cancelando el elemento actual.",currentItemCancelled:"El elemento actual se ha cancelado.",startAddingArtist:"A\xF1adiendo los \xE1lbumes de {artist} a la cola",finishAddingArtist:"Se ha a\xF1adido los \xE1lbumes de {artist} a la cola",startConvertingSpotifyPlaylist:"Convertir las pistas de Spotify en pistas de Deezer",finishConvertingSpotifyPlaylist:"Lista de reproducci\xF3n de Spotify convertida",loginNeededToDownload:"\xA1Necesitas iniciar sesi\xF3n para descargar t\xEDtulos!",deezerNotAvailable:"Deezer no est\xE1 disponible en su pa\xEDs. Deber\xEDas usar una VPN."},settings:{title:"Configuraci\xF3n",languages:"Idiomas",login:{title:"Iniciar Sesi\xF3n",loggedIn:"Usted est\xE1 conectado como {nombre de usuario}",arl:{question:"\xBFC\xF3mo consigo mi propio ARL?",update:"Actualiza la ARL"},logout:"Cerrar Sesi\xF3n",login:"Inicia sesi\xF3n a trav\xE9s de deezer.com"},appearance:{title:"Apariencia",slimDownloadTab:"Pesta\xF1a de descargas fina"},downloadPath:{title:"Ruta de descarga"},templates:{title:"Plantillas",tracknameTemplate:"Plantilla de nombres de pista",albumTracknameTemplate:"Plantilla de pista del \xE1lbum",playlistTracknameTemplate:"Plantilla de pista de la lista de reproducci\xF3n"},folders:{title:"Carpetas",createPlaylistFolder:"Crear una carpeta para las listas de reproducci\xF3n",playlistNameTemplate:"Plantilla de la carpeta de la lista de reproducci\xF3n",createArtistFolder:"Crear carpeta para el artista",artistNameTemplate:"Plantilla de la carpeta del artista",createAlbumFolder:"Crear carpeta para el \xE1lbum",albumNameTemplate:"Plantilla de la carpeta del \xE1lbum",createCDFolder:"Crear una carpeta para los CDs",createStructurePlaylist:"Crear una estructura de carpetas para las listas de reproducci\xF3n",createSingleFolder:"Crear una estructura de carpetas para individuales"},trackTitles:{title:"T\xEDtulos de las pistas",padTracks:"Pad de pistas",paddingSize:"Sobrescribir el tama\xF1o del pad",illegalCharacterReplacer:"Reemplazo del car\xE1cter ilegal"},downloads:{title:"Descargas",queueConcurrency:"Descargas simult\xE1neas",maxBitrate:{title:"Tasa de bits preferida",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\xBFDesea que se sobreescriban los archivos?",y:"S\xED, sobrescribir el archivo",n:"No, no sobrescribir el archivo",t:"Sobrescribir s\xF3lo las etiquetas",b:"No, mantener los dos archivos y agregar un n\xFAmero al archivo duplicado",e:"No, y no mirar las extensiones"},fallbackBitrate:"La soluci\xF3n alternativa de bitrate",fallbackSearch:"B\xFAsqueda de la segunda opci\xF3n",logErrors:"Crear archivos de registro de errores",logSearched:"Crear archivos de registro para las pistas buscadas",createM3U8File:"Crear archivo de la lista de reproducci\xF3n",syncedLyrics:"Crear archivos .lyr (lyrics sincronizadas)",playlistFilenameTemplate:"Plantilla de nombres de archivos de la lista de reproducci\xF3n",saveDownloadQueue:"Guardar la cola de descarga al cerrar la aplicaci\xF3n"},covers:{title:"Portadas de \xE1lbumes",saveArtwork:"Guardar las portadas",coverImageTemplate:"Plantilla de nombres de portada",saveArtworkArtist:"Guardar imagen de artista",artistImageTemplate:"Plantilla de imagen de artista",localArtworkSize:"El tama\xF1o de la portada local",embeddedArtworkSize:"El tama\xF1o de la portada incorporada",localArtworkFormat:{title:"\xBFQu\xE9 formato quieres que tenga la portada local?",jpg:"Una imagen jpeg",png:"Una imagen png",both:"Ambos, jpeg y png"},jpegImageQuality:"Calidad de la imagen JPEG",embeddedArtworkPNG:"Guardar las im\xE1genes incrustadas como PNG",embeddedPNGWarning:"Las PNG no est\xE1n oficialmente soportadas por Deezer y puedes encontrar errores.",imageSizeWarning:"Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes",coverDescriptionUTF8:"Guardar la descripci\xF3n de la portada usando UTF8 (arregla la portada de iTunes)"},tags:{head:"\xBFQu\xE9 etiquetas guardar?",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Portada",trackNumber:"N\xFAmero de pista",trackTotal:"Total de pistas",discNumber:"N\xFAmero del disco",discTotal:"Total del disco",albumArtist:"Artista del \xE1lbum",genre:"G\xE9nero",year:"A\xF1o",date:"Fecha",explicit:"Letras expl\xEDcitas",isrc:"ISRC",length:"Duraci\xF3n de la pista",barcode:"C\xF3digo de barras del \xE1lbum (UPC)",bpm:"BPM",replayGain:"Ganancia de la reproducci\xF3n",label:"Etiqueta del \xE1lbum",lyrics:"Lyrics no sincronizadas",syncedLyrics:"Lyrics sincronizadas",copyright:"Derechos de autor",composer:"Compositor",involvedPeople:"Personas involucradas"},other:{title:"Otro",savePlaylistAsCompilation:"Guardar las listas de reproducci\xF3n como una compilaci\xF3n",useNullSeparator:"Usar separador nulo",saveID3v1:"Guarda la ID3v1 tambi\xE9n",multiArtistSeparator:{title:"\xBFC\xF3mo le gustar\xEDa separar a sus artistas?",nothing:"Guardar s\xF3lo el artista principal",default:"Usar la especificaci\xF3n est\xE1ndar",andFeat:"Usar & y feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar s\xF3lo el artista principal del \xE1lbum",albumVariousArtists:'Mantener "Various Artists" en los artistas del \xE1lbum',removeAlbumVersion:'Eliminar "Album Version" del t\xEDtulo de la pista',removeDuplicateArtists:"Eliminar las combinaciones de artistas",dateFormat:{title:"Formato de fecha para los archivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"\xBFQu\xE9 debo hacer con los artistas destacados?",0:"Nada",1:"Quitarlo del t\xEDtulo",3:"Quitarlo del t\xEDtulo y del t\xEDtulo del \xE1lbum",2:"Moverlo al t\xEDtulo"},titleCasing:"Capitalizar t\xEDtulo",artistCasing:"Capitalizar artista",casing:{nothing:"Mant\xE9ner sin cambios",lower:"min\xFAsculas",upper:"MAY\xDASCULAS",start:"Al Principio De Cada Palabra",sentence:"Como una frase"},previewVolume:"Volumen de previsualizaci\xF3n",executeCommand:{title:"Comando a ejecutar despu\xE9s de la descarga",description:"Dejar en blanco para no hacer nada"}},spotify:{title:"Funciones de Spotify",clientID:"ID del cliente de Spotify",clientSecret:"Cliente Secreto Spotify",username:"Nombre de usuario de Spotify"},reset:"Restablecer el valor por defecto",save:"Guardar",toasts:{init:"\xA1Configuraciones cargadas!",update:"\xA1Ajustes actualizados!",ARLcopied:"ARL copiado al portapapeles"}},sidebar:{home:"inicio",search:"buscar",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizar enlaces",settings:"ajustes",about:"acerca de"},tracklist:{downloadSelection:"Descargar selecci\xF3n"}},de={globals:{welcome:"Willkommen bei deemix",back:"zur\xFCck",loading:"l\xE4dt",download:"Download {thing}",by:"von {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Erweitern/Minimieren",clean_queue_hint:"Entferne vollst\xE4ndige",cancel_queue_hint:"Alle abbrechen",listTabs:{empty:"",all:"alle",top_result:"Top Ergebnis",album:"Album | Alben",artist:"K\xFCnstler | K\xFCnstler",single:"Single | Singles",title:"Titel | Titel",track:"Track | Tracks",trackN:"0 Tracks | {n} Track | {n} Tracks",releaseN:"0 Releases | {n} Release | {n} Releases",playlist:"Playlist | Playlists",compile:"Sammlung | Sammlungen",ep:"EP | EPs",spotifyPlaylist:"Spotify Playlist | Spotify Playlists",releaseDate:"Ver\xF6ffentlichungsdatum",error:"Fehler"}},about:{titles:{usefulLinks:"N\xFCtzliche Links",bugReports:"Fehlermeldung",contributing:"Mitwirkende",donations:"Spenden",license:"Lizenz"},subtitles:{bugReports:"Funktioniert etwas in Deemix nicht? Sag uns bescheid!",contributing:"Du m\xF6chtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!",donations:"Du m\xF6chtest deemix finanziell unterst\xFCtzen? Dann lasse eine kleine Spende da!"},usesLibrary:"Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.",thanks:"Ein Dankesch\xF6n geht an rtonno, uhwot and lollilol f\xFCr die Hilfe bei diesem Projekt und an BasCurtiz f\xFCr die Erstellung des Logos.",upToDate:{text:"Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.",newsChannel:"News Channel"},officialWebsite:"Offizielle Website",officialRepo:"Offizielle Library Repository",officialWebuiRepo:"Offizielle WebUI Repository",officialSubreddit:"Offizieller Subreddit",newsChannel:"News Channel",questions:{text:"Bei Fragen oder Problemen mit der App, suche als erstes nach einer L\xF6sung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.",subreddit:"Subreddit"},beforeReporting:"Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden m\xF6chtest, tats\xE4chlich ein Bug ist und nicht nur bei dir falsch ist.",beSure:"Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.",duplicateReports:"Doppelte Fehlerberichte werden geschlossen, achte darauf.",dontOpenIssues:"ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit daf\xFCr.",newUI:{text:"Wenn du Python flie\xDFend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfl\xE4che f\xFCr die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.",repo:"deemix Repo"},acceptFeatures:"Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden k\xF6nnen.",otherLanguages:"Wenn du eine andere Programmiersprache flie\xDFend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!",understandingCode:"Du ben\xF6tigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.",contributeWebUI:{text:"Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, k\xF6nntest du etwas zum {webui} beitragen.",webui:"WebUI"},itsFree:"Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die K\xFCnstler unterst\xFCtzen, die du magst bevor du die Entwickler unterst\xFCtzt.",notObligated:"F\xFChle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!",lincensedUnder:{text:"Diese Arbeit ist lizensiert unter der {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Land wechseln",download:"Download Chart"},errors:{title:"Errors f\xFCr {name}",ids:{invalidURL:"URL nicht erkannt",unsupportedURL:"URL noch nicht unterst\xFCtzt",ISRCnotOnDeezer:"Track ISRC ist auf deezer nicht verf\xFCgbar",notYourPrivatePlaylist:"Du kannst keine privaten Playlisten anderer herunterladen.",spotifyDisabled:"Spotify-Funktionen sind nicht richtig eingerichtet",trackNotOnDeezer:"Track ist nicht verf\xFCgbar auf Deezer!",albumNotOnDeezer:"Album auf Deezer nicht gefunden!",notOnDeezer:"Track auf Deezer nicht verf\xFCgbar!",notEncoded:"Track noch nicht codiert!",notEncodedNoAlternative:"Track noch nicht codiert und keine Alternative gefunden!",wrongBitrate:"Track mit gew\xFCnschter Bitrate nicht gefunden.",wrongBitrateNoAlternative:"Track mit gew\xFCnschter Bitrate nicht gefunden und keine Alternative gefunden!",no360RA:"Track ist nicht verf\xFCgbar in Reality Audio 360.",notAvailable:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer!",notAvailableNoAlternative:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer und keine Alternativen gefunden!!"}},favorites:{title:"Favoriten",noPlaylists:"Keine Playlist gefunden",noAlbums:"Keine favorisierten Alben gefunden",noArtists:"Keine favorisierten K\xFCnstler gefunden",noTracks:"Keine favorisierten Tracks gefunden"},home:{needTologin:"Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.",openSettings:"Einstellungen \xF6ffnen",sections:{popularPlaylists:"Beliebte Playlists",popularAlbums:"Meistgestreamte Alben"}},linkAnalyzer:{info:"Diesen Abschnitt kannst du nutzen, um weitere Informationen \xFCber den gew\xFCnschten Link zu erhalten, den du herunterladen m\xF6chtest.",useful:"Dies ist z.B. n\xFCtzlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verf\xFCgbar sind, und du wissen m\xF6chtest, wo sie verf\xFCgbar sind.",linkNotSupported:"Dieser Link wird noch nicht unterst\xFCtzt",linkNotSupportedYet:"Es scheint so, als ob dieser Link noch nicht unterst\xFCtzt wird. Versuche einen anderen Link zu analysieren.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dauer",diskNumber:"CD Nummer",trackNumber:"Track Nummer",releaseDate:"Ver\xF6ffentlichungsdatum",bpm:"BPM",label:"Label",recordType:"Art der Aufnahme",genres:"Genres",tracklist:"Trackliste"}},search:{startSearching:"Suche starten!",description:"Du kannst einen Titel, ein ganzes Album, einen K\xFCnstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einf\xFCgen",fans:"{n} Fans",noResults:"Keine Ergebnisse",noResultsTrack:"Keine Tracks gefunden",noResultsAlbum:"Keine Alben gefunden",noResultsArtist:"Keinen K\xFCnstler gefunden",noResultsPlaylist:"Keine Playlist gefunden"},searchbar:"Suche nach allem, was dir gef\xE4llt (oder f\xFCge einfach einen Link ein)",downloads:"Downloads",toasts:{addedToQueue:"{item} zur Warteschlange hinzugef\xFCgt",alreadyInQueue:"{item} ist bereits in der Warteschlange!",finishDownload:"{item} vollst\xE4ndig heruntergeladen.",allDownloaded:"Alle Downloads abgeschlossen!",refreshFavs:"Abgeschlossene Downloads neu laden!",loggingIn:"Einloggen",loggedIn:"Eingeloggt",alreadyLogged:"Bereits eingeloggt",loginFailed:"Login fehlgeschlagen",loggedOut:"Ausgeloggt",cancellingCurrentItem:"Aktuelle Auswahl abbrechen.",currentItemCancelled:"Aktuelle Auswahl wurde abgebrochen",startAddingArtist:"{artist} Alben werden hinzugef\xFCgt",finishAddingArtist:"{artist} Alben wurden hinzugef\xFCgt",startConvertingSpotifyPlaylist:"Konvertierern von Spotify-Tracks zu Deezer-Tracks",finishConvertingSpotifyPlaylist:"Spotify Playlist convertiert"},settings:{title:"Einstellungen",languages:"Sprachen",login:{title:"Login",loggedIn:"Du bist eingeloggt als {username}",arl:{question:"Wie bekomme ich meine eigene ARL?",update:"Update ARL"},logout:"Logout"},appearance:{title:"Design",slimDownloadTab:"schmaler Download-Tab"},downloadPath:{title:"Download Pfad"},templates:{title:"Vorlagen",tracknameTemplate:"Vorlage f\xFCr den Tracknamen",albumTracknameTemplate:"Vorlage f\xFCr Tracks in einem Album",playlistTracknameTemplate:"Vorlage f\xFCr Tracks in einer Playlist"},folders:{title:"Folders",createPlaylistFolder:"Ordner f\xFCr Playlist erstellen",playlistNameTemplate:"Vorlage f\xFCr Playlist-Ordner",createArtistFolder:"Ordner f\xFCr K\xFCnstler erstellen",artistNameTemplate:"Vorlage f\xFCr K\xFCnstler-Ordner",createAlbumFolder:"Ordner f\xFCr Album erstellen",albumNameTemplate:"Vorlage f\xFCr Album-Ordner",createCDFolder:"Ordner f\xFCr CDs erstellen",createStructurePlaylist:"Erstellen von K\xFCnstler-, Alben- und CD-Ordnern auch f\xFCr Playlists",createSingleFolder:"Ordner f\xFCr einzelne Titel erstellen"},trackTitles:{title:"Songtitel",padTracks:"Einheitliche L\xE4nge der Titelnummern (voranstehende Nullen werden erg\xE4nzt)",paddingSize:"Innenabstand \xFCberschreiben",illegalCharacterReplacer:"Unzul\xE4ssige Zeichen ersetzen"},downloads:{title:"Downloads",queueConcurrency:"Gleichzeitige Downloads",maxBitrate:{title:"Bevorzugte Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Soll ich die Dateien \xFCberchreiben?",y:"Ja \xFCberschreibe die Dateien",n:"Nein \xFCberschreibe die Dateien nicht",t:"\xDCberschreibe nur die Tags",b:"Nein, behalte beide Dateien und f\xFCge der Kopie eine Nummer hinzu"},fallbackBitrate:"Falls gew\xFCnschte Bitrate nicht verf\xFCgbar, auf niedrigere Bitrate zur\xFCckgreifen",fallbackSearch:"Zur Suche zur\xFCckkehren, wenn der Song nicht verf\xFCgbar ist",logErrors:"Protokolldatei f\xFCr Fehler im Download-Ordner erstellen",logSearched:"Protokolldatei f\xFCr gesuchte Titel erstellen",createM3U8File:"Erstelle Playlist-Datei (M3U8)",syncedLyrics:"Erstelle synchrone Lyrics-Datei (.lyr)",playlistFilenameTemplate:"Vorlage f\xFCr den Namen der Playlist",saveDownloadQueue:"Download-Warteschlange beim Schlie\xDFen der App speichern"},covers:{title:"Album Cover",saveArtwork:"Cover speichern",coverImageTemplate:"Vorlage f\xFCr den Covernamen",saveArtworkArtist:"Speichere das K\xFCnstlerbild",artistImageTemplate:"Vorlage des K\xFCnstlerbildes",localArtworkSize:"Lokale Grafikgr\xF6\xDFe",embeddedArtworkSize:"Eingebettete Grafikgr\xF6\xDFe",localArtworkFormat:{title:"Welches Datei-Format soll das Cover haben?",jpg:"Ein jpg Bild",png:"Ein png Bild",both:"Beides (jpg + png)"},jpegImageQuality:"JPEG Qualit\xE4t"},tags:{head:"Welche Tags sollen gespeichert werden?",title:"Titel",artist:"K\xFCnstler",album:"Album",cover:"Cover",trackNumber:"Titelnummer",trackTotal:"Titelanzahl",discNumber:"CD Nummer",discTotal:"CDs insgesamt",albumArtist:"Album K\xFCnstler",genre:"Genre",year:"Jahr",date:"Datum",explicit:"Explizite Lyrics",isrc:"ISRC",length:"Titel L\xE4nge",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Wiedergabe Lautst\xE4rke",label:"Album Plattenlabel",lyrics:"Nicht synchronisierte Texte",copyright:"Copyright",composer:"Komponist",involvedPeople:"Mitwirkende Personen"},other:{title:"Sonstige",savePlaylistAsCompilation:"Speichere Playlist als Zusammenstellung",useNullSeparator:"Verwende Nulltrennzeichen",saveID3v1:"Speichere ID3v1 ebenfalls",multiArtistSeparator:{title:"Wie m\xF6chtest du die K\xFCnstler trennen?",nothing:"Speichere nur den Hauptk\xFCnstler",default:"Verwende Standard Spezifikationen",andFeat:"Verwende & und feat.",using:'Verwende "{separator}"'},singleAlbumArtist:"Nur den Hauptk\xFCnstler speichern",albumVariousArtists:'Verschiedene K\xFCnstler" im Album K\xFCnstler Tag behalten',removeAlbumVersion:'Entferne die "Album Version" vom Songtitel',removeDuplicateArtists:"Kombinationen von K\xFCnstlern entfernen",dateFormat:{title:"Datumsformatierung f\xFCr FLAC Dateien",year:"JJJJ",month:"MM",day:"TT"},featuredToTitle:{title:"Was soll ich mit featured Artists machen?",0:"Nichts",1:"Vom Titel entfernen",3:"Vom Titel und Albumtitel entfernen",2:"Zu dem Titel hinzuf\xFCgen"},titleCasing:"Titel-Schreibweise",artistCasing:"K\xFCnstler-Schreibweise",casing:{nothing:"Unbearbeitet lassen",lower:"klein",upper:"GROSS",start:"Wortanfang Gross",sentence:"Satzanfang gross"},previewVolume:"Vorschau der Lautst\xE4rke",executeCommand:{title:"Befehl, der nach dem Download ausgef\xFChrt werden soll",description:"Leer lassen ohne Aktion"}},spotify:{title:"Spotify Features",clientID:"Spotify Client ID",clientSecret:"Spotify Client Secret",username:"Spotify Benutzername"},reset:"Auf Standardwerte zur\xFCcksetzen",save:"Speichern",toasts:{init:"Einstellungen geladen!",update:"Einstellungen aktualisiert!",ARLcopied:"ARL wurde in die Zwischenablage kopiert"}},sidebar:{home:"Home",search:"Suche",charts:"Charts",favorites:"Favoriten",linkAnalyzer:"Link Analyse",settings:"Einstellungen",about:"Info"},tracklist:{downloadSelection:"Downloads"}},fr={globals:{welcome:"Bienvenue dans deemix",back:"retour",loading:"chargement en cours",download:"T\xE9l\xE9charger {thing}",by:"par {artist}",in:"dans {album}",download_hint:"T\xE9l\xE9charger",play_hint:"Lire",toggle_download_tab_hint:"D\xE9velopper/R\xE9duire",clean_queue_hint:"Retirer Les T\xE2ches Termin\xE9es",cancel_queue_hint:"Tout Annuler",open_downloads_folder:"Ouvrir Le Dossier De T\xE9l\xE9chargements",cut:"couper",copy:"copier",copyLink:"copier le lien",copyImageLink:"copier le lien de l'image",copyDeezerLink:"copier le lien deezer",paste:"coller",listTabs:{empty:"",all:"tout",top_result:"meilleur r\xE9sultat",album:"album | albums",artist:"artiste | artistes",single:"single | singles",title:"titre | titres",track:"piste | pistes",releaseN:"0 sortie | {n} sortie | {n} sorties",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"Plus d'albums",featured:"Appara\xEEt dans",spotifyPlaylist:"playlist spotify | playlists spotify",releaseDate:"date de sortie",error:"erreur",trackN:"0 piste | {n} piste | {n} pistes",albumN:"0 album | {n} album | {n} albums",artistN:"0 artiste | {n} artiste | {n} artistes",playlistN:"0 playlist | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app en ligne",offline:"app hors ligne"},updates:{currentVersion:"Version Actuelle",currentWebuiVersion:"Version Actuelle De La WebUI",versionNotAvailable:"N/A",updateAvailable:"Vous n'utilisez pas la derni\xE8re version disponible : {version}",deemixVersion:"Version de la biblioth\xE8que deemix"},titles:{usefulLinks:"Liens Utiles",bugReports:"Rapports De Bug",contributing:"Contribution",donations:"Dons",license:"Licence"},subtitles:{bugReports:"Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !",contributing:"Vous souhaitez contribuer \xE0 ce projet ? Vous pouvez le faire de diff\xE9rentes mani\xE8res !",donations:"Vous souhaitez contribuer financi\xE8rement ? Vous pouvez faire un don !"},usesLibrary:"Cette application utilise la biblioth\xE8que deemix, que vous pouvez exploiter afin de cr\xE9er votre propre interface utilisateur pour deemix.",thanks:"Merci \xE0 rtonno, uhwot et lollilol de m'avoir aid\xE9 dans ce projet ainsi qu'\xE0 BasCurtiz pour la cr\xE9ation de l'ic\xF4ne.",upToDate:{text:"Restez inform\xE9 des mises \xE0 jour en suivant le {newsChannel} sur Telegram.",newsChannel:"canal d'informations"},officialWebsite:"Site Officiel",officialRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La Biblioth\xE8que",officialWebuiRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La WebUI",officialSubreddit:"Subreddit Officiel",newsChannel:"Canal d'Informations",questions:{text:"Si vous avez des questions ou des probl\xE8mes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en d\xE9crivant votre probl\xE8me.",subreddit:"subreddit"},beforeReporting:"Avant de signaler un bug, assurez-vous que vous utilisez la version la plus r\xE9cente de l'application. V\xE9rifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre c\xF4t\xE9.",beSure:"Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a d\xE9j\xE0 \xE9t\xE9 recens\xE9.",duplicateReports:"Les rapports de bug r\xE9p\xE9titifs seront supprim\xE9s, merci d'en prendre bonne note.",dontOpenIssues:"NE PAS rapporter de probl\xE8me s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.",newUI:{text:"Si vous ma\xEEtrisez python, vous pouvez essayer de cr\xE9er une nouvelle interface utilisateur pour l'application \xE0 l'aide de la biblioth\xE8que de base, ou corriger des bugs dans la biblioth\xE8que \xE0 l'aide d'une demande de fusion de branches (pull request) sur le {repo}.",repo:"r\xE9pertoire de d\xE9p\xF4t"},acceptFeatures:"J'accepte \xE9galement les nouvelles fonctionnalit\xE9s, mais pas de choses complexes, dans la mesure o\xF9 elles peuvent \xEAtre impl\xE9ment\xE9es directement dans l'application et non dans la biblioth\xE8que.",otherLanguages:"Si vous ma\xEEtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !",understandingCode:"Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.",contributeWebUI:{text:"Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer \xE0 la {webui}.",webui:"WebUI"},itsFree:"N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes pr\xE9f\xE9r\xE9s avant de supporter les d\xE9veloppeurs.",notObligated:"Ne vous sentez pas oblig\xE9 de faire un don, vous \xEAtes tout de m\xEAme appr\xE9ci\xE9 !",lincensedUnder:{text:"Ce projet s'inscrit dans le cadre de la {gpl3}.",gpl3:"Licence publique g\xE9n\xE9rale GNU, version 3"}},charts:{title:"Classements",changeCountry:"Changer De Pays",download:"T\xE9l\xE9charger Le Classement"},errors:{title:"Erreurs pour {name}",ids:{invalidURL:"Cette URL n'est pas reconnue",unsupportedURL:"Cette URL n'est actuellement pas support\xE9e",ISRCnotOnDeezer:"L'ISRC de la piste est indisponible sur Deezer",notYourPrivatePlaylist:"Vous n'\xEAtes pas autoris\xE9 \xE0 t\xE9l\xE9charger les playlists priv\xE9es de quelqu'un d'autre.",spotifyDisabled:"Les Fonctionnalit\xE9s Spotify ne sont pas configur\xE9es correctement.",trackNotOnDeezer:"La piste est introuvable sur Deezer !",albumNotOnDeezer:"L'album est introuvable sur Deezer !",notOnDeezer:"La piste est indisponible sur Deezer !",notEncoded:"La piste n'a pas encore \xE9t\xE9 encod\xE9e !",notEncodedNoAlternative:"La piste n'a pas encore \xE9t\xE9 encod\xE9e et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",wrongBitrate:"La piste est introuvable au d\xE9bit souhait\xE9.",wrongBitrateNoAlternative:"La piste est introuvable au d\xE9bit souhait\xE9 et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",no360RA:"La piste est indisponible au format Reality Audio 360.",notAvailable:"La piste est indisponible sur les serveurs de Deezer !",notAvailableNoAlternative:"La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",noSpaceLeft:"L'espace disponible sur cet appareil est insuffisant !",albumDoesntExists:"Aucun album n'existe pour cette piste, impossible de collecter les informations n\xE9cessaires"}},favorites:{title:"Favoris",noPlaylists:"Aucune Playlist n'a \xE9t\xE9 trouv\xE9e",noAlbums:"Aucun Album Favori n'a \xE9t\xE9 trouv\xE9",noArtists:"Aucun Artiste Favori n'a \xE9t\xE9 trouv\xE9",noTracks:"Aucune Piste Favorite n'a \xE9t\xE9 trouv\xE9e"},home:{needTologin:"Vous devez vous connecter \xE0 votre compte Deezer avant de pouvoir d\xE9marrer un t\xE9l\xE9chargement.",openSettings:"Ouvrir Les Param\xE8tres",sections:{popularPlaylists:"Playlists les plus \xE9cout\xE9es",popularAlbums:"Albums les plus \xE9cout\xE9s"}},linkAnalyzer:{info:"Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de t\xE9l\xE9charger.",useful:"C'est utile si vous essayez, par exemple, de t\xE9l\xE9charger des pistes indisponibles dans votre pays et que vous souhaitez savoir o\xF9 elles sont disponibles.",linkNotSupported:"Ce lien n'est pas encore pris en charge",linkNotSupportedYet:"Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dur\xE9e",diskNumber:"Num\xE9ro De Disque",trackNumber:"Num\xE9ro De Piste",releaseDate:"Date De Sortie",bpm:"BPM",label:"Label",recordType:"Type d'Enregistrement",genres:"Genres",tracklist:"Liste Des Pistes"}},search:{startSearching:"D\xE9marrer une recherche !",description:"Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez \xE9galement coller un lien Deezer.",fans:"{n} fans",noResults:"Aucun r\xE9sultat",noResultsTrack:"Aucune piste n'a \xE9t\xE9 trouv\xE9e",noResultsAlbum:"Aucun album n'a \xE9t\xE9 trouv\xE9",noResultsArtist:"Aucun artiste n'a \xE9t\xE9 trouv\xE9",noResultsPlaylist:"Aucune playlist n'a \xE9t\xE9 trouv\xE9e"},searchbar:"Saisissez une requ\xEAte (ou collez simplement un lien)",downloads:"t\xE9l\xE9chargements",toasts:{restoringQueue:"Restauration de la file d'attente de t\xE9l\xE9chargement...",queueRestored:"La file d'attente de t\xE9l\xE9chargement a \xE9t\xE9 restaur\xE9e !",addedToQueue:"{item} ajout\xE9 \xE0 la file d'attente",addedMoreToQueue:"{n} \xE9l\xE9ments ajout\xE9s \xE0 la file d'attente",alreadyInQueue:"{item} est d\xE9j\xE0 dans la file d'attente !",finishDownload:"{item} a \xE9t\xE9 t\xE9l\xE9charg\xE9.",allDownloaded:"Tous les t\xE9l\xE9chargements sont termin\xE9s !",refreshFavs:"Actualisation termin\xE9e !",loggingIn:"Connexion en cours...",loggedIn:"Connect\xE9",alreadyLogged:"D\xE9j\xE0 connect\xE9",loginFailed:"Connexion impossible",loggedOut:"D\xE9connect\xE9",cancellingCurrentItem:"Annulation de l'\xE9l\xE9ment actuel.",currentItemCancelled:"\xC9l\xE9ment actuel annul\xE9.",startAddingArtist:"Ajout des albums de {artist} \xE0 la file d'attente",finishAddingArtist:"Les albums de {artist} ont \xE9t\xE9 ajout\xE9s \xE0 la file d'attente",startConvertingSpotifyPlaylist:"Conversion de pistes Spotify en \xE9quivalents Deezer",finishConvertingSpotifyPlaylist:"Playlist Spotify convertie",loginNeededToDownload:"Vous devez vous connecter pour pouvoir t\xE9l\xE9charger des pistes !",deezerNotAvailable:"Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.",startGeneratingItems:"Traitement de {n} \xE9l\xE9ments...",finishGeneratingItems:"{n} \xE9l\xE9ments ont \xE9t\xE9 g\xE9n\xE9r\xE9s."},settings:{title:"Param\xE8tres",languages:"Langues",login:{title:"Connexion",loggedIn:"Vous \xEAtes connect\xE9 en tant que {username}",arl:{question:"Comment obtenir mon ARL personnel ?",update:"Mettre \xE0 jour l'ARL"},logout:"D\xE9connexion",login:"Connexion via deezer.com"},appearance:{title:"Apparence",slimDownloadTab:"Onglet de t\xE9l\xE9chargement compact",slimSidebar:"Barre lat\xE9rale compacte"},downloadPath:{title:"Emplacement De T\xE9l\xE9chargement"},templates:{title:"Mod\xE8les",tracknameTemplate:"Mod\xE8le pour le nom de piste",tracknameAvailableVariables:"Variables disponibles pour le nom de piste",albumTracknameTemplate:"Mod\xE8le pour le nom de piste de l'album",albumTracknameAvailableVariables:"Variables disponibles pour le nom de piste de l'album",playlistTracknameTemplate:"Mod\xE8le pour le nom de piste de la playlist",playlistTracknameAvailableVariables:"Variables disponibles pour le nom de piste de la playlist"},folders:{title:"Dossiers",createPlaylistFolder:"G\xE9n\xE9rer des dossiers par playlist",playlistNameTemplate:"Mod\xE8le pour le nom du dossier de playlist",createArtistFolder:"G\xE9n\xE9rer des dossiers par artiste",artistNameTemplate:"Mod\xE8le pour le nom du dossier d'artiste",createAlbumFolder:"G\xE9n\xE9rer des dossiers par album",albumNameTemplate:"Mod\xE8le pour le nom du dossier d'album",createCDFolder:"G\xE9n\xE9rer des dossiers par CD",createStructurePlaylist:"G\xE9n\xE9rer une structure de dossiers pour les playlists",createSingleFolder:"G\xE9n\xE9rer une structure de dossiers pour les singles"},trackTitles:{title:"Titres des pistes",padTracks:"Longueur uniforme des num\xE9ros de piste (ajoute automatiquement des z\xE9ros devant le num\xE9ro initial de la piste)",paddingSize:"Nombre de z\xE9ros \xE0 ajouter en permanence devant le num\xE9ro initial de la piste",illegalCharacterReplacer:"Substitut aux caract\xE8res non autoris\xE9s (dans les noms de fichiers et de dossiers)"},downloads:{title:"T\xE9l\xE9chargements",queueConcurrency:"T\xE9l\xE9chargements Simultan\xE9s",maxBitrate:{title:"D\xE9bit Pr\xE9f\xE9r\xE9",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Les fichiers doivent-ils \xEAtre \xE9cras\xE9s ?",y:"Oui, \xE9craser le fichier",n:"Non, ne pas \xE9craser le fichier",t:"\xC9craser uniquement les m\xE9tadonn\xE9es",b:"Non, conserver les deux fichiers et ajouter un num\xE9ro au doublon",e:"Non, et ne pas tenir compte de l'extension du fichier"},fallbackBitrate:"Recourir \xE0 un d\xE9bit plus faible si le d\xE9bit pr\xE9f\xE9r\xE9 n'est pas disponible",fallbackSearch:"Rechercher la piste si le lien original n'est pas disponible",logErrors:"Cr\xE9er un fichier journal d'erreurs",logSearched:"Cr\xE9er un fichier journal des pistes recherch\xE9es",createM3U8File:"Cr\xE9er un fichier de playlist",syncedLyrics:"Cr\xE9er des fichiers .lyr (Paroles Synchronis\xE9es)",playlistFilenameTemplate:"Mod\xE8le du nom de fichier de la playlist",saveDownloadQueue:"Enregistrer la file d'attente de t\xE9l\xE9chargement \xE0 la fermeture de l'application"},covers:{title:"Pochettes d'albums",saveArtwork:"Enregistrer Les Pochettes",coverImageTemplate:"Mod\xE8le pour le nom de la pochette",saveArtworkArtist:"Enregistrer l'image de l'artiste",artistImageTemplate:"Mod\xE8le pour le nom de l'image de l'artiste",localArtworkSize:"Taille de l'illustration locale",embeddedArtworkSize:"Taille de l'illustration incorpor\xE9e aux fichiers audio",localArtworkFormat:{title:"Dans quel format souhaitez-vous l'illustration locale ?",jpg:"Une image jpeg",png:"Une image png",both:"\xC0 la fois jpeg et png"},jpegImageQuality:"Qualit\xE9 de l'image JPEG",embeddedArtworkPNG:"Enregistrer l'illustration incorpor\xE9e aux fichiers audio en tant que PNG",embeddedPNGWarning:"Les images PNG ne sont pas officiellement utilis\xE9es par Deezer et pourraient causer des probl\xE8mes.",imageSizeWarning:"Toute valeur sup\xE9rieure \xE0 x1200 n'est pas officiellement support\xE9e par Deezer, vous pourriez donc rencontrer des probl\xE8mes.",coverDescriptionUTF8:"Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)"},tags:{head:"M\xE9tadonn\xE9es \xE0 sauvegarder",title:"Titre",artist:"Artiste",album:"Album",cover:"Pochette",trackNumber:"Num\xE9ro De Piste",trackTotal:"Nombre De Pistes",discNumber:"Num\xE9ro Du Disque",discTotal:"Nombre De Disques",albumArtist:"Artiste De l'Album",genre:"Genre",year:"Ann\xE9e",date:"Date",explicit:"Paroles Explicites",isrc:"ISRC",length:"Longueur De La Piste",barcode:"Code-Barres De l'Album (UPC)",bpm:"BPM",replayGain:"Gain En Relecture (Replay Gain)",label:"Label De l'Album",lyrics:"Paroles Non-Synchronis\xE9es",syncedLyrics:"Paroles Synchronis\xE9es",copyright:"Droits d'Auteur (Copyright)",composer:"Compositeur",involvedPeople:"Personnes Impliqu\xE9es",source:"ID de la source et de la piste"},other:{title:"Autre",savePlaylistAsCompilation:"Enregistrer les playlists en tant que compilation",useNullSeparator:"Utiliser le caract\xE8re NULL comme s\xE9parateur",saveID3v1:"Enregistrer \xE9galement les m\xE9tadonn\xE9es ID3v1",multiArtistSeparator:{title:"Comment aimeriez-vous s\xE9parer les artistes ?",nothing:"Enregistrer uniquement l'artiste principal",default:"En utilisant la sp\xE9cification standard",andFeat:"En utilisant & et feat.",using:'En utilisant "{separator}"'},singleAlbumArtist:"Enregistrer uniquement l'artiste principal de l'album",albumVariousArtists:`Conserver "Various Artists" dans les Artistes de l'Album`,removeAlbumVersion:'Supprimer "Album Version" du titre de la piste',removeDuplicateArtists:"Supprimer les combinaisons d'artistes",dateFormat:{title:"Format de date pour les fichiers FLAC",year:"AAAA",month:"MM",day:"JJ"},featuredToTitle:{title:"Que faire des artistes participants (featuring) ?",0:"Ne rien faire",1:"Les retirer du titre de la piste",3:"Les supprimer du titre de la piste et du titre de l'album",2:"Les d\xE9placer vers le titre de la piste"},titleCasing:"Casse pour le titre",artistCasing:"Casse pour l'artiste",casing:{nothing:"Conserver inchang\xE9",lower:"minuscules",upper:"MAJUSCULES",start:"Majuscule Au D\xE9but De Chaque Mot",sentence:"Majuscule seulement au d\xE9but de la phrase"},previewVolume:"Volume sonore des aper\xE7us de pistes",executeCommand:{title:"Commande \xE0 ex\xE9cuter apr\xE8s le t\xE9l\xE9chargement",description:"Laisser vide pour qu'aucune action n'ait lieu"}},spotify:{title:"Fonctionnalit\xE9s Spotify",clientID:"clientID Spotify",clientSecret:"Client Secret Spotify",username:"Nom d'utilisateur Spotify",question:"Comment activer les Fonctionnalit\xE9s Spotify ?"},reset:"R\xE9tablir les valeurs par d\xE9faut",resetMessage:"Souhaitez-vous vraiment r\xE9tablir les param\xE8tres par d\xE9faut ?",save:"Sauvegarder",toasts:{init:"Param\xE8tres charg\xE9s !",update:"Param\xE8tres mis \xE0 jour !",reset:"Param\xE8tres r\xE9initialis\xE9s \xE0 leur valeur par d\xE9faut !",ARLcopied:"ARL copi\xE9 dans le presse-papier"}},sidebar:{home:"accueil",search:"recherche",charts:"classements",favorites:"favoris",linkAnalyzer:"analyseur de lien",settings:"param\xE8tres",about:"\xE0 propos"},tracklist:{downloadSelection:"T\xE9l\xE9charger la s\xE9lection"}},id={globals:{welcome:"Selamat datang di deemix",back:"kembali",loading:"memuat",download:"Mengunduh {thing}",by:"oleh {artist}",in:"di {album}",download_hint:"Unduh",play_hint:"Putar",toggle_download_tab_hint:"Buka/Tutup",clean_queue_hint:"Berhasil Mengosongkan",cancel_queue_hint:"Batalkan Semua",listTabs:{empty:"",all:"semua",top_result:"hasil teratas",album:"album | album",artist:"artis | artis",single:"singel | singel",title:"judul | judul",track:"lagu | lagu",trackN:"0 lagu | {n} lagu | {n} lagu",releaseN:"0 rilis | {n} rilis | {n} rilis",playlist:"daftar putar | daftar putar",compile:"kompilasi | kompilasi",ep:"ep | ep",spotifyPlaylist:"daftar putar spotify | daftar putar spotify",releaseDate:"tanggal rilis",error:"galat"}},about:{titles:{usefulLinks:"Tautan Berguna",bugReports:"Laporan Kesalahan",contributing:"Kontirbutor",donations:"Donasi",license:"Lisensi"},subtitles:{bugReports:"Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!",contributing:"Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!",donations:"Mau kontribusi secara finansial? Kamu bisa beri donasi!"},usesLibrary:"Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.",thanks:"Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.",upToDate:{text:"Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.",newsChannel:"kanal berita deemix"},officialWebsite:"Situs Web Resmi",officialRepo:"Repositori Pustaka Resmi",officialWebuiRepo:"Repositori WebUI Resmi",officialSubreddit:"Subreddit Resmi",newsChannel:"Kanal Berita",questions:{text:"Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.",subreddit:"subreddit"},beforeReporting:"Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.",beSure:"Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.",duplicateReports:"Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.",dontOpenIssues:"JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.",newUI:{text:"Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.",repo:"repo"},acceptFeatures:"Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.",otherLanguages:"Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!",understandingCode:"Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.",contributeWebUI:{text:"Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.",webui:"WebUI"},itsFree:"Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.",notObligated:"Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!",lincensedUnder:{text:"Pekerjaan ini ada di bawah lisensi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Tangga Lagu",changeCountry:"Ubah Negara",download:"Unduh Tangga Lagu"},errors:{title:"Galat untuk {name}",ids:{invalidURL:"URL tidak dikenal",unsupportedURL:"URL belum didukung",ISRCnotOnDeezer:"Lagu ISRC tidak tersedia di deezer",notYourPrivatePlaylist:"Kamu tidak bisa mengunduh daftar putar privat orang lain.",spotifyDisabled:"Fitur Spotify tidak diatur dengan benar.",trackNotOnDeezer:"Lagu tidak ditemukan di deezer!",albumNotOnDeezer:"Album tidak ditemukan di deezer!",notOnDeezer:"Lagu tidak ada di Deezer!",notEncoded:"Lagu belum di-encode!",notEncodedNoAlternative:"Lagu belum di-encode dan tidak ada alternatif lain!",wrongBitrate:"Lagu tidak tersedia pada bitrate yang diinginkan.",wrongBitrateNoAlternative:"Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!",no360RA:"Lagu tidak tersedia pada Reality Audio 360.",notAvailable:"Lagu tidak tersedia pada server deezer!",notAvailableNoAlternative:"Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!"}},favorites:{title:"Favorit",noPlaylists:"Daftar Putar kosong",noAlbums:"Album Favorit kosong",noArtists:"Artis Favorit kosong",noTracks:"Lagu Favorit kosong"},home:{needTologin:"Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.",openSettings:"Buka Pengaturan",sections:{popularPlaylists:"Daftar putar populer",popularAlbums:"Album paling banyak diputar"}},linkAnalyzer:{info:"Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.",useful:"Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.",linkNotSupported:"Tautan seperti ini belum didukung",linkNotSupportedYet:"Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durasi",diskNumber:"Nomor Disk",trackNumber:"Nomor Lagu",releaseDate:"Tanggal Rilis",bpm:"BPM",label:"Label",recordType:"Tipe Rekaman",genres:"Genre",tracklist:"Daftar Lagu"}},search:{startSearching:"Mulai cari!",description:"Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer",fans:"{n} fan",noResults:"Tak ada hasil",noResultsTrack:"Lagu tidak ditemukan",noResultsAlbum:"Album tidak ditemukan",noResultsArtist:"Artis tidak ditemukan",noResultsPlaylist:"Daftar putar tidak ditemukan"},searchbar:"Cari apa pun yang kamu mau (atau berikan tautannya saja)",downloads:"unduhan",toasts:{addedToQueue:"{item} ditambah ke antrian",alreadyInQueue:"{item} sudah ada di antrian!",finishDownload:"{item} selesai diunduh.",allDownloaded:"Seluruh unduhan selesai!",refreshFavs:"Penyegaran selesai!",loggingIn:"Masuk",loggedIn:"Telah masuk",alreadyLogged:"Telah masuk",loginFailed:"Tidak bisa masuk",loggedOut:"Belum masuk",cancellingCurrentItem:"Membatalkan item.",currentItemCancelled:"Item telah dibatalan.",startAddingArtist:"Menambahkan {artist} album ke antrian",finishAddingArtist:"{artist} album telah ditambahkan ke antrian",startConvertingSpotifyPlaylist:"Mengonversi lagu spotify ke deezer",finishConvertingSpotifyPlaylist:"Daftar putar Spotify selesai dikonversi"},settings:{title:"Pengaturan",languages:"Bahasa",login:{title:"Masuk",loggedIn:"Kamu telah masuk sebagai {username}",arl:{question:"Bagaimana cara mendapat ARL?",update:"Perbarui ARL"},logout:"Keluar"},appearance:{title:"Tampilan",slimDownloadTab:"Tab unduhan ramping"},downloadPath:{title:"Direktori Unduhan"},templates:{title:"Templat",tracknameTemplate:"Templat judul lagu",albumTracknameTemplate:"Templat judul album",playlistTracknameTemplate:"Templat judul daftar putar"},folders:{title:"Folders",createPlaylistFolder:"Buat folder untuk daftar putar",playlistNameTemplate:"Templat folder daftar putar",createArtistFolder:"Buat folder untuk artis",artistNameTemplate:"Templat folder artis",createAlbumFolder:"Buat folder untuk album",albumNameTemplate:"Templat folder album",createCDFolder:"Buat folder untuk CD",createStructurePlaylist:"Buat struktur folder untuk daftar putar",createSingleFolder:"Buat struktur folder untuk singel"},trackTitles:{title:"Judul lagu",padTracks:"Judul pad",paddingSize:"Timpa ukuran padding",illegalCharacterReplacer:"Pengubah Simbol Tak Terdukung"},downloads:{title:"Unduhan",queueConcurrency:"Unduhan Bersamaan",maxBitrate:{title:"Bitrate Prioritas",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Apakah file mau ditimpa?",y:"Ya, silakan",n:"Tidak, jangan ditimpa",t:"Timpa tag-nya saja"},fallbackBitrate:"Rendahkan bitrate",fallbackSearch:"Cari bitrate lebih rendah",logErrors:"Buat file log untuk galat",logSearched:"Buat file log untuk lagu yang dicari",createM3U8File:"Buat file daftar putar",syncedLyrics:"Buat file .lyr (Sinkronisasikan Lirik)",playlistFilenameTemplate:"Templat nama file untuk daftar putar",saveDownloadQueue:"Simpan antrian pengunduhan saat menutup aplikasi"},covers:{title:"Sampul album",saveArtwork:"Simpan Sampul",coverImageTemplate:"Templat nama sampul",saveArtworkArtist:"Simpan gambar artis",artistImageTemplate:"Templat gambar artis",localArtworkSize:"Ukuran sampul lokal",embeddedArtworkSize:"Ukuran sampul tertanam",localArtworkFormat:{title:"Format gambar apa yang kamu mau untuk sampul lokal?",jpg:"Gambar JPEG",png:"Gambar PNG",both:"Keduanya"},jpegImageQuality:"Kualitas gambar JPEG"},tags:{head:"Tag apa saja yang disimpan?",title:"Judul",artist:"Artis",album:"Album",cover:"Sampul",trackNumber:"Nomor Lagu",trackTotal:"Jumlah Lagu",discNumber:"Nomor Disk",discTotal:"Jumlah Disk",albumArtist:"Artis pada Album",genre:"Genre",year:"Tahun",date:"Tanggal",explicit:"Lirik Eksplisit",isrc:"ISRC",length:"Durasi",barcode:"Barcode Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label Album",lyrics:"Lirik Tak Tersinkronisasi",copyright:"Hak Cipta",composer:"Komposer",involvedPeople:"Orang-Orang Terlibat"},other:{title:"Lainnya",savePlaylistAsCompilation:"Simpan daftar putar sebagai kompilasi",useNullSeparator:"Gunakan separator null",saveID3v1:"Simpan juga ID3v1",multiArtistSeparator:{title:"Bagaimana kamu mau memisahkan nama artis?",nothing:"Simpan artis utamanya saja",default:"Gunakan spesifikasi standard",andFeat:"Gunakan & dan feat.",using:'Gunakan "{separator}"'},singleAlbumArtist:"Simpan artis utama saja",albumVariousArtists:'Simpan "Various Artists" sebagai artis',removeAlbumVersion:'Hapus "Versi Album" dari judul lagu',removeDuplicateArtists:"Hapus kombinasi artis",dateFormat:{title:"Format tanggal untuk file FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Apa yang harus dilakukan jika ada artis kedua?",0:"Biarkan saja",1:"Hapus dari judul lagu",3:"Hapus dari judul lagu dan judul album",2:"Pindahkan ke judul lagu"},titleCasing:"Kapitalisasi judul",artistCasing:"Kapitalisasi album",casing:{nothing:"Biarkan seadanya",lower:"huruf kecil",upper:"HURUF KAPITAL",start:"Setiap Awal Kata",sentence:"Huruf pertama saja"},previewVolume:"Pratinjau volume",executeCommand:{title:"Perintah yang dijalankan setelah pengunduhan",description:"Biarkan kosong jika tidak ada"}},spotify:{title:"Fitur Spotify",clientID:"clientID Spotify ",clientSecret:"Client Secret Spotify ",username:"Username Spotify"},reset:"Kembalikan ke Awal",save:"Simpan",toasts:{init:"Pengaturan dimuat!",update:"Pengaturan diperbarui!",ARLcopied:"ARL tersalin ke papan klip"}},sidebar:{home:"utama",search:"cari",charts:"tangga lagu",favorites:"favorit",linkAnalyzer:"penganalisa tautan",settings:"pengaturan",about:"tentang"},tracklist:{downloadSelection:"Seleksi unduhan"}},pt={globals:{welcome:"Bem-vindo ao deemix",back:"voltar",loading:"A carregar",download:"Transferir {thing}",by:"por {artist}",in:"em {album}",download_hint:"Transferir",play_hint:"Tocar",toggle_download_tab_hint:"Expandir/Recolher",clean_queue_hint:"Limpar Finalizados",cancel_queue_hint:"Cancelar Tudo",listTabs:{empty:"",all:"Tudo",top_result:"melhor resultado",album:"\xE1lbum | \xE1lbums",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amentos | {n} lan\xE7amento | {n} lan\xE7amento",playlist:"lista de reprodu\xE7\xE3o | listas de reprodu\xE7\xE3o",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"lista de reprodu\xE7\xE3o spotify | listas de reprodu\xE7\xE3o spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relat\xF3rio de erros",contributing:"Contribuir",donations:"Doa\xE7\xF5es",license:"Licen\xE7as"},subtitles:{bugReports:"Existe alguma coisa que n\xE3o funciona no deemix? Informa-nos!",contributing:"Queres contribuir para o projecto? Podes faz\xEA-lo de diferentes formas!",donations:"Desejas contribuir monetariamente? Faz uma doa\xE7\xE3o!"},usesLibrary:"Esta aplica\xE7\xE3o usa a biblioteca deemix, que poder\xE1s usar para desenvolver o teu proprio UI para o deemix.",thanks:"Agrade\xE7o a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o \xEDcone.",upToDate:{text:"Mantem-te atualizado seguindo o {newsChannel} no Telegram.",newsChannel:"canal de not\xEDcias"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio Oficial da Biblioteca",officialWebuiRepo:"Reposit\xF3rio Oficial WebUI",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solu\xE7\xE3o no {subreddit}. Caso n\xE3o encontres nada podes criar um post com a tua quest\xE3o no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportares um bug certifica-te que est\xE1s a correr a vers\xE3o mais recente e que o que queres reportar \xE9 mesmo um bug e n\xE3o algo que apenas n\xE3o funciona do teu lado.",beSure:"Certifica-te que o erro \xE9 reprodutivel noutros dispositivos e N\xC3O reportes um bug que j\xE1 tenha sido reportado.",duplicateReports:"Bug reports duplicados ser\xE3o fechados, mant\xE9m-te atento a isso.",dontOpenIssues:"N\xC3O abras issues para colocar quest\xF5es, existe um subreddit para isso.",newUI:{text:"Caso sejas fluente em python podes tentar criar um novo UI para a aplica\xE7\xE3o recorrendo \xE0 biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.",repo:"reposit\xF3rio"},acceptFeatures:"Tamb\xE9m aceito funcionalidades n\xE3o complexas caso possam ser implementadas directamente na app e n\xE3o na biblioteca.",otherLanguages:"Caso sejas fluente noutra linguagem de programa\xE7\xE3o podes tentar migrar o deemix para outra linguagem de programa\xE7\xE3o!",understandingCode:"Precisas de ajuda a entender o c\xF3digo? Acede a RemixDev no Telegram ou no Reddit.",contributeWebUI:{text:"Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.",webui:"WebUI"},itsFree:"Deves ter em conta que que este projecto \xE9 gratuito e dever\xE1s apoiar os artistas que aprecias antes de apoiares os programadores.",notObligated:"N\xE3o te sintas obrigado a doar, agrade\xE7o-te na mesma!",lincensedUnder:{text:"Este trabalho esta licenciado sobre a {gpl3}.",gpl3:"GNU Licen\xE7a publica geral 3.0"}},charts:{title:"Tabelas",changeCountry:"Alterar pa\xEDs",download:"Transferir tabela"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL n\xE3o reconhecido",unsupportedURL:"URL ainda n\xE3o suportado",ISRCnotOnDeezer:"Faixa ISRC n\xE3o dispon\xEDvel no deezer",notYourPrivatePlaylist:"Nao podes baixar listas de reprodu\xE7\xE3o privadas de outros.",spotifyDisabled:"Funcionalidades do Spotify n\xE3o est\xE3o definidas corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"\xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa n\xE3o encontrada no Deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e n\xE3o foi encontrada alternativa!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e n\xE3o foi encontrada alternativa!",no360RA:"Faixa n\xE3o dispon\xEDvel em Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e n\xE3o foi encontrada alternativa!"}},favorites:{title:"Favoritos",noPlaylists:"Listas de reprodu\xE7\xE3o n\xE3o encontradas",noAlbums:"\xC1lbuns favoritos n\xE3o encontrados",noArtists:"Artistas favoritos n\xE3o encontrados",noTracks:"Faixas favoritas n\xE3o encontradas"},home:{needTologin:"Antes de iniciar transfer\xEAncias \xE9 necess\xE1rio efectuar autentica\xE7\xE3o na conta Deezer.",openSettings:"Abrir Defini\xE7\xF5es",sections:{popularPlaylists:"Listas de reprodu\xE7\xE3o populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Podes usar esta sec\xE7\xE3o para obteres mais informa\xE7\xE3o sobre o link que est\xE1s a tentar transferir.",useful:"Isto \xE9 \xFAtil caso estejas a tentar transferir faixas que n\xE3o est\xE3o dispon\xEDveis no teu pa\xEDs e queres saber onde est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Este link ainda n\xE3o \xE9 suportado",linkNotSupportedYet:"Parece que este link ainda n\xE3o \xE9 suportado, tenta analisar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do disco",trackNumber:"N\xFAmero da faixa",releaseDate:"Data de lan\xE7amento",bpm:"BPM",label:"Editora",recordType:"Tipo de Disco",genres:"G\xE9neros",tracklist:"Lista de faixas"}},search:{startSearching:"Come\xE7a a pesquisar!",description:"Podes perquisar uma m\xFAsica, um \xE1lbum inteiro, um artista, uma lista de reprodu\xE7\xE3o... tudo! Tamb\xE9m podes colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Faixa n\xE3o encontrada",noResultsAlbum:"\xC1lbum n\xE3o encontrado",noResultsArtist:"Artista n\xE3o encontrado",noResultsPlaylist:"Lista de reprodu\xE7\xE3o n\xE3o encontrada"},searchbar:"Pesquisa o que quiseres (ou cola um link)",downloads:"transfer\xEAncias",toasts:{addedToQueue:"{item} adicionados \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} foi transferido.",allDownloaded:"Todas as transfer\xEAncias terminadas!",refreshFavs:"Actualizar terminados!",loggingIn:"A autenticar",loggedIn:"Autenticado",alreadyLogged:"J\xE1 est\xE1s autenticado",loginFailed:"Nao foi possivel iniciar sess\xE3o",loggedOut:"Desconectado",cancellingCurrentItem:"A cancelar item actual.",currentItemCancelled:"Item actual cancelado.",startAddingArtist:"A adicionar {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"Adicionados {artist} \xE1lbuns \xE0 fila",startConvertingSpotifyPlaylist:"A converter faixas do spotify em faixas do deezer",finishConvertingSpotifyPlaylist:"Lista de reprodu\xE7\xE3o do Spotify convertida."},settings:{title:"Defini\xE7\xF5es",languages:"Idioma",login:{title:"Inicio de Sess\xE3o",loggedIn:"Est\xE1s autenticado como {username}",arl:{question:"Como obter o meu ARL?",update:"Actualizar ARL"},logout:"Sair"},appearance:{title:"Aspecto",slimDownloadTab:"Aba de transfer\xEAncias estreita"},downloadPath:{title:"Caminho das transfer\xEAncias"},templates:{title:"Formatos",tracknameTemplate:"Formato do nome de faixa",albumTracknameTemplate:"Formato do nome de \xC1lbum",playlistTracknameTemplate:"Formato do nome de lista de reprodu\xE7\xE3o"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para lista de reprodu\xE7\xE3o",playlistNameTemplate:"Formato da pasta de lista de reprodu\xE7\xE3o",createArtistFolder:"Criar pasta para artista",artistNameTemplate:"Formato da pasta de artista",createAlbumFolder:"Criar pasta para \xE1lbum",albumNameTemplate:"Formato da pasta de \xE1lbum",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para listas reprodu\xE7\xE3o",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo",padTracks:"Bloco de Faixas",paddingSize:"Substituir tamanho do preenchimento",illegalCharacterReplacer:"Substituir caractere inv\xE1lido"},downloads:{title:"Transfer\xEAncias",queueConcurrency:"Transfer\xEAncias concorrentes",maxBitrate:{title:"Bitrate preferencial",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Ficheiros existentes. Substituir?",y:"Sim, substituir o ficheiro",n:"N\xE3o substituir o ficheiro",t:"Subescrever apenas as etiquetas"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Fallback de pesquisa",logErrors:"Criar hist\xF3rico para erros",logSearched:"Criar hist\xF3rico para faixas pesquisadas",createM3U8File:"Criar ficheiro de lista de reprodu\xE7\xE3o",syncedLyrics:"Criar ficheiro .lyr (Letra Sincronizada)",playlistFilenameTemplate:"Formato do nome de ficheiro da lista de reprodu\xE7\xE3o",saveDownloadQueue:"Guardar fila de transfer\xEAncias ao fechar a aplica\xE7\xE3o"},covers:{title:"Capas do \xC1lbum",saveArtwork:"Guardar capas",coverImageTemplate:"Modelo do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Modelo de imagem do artista",localArtworkSize:"Tamanho do trabalho art\xEDstico local",embeddedArtworkSize:"Tamanho do trabalho art\xEDstico incorporado",localArtworkFormat:{title:"Em que formato desejas o trabalho art\xEDstico local?",jpg:"Em imagem jpeg",png:"Em imagem png",both:"Em jpeg e em png"},jpegImageQuality:"Qualidade de imagem JPEG"},tags:{head:"Etiquetas a guardar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero de faixa",trackTotal:"Total de faixas",discNumber:"N\xFAmero do Disco",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xE9nero",year:"Ano",date:"Data",explicit:"Letra Expl\xEDcita",isrc:"ISRC",length:"Dura\xE7\xE3o da faixa",barcode:"C\xF3digo de barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Editora do \xE1lbum",lyrics:"Letra da m\xFAsica n\xE3o sincronizada",copyright:"Direitos de Autor",composer:"Compositor",involvedPeople:"Pessoas envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Guardar listas de reprodu\xE7\xE3o como compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Tamb\xE9m guardar ID3v1",multiArtistSeparator:{title:"Como queres separarar os artistas?",nothing:"Guardar apenas o artista principal",default:"Usar especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar apenas o artista principal do \xE1lbum",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato de data nos ficheiros FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas convidados/participa\xE7\xF5es?",0:"Nada",1:"Remover do t\xEDtulo",3:"Remover do t\xEDtulo e do t\xEDtulo do album",2:"Mov\xEA-lo para o t\xEDtulo"},titleCasing:"Caixa do T\xEDtulo",artistCasing:"Caixa do Artista",casing:{nothing:"Manter inalterado",lower:"minusculas",upper:"MAI\xDASCULAS",start:"In\xEDcio De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Volume de Pr\xE9-visualiza\xE7\xE3o",executeCommand:{title:"Comando a executar ap\xF3s transferir",description:"Deixar em branco para nenhuma ac\xE7\xE3o"}},spotify:{title:"Funcionalidades Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"nome de utilizador Spotify"},reset:"Repor configura\xE7\xF5es padr\xE3o",save:"Guardar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es actualizadas",ARLcopied:"ARL copiado para area de transferencia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"tabelas",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"defini\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Transferir seleccionados"}},pt_br={globals:{welcome:"bem vindo ao deemix",back:"voltar",loading:"carregando",download:"Baixar {thing}",by:"por {artist}",in:"em {album}",download_hint:"Baixar",play_hint:"Reproduzir",toggle_download_tab_hint:"Expandir/Diminuir",clean_queue_hint:"Limpar",cancel_queue_hint:"Cancelar Todos",listTabs:{empty:"",all:"todos",top_result:"resultado principal",album:"\xE1lbum | \xE1lbuns",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amento | {n} lan\xE7amento | {n} lan\xE7amentos",playlist:"playlist | playlists",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"playlist do spotify | playlists do spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relatar Bugs",contributing:"Contribui\xE7\xF5es",donations:"Doa\xE7\xF5es",license:"Licen\xE7a"},subtitles:{bugReports:"H\xE1 algo n\xE3o funcionando no deemix? Nos diga!",contributing:"Voc\xEA quer contribuir para este projeto? Voc\xEA pode fazer isso de diferentes maneiras!",donations:"Voc\xEA quer contribuir monetariamente? Voc\xEA pode fazer uma doa\xE7\xE3o!"},usesLibrary:"Esse app usa a biblioteca do deemix, no qual voc\xEA pode usar para criar sua pr\xF3pria UI para o deemix",thanks:"Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o \xEDcone",upToDate:{text:"Para mais novidades siga o {newsChannel} no Telegram.",newsChannel:"news channel"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio da Biblioteca Oficial",officialWebuiRepo:"Reposit\xF3rio da WebUI Oficial",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Se voc\xEA tiver d\xFAvidas ou problemas com o app, procure uma solu\xE7\xE3o em {subreddit} primeiro. Caso voc\xEA n\xE3o encontre, voc\xEA pode fazer um post explicando seu problema no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportar um bug, tenha certeza que voc\xEA est\xE1 rodando a vers\xE3o mais recente do app, e o que voc\xEA quer reportar seja realmente um bug e n\xE3o algo que esteja acontecendo especialmente com voc\xEA.",beSure:"Certifique-se que o bug \xE9 reproduzivel em outras m\xE1quinas e tamb\xE9m N\xC3O reporte um bug se ele j\xE1 foi reportado.",duplicateReports:"Reportes de bugs duplicados ser\xE3o fechados, ent\xE3o fique atento a isso.",dontOpenIssues:"N\xC3O abra t\xF3picos para fazer perguntas, h\xE1 o subreddit para isso.",newUI:{text:"Se voc\xEA \xE9 fluente em Phython, voc\xEA pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.",repo:"repo"},acceptFeatures:"Eu aceito funcionalidades extras tamb\xE9m, mas nada de coisas complexas, desde que ela possa ser implementada no app, e n\xE3o na biblioteca.",otherLanguages:"Se voc\xEA for fluente em outra linguagem de programa\xE7\xE3o, voc\xEA pode tentar portar o deemix para outra linguagem!",understandingCode:"Voc\xEA precisa de ajuda para entender o c\xF3digo? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.",contributeWebUI:{text:"Se voc\xEA souber Vue.js (JavaScript), HTML ou CSS voc\xEA pode contribuir para o {webui}.",webui:"WebUI"},itsFree:"Lembre-se que este projeto \xE9 livre e voc\xEA deve dar suporte aos artistas que voc\xEA ama antes de dar suporte aos desenvolvedores.",notObligated:"N\xE3o se sinta na obriga\xE7\xE3o de doar, eu agrade\xE7o de qualquer maneira!",lincensedUnder:{text:"Esse \xE9 um projeto licenciado atrav\xE9s da {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Mudar Pa\xEDs",download:"Download Chart"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL inv\xE1lida",unsupportedURL:"URL n\xE3o suportada ainda",ISRCnotOnDeezer:"Faixa ISRC n\xE3o est\xE1 dispon\xEDvel ainda no deezer",notYourPrivatePlaylist:"Voc\xEA n\xE3o pode baixar playlists privadas.",spotifyDisabled:"Os Recursos do Spotify n\xE3o foram configurados corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"Album not found on deezer! \xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa indispon\xEDvel no deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e sem alternativas encontradas!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e nenhuma outra alternativa encontrada!",no360RA:"Faixa n\xE3o dispon\xEDvel na qualidade Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e nenhuma outra alternativa encontrada!"}},favorites:{title:"Favoritos",noPlaylists:"Nenhuma Playlist encontrada",noAlbums:"Nenhum \xC1lbum Favorito encontrado",noArtists:"Nenhum Artista Favorito encontrado",noTracks:"Nenhuma Faixa Favorita encontrada"},home:{needTologin:"Voc\xEA precisa logar na sua conta do deezer antes de come\xE7ar a baixar m\xFAsicas.",openSettings:"Abrir Configura\xE7\xF5es",sections:{popularPlaylists:"Playlists Populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Voc\xEA pode usar essa se\xE7\xE3o para encontrar mais informa\xE7\xF5es sobre o link que voc\xEA quer baixar.",useful:"Isso \xE9 \xFAtil se voc\xEA est\xE1 tentando baixar algumas faixas que n\xE3o est\xE3o dispon\xEDveis no seu pa\xEDs, e quer saber onde elas est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Esse link n\xE3o \xE9 suportado ainda",linkNotSupportedYet:"Parece que esse link n\xE3o \xE9 suportado ainda, tente analizar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do Disco",trackNumber:"N\xFAmero da Faixa",releaseDate:"Data de Lan\xE7amento",bpm:"BPM",label:"Gravadora",recordType:"Tipo de Grava\xE7\xE3o",genres:"G\xEAneros",tracklist:"Tracklist"}},search:{startSearching:"Comece pesquisando!",description:"Voc\xEA pode pesquisar uma m\xFAsica, um \xE1lbum, um artista, uma playlist.... tudo! Voc\xEA tamb\xE9m pode colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Nenhuma Faixa encontrada",noResultsAlbum:"Nenhum \xC1lbum encontrado",noResultsArtist:"Nenhum Artista encontrado",noResultsPlaylist:"Nenhuma Playlist encontrada"},searchbar:"Pesquise algo (ou apenas cole um link)",downloads:"downloads",toasts:{addedToQueue:"{item} adicionado \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} download terminado.",allDownloaded:"Todos os downloads foram feitos!",refreshFavs:"Atualiza\xE7\xE3o completa!",loggingIn:"Logando",loggedIn:"Logado",alreadyLogged:"Voc\xEA j\xE1 est\xE1 logado",loginFailed:"N\xE3o foi possivel entrar",loggedOut:"Desconectando",cancellingCurrentItem:"Cancelando item atual.",currentItemCancelled:"Item atual cancelado.",startAddingArtist:"Adicionando {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"{artist} \xE1lbuns adicionados a fila",startConvertingSpotifyPlaylist:"Convertendo faixas do spotify para faixas do deezer",finishConvertingSpotifyPlaylist:"Playlists do Spotify convertidas"},settings:{title:"Configura\xE7\xF5es",languages:"Idiomas",login:{title:"Login",loggedIn:"Voc\xEA est\xE1 logado como {username}",arl:{question:"Como eu consigo o meu ARL?",update:"Atualizar ARL"},logout:"Sair"},appearance:{title:"Apar\xEAncia",slimDownloadTab:"Aba de download slim"},downloadPath:{title:"Diret\xF3rio de Downloads"},templates:{title:"Templates",tracknameTemplate:"Template do nome da faixa",albumTracknameTemplate:"Template da faixa do \xE1lbum",playlistTracknameTemplate:"Template da faixa da playlist"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para playlists",playlistNameTemplate:"Template da pasta de playlist",createArtistFolder:"Criar pasta para os artistas",artistNameTemplate:"Template da pasta de artistas",createAlbumFolder:"Criar pasta para \xE1lbuns",albumNameTemplate:"Template da pasta de \xE1lbuns",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para playlists",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo das faixas",padTracks:"Faixas com pad",paddingSize:"Sobrescrever tamanho do padding",illegalCharacterReplacer:"Substituir caracteres inv\xE1lidos"},downloads:{title:"Downloads",queueConcurrency:"Downloads Simult\xE2neos",maxBitrate:{title:"Escolher Taxa de Bits",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Sobrescrever arquivos?",y:"Sim, sobrescrever arquivos",n:"N\xE3o, n\xE3o sobrescrever arquivos",t:"Sobrescrever apenas as tags"},fallbackBitrate:"Taxa de bits reserva",fallbackSearch:"Procurar reserva",logErrors:"Criar arquivos de log para erros",logSearched:"Criar arquivos de log para faixas pesquisadas",createM3U8File:"Criar arquivo de playlist",syncedLyrics:"Criar arquivos .lyr (Letras)",playlistFilenameTemplate:"Template do nome do arquivo da playlist",saveDownloadQueue:"Salvar a fila de downloads quando fechar o app"},covers:{title:"Capa dos \xE1lbuns",saveArtwork:"Salvar capas",coverImageTemplate:"Template do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Template da imagem do artista",localArtworkSize:"Tamanho da capa local",embeddedArtworkSize:"Tamanho da capa embutida",localArtworkFormat:{title:"Qual o formato da imagem que voc\xEA quer para a capa local?",jpg:".jpeg",png:".png",both:"Ambas, .jpeg e .png"},jpegImageQuality:"Qualidade da imagem JPEG"},tags:{head:"Quais tags salvar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero da Faixa",trackTotal:"Total de Faixas",discNumber:"N\xFAmero de Discos",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xEAnero",year:"Ano",date:"Data",explicit:"Letras Expl\xEDcitas",isrc:"ISRC",length:"Tamanho da Faixa",barcode:"C\xF3digo de Barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Gravadora",lyrics:"Letras Dessincronizadas",copyright:"Copyright",composer:"Compositor",involvedPeople:"Pessoas Envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Salvar playlists como uma compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Salvar ID3v1",multiArtistSeparator:{title:"Como voc\xEA gostaria de separar os artistas?",nothing:"Salvar apenas o artista principal",default:"Usar a especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Salvar apenas o artista principal",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato da data para arquivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas participantes?",0:"Nada",1:"Remova do t\xEDtulo da faixa",3:"Remova do t\xEDtulo da faixa e do \xE1lbum",2:"Mover para o t\xEDtulo da faixa"},titleCasing:"Formata\xE7\xE3o do t\xEDtulo",artistCasing:"Formata\xE7\xE3o do artista",casing:{nothing:"Manter inalterado",lower:"min\xFAsculo",upper:"MAI\xDASCULO",start:"Come\xE7o De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Pr\xE9via do Volume",executeCommand:{title:"Comando para executar depois de baixar",description:"Deixe em branco para nenhuma a\xE7\xE3o"}},spotify:{title:"Recursos do Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"usu\xE1rio do Spotify"},reset:"Restaurar para o padr\xE3o",save:"Salvar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es atualizadas!",ARLcopied:"ARL copiada para a \xE1rea de transfer\xEAncia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"configura\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Baixar sele\xE7\xE3o"}},ru={globals:{welcome:"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 deemix",back:"\u043D\u0430\u0437\u0430\u0434",loading:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C {thing}",by:"{artist}",in:"\u0438\u0437 {album}",download_hint:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C",play_hint:"\u041F\u0440\u043E\u0441\u043B\u0443\u0448\u0430\u0442\u044C",toggle_download_tab_hint:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0421\u043A\u0440\u044B\u0442\u044C",clean_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u044B\u0435",cancel_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0451",open_downloads_folder:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043F\u043A\u0443 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",cut:"\u0432\u044B\u0440\u0435\u0437\u0430\u0442\u044C",copy:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",copyLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443",copyImageLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",copyDeezerLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 deezer",paste:"\u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C",listTabs:{empty:"",all:"\u0432\u0441\u0435",top_result:"\u043B\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",album:"\u0430\u043B\u044C\u0431\u043E\u043C | \u0430\u043B\u044C\u0431\u043E\u043C\u044B | \u0430\u043B\u044C\u0431\u043E\u043C\u044B",artist:"\u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438",single:"\u0441\u0438\u043D\u0433\u043B | \u0441\u0438\u043D\u0433\u043B\u044B | \u0441\u0438\u043D\u0433\u043B\u044B",title:"\u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",track:"\u0442\u0440\u0435\u043A | \u0442\u0440\u0435\u043A\u0438 | \u0442\u0440\u0435\u043A\u0438",trackN:"{n} \u0442\u0440\u0435\u043A | {n} \u0442\u0440\u0435\u043A\u0430 | {n} \u0442\u0440\u0435\u043A\u043E\u0432",releaseN:"{n} \u0440\u0435\u043B\u0438\u0437 | {n} \u0440\u0435\u043B\u0438\u0437\u0430 | {n} \u0440\u0435\u043B\u0438\u0437\u043E\u0432",playlist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",compile:"\u0441\u043F\u043B\u0438\u0442 | \u0441\u043F\u043B\u0438\u0442\u044B | \u0441\u043F\u043B\u0438\u0442\u044B",ep:"ep",bundle:"\u0431\u0430\u043D\u0434\u043B | \u0431\u0430\u043D\u0434\u043B\u044B | \u0431\u0430\u043D\u0434\u043B\u044B",more:"\u0411\u043E\u043B\u044C\u0448\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",featured:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0432",spotifyPlaylist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",error:"\u043E\u0448\u0438\u0431\u043A\u0430",albumN:"{n} \u0430\u043B\u044C\u0431\u043E\u043C | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u0430 | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",artistN:"{n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",playlistN:"{n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432"}},about:{updates:{currentVersion:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionNotAvailable:"\u041D/\u0414",updateAvailable:"\u0412\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043D\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E: {version}",deemixVersion:"\u0412\u0435\u0440\u0441\u0438\u044F \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 deemix"},titles:{usefulLinks:"\u041F\u043E\u043B\u0435\u0437\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438",bugReports:"\u041E\u0442\u0447\u0451\u0442\u044B \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445",contributing:"\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u0440\u043E\u0435\u043A\u0442\u0443",donations:"\u041F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F",license:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F"},subtitles:{bugReports:"\u0427\u0442\u043E-\u0442\u043E \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442? \u0421\u043E\u043E\u0431\u0449\u0438\u0442\u0435 \u043D\u0430\u043C!",contributing:"\u0425\u043E\u0442\u0438\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u0430\u043C\u0438!",donations:"\u0425\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u043E? \u041C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u0435!"},usesLibrary:"\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 deemix, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 UI \u0434\u043B\u044F deemix.",thanks:"\u0421\u043F\u0430\u0441\u0438\u0431\u043E rtonno, uhwot \u0438 lollilol \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u044C \u0441 \u044D\u0442\u0438\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u043C, \u0430 \u0442\u0430\u043A\u0436\u0435 BasCurtiz \u0437\u0430 \u0438\u043A\u043E\u043D\u043A\u0443.",upToDate:{text:"\u0421\u043B\u0435\u0434\u0438\u0442\u0435 \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u043C\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F\u043C\u0438 \u043D\u0430 {newsChannel} \u0432 Telegram.",newsChannel:"\u043A\u0430\u043D\u0430\u043B\u0435"},officialWebsite:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0439\u0442",officialRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438",officialWebuiRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 WebUI",officialSubreddit:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442",newsChannel:"\u041A\u0430\u043D\u0430\u043B \u043D\u043E\u0432\u043E\u0441\u0442\u0435\u0439",questions:{text:"\u0415\u0441\u043B\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043E\u0437\u043D\u0438\u043A\u043B\u0438 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0441 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u0438\u0449\u0438\u0442\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 {subreddit}. \u0415\u0441\u043B\u0438 \u043D\u0435 \u043D\u0430\u0448\u043B\u0438 \u0440\u0435\u0448\u0435\u043D\u0438\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u043E\u0441\u0442 \u0438 \u043E\u043F\u0438\u0441\u0430\u0442\u044C \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443.",subreddit:"\u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442\u0435"},beforeReporting:"\u041F\u0435\u0440\u0435\u0434 \u0442\u0435\u043C, \u043A\u0430\u043A \u0441\u043E\u043E\u0431\u0449\u0430\u0442\u044C \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0438 \u0447\u0442\u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043D\u0435 \u043D\u0430 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435.",beSure:"\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E\u0437\u043D\u0438\u043A\u0430\u0435\u0442 \u0438 \u043D\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u0445. \u0422\u0430\u043A\u0436\u0435 \u041D\u0415 \u0441\u043E\u043E\u0431\u0449\u0430\u0439\u0442\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435, \u0435\u0441\u043B\u0438 \u043F\u0440\u043E \u043D\u0435\u0451 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E.",duplicateReports:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445 \u0440\u0430\u0441\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435 \u0431\u0443\u0434\u0443\u0442.",dontOpenIssues:"\u041D\u0415 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0434\u043B\u044F \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0430\u0432\u0442\u043E\u0440\u0443, \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0435\u0441\u0442\u044C \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442.",newUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 python, \u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 UI \u0434\u043B\u044F \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0438\u043B\u0438 \u043F\u043E\u0444\u0438\u043A\u0441\u0438\u0442\u044C \u0432 \u043D\u0435\u0439 \u0431\u0430\u0433\u0438 \u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C pull request \u0432 {repo}.",repo:"\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438"},acceptFeatures:"\u041C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438, \u043D\u043E \u043D\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0441\u043B\u043E\u0436\u043D\u044B\u0435, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435, \u0430 \u043D\u0435 \u0432 \u0441\u0430\u043C\u0443 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443.",otherLanguages:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u043D\u0451\u043C deemix!",understandingCode:"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u0442\u044C\u0441\u044F \u0432 \u043A\u043E\u0434\u0435? \u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 RemixDev \u0432 Telegram \u0438\u043B\u0438 \u043D\u0430 Reddit.",contributeWebUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0437\u043D\u0430\u0435\u0442\u0435 Vue.js (JavaScript), HTML \u0438\u043B\u0438 CSS, \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 {webui}.",webui:"WebUI"},itsFree:"\u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0432\u0430\u043C \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u043F\u043E\u043D\u0440\u0430\u0432\u0438\u0432\u0448\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043F\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043C \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u043E\u0432.",notObligated:"\u0412\u044B \u043D\u0435 \u043E\u0431\u044F\u0437\u0430\u043D\u044B \u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F, \u044F \u0432\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0432\u0430\u0441 \u0446\u0435\u043D\u044E!",lincensedUnder:{text:"\u041F\u0440\u043E\u0435\u043A\u0442 \u0440\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0434 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u0427\u0430\u0440\u0442\u044B",changeCountry:"\u0421\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0443",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0440\u0442"},errors:{title:"\u041E\u0448\u0438\u0431\u043A\u0438 {name}",ids:{invalidURL:"URL \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D",unsupportedURL:"URL \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",ISRCnotOnDeezer:"ISRC \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer",notYourPrivatePlaylist:"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0447\u0443\u0436\u0438\u0435 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B.",spotifyDisabled:"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B Spotify.",trackNotOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",albumNotOnDeezer:"\u0410\u043B\u044C\u0431\u043E\u043C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",notOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer!",notEncoded:"\u0422\u0440\u0435\u043A \u0435\u0449\u0451 \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D!",notEncodedNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D, \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",wrongBitrate:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435.",wrongBitrateNoAlternative:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",no360RA:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 Reality Audio 360.",notAvailable:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer!",notAvailableNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",noSpaceLeft:"\u041D\u0430 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u043D\u0435 \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430!",albumDoesntExists:"\u0410\u043B\u044C\u0431\u043E\u043C\u0430 \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043D\u0435 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0430"}},favorites:{title:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",noPlaylists:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noAlbums:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noArtists:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noTracks:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0442\u0440\u0435\u043A\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B"},home:{needTologin:"\u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u043E\u0439\u0442\u0438 \u043F\u043E\u0434 \u0441\u0432\u043E\u0435\u0439 \u0443\u0447\u0435\u0442\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u044C\u044E Deezer, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C.",openSettings:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",sections:{popularPlaylists:"\u041F\u043E\u043F\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",popularAlbums:"\u0421\u0430\u043C\u044B\u0435 \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B"}},linkAnalyzer:{info:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u044D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B, \u0447\u0442\u043E\u0431\u044B \u0443\u0437\u043D\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043E \u0441\u0441\u044B\u043B\u043A\u0435, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0441\u043A\u0430\u0447\u0430\u0442\u044C.",useful:"\u042D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B \u043D\u0443\u0436\u0435\u043D, \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0442\u0440\u0435\u043A\u0438, \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C, \u0433\u0434\u0435 \u043E\u043D\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B.",linkNotSupported:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",linkNotSupportedYet:"\u042D\u0442\u0430 \u0441\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0434\u0440\u0443\u0433\u0443\u044E.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",diskNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",bpm:"BPM",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",recordType:"\u0422\u0438\u043F",genres:"\u0416\u0430\u043D\u0440",tracklist:"\u0422\u0440\u0435\u043A\u043B\u0438\u0441\u0442"}},search:{startSearching:"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0438\u0441\u043A\u0430\u0442\u044C!",description:"\u0417\u0434\u0435\u0441\u044C \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0439\u0442\u0438 \u0442\u0440\u0435\u043A, \u0430\u043B\u044C\u0431\u043E\u043C, \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F, \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442... \u0432\u0441\u0451! \u041C\u043E\u0436\u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 Deezer",fans:"{n} \u043F\u043E\u043A\u043B\u043E\u043D\u043D\u0438\u043A\u043E\u0432",noResults:"\u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432",noResultsTrack:"\u0422\u0440\u0435\u043A\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsAlbum:"\u0410\u043B\u044C\u0431\u043E\u043C\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsPlaylist:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E"},searchbar:"\u0418\u0449\u0438\u0442\u0435, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 (\u0438\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0441\u0441\u044B\u043B\u043A\u0443)",downloads:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",toasts:{restoringQueue:"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0447\u0435\u0440\u0435\u0434\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",queueRestored:"\u041E\u0447\u0435\u0440\u0435\u0434\u044C \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430!",addedToQueue:"{item} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",addedMoreToQueue:"{n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",alreadyInQueue:"{item} \u0443\u0436\u0435 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u0438!",finishDownload:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 {item} \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430.",allDownloaded:"\u0412\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u044B!",refreshFavs:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E!",loggingIn:"\u0412\u0445\u043E\u0434...",loggedIn:"\u0412\u0445\u043E\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",alreadyLogged:"\u0412\u0445\u043E\u0434 \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loginFailed:"\u0412\u0445\u043E\u0434 \u043D\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loggedOut:"\u0412\u044B \u0432\u044B\u0448\u043B\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430",cancellingCurrentItem:"\u041E\u0442\u043C\u0435\u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",currentItemCancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E.",startAddingArtist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432 {artist} \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishAddingArtist:"\u0410\u043B\u044C\u0431\u043E\u043C\u044B {artist} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",startConvertingSpotifyPlaylist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 Spotify \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishConvertingSpotifyPlaylist:"Spotify \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",loginNeededToDownload:"\u0412\u043E\u0439\u0434\u0438\u0442\u0435 \u0432 \u0430\u043A\u043A\u0430\u0443\u043D\u0442, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0442\u0440\u0435\u043A\u0438!",deezerNotAvailable:"Deezer \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 VPN.",startGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",finishGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A."},settings:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",languages:"\u042F\u0437\u044B\u043A",login:{title:"\u0412\u0445\u043E\u0434",loggedIn:"\u0412\u044B \u0432\u043E\u0448\u043B\u0438 \u043A\u0430\u043A {username}",arl:{question:"\u041A\u0430\u043A \u0443\u0437\u043D\u0430\u0442\u044C \u0441\u0432\u043E\u0439 ARL?",update:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C ARL"},logout:"\u0412\u044B\u0439\u0442\u0438",login:"\u0412\u043E\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 deezer.com"},appearance:{title:"\u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434",slimDownloadTab:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",slimSidebar:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u043B\u0435\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C"},downloadPath:{title:"\u041F\u0443\u0442\u044C \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F"},templates:{title:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B",tracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",albumTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",playlistTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430"},folders:{title:"\u041F\u0430\u043F\u043A\u0438",createPlaylistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",playlistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",createArtistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",createAlbumFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",createCDFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F CD",createStructurePlaylist:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",createSingleFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u0441\u0438\u043D\u0433\u043B\u043E\u0432"},trackTitles:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u043E\u0432",padTracks:"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043D\u043E\u043B\u044C \u043A \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0442\u0440\u0435\u043A\u043E\u0432 (01, 02, ...)",paddingSize:"\u041A\u043E\u043B-\u0432\u043E \u0446\u0438\u0444\u0440 \u0432 \u043D\u043E\u043C\u0435\u0440\u0435",illegalCharacterReplacer:"\u0417\u0430\u043C\u0435\u043D\u0430 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u0438\u043C\u0435\u043D\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},downloads:{title:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0438",queueConcurrency:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",maxBitrate:{title:"\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u0439 \u0431\u0438\u0442\u0440\u0435\u0439\u0442",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u041D\u0443\u0436\u043D\u043E \u043B\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B?",y:"\u0414\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0444\u0430\u0439\u043B",n:"\u041D\u0435\u0442, \u043D\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C",t:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u0433\u0438",b:"\u041D\u0435\u0442, \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0430 \u0444\u0430\u0439\u043B\u0430 \u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u043C\u0435\u0440 \u043A \u0434\u0443\u0431\u043B\u0438\u043A\u0430\u0442\u0443",e:"\u041D\u0435\u0442, \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F"},fallbackBitrate:"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441 \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u043E\u043C \u043D\u0438\u0436\u0435, \u0435\u0441\u043B\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",fallbackSearch:"\u0418\u0441\u043A\u0430\u0442\u044C \u043F\u043E\u0445\u043E\u0436\u0438\u0439 \u0442\u0440\u0435\u043A, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",logErrors:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433\u0438 \u043E\u0448\u0438\u0431\u043E\u043A",logSearched:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430",createM3U8File:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",syncedLyrics:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C .lyr \u0444\u0430\u0439\u043B\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u043B\u0438\u0440\u0438\u043A\u0430)",playlistFilenameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",saveDownloadQueue:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043E\u0447\u0435\u0440\u0435\u0434\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u043F\u0440\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},covers:{title:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtwork:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u043E\u0431\u043B\u043E\u0436\u043A\u0438",coverImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtworkArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",localArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",embeddedArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0439 \u0432 \u0442\u0435\u0433\u0438 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",localArtworkFormat:{title:"\u0412 \u043A\u0430\u043A\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0431\u043B\u043E\u0436\u043A\u0438?",jpg:"jpeg",png:"png",both:"jpeg \u0438 png"},jpegImageQuality:"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E JPEG",embeddedArtworkPNG:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0443\u044E \u043E\u0431\u043B\u043E\u0436\u043A\u0443 \u0432 PNG",embeddedPNGWarning:"PNG \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0431\u0430\u0433\u0438",imageSizeWarning:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438 \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0432\u044B\u0448\u0435 x1200 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",coverDescriptionUTF8:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043E\u0431\u043B\u043E\u0436\u043A\u0438 \u0432 UTF8 (iTunes Fix)"},tags:{head:"\u041A\u0430\u043A\u0438\u0435 \u0442\u0435\u0433\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C",title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",artist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C",album:"\u0410\u043B\u044C\u0431\u043E\u043C",cover:"\u041E\u0431\u043B\u043E\u0436\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",trackTotal:"\u041A\u043E\u043B-\u0432\u043E \u0442\u0440\u0435\u043A\u043E\u0432",discNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",discTotal:"\u041A\u043E\u043B-\u0432\u043E \u0434\u0438\u0441\u043A\u043E\u0432",albumArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0430\u043B\u044C\u0431\u043E\u043C\u0430",genre:"\u0416\u0430\u043D\u0440",year:"\u0413\u043E\u0434",date:"\u0414\u0430\u0442\u0430",explicit:"\u041C\u0435\u0442\u043A\u0430 \u043E \u043D\u0435\u0446\u0435\u043D\u0437\u0443\u0440\u043D\u043E\u0439 \u043B\u0435\u043A\u0441\u0438\u043A\u0435",isrc:"\u041D\u043E\u043C\u0435\u0440 \u0437\u0430\u043F\u0438\u0441\u0438 (ISRC)",length:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",barcode:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u0434 \u0430\u043B\u044C\u0431\u043E\u043C\u0430 (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",lyrics:"\u0422\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",syncedLyrics:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D. \u0442\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",copyright:"\u041F\u0440\u0430\u0432\u0430 (\u043A\u043E\u043F\u0438\u0440\u0430\u0439\u0442)",composer:"\u041A\u043E\u043C\u043F\u043E\u0437\u0438\u0442\u043E\u0440",involvedPeople:"\u0412\u043E\u0432\u043B\u0435\u0447\u0451\u043D\u043D\u044B\u0435 \u043B\u044E\u0434\u0438",source:"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438 ID \u043F\u0435\u0441\u043D\u0438"},other:{title:"\u0420\u0430\u0437\u043D\u043E\u0435",savePlaylistAsCompilation:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043A\u0430\u043A \u0441\u0431\u043E\u0440\u043D\u0438\u043A\u0438",useNullSeparator:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C null \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044F",saveID3v1:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C ID3v1",multiArtistSeparator:{title:"\u041A\u0430\u043A \u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439?",nothing:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E",default:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0443\u044E \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044E",andFeat:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F & \u0438 feat.",using:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F "{separator}"'},singleAlbumArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumVariousArtists:'\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C "Various Artists" \u0432 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u0445 \u0430\u043B\u044C\u0431\u043E\u043C\u0430',removeAlbumVersion:'\u0423\u0434\u0430\u043B\u0438\u0442\u044C "Album Version" \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430',removeDuplicateArtists:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",dateFormat:{title:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B \u0434\u043B\u044F FLAC \u0444\u0430\u0439\u043B\u043E\u0432",year:"\u0413\u0413\u0413\u0413",month:"\u041C\u041C",day:"\u0414\u0414"},featuredToTitle:{title:"\u0427\u0442\u043E \u0434\u0435\u043B\u0430\u0442\u044C \u0441 \u043F\u0440\u0438\u0433\u043B\u0430\u0448\u0451\u043D\u043D\u044B\u043C\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u043C\u0438 (feat.)?",0:"\u041D\u0438\u0447\u0435\u0433\u043E",1:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",3:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",2:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0442\u0440\u0435\u043A\u0430"},titleCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F",artistCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",casing:{nothing:"\u041D\u0435 \u043C\u0435\u043D\u044F\u0442\u044C",lower:"\u0432 \u043D\u0438\u0436\u043D\u0435\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435",upper:"\u0412 \u0412\u0415\u0420\u0425\u041D\u0415\u041C \u0420\u0415\u0413\u0418\u0421\u0422\u0420\u0415",start:"\u041A\u0430\u0436\u0434\u043E\u0435 \u0421\u043B\u043E\u0432\u043E \u0421 \u0417\u0430\u0433\u043B\u0430\u0432\u043D\u043E\u0439 \u0411\u0443\u043A\u0432\u044B",sentence:"\u041A\u0430\u043A \u0432 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0438"},previewVolume:"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u043D\u0438\u044F",executeCommand:{title:"\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",description:"\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0435\u0441\u043B\u0438 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F"}},spotify:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"\u041A\u0430\u043A \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438 Spotify?"},reset:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",toasts:{init:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B!",update:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B!",ARLcopied:"ARL \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430"}},sidebar:{home:"\u0433\u043B\u0430\u0432\u043D\u0430\u044F",search:"\u043F\u043E\u0438\u0441\u043A",charts:"\u0447\u0430\u0440\u0442\u044B",favorites:"\u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",linkAnalyzer:"\u0430\u043D\u0430\u043B\u0438\u0437 \u0441\u0441\u044B\u043B\u043E\u043A",settings:"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",about:"\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0435"},tracklist:{downloadSelection:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435"}},tr={globals:{welcome:"Deemix'e ho\u015F geldin.",back:"geri",loading:"y\xFCkleniyor",download:"\u0130ndir {thing}",by:"{artist} taraf\u0131ndan",in:"{album} i\xE7inde",download_hint:"\u0130ndir",play_hint:"Oynat",toggle_download_tab_hint:"Geni\u015Flet/Daralt",clean_queue_hint:"Tamamlananlar\u0131 Temizle",cancel_queue_hint:"Hepsini ",listTabs:{empty:"",all:"T\xFCm\xFC",top_result:"top result",album:"alb\xFCm | alb\xFCmler",artist:"sanat\xE7\u0131 | sanat\xE7\u0131lar",single:"single | singlelar",title:"ba\u015Fl\u0131k | ba\u015Fl\u0131klar",track:"Par\xE7a | Par\xE7alar",trackN:"0 par\xE7a | {n} par\xE7a | {n} par\xE7a",releaseN:"0 yay\u0131nlanan | {n} yay\u0131nlanan | {n} yay\u0131nlanan",playlist:"oynatma listesi | oynatma listeleri",compile:"derleme | derlemeler",ep:"kay\u0131t | kay\u0131tlar",spotifyPlaylist:"spotify oynatma listesi | oynatma listeleri",releaseDate:"yay\u0131nlanma tarihi",error:"hata"}},about:{titles:{usefulLinks:"Yararl\u0131 Ba\u011Flant\u0131lar",bugReports:"Hata Raporlar\u0131",contributing:"Katk\u0131 Sa\u011Flayanlar",donations:"Ba\u011F\u0131\u015Flar",license:"Lisans"},subtitles:{bugReports:"Deemix'te \xE7al\u0131\u015Fmayan bir \u015Fey mi var?, Bize bildirin!",contributing:"Projeye katk\u0131 sa\u011Flamak m\u0131 istiyorsun? Farkl\u0131 yollardan sa\u011Flayabilirsin!",donations:"B\xFCt\xE7e yard\u0131m\u0131 m\u0131 yapmak istiyorsun? Ba\u011F\u0131\u015F yapabilirsin!"},usesLibrary:"deemix kendi kullan\u0131c\u0131 arabiriminizi olu\u015Fturabilece\u011Finiz, kendine \xF6zg\xFC k\xFCt\xFCphanesini kullan\u0131yor.",thanks:" rtonno, uhwot ve lollilol'a bu projeye yapt\u0131\u011F\u0131 katk\u0131lardan ve BasCurtiz'e ikonlardan dolay\u0131 te\u015Fekk\xFCr ederim.",upToDate:{text:"{newsChannel} takip ederek g\xFCncellemelerden haberdar olun.",newsChannel:"Telegramdaki haber kanal\u0131n\u0131"},officialWebsite:"\u0130lgili \u0130nternet Sitemiz",officialRepo:"\u0130lgili K\xFCt\xFCphanemiz",officialWebuiRepo:"\u0130lgili Web Kullan\u0131c\u0131 Aray\xFCz\xFC K\xFCt\xFCphanemiz.",officialSubreddit:"\u0130lgili Subreddit adresimiz",newsChannel:"Haber Kanal\u0131",questions:{text:"E\u011Fer uygulama ile ilgili sorular\u0131n\u0131z veya bir probleminiz varsa,ilk \xF6nce {subreddit} sorununuzu aray\u0131n. E\u011Fer bir \u015Fey bulamazsan\u0131z, sorununuz ile ilgili bir g\xF6nderi payla\u015Fabilirsiniz.",subreddit:"subreddit adresinden"},beforeReporting:"Bir hatay\u0131 bildirmeden \xF6nce, uygulaman\u0131n son s\xFCr\xFCm\xFCnde oldu\u011Funuza veya sorunun sizden kaynakl\u0131 olmay\u0131p bir hata oldu\u011Funa emin olduktan sonra emin olun.",beSure:"Hatan\u0131n ba\u015Fka cihazlarda da oldu\u011Funu do\u011Frulay\u0131n ve Bildirilen bir hatay\u0131 tekrar bildirmeyin.",duplicateReports:"Birbirinin ayn\u0131s\u0131 olan hata bildirileri kapat\u0131lacakt\u0131r, o y\xFCzden dikkatli olun.",dontOpenIssues:"Soru sormak i\xE7in hata bildirisi yollamay\u0131n, bunun i\xE7in bir subreddit adresimiz var.",newUI:{text:"E\u011Fer Phython kullanmakta iyiysen, ana k\xFCt\xFCphaneyi kullanan bir kullan\u0131c\u0131 aray\xFCz\xFC yapmay\u0131 deneyebilir, veya k\xFCt\xFCphanedeki hatalar\u0131 d\xFCzeltmek i\xE7in {repo}.",repo:"deposuna de\u011Fi\u015Fiklik iste\u011Fi yollayabilirsin"},acceptFeatures:"Yeni \xF6zellikleri de kabul ediyorum, fakat kar\u0131\u015F\u0131k \u015Feyleri k\xFCt\xFCphaneye de\u011Fil uygulamaya eklendi\u011Fi i\xE7in kabul edemiyorum.",otherLanguages:"E\u011Fer di\u011Fer programlama dillerinde kendine g\xFCveniyorsan, deemix'i farkl\u0131 dillere port etmeye \xE7al\u0131\u015Fabilirsin!",understandingCode:"Kodu anlamak i\xE7in yard\u0131m m\u0131 laz\u0131m? Reddit \xFCzerinden veya Telegramdan RemixDev'e ula\u015F.",contributeWebUI:{text:"E\u011Fer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.",webui:"Web Kullan\u0131c\u0131 Aray\xFCz\xFCne katk\u0131da bulanabilirsin"},itsFree:"Bunun \xFCcretsiz bir proje oldu\u011Funu ve geli\u015Ftiricilerden \xF6nce sevdi\u011Finiz sanat\xE7\u0131lar\u0131 desteklemeniz gerekti\u011Fini unutmay\u0131n.",notObligated:"Kendinizi ba\u011F\u0131\u015F yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!",lincensedUnder:{text:"Bu \xE7al\u0131\u015Fma lisansl\u0131d\u0131r: {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Grafikler",changeCountry:"\xDClke De\u011Fi\u015Ftir",download:"Grafi\u011Fi \u0130ndir"},errors:{title:"{name} Hatal\u0131 bulundu",ids:{invalidURL:"URL ge\xE7ersiz.",unsupportedURL:"URL \u015Fimdilik desteklenmiyor",ISRCnotOnDeezer:"ISRC par\xE7a deezerda bulunmuyor",notYourPrivatePlaylist:"Ba\u015Fkalar\u0131n\u0131n \xF6zel oynatma listelerini indiremezsin.",spotifyDisabled:"Spotify \xD6zellikleri do\u011Fru \u015Fekilde ayarlanmam\u0131\u015F.",trackNotOnDeezer:"Par\xE7a Deezer'da bulunamad\u0131!",albumNotOnDeezer:"Alb\xFCm Deezer'da bulunamad\u0131!",notOnDeezer:"Par\xE7a Deezer'da yok!",notEncoded:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi!",notEncodedNoAlternative:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi ve alternatifi bulunamad\u0131!",wrongBitrate:"Par\xE7a, istenen kalitede bulunamad\u0131!",wrongBitrateNoAlternative:"Par\xE7a veya alternatifler istenen kalitede bulunamad\u0131!",no360RA:"Par\xE7a 360 Derece ger\xE7ek\xE7i ses olarak bulunamad\u0131!",notAvailable:"Par\xE7a Deezer sunucular\u0131nda bulunamad\u0131!",notAvailableNoAlternative:"Par\xE7a veya Alternatifleri Deezer sunucular\u0131nda bulunamad\u0131.!"}},favorites:{title:"Favoriler",noPlaylists:"Oynatma listesi bulunamad\u0131.",noAlbums:"Favori alb\xFCmler bulunamad\u0131.",noArtists:"Favori sanat\xE7\u0131lar bulunamad\u0131.",noTracks:"Favori par\xE7alar bulunamad\u0131."},home:{needTologin:"\u0130ndirmeden \xF6nce Deezer hesab\u0131na giri\u015F yapmal\u0131s\u0131n.",openSettings:"Ayarlar\u0131 A\xE7",sections:{popularPlaylists:"Pop\xFCler Oynatma Listeleri",popularAlbums:"En \xE7ok dinlenen alb\xFCmler"}},linkAnalyzer:{info:"\u0130ndirmeye \xE7al\u0131\u015Ft\u0131\u011F\u0131n link hakk\u0131nda daha fazla bilgi i\xE7in buray\u0131 kullanabilirsin.",useful:"Mesela, \xFClkende dinlenebilir olmayan par\xE7alar\u0131n nerelerde var oldu\u011Funu bulmak i\xE7in kullanabilirsin.",linkNotSupported:"Bu link \u015Fimdilik desteklenmemektedir.",linkNotSupportedYet:"Bu link \u015Fimdilik desteklenmiyor gibi duruyor, ba\u015Fkas\u0131n\u0131 analiz etmeyi dene.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"S\xFCre",diskNumber:"S\u0131ra numaras\u0131",trackNumber:"Par\xE7a numaras\u0131",releaseDate:"Yay\u0131nlanma tarihi",bpm:"BPM",label:"Etiketi",recordType:"Kay\u0131t \u015Eekli",genres:"T\xFCr\xFC",tracklist:"Par\xE7a listesi"}},search:{startSearching:"Aramay\u0131 Ba\u015Flat!",description:"Bir par\xE7ay\u0131, t\xFCm alb\xFCm\xFC, bir sanat\xE7\u0131y\u0131, bir oynatma listesini... k\u0131saca her \u015Feyi aratabilirsin! Ayr\u0131ca Deezer Linki de yap\u0131\u015Ft\u0131rabilirsin!",fans:"{n} Hayranlar",noResults:"Sonu\xE7 Bulunamad\u0131",noResultsTrack:"Par\xE7a bulunamad\u0131",noResultsAlbum:"Alb\xFCm bulunamad\u0131",noResultsArtist:"Sanat\xE7\u0131 bulunamad\u0131",noResultsPlaylist:"Oynatma Listesi bulunamad\u0131"},searchbar:"\u0130stedi\u011Fin bir \u015Feyi arat (ya da bir link yap\u0131\u015Ft\u0131r.)",downloads:"\u0130ndirilenler",toasts:{addedToQueue:"{item} kuyru\u011Fa eklendi",alreadyInQueue:"{item} \xE7oktan kuyrukta!",finishDownload:"{item} indirmesi tamamland\u0131.",allDownloaded:"T\xFCm indirmeler tamamland\u0131!",refreshFavs:"Yenileme tamamland\u0131.!",loggingIn:"Giri\u015F yap\u0131l\u0131yor",loggedIn:"Giri\u015F yap\u0131ld\u0131",alreadyLogged:"\xC7oktan giri\u015F yap\u0131ld\u0131",loginFailed:"Giri\u015F yap\u0131lamad\u0131",loggedOut:"Oturum kapat\u0131ld\u0131.",cancellingCurrentItem:"Ge\xE7erli \xF6\u011Fe iptal ediliyor.",currentItemCancelled:"Ge\xE7erli \xF6\u011Fe iptal edildi.",startAddingArtist:"{artist} alb\xFCm kuyru\u011Fa ekleniyor",finishAddingArtist:"{artist} alb\xFCm kuyru\u011Fa eklendi.",startConvertingSpotifyPlaylist:"Spotify par\xE7alar\u0131 deezer par\xE7alar\u0131na d\xF6n\xFC\u015Ft\xFCr\xFCl\xFCyor.",finishConvertingSpotifyPlaylist:"Spotify oynatma listesi d\xF6n\xFC\u015Ft\xFCr\xFCld\xFC."},settings:{title:"Ayarlar",languages:"Diller",login:{title:"Giri\u015F",loggedIn:"{username} olarak giri\u015F yapt\u0131n.",arl:{question:"Kendi ARL'mi nas\u0131l al\u0131r\u0131m?",update:"ARL g\xFCncelle."},logout:"\xC7\u0131k\u0131\u015F"},appearance:{title:"G\xF6r\xFCn\xFCm",slimDownloadTab:"\u0130nce indirme sekmesi"},downloadPath:{title:"\u0130ndirilen dizin"},templates:{title:"\u015Eablonlar",tracknameTemplate:"Par\xE7a ismi \u015Fablonu",albumTracknameTemplate:"Alb\xFCm par\xE7as\u0131 \u015Fablonu",playlistTracknameTemplate:"Oynatma listesi par\xE7a \u015Fablonu"},folders:{title:"Dosyalar",createPlaylistFolder:"Oynatma listesi i\xE7in dosya olu\u015Ftur",playlistNameTemplate:"Oynatma listesi dosyas\u0131 \u015Fablonu",createArtistFolder:"Sanat\xE7\u0131 i\xE7in dosya olu\u015Ftur",artistNameTemplate:"Sanat\xE7\u0131 dosyas\u0131 \u015Fablonu",createAlbumFolder:"Alb\xFCm i\xE7in dosya olu\u015Ftur",albumNameTemplate:"Alb\xFCm dosyas\u0131 \u015Fablonu",createCDFolder:"CDler i\xE7in dosya olu\u015Ftur",createStructurePlaylist:"Oynatma listeleri i\xE7in dosya k\xF6k\xFC olu\u015Ftur",createSingleFolder:"Singlelar i\xE7in dosya k\xF6k\xFC olu\u015Ftur"},trackTitles:{title:"Par\xE7a ba\u015Fl\u0131klar\u0131",padTracks:"\u0130z Numaralar\u0131",paddingSize:"\u0130z Numaralar\u0131n\u0131 de\u011Fi\u015Ftir",illegalCharacterReplacer:"Illegal Karakter D\xFCzenleyici"},downloads:{title:"\u0130ndirilenler",queueConcurrency:"Devam eden indirmeler",maxBitrate:{title:"Tercih edilmi\u015F Bitrateler (kaliteler)",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dosyalar\u0131n \xFCst\xFCne yazmal\u0131 m\u0131y\u0131m?",y:"Evet, \xFCst\xFCne yaz",n:"Hay\u0131r, \xFCst\xFCne yazma",t:"Sadece izleri \xFCst\xFCne yaz"},fallbackBitrate:"Bitrate d\xFC\u015F\xFCrme",fallbackSearch:"D\xFC\u015F\xFCrme ara",logErrors:"Hatalar i\xE7in g\xFCnl\xFCk tut",logSearched:"Aranm\u0131\u015F par\xE7alar i\xE7in g\xFCnl\xFCk tut",createM3U8File:"Oynatma s\u0131ra listesi olu\u015Ftur",syncedLyrics:".lyr dosyalar\u0131 olu\u015Ftur (Senkronize \u015Fark\u0131 s\xF6zleri)",playlistFilenameTemplate:"Oynatma listesi \u015Fablonu",saveDownloadQueue:"Uygulamay\u0131 kapat\u0131rken indirme kuyru\u011Funu kaydet"},covers:{title:"Alb\xFCm kapaklar\u0131",saveArtwork:"Kapaklar\u0131 kaydet",coverImageTemplate:"Kapak ismi \u015Fablonu",saveArtworkArtist:"Sanat\xE7\u0131 foto\u011Fraf\u0131n\u0131 kaydet",artistImageTemplate:"\u015Eark\u0131c\u0131 foto\u011Fraf \u015Fablonu",localArtworkSize:"Yerel foto\u011Fraf boyutu",embeddedArtworkSize:"G\xF6m\xFCl\xFC foto\u011Fraf boyutu",localArtworkFormat:{title:"Yerel foto\u011Fraf\u0131n hangi formatta olmas\u0131n\u0131 istersin?",jpg:"Jpeg dosyas\u0131",png:"Png dosyas\u0131",both:"Her ikisi"},jpegImageQuality:"JPEG g\xF6r\xFCnt\xFC kalitesi"},tags:{head:"Hangi izler kay\u0131t edilsin?",title:"Ba\u015Fl\u0131k",artist:"Sanat\xE7\u0131",album:"Alb\xFCm",cover:"Kapak",trackNumber:"Par\xE7a Numaras\u0131",trackTotal:"T\xFCm Par\xE7a",discNumber:"Plak Say\u0131s\u0131",discTotal:"T\xFCm Plak",albumArtist:"Sanat\xE7\u0131 Alb\xFCm\xFC",genre:"T\xFCr",year:"Y\u0131l",date:"Tarih",explicit:"Cinsel i\xE7erikli \u015Fark\u0131 s\xF6zleri",isrc:"ISRC",length:"Par\xE7a Uzunlu\u011Fu",barcode:"Alb\xFCm Barkodu (UPC)",bpm:"BPM",replayGain:"Ses Y\xFCksekli\u011Fi Normalle\u015Ftirici",label:"Alb\xFCm Etiketi",lyrics:"Senkronize edilmemi\u015F \u015Fark\u0131 s\xF6zleri",copyright:"Telif hakk\u0131",composer:"Besteleyen",involvedPeople:"Alakal\u0131 Ki\u015Filer"},other:{title:"Di\u011Fer",savePlaylistAsCompilation:"Oynatma listelerini derleme olarak kaydet",useNullSeparator:"Bo\u015Fluk ay\u0131r\u0131c\u0131 kullan",saveID3v1:"ID3v1 dosyas\u0131n\u0131 da kaydet",multiArtistSeparator:{title:"Sanat\xE7\u0131lar\u0131n\u0131z\u0131 nas\u0131l ay\u0131rmak istersiniz?",nothing:"Sadece ana sanat\xE7\u0131y\u0131 kaydet",default:"Genel prosed\xFCr uygulans\u0131n",andFeat:"Kullan\u0131lanlar & ve Feat.",using:'Kullan\u0131lan "{separator}"'},singleAlbumArtist:"Sadece ana alb\xFCm sanat\xE7\u0131s\u0131n\u0131 kaydet",albumVariousArtists:'"\xC7e\u015Fitli sanat\xE7\u0131lar"\u0131 sanat\xE7\u0131 alb\xFCmlerinde tut',removeAlbumVersion:'"Alb\xFCm S\xFCr\xFCm\xFC"n\xFC par\xE7a ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart',removeDuplicateArtists:"Sanat\xE7\u0131 toplulu\u011Funu \xE7\u0131kart",dateFormat:{title:"FLAC dosyalar i\xE7in zaman format\u0131",year:"YYYY",month:"AA",day:"GG"},featuredToTitle:{title:"\xD6ne \xE7\u0131kan sanat\xE7\u0131lar\u0131 ne yapmal\u0131y\u0131m?",0:"Elleme",1:"Ba\u015Fl\u0131ktan \xE7\u0131kart",3:"Ba\u015Fl\u0131ktan ve alb\xFCm ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart",2:"Ba\u015Fl\u0131\u011Fa ta\u015F\u0131"},titleCasing:"Alb\xFCm harfi",artistCasing:"Sanat\xE7\u0131 harfi",casing:{nothing:"De\u011Fi\u015Ftirmeden b\u0131rak",lower:"k\xFC\xE7\xFCk harf",upper:"B\xDCY\xDCK HARF",start:"Kelimenin ba\u015F\u0131 ile ba\u015Fla",sentence:"C\xFCmle gibi yap"},previewVolume:"Ses \xF6nizlemesi",executeCommand:{title:"\u0130ndirdikten sonra komut uygula",description:"Bir \u015Fey yapmamak i\xE7in bo\u015F b\u0131rak"}},spotify:{title:"Spotify \xD6zelli\u011Fi",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify Kullan\u0131c\u0131 Ad\u0131"},reset:"Varsay\u0131lana s\u0131f\u0131rla",save:"Kaydet",toasts:{init:"Ayarlar y\xFCklendi!",update:"Ayarlar g\xFCncellendi!",ARLcopied:"ARL panoya kopyaland\u0131!"}},sidebar:{home:"Ana sayfa",search:"Ara",charts:"Grafikler",favorites:"Favoriler",linkAnalyzer:"Link Analiz\xF6r\xFC",settings:"Ayarlar",about:"Hakk\u0131nda"},tracklist:{downloadSelection:"\u0130ndirme b\xF6l\xFCm\xFC"}},vn={globals:{welcome:"Ch\xE0o m\u1EEBng \u0111\u1EBFn v\u1EDBi deemix",back:"tr\u1EDF l\u1EA1i",loading:"\u0111ang t\u1EA3i",download:"T\u1EA3i xu\u1ED1ng {thing}",by:"b\u1EDFi {artist}",in:"trong {album}",download_hint:"T\u1EA3i xu\u1ED1ng",play_hint:"Ph\xE1t",toggle_download_tab_hint:"M\u1EDF r\u1ED9ng/Gi\u1EA5u",clean_queue_hint:"X\xF3a nh\u1EEFng file \u0111\xE3 t\u1EA3i xong",cancel_queue_hint:"H\u1EE7y t\u1EA5t c\u1EA3",listTabs:{empty:"",all:"t\u1EA5t c\u1EA3",top_result:"k\u1EBFt qu\u1EA3 h\xE0ng \u0111\u1EA7u",album:"album | album",artist:"Ngh\u1EC7 s\u0129 | Ngh\u1EC7 s\u0129",single:"\u0111\u01A1n | \u0111\u01A1n",title:"ti\xEAu \u0111\u1EC1 | ti\xEAu \u0111\u1EC1",track:"B\xE0i h\xE1t | B\xE0i h\xE1t",trackN:"0 B\xE0i h\xE1t | {n} B\xE0i h\xE1t | {n} B\xE0i h\xE1t",releaseN:"0 s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m",playlist:"playlist | playlist",compile:"t\u1ED5ng h\u1EE3p | t\u1ED5ng h\u1EE3p",ep:"ep | ep",spotifyPlaylist:"playlist c\u1EE7a spotify | playlist c\u1EE7a spotify",releaseDate:"ng\xE0y ph\xE1t h\xE0nh",error:"l\u1ED7i"}},about:{titles:{usefulLinks:"Link h\u1EEFu d\u1EE5ng",bugReports:"B\xE1o l\u1ED7i",contributing:"\u0110\xF3ng g\xF3p",donations:"Quy\xEAn g\xF3p",license:"B\u1EB1ng ph\xE9p"},subtitles:{bugReports:"B\u1EA1n th\u1EA5y c\xF3 g\xEC \u0111\xF3 kh\xF4ng ho\u1EA1t \u0111\u1ED9ng trong deemix? Xin h\xE3y b\xE1o v\u1EDBi ch\xFAng t\xF4i!",contributing:"B\u1EA1n mu\u1ED1n \u0111\xF3ng g\xF3p cho d\u1EF1 \xE1n n\xE0y? B\u1EA1n c\xF3 th\u1EC3 l\xE0m \u0111i\u1EC1u \u0111\xF3 v\u1EDBi nhi\u1EC1u c\xE1ch kh\xE1c nhau!",donations:"B\u1EA1n mu\u1ED1n \u1EE7ng h\u1ED9 kinh ph\xED? B\u1EA1n c\xF3 th\u1EC3 quy\xEAn g\xF3p t\u1EA1i \u0111\xE2y!"},usesLibrary:"\u1EE8ng d\u1EE5ng n\xE0y s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n deemix, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng n\xF3 \u0111\u1EC3 t\u1EA1o m\u1ED9t UI ri\xEAng cho deemix.",thanks:"C\u1EA3m \u01A1n rtonno, uhwot v\xE0 lollilol \u0111\xE3 gi\xFAp t\xF4i v\u1EDBi d\u1EF1 \xE1n n\xE0y v\xE0 BasCurtiz v\u1EDBi vi\u1EC7c thi\u1EBFt k\u1EBF bi\u1EC3u t\u01B0\u1EE3ng.",upToDate:{text:"C\u1EADp nh\u1EADt app b\u1EB1ng c\xE1ch theo d\xF5i {newsChannel} tr\xEAn Telegram.",newsChannel:"k\xEAnh tin t\u1EE9c"},officialWebsite:"Website ch\xEDnh th\u1EE9c",officialRepo:"Repo th\u01B0 vi\u1EC7n ch\xEDnh th\u1EE9c",officialWebuiRepo:"Repo WebUI ch\xEDnh th\u1EE9c",officialSubreddit:"Subreddit ch\xEDnh th\u1EE9c",newsChannel:"K\xEAnh tin t\u1EE9c",questions:{text:"N\u1EBFu b\u1EA1n c\xF3 c\xE2u h\u1ECFi ho\u1EB7c v\u1EA5n \u0111\u1EC1 v\u1EC1 \u1EE9ng d\u1EE5ng n\xE0y, xin h\xE3y t\xECm gi\u1EA3i ph\xE1p tr\xEAn {subreddit} tr\u01B0\u1EDBc. Sau \u0111\xF3, n\u1EBFu b\u1EA1n kh\xF4ng t\xECm \u0111\u01B0\u1EE3c g\xEC th\xEC b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t b\xE0i \u0111\u0103ng v\u1EC1 v\u1EA5n \u0111\u1EC1 c\u1EE7a b\u1EA1n tr\xEAn subreddit d\xF3.",subreddit:"subreddit"},beforeReporting:"Tr\u01B0\u1EDBc khi b\xE1o l\u1ED7i h\xE3y \u0111\u1EA3m b\u1EA3o b\u1EA1n \u0111ang s\u1EED d\u1EE5ng phi\xEAn b\u1EA3n m\u1EDBi nh\u1EA5t c\u1EE7a \u1EE9ng d\u1EE5ng v\xE0 l\u1ED7i b\u1EA1n \u0111ang g\u1EB7p kh\xF4ng ph\u1EA3i l\xE0 do b\u1EA1n.",beSure:"H\xE3y \u0111\u1EA3m b\u1EA3o l\xE0 l\u1ED7i n\xE0y v\u1EABn c\xF3 th\u1EC3 x\u1EA3y ra tr\xEAn c\xE1c thi\u1EBFt b\u1ECB kh\xE1c v\xE0 XIN \u0110\u1EEANG b\xE1o l\u1ED7i \u0111\xE3 \u0111\u01B0\u1EE3c b\xE1o r\u1ED3i.",duplicateReports:"Nh\u1EEFng b\u1EA3n b\xE1o l\u1ED7i tr\xF9ng nhau s\u1EBD b\u1ECB \u0111\xF3ng, xin b\u1EA1n h\xE3y \u0111\u1EC3 \xFD \u0111i\u1EC1u n\xE0y.",dontOpenIssues:"XIN \u0110\u1EEANG m\u1EDF v\u1EA5n \u0111\u1EC1 \u0111\u1EC3 h\u1ECFi, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng subreddit tr\xEAn cho vi\u1EC7c \u0111\xF3.",newUI:{text:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi python b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t UI m\u1EDBi b\u1EB1ng c\xE1ch s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n g\u1ED1c, ho\u1EB7c s\u1EEDa l\u1ED7i trong th\u01B0 vi\u1EC7n \u0111\xF3 v\u1EDBi m\u1ED9t pull request tr\xEAn {repo}.",repo:"repo n\xE0y"},acceptFeatures:"T\xF4i c\xF3 ch\u1EA5p nh\u1EADn y\xEAu c\u1EA7u v\u1EC1 t\xEDnh n\u0103ng m\u1EDBi nh\u01B0ng kh\xF4ng qu\xE1 ph\u1EE9c t\u1EA1p b\u1EDFi v\xEC ch\xFAng c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c tri\u1EC3n khai tr\u1EF1c ti\u1EBFp v\xE0o \u1EE9ng d\u1EE5ng thay v\xEC v\xE0o th\u01B0 vi\u1EC7n.",otherLanguages:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi m\u1ED9t ng\xF4n ng\u1EEF kh\xE1c, b\u1EA1n c\xF3 th\u1EC3 port deemix sang ng\xF4n ng\u1EEF \u0111\xF3!",understandingCode:"B\u1EA1n mu\u1ED1n hi\u1EC3u code c\u1EE7a deemix? Xin h\xE3y li\xEAn l\u1EA1c RemixDev tr\xEAn Telegram ho\u1EB7c Reddit.",contributeWebUI:{text:"N\u1EBFu b\u1EA1n bi\u1EBFt Vue.js (JavaScript), HTML ho\u1EB7c CSS, b\u1EA1n c\xF3 th\u1EC3 g\xF3p ph\u1EA7n ph\xE1t tri\u1EC3n {webui}.",webui:"WebUI"},itsFree:"B\u1EA1n n\xEAn nh\u1EDB r\u1EB1ng \u0111\xE2y l\xE0 m\u1ED9t d\u1EF1 \xE1n phi l\u1EE3i nhu\u1EADn v\xE0 b\u1EA1n n\xEAn \u1EE7ng h\u1ED9 nh\u1EEFng Ngh\u1EC7 s\u0129 y\xEAu th\xEDch c\u1EE7a b\u1EA1n tr\u01B0\u1EDBc khi \u1EE7ng h\u1ED9 nh\xE0 ph\xE1t tri\u1EC3n.",notObligated:"\u0110\u1EEBng ngh\u0129 r\u1EB1ng b\u1EA1n ph\u1EA3i \u0111\xF3ng g\xF3p ti\u1EC1n, t\xF4i v\u1EABn s\u1EBD r\u1EA5t bi\u1EBFt \u01A1n b\u1EA1n!",lincensedUnder:{text:"D\u1EF1 \xE1n n\xE0y \u0111\u01B0\u1EE3c c\u1EA5p ph\xE9p b\u1EDFi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"B\u1EA3ng x\u1EBFp h\u1EA1ng",changeCountry:"Thay \u0111\u1ED5i qu\u1ED1c gia",download:"T\u1EA3i xu\u1ED1ng b\u1EA3ng x\u1EBFp h\u1EA1ng n\xE0y"},errors:{title:"L\u1ED7i {name}",ids:{invalidURL:"Kh\xF4ng nh\u1EADn di\u1EC7n \u0111\u01B0\u1EE3c URL",unsupportedURL:"URL n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",ISRCnotOnDeezer:"ISRC c\u1EE7a b\xE0i h\xE1t n\xE0y hi\u1EC7n kh\xF4ng c\xF3 tr\xEAn Deezer",notYourPrivatePlaylist:"B\u1EA1n kh\xF4ng th\u1EC3 t\u1EA3i xu\u1ED1ng playlist ri\xEAng c\u1EE7a ng\u01B0\u1EDDi kh\xE1c.",spotifyDisabled:"Ch\u1EE9c n\u0103ng Spotify ch\u01B0a \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp \u0111\xFAng c\xE1ch.",trackNotOnDeezer:"B\xE0i h\xE1t kh\xF4ng c\xF3 tr\xEAn Deezer!",albumNotOnDeezer:"Album kh\xF4ng c\xF3 tr\xEAn Deezer!",notOnDeezer:"B\xE0i h\xE1t ch\u01B0a c\xF3 tr\xEAn Deezer!",notEncoded:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode!",notEncodedNoAlternative:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",wrongBitrate:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n.",wrongBitrateNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",no360RA:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF d\u1EA1ng Reality Audio 360.",notAvailable:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer!",notAvailableNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!"}},favorites:{title:"Y\xEAu th\xEDch",noPlaylists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Playlist",noAlbums:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Album Y\xEAu th\xEDch",noArtists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Ngh\u1EC7 s\u0129 Y\xEAu th\xEDch",noTracks:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c B\xE0i h\xE1t Y\xEAu th\xEDch"},home:{needTologin:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Deezer tr\u01B0\u1EDBc khi b\u1EAFt \u0111\u1EA7u t\u1EA3i xu\u1ED1ng.",openSettings:"M\u1EDF C\xE0i \u0111\u1EB7t",sections:{popularPlaylists:"Playlist N\u1ED5i ti\u1EBFng",popularAlbums:"Album \u0111\u01B0\u1EE3c stream nhi\u1EC1u nh\u1EA5t"}},linkAnalyzer:{info:"B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng ch\u1EE9c n\u0103ng n\xE0y \u0111\u1EC3 ki\u1EBFm th\xEAm th\xF4ng tin v\u1EC1 \u0111\u01B0\u1EDDng link m\xE0 b\u1EA1n mu\u1ED1n t\u1EA3i xu\u1ED1ng.",useful:"Ch\u1EE9c n\u0103ng n\xE0y r\u1EA5t h\u1EEFu d\u1EE5ng n\u1EBFu b\u1EA1n mu\u1ED1n t\u1EA3i c\xE1c b\xE0i h\xE1t hi\u1EC7n kh\xF4ng c\xF3 s\u1EB5n \u1EDF qu\u1ED1c gia c\u1EE7a b\u1EA1n v\xE0 mu\u1ED1n bi\u1EBFt c\xE1c qu\u1ED1c gia \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3.",linkNotSupported:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",linkNotSupportedYet:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3, xin h\xE3y th\u1EED l\u1EA1i v\u1EDBi m\u1ED9t \u0111\u01B0\u1EDDng link kh\xE1c.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Th\u1EDDi l\u01B0\u1EE3ng",diskNumber:"S\u1ED1 \u0111\u0129a",trackNumber:"S\u1ED1 b\xE0i h\xE1t",releaseDate:"Ng\xE0y ph\xE1t h\xE0nh",bpm:"BPM",label:"H\xE3ng",recordType:"Lo\u1EA1i Thu \xE2m",genres:"Th\u1EC3 lo\u1EA1i",tracklist:"Danh s\xE1ch c\xE1c b\xE0i h\xE1t"}},search:{startSearching:"B\u1EAFt \u0111\u1EA7u t\xECm ki\u1EBFm!",description:"B\u1EA1n c\xF3 th\u1EC3 t\xECm m\u1ED9t b\xE0i h\xE1t, album, ngh\u1EC7 s\u0129, playlist, v.v...! B\u1EA1n c\u0169ng c\xF3 th\u1EC3 d\xF9ng link c\u1EE7a Deezer",fans:"{n} ng\u01B0\u1EDDi h\xE2m m\u1ED9",noResults:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",noResultsTrack:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c b\xE0i h\xE1t n\xE0o",noResultsAlbum:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c album n\xE0o",noResultsArtist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c ngh\u1EC7 s\u0129 n\xE0o",noResultsPlaylist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c playlist n\xE0o"},searchbar:"T\xECm nh\u1EEFng g\xEC b\u1EA1n mu\u1ED1n (b\u1EA1n c\u0169ng c\xF3 th\u1EC3 s\u1EEF d\u1EE5ng m\u1ED9t \u0111\u01B0\u1EDDng link)",downloads:"T\u1EA3i xu\u1ED1ng",toasts:{addedToQueue:"{item} \u0111\xE3 \u0111\u01B0\u1EE3c \u0111\u01B0a v\xE0o h\xE0ng ch\u1EDD",alreadyInQueue:"{item} \u0111\xE3 \u0111ang trong h\xE0ng ch\u1EDD!",finishDownload:"{item} \u0111\xE3 t\u1EA3i xong.",allDownloaded:"T\u1EA5t c\u1EA3 c\xE1c b\xE0i h\xE1t \u0111\xE3 \u0111\u01B0\u1EE3c t\u1EA3i xu\u1ED1ng!",refreshFavs:"T\u1EA3i l\u1EA1i ho\xE0n t\u1EA5t!",loggingIn:"\u0110ang \u0111\u0103ng nh\u1EADp",loggedIn:"\u0110\u0103ng nh\u1EADp th\xE0nh c\xF4ng",alreadyLogged:"\u0110\xE3 \u0111\u0103ng nh\u1EADp",loginFailed:"Kh\xF4ng th\u1EC3 \u0111\u0103ng nh\u1EADp",loggedOut:"\u0110\u0103ng xu\u1EA5t",cancellingCurrentItem:"\u0110ang h\u1EE7y file hi\u1EC7n t\u1EA1i.",currentItemCancelled:"File hi\u1EC7n t\u1EA1i \u0111\xE3 b\u1ECB h\u1EE7y.",startAddingArtist:"\u0110ang \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",finishAddingArtist:"\u0110\xE3 \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",startConvertingSpotifyPlaylist:"\u0110ang chuy\u1EC3n \u0111\u1ED5i c\xE1c b\xE0i h\xE1t t\u1EEB Spotify sang Deezer",finishConvertingSpotifyPlaylist:"Playlist c\u1EE7a Spotify \u0111\xE3 \u0111\u01B0\u1EE3c chuy\u1EC3n \u0111\u1ED5i",loginNeededToDownload:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111ang nh\u1EADp \u0111\u1EC3 t\u1EA3i nh\u1EA1c!"},settings:{title:"C\xE0i \u0111\u1EB7t",languages:"Ng\xF4n ng\u1EEF",login:{title:"\u0110\u0103ng nh\u1EADp",loggedIn:"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp v\u1EDBi t\xEAn {username}",arl:{question:"L\xE0m c\xE1ch n\xE0o \u0111\u1EC3 c\xF3 ARL c\u1EE7a t\xF4i?",update:"C\u1EADp nh\u1EADt ARL"},logout:"\u0110\u0103ng xu\u1EA5t"},appearance:{title:"Giao di\u1EC7n",slimDownloadTab:"Thanh t\u1EA3i xu\u1ED1ng nh\u1ECF"},downloadPath:{title:"N\u01A1i t\u1EA3i xu\u1ED1ng"},templates:{title:"B\u1EA3n m\u1EABu",tracknameTemplate:"B\xE0i h\xE1t m\u1EABu",albumTracknameTemplate:"B\xE0i h\xE1t trong album m\u1EABu",playlistTracknameTemplate:"B\xE0i h\xE1t trong playlist m\u1EABu"},folders:{title:"Th\u01B0 m\u1EE5c",createPlaylistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho playlist",playlistNameTemplate:"Th\u01B0 m\u1EE5c playlist m\u1EABu",createArtistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho ngh\u1EC7 s\u0129",artistNameTemplate:"Th\u01B0 m\u1EE5c Ngh\u1EC7 s\u0129 m\u1EABu",createAlbumFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho album",albumNameTemplate:"Th\u01B0 m\u1EE5c cho album m\u1EABu",createCDFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho \u0111\u0129a CD",createStructurePlaylist:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho playlist",createSingleFolder:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho \u0111\u0129a \u0111\u01A1n"},trackTitles:{title:"T\xEAn b\xE0i h\xE1t",padTracks:"\u0110\u1EC7m t\xEAn b\xE0i h\xE1t",paddingSize:"Gh\xEC \u0111\xE8 k\xEDch c\u1EE1 ph\u1EA7n \u0111\u1EC7m",illegalCharacterReplacer:"Thay c\xE1c k\xED t\u1EF1 kh\xF4ng h\u1EE3p l\u1EC7 v\u1EDBi"},downloads:{title:"T\u1EA3i xu\u1ED1ng",queueConcurrency:"S\u1ED1 l\u01B0\u1EE3ng t\u1EA3i xu\u1ED1ng c\xF9ng l\xFAc",maxBitrate:{title:"Bitrate \u01B0a th\xEDch",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"T\xF4i c\xF3 n\xEAn ghi \u0111\xE8 file n\xE0y kh\xF4ng?",y:"C\xF3, h\xE3y ghi \u0111\xE8 file n\xE0y",n:"Kh\xF4ng, \u0111\u1EEBng ghi \u0111\xE8 file n\xE0y",t:"Ch\u1EC9 ghi \u0111\xE8 c\xE1c tag"},fallbackBitrate:"Bitrate d\u1EF1 ph\xF2ng",fallbackSearch:"Search d\u1EF1 ph\xF2ng",logErrors:"T\u1EA1o file log khi c\xF3 l\u1ED7i",logSearched:"T\u1EA1o file log khi b\u1EA1n t\xECm B\xE0i h\xE1t",createM3U8File:"T\u1EA1o file playlist",syncedLyrics:"T\u1EA1o file .lyr (L\u1EDDi B\xE0i h\xE1t)",playlistFilenameTemplate:"T\xEAn playlist m\u1EABu",saveDownloadQueue:"L\u01B0u h\xE0ng ch\u1EDD download khi \u0111\xF3ng \u1EE9ng d\u1EE5ng"},covers:{title:"B\xECa album",saveArtwork:"L\u01B0u b\xECa",coverImageTemplate:"T\xEAn b\xECa m\u1EABu",saveArtworkArtist:"L\u01B0u h\xECnh Ngh\u1EC7 s\u0129",artistImageTemplate:"H\xECnh ngh\u1EC7 s\u0129 m\u1EABu",localArtworkSize:"K\xEDch c\u1EE1 file b\xECa",embeddedArtworkSize:"K\xEDch c\u1EE1 b\xECa trong file b\xE0i h\xE1t",localArtworkFormat:{title:"B\u1EA1n mu\u1ED1n file b\xECa \u1EDF \u0111\u1ECBnh d\u1EA1ng n\xE0o?",jpg:"jpg",png:"png",both:"C\u1EA3 jpg v\xE0 png"},jpegImageQuality:"Ch\u1EA5t l\u01B0\u1EE3ng file JPEG"},tags:{head:"Nh\u1EEFng tag s\u1EBD \u0111\u01B0\u1EE3c l\u01B0u",title:"Ti\xEAu \u0111\u1EC1",artist:"Ngh\u1EC7 s\u0129",album:"Album",cover:"B\xECa",trackNumber:"S\u1ED1 b\xE0i h\xE1t",trackTotal:"T\u1ED5ng s\u1ED1 b\xE0i h\xE1t",discNumber:"S\u1ED1 \u0111\u0129a",discTotal:"T\u1ED5ng s\u1ED1 \u0111\u0129a",albumArtist:"Ngh\u1EC7 s\u0129 c\u1EE7a album",genre:"Th\u1EC3 lo\u1EA1i",year:"N\u0103m",date:"Ng\xE0y",explicit:"L\u1EDDi explicit",isrc:"ISRC",length:"Th\u1EDDi l\u01B0\u1EE3ng",barcode:"M\xE3 v\u1EA1ch c\u1EE7a album (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Nh\xE3n hi\u1EC7u album",lyrics:"L\u1EDDi",copyright:"B\u1EA3n quy\u1EC1n",composer:"Nh\xE0 so\u1EA1n nh\u1EA1c",involvedPeople:"Nh\u1EEFng ng\u01B0\u1EDDi li\xEAn quan"},other:{title:"Kh\xE1c",savePlaylistAsCompilation:"L\u01B0u playlist d\u01B0\u1EDBi d\u1EA1ng tuy\u1EC3n t\u1EADp",useNullSeparator:"D\xF9ng d\u1EA3i ph\xE2n c\xE1ch null",saveID3v1:"L\u01B0u ID3v1",multiArtistSeparator:{title:"B\u1EA1n mu\u1ED1n ph\xE2n c\xE1ch c\xE1c ngh\u1EC7 s\u0129 nh\u01B0 th\u1EBF n\xE0o?",nothing:"Ch\u1EC9 l\u01B0u ngh\u1EC7 s\u0129 ch\xEDnh",default:"D\xF9ng quy c\xE1ch ti\xEAu chu\u1EA9n",andFeat:"D\xF9ng & v\xE0 feat.",using:'D\xF9ng "{separator}"'},singleAlbumArtist:"Ch\u1EC9 l\u01B0u Ngh\u1EC7 s\u0129 Album ch\xEDnh",albumVariousArtists:'Gi\u1EEF nguy\xEAn "Nhi\u1EC1u Ngh\u1EC7 s\u0129" trong Ngh\u1EC7 s\u0129 Album',removeAlbumVersion:'B\u1ECF "Phi\xEAn b\u1EA3n Album" kh\u1ECFi t\xEAn b\xE0i h\xE1t',removeDuplicateArtists:"B\u1ECF c\xE1c t\xEAn ngh\u1EC7 s\u0129 ph\u1ED1i h\u1EE3p",dateFormat:{title:"\u0110\u1ECBnh d\u1EA1ng ng\xE0y cho file FLAC ",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"T\xF4i n\xEAn l\xE0m g\xEC v\u1EDBi c\xE1c ngh\u1EC7 s\u0129 \u0111\xF3ng g\xF3p?",0:"Kh\xF4ng l\xE0m g\xEC c\u1EA3",1:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t",3:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t v\xE0 t\xEAn album",2:"\u0110\u01B0a ch\xFAng v\xE0o t\xEAn b\xE0i h\xE1t"},titleCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn b\xE0i h\xE1t",artistCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn ngh\u1EC7 s\u0129",casing:{nothing:"Kh\xF4ng \u0111\u1ED5i",lower:"ch\u1EEF th\u01B0\u1EDDng",upper:"CH\u1EEE HOA",start:"Vi\u1EBFt Hoa \u1EDE Ch\u1EEF C\xE1i \u0110\u1EA7u Ti\xEAn C\u1EE7a M\u1ED7i T\u1EEB",sentence:"Nh\u01B0 m\u1ED9t c\xE2u"},previewVolume:"\xC2m l\u01B0\u1EE3ng nghe th\u1EED",executeCommand:{title:"Th\u1EF1c hi\u1EC7n nh\u1EEFng l\u1EC7nh n\xE0y khi \u0111\xE3 t\u1EA3i xu\u1ED1ng xong",description:"\u0110\u1EC3 tr\u1ED1ng n\u1EBFu b\u1EA1n kh\xF4ng mu\u1ED1n th\u1EF1c hi\u1EC7n l\u1EC7nh n\xE0o"}},spotify:{title:"Ch\u1EE9c n\u0103ng Spotify",clientID:"ClientID c\u1EE7a Spotify",clientSecret:"Client Secret c\u1EE7a Spotify",username:"T\xEAn t\xE0i kho\u1EA3n c\u1EE7a Spotify"},reset:"Quay tr\u1EDF l\u1EA1i c\xE0i \u0111\u1EB7t m\u1EB7c \u0111\u1ECBnh",save:"L\u01B0u",toasts:{init:"C\xE0i \u0111\u1EB7t \u0111\xE3 \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp!",update:"C\xE0i \u0111\u1EB7t c\u1EADp nh\u1EADt th\xE0nh c\xF4ng!",ARLcopied:"ARL \u0111\xE3 \u0111\u01B0\u1EE3c sao ch\xE9p v\xE0o clipboard"}},sidebar:{home:"trang ch\u1EE7",search:"t\xECm ki\u1EBFm",charts:"b\u1EA3ng x\u1EBFp h\u1EA1ng",favorites:"y\xEAu th\xEDch",linkAnalyzer:"ph\xE2n t\xEDch link",settings:"c\xE0i \u0111\u1EB7t",about:"th\xF4ng tin"},tracklist:{downloadSelection:"T\u1EA3i xu\u1ED1ng nh\u1EEFng m\u1EE5c \u0111\xE3 ch\u1ECDn"}},hr={globals:{welcome:"Dobrodo\u0161li u deemix",back:"nazad",loading:"u\u010Ditavanje",download:"Preuzmi {thing}",by:"by {artist}",in:"u {album}",download_hint:"Preuzmi",play_hint:"Play",toggle_download_tab_hint:"Pro\u0161iri/Smanji",clean_queue_hint:"\u010Ci\u0161\u0107enje zavr\u0161eno",cancel_queue_hint:"Zaustavi sve",listTabs:{empty:"",all:"sve",top_result:"Najbolji rezultat",album:"album | albumi",artist:"izvo\u0111a\u010D | izvo\u0111a\u010Di",single:"singl | singlovi",title:"naslov | naslovi",track:"pjesma | pjesme",trackN:"0 pjesmi | {n} pjesma | {n} pjesme",releaseN:"0 izdanja | {n} izdanje | {n} izdanja",playlist:"playlista | playliste",compile:"kompilacija | kompilacije",ep:"ep | eps",spotifyPlaylist:"spotify playlista | spotify playliste",releaseDate:"datum izdavanja",error:"gre\u0161ka"}},about:{titles:{usefulLinks:"Korisne poveznice",bugReports:"Prijave gre\u0161aka",contributing:"Doprinosi",donations:"Donacije",license:"Licenca"},subtitles:{bugReports:"Postoji ne\u0161to \u0161to ne radi u deemixu? Reci nam!",contributing:"\u017Deli\u0161 doprinijeti ovom projektu? Mo\u017Ee\u0161 i to \u010Dak u vi\u0161e na\u010Dina!",donations:"\u017Deli\u0161 doprijeniti odmah? Mo\u017Ee\u0161 donirati!"},usesLibrary:"Ova aplikacija koristi deemix biblioteku, koju mo\u017Ee\u0161 koristiti i ti kako bi napravio svoj UI za demix.",thanks:"Hvala rtonno, uhwot i lollilol \u0161to su mi pomogli s ovim projektom te BasCurtiz \u0161to su napravili ikonu.",upToDate:{text:"Ostani u tijeku s nadogradnjama prate\u0107i {newsChannel} na Telegramu.",newsChannel:"kanal s novostima"},officialWebsite:"Slu\u017Ebena web stranica",officialRepo:"Slu\u017Ebeni repozitorij biblioteke",officialWebuiRepo:"Slu\u017Ebeni WebUI repozitorij",officialSubreddit:"Slu\u017Ebeni subreddit",newsChannel:"Kanal s novostima",questions:{text:"Ukoliko imate pitanja o aplikaciji, prvo potra\u017Eite rije\u0161enje na {subreddit}. Tada, ako ne prona\u0111ete ni\u0161ta, mo\u017Eete objaviti svoj problem na subredditu.",subreddit:"subreddit"},beforeReporting:"Prije prijavljivanja gre\u0161ke provjerite imate li instaliranu zadnju verziju aplikacije i da to \u0161to \u017Eelite prijaviti je ustvari pogre\u0161ka, a ne ne\u0161to \u0161to samo vama ne radi.",beSure:"Provjerite mo\u017Ee li se pogre\u0161ka reproducirati i na drugim ure\u0111ajima i tako\u0111er NEMOJTE prijavljivati gre\u0161ku ako je ve\u0107 prijavljena.",duplicateReports:"Duplicirane prijave o gre\u0161ki bit \u0107e zatvorene, tako da pripazite na to.",dontOpenIssues:"NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.",newUI:{text:"Ako ste vje\u0161ti u pythonu mo\u017Eete probati napraviti novi UI za aplikaciju koriste\u0107i osnovnu biblioteku ili ispraviti pogre\u0161ku u biblioteci sa pull zahtjevom na {repo}.",repo:"repozitoriju"},acceptFeatures:"Prihava\u0107am i zna\u010Dajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.",otherLanguages:"Ako ste vje\u0161ti u drugom programskom jezikumo\u017Eete probati portati deemix u drugi programski jezik!",understandingCode:"Trebate pomo\u0107 s razumijevanjem koda? Samo potra\u017Ei RemixDev na Telegramu ili Redditu.",contributeWebUI:{text:"Ako zna\u0161 Vue.js (JavaScript), HTML ili CSS mo\u017Eete doprinijeti za {webui}.",webui:"WebUI"},itsFree:"Trebate zapamtiti da je ovo besplatni projekt i trebali biste podr\u017Eati autore koje volite prije podr\u017Eavanja developera.",notObligated:"Nemojte se osje\u0107ati obveznim darivati, svejedno vas cijenim!",lincensedUnder:{text:"Ovaj rad licenciran je unutar {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Ljestvice",changeCountry:"Promijeni dr\u017Eavu",download:"Preuzmi ljestvicu"},errors:{title:"Gre\u0161ke za {name}",ids:{invalidURL:"URL nije prepoznat",unsupportedURL:"URL jo\u0161 nije podr\u017Ean",ISRCnotOnDeezer:"Zapis ISRC jo\u0161 nije podr\u017Ean na Deezeru",notYourPrivatePlaylist:"Ne mo\u017Eete preuzeti tu\u0111e privatne playliste.",spotifyDisabled:"Spotify zna\u010Dajke nisu pode\u0161ene ispravno.",trackNotOnDeezer:"Pjesma nije prona\u0111ena na Deezeru!",albumNotOnDeezer:"Album nije prona\u0111en na Deezeru!",notOnDeezer:"Pjesma nije dostupna na Deezeru!",notEncoded:"Pjesma jo\u0161 nije enkodirana!",notEncodedNoAlternative:"Pjesma jo\u0161 nije enkodirana i nije prona\u0111ena alternativa!",wrongBitrate:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu.",wrongBitrateNoAlternative:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu i nije prona\u0111ena alternativa!",no360RA:"Pjesma nije dostupna u Reality Audio 360.",notAvailable:"Pjesma nije dostupna na Deezerovim serverima!",notAvailableNoAlternative:"Pjesma nije dostupna na Deezerovim serverima i alternativa nije prona\u0111ena!"}},favorites:{title:"Favoriti",noPlaylists:"Nisu prona\u0111ene playliste",noAlbums:"Omiljeni albumi nisu prona\u0111eni",noArtists:"Omiljeni glazbenici nisu prona\u0111eni",noTracks:"Omiljene pjesme nisu prona\u0111ene"},home:{needTologin:"Trebate se prijaviti sa svojim Deezer ra\u010Dunom kako biste mogli po\u010Deti preuzimati pjesme.",openSettings:"Otvori postavke",sections:{popularPlaylists:"Popularne playliste",popularAlbums:"Najpreslu\u0161aniji album"}},linkAnalyzer:{info:"Ovu sekciju mo\u017Eete koristiti kako biste saznali vi\u0161e informacija o linku koji poku\u0161avate preuzeti.",useful:"Ovo je korisno ako poku\u0161avate preuzeti pjesme koje jo\u0161 nisu dostupne u va\u0161oj zemlji i \u017Eelite, na primjer, znati gdje su dostupne.",linkNotSupported:"Ovaj link jo\u0161 nije podr\u017Ean",linkNotSupportedYet:"\u010Cini se da ovaj link jo\u0161 nije podr\u017Ean, poku\u0161aj analizirati neki drugi.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Trajanje",diskNumber:"Broj diska",trackNumber:"Broj pjesme",releaseDate:"Datum izadavanja",bpm:"BPM",label:"Izdava\u010Dka ku\u0107a",recordType:"Vrsta zapisa",genres:"\u017Danrovi",tracklist:"Popis pjesama"}},search:{startSearching:"Po\u010Dni pretra\u017Eivati!",description:"Mo\u017Eete pretra\u017Eiti pjesmu, cijeli album, izvo\u0111a\u010Da, playlistu... sve! Tako\u0111er, mo\u017Eete i zalijepiti Deezer link",fans:"{n} obo\u017Eavatelja",noResults:"Nema rezultata",noResultsTrack:"Pjesme nisu prona\u0111ene",noResultsAlbum:"Albumi nisu prona\u0111eni",noResultsArtist:"Izvo\u0111a\u010Di nisu prona\u0111eni",noResultsPlaylist:"Playliste nisu prona\u0111ene"},searchbar:"Pretra\u017Ei bilo \u0161to (ili samo zalijepi link)",downloads:"preuzimanja",toasts:{addedToQueue:"{item} dodan u red",alreadyInQueue:"{item} je ve\u0107 u redu!",finishDownload:"{item} zavr\u0161eno preuzimanje.",allDownloaded:"Sva preuzimanja zavr\u0161ena!",refreshFavs:"Osvje\u017Eavanje zavr\u0161eno!",loggingIn:"Prijavljivanje...",loggedIn:"Prijavljeni",alreadyLogged:"Ve\u0107 prijavljeni",loginFailed:"Prijava nije bila mogu\u0107a",loggedOut:"Odjavljeni",cancellingCurrentItem:"Otkazujem trenutnu stavku.",currentItemCancelled:"Trenutna stavka otkazana.",startAddingArtist:"Dodajem {artist} album u red",finishAddingArtist:"Dodan {artist} album u red",startConvertingSpotifyPlaylist:"Pretvaram Spotify pjesme u Deezer pjesme",finishConvertingSpotifyPlaylist:"Spotify playlista pretvorena",loginNeededToDownload:"Trebate se prijaviti kako bi preuzeli pjesme!"},settings:{title:"Postavke",languages:"Jezici",login:{title:"Prijava",loggedIn:"Prijavljeni ste kao {username}",arl:{question:"Kako da dobijem svoj ARL?",update:"A\u017Euriraj ARL"},logout:"Odjavi se"},appearance:{title:"Izgled",slimDownloadTab:"Tanka kartica za preuzimanje"},downloadPath:{title:"Putanja za preuzimanja"},templates:{title:"Predlo\u0161ci",tracknameTemplate:"Naziv pjesme predlo\u017Eak",albumTracknameTemplate:"Pjesma albuma predlo\u017Eak",playlistTracknameTemplate:"Pjesma playliste predlo\u017Eak"},folders:{title:"Mape",createPlaylistFolder:"Izradi mapu za playliste",playlistNameTemplate:"Mapa za playliste predlo\u017Eak",createArtistFolder:"Izradi mapu za izvo\u0111a\u010Da",artistNameTemplate:"Izvo\u0111a\u010D mapa predlo\u017Eak",createAlbumFolder:"Izradi mapu za album",albumNameTemplate:"Album mapa predlo\u017Eak",createCDFolder:"Izradi mapu za CD",createStructurePlaylist:"Strkturiraj mape za playliste",createSingleFolder:"Strukturiraj mape za singlove"},trackTitles:{title:"Naslovi pjesama",padTracks:"Pad tracks",paddingSize:"Prepi\u0161i veli\u010Dinu paddinga",illegalCharacterReplacer:"Zamjena za nedozvoljeni znak"},downloads:{title:"Preuzimanja",queueConcurrency:"Istovremena preuzimanja",maxBitrate:{title:"\u017Deljeni bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Trebam li prepisati datoteke?",y:"Da, prepi\u0161i datoteke",n:"Ne, nemoj prepisati datoteke",t:"Prepi\u0161i samo oznake",b:"Ne, zadr\u017Ei obje datoteke i dodaj broj duplikatu"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Pretra\u017Eivanje fallback",logErrors:"Izradi zapisnik datoteku za gre\u0161ke",logSearched:"Izradi zapisnik datoteku za pretra\u017Eene pjesme",createM3U8File:"Izradi playlist datoteku",syncedLyrics:"Izradi .lyr datoteke (sinkronizirani lyrics)",playlistFilenameTemplate:"Naziv playliste predlo\u017Eak",saveDownloadQueue:"Spremi red za preuzimanje prilikom zatvaranja aplikacije"},covers:{title:"Omoti albuma",saveArtwork:"Spremi omote",coverImageTemplate:"Naziv omota predlo\u017Eak",saveArtworkArtist:"Spremi sliku izvo\u0111a\u010Da",artistImageTemplate:"Slika izvo\u0111a\u010Da predlo\u017Eak",localArtworkSize:"Veli\u010Dina lokalnog omota",embeddedArtworkSize:"Veli\u010Dina ugra\u0111enog omota",localArtworkFormat:{title:"U kojem formatu \u017Eelite lokalni omot?",jpg:"Jpeg slika",png:"Png slika",both:"I jpeg i png"},jpegImageQuality:"JPEG kvaliteta slike"},tags:{head:"Koja oznake spremam",title:"Naslovi",artist:"Izvo\u0111a\u010D",album:"Album",cover:"Omot",trackNumber:"Broj pjesme",trackTotal:"Ukupno pjesama",discNumber:"Broj diska",discTotal:"Ukupno diskova",albumArtist:"Izvo\u0111a\u010D albuma",genre:"\u017Danr",year:"Godina",date:"Datum",explicit:"Eksplicitni lyrics",isrc:"ISRC",length:"Du\u017Eina pjesme",barcode:"Album barkod (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Izdava\u010Dka ku\u0107a albuma",lyrics:"Nesinkronizirani lyrics",copyright:"Autorska prava",composer:"Skladatelj",involvedPeople:"Uklju\u010Deni ljudi"},other:{title:"Ostalo",savePlaylistAsCompilation:"Spremi playliste kao kompilacije",useNullSeparator:"Koristi null razdvojnik",saveID3v1:"Spremi i ID3v1 tako\u0111er",multiArtistSeparator:{title:"Kako biste \u017Eeljeli razdvojiti izvo\u0111a\u010De?",nothing:"Spremi samo glavnog izvo\u0111a\u010Da",default:"Koriste\u0107i standardnu specifikaciju",andFeat:"Koriste\u0107i & i feat.",using:'Koriste\u0107i "{separator}"'},singleAlbumArtist:"Spremi samo izvo\u0111a\u010Da glavnog albuma",albumVariousArtists:'Zadr\u017Ei "Various Artists" u Izvo\u0111a\u010Dima albuma',removeAlbumVersion:'Izbri\u0161i "Album Version" iz naziva pjesme',removeDuplicateArtists:"Izbri\u0161i kombinacije izvo\u0111a\u010Da",dateFormat:{title:"Format datuma za FLAC datoteke",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u0160to trebam napraviti s istaknutim izvo\u0111a\u010Dima? (feat. i ft.)",0:"Ni\u0161ta",1:"Izbri\u0161i ih iz naziva",3:"Izbri\u0161i ih iz naziva i iz naziva albuma",2:"Premjesti ih u naziv"},titleCasing:"Veli\u010Dina slova naslova",artistCasing:"Veli\u010Dina slova izvo\u0111a\u010Da",casing:{nothing:"Zadr\u017Ei nepromijenjeno",lower:"sve malo",upper:"sve VELIKO",start:"Po\u010Detak Svake Rije\u010Di",sentence:"Kao re\u010Denica"},previewVolume:"Volumen pregleda",executeCommand:{title:"Naredba za izvr\u0161enje nakon preuzimanja",description:"Ostavi prazno za bez akcije"}},spotify:{title:"Spotify zna\u010Dajke",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify korisni\u010Dko ime"},reset:"Resetiraj na zadano",save:"Spremi",toasts:{init:"Postavke u\u010Ditane!",update:"Postavke a\u017Eurirane!",ARLcopied:"ARL kopiran u me\u0111uspremnik"}},sidebar:{home:"po\u010Detna",search:"pretra\u017Eivanje",charts:"ljestvice",favorites:"favoriti",linkAnalyzer:"analizator linka",settings:"postavke",about:"o programu"},tracklist:{downloadSelection:"Preuzmi selekciju"}},ar={globals:{welcome:"\u0645\u0631\u062D\u0628\u0623 \u0628\u0643 \u0641\u064A \u062F\u064A\u0645\u0643\u0633",back:"\u0631\u062C\u0648\u0639",loading:"\u062C\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",download:"\u062A\u062D\u0645\u064A\u0644 {thing}",by:"\u0628\u0648\u0627\u0633\u0637\u0629 {artist}",in:"\u0641\u064A {album}",download_hint:"\u062A\u062D\u0645\u064A\u0644",play_hint:"\u062A\u0634\u063A\u064A\u0644",toggle_download_tab_hint:"\u0639\u0631\u0636/\u0627\u062E\u0641\u0627\u0621",clean_queue_hint:"\u062A\u0645 \u0627\u0644\u0645\u0633\u062D",cancel_queue_hint:"\u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0643\u0644",listTabs:{empty:"",all:"\u0627\u0644\u0643\u0644",top_result:"\u0627\u0641\u0636\u0644 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",album:"\u0627\u0644\u0628\u0648\u0645 | \u0627\u0644\u0628\u0648\u0645\u0627\u062A",artist:"\u0641\u0646\u0627\u0646 | \u0641\u0646\u0627\u0646\u0648\u0646",single:"\u0627\u063A\u0646\u064A\u0629 | \u0627\u063A\u0646\u064A\u0629",title:"\u0639\u0646\u0648\u0627\u0646 | \u0639\u0646\u0627\u0648\u064A\u0646",track:"\u0645\u0642\u0637\u0639 | \u0645\u0642\u0627\u0637\u0639",trackN:"0 \u0645\u0642\u0627\u0637\u0639 | {n} \u0645\u0642\u0637\u0639 | {n} \u0645\u0642\u0637\u0639",releaseN:"0 \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631",playlist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",compile:"\u0645\u062C\u0645\u0648\u0639\u0629 | \u0645\u062C\u0645\u0648\u0639\u0627\u062A",ep:"ep | eps",spotifyPlaylist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",error:"\u062E\u0637\u0623"}},about:{titles:{usefulLinks:"\u0631\u0648\u0627\u0628\u0637 \u0645\u0647\u0645\u0629",bugReports:"\u0627\u0628\u0644\u0627\u063A \u0639\u0646 \u0645\u0634\u0643\u0644\u0629",contributing:"\u0645\u0633\u0627\u0647\u0645\u0629",donations:"\u0627\u0644\u062A\u0628\u0631\u0639",license:"\u0627\u0644\u0631\u062E\u0635\u0629"},subtitles:{bugReports:"\u0647\u0644 \u0647\u0646\u0627\u0643 \u0634\u064A\u0621 \u0644\u0627 \u064A\u0639\u0645\u0644 \u0641\u064A \u062F\u064A\u0645\u0643\u0633\u061F \u0623\u062E\u0628\u0631\u0646\u0627",contributing:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0642\u064A\u0627\u0645 \u0628\u0630\u0644\u0643 \u0628\u0639\u062F\u0629 \u0637\u0631\u0642",donations:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0645\u0627\u062F\u064A\u0627\u064B\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062A\u0628\u0631\u0639"},usesLibrary:"\u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u064A\u0633\u062A\u062E\u062F\u0645 \u0645\u0643\u062A\u0628\u0629 \u062F\u064A\u0645\u0643\u0633 \u0648\u0627\u0644\u062A\u064A \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u062C\u0647\u0629 \u0645\u0633\u062A\u062E\u062F\u0645 \u062E\u0627\u0635\u0629 \u0628\u0643 \u0644\u062F\u064A\u0645\u0643\u0633.",thanks:"\u0634\u0643\u0631\u0627 \u0644\u0640 rtonno, \u0648 uhwot \u0648 lollilol \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u064A \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648 \u0644\u0640 BasCurtiz \u0644\u0635\u0646\u0639 \u0627\u0644\u0627\u064A\u0642\u0648\u0646\u0629.",officialWebsite:"\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0631\u0633\u0645\u064A",officialRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0627\u0644\u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0631\u0633\u0645\u064A",officialWebuiRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0648\u0627\u062C\u0647\u0629 \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u0631\u0633\u0645\u064A",officialSubreddit:"\u0627\u0644\u0633\u0628 \u0631\u064A\u062F\u062A \u0627\u0644\u0631\u0633\u0645\u064A",newsChannel:"\u0642\u0646\u0627\u0629 \u0627\u0644\u0627\u062E\u0628\u0627\u0631",beforeReporting:"\u0642\u0628\u0644 \u0627\u0646 \u062A\u0628\u0644\u063A \u0639\u0646 \u062E\u0637\u0623\u060C \u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646\u0643 \u062A\u0634\u063A\u0644 \u0623\u062D\u062F\u062B \u0625\u0635\u062F\u0627\u0631 \u0645\u0646 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0623\u0646 \u0645\u0627 \u062A\u0631\u064A\u062F \u0627\u0644\u0625\u0628\u0644\u0627\u063A \u0639\u0646\u0647 \u0647\u0648 \u0641\u064A \u0627\u0644\u0648\u0627\u0642\u0639 \u062E\u0637\u0623 \u0648\u0644\u064A\u0633 \u0645\u0634\u0643\u0644\u0629 \u0645\u0646 \u062C\u0647\u062A\u0643.",beSure:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646 \u0627\u0644\u062E\u0637\u0623 \u064A\u0645\u0643\u0646 \u0625\u0639\u0627\u062F\u0629 \u0625\u0646\u062A\u0627\u062C\u0647 \u0639\u0644\u0649 \u0623\u062C\u0647\u0632\u0629 \u0623\u062E\u0631\u0649 \u0648 \u0627\u064A\u0636\u0627\u064B \u0644\u0627 \u062A\u0628\u0644\u063A \u0639\u0644\u0629 \u062E\u0637\u0623 \u062A\u0645 \u0627\u0644\u062A\u0628\u0644\u064A\u063A \u0639\u0646\u0647 \u0633\u0627\u0628\u0642\u0627\u064B.",duplicateReports:"\u0633\u064A\u062A\u0645 \u0625\u063A\u0644\u0627\u0642 \u062A\u0642\u0627\u0631\u064A\u0631 \u0627\u0644\u0623\u062E\u0637\u0627\u0621 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u060C \u0644\u0630\u0644\u0643 \u062A\u0631\u0642\u0628 \u0630\u0644\u0643.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",acceptFeatures:"\u0623\u0642\u0628\u0644 \u0627\u0642\u062A\u0631\u0627\u062D\u0627\u062A \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0623\u064A\u0636\u064B\u0627 \u060C \u0648\u0644\u0643\u0646 \u0644\u0627 \u0623\u0634\u064A\u0627\u0621 \u0645\u0639\u0642\u062F\u0629 \u060C \u0641\u0642\u0637 \u0627\u0634\u064A\u0627\u0621 \u064A\u0645\u0643\u0646\u0646\u064A \u062A\u0646\u0641\u064A\u0630\u0647\u0627 \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0644\u064A\u0633 \u0641\u064A \u0627\u0644\u0645\u0643\u062A\u0628\u0629.",otherLanguages:"\u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062C\u064A\u062F \u0644\u063A\u0629 \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649 \u060C \u064A\u0645\u0643\u0646\u0643 \u0645\u062D\u0627\u0648\u0644\u0629 \u062A\u062D\u0648\u064A\u0644 \u062F\u064A\u0645\u0643\u0633 \u0625\u0644\u0649 \u0644\u063A\u0627\u062A \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649!",understandingCode:"\u0623\u0646\u062A \u0628\u062D\u0627\u062C\u0629 \u0625\u0644\u0649 \u0645\u0633\u0627\u0639\u062F\u0629 \u0641\u064A \u0641\u0647\u0645 \u0627\u0644\u0643\u0648\u062F\u061F \u0641\u0642\u0637 \u0627\u062A\u0635\u0644 \u0628\u0640 RemixDev \u0639\u0644\u0649 \u062A\u064A\u0644\u064A\u0643\u0631\u0627\u0645 \u0627\u0648 \u0631\u064A\u062F\u064A\u062A.",itsFree:"\u064A\u062C\u0628 \u0627\u0646 \u062A\u062A\u0630\u0643\u0631 \u0627\u0646 \u0647\u0630\u0627 \u0647\u0648 \u0645\u0634\u0631\u0648\u0639 \u0645\u062C\u0627\u0646\u064A \u0648 \u0639\u0644\u064A\u0643 \u062F\u0639\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u064A\u0646 \u0644\u0643 \u0642\u0628\u0644 \u0627\u0646 \u062A\u062F\u0639\u0645 \u0645\u0637\u0648\u0631\u064A\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C.",notObligated:"\u0644\u0627 \u062A\u0634\u0639\u0631 \u0628\u0627\u0644\u0627\u0644\u062A\u0632\u0627\u0645 \u0628\u0627\u0644\u062A\u0628\u0631\u0639 \u060C \u0644\u0643\u0646\u064A \u0623\u0642\u062F\u0631 \u0630\u0644\u0643 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644!"},charts:{title:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",changeCountry:"\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062F\u0648\u0644\u0629",download:"\u062A\u062D\u0645\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0648\u0644"},errors:{title:"\u062E\u0637\u0623 \u0641\u064A {name}",ids:{invalidURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D",unsupportedURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B",ISRCnotOnDeezer:"\u0631\u0645\u0632 \u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u062F\u064A\u0632\u0631",notYourPrivatePlaylist:"\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u062A\u062D\u0645\u064A\u0644 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u062E\u0627\u0635\u0629 \u0648 \u0627\u0644\u0645\u062E\u0641\u064A\u0629.",spotifyDisabled:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0639\u062F\u0627\u062F \u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0628\u0627\u0644\u0637\u0631\u0642\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629 .",trackNotOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",albumNotOnDeezer:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notEncoded:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B!",notEncodedNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u0648\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u062F\u064A\u0644!",wrongBitrate:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629.",wrongBitrateNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0648 \u0644\u0627 \u062A\u0648\u062C\u062F \u062F\u0642\u0629 \u0628\u062F\u064A\u0644\u0629!",no360RA:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A Reality Audio 360.",notAvailable:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631!",notAvailableNoAlternative:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631 \u0648 \u0644\u0627 \u064A\u0648\u062C\u062F \u0628\u062F\u064A\u0644 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646!"}},favorites:{title:"\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A",noPlaylists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",noAlbums:"\u0644\u0645 \u0644\u0627 \u062A\u0648\u062C\u062F \u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0645\u0641\u0636\u0644\u0629",noArtists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u0641\u0636\u0644\u064A\u0646",noTracks:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u0642\u0627\u0637\u0639 \u0645\u0641\u0636\u0644\u0629"},home:{needTologin:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u0627\u0644\u062A\u0633\u062C\u064A\u0644 \u0641\u064A \u062D\u0633\u0627\u0628 \u062F\u064A\u0632\u0631 \u0642\u0628\u0644 \u0628\u062F\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644.",openSettings:"\u0641\u062A\u062D \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",sections:{popularPlaylists:"\u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0645\u0634\u0647\u0648\u0631\u0629",popularAlbums:"\u0627\u0643\u062B\u0631 \u0627\u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0633\u0645\u0627\u0639\u0623"}},linkAnalyzer:{info:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0647\u0630\u0627 \u0627\u0644\u0642\u0633\u0645 \u0644\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062D\u0648\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644\u0647.",useful:" \u0643\u0645\u062B\u0627\u0644 \u0647\u0630\u0627 \u0645\u0641\u064A\u062F \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644 \u0628\u0639\u0636 \u0627\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629 \u0641\u064A \u0628\u0644\u062F\u0643 \u0648\u062A\u0631\u064A\u062F \u0645\u0639\u0631\u0641\u0629 \u0645\u0643\u0627\u0646 \u062A\u0648\u0641\u0631\u0647\u0627 .",linkNotSupported:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646",linkNotSupportedYet:"\u064A\u0628\u062F\u0648 \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u060C \u062D\u0627\u0648\u0644 \u062A\u062D\u0644\u064A\u0644 \u0631\u0627\u0628\u0637 \u0622\u062E\u0631.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u0627\u0644\u0645\u062F\u0629 \u0627\u0644\u0632\u0645\u0646\u064A\u0629",diskNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",bpm:"BPM",label:"Label",recordType:"\u0646\u0648\u0639 \u0627\u0644\u062A\u0633\u062C\u064A\u0644",genres:"\u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0641\u0646\u064A",tracklist:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0642\u0627\u0637\u0639"}},search:{startSearching:"\u0627\u0628\u062F\u0623 \u0627\u0644\u0628\u062D\u062B!",description:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0645\u0642\u0637\u0639 \u060C \u0623\u0644\u0628\u0648\u0645 \u0643\u0627\u0645\u0644 \u060C \u0641\u0646\u0627\u0646 \u060C \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 .... \u0643\u0644 \u0634\u064A\u0621! \u064A\u0645\u0643\u0646\u0643 \u0623\u064A\u0636\u064B\u0627 \u0644\u0635\u0642 \u0631\u0627\u0628\u0637 \u062F\u064A\u0632\u0631",fans:"{n} \u0645\u062A\u0627\u0628\u0639\u0648\u0646",noResults:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",noResultsTrack:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0642\u0627\u0637\u0639",noResultsAlbum:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0628\u0648\u0645\u0627\u062A",noResultsArtist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0641\u0646\u0627\u0646\u064A\u0646",noResultsPlaylist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644"},searchbar:"\u0627\u0628\u062D\u062B \u0639\u0646 \u0623\u064A \u0634\u064A\u0621 \u062A\u0631\u064A\u062F\u0647 (\u0623\u0648 \u0627\u0644\u0635\u0642 \u0631\u0627\u0628\u0637)",downloads:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",toasts:{addedToQueue:"{item} \u062A\u0645\u062A \u0625\u0644\u0623\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631",alreadyInQueue:"{item} \u062D\u0627\u0644\u064A\u0627\u064B \u0641\u064A \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631!",finishDownload:"{item} \u0627\u0646\u062A\u0647\u0649 \u062A\u062D\u0645\u064A\u0644.",allDownloaded:"\u0627\u0643\u062A\u0645\u0644\u062A \u062C\u0645\u064A\u0639 \u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A!",refreshFavs:"\u0627\u0643\u062A\u0645\u0644 \u0627\u0644\u062A\u062D\u062F\u064A\u062B!",loggingIn:"\u062C\u0627\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644...",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",alreadyLogged:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0644\u0641\u0639\u0644",loginFailed:"\u062A\u0639\u0630\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedOut:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C",cancellingCurrentItem:"\u062C\u0627\u0631 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",currentItemCancelled:"\u062A\u0645 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",startAddingArtist:"\u062C\u0627\u0631 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",finishAddingArtist:"\u062A\u0645 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",startConvertingSpotifyPlaylist:"\u062C\u0627\u0631 \u062A\u062D\u0648\u064A\u0644 \u0645\u0642\u0627\u0637\u0639 \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0627\u0644\u0649 \u0645\u0642\u0627\u0637\u0639 \u062F\u064A\u0632\u0631",finishConvertingSpotifyPlaylist:"\u062A\u0645 \u062A\u062D\u0648\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",loginNeededToDownload:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0642\u0627\u0637\u0639!"},settings:{title:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",languages:"\u0627\u0644\u0644\u063A\u0627\u062A",login:{title:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0643\u0640 {username}",arl:{question:"\u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0629 ARL",update:"\u0627\u0631\u0641\u0639 \u0627\u0644 ARL"},logout:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C"},appearance:{title:"\u0627\u0644\u0645\u0638\u0647\u0631",slimDownloadTab:"\u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0631\u0641\u064A\u0639\u0629"},downloadPath:{title:"\u0645\u0633\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644"},templates:{title:"\u0627\u0644\u0642\u0648\u0627\u0644\u0628",tracknameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",albumTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",playlistTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644"},folders:{title:"\u0627\u0644\u0645\u0644\u0641\u0627\u062A",createPlaylistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",playlistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createArtistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0641\u0646\u0627\u0646",artistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0641\u0646\u0627\u0646",createAlbumFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0644\u0628\u0648\u0645",albumNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",createCDFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0642\u0631\u0627\u0635",createStructurePlaylist:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createSingleFolder:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0627\u0644\u0648\u0627\u062D\u062F\u0629"},trackTitles:{title:"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0642\u0637\u0639",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"\u0645\u062D\u0648\u0644 \u0627\u0644\u0643\u062A\u0627\u0628\u0627\u062A \u0627\u0644\u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627"},downloads:{title:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",queueConcurrency:"\u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0632\u0627\u0645\u0646\u0629",maxBitrate:{title:"\u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0641\u0636\u0644\u0629",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u0647\u0644 \u064A\u0645\u0643\u0646\u0646\u064A \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A?",y:"\u0646\u0639\u0645, \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",n:"\u0644\u0627, \u0644\u0627 \u062A\u0628\u062F\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",t:"\u0627\u0633\u062A\u0628\u062F\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0641\u0642\u0637",b:"\u0644\u0627 \u060C \u0627\u062D\u062A\u0641\u0638 \u0628\u0627\u0644\u0645\u0644\u0641\u064A\u0646 \u0648\u0623\u0636\u0641 \u0631\u0642\u0645\u064B\u0627 \u0625\u0644\u0649 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0643\u0631\u0631"},fallbackBitrate:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u062F\u0642\u0629",fallbackSearch:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u0628\u062D\u062B",logErrors:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0623\u062E\u0637\u0627\u0621",logSearched:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u062A\u064A \u062A\u0645 \u0627\u0644\u0628\u062D\u062B \u0639\u0646\u0647\u0627",createM3U8File:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",syncedLyrics:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0643\u0644\u0645\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629",playlistFilenameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",saveDownloadQueue:"\u062D\u0641\u0638 \u0642\u0627\u0626\u0645\u0629 \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062A\u0646\u0632\u064A\u0644 \u0639\u0646\u062F \u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062A\u0637\u0628\u064A\u0642"},covers:{title:"\u063A\u0644\u0627\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",saveArtwork:"\u0627\u062D\u0641\u0638 \u0627\u0644\u063A\u0644\u0627\u0641",coverImageTemplate:"\u062A\u063A\u0637\u064A\u0629 \u0642\u0627\u0644\u0628 \u0627\u0644\u0627\u0633\u0645",saveArtworkArtist:"\u0627\u062D\u0641\u0638 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",artistImageTemplate:"\u0642\u0627\u0644\u0628 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",localArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629",embeddedArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u062F\u0645\u062C\u0629",localArtworkFormat:{title:"\u0628\u0623\u064A \u0635\u064A\u063A\u0629 \u062A\u0631\u064A\u062F \u062D\u0641\u0638 \u0627\u0644\u0635\u0648\u0631\u0629?",jpg:"jpeg \u0635\u0648\u0631\u0629",png:"png \u0635\u0648\u0631\u0629",both:"\u0627\u0644\u0627\u062B\u0646\u064A\u0646 png \u0648 jpeg"},jpegImageQuality:"JPEG \u062F\u0642\u0629 \u0635\u0648\u0631\u0629"},tags:{head:"\u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u062A\u0645 \u062D\u0641\u0638\u0647\u0627",title:"\u0627\u0644\u0639\u0646\u0648\u0627\u0646",artist:"\u0627\u0644\u0641\u0646\u0627\u0646",album:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645",cover:"\u0627\u0644\u063A\u0644\u0627\u0641",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",trackTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0645\u0642\u0627\u0637\u0639",discNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",discTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0627\u0642\u0631\u0627\u0635",albumArtist:"\u0641\u0646\u0627\u0646 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",genre:"Genre",year:"\u0627\u0644\u0633\u0646\u0629",date:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E",explicit:"\u0643\u0644\u0645\u0627\u062A \u0627\u063A\u0646\u064A\u0629 \u0635\u0631\u064A\u062D\u0629 \u0644\u0644\u0643\u0628\u0627\u0631",isrc:"ISRC",length:"\u0637\u0648\u0644 \u0627\u0644\u0645\u0642\u0637\u0639",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"\u0643\u0644\u0645\u0627\u062A \u063A\u064A\u0631 \u0645\u062A\u0632\u0627\u0645\u0646\u0629",copyright:"\u062D\u0642\u0648\u0642 \u0627\u0644\u0646\u0634\u0631",composer:"\u0645\u0644\u062D\u0646",involvedPeople:"\u0627\u0644\u0646\u0627\u0633 \u0627\u0644\u0645\u0634\u062A\u0631\u0643\u0648\u0646"},other:{title:"\u063A\u064A\u0631",savePlaylistAsCompilation:"\u062D\u0641\u0638 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0643\u0645\u062C\u0645\u0648\u0639\u0629",useNullSeparator:"\u0627\u0633\u062A\u062E\u062F\u0645 \u0641\u0627\u0635\u0644 \u0641\u0627\u0631\u063A",saveID3v1:"\u0627\u062D\u0641\u0638 \u0645\u0644\u0641 ID3v1",multiArtistSeparator:{title:"\u0643\u064A\u0641 \u062A\u0631\u064A\u062F \u0641\u0635\u0644 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646?",nothing:"\u0627\u062D\u0641\u0638 \u0627\u0644\u0641\u0646\u0627\u0646 \u0627\u0644\u0631\u0626\u064A\u0633\u064A \u0641\u0642\u0637",default:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u0642\u064A\u0627\u0633\u064A\u0629",andFeat:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645& \u0648 feat.",using:'\u0627\u0633\u062A\u062E\u062F\u0627\u0645 "{separator}"'},singleAlbumArtist:"\u0627\u062D\u0641\u0638 \u0641\u0642\u0637 \u0641\u0646\u0627\u0646 \u0627\u0644\u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0631\u0626\u064A\u0633\u064A",albumVariousArtists:'\u0627\u062D\u062A\u0641\u0638 \u0628\u0640 "\u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u062A\u0646\u0648\u0639\u064A\u0646" \u0641\u064A \u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646',removeAlbumVersion:'\u0625\u0632\u0627\u0644\u0629 "\u0625\u0635\u062F\u0627\u0631 \u0627\u0644\u0623\u0644\u0628\u0648\u0645" \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0633\u0627\u0631',removeDuplicateArtists:"\u0625\u0632\u0627\u0644\u0629 \u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646",dateFormat:{title:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0644\u0645\u0644\u0641\u0627\u062A flac",year:"\u0633 \u0633 \u0633 \u0633",month:"\u0634 \u0634",day:"\u064A \u064A"},featuredToTitle:{title:"\u0645\u0627\u0630\u0627 \u0639\u0644\u064A \u0623\u0646 \u0623\u0641\u0639\u0644 \u0645\u0639 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u063A\u064A\u0631 \u0631\u0626\u064A\u0633\u064A\u064A\u0646 ?",0:"\u0644\u0627 \u0634\u064A\u0621",1:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0627\u0644\u0639\u0646\u0648\u0627\u0646",3:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0648 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",2:"\u0648\u0636\u0639\u0647 \u0641\u064A \u0627\u0644\u0639\u0646\u0648\u0627\u0646"},titleCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0639\u0646\u0627\u0648\u0646",artistCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",casing:{nothing:"\u0628\u062F\u0648\u0646 \u062A\u063A\u064A\u064A\u0631",lower:"\u0627\u062D\u0631\u0641 \u0635\u063A\u064A\u0631\u0629",upper:"\u0627\u062D\u0631\u0641 \u0643\u0628\u064A\u0631\u0629",start:"\u062D\u0631\u0641 \u0643\u0628\u064A\u0631 \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0643\u0644 \u0643\u0644\u0645\u0629",sentence:"\u0645\u062B\u0644 \u062C\u0645\u0644\u0629"},previewVolume:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u062D\u062C\u0645",executeCommand:{title:"\u0627\u0644\u0623\u0645\u0631 \u0644\u0644\u062A\u0646\u0641\u064A\u0630 \u0628\u0639\u062F \u0627\u0644\u062A\u0646\u0632\u064A\u0644",description:"\u0627\u062A\u0631\u0643\u0647 \u0641\u0627\u0631\u063A\u064B\u0627 \u0628\u062F\u0648\u0646 \u0625\u062C\u0631\u0627\u0621"}},spotify:{title:"\u0645\u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientID:"\u0645\u0639\u0631\u0641 \u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientSecret:"\u0627\u0644\u0643\u0648\u062F \u0627\u0644\u0633\u0631\u064A \u0644\u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",username:"\u0627\u0633\u0645 \u0645\u0633\u062A\u062E\u062F\u0645 \u0633\u0628\u0648\u062A\u0641\u0627\u064A"},reset:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646 \u0625\u0644\u0649 \u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u064A",save:"\u062D\u0641\u0638",toasts:{init:"\u062A\u0645 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A!",update:"\u062A\u0645 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A!",ARLcopied:"\u062A\u0645 \u0646\u0633\u062E ARL \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629"}},sidebar:{home:"\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",search:"\u0628\u062D\u062B",charts:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",favorites:"\u0627\u0644\u0645\u0641\u0636\u0644\u0629",linkAnalyzer:"\u0645\u062D\u0644\u0644 \u0627\u0644\u0631\u0648\u0627\u0628\u0637",settings:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",about:"\u062D\u0648\u0644"},tracklist:{downloadSelection:"\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0627\u062E\u062A\u064A\u0627\u0631"}},ko={globals:{welcome:"\uC798\uC654\uB2E4, deemix\uC5D0",back:"\uB4A4\uB85C",loading:"\uBD88\uB7EC\uC624\uB294 \uC911",download:"{thing} \uB2E4\uC6B4\uB85C\uB4DC",by:"by {artist}",in:"in {album}",download_hint:"\uB2E4\uC6B4\uB85C\uB4DC",play_hint:"\uC7AC\uC0DD",toggle_download_tab_hint:"\uD3BC\uCE58\uAE30/\uC811\uAE30",clean_queue_hint:"\uBE44\uC6B0\uAE30 \uC644\uB8CC",cancel_queue_hint:"\uBAA8\uB450 \uCDE8\uC18C",open_downloads_folder:"\uB2E4\uC6B4\uB85C\uB4DC \uD3F4\uB354 \uC5F4\uAE30",cut:"\uC798\uB77C\uB0B4\uAE30",copy:"\uBCF5\uC0AC",copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",copyImageLink:"\uC774\uBBF8\uC9C0 \uB9C1\uD06C \uBCF5\uC0AC",copyDeezerLink:"deezer \uB9C1\uD06C \uBCF5\uC0AC",paste:"\uBD99\uC5EC\uB123\uAE30",listTabs:{empty:"",all:"\uC804\uCCB4",top_result:"\uAC00\uC7A5 \uC77C\uCE58\uD558\uB294 \uACB0\uACFC",album:"\uC568\uBC94 | \uC568\uBC94",artist:"\uC544\uD2F0\uC2A4\uD2B8 | \uC544\uD2F0\uC2A4\uD2B8",single:"\uC2F1\uAE00 | \uC2F1\uAE00",title:"\uC81C\uBAA9 | \uC81C\uBAA9",track:"\uD2B8\uB799 | \uD2B8\uB799",releaseN:"0 \uBC1C\uB9E4 | {n} \uBC1C\uB9E4 | {n} \uBC1C\uB9E4",playlist:"\uC7AC\uC0DD\uBAA9\uB85D | \uC7AC\uC0DD\uBAA9\uB85D",compile:"\uD3B8\uCC2C\uBB3C | \uD3B8\uCC2C\uBB3C",ep:"ep | eps",bundle:"\uBC88\uB4E4 | \uBC88\uB4E4",more:"\uB354 \uB9CE\uC740 \uC568\uBC94",featured:"\uD2B9\uC9D1",spotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D | \uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",error:"\uC624\uB958",trackN:"0 \uD2B8\uB799 | {n} \uD2B8\uB799 | {n} \uD2B8\uB799",albumN:"0 \uC568\uBC94 | {n} \uC568\uBC94 | {n} \uC568\uBC94",artistN:"0 \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8",playlistN:"0 \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D"}},about:{appStatus:{online:"\uD504\uB85C\uADF8\uB7A8 \uC628\uB77C\uC778",offline:"\uD504\uB85C\uADF8\uB7A8 \uC624\uD504\uB77C\uC778"},updates:{currentVersion:"\uD604\uC7AC \uBC84\uC804",currentWebuiVersion:"\uD604\uC7AC WebUI \uBC84\uC804",versionNotAvailable:"N/A",updateAvailable:"\uCD5C\uC2E0\uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4: {version}",deemixVersion:"deemix lib \uBC84\uC804"},titles:{usefulLinks:"\uC720\uC6A9\uD55C \uB9C1\uD06C",bugReports:"\uBC84\uADF8 \uC81C\uBCF4",contributing:"\uAE30\uC5EC\uC790",donations:"\uD6C4\uC6D0",license:"\uC774\uC6A9\uC815\uCC45"},subtitles:{bugReports:"\uBB34\uC5B8\uAC00 \uC548\uB418\uB294 \uAC83\uC774 \uC788\uB2E4\uACE0\uC694? \uB9D0\uD574\uC8FC\uC138\uC694!",contributing:"\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uAE30\uC5EC\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uC5B4\uB835\uC9C0 \uC54A\uC544\uC694!",donations:"\uAE08\uC804\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uD6C4\uC6D0\uD558\uC138\uC694!"},usesLibrary:"\uC774 \uD504\uB85C\uADF8\uB7A8\uC740 deemix \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4, \uD574\uB2F9 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB85C \uC790\uC2E0\uB9CC\uC758 deemix\uB97C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",thanks:"\uC774 \uD504\uB85C\uC81D\uD2B8\uB97C \uB3C4\uC640\uC900 rtonno, uhwot \uADF8\uB9AC\uACE0 lollilol\uB2D8\uACFC \uC544\uC774\uCF58\uC744 \uB9CC\uB4E4\uC5B4\uC900 BasCurtiz \uADF8\uB9AC\uACE0 scarvimane\uB2D8\uC5D0\uAC8C \uAC10\uC0AC\uB97C.",upToDate:{text:"\uC0C8\uB85C\uC6B4 \uC5C5\uB370\uC774\uD2B8 \uC18C\uC2DD\uC744 \uB4E3\uACE0 \uC2F6\uC73C\uBA74 \uD154\uB808\uADF8\uB7A8 {newsChannel}\uC744 \uCC38\uACE0\uD558\uC138\uC694.",newsChannel:"\uC0C8\uC18C\uC2DD \uC815\uBCF4\uD1B5"},officialWebsite:"\uACF5\uC2DD \uC6F9\uC0AC\uC774\uD2B8",officialRepo:"\uACF5\uC2DD \uB77C\uC774\uBE0C\uB7EC\uB9AC \uC800\uC7A5\uC18C",officialWebuiRepo:"\uACF5\uC2DD WebUI \uC800\uC7A5\uC18C",officialSubreddit:"\uACF5\uC2DD \uC11C\uBE0C\uB808\uB527",newsChannel:"\uC0C8 \uC18C\uC2DD \uC54C\uB9AC\uBBF8",questions:{text:"\uD504\uB85C\uADF8\uB7A8\uC5D0 \uB300\uD55C \uC9C8\uBB38\uC774\uB098 \uBB38\uC81C\uC5D0 \uAD00\uD55C \uAC83\uC740, \uBA3C\uC800 {subreddit}\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uAC80\uC0C9\uD574\uBCF4\uC138\uC694. \uADF8\uB9AC\uACE0, \uC11C\uBE0C\uB808\uB527\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uCC3E\uAE30 \uBABB\uD55C \uACBD\uC6B0\uC5D0 \uB2E4\uC74C \uC21C\uC11C\uB97C \uC774\uC6A9\uD574\uC8FC\uC138\uC694.",subreddit:"\uC11C\uBE0C\uB808\uB527"},beforeReporting:"\uBC84\uADF8 \uC81C\uBCF4\uB97C \uD558\uAE30 \uC804\uC5D0 \uBA3C\uC800 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uD504\uB85C\uADF8\uB7A8\uC744 \uC2E4\uD589\uD558\uACE0 \uC788\uB294\uC9C0, \uC81C\uBCF4\uD558\uACE0\uC790 \uD558\uB294 \uAC83\uC774 \uBC84\uADF8\uC774\uC9C0 \uC624\uB85C\uC9C0 \uB2F9\uC2E0\uC758 \uBAA9\uC801\uC744 \uC774\uB8E8\uAE30 \uC704\uD55C \uC694\uAD6C\uAC00 \uC544\uB2D8\uC744 \uD655\uC778\uD574\uC8FC\uC138\uC694.",beSure:"\uD574\uB2F9 \uBC84\uADF8\uAC00 \uB2E4\uB978 \uC7A5\uCE58\uC5D0\uC11C\uB3C4 \uC7AC\uD604\uC774 \uAC00\uB2A5\uD55C\uC9C0 \uD655\uC778\uD558\uACE0 \uC774\uBBF8 \uC81C\uBCF4\uB41C \uBC84\uADF8\uC758 \uACBD\uC6B0\uC5D0\uB294 \uC911\uBCF5\uD574\uC11C \uBCF4\uACE0\uD558\uC9C0 \uB9C8\uC138\uC694.",duplicateReports:"\uC911\uBCF5\uB41C \uBC84\uADF8 \uC81C\uBCF4\uC758 \uACBD\uC6B0\uB294 \uD574\uB2F9 \uC694\uCCAD\uC744 \uB2EB\uC744 \uAC83\uC774\uB2C8, \uB450 \uB208 \uB728\uACE0 \uC9C0\uCF1C\uBCF4\uC138\uC694.",dontOpenIssues:"\uC9C8\uBB38\uC5D0 \uAD00\uD55C \uAC83\uC740 \uC774\uC288\uB97C \uC5F4\uC9C0 \uB9C8\uC138\uC694, \uC11C\uBE0C\uB808\uB527\uC774 \uC788\uC2B5\uB2C8\uB2E4.",newUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 \uD30C\uC774\uC36C\uC5D0 \uB2A5\uD1B5\uD558\uACE0 \uAE30\uBCF8\uC801\uC778 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC774\uC6A9\uD558\uC5EC \uC0C8\uB85C\uC6B4 UI\uB97C \uB9CC\uB4E4\uC5C8\uAC70\uB098, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC758 \uBC84\uADF8\uB97C \uC218\uC815\uD558\uC600\uB2E4\uBA74 {repo}\uC5D0 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uD574\uC8FC\uC138\uC694.",repo:"\uC800\uC7A5\uC18C"},acceptFeatures:"\uBCF5\uC7A1\uD558\uC9C0 \uC54A\uC740 \uAE30\uB2A5 \uCD94\uAC00\uB3C4 \uBC1B\uC2B5\uB2C8\uB2E4, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uAC00 \uC544\uB2CC \uC571\uC5D0\uC11C \uC9C1\uC811 \uAD6C\uD604\uD560 \uC218 \uC788\uB294 \uAC83\uC73C\uB85C\uC694.",otherLanguages:"\uB2F9\uC2E0\uC774 \uB2E4\uB978 \uD504\uB85C\uADF8\uB7A8 \uC5B8\uC5B4\uC5D0 \uB2A5\uD1B5\uD558\uBA74, \uC774 deemix \uD504\uB85C\uADF8\uB7A8\uC744 \uB2E4\uB978 \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4\uB85C \uD3EC\uD305\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4!",understandingCode:"\uCF54\uB4DC\uB97C \uC774\uD574\uD558\uB294 \uB370 \uB3C4\uC6C0\uC774 \uD544\uC694\uD569\uB2C8\uAE4C? \uC704\uC5D0 \uC788\uB294 RemixDev, \uD154\uB808\uADF8\uB7A8, \uC11C\uBE0C\uB808\uB527 \uB9C1\uD06C\uB97C \uB204\uB974\uC138\uC694.",contributeWebUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 Vue.js (JavaScript), HTML \uB610\uB294 CSS \uAC1C\uBC1C\uC790\uB77C\uBA74 {webui}\uC5D0 \uB3C4\uC6C0\uC744 \uC8FC\uC138\uC694.",webui:"WebUI"},itsFree:"\uC0AC\uC6A9\uD558\uAE30 \uC804\uC5D0 \uC774 \uD504\uB85C\uADF8\uB7A8\uC774 \uBB34\uB8CC \uD504\uB85C\uC81D\uD2B8\uC774\uACE0 \uAC1C\uBC1C\uC790\uB97C \uC9C0\uC6D0\uD558\uAE30 \uC804\uC5D0 \uC608\uC220\uAC00\uB4E4\uC744 \uBA3C\uC800 \uC9C0\uC6D0\uD574\uC57C \uD568\uC744 \uAE30\uC5B5\uD558\uC138\uC694.",notObligated:"\uAE30\uBD80\uB294 \uD504\uB85C\uC81D\uD2B8\uB97C \uC9C0\uC18D\uD560 \uC218 \uC788\uB294 \uB3D9\uB825\uC774 \uB429\uB2C8\uB2E4!",lincensedUnder:{text:"\uC774 \uC791\uC5C5\uC774 \uC694\uAD6C\uD558\uACE0 \uC788\uB294 \uB77C\uC774\uC13C\uC2A4\uB294 \uC544\uB798\uC640 \uAC19\uC2B5\uB2C8\uB2E4 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\uCC28\uD2B8",changeCountry:"\uAD6D\uAC00 \uBCC0\uACBD",download:"\uCC28\uD2B8 \uB2E4\uC6B4\uB85C\uB4DC"},errors:{title:"\uC624\uB958 \uBC1C\uC0DD: {name}",ids:{unsupportedURL:"URL \uC9C0\uC6D0 \uB204\uB77D",invalidURL:"URL \uC778\uC2DD \uC2E4\uD328",ISRCnotOnDeezer:"\uD2B8\uB799 \uCF54\uB4DC \uC2DD\uBCC4\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4",notYourPrivatePlaylist:"\uB2E4\uB978 \uC0AC\uB78C\uC758 \uBE44\uACF5\uAC1C \uC7AC\uC0DD \uBAA9\uB85D\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",spotifyDisabled:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uC774 \uC62C\uBC14\uB974\uAC8C \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",trackNotOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",albumNotOnDeezer:"Deezer\uC5D0\uC11C \uC568\uBC94\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notEncoded:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4!",notEncodedNoAlternative:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",wrongBitrate:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uC758 \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",wrongBitrateNoAlternative:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",no360RA:"\uD574\uB2F9 \uD2B8\uB799\uC740 360 \uB9AC\uC5BC\uB9AC\uD2F0 \uC624\uB514\uC624\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",notAvailable:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4!",notAvailableNoAlternative:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",noSpaceLeft:"\uC7A5\uCE58\uC5D0 \uC5EC\uC720 \uACF5\uAC04\uC774 \uC5C6\uC2B5\uB2C8\uB2E4!",albumDoesntExists:"\uD2B8\uB799\uC758 \uC568\uBC94\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uC815\uBCF4 \uC218\uC9D1\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."}},favorites:{title:"\uC990\uACA8\uB4E3\uB294 \uC74C\uC545",noPlaylists:"\uC990\uACA8\uB4E3\uB294 \uC7AC\uC0DD\uBAA9\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noAlbums:"\uC990\uACA8\uB4E3\uB294 \uC568\uBC94\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noArtists:"\uC990\uACA8\uB4E3\uB294 \uC544\uD2F0\uC2A4\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",noTracks:"\uC990\uACA8\uB4E3\uB294 \uD2B8\uB799\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},home:{needTologin:"\uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uC791\uD558\uAE30 \uC804\uC5D0 Deezer \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uC744 \uD574\uC57C\uD569\uB2C8\uB2E4.",openSettings:"\uC124\uC815 \uC5F4\uAE30",sections:{popularPlaylists:"\uC778\uAE30\uC788\uB294 \uC7AC\uC0DD\uBAA9\uB85D",popularAlbums:"\uAC00\uC7A5 \uB9CE\uC774 \uC7AC\uC0DD\uB41C \uC568\uBC94"}},linkAnalyzer:{info:"\uC774 \uD56D\uBAA9\uC5D0\uC11C\uB294 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uB3C4\uD560 \uB9C1\uD06C\uC5D0 \uB300\uD55C \uB354 \uB9CE\uC740 \uC815\uBCF4\uB97C \uCC3E\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",useful:"\uC811\uC18D\uD55C \uAD6D\uAC00\uC5D0\uC11C\uB294 \uC7AC\uC0DD\uD560 \uC218 \uC5C6\uB294 \uD2B9\uC815 \uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD558\uAE30 \uC704\uD574\uC11C \uAC00\uB2A5\uD55C \uAD6D\uAC00\uB97C \uCC3E\uB294\uB370 \uC720\uC6A9\uD558\uAC8C \uC4F0\uC785\uB2C8\uB2E4.",linkNotSupported:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",linkNotSupportedYet:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uB2E4\uB978 \uB9C1\uD06C\uB85C \uC2DC\uB3C4\uD574\uBCF4\uC138\uC694.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\uAE38\uC774",diskNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",trackNumber:"\uD2B8\uB799 \uBC88\uD638",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",bpm:"BPM",label:"\uB77C\uBCA8",recordType:"\uB179\uC74C \uC885\uB958",genres:"\uC7A5\uB974",tracklist:"\uD2B8\uB799\uBAA9\uB85D"}},search:{startSearching:"\uAC80\uC0C9\uC744 \uD574\uBCF4\uC138\uC694!",description:"\uD2B8\uB799, \uC544\uD2F0\uC2A4\uD2B8, \uC7AC\uC0DD\uBAA9\uB85D, Deezer \uB9C1\uD06C \uB4F1\uC73C\uB85C \uAC80\uC0C9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!",fans:"{n}\uBA85\uC758 \uD32C\uB4E4",noResults:"\uACB0\uACFC \uC5C6\uC74C",noResultsTrack:"\uBC1C\uACAC\uB41C \uD2B8\uB799 \uC5C6\uC74C",noResultsAlbum:"\uBC1C\uACAC\uB41C \uC568\uBC94 \uC5C6\uC74C",noResultsArtist:"\uBC1C\uACAC\uB41C \uC544\uD2F0\uC2A4\uD2B8 \uC5C6\uC74C",noResultsPlaylist:"\uBC1C\uACAC\uB41C \uC7AC\uC0DD\uBAA9\uB85D \uC5C6\uC74C"},searchbar:"\uC6D0\uD558\uB294 \uAC83\uC744 \uAC80\uC0C9\uD558\uC138\uC694 (\uB9C1\uD06C\uB97C \uBD99\uC5EC\uB123\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4)",downloads:"\uB2E4\uC6B4\uB85C\uB4DC\uB4E4",toasts:{restoringQueue:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4 \uBCF5\uC6D0\uC911...",queueRestored:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4\uC774 \uBCF5\uC6D0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",addedToQueue:"\uB300\uAE30\uC5F4\uC5D0 {item}(\uC774)\uAC00 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",addedMoreToQueue:"\uB300\uAE30\uC5F4\uC5D0 {n} \uD56D\uBAA9\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyInQueue:"{item}(\uC774)\uAC00 \uC774\uBBF8 \uB300\uAE30\uC5F4\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4!",finishDownload:"{item} \uD56D\uBAA9\uC774 \uB2E4\uC6B4\uB85C\uB4DC \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",allDownloaded:"\uBAA8\uB4E0 \uB2E4\uC6B4\uB85C\uB4DC\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",refreshFavs:"\uC0C8\uB85C\uACE0\uCE68\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",loggingIn:"\uB85C\uADF8\uC778 \uD558\uB294 \uC911...",loggedIn:"\uB85C\uADF8\uC778 \uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyLogged:"\uC774\uBBF8 \uB85C\uADF8\uC778\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4",loginFailed:"\uB85C\uADF8\uC778 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",loggedOut:"\uB85C\uADF8\uC544\uC6C3 \uD558\uC600\uC2B5\uB2C8\uB2E4",cancellingCurrentItem:"\uD604\uC7AC \uD56D\uBAA9\uC744 \uCDE8\uC18C \uC911\uC785\uB2C8\uB2E4.",currentItemCancelled:"\uD56D\uBAA9\uC774 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",startAddingArtist:"{artist} \uC568\uBC94\uC744 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00 \uC911\uC785\uB2C8\uB2E4",finishAddingArtist:"{artist} \uC568\uBC94\uC774 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",startConvertingSpotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uD2B8\uB799\uC744 Deezer \uD2B8\uB799\uC73C\uB85C \uC804\uD658 \uC911\uC785\uB2C8\uB2E4",finishConvertingSpotifyPlaylist:"\uC2A4\uD504\uD1A0\uD30C\uC774 \uC7AC\uC0DD \uBAA9\uB85D\uC774 \uC804\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4",loginNeededToDownload:"\uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB824\uBA74 \uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4!",deezerNotAvailable:"Deezer \uC0AC\uC774\uD2B8\uB294 \uD604\uC7AC \uADC0\uD558\uC758 \uAD6D\uAC00\uC5D0\uC11C \uC0AC\uC6A9\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4. VPN\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.",startGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC9C4\uD589\uC911...",finishGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC0DD\uC131."},settings:{title:"\uC124\uC815",languages:"\uC5B8\uC5B4",login:{title:"\uB85C\uADF8\uC778",loggedIn:"{username}(\uC73C)\uB85C \uB85C\uADF8\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4",arl:{question:"ARL\uC744 \uC5B4\uB5BB\uAC8C \uD655\uC778\uD569\uB2C8\uAE4C?",update:"ARL \uC5C5\uB370\uC774\uD2B8"},logout:"\uB85C\uADF8\uC544\uC6C3",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC4F0\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C\uD569\uB2C8\uAE4C?"},appearance:{title:"\uC678\uAD00",slimDownloadTab:"\uC587\uC740 \uB2E4\uC6B4\uB85C\uB4DC \uD0ED",slimSidebar:"\uC587\uC740 \uC0AC\uC774\uB4DC\uBC14"},downloadPath:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uACBD\uB85C"},templates:{title:"\uD15C\uD50C\uB9BF",tracknameTemplate:"\uD2B8\uB799\uC774\uB984 \uD15C\uD50C\uB9BF",tracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uD2B8\uB799\uC774\uB984 \uBCC0\uC218 \uBAA9\uB85D",albumTracknameTemplate:"\uC568\uBC94 \uD2B8\uB799 \uD15C\uD50C\uB9BF",albumTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC568\uBC94 \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D",playlistTracknameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD2B8\uB799 \uD15C\uD50C\uB9BF",playlistTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC7AC\uC0DD \uBAA9\uB85D \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D"},folders:{title:"\uD3F4\uB354",createPlaylistFolder:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",playlistNameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD3F4\uB354 \uD15C\uD50C\uB9BF",createArtistFolder:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",artistNameTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createAlbumFolder:"\uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",albumNameTemplate:"\uC568\uBC94 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createCDFolder:"CD\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",createStructurePlaylist:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131",createSingleFolder:"\uC2F1\uAE00 \uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131"},trackTitles:{title:"\uD2B8\uB799 \uC81C\uBAA9",padTracks:"\uD2B8\uB799 \uCC44\uC6CC\uB123\uAE30",paddingSize:"\uCC44\uC6CC\uB123\uC744 \uD06C\uAE30",illegalCharacterReplacer:"\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAE00\uC790 \uB300\uCCB4"},downloads:{title:"\uB2E4\uC6B4\uB85C\uB4DC",queueConcurrency:"\uB3D9\uC2DC \uB2E4\uC6B4\uB85C\uB4DC",maxBitrate:{title:"\uC120\uD638\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F8\uAE4C\uC694?",y:"\uB124, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC138\uC694",n:"\uC544\uB1E8, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC9C0 \uB9C8\uC138\uC694",t:"\uD0DC\uADF8\uB9CC \uB36E\uC5B4\uC4F0\uC138\uC694",b:"\uC544\uB1E8, \uC591\uCABD \uB2E4 \uB194\uB450\uACE0 \uC911\uBCF5\uB418\uB294 \uD30C\uC77C\uC5D0 \uBC88\uD638\uB97C \uCD94\uAC00\uD558\uC138\uC694",e:"\uC544\uB1E8, \uD655\uC7A5\uBA85\uC744 \uBCC0\uACBD\uD558\uC138\uC694"},fallbackBitrate:"\uBE44\uD2B8\uB808\uC774\uD2B8 \uB300\uBE44\uCC45",fallbackSearch:"\uAC80\uC0C9 \uB300\uBE44\uCC45",logErrors:"\uC624\uB958 \uBC1C\uC0DD\uC2DC \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",logSearched:"\uAC80\uC0C9\uD55C \uD2B8\uB799\uC5D0 \uB300\uD55C \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",createM3U8File:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C \uC0DD\uC131",syncedLyrics:".lyr \uD30C\uC77C \uC0DD\uC131 (\uAC00\uC0AC \uB3D9\uAE30\uD654)",playlistFilenameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C\uC774\uB984 \uD15C\uD50C\uB9BF",saveDownloadQueue:"\uD504\uB85C\uADF8\uB7A8\uC744 \uB2EB\uC744 \uB54C \uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30\uC5F4 \uC800\uC7A5"},covers:{title:"\uC568\uBC94 \uCEE4\uBC84",saveArtwork:"\uCEE4\uBC84 \uC800\uC7A5",coverImageTemplate:"\uCEE4\uBC84 \uC774\uB984 \uD15C\uD50C\uB9BF",saveArtworkArtist:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uC800\uC7A5",artistImageTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uD15C\uD50C\uB9BF",localArtworkSize:"\uC678\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",embeddedArtworkSize:"\uB0B4\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",localArtworkFormat:{title:"\uBCC4\uB3C4\uB85C \uC800\uC7A5\uD560 \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 \uBB34\uC5C7\uC73C\uB85C \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",jpg:"jpeg \uC774\uBBF8\uC9C0",png:"png \uC774\uBBF8\uC9C0",both:"jpeg\uC640 png \uB458 \uB2E4"},jpegImageQuality:"JPEG \uC774\uBBF8\uC9C0 \uD488\uC9C8",embeddedArtworkPNG:"\uD3EC\uD568\uB41C \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 PNG\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4",embeddedPNGWarning:"PNG\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBC84\uADF8\uAC00 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4",imageSizeWarning:"x1200 \uD06C\uAE30\uB97C \uCD08\uACFC\uD574\uC11C\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBB38\uC81C\uAC00 \uC0DD\uAE38 \uC218 \uC788\uC2B5\uB2C8\uB2E4",coverDescriptionUTF8:"\uCEE4\uBC84 \uC124\uBA85\uC744 UTF8 \uD3EC\uB9F7\uC744 \uC774\uC6A9\uD574 \uC800\uC7A5\uD569\uB2C8\uB2E4 (iTunes \uCEE4\uBC84 \uC624\uB958 \uD574\uACB0)"},tags:{head:"\uC800\uC7A5\uD560 \uD0DC\uADF8\uB97C \uC120\uD0DD\uD558\uC138\uC694",title:"\uC81C\uBAA9",artist:"\uC544\uD2F0\uC2A4\uD2B8",album:"\uC568\uBC94",cover:"\uCEE4\uBC84",trackNumber:"\uD2B8\uB799 \uBC88\uD638",trackTotal:"\uC804\uCCB4 \uD2B8\uB799 \uD06C\uAE30",discNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",discTotal:"\uC804\uCCB4 \uB514\uC2A4\uD06C \uC218",albumArtist:"\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8",genre:"\uC7A5\uB974",year:"\uC5F0\uB3C4",date:"\uC77C\uC790",explicit:"\uB178\uACE8\uC801 \uAC00\uC0AC",isrc:"ISRC",length:"\uD2B8\uB799 \uAE38\uC774",barcode:"\uC568\uBC94 \uBC14\uCF54\uB4DC (UPC)",bpm:"BPM",replayGain:"\uB9AC\uD50C\uB808\uC774 \uAC8C\uC778",label:"\uC568\uBC94 \uB77C\uBCA8",lyrics:"\uBE44\uB3D9\uAE30 \uAC00\uC0AC",copyright:"\uC800\uC791\uAD8C",composer:"\uC791\uACE1\uAC00",involvedPeople:"\uAD00\uB828\uC788\uB294 \uC0AC\uB78C\uB4E4",source:"\uC18C\uC2A4\uC640 \uC74C\uC545 ID"},other:{title:"\uAE30\uD0C0",savePlaylistAsCompilation:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uD3B8\uCC2C\uBB3C\uB85C \uC800\uC7A5",useNullSeparator:"null \uAD6C\uBD84\uC790 \uC0AC\uC6A9",saveID3v1:"ID3v1 \uD0DC\uADF8 \uD615\uC2DD\uC73C\uB85C \uC800\uC7A5",multiArtistSeparator:{title:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC5B4\uB5BB\uAC8C \uAD6C\uBD84\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",nothing:"\uC8FC\uC694 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",default:"\uD45C\uC900 \uC2A4\uD399\uC744 \uC0AC\uC6A9",andFeat:"& \uAE30\uD638\uC640 feat \uC0AC\uC6A9.",using:'"{separator}" \uC0AC\uC6A9'},singleAlbumArtist:"\uC8FC\uC694 \uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",albumVariousArtists:'\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uC5D0 "Various Artists"(\uB2E4\uC591\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4) \uC720\uC9C0',removeAlbumVersion:'\uD2B8\uB799 \uC81C\uBAA9\uC5D0 "Album Version"(\uC568\uBC94 \uBC84\uC804) \uC81C\uAC70',removeDuplicateArtists:"\uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC758 \uD611\uC5C5 \uC81C\uAC70",dateFormat:{title:"FLAC \uD30C\uC77C\uC758 \uB0A0\uC9DC \uD615\uC2DD",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\uD2B9\uC9D1\uC5D0 \uCC38\uC5EC\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC5D0 \uD560 \uC218 \uC788\uB294 \uAC83\uC774 \uBB34\uC5C7\uC774 \uC788\uB098\uC694?",0:"\uC544\uBB34\uAC83\uB3C4 \uD558\uC9C0 \uC54A\uC74C",1:"\uC81C\uBAA9\uC5D0\uC11C \uC81C\uAC70",3:"\uC568\uBC94 \uC81C\uBAA9\uACFC \uD2B8\uB799\uC5D0\uC11C \uC81C\uAC70",2:"\uC81C\uBAA9\uC73C\uB85C \uC774\uB3D9"},titleCasing:"\uC81C\uBAA9 \uCF00\uC774\uC2F1",artistCasing:"\uC544\uD2F0\uC2A4\uD2B8 \uCF00\uC774\uC2F1",casing:{nothing:"\uBCC0\uD568\uC5C6\uC774 \uC720\uC9C0",lower:"\uC18C\uBB38\uC790\uB85C",upper:"\uB300\uBB38\uC790\uB85C",start:"\uAC01 \uB2E8\uC5B4 \uC55E \uAE00\uC790\uB97C \uB300\uBB38\uC790\uB85C",sentence:"\uBB38\uC7A5\uCC98\uB7FC"},previewVolume:"\uBBF8\uB9AC\uB4E3\uAE30 \uBCFC\uB968",executeCommand:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uD6C4 \uC2E4\uD589\uD560 \uBA85\uB839\uC5B4",description:"\uBE48\uCE78\uC73C\uB85C \uB450\uBA74 \uC544\uBB34 \uC77C\uB3C4 \uC5C6\uC2B5\uB2C8\uB2E4"}},spotify:{title:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify \uC0AC\uC6A9\uC790\uC774\uB984",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C \uD569\uB2C8\uAE4C?"},reset:"\uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uCD08\uAE30\uD654",resetMessage:"\uC815\uB9D0 \uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uB3CC\uC544\uAC00\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",save:"\uC800\uC7A5",toasts:{init:"\uC124\uC815\uC744 \uBD88\uB7EC\uC654\uC2B5\uB2C8\uB2E4!",update:"\uC0C8\uB85C\uC6B4 \uC124\uC815\uC73C\uB85C \uAC31\uC2E0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",reset:"\uC124\uC815\uC774 \uC6D0\uB798\uB300\uB85C \uCD08\uAE30\uD654 \uB418\uC5C8\uC2B5\uB2C8\uB2E4!",ARLcopied:"ARL\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},sidebar:{home:"\uD648",search:"\uAC80\uC0C9",charts:"\uCC28\uD2B8",favorites:"\uC990\uACA8\uCC3E\uAE30",linkAnalyzer:"\uB9C1\uD06C \uBD84\uC11D\uAE30",settings:"\uC124\uC815",about:"\uC815\uBCF4"},tracklist:{downloadSelection:"\uC120\uD0DD \uB2E4\uC6B4\uB85C\uB4DC"}},ph={globals:{welcome:"Welcome sa deemix",back:"bumalik",loading:"kumakarga",download:"I-download {thing}",by:"ayon sa {artist}",in:"sa {album}",download_hint:"I-download",play_hint:"I-play",toggle_download_tab_hint:"Palakihin/Paliitan",clean_queue_hint:"Natapos na ang Pag-alis",cancel_queue_hint:"Ikansel Lahat",open_downloads_folder:"Buksan ang Polder ng Download",cut:"i-cut",copy:"kopyahin",copyLink:"kopyahin ang link",copyImageLink:"kopyahin ang imahe sa link",copyDeezerLink:"kopyahin ang link ng deezer",paste:"idikit",listTabs:{empty:"",all:"lahat",top_result:"nangungunang resulta",album:"album | mga album",artist:"artist | mga artist",single:"single | mga single",title:"pamagat | mga pamagat",track:"track | mga track",trackN:"0 mga track | {n} track | {n} mga track",releaseN:"0 mga release | {n} release | {n} mga release",playlist:"playlist | mga playlist",compile:"pinagsama | mga pinagsama",ep:"ep | mga ep",bundle:"bundle | mga bundle",more:"Iba pang mga album",featured:"Ibinida sa",spotifyPlaylist:"playlist sa spotify | mga playlist sa spotify",releaseDate:"petsa ng paglabas",error:"error"}},about:{updates:{currentVersion:"Kasalukuyang version",versionNotAvailable:"H/P",updateAvailable:"Hindi mo ginagamit ang pinakabagong version: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Nakatutulong na mga Link",bugReports:"Report sa Bug",contributing:"Pagtulong",donations:"Mga donasiyon",license:"Lisensiya"},subtitles:{bugReports:"Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!",contributing:"Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!",donations:"Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!"},usesLibrary:"Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.",thanks:"Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.",upToDate:{text:"Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.",newsChannel:"news channel"},officialWebsite:"Opisyal na Website",officialRepo:"Opisyal na Library Repository",officialWebuiRepo:"Opisyal na Repository ng WebUI",officialSubreddit:"Opisyal na Subreddit",newsChannel:"News Channel",questions:{text:"Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.",subreddit:"subreddit"},beforeReporting:"Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.",beSure:"Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.",duplicateReports:"Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.",dontOpenIssues:"HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.",newUI:{text:"Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.",repo:"repo"},acceptFeatures:"Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.",otherLanguages:"Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!",understandingCode:"Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.",contributeWebUI:{text:"Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.",webui:"WebUI"},itsFree:"Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.",notObligated:"Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!",lincensedUnder:{text:"Ang aktibidad na ito ay lisensiyado sa {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Mga Chart",changeCountry:"Palitan ang Country",download:"I-download ang Chart"},errors:{title:"Mga error sa {name}",ids:{invalidURL:"Hindi makilala ang URL",unsupportedURL:"Hindi pa suportado ang URL",ISRCnotOnDeezer:"Ang Track ISRC ay hindi pwede sa Deezer",notYourPrivatePlaylist:"Hindi pwedeng i-download ang mga pribadong playlist ng iba.",spotifyDisabled:"Hindi mo nai-set nang tama ang Spotify Features.",trackNotOnDeezer:"Hindi mahanap ang track sa Deezer!",albumNotOnDeezer:"Hindi mahanap ang album sa Deezer!",notOnDeezer:"Hindi available ang track sa Deezer!",notEncoded:"Hindi pa nae-encode ang track!",notEncodedNoAlternative:"Hindi pa nae-encode ang track at walang mahanap na iba!",wrongBitrate:"Hindi mahanap ang track sa gusto mong bitrate.",wrongBitrateNoAlternative:"Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!",no360RA:"Hindi pwede ang track para sa Reality Audio 360.",notAvailable:"Walang available na track sa server ng Deezer!",notAvailableNoAlternative:"Walang available na track sa server ng Deezer at walang mahanap na iba!",noSpaceLeft:"Wala nang natitirang space sa iyong device!"}},favorites:{title:"Mga Paborito",noPlaylists:"Walang makitang mga Playlist",noAlbums:"Walang makitang mga Paboritong Album",noArtists:"Walang makitang mga Paboritong Artist",noTracks:"Walang makitang mga Paboritong Track"},home:{needTologin:"Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.",openSettings:"Buksan ang Mga Setting",sections:{popularPlaylists:"Mga sikat na playlist",popularAlbums:"Pinakamaraming pinakikinggang mga album"}},linkAnalyzer:{info:"Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.",useful:"Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.",linkNotSupported:"Hindi pa suportado ang link",linkNotSupportedYet:"Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Haba",diskNumber:"Bilang ng Disk",trackNumber:"Bilang ng Track",releaseDate:"Petsa ng Release",bpm:"BPM",label:"Label",recordType:"Uri ng Rekord",genres:"Mga Genre",tracklist:"Listahan ng Track"}},search:{startSearching:"Simulang Maghanap!",description:"Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer",fans:"{n} mga fan",noResults:"Walang resulta",noResultsTrack:"Walang mahanap na mga Track",noResultsAlbum:"Walang mahanap na mga Album",noResultsArtist:"Walang mahanap na mga Artist",noResultsPlaylist:"Walang mahanap na mga Playlist"},searchbar:"Maghanap ka ng gusto mo (o mag-paste ka ng link)",downloads:"mga download",toasts:{restoringQueue:"Binabalik ang download queue...",queueRestored:"Naibalik na ang download queue!",addedToQueue:"{item} ay naidagdag sa queue",addedMoreToQueue:"{n} naidagdag rin sa queue",alreadyInQueue:"{item} ay meron na sa queue!",finishDownload:"{item} ay natapos nang i-download.",allDownloaded:"Nadownload na lahat!",refreshFavs:"Narefresh na!",loggingIn:"Nagla-log in...",loggedIn:"Na-login na",alreadyLogged:"Nakalogin ka na",loginFailed:"Hindi maka-log in",loggedOut:"Na-logout na",cancellingCurrentItem:"Kinakansel ang item.",currentItemCancelled:"Nakansel na ang item.",startAddingArtist:"Idinadagdag si {artist} sa queue ng mga album",finishAddingArtist:"Naidagdag na si {artist} sa queue ng mga album",startConvertingSpotifyPlaylist:"Kino-convert ang mga track sa spotify papuntang Deezer",finishConvertingSpotifyPlaylist:"Naconvert na ang playlist sa Spotify",loginNeededToDownload:"Kailangan mong mag-login para madownload ang mga track!",deezerNotAvailable:"Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN."},settings:{title:"Mga Setting",languages:"Mga Wika",login:{title:"Login",loggedIn:"Ikaw ay naka-login sa pangalang {username}",arl:{question:"Paano ako makakuha ng sariling ARL?",update:"I-update ang ARL"},logout:"Logout",login:"Mag-login gamit ng deezer.com"},appearance:{title:"Hitsura",slimDownloadTab:"Pinaliit na download tab"},downloadPath:{title:"Paglalagyan ng Download"},templates:{title:"Mga Template",tracknameTemplate:"Template sa pangalan ng Track",albumTracknameTemplate:"Template sa track ng Album",playlistTracknameTemplate:"Template sa track ng Playlist"},folders:{title:"Mga Folder",createPlaylistFolder:"Gumawa ng folder para sa mga playlist",playlistNameTemplate:"Template sa folder ng Playlist",createArtistFolder:"Gumawa ng folder para sa artist",artistNameTemplate:"Template sa folder ng Artist",createAlbumFolder:"Gumawa ng folder para sa album",albumNameTemplate:"Template sa folder ng Album",createCDFolder:"Gumawa ng folder para sa mga CD",createStructurePlaylist:"Gumawa ng istraktura ng folder para sa mga playlist",createSingleFolder:"Gumawa ng istraktura ng folder para sa mga single"},trackTitles:{title:"Pamagat sa mga track",padTracks:"Mga track ng Pad",paddingSize:"Patungan ang laki ng padding",illegalCharacterReplacer:"Pamalit sa ilegal na Karakter"},downloads:{title:"Mga Download",queueConcurrency:"Mga Kasabay na Download",maxBitrate:{title:"Gustong Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Papatungan ko ba ang file?",y:"Oo, patungan mo ang file",n:"Hindi, huwag mong patungan ang file",t:"Patungan mo lang ang mga tag",b:"Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya",e:"Hindi, at huwag mong tignan ang mga extension"},fallbackBitrate:"Binabaang bitrate",fallbackSearch:"Maghanap para sa binabaan",logErrors:"Gumawa ng log file para sa mga error",logSearched:"Gumawa ng log file para sa mga hinanap na track",createM3U8File:"Gumawa ng file sa playlist",syncedLyrics:"Gumawa ng mga .lyr file (Mga Sync Lyric)",playlistFilenameTemplate:"Template sa pangalan ng Playlist file",saveDownloadQueue:"I-save ang download queue kapag isasara the app"},covers:{title:"Mga cover ng album",saveArtwork:"I-save ang mga Cover",coverImageTemplate:"Template ng pangalan ng cover",saveArtworkArtist:"I-save ang imahe ng artist",artistImageTemplate:"Template ng imahe ng artist",localArtworkSize:"Laki ng lokal na artwork",embeddedArtworkSize:"Laki ng Nakadikit na artwork",localArtworkFormat:{title:"Anong gusto mong format para sa mga lokal na artwork?",jpg:"jpeg na imahe",png:"png na imahe",both:"Parehong jpeg at png"},jpegImageQuality:"Kalidad ng JPEG na imahe",embeddedArtworkPNG:"I-save ang nakadikit na artwork bilang PNG",embeddedPNGWarning:"Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug",imageSizeWarning:"Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu",coverDescriptionUTF8:"I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)"},tags:{head:"Aling tag ang ise-save",title:"Pamagat",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Bilang ng Track",trackTotal:"Kabuuang Track",discNumber:"Bilang ng Disk",discTotal:"Kabuuang Disk",albumArtist:"Album Artist",genre:"Genre",year:"Taon",date:"Petsa",explicit:"Mga Explicit na Lyric",isrc:"ISRC",length:"Haba ng Track",barcode:"Barcode ng Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label ng Album",lyrics:"Unsynchronized na mga Lyric",syncedLyrics:"Synchronized na mga Lyric",copyright:"Karapatang Ari",composer:"Komposer",involvedPeople:"Mga Kasamang Tao"},other:{title:"Iba pa",savePlaylistAsCompilation:"I-save ang mga playlist bilang compilation",useNullSeparator:"Gumamit ng panghiwalay sa null",saveID3v1:"I-save rin ang ID3v1",multiArtistSeparator:{title:"Anong gusto mo para maihanay mga artist?",nothing:"I-save lang ang pangunahing artist",default:"Gamit ng standard na specification",andFeat:"Gamit ng & at feat.",using:'Gamit ng "{separator}"'},singleAlbumArtist:"I-save lang ang pangunahing album ng artist",albumVariousArtists:'Isama ang "Various Artists" sa mga Album Artist',removeAlbumVersion:'Tanggalin ang "Album Version" sa pamagat ng track',removeDuplicateArtists:"Tanggalin ang kombinasyon ng mga artist",dateFormat:{title:"Format ng petsa para sa mga FLAC file",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Anong gagawin ko sa mga itinampok na artist",0:"Wala",1:"Tanggalin mo sila sa Pamagat",3:"Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album",2:"Ilipat mo sila sa pamagat"},titleCasing:"Pagleletra sa Pamagat",artistCasing:"Pagleletra sa Artist",casing:{nothing:"Walang babaguhin",lower:"maliliit",upper:"MALALAKI",start:"Simula Ng Bawata Salita",sentence:"Kagaya ng pangungusap"},previewVolume:"Volume ng Preview",executeCommand:{title:"Mga gagawin pagkatapos ng download",description:"Hayaan lang na blangko kung wala"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"Paano ma-enable ang Spotify Features?"},reset:"Ibalik sa Dati",save:"I-save",toasts:{init:"Ikinarga ang mga Setting!",update:"In-update ang mga Setting!",ARLcopied:"Kinopya ang ARL sa clipboard"}},sidebar:{home:"tahanan",search:"maghanap",charts:"mga chart",favorites:"mga paborito",linkAnalyzer:"tagasuri ng link",settings:"mga setting",about:"tungkol sa"},tracklist:{downloadSelection:"Pagpipili ng download"}},zh_tw={globals:{welcome:"\u6B61\u8FCE\u4F7F\u7528 deemix",back:"\u8FD4\u56DE",loading:"\u8F09\u5165\u4E2D",download:"\u4E0B\u8F09 {thing}",by:"{artist}",in:"\u65BC {album}",download_hint:"\u4E0B\u8F09",play_hint:"\u64AD\u653E",toggle_download_tab_hint:"\u5C55\u958B/\u6298\u758A",clean_queue_hint:"\u6E05\u9664\u5B8C\u6210",cancel_queue_hint:"\u53D6\u6D88\u5168\u90E8",open_downloads_folder:"\u958B\u555F\u4E0B\u8F09\u8CC7\u6599\u593E",cut:"\u526A\u4E0B",copy:"\u8907\u88FD",copyLink:"\u8907\u88FD\u9023\u7D50",copyImageLink:"\u8907\u88FD\u5716\u7247\u9023\u7D50",copyDeezerLink:"\u8907\u88FD deezer \u9023\u7D50",paste:"\u8CBC\u4E0A",listTabs:{empty:"",all:"\u6240\u6709",top_result:"\u6700\u4F73\u7D50\u679C",album:"\u5C08\u8F2F|\u5C08\u8F2F",artist:"\u85DD\u4EBA|\u85DD\u4EBA",single:"\u55AE\u66F2",title:"\u6A19\u984C|\u6A19\u984C",track:"\u6B4C\u66F2|\u6B4C\u66F2",releaseN:"0 \u767C\u884C| {n} \u767C\u884C| {n} \u767C\u884C",playlist:"\u64AD\u653E\u6E05\u55AE|\u64AD\u653E\u6E05\u55AE",compile:"\u5408\u8F2F|\u5408\u8F2F",ep:"\u8FF7\u4F60\u5C08\u8F2F | \u8FF7\u4F60\u5C08\u8F2F",bundle:"bundle | bundles",more:"\u66F4\u591A\u5C08\u8F2F",featured:"\u51FA\u73FE\u65BC",spotifyPlaylist:"Spotify \u64AD\u653E\u6E05\u55AE | Spotify \u64AD\u653E\u6E05\u55AE",releaseDate:"\u767C\u5E03\u65E5\u671F",error:"\u932F\u8AA4",trackN:"0 \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2",albumN:"0 \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F",artistN:"0 \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA",playlistN:"0 \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE"}},about:{appStatus:{online:"\u4E0A\u7DDA\u4E2D",offline:"\u96E2\u7DDA\u4E2D"},updates:{currentVersion:"\u76EE\u524D\u7248\u672C",currentWebuiVersion:"\u76EE\u524D\u524D\u7AEF\u7248\u672C",versionNotAvailable:"N/A",updateAvailable:"\u60A8\u5C1A\u672A\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF1A{version}",deemixVersion:"deemix \u51FD\u793A\u5EAB\u7248\u672C"},titles:{usefulLinks:"\u5BE6\u7528\u9023\u7D50",bugReports:"\u932F\u8AA4\u5831\u544A",contributing:"\u8CA2\u737B",donations:"\u8D0A\u52A9",license:"\u4F7F\u7528\u8A31\u53EF"},subtitles:{bugReports:"\u4F7F\u7528 deemix \u6642\uFF0C\u9047\u5230\u4E86\u4EC0\u9EBC\u554F\u984C\u55CE\uFF1F\u6B61\u8FCE\u56DE\u5831\u932F\u8AA4\uFF01",contributing:"\u60A8\u60F3\u66FF\u9019\u500B\u5C08\u6848\u63D0\u51FA\u8CA2\u737B\u55CE\uFF1F\u60A8\u53EF\u4EE5\u900F\u904E\u8A31\u591A\u4E0D\u540C\u7684\u65B9\u5F0F\u4F86\u5E6B\u5FD9\uFF01",donations:"\u60A8\u60F3\u8981\u6350\u6B3E\u55CE\uFF1F\u53EF\u4EE5\u8D0A\u52A9\u6211\u5011\uFF01"},usesLibrary:"\u672C\u7A0B\u5F0F\u57FA\u65BC deemix \u51FD\u793A\u5EAB\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u8A72\u51FD\u793A\u5EAB\u4F86\u88FD\u4F5C\u81EA\u5DF1\u7684\u524D\u7AEF\u3002",thanks:"\u611F\u8B1D rtonno\u3001uhwot \u53CA lollilol \u5C0D\u65BC\u672C\u5C08\u6848\u7684\u8CA2\u737B\uFF0C\u53E6\u5916\u4E5F\u611F\u8B1D BasCurtiz \u5E6B\u5FD9\u88FD\u4F5C\u672C\u5C08\u6848\u7684\u5716\u793A",upToDate:{text:"\u60A8\u53EF\u65BC Telegram \u4E0A\u95DC\u6CE8{newsChannel}\u4EE5\u53D6\u5F97\u6700\u65B0\u52D5\u614B\u3002",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053"},officialWebsite:"\u5B98\u65B9\u7DB2\u7AD9",officialRepo:"\u5B98\u65B9\u51FD\u793A\u7248\u672C\u5EAB",officialWebuiRepo:"\u5B98\u65B9 WebUI \u7248\u672C\u5EAB",officialSubreddit:"\u5B98\u65B9 Subreddit",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053",questions:{text:"\u5982\u679C\u60A8\u5C0D\u672C\u7A0B\u5F0F\u6709\u7591\u554F\u6216\u554F\u984C\uFF0C\u8ACB\u5148\u5728{subreddit}\u4E0A\u641C\u5C0B\u89E3\u6C7A\u65B9\u6848\u3002\u5982\u679C\u627E\u4E0D\u5230\u4EFB\u4F55\u89E3\u6C7A\u65B9\u6CD5\uFF0C\u5247\u53EF\u4EE5\u5728\u6211\u5011\u7684 subreddit \u4E0A\u767C\u5E03\u8207\u60A8\u554F\u984C\u76F8\u95DC\u7684\u6587\u7AE0\u3002",subreddit:" subreddit "},beforeReporting:"\u5728\u5831\u544A\u932F\u8AA4\u4E4B\u524D\uFF0C\u8ACB\u78BA\u4FDD\u60A8\u6B63\u5728\u904B\u884C\u6700\u65B0\u7248\u672C\u7684\u7A0B\u5F0F\uFF0C\u4E26\u4E14\u8981\u5831\u544A\u7684\u5167\u5BB9\u771F\u7684\u662F\u4E00\u500B\u932F\u8AA4\uFF0C\u800C\u4E0D\u50C5\u662F\u60A8\u81EA\u5DF1\u9047\u5230\u7684\u554F\u984C\u3002",beSure:"\u8ACB\u78BA\u4FDD\u60A8\u6240\u60F3\u56DE\u5831\u7684\u932F\u8AA4\u53EF\u5728\u5176\u4ED6\u53F0\u88DD\u7F6E\u4E0A\u518D\u73FE\u7684\uFF0C\u4E26\u4E14\u8ACB\u52FF\u56DE\u5831\u5DF2\u77E5\u932F\u8AA4\u3002",duplicateReports:"\u8ACB\u6CE8\u610F\uFF0C\u91CD\u8907\u7684\u932F\u8AA4\u5831\u544A\u5C07\u88AB\u79FB\u9664\u3002",dontOpenIssues:"\u8ACB\u52FF\u900F\u904E\u672C\u7248\u672C\u5EAB\u7684 Issues \u554F\u554F\u984C\uFF0C\u6211\u5011\u958B subreddit \u662F\u6709\u539F\u56E0\u7684\u3002",newUI:{text:"\u5982\u679C\u60A8\u7CBE\u901A Python\uFF0C\u5247\u53EF\u4EE5\u5617\u8A66\u4F7F\u7528\u6211\u5011\u7684\u51FD\u793A\u5EAB\u4F86\u5EFA\u7ACB\u65B0\u7684 UI\uFF0C\u6216\u8005\u900F\u904E{repo}\u63D0\u51FA\u932F\u8AA4\u76F8\u95DC\u7684 PR\u3002",repo:"\u6211\u5011\u7684\u7248\u672C\u5EAB"},acceptFeatures:"\u6211\u4E5F\u6B61\u8FCE\u4F60\u63D0\u4EA4\u65B0\u7684\u529F\u80FD\uFF0D\u4F46\u524D\u63D0\u662F\u9019\u500B\u529F\u80FD\u4E0D\u80FD\u904E\u65BC\u8907\u96DC\uFF0D\u904E\u65BC\u8907\u96DC\u7684\u529F\u80FD\uFF0C\u61C9\u88AB\u65B0\u589E\u81F3\u7A0B\u5F0F\u5167\u800C\u975E\u51FD\u793A\u5EAB\u5167\u3002",otherLanguages:"\u5982\u679C\u60A8\u7CBE\u901A\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u5617\u8A66\u5C07 deemix \u79FB\u690D\u5230\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\u4E2D\uFF01",understandingCode:"\u4F60\u9700\u8981\u5E6B\u52A9\u4E86\u89E3\u672C\u5C08\u6848\u7684\u7A0B\u5F0F\u78BC\u55CE\uFF1F\u53EA\u9700\u5728 Telegram \u6216 Reddit \u4E0A\u6309\u4E00\u4E0B RemixDev\u3002",contributeWebUI:{text:"\u5982\u679C\u4F60\u719F\u6089 Vue.js\uFF08JavaScript\uFF09\u3001HTML \u6216 CSS\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u53C3\u8207 {webui} \u524D\u7AEF\u7684\u8CA2\u737B\u3002",webui:"WebUI"},itsFree:"\u8A18\u5F97\uFF0C\u9019\u662F\u4E00\u500B\u514D\u8CBB\u7684\u5C08\u6848\uFF0C\u5728\u652F\u6301\u958B\u767C\u4EBA\u54E1\u4E4B\u524D\uFF0C\u61C9\u8A72\u5148\u652F\u6301\u4F60\u559C\u6B61\u7684\u6B4C\u624B\u6216\u85DD\u4EBA\u3002",notObligated:"\u5225\u8A8D\u70BA\u4F60\u6709\u7FA9\u52D9\u6350\u6B3E\uFF0C\u7121\u8AD6\u5982\u4F55\u6211\u5011\u90FD\u611F\u8B1D\u60A8\uFF01",lincensedUnder:{text:"\u672C\u4F5C\u54C1\u4F7F\u7528 {gpl3} \u8A31\u53EF\u6388\u6B0A\u3002",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u6392\u884C\u699C",changeCountry:"\u6539\u8B8A\u570B\u5BB6",download:"\u4E0B\u8F09\u6392\u884C\u699C"},errors:{title:"{name} \u7684\u932F\u8AA4",ids:{invalidURL:"\u7121\u6CD5\u8B58\u5225\u7DB2\u5740",unsupportedURL:"\u5C1A\u4E0D\u652F\u6301\u6B64\u7DB2\u5740",ISRCnotOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u4F7F\u7528\u55AE\u66F2 ISRC",notYourPrivatePlaylist:"\u60A8\u7121\u6CD5\u4E0B\u8F09\u4ED6\u4EBA\u7684\u79C1\u4EBA\u64AD\u653E\u6E05\u55AE\u3002",spotifyDisabled:"Spotify \u529F\u80FD\u672A\u6B63\u78BA\u8A2D\u5B9A\u3002",trackNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u6B4C\u66F2\uFF01",albumNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u5C08\u8F2F\uFF01",notOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notEncoded:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF01",notEncodedNoAlternative:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",wrongBitrate:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\u3002",wrongBitrateNoAlternative:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",no360RA:"\u672C\u6B4C\u66F2\u4E26\u4E0D\u652F\u63F4 Reality Audio 360\u3002",notAvailable:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notAvailableNoAlternative:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",noSpaceLeft:"\u672C\u88DD\u7F6E\u53EF\u7528\u7A7A\u9593\u5DF2\u7528\u76E1\uFF01",albumDoesntExists:"\u672C\u6B4C\u66F2\u7684\u5C08\u8F2F\u4E0D\u5B58\u5728\uFF0C\u7121\u6CD5\u53D6\u5F97\u8CC7\u8A0A"}},favorites:{title:"\u6536\u85CF",noPlaylists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u64AD\u653E\u6E05\u55AE",noAlbums:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u5C08\u8F2F",noArtists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u85DD\u4EBA",noTracks:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u6B4C\u66F2"},home:{needTologin:"\u60A8\u9700\u8981\u5148\u767B\u5165 Deezer \u5E33\u6236\uFF0C\u7136\u5F8C\u624D\u80FD\u958B\u59CB\u4E0B\u8F09\u3002",openSettings:"\u958B\u555F\u8A2D\u5B9A",sections:{popularPlaylists:"\u71B1\u9580\u64AD\u653E\u6E05\u55AE",popularAlbums:"\u71B1\u9580\u5C08\u8F2F"}},linkAnalyzer:{info:"\u60A8\u53EF\u4EE5\u900F\u904E\u6B64\u5DE5\u5177\u53D6\u5F97\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u9023\u7D50\u7684\u76F8\u95DC\u8CC7\u8A0A\u3002",useful:"\u6BD4\u5982\uFF0C\u7576\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u6B4C\u66F2\u7121\u6CD5\u5728\u60A8\u7684\u570B\u5BB6\u64AD\u653E\uFF0C\u4E14\u60A8\u60F3\u77E5\u9053\u54EA\u4E9B\u570B\u5BB6\u53EF\u4EE5\u64AD\u653E\u6B64\u6B4C\u66F2\u6642\uFF0C\u60A8\u53EF\u4F7F\u7528\u6B64\u5DE5\u5177\u3002",linkNotSupported:"\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50",linkNotSupportedYet:"\u6211\u5011\u4F3C\u4E4E\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50\uFF0C\u8ACB\u6539\u7528\u5176\u4ED6\u9023\u7D50\u3002",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u9577\u5EA6",diskNumber:"\u5149\u789F\u7DE8\u865F",trackNumber:"\u6B4C\u66F2\u7DE8\u865F",releaseDate:"\u767C\u5E03\u65E5\u671F",bpm:"BPM",label:"\u6A19\u7C64",recordType:"\u5A92\u9AD4\u985E\u578B",genres:"\u985E\u578B",tracklist:"\u6B4C\u66F2\u6E05\u55AE"}},search:{startSearching:"\u958B\u59CB\u641C\u5C0B\uFF01",description:"\u60A8\u53EF\u4EE5\u641C\u7D22\u6B4C\u66F2\u540D\u7A31\u3001\u5C08\u8F2F\u3001\u85DD\u4EBA\u3001\u64AD\u653E\u6E05\u55AE...\u7B49\u7B49\u3002\u60A8\u4E5F\u53EF\u4EE5\u76F4\u63A5\u8CBC\u4E0A Deezer \u7DB2\u5740\u3002",fans:"{n} \u500B\u7C89\u7D72",noResults:"\u7121\u641C\u5C0B\u7D50\u679C",noResultsTrack:"\u627E\u4E0D\u5230\u6B4C\u66F2",noResultsAlbum:"\u627E\u4E0D\u5230\u5C08\u8F2F",noResultsArtist:"\u627E\u4E0D\u5230\u85DD\u4EBA",noResultsPlaylist:"\u627E\u4E0D\u5230\u64AD\u653E\u6E05\u55AE"},searchbar:"\u641C\u5C0B\u4EFB\u4F55\u95DC\u9375\u5B57\uFF08\u6216\u8CBC\u4E0A\u9023\u7D50\uFF09",downloads:"\u4E0B\u8F09",toasts:{restoringQueue:"\u6B63\u5728\u6062\u5FA9\u4E0B\u8F09\u6E05\u55AE...",queueRestored:"\u4E0B\u8F09\u6E05\u55AE\u5DF2\u6062\u5FA9\uFF01",addedToQueue:"\u5DF2\u65B0\u589E {item} \u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",addedMoreToQueue:"\u5DF2\u65B0\u589E {n} \u500B\u9805\u76EE\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",alreadyInQueue:"{item} \u5DF2\u5728\u4E0B\u8F09\u6E05\u55AE\u4E2D\uFF01",finishDownload:"{item} \u5DF2\u5B8C\u6210\u4E0B\u8F09\u3002",allDownloaded:"\u5168\u90E8\u4E0B\u8F09\u5B8C\u6210\uFF01",refreshFavs:"\u5237\u65B0\u5B8C\u6210\uFF01",loggingIn:"\u767B\u5165\u4E2D...",loggedIn:"\u767B\u5165",alreadyLogged:"\u5DF2\u767B\u5165",loginFailed:"\u7121\u6CD5\u767B\u5165",loggedOut:"\u767B\u51FA",cancellingCurrentItem:"\u53D6\u6D88\u7576\u524D\u9805\u76EE\u3002",currentItemCancelled:"\u7576\u524D\u9805\u76EE\u5DF2\u53D6\u6D88\u3002",startAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",finishAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",startConvertingSpotifyPlaylist:"\u5C07 Spotify \u6B4C\u66F2\u8F49\u63DB\u70BA Deezer \u6B4C\u66F2\u4E2D",finishConvertingSpotifyPlaylist:"\u5DF2\u8F49\u63DB Spotify \u64AD\u653E\u6E05\u55AE",loginNeededToDownload:"\u60A8\u9700\u8981\u767B\u5165\u624D\u80FD\u4E0B\u8F09\u6B4C\u66F2\uFF01",deezerNotAvailable:"Deezer \u5728\u60A8\u6240\u5728\u7684\u570B\u5BB6/\u5730\u5340\u7121\u6CD5\u4F7F\u7528\u3002\u8ACB\u60A8\u4F7F\u7528 VPN\u3002",startGeneratingItems:"\u751F\u6210 {n} \u500B\u9805\u76EE\u4E2D...",finishGeneratingItems:"\u5DF2\u751F\u6210 {n} \u500B\u9805\u76EE."},settings:{title:"\u8A2D\u5B9A",languages:"\u8A9E\u8A00",login:{title:"\u767B\u5165",loggedIn:"\u76EE\u524D\u4EE5 {username} \u7684\u8EAB\u4EFD\u767B\u5165",arl:{question:"\u5982\u4F55\u53D6\u5F97\u81EA\u5DF1\u7684 ARL\uFF1F",update:"\u66F4\u65B0 ARL"},logout:"\u767B\u51FA",login:"\u900F\u904E deezer.com \u767B\u5165"},appearance:{title:"\u5916\u89C0",slimDownloadTab:"\u8584\u578B\u4E0B\u8F09\u5206\u9801",slimSidebar:"\u8584\u578B\u6E2C\u6B04"},downloadPath:{title:"\u4E0B\u8F09\u76EE\u9304"},templates:{title:"\u6A94\u6848\u540D\u7A31\u683C\u5F0F",tracknameTemplate:"\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",albumTracknameTemplate:"\u5C08\u8F2F\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",playlistTracknameTemplate:"\u64AD\u653E\u6E05\u55AE\u55AE\u66F2\u540D\u7A31\u683C\u5F0F"},folders:{title:"\u8CC7\u6599\u593E",createPlaylistFolder:"\u66FF\u64AD\u653E\u6E05\u55AE\u5EFA\u7ACB\u8CC7\u6599\u593E",playlistNameTemplate:"\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createArtistFolder:"\u66FF\u85DD\u4EBA\u5EFA\u7ACB\u8CC7\u6599\u593E",artistNameTemplate:"\u85DD\u4EBA\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createAlbumFolder:"\u66FF\u5C08\u8F2F\u5EFA\u7ACB\u8CC7\u6599\u593E",albumNameTemplate:"\u5C08\u8F2F\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createCDFolder:"\u66FF CD \u5EFA\u7ACB\u8CC7\u6599\u593E",createStructurePlaylist:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u7D50\u69CB",createSingleFolder:"\u5EFA\u7ACB\u55AE\u66F2\u8CC7\u6599\u593E\u7D50\u69CB"},trackTitles:{title:"\u55AE\u66F2\u540D\u7A31",padTracks:"\u6B4C\u66F2\u6578\u76EE\u5B57\u4E32\u586B\u5145",paddingSize:"\u8986\u84CB\u6578\u76EE\u5B57\u4E32\u586B\u5145\u9577\u5EA6",illegalCharacterReplacer:"\u66FF\u63DB\u975E\u6CD5\u5B57\u5143"},downloads:{title:"\u4E0B\u8F09",queueConcurrency:"\u4E26\u884C\u4E0B\u8F09",maxBitrate:{title:"\u504F\u597D\u4F4D\u5143\u7387",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u662F\u5426\u8981\u8986\u84CB\u6A94\u6848\uFF1F",y:"\u662F\uFF0C\u8986\u84CB\u6A94\u6848",n:"\u5426\uFF0C\u8ACB\u52FF\u8986\u84CB\u6A94\u6848",t:"\u50C5\u8986\u84CB\u6A19\u7C64",b:"\u5426\uFF0C\u4FDD\u7559\u5169\u500B\u6A94\u6848\u4E26\u5728\u91CD\u8907\u7684\u6A94\u540D\u4E2D\u52A0\u5165\u4E00\u500B\u6578\u5B57",e:"\u5426\uFF0C\u4E0D\u9867\u616E\u9644\u6A94\u540D"},fallbackBitrate:"\u7576\u504F\u597D\u4F4D\u5143\u7387\u7121\u6CD5\u4E0B\u8F09\u6642\uFF0C\u4E0B\u8F09\u5176\u4ED6\u7248\u672C",fallbackSearch:"\u7576\u641C\u5C0B\u7D50\u679C\u7121\u6CD5\u4F7F\u7528\u6642\uFF0C\u4F7F\u7528\u5176\u4ED6\u641C\u5C0B\u7D50\u679C",logErrors:"\u8A18\u9304\u932F\u8AA4\u81F3\u65E5\u8A8C",logSearched:"\u8A18\u9304\u641C\u5C0B\u6B4C\u66F2\u81F3\u65E5\u8A8C",createM3U8File:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u6A94\u6848",syncedLyrics:"\u5EFA\u7ACB .lyr \u6A94\u6848\uFF08\u540C\u6B65\u6B4C\u8A5E\uFF09",playlistFilenameTemplate:"\u64AD\u653E\u6E05\u55AE\u6A94\u540D\u683C\u5F0F",saveDownloadQueue:"\u95DC\u9589\u61C9\u7528\u7A0B\u5F0F\u6642\uFF0C\u4FDD\u5B58\u4E0B\u8F09\u6E05\u55AE"},covers:{title:"\u5C08\u8F2F\u5C01\u9762",saveArtwork:"\u4FDD\u5B58\u5C01\u9762",coverImageTemplate:"\u5C01\u9762\u6A94\u540D\u683C\u5F0F",saveArtworkArtist:"\u4FDD\u5B58\u85DD\u4EBA\u7167\u7247",artistImageTemplate:"\u85DD\u4EBA\u7167\u7247\u6A94\u540D\u683C\u5F0F",localArtworkSize:"\u672C\u5730\u5716\u7247\u5927\u5C0F",embeddedArtworkSize:"\u5D4C\u5165\u5716\u7247\u5927\u5C0F",localArtworkFormat:{title:"\u60A8\u5E0C\u671B\u672C\u5730\u5716\u7247\u63A1\u7528\u54EA\u7A2E\u683C\u5F0F\uFF1F",jpg:"JPEG",png:"PNG",both:"JPEG \u53CA PNG"},jpegImageQuality:"JPEG \u5F71\u50CF\u54C1\u8CEA",embeddedArtworkPNG:"\u5C07\u5D4C\u5165\u5F0F\u5716\u7247\u5B58\u70BA PNG",embeddedPNGWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u652F\u63F4 PNG\uFF0C\u7D50\u679C\u53EF\u80FD\u6709\u8AA4",imageSizeWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u4F7F\u7528\u9AD8\u65BC x1200 \u7684\u5716\u7247\uFF0C\u60A8\u53EF\u80FD\u6703\u9047\u5230\u554F\u984C",coverDescriptionUTF8:"\u4F7F\u7528 UTF8 \u4FDD\u5B58\u5C01\u9762\u6558\u8FF0\uFF08\u4FEE\u6B63 iTunes \u5C08\u8F2F\u5C01\u9762)"},tags:{head:"\u8981\u4FDD\u5B58\u54EA\u4E9B\u6A19\u7C64",title:"\u6A19\u984C",artist:"\u85DD\u4EBA",album:"\u5C08\u8F2F",cover:"\u5C08\u8F2F\u5C01\u9762",trackNumber:"\u55AE\u66F2\u7DE8\u865F",trackTotal:"\u7E3D\u8A08\u6B4C\u66F2",discNumber:"\u5149\u789F\u7DE8\u865F",discTotal:"\u5149\u789F\u7E3D\u6578",albumArtist:"\u5C08\u8F2F\u85DD\u4EBA",genre:"\u985E\u578B",year:"\u5E74",date:"\u65E5\u671F",explicit:"\u4E0D\u826F\u6B4C\u8A5E",isrc:"ISRC",length:"\u55AE\u66F2\u9577\u5EA6",barcode:"\u5C08\u8F2F\u689D\u78BC\uFF08UPC\uFF09",bpm:"BPM",replayGain:"\u91CD\u64AD\u589E\u76CA\uFF08Replay Gain\uFF09",label:"\u5C08\u8F2F\u6A19\u7C64",lyrics:"\u4E0D\u540C\u6B65\u7684\u6B4C\u8A5E",syncedLyrics:"\u540C\u6B65\u6B4C\u8A5E",copyright:"\u7248\u6B0A",composer:"\u4F5C\u66F2\u5BB6",involvedPeople:"\u76F8\u95DC\u85DD\u4EBA",source:"\u4F86\u6E90\u6B4C\u66F2 ID"},other:{title:"\u5176\u4ED6",savePlaylistAsCompilation:"\u5C07\u64AD\u653E\u6E05\u55AE\u5132\u5B58\u70BA\u5408\u8F2F",useNullSeparator:"\u4F7F\u7528\u7A7A\u5206\u9694\u7B26",saveID3v1:"\u4FDD\u5B58 ID3v1 \u6A19\u7C64",multiArtistSeparator:{title:"\u5982\u4F55\u9694\u958B\u4F5C\u8005\u540D\u7A31\uFF1F",nothing:"\u50C5\u4FDD\u7559\u4E3B\u4F5C\u8005",default:"\u4F7F\u7528\u6A19\u6E96\u898F\u683C",andFeat:"\u4F7F\u7528 & \u53CA feat.",using:'\u4F7F\u7528 "{separator}"'},singleAlbumArtist:"\u50C5\u5132\u5B58\u5C08\u8F2F\u4E3B\u4F5C\u8005\u540D\u7A31",albumVariousArtists:"\u65BC\u5C08\u8F2F\u4F5C\u8005\u6B04\u4F4D\u4E2D\u4FDD\u7559\u300C\u591A\u4F4D\u85DD\u4EBA (Various Artists)\u300D\u5B57\u6A23",removeAlbumVersion:"\u65BC\u55AE\u66F2\u540D\u7A31\u4E2D\u79FB\u9664\u300C\u5C08\u8F2F\u7248\u672C (Album Version)\u300D\u5B57\u6A23",removeDuplicateArtists:"\u79FB\u9664\u91CD\u8907\u7684\u4F5C\u8005\u540D\u7A31",dateFormat:{title:"FLAC \u6A94\u6848\u65E5\u671F\u683C\u5F0F",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u5982\u4F55\u8655\u7406\u5BA2\u4E32\u85DD\u4EBA\u540D\u7A31 (\u5982 feat. \u7B49\u5B57\u6A23) \uFF1F",0:"\u4EC0\u9EBC\u90FD\u4E0D\u505A",1:"\u5F9E\u6A19\u984C\u4E2D\u522A\u9664",3:"\u5F9E\u6A19\u984C\u548C\u5C08\u8F2F\u6A19\u984C\u4E2D\u522A\u9664",2:"\u5C07\u5176\u79FB\u81F3\u6A19\u984C"},titleCasing:"\u6B4C\u66F2\u540D\u7A31\u5927\u5C0F\u5BEB",artistCasing:"\u85DD\u4EBA\u540D\u7A31\u5927\u5C0F\u5BEB",casing:{nothing:"\u4FDD\u6301\u4E0D\u8B8A",lower:"\u5C0F\u5BEB",upper:"\u5927\u5BEB",start:"\u5B57\u8A5E\u958B\u982D\u5927\u5BEB",sentence:"\u53E5\u5B50\u5927\u5BEB"},previewVolume:"\u9810\u89BD\u97F3\u91CF",executeCommand:{title:"\u4E0B\u8F09\u5F8C\u57F7\u884C\u6307\u4EE4",description:"\u7559\u7A7A\u5247\u4E0D\u57F7\u884C"}},spotify:{title:"Spotify \u529F\u80FD",clientID:"Spotify \u5BA2\u6236\u7AEF ID",clientSecret:"Spotify \u5BA2\u6236\u7AEF\u5BC6\u78BC",username:"Spotify \u7528\u6236\u540D",question:"\u5982\u4F55\u555F\u7528 Spotify \u529F\u80FD\uFF1F"},reset:"\u91CD\u8A2D\u81F3\u9810\u8A2D",resetMessage:"\u4F60\u78BA\u5B9A\u8981\u91CD\u8A2D\u6240\u6709\u8A2D\u5B9A\u55CE\uFF1F",save:"\u5132\u5B58",toasts:{init:"\u5DF2\u8F09\u5165\u8A2D\u5B9A\uFF01",update:"\u5DF2\u66F4\u65B0\u8A2D\u5B9A\uFF01",reset:"\u5DF2\u91CD\u8A2D\u8A2D\u5B9A\uFF01",ARLcopied:"\u5DF2\u8907\u88FD ARL \u5230\u526A\u8CBC\u7C3F\u4E2D"}},sidebar:{home:"\u9996\u9801",search:"\u641C\u5C0B",charts:"\u6392\u884C\u699C",favorites:"\u6536\u85CF",linkAnalyzer:"\u9023\u7D50\u5206\u6790",settings:"\u8A2D\u5B9A",about:"\u95DC\u65BC"},tracklist:{downloadSelection:"\u4E0B\u8F09\u6240\u9078"}},pl={globals:{welcome:"Witaj w deemix",back:"wr\xF3\u0107",loading:"\u0142adowanie",download:"Pobierz {thing}",by:"od {artist}",in:"w {album}",download_hint:"Pobierz",play_hint:"Odtw\xF3rz",toggle_download_tab_hint:"Rozszerz/Zwi\u0144",clean_queue_hint:"Wyczy\u015B\u0107 uko\u0144czone",cancel_queue_hint:"Anuluj wszystkie",open_downloads_folder:"Otw\xF3rz pobrane",cut:"wytnij",copy:"kopiuj",copyLink:"kopiuj link",copyImageLink:"kopiuj link obrazu",copyDeezerLink:"kopiuj link deezera",paste:"wklej",listTabs:{empty:"",all:"wszystkie",top_result:"najlepszy wynik",album:"album | albumy",artist:"artysta | arty\u015Bci",single:"singiel | single",title:"tytu\u0142 | tytu\u0142y",track:"utw\xF3r | utwory",trackN:"0 utwor\xF3w | {n} utw\xF3r | {n} utwor\xF3w",releaseN:"0 wyda\u0144 | {n} wydanie | {n} wyda\u0144",playlist:"playlista | playlisty",compile:"kompilacja | kompilacje",ep:"ep | ep",bundle:"zestaw | zestawy",more:"Wi\u0119cej album\xF3w",featured:"Wyst\u0119puje w",spotifyPlaylist:"playlista spotify | playlisty spotify",releaseDate:"data wydania",error:"b\u0142\u0105d"}},about:{updates:{currentVersion:"Obecna wersja",versionNotAvailable:"N/A",updateAvailable:"Nie masz najnowszej dost\u0119pnej wersji: {version}",deemixVersion:"Wersja biblioteki deemix"},titles:{usefulLinks:"Przydatne linki",bugReports:"Zg\u0142oszenia b\u0142\u0119d\xF3w",contributing:"Wk\u0142ad",donations:"Dotacje",license:"Licencja"},subtitles:{bugReports:"Czy deemix dzia\u0142a inaczej ni\u017C powinien? Powiedz nam!",contributing:"Chcesz pom\xF3c w tym projekcie? Mo\u017Cesz to zrobi\u0107 na wiele sposob\xF3w!",donations:"Chcesz pom\xF3c finansowo? Mo\u017Cesz nas wesprze\u0107!"},usesLibrary:"Ten program u\u017Cywa biblioteki deemix, kt\xF3rej mo\u017Cesz u\u017Cy\u0107 do stworzenia w\u0142asnego interfejsu u\u017Cytkownika",thanks:"Podzi\u0119kowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.",upToDate:{text:"B\u0105d\u017A na bie\u017C\u0105co z aktualizacjami do\u0142\u0105czaj\u0105c do {newsChannel} na Telegramie.",newsChannel:"kana\u0142u wiadomo\u015Bci"},officialWebsite:"Oficjalna strona",officialRepo:"Oficjalne repozytorium biblioteki",officialWebuiRepo:"Oficjalne repozytorium WebUI",officialSubreddit:"Oficjalny subreddit",newsChannel:"Kana\u0142 wiadomo\u015Bci",questions:{text:"Je\u017Celi masz pytania lub problemy zwi\u0105zane z aplikacj\u0105, szukaj odpowiedzi na {subreddit}. Je\u017Celi niczego nie znajdziesz, stw\xF3rz post na subreddicie.",subreddit:"subreddicie"},beforeReporting:"Przed zg\u0142aszaniem b\u0142\u0119du upewnij si\u0119, \u017Ce masz najnowsz\u0105 wersje aplikacji i to, co chcesz zg\u0142osi\u0107 jest b\u0142\u0119dem, a nie usterk\u0105 z twojej strony.",beSure:"Upewnij si\u0119, \u017Ce b\u0142\u0105d mo\u017Cna odtworzy\u0107 na innych urz\u0105dzeniach i NIE ZG\u0141ASZAJ b\u0142\u0119d\xF3w, kt\xF3re zosta\u0142y ju\u017C zg\u0142oszone",duplicateReports:"Identyczne zg\u0142oszenia b\u0142\u0119d\xF3w b\u0119d\u0105 zamykane, wi\u0119c zwr\xF3\u0107 na to uwag\u0119.",dontOpenIssues:"NIE OTWIERAJ zg\u0142osze\u0144 do zadawania pyta\u0144, od tego jest subreddit.",newUI:{text:"Je\u017Celi dobrze znasz Pythona, mo\u017Cesz spr\xF3bowa\u0107 stworzy\u0107 nowy interfejs dla aplikacji u\u017Cywaj\u0105c bazowej biblioteki lub naprawia\u0107 b\u0142\u0119dy w bibliotece tworz\u0105c pull request w {repo}.",repo:"repozytorium"},acceptFeatures:"Przyjmuj\u0119 nowe funkcje, ale nic z\u0142o\u017Conego, co mog\u0142oby by\u0107 zaimplementowane w aplikacji, a nie w bibliotece.",otherLanguages:"Je\u017Celi dobrze znasz inny j\u0119zyk programowania, mo\u017Cesz spr\xF3bowa\u0107 przeportowa\u0107 deemix do innych j\u0119zyk\xF3w!",understandingCode:"Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.",contributeWebUI:{text:"Je\u017Celi znasz Vue.js (JavaScript), HTML lub CSS, mo\u017Cesz pom\xF3c w {webui}.",webui:"WebUI"},itsFree:"Pami\u0119taj, \u017Ce ten projekt jest darmowy i powiniene\u015B wspiera\u0107 artyst\xF3w przed tw\xF3rcami aplikacji.",notObligated:"Nie czuj potrzeby p\u0142acenia, i tak ci\u0119 doceniam!",lincensedUnder:{text:"Ten projekt jest chroniony licencj\u0105 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Wykresy",changeCountry:"Zmie\u0144 kraj",download:"Pobierz wykres"},errors:{title:"B\u0142\u0119dy dla {name}",ids:{invalidURL:"Nierozpoznany URL",unsupportedURL:"Niewspierany URL",ISRCnotOnDeezer:"ISRC nie jest dost\u0119pne na Deezerze",notYourPrivatePlaylist:"Nie mo\u017Cesz pobiera\u0107 czyich\u015B prywatnych playlist.",spotifyDisabled:"Funkcje Spotify nie s\u0105 poprawnie ustawione",trackNotOnDeezer:"Nie znaleziono utworu na Deezerze!",albumNotOnDeezer:"Nie znaleziono albumu na Deezerze!",notOnDeezer:"Utw\xF3r nie jest dost\u0119pny na Deezerze!",notEncoded:"Utw\xF3r nie jest jeszcze zakodowany!",notEncodedNoAlternative:"Utw\xF3r nie jest jeszcze zakodowany i nie mo\u017Cna znale\u017A\u0107 alternatywy!",wrongBitrate:"Nie znaleziono utworu w wybranym bitrate.",wrongBitrateNoAlternative:"Nie znaleziono utworu w wybranym bitrate i nie mozna znale\u017A\u0107 alternatywy!",no360RA:"Utw\xF3r nie jest dost\u0119pny w Reality Audio 360.",notAvailable:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera!",notAvailableNoAlternative:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera i nie mo\u017Cna znale\u017A\u0107 alternatywy!"}},favorites:{title:"Ulubione",noPlaylists:"Nie znaleziono playlist",noAlbums:"Nie znaleziono ulubionych album\xF3w",noArtists:"Nie znaleziono ulubionych artyst\xF3w",noTracks:"Nie znaleziono ulubonych utwor\xF3w"},home:{needTologin:"Musisz si\u0119 zalogwa\u0107 do konta na Deezerze zanim zaczniesz pobiera\u0107.",openSettings:"Otw\xF3rz ustawienia",sections:{popularPlaylists:"Popularne playlisty",popularAlbums:"Najpopularniejsze albumy"}},linkAnalyzer:{info:"Mo\u017Cesz u\u017Cy\u0107 tej sekcji, aby znale\u017A\u0107 wi\u0119cej informacji o linku, kt\xF3ry chcesz pobra\u0107.",useful:"Jest to przydatne na przyk\u0142ad gdy chcesz pobra\u0107 jakie\u015B utwory, kt\xF3re nie s\u0105 dost\u0119pne w twoim kraju i chcesz wiedzie\u0107 gdzie s\u0105 dost\u0119pne.",linkNotSupported:"Ten link nie jest jeszcze wspierany",linkNotSupportedYet:"Wygl\u0105da na to, \u017Ce ten link nie jest jeszcze wspierany. Spr\xF3buj przeanalizowa\u0107 inny.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Czas",diskNumber:"Numer p\u0142yty",trackNumber:"Numer utworu",releaseDate:"Data wydania",bpm:"BPM",label:"Wytw\xF3rnia",recordType:"Rodzaj wydania",genres:"Gatunki",tracklist:"Lista utwor\xF3w"}},search:{startSearching:"Zacznij szuka\u0107!",description:"Mo\u017Cesz wyszuka\u0107 utw\xF3r, album, artyst\u0119, playlist\u0119... wszystko! Mo\u017Cesz te\u017C wklei\u0107 link do Deezera",fans:"{n} fan\xF3w",noResults:"Brak wynik\xF3w",noResultsTrack:"Nie znaleziono utwor\xF3w",noResultsAlbum:"Nie znaleziono album\xF3w",noResultsArtist:"Nie znaleziono artyst\xF3w",noResultsPlaylist:"Nie znaleziono playlist"},searchbar:"Szukaj czego chcesz (lub wklej link)",downloads:"pobrane",toasts:{restoringQueue:"Przywracanie kolejki pobierania...",queueRestored:"Przywr\xF3cono kolejk\u0119 pobierania!",addedToQueue:"Dodano {item} do kolejki",addedMoreToQueue:"Dodano {n} przedmiot\xF3w do kolejki",alreadyInQueue:"{item} jest ju\u017C w kolejce!",finishDownload:"Uko\u0144czono pobieranie {item}.",allDownloaded:"Pobrano wszystkie!",refreshFavs:"Uko\u0144czono od\u015Bwie\u017Canie!",loggingIn:"Logowanie...",loggedIn:"Zalogowano",alreadyLogged:"Ju\u017C zalogowano",loginFailed:"Nie mo\u017Cna zalogowa\u0107",loggedOut:"Wylogowano",cancellingCurrentItem:"Anulowanie przedmiotu.",currentItemCancelled:"Anulowano przedmiot.",startAddingArtist:"Dodawanie {artist} album\xF3w do kolejki",finishAddingArtist:"Dodano {artist} album\xF3w do kolejki",startConvertingSpotifyPlaylist:"Konwertowanie utwor\xF3w Spotify na Deezer",finishConvertingSpotifyPlaylist:"Przekonwertowano playlist\u0119 Spotify",loginNeededToDownload:"Musisz si\u0119 zalogowa\u0107, aby pobiera\u0107 utwory!"},settings:{title:"Ustawienia",languages:"J\u0119zyki",login:{title:"Logowanie",loggedIn:"Zalogowano jako {username}",arl:{question:"Jak zdoby\u0107 sw\xF3j w\u0142asny ARL?",update:"Zakualizuj ARL"},logout:"Wyloguj",login:"Zaloguj przez deezer.com"},appearance:{title:"Wygl\u0105d",slimDownloadTab:"Cienka karta pobranych"},downloadPath:{title:"\u015Acie\u017Cka pobierania"},templates:{title:"Szablony",tracknameTemplate:"Szablon utworu",albumTracknameTemplate:"Szablon utworu z albumu",playlistTracknameTemplate:"Szablon utworu z playlisy"},folders:{title:"Foldery",createPlaylistFolder:"Utw\xF3rz foldery dla playlist",playlistNameTemplate:"Szablon folderu playlisty",createArtistFolder:"Utw\xF3rz foldery dla artyst\xF3w",artistNameTemplate:"Szablon folderu artysty",createAlbumFolder:"Utw\xF3rz foldery dla album\xF3w",albumNameTemplate:"Szablon folderu albumu",createCDFolder:"Utw\xF3rz foldery dla p\u0142yt",createStructurePlaylist:"Utw\xF3rz struktur\u0119 folder\xF3w dla playlist",createSingleFolder:"Utw\xF3rz struktur\u0119 folder\xF3w dla singli"},trackTitles:{title:"Tytu\u0142y utworow",padTracks:"Wypchaj utwory",paddingSize:"Rozmiar wypchania",illegalCharacterReplacer:"Zamiennik niedozwolonych znak\xF3w"},downloads:{title:"Pobrane",queueConcurrency:"R\xF3wnoleg\u0142e pobieranie",maxBitrate:{title:"Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Nadpisywa\u0107 pliki?",y:"Tak",n:"Nie",t:"Tylko tagi",b:"Nie, dodaj numer do drugiego pliku",e:"Nie, nie patrz na rozszerzenia"},fallbackBitrate:"Rezerwowy bitrate",fallbackSearch:"Rezerwowe wyszukiwanie",logErrors:"Utw\xF3rz plik dziennika b\u0142\u0119d\xF3w",logSearched:"Utw\xF3rz plik dziennika wyszukiwanych utwor\xF3w",createM3U8File:"Utw\xF3rz plik playlisty",syncedLyrics:"Utw\xF3rz plik .lyr (synchronizowany tekst)",playlistFilenameTemplate:"Szablon pliku playlisty",saveDownloadQueue:"Zapisz kolejk\u0119 pobierania przy zamykaniu aplikacji"},covers:{title:"Ok\u0142adki album\xF3w",saveArtwork:"Zapisz ok\u0142adki",coverImageTemplate:"Szablon nazwy ok\u0142adki",saveArtworkArtist:"Zapisz zdj\u0119cie artysty",artistImageTemplate:"Szablon zdj\u0119cia artysty",localArtworkSize:"Rozmiar lokalnej ok\u0142adki",embeddedArtworkSize:"Rozmiar osadzonej ok\u0142adki",localArtworkFormat:{title:"W jakim formacie ma zosta\u0107 zapisana ok\u0142adka?",jpg:"Plik JPEG",png:"Plik PNG",both:"Pliki JPEG i PNG"},jpegImageQuality:"Jako\u015B\u0107 JPEG",embeddedArtworkPNG:"Zapisz osadzon\u0105 ok\u0142adk\u0119 jako PNG",embeddedPNGWarning:"PNG nie jest oficjalnie wspierane przez Deezer i mo\u017Ce powodowa\u0107 b\u0142\u0119dy",imageSizeWarning:"Wszystko powy\u017Cej x1200 nie jest oficjalnie u\u017Cywane przez Deezera, wi\u0119c mog\u0105 wyst\u0105pi\u0107 problemy."},tags:{head:"Kt\xF3re tagi zapisa\u0107",title:"Tytu\u0142",artist:"Artysta",album:"Album",cover:"Ok\u0142adka",trackNumber:"Numer utworu",trackTotal:"Liczba utwor\xF3w",discNumber:"Numer p\u0142yty",discTotal:"Liczba p\u0142yt",albumArtist:"Album Artist",genre:"Gatunek",year:"Rok",date:"Data",explicit:"Wulgarny tekst",isrc:"ISRC",length:"D\u0142ugo\u015B\u0107",barcode:"Kod kreskowy albumu (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Wytw\xF3rnia",lyrics:"Niezsynchronizowany tekst",syncedLyrics:"Zsynchronizowany tekst",copyright:"Prawa autorskie",composer:"Kompozytor",involvedPeople:"Zaanga\u017Cowane osoby"},other:{title:"Inne",savePlaylistAsCompilation:"Zapisz playlisty jako kompilacje",useNullSeparator:"U\u017Cyj separatora null",saveID3v1:"Zapisz ID3v1",multiArtistSeparator:{title:"Jak oddzieli\u0107 artyst\xF3w?",nothing:"Zapisz tylko g\u0142\xF3wnego artyst\u0119",default:"Standardowa specyfikacja",andFeat:"& i feat.",using:'U\u017Cywa "{separator}"'},singleAlbumArtist:"Zapisz tylko g\u0142\xF3wnego autora albumu",albumVariousArtists:'Zostaw "Various Artists" w autorach albumu',removeAlbumVersion:'Usu\u0144 "Album Version" z tytu\u0142u utworu',removeDuplicateArtists:"Usu\u0144 kombinacje artyst\xF3w",dateFormat:{title:"Format daty dla plik\xF3w FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Co zrobi\u0107 z dodatkowymi artystami?",0:"Nic",1:"Usu\u0144 z tytu\u0142u",3:"Usu\u0144 z tytu\u0142u i tytu\u0142u albumu",2:"Przenie\u015B do tytu\u0142u"},titleCasing:"Rozmiar liter tytu\u0142u",artistCasing:"Rozmiar liter artysty",casing:{nothing:"Zostaw",lower:"ma\u0142e litery",upper:"DU\u017BE LITERY",start:"Na Pocz\u0105tku Ka\u017Cdego S\u0142owa",sentence:"Jak w zdaniu"},previewVolume:"G\u0142o\u015Bno\u015B\u0107 podgl\u0105du",executeCommand:{title:"Polecenie do wykonania po pobraniu",description:"Zostaw puste, aby nic nie robi\u0107"}},spotify:{title:"Funkcje Spotify",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Nazwa u\u017Cytkownika",question:"Jak w\u0142\u0105czy\u0107 funkcje Spotify?"},reset:"Przywr\xF3\u0107 domy\u015Blne",save:"Zapisz",toasts:{init:"Za\u0142adowano ustawienia!",update:"Zaktualizowano ustawienia!",ARLcopied:"Skopiowano ARL do schowka"}},sidebar:{home:"strona g\u0142\xF3wna",search:"szukaj",charts:"wykresy",favorites:"ulubione",linkAnalyzer:"analiza link\xF3w",settings:"ustawienia",about:"informacje"},tracklist:{downloadSelection:"Pobierz wybrane"}},locales={it,en,es,de,fr,id,pt,pt_br,ru,tr,vn,hr,ar,ko,ph,zh_tw,pl};Vue.use(VueI18n);const storedLocale=localStorage.getItem("locale"),DEFAULT_LANG=storedLocale||"en";document.querySelector("html").setAttribute("lang",DEFAULT_LANG);const i18n=new VueI18n({locale:DEFAULT_LANG,fallbackLocale:"en",messages:locales,pluralizationRules:{ru:function(e,a){var n=Math.abs(e)%100,i=n%10;return n>10&&n<20?2:i>1&&i<5?1:i==1?0:2}}});/*! * vue-router v3.5.1 * (c) 2021 Evan You * @license MIT - */function extend$2(e,n){for(var a in n)e[a]=n[a];return e}var encodeReserveRE=/[!'()*]/g,encodeReserveReplacer=function(e){return"%"+e.charCodeAt(0).toString(16)},commaRE=/%2C/g,encode=function(e){return encodeURIComponent(e).replace(encodeReserveRE,encodeReserveReplacer).replace(commaRE,",")};function decode(e){try{return decodeURIComponent(e)}catch(n){}return e}function resolveQuery(e,n,a){n===void 0&&(n={});var i=a||parseQuery,r;try{r=i(e||"")}catch(l){r={}}for(var s in n){var o=n[s];r[s]=Array.isArray(o)?o.map(castQueryParamValue):castQueryParamValue(o)}return r}var castQueryParamValue=function(e){return e==null||typeof e=="object"?e:String(e)};function parseQuery(e){var n={};return e=e.trim().replace(/^(\?|#|&)/,""),e&&e.split("&").forEach(function(a){var i=a.replace(/\+/g," ").split("="),r=decode(i.shift()),s=i.length>0?decode(i.join("=")):null;n[r]===void 0?n[r]=s:Array.isArray(n[r])?n[r].push(s):n[r]=[n[r],s]}),n}function stringifyQuery(e){var n=e?Object.keys(e).map(function(a){var i=e[a];if(i===void 0)return"";if(i===null)return encode(a);if(Array.isArray(i)){var r=[];return i.forEach(function(s){s!==void 0&&(s===null?r.push(encode(a)):r.push(encode(a)+"="+encode(s)))}),r.join("&")}return encode(a)+"="+encode(i)}).filter(function(a){return a.length>0}).join("&"):null;return n?"?"+n:""}var trailingSlashRE=/\/?$/;function createRoute(e,n,a,i){var r=i&&i.options.stringifyQuery,s=n.query||{};try{s=clone(s)}catch(l){}var o={name:n.name||e&&e.name,meta:e&&e.meta||{},path:n.path||"/",hash:n.hash||"",query:s,params:n.params||{},fullPath:getFullPath(n,r),matched:e?formatMatch(e):[]};return a&&(o.redirectedFrom=getFullPath(a,r)),Object.freeze(o)}function clone(e){if(Array.isArray(e))return e.map(clone);if(e&&typeof e=="object"){var n={};for(var a in e)n[a]=clone(e[a]);return n}else return e}var START=createRoute(null,{path:"/"});function formatMatch(e){for(var n=[];e;)n.unshift(e),e=e.parent;return n}function getFullPath(e,n){var a=e.path,i=e.query;i===void 0&&(i={});var r=e.hash;r===void 0&&(r="");var s=n||stringifyQuery;return(a||"/")+s(i)+r}function isSameRoute(e,n,a){return n===START?e===n:n?e.path&&n.path?e.path.replace(trailingSlashRE,"")===n.path.replace(trailingSlashRE,"")&&(a||e.hash===n.hash&&isObjectEqual(e.query,n.query)):e.name&&n.name?e.name===n.name&&(a||e.hash===n.hash&&isObjectEqual(e.query,n.query)&&isObjectEqual(e.params,n.params)):!1:!1}function isObjectEqual(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),!e||!n)return e===n;var a=Object.keys(e).sort(),i=Object.keys(n).sort();return a.length!==i.length?!1:a.every(function(r,s){var o=e[r],l=i[s];if(l!==r)return!1;var c=n[r];return o==null||c==null?o===c:typeof o=="object"&&typeof c=="object"?isObjectEqual(o,c):String(o)===String(c)})}function isIncludedRoute(e,n){return e.path.replace(trailingSlashRE,"/").indexOf(n.path.replace(trailingSlashRE,"/"))===0&&(!n.hash||e.hash===n.hash)&&queryIncludes(e.query,n.query)}function queryIncludes(e,n){for(var a in n)if(!(a in e))return!1;return!0}function handleRouteEntered(e){for(var n=0;n=0&&(n=e.slice(i),e=e.slice(0,i));var r=e.indexOf("?");return r>=0&&(a=e.slice(r+1),e=e.slice(0,r)),{path:e,query:a,hash:n}}function cleanPath(e){return e.replace(/\/\//g,"/")}var isarray=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"},pathToRegexp_1=pathToRegexp,parse_1=parse$2,compile_1=compile$1,tokensToFunction_1=tokensToFunction,tokensToRegExp_1=tokensToRegExp,PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$2(e,n){for(var a=[],i=0,r=0,s="",o=n&&n.delimiter||"/",l;(l=PATH_REGEXP.exec(e))!=null;){var c=l[0],u=l[1],d=l.index;if(s+=e.slice(r,d),r=d+c.length,u){s+=u[1];continue}var f=e[r],h=l[2],m=l[3],v=l[4],y=l[5],_=l[6],w=l[7];s&&(a.push(s),s="");var A=h!=null&&f!=null&&f!==h,S=_==="+"||_==="*",M=_==="?"||_==="*",P=l[2]||o,z=v||y;a.push({name:m||i++,prefix:h||"",delimiter:P,optional:M,repeat:S,partial:A,asterisk:!!w,pattern:z?escapeGroup(z):w?".*":"[^"+escapeString(P)+"]+?"})}return r1||!P.length)return P.length===0?n():n("span",{},P)}if(this.tag==="a")M.on=S,M.attrs={href:c,"aria-current":w};else{var z=findAnchor(this.$slots.default);if(z){z.isStatic=!1;var C=z.data=extend$2({},z.data);C.on=C.on||{};for(var N in C.on){var j=C.on[N];N in S&&(C.on[N]=Array.isArray(j)?j:[j])}for(var E in S)E in C.on?C.on[E].push(S[E]):C.on[E]=A;var R=z.data.attrs=extend$2({},z.data.attrs);R.href=c,R["aria-current"]=w}else M.on=S}return n(this.tag,M,this.$slots.default)}};function guardEvent(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){var n=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(n))return}return e.preventDefault&&e.preventDefault(),!0}}function findAnchor(e){if(e){for(var n,a=0;a-1&&(_.params[M]=v.params[M]);return _.path=fillParams(A.path,_.params),h(A,_,y)}else if(_.path){_.params={};for(var P=0;P=e.length?a():e[r]?n(e[r],function(){i(r+1)}):i(r+1)};i(0)}var NavigationFailureType={redirected:2,aborted:4,cancelled:8,duplicated:16};function createNavigationRedirectedError(e,n){return createRouterError(e,n,NavigationFailureType.redirected,'Redirected when going from "'+e.fullPath+'" to "'+stringifyRoute(n)+'" via a navigation guard.')}function createNavigationDuplicatedError(e,n){var a=createRouterError(e,n,NavigationFailureType.duplicated,'Avoided redundant navigation to current location: "'+e.fullPath+'".');return a.name="NavigationDuplicated",a}function createNavigationCancelledError(e,n){return createRouterError(e,n,NavigationFailureType.cancelled,'Navigation cancelled from "'+e.fullPath+'" to "'+n.fullPath+'" with a new navigation.')}function createNavigationAbortedError(e,n){return createRouterError(e,n,NavigationFailureType.aborted,'Navigation aborted from "'+e.fullPath+'" to "'+n.fullPath+'" via a navigation guard.')}function createRouterError(e,n,a,i){var r=new Error(i);return r._isRouter=!0,r.from=e,r.to=n,r.type=a,r}var propertiesToLog=["params","query","hash"];function stringifyRoute(e){if(typeof e=="string")return e;if("path"in e)return e.path;var n={};return propertiesToLog.forEach(function(a){a in e&&(n[a]=e[a])}),JSON.stringify(n,null,2)}function isError(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function isNavigationFailure(e,n){return isError(e)&&e._isRouter&&(n==null||e.type===n)}function resolveAsyncComponents(e){return function(n,a,i){var r=!1,s=0,o=null;flatMapComponents(e,function(l,c,u,d){if(typeof l=="function"&&l.cid===void 0){r=!0,s++;var f=once$1(function(y){isESModule(y)&&(y=y.default),l.resolved=typeof y=="function"?y:_Vue.extend(y),u.components[d]=y,s--,s<=0&&i()}),h=once$1(function(y){var _="Failed to resolve async component "+d+": "+y;o||(o=isError(y)?y:new Error(_),i(o))}),m;try{m=l(f,h)}catch(y){h(y)}if(m)if(typeof m.then=="function")m.then(f,h);else{var v=m.component;v&&typeof v.then=="function"&&v.then(f,h)}}}),r||i()}}function flatMapComponents(e,n){return flatten(e.map(function(a){return Object.keys(a.components).map(function(i){return n(a.components[i],a.instances[i],a,i)})}))}function flatten(e){return Array.prototype.concat.apply([],e)}var hasSymbol$2=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function isESModule(e){return e.__esModule||hasSymbol$2&&e[Symbol.toStringTag]==="Module"}function once$1(e){var n=!1;return function(){for(var a=[],i=arguments.length;i--;)a[i]=arguments[i];if(!n)return n=!0,e.apply(this,a)}}var History=function(n,a){this.router=n,this.base=normalizeBase(a),this.current=START,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};History.prototype.listen=function(n){this.cb=n},History.prototype.onReady=function(n,a){this.ready?n():(this.readyCbs.push(n),a&&this.readyErrorCbs.push(a))},History.prototype.onError=function(n){this.errorCbs.push(n)},History.prototype.transitionTo=function(n,a,i){var r=this,s;try{s=this.router.match(n,this.current)}catch(l){throw this.errorCbs.forEach(function(c){c(l)}),l}var o=this.current;this.confirmTransition(s,function(){r.updateRoute(s),a&&a(s),r.ensureURL(),r.router.afterHooks.forEach(function(l){l&&l(s,o)}),r.ready||(r.ready=!0,r.readyCbs.forEach(function(l){l(s)}))},function(l){i&&i(l),l&&!r.ready&&(!isNavigationFailure(l,NavigationFailureType.redirected)||o!==START)&&(r.ready=!0,r.readyErrorCbs.forEach(function(c){c(l)}))})},History.prototype.confirmTransition=function(n,a,i){var r=this,s=this.current;this.pending=n;var o=function(y){!isNavigationFailure(y)&&isError(y)&&(r.errorCbs.length?r.errorCbs.forEach(function(_){_(y)}):console.error(y)),i&&i(y)},l=n.matched.length-1,c=s.matched.length-1;if(isSameRoute(n,s)&&l===c&&n.matched[l]===s.matched[c])return this.ensureURL(),o(createNavigationDuplicatedError(s,n));var u=resolveQueue(this.current.matched,n.matched),d=u.updated,f=u.deactivated,h=u.activated,m=[].concat(extractLeaveGuards(f),this.router.beforeHooks,extractUpdateHooks(d),h.map(function(y){return y.beforeEnter}),resolveAsyncComponents(h)),v=function(y,_){if(r.pending!==n)return o(createNavigationCancelledError(s,n));try{y(n,s,function(w){w===!1?(r.ensureURL(!0),o(createNavigationAbortedError(s,n))):isError(w)?(r.ensureURL(!0),o(w)):typeof w=="string"||typeof w=="object"&&(typeof w.path=="string"||typeof w.name=="string")?(o(createNavigationRedirectedError(s,n)),typeof w=="object"&&w.replace?r.replace(w):r.push(w)):_(w)})}catch(w){o(w)}};runQueue(m,v,function(){var y=extractEnterGuards(h),_=y.concat(r.router.resolveHooks);runQueue(_,v,function(){if(r.pending!==n)return o(createNavigationCancelledError(s,n));r.pending=null,a(n),r.router.app&&r.router.app.$nextTick(function(){handleRouteEntered(n)})})})},History.prototype.updateRoute=function(n){this.current=n,this.cb&&this.cb(n)},History.prototype.setupListeners=function(){},History.prototype.teardown=function(){this.listeners.forEach(function(n){n()}),this.listeners=[],this.current=START,this.pending=null};function normalizeBase(e){if(!e)if(inBrowser$1){var n=document.querySelector("base");e=n&&n.getAttribute("href")||"/",e=e.replace(/^https?:\/\/[^\/]+/,"")}else e="/";return e.charAt(0)!=="/"&&(e="/"+e),e.replace(/\/$/,"")}function resolveQueue(e,n){var a,i=Math.max(e.length,n.length);for(a=0;a0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var c=i.current,u=getLocation(i.base);i.current===START&&u===i._startLocation||i.transitionTo(u,function(d){o&&handleScroll(r,d,c,!0)})};window.addEventListener("popstate",l),this.listeners.push(function(){window.removeEventListener("popstate",l)})}},n.prototype.go=function(i){window.history.go(i)},n.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},n.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},n.prototype.ensureURL=function(i){if(getLocation(this.base)!==this.current.fullPath){var r=cleanPath(this.base+this.current.fullPath);i?pushState(r):replaceState(r)}},n.prototype.getCurrentLocation=function(){return getLocation(this.base)},n}(History);function getLocation(e){var n=window.location.pathname;return e&&n.toLowerCase().indexOf(e.toLowerCase())===0&&(n=n.slice(e.length)),(n||"/")+window.location.search+window.location.hash}var HashHistory=function(e){function n(a,i,r){e.call(this,a,i),!(r&&checkFallback(this.base))&&ensureSlash()}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.setupListeners=function(){var i=this;if(!(this.listeners.length>0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var u=i.current;!ensureSlash()||i.transitionTo(getHash(),function(d){o&&handleScroll(i.router,d,u,!0),supportsPushState||replaceHash(d.fullPath)})},c=supportsPushState?"popstate":"hashchange";window.addEventListener(c,l),this.listeners.push(function(){window.removeEventListener(c,l)})}},n.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},n.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},n.prototype.go=function(i){window.history.go(i)},n.prototype.ensureURL=function(i){var r=this.current.fullPath;getHash()!==r&&(i?pushHash(r):replaceHash(r))},n.prototype.getCurrentLocation=function(){return getHash()},n}(History);function checkFallback(e){var n=getLocation(e);if(!/^\/#/.test(n))return window.location.replace(cleanPath(e+"/#"+n)),!0}function ensureSlash(){var e=getHash();return e.charAt(0)==="/"?!0:(replaceHash("/"+e),!1)}function getHash(){var e=window.location.href,n=e.indexOf("#");return n<0?"":(e=e.slice(n+1),e)}function getUrl(e){var n=window.location.href,a=n.indexOf("#"),i=a>=0?n.slice(0,a):n;return i+"#"+e}function pushHash(e){supportsPushState?pushState(getUrl(e)):window.location.hash=e}function replaceHash(e){supportsPushState?replaceState(getUrl(e)):window.location.replace(getUrl(e))}var AbstractHistory=function(e){function n(a,i){e.call(this,a,i),this.stack=[],this.index=-1}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.push=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index+1).concat(l),o.index++,r&&r(l)},s)},n.prototype.replace=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index).concat(l),r&&r(l)},s)},n.prototype.go=function(i){var r=this,s=this.index+i;if(!(s<0||s>=this.stack.length)){var o=this.stack[s];this.confirmTransition(o,function(){var l=r.current;r.index=s,r.updateRoute(o),r.router.afterHooks.forEach(function(c){c&&c(o,l)})},function(l){isNavigationFailure(l,NavigationFailureType.duplicated)&&(r.index=s)})}},n.prototype.getCurrentLocation=function(){var i=this.stack[this.stack.length-1];return i?i.fullPath:"/"},n.prototype.ensureURL=function(){},n}(History),VueRouter=function(n){n===void 0&&(n={}),this.app=null,this.apps=[],this.options=n,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=createMatcher(n.routes||[],this);var a=n.mode||"hash";switch(this.fallback=a==="history"&&!supportsPushState&&n.fallback!==!1,this.fallback&&(a="hash"),inBrowser$1||(a="abstract"),this.mode=a,a){case"history":this.history=new HTML5History(this,n.base);break;case"hash":this.history=new HashHistory(this,n.base,this.fallback);break;case"abstract":this.history=new AbstractHistory(this,n.base);break}},prototypeAccessors$3={currentRoute:{configurable:!0}};VueRouter.prototype.match=function(n,a,i){return this.matcher.match(n,a,i)},prototypeAccessors$3.currentRoute.get=function(){return this.history&&this.history.current},VueRouter.prototype.init=function(n){var a=this;if(this.apps.push(n),n.$once("hook:destroyed",function(){var o=a.apps.indexOf(n);o>-1&&a.apps.splice(o,1),a.app===n&&(a.app=a.apps[0]||null),a.app||a.history.teardown()}),!this.app){this.app=n;var i=this.history;if(i instanceof HTML5History||i instanceof HashHistory){var r=function(o){var l=i.current,c=a.options.scrollBehavior,u=supportsPushState&&c;u&&"fullPath"in o&&handleScroll(a,o,l,!1)},s=function(o){i.setupListeners(),r(o)};i.transitionTo(i.getCurrentLocation(),s,s)}i.listen(function(o){a.apps.forEach(function(l){l._route=o})})}},VueRouter.prototype.beforeEach=function(n){return registerHook(this.beforeHooks,n)},VueRouter.prototype.beforeResolve=function(n){return registerHook(this.resolveHooks,n)},VueRouter.prototype.afterEach=function(n){return registerHook(this.afterHooks,n)},VueRouter.prototype.onReady=function(n,a){this.history.onReady(n,a)},VueRouter.prototype.onError=function(n){this.history.onError(n)},VueRouter.prototype.push=function(n,a,i){var r=this;if(!a&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.push(n,s,o)});this.history.push(n,a,i)},VueRouter.prototype.replace=function(n,a,i){var r=this;if(!a&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.replace(n,s,o)});this.history.replace(n,a,i)},VueRouter.prototype.go=function(n){this.history.go(n)},VueRouter.prototype.back=function(){this.go(-1)},VueRouter.prototype.forward=function(){this.go(1)},VueRouter.prototype.getMatchedComponents=function(n){var a=n?n.matched?n:this.resolve(n).route:this.currentRoute;return a?[].concat.apply([],a.matched.map(function(i){return Object.keys(i.components).map(function(r){return i.components[r]})})):[]},VueRouter.prototype.resolve=function(n,a,i){a=a||this.history.current;var r=normalizeLocation(n,a,i,this),s=this.match(r,a),o=s.redirectedFrom||s.fullPath,l=this.history.base,c=createHref(l,o,this.mode);return{location:r,route:s,href:c,normalizedTo:r,resolved:s}},VueRouter.prototype.getRoutes=function(){return this.matcher.getRoutes()},VueRouter.prototype.addRoute=function(n,a){this.matcher.addRoute(n,a),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},VueRouter.prototype.addRoutes=function(n){this.matcher.addRoutes(n),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(VueRouter.prototype,prototypeAccessors$3);function registerHook(e,n){return e.push(n),function(){var a=e.indexOf(n);a>-1&&e.splice(a,1)}}function createHref(e,n,a){var i=a==="hash"?"#"+n:n;return e?cleanPath(e+"/"+i):i}VueRouter.install=install$3,VueRouter.version="3.5.1",VueRouter.isNavigationFailure=isNavigationFailure,VueRouter.NavigationFailureType=NavigationFailureType,VueRouter.START_LOCATION=START,inBrowser$1&&window.Vue&&window.Vue.use(VueRouter);const isOnline=ref$2(navigator.onLine);window.addEventListener("online",()=>{isOnline.value=!0}),window.addEventListener("offline",()=>{isOnline.value=!1});const useOnline=()=>({isOnline});var paypal=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`,ethereum='',script$9=defineComponent({setup(e,n){const a=reactive({current:null,latest:null,updateAvailable:!1,deemixVersion:null}),{isOnline:i}=useOnline();function r(o){const{currentCommit:l,latestCommit:c,updateAvailable:u,deemixVersion:d}=o;a.current=l,a.latest=c,a.updateAvailable=u,a.deemixVersion=d}const s=computed(()=>n.root.$store.getters.getAppInfo);return onMounted(()=>{r(s.value)}),{...toRefs(a),paypal,ethereum,isOnline:i}}});const __vue_script__$9=script$9;var __vue_render__$b=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{attrs:{id:"about_tab"}},[a("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.about")))]),e._v(" "),a("div",{staticClass:"inline-flex px-4 py-2 mb-8 rounded-full",class:{"bg-green-500":e.isOnline,"bg-red-500":!e.isOnline}},[a("span",{staticClass:"text-sm uppercase-first-letter"},[e._v(` - `+e._s(e.$t("about.appStatus."+(e.isOnline?"online":"offline")))+` - `)])]),e._v(" "),a("ul",[a("li",[e._v(` - `+e._s(e.$t("about.updates.currentWebuiVersion"))+`: - `),a("span",[e._v(e._s("1.6.0"))])]),e._v(" "),a("li",[e._v(` - `+e._s(e.$t("about.updates.currentVersion"))+`: - `),a("span",[e._v(e._s(e.current||e.$t("about.updates.versionNotAvailable")))])]),e._v(" "),a("li",[e._v(e._s(e.$t("about.updates.deemixVersion"))+": "+e._s(e.deemixVersion))]),e._v(" "),e.updateAvailable&&e.latest?a("li",[e._v(e._s(e.$t("about.updates.updateAvailable",{version:e.latest})))]):e._e()]),e._v(" "),a("ul",[a("li",{domProps:{innerHTML:e._s(e.$t("about.usesLibrary"))}}),e._v(" "),a("li",{domProps:{innerHTML:e._s(e.$t("about.thanks"))}}),e._v(" "),a("i18n",{attrs:{path:"about.upToDate.text",tag:"li"},scopedSlots:e._u([{key:"newsChannel",fn:function(){return[a("a",{attrs:{href:"https://t.me/RemixDevNews",target:"_blank"}},[e._v(e._s(e.$t("about.upToDate.newsChannel")))])]},proxy:!0}])})],1),e._v(" "),a("h2",[e._v(e._s(e.$t("about.titles.usefulLinks")))]),e._v(" "),a("ul",{staticClass:"no-dots"},[a("li",[a("a",{attrs:{href:"https://git.rip/RemixDev/deemix",target:"_blank"}},[e._v("\u{1F680} "+e._s(e.$t("about.officialRepo")))])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://git.rip/RemixDev/deemix-webui",target:"_blank"}},[e._v(` - \u{1F4BB} `+e._s(e.$t("about.officialWebuiRepo"))+` - `)])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://www.reddit.com/r/deemix",target:"_blank"}},[e._v("\u{1F916} "+e._s(e.$t("about.officialSubreddit")))])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://t.me/RemixDevNews",target:"_blank"}},[e._v("\u{1F4F0} "+e._s(e.$t("about.newsChannel")))])])]),e._v(" "),a("h2",[e._v(` - `+e._s(e.$t("about.titles.bugReports"))+` - `),a("span",{staticClass:"subheading"},[e._v(` - `+e._s(e.$t("about.subtitles.bugReports"))+` - `)])]),e._v(" "),a("ul",[a("i18n",{attrs:{path:"about.questions.text",tag:"li"},scopedSlots:e._u([{key:"subreddit",fn:function(){return[a("a",{attrs:{href:"https://www.reddit.com/r/deemix",target:"_blank"}},[e._v(e._s(e.$t("about.questions.subreddit")))])]},proxy:!0}])}),e._v(" "),a("li",[e._v(` - `+e._s(e.$t("about.beforeReporting"))+` - `)]),e._v(" "),a("li",{domProps:{innerHTML:e._s(e.$t("about.beSure"))}}),e._v(" "),a("li",[e._v(` - `+e._s(e.$t("about.duplicateReports"))+` - `)]),e._v(" "),a("li",{domProps:{innerHTML:e._s(e.$t("about.dontOpenIssues"))}})],1),e._v(" "),a("h2",[e._v(` - `+e._s(e.$t("about.titles.contributing"))+` - `),a("span",{staticClass:"subheading"},[e._v(` - `+e._s(e.$t("about.subtitles.contributing"))+` - `)])]),e._v(" "),a("ul",[a("i18n",{attrs:{path:"about.newUI.text",tag:"li"},scopedSlots:e._u([{key:"repo",fn:function(){return[a("span",[e._v(e._s(e.$t("about.newUI.repo")))])]},proxy:!0}])}),e._v(" "),a("li",[e._v(` - `+e._s(e.$t("about.acceptFeatures"))+` - `)]),e._v(" "),a("i18n",{attrs:{path:"about.contributeWebUI.text",tag:"li"},scopedSlots:e._u([{key:"webui",fn:function(){return[a("span",[e._v(e._s(e.$t("about.contributeWebUI.webui")))])]},proxy:!0}])}),e._v(" "),a("li",[e._v(` - `+e._s(e.$t("about.otherLanguages"))+` - `)]),e._v(" "),a("li",[e._v(` - `+e._s(e.$t("about.understandingCode"))+` - `)])],1),e._v(" "),a("h2",[e._v(` - `+e._s(e.$t("about.titles.donations"))+` - `),a("span",{staticClass:"subheading"},[e._v(` - `+e._s(e.$t("about.subtitles.donations"))+` - `)])]),e._v(" "),a("ul",[a("li",{domProps:{innerHTML:e._s(e.$t("about.itsFree"))}}),e._v(" "),a("li",[e._v(` - `+e._s(e.$t("about.notObligated"))+` - `)])]),e._v(" "),a("ul",[a("li",[a("i",{domProps:{innerHTML:e._s(e.paypal)}}),e._v(" "),a("strong",[e._v("PayPal:")]),e._v(" "),a("a",{attrs:{href:"https://paypal.me/RemixDev",target:"_blank"}},[e._v("PayPal.me/RemixDev")])]),e._v(" "),a("li",[a("i",{staticClass:"ethereum",domProps:{innerHTML:e._s(e.ethereum)}}),e._v(" "),a("strong",[e._v("Ethereum:")]),e._v(` 0x1d2aa67e671485CD4062289772B662e0A6Ff976c - `)])]),e._v(" "),a("h2",[e._v(e._s(e.$t("about.titles.license")))]),e._v(" "),e._m(0),e._v(" "),a("i18n",{attrs:{path:"about.lincensedUnder.text",tag:"p"},scopedSlots:e._u([{key:"gpl3",fn:function(){return[a("a",{attrs:{rel:"license",href:"https://www.gnu.org/licenses/gpl-3.0.en.html",target:"_blank"}},[e._v(e._s(e.$t("about.lincensedUnder.gpl3")))])]},proxy:!0}])})],1)},__vue_staticRenderFns__$b=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",[a("a",{attrs:{rel:"license",href:"https://www.gnu.org/licenses/gpl-3.0.en.html",target:"_blank"}},[a("img",{staticStyle:{"border-width":"0"},attrs:{alt:"GNU General Public License",src:"https://www.gnu.org/graphics/gplv3-127x51.png"}})])])}];const __vue_inject_styles__$b=function(e){!e||e("data-v-c6fe733a_0",{source:`@charset "UTF-8";a[data-v-c6fe733a],li[data-v-c6fe733a],p[data-v-c6fe733a]{letter-spacing:.4px;font-size:20px;line-height:1.2}i[data-v-c6fe733a]{vertical-align:middle}i[data-v-c6fe733a] svg{fill:#fff;width:20px}.ethereum[data-v-c6fe733a] svg{fill:var(--foreground)}[data-v-c6fe733a]:link{text-decoration:none}#about_tab[data-v-c6fe733a]{margin-bottom:40px}h2[data-v-c6fe733a]{text-transform:capitalize}h2[data-v-c6fe733a]:not(.page_heading){font-size:2rem;border-bottom:1px solid rgba(51,51,51,.25);padding-top:2rem;padding-bottom:1rem}h2 .subheading[data-v-c6fe733a]{display:block;font-size:.5em;margin-top:.5em;font-weight:400;opacity:.8;text-transform:none}p[data-v-c6fe733a]{margin:0!important}ul li[data-v-c6fe733a]{margin-bottom:7px}h2+ul[data-v-c6fe733a]{margin-top:1rem}ul+ul[data-v-c6fe733a]{margin-top:1.25rem}ul.no-dots[data-v-c6fe733a]{list-style-type:none}ul[data-v-c6fe733a]:not(.no-dots){list-style-type:none}ul:not(.no-dots) li[data-v-c6fe733a]{position:relative}ul:not(.no-dots) li[data-v-c6fe733a]::before{content:'\u2014';position:absolute;left:-30px;opacity:.25}`,map:void 0,media:void 0})},__vue_scope_id__$b="data-v-c6fe733a",__vue_module_identifier__$b=void 0,__vue_is_functional_template__$b=!1;var About=normalizeComponent_1({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$9,__vue_scope_id__$b,__vue_is_functional_template__$b,__vue_module_identifier__$b,browser,void 0),script$a={};const __vue_script__$a=script$a;var __vue_render__$c=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.login.arl.question")))]),e._v(" "),e._m(0),e._v(" "),a("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome (Easy way)")]),e._v(" "),e._m(1),e._v(" "),a("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome")]),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),a("h3",{staticClass:"mt-6 text-3xl"},[e._v("Firefox")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$c=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v(` - Deezer keeps track of login session by using a cookie called ARL.`),a("br"),e._v(` - deemix uses that cookie to get the metadata that it needs to download the tracks from Deezer.`),a("br"),e._v(` - ARLs last for 3 months, after that Deezer asks you to log in again. The same method is used in deemix`),a("br"),e._v(` + */function extend$2(e,a){for(var n in a)e[n]=a[n];return e}var encodeReserveRE=/[!'()*]/g,encodeReserveReplacer=function(e){return"%"+e.charCodeAt(0).toString(16)},commaRE=/%2C/g,encode=function(e){return encodeURIComponent(e).replace(encodeReserveRE,encodeReserveReplacer).replace(commaRE,",")};function decode(e){try{return decodeURIComponent(e)}catch(a){}return e}function resolveQuery(e,a,n){a===void 0&&(a={});var i=n||parseQuery,r;try{r=i(e||"")}catch(l){r={}}for(var s in a){var o=a[s];r[s]=Array.isArray(o)?o.map(castQueryParamValue):castQueryParamValue(o)}return r}var castQueryParamValue=function(e){return e==null||typeof e=="object"?e:String(e)};function parseQuery(e){var a={};return e=e.trim().replace(/^(\?|#|&)/,""),e&&e.split("&").forEach(function(n){var i=n.replace(/\+/g," ").split("="),r=decode(i.shift()),s=i.length>0?decode(i.join("=")):null;a[r]===void 0?a[r]=s:Array.isArray(a[r])?a[r].push(s):a[r]=[a[r],s]}),a}function stringifyQuery(e){var a=e?Object.keys(e).map(function(n){var i=e[n];if(i===void 0)return"";if(i===null)return encode(n);if(Array.isArray(i)){var r=[];return i.forEach(function(s){s!==void 0&&(s===null?r.push(encode(n)):r.push(encode(n)+"="+encode(s)))}),r.join("&")}return encode(n)+"="+encode(i)}).filter(function(n){return n.length>0}).join("&"):null;return a?"?"+a:""}var trailingSlashRE=/\/?$/;function createRoute(e,a,n,i){var r=i&&i.options.stringifyQuery,s=a.query||{};try{s=clone(s)}catch(l){}var o={name:a.name||e&&e.name,meta:e&&e.meta||{},path:a.path||"/",hash:a.hash||"",query:s,params:a.params||{},fullPath:getFullPath(a,r),matched:e?formatMatch(e):[]};return n&&(o.redirectedFrom=getFullPath(n,r)),Object.freeze(o)}function clone(e){if(Array.isArray(e))return e.map(clone);if(e&&typeof e=="object"){var a={};for(var n in e)a[n]=clone(e[n]);return a}else return e}var START=createRoute(null,{path:"/"});function formatMatch(e){for(var a=[];e;)a.unshift(e),e=e.parent;return a}function getFullPath(e,a){var n=e.path,i=e.query;i===void 0&&(i={});var r=e.hash;r===void 0&&(r="");var s=a||stringifyQuery;return(n||"/")+s(i)+r}function isSameRoute(e,a,n){return a===START?e===a:a?e.path&&a.path?e.path.replace(trailingSlashRE,"")===a.path.replace(trailingSlashRE,"")&&(n||e.hash===a.hash&&isObjectEqual(e.query,a.query)):e.name&&a.name?e.name===a.name&&(n||e.hash===a.hash&&isObjectEqual(e.query,a.query)&&isObjectEqual(e.params,a.params)):!1:!1}function isObjectEqual(e,a){if(e===void 0&&(e={}),a===void 0&&(a={}),!e||!a)return e===a;var n=Object.keys(e).sort(),i=Object.keys(a).sort();return n.length!==i.length?!1:n.every(function(r,s){var o=e[r],l=i[s];if(l!==r)return!1;var c=a[r];return o==null||c==null?o===c:typeof o=="object"&&typeof c=="object"?isObjectEqual(o,c):String(o)===String(c)})}function isIncludedRoute(e,a){return e.path.replace(trailingSlashRE,"/").indexOf(a.path.replace(trailingSlashRE,"/"))===0&&(!a.hash||e.hash===a.hash)&&queryIncludes(e.query,a.query)}function queryIncludes(e,a){for(var n in a)if(!(n in e))return!1;return!0}function handleRouteEntered(e){for(var a=0;a=0&&(a=e.slice(i),e=e.slice(0,i));var r=e.indexOf("?");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{path:e,query:n,hash:a}}function cleanPath(e){return e.replace(/\/\//g,"/")}var isarray=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"},pathToRegexp_1=pathToRegexp,parse_1=parse$2,compile_1=compile$1,tokensToFunction_1=tokensToFunction,tokensToRegExp_1=tokensToRegExp,PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$2(e,a){for(var n=[],i=0,r=0,s="",o=a&&a.delimiter||"/",l;(l=PATH_REGEXP.exec(e))!=null;){var c=l[0],u=l[1],d=l.index;if(s+=e.slice(r,d),r=d+c.length,u){s+=u[1];continue}var f=e[r],h=l[2],m=l[3],v=l[4],y=l[5],_=l[6],w=l[7];s&&(n.push(s),s="");var A=h!=null&&f!=null&&f!==h,S=_==="+"||_==="*",M=_==="?"||_==="*",P=l[2]||o,z=v||y;n.push({name:m||i++,prefix:h||"",delimiter:P,optional:M,repeat:S,partial:A,asterisk:!!w,pattern:z?escapeGroup(z):w?".*":"[^"+escapeString(P)+"]+?"})}return r1||!P.length)return P.length===0?a():a("span",{},P)}if(this.tag==="a")M.on=S,M.attrs={href:c,"aria-current":w};else{var z=findAnchor(this.$slots.default);if(z){z.isStatic=!1;var C=z.data=extend$2({},z.data);C.on=C.on||{};for(var N in C.on){var j=C.on[N];N in S&&(C.on[N]=Array.isArray(j)?j:[j])}for(var E in S)E in C.on?C.on[E].push(S[E]):C.on[E]=A;var L=z.data.attrs=extend$2({},z.data.attrs);L.href=c,L["aria-current"]=w}else M.on=S}return a(this.tag,M,this.$slots.default)}};function guardEvent(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){var a=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(a))return}return e.preventDefault&&e.preventDefault(),!0}}function findAnchor(e){if(e){for(var a,n=0;n-1&&(_.params[M]=v.params[M]);return _.path=fillParams(A.path,_.params),h(A,_,y)}else if(_.path){_.params={};for(var P=0;P=e.length?n():e[r]?a(e[r],function(){i(r+1)}):i(r+1)};i(0)}var NavigationFailureType={redirected:2,aborted:4,cancelled:8,duplicated:16};function createNavigationRedirectedError(e,a){return createRouterError(e,a,NavigationFailureType.redirected,'Redirected when going from "'+e.fullPath+'" to "'+stringifyRoute(a)+'" via a navigation guard.')}function createNavigationDuplicatedError(e,a){var n=createRouterError(e,a,NavigationFailureType.duplicated,'Avoided redundant navigation to current location: "'+e.fullPath+'".');return n.name="NavigationDuplicated",n}function createNavigationCancelledError(e,a){return createRouterError(e,a,NavigationFailureType.cancelled,'Navigation cancelled from "'+e.fullPath+'" to "'+a.fullPath+'" with a new navigation.')}function createNavigationAbortedError(e,a){return createRouterError(e,a,NavigationFailureType.aborted,'Navigation aborted from "'+e.fullPath+'" to "'+a.fullPath+'" via a navigation guard.')}function createRouterError(e,a,n,i){var r=new Error(i);return r._isRouter=!0,r.from=e,r.to=a,r.type=n,r}var propertiesToLog=["params","query","hash"];function stringifyRoute(e){if(typeof e=="string")return e;if("path"in e)return e.path;var a={};return propertiesToLog.forEach(function(n){n in e&&(a[n]=e[n])}),JSON.stringify(a,null,2)}function isError(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function isNavigationFailure(e,a){return isError(e)&&e._isRouter&&(a==null||e.type===a)}function resolveAsyncComponents(e){return function(a,n,i){var r=!1,s=0,o=null;flatMapComponents(e,function(l,c,u,d){if(typeof l=="function"&&l.cid===void 0){r=!0,s++;var f=once$1(function(y){isESModule(y)&&(y=y.default),l.resolved=typeof y=="function"?y:_Vue.extend(y),u.components[d]=y,s--,s<=0&&i()}),h=once$1(function(y){var _="Failed to resolve async component "+d+": "+y;o||(o=isError(y)?y:new Error(_),i(o))}),m;try{m=l(f,h)}catch(y){h(y)}if(m)if(typeof m.then=="function")m.then(f,h);else{var v=m.component;v&&typeof v.then=="function"&&v.then(f,h)}}}),r||i()}}function flatMapComponents(e,a){return flatten(e.map(function(n){return Object.keys(n.components).map(function(i){return a(n.components[i],n.instances[i],n,i)})}))}function flatten(e){return Array.prototype.concat.apply([],e)}var hasSymbol$2=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function isESModule(e){return e.__esModule||hasSymbol$2&&e[Symbol.toStringTag]==="Module"}function once$1(e){var a=!1;return function(){for(var n=[],i=arguments.length;i--;)n[i]=arguments[i];if(!a)return a=!0,e.apply(this,n)}}var History=function(a,n){this.router=a,this.base=normalizeBase(n),this.current=START,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};History.prototype.listen=function(a){this.cb=a},History.prototype.onReady=function(a,n){this.ready?a():(this.readyCbs.push(a),n&&this.readyErrorCbs.push(n))},History.prototype.onError=function(a){this.errorCbs.push(a)},History.prototype.transitionTo=function(a,n,i){var r=this,s;try{s=this.router.match(a,this.current)}catch(l){throw this.errorCbs.forEach(function(c){c(l)}),l}var o=this.current;this.confirmTransition(s,function(){r.updateRoute(s),n&&n(s),r.ensureURL(),r.router.afterHooks.forEach(function(l){l&&l(s,o)}),r.ready||(r.ready=!0,r.readyCbs.forEach(function(l){l(s)}))},function(l){i&&i(l),l&&!r.ready&&(!isNavigationFailure(l,NavigationFailureType.redirected)||o!==START)&&(r.ready=!0,r.readyErrorCbs.forEach(function(c){c(l)}))})},History.prototype.confirmTransition=function(a,n,i){var r=this,s=this.current;this.pending=a;var o=function(y){!isNavigationFailure(y)&&isError(y)&&(r.errorCbs.length?r.errorCbs.forEach(function(_){_(y)}):console.error(y)),i&&i(y)},l=a.matched.length-1,c=s.matched.length-1;if(isSameRoute(a,s)&&l===c&&a.matched[l]===s.matched[c])return this.ensureURL(),o(createNavigationDuplicatedError(s,a));var u=resolveQueue(this.current.matched,a.matched),d=u.updated,f=u.deactivated,h=u.activated,m=[].concat(extractLeaveGuards(f),this.router.beforeHooks,extractUpdateHooks(d),h.map(function(y){return y.beforeEnter}),resolveAsyncComponents(h)),v=function(y,_){if(r.pending!==a)return o(createNavigationCancelledError(s,a));try{y(a,s,function(w){w===!1?(r.ensureURL(!0),o(createNavigationAbortedError(s,a))):isError(w)?(r.ensureURL(!0),o(w)):typeof w=="string"||typeof w=="object"&&(typeof w.path=="string"||typeof w.name=="string")?(o(createNavigationRedirectedError(s,a)),typeof w=="object"&&w.replace?r.replace(w):r.push(w)):_(w)})}catch(w){o(w)}};runQueue(m,v,function(){var y=extractEnterGuards(h),_=y.concat(r.router.resolveHooks);runQueue(_,v,function(){if(r.pending!==a)return o(createNavigationCancelledError(s,a));r.pending=null,n(a),r.router.app&&r.router.app.$nextTick(function(){handleRouteEntered(a)})})})},History.prototype.updateRoute=function(a){this.current=a,this.cb&&this.cb(a)},History.prototype.setupListeners=function(){},History.prototype.teardown=function(){this.listeners.forEach(function(a){a()}),this.listeners=[],this.current=START,this.pending=null};function normalizeBase(e){if(!e)if(inBrowser$1){var a=document.querySelector("base");e=a&&a.getAttribute("href")||"/",e=e.replace(/^https?:\/\/[^\/]+/,"")}else e="/";return e.charAt(0)!=="/"&&(e="/"+e),e.replace(/\/$/,"")}function resolveQueue(e,a){var n,i=Math.max(e.length,a.length);for(n=0;n0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var c=i.current,u=getLocation(i.base);i.current===START&&u===i._startLocation||i.transitionTo(u,function(d){o&&handleScroll(r,d,c,!0)})};window.addEventListener("popstate",l),this.listeners.push(function(){window.removeEventListener("popstate",l)})}},a.prototype.go=function(i){window.history.go(i)},a.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.ensureURL=function(i){if(getLocation(this.base)!==this.current.fullPath){var r=cleanPath(this.base+this.current.fullPath);i?pushState(r):replaceState(r)}},a.prototype.getCurrentLocation=function(){return getLocation(this.base)},a}(History);function getLocation(e){var a=window.location.pathname;return e&&a.toLowerCase().indexOf(e.toLowerCase())===0&&(a=a.slice(e.length)),(a||"/")+window.location.search+window.location.hash}var HashHistory=function(e){function a(n,i,r){e.call(this,n,i),!(r&&checkFallback(this.base))&&ensureSlash()}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.setupListeners=function(){var i=this;if(!(this.listeners.length>0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var u=i.current;!ensureSlash()||i.transitionTo(getHash(),function(d){o&&handleScroll(i.router,d,u,!0),supportsPushState||replaceHash(d.fullPath)})},c=supportsPushState?"popstate":"hashchange";window.addEventListener(c,l),this.listeners.push(function(){window.removeEventListener(c,l)})}},a.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.go=function(i){window.history.go(i)},a.prototype.ensureURL=function(i){var r=this.current.fullPath;getHash()!==r&&(i?pushHash(r):replaceHash(r))},a.prototype.getCurrentLocation=function(){return getHash()},a}(History);function checkFallback(e){var a=getLocation(e);if(!/^\/#/.test(a))return window.location.replace(cleanPath(e+"/#"+a)),!0}function ensureSlash(){var e=getHash();return e.charAt(0)==="/"?!0:(replaceHash("/"+e),!1)}function getHash(){var e=window.location.href,a=e.indexOf("#");return a<0?"":(e=e.slice(a+1),e)}function getUrl(e){var a=window.location.href,n=a.indexOf("#"),i=n>=0?a.slice(0,n):a;return i+"#"+e}function pushHash(e){supportsPushState?pushState(getUrl(e)):window.location.hash=e}function replaceHash(e){supportsPushState?replaceState(getUrl(e)):window.location.replace(getUrl(e))}var AbstractHistory=function(e){function a(n,i){e.call(this,n,i),this.stack=[],this.index=-1}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.push=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index+1).concat(l),o.index++,r&&r(l)},s)},a.prototype.replace=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index).concat(l),r&&r(l)},s)},a.prototype.go=function(i){var r=this,s=this.index+i;if(!(s<0||s>=this.stack.length)){var o=this.stack[s];this.confirmTransition(o,function(){var l=r.current;r.index=s,r.updateRoute(o),r.router.afterHooks.forEach(function(c){c&&c(o,l)})},function(l){isNavigationFailure(l,NavigationFailureType.duplicated)&&(r.index=s)})}},a.prototype.getCurrentLocation=function(){var i=this.stack[this.stack.length-1];return i?i.fullPath:"/"},a.prototype.ensureURL=function(){},a}(History),VueRouter=function(a){a===void 0&&(a={}),this.app=null,this.apps=[],this.options=a,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=createMatcher(a.routes||[],this);var n=a.mode||"hash";switch(this.fallback=n==="history"&&!supportsPushState&&a.fallback!==!1,this.fallback&&(n="hash"),inBrowser$1||(n="abstract"),this.mode=n,n){case"history":this.history=new HTML5History(this,a.base);break;case"hash":this.history=new HashHistory(this,a.base,this.fallback);break;case"abstract":this.history=new AbstractHistory(this,a.base);break}},prototypeAccessors$3={currentRoute:{configurable:!0}};VueRouter.prototype.match=function(a,n,i){return this.matcher.match(a,n,i)},prototypeAccessors$3.currentRoute.get=function(){return this.history&&this.history.current},VueRouter.prototype.init=function(a){var n=this;if(this.apps.push(a),a.$once("hook:destroyed",function(){var o=n.apps.indexOf(a);o>-1&&n.apps.splice(o,1),n.app===a&&(n.app=n.apps[0]||null),n.app||n.history.teardown()}),!this.app){this.app=a;var i=this.history;if(i instanceof HTML5History||i instanceof HashHistory){var r=function(o){var l=i.current,c=n.options.scrollBehavior,u=supportsPushState&&c;u&&"fullPath"in o&&handleScroll(n,o,l,!1)},s=function(o){i.setupListeners(),r(o)};i.transitionTo(i.getCurrentLocation(),s,s)}i.listen(function(o){n.apps.forEach(function(l){l._route=o})})}},VueRouter.prototype.beforeEach=function(a){return registerHook(this.beforeHooks,a)},VueRouter.prototype.beforeResolve=function(a){return registerHook(this.resolveHooks,a)},VueRouter.prototype.afterEach=function(a){return registerHook(this.afterHooks,a)},VueRouter.prototype.onReady=function(a,n){this.history.onReady(a,n)},VueRouter.prototype.onError=function(a){this.history.onError(a)},VueRouter.prototype.push=function(a,n,i){var r=this;if(!n&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.push(a,s,o)});this.history.push(a,n,i)},VueRouter.prototype.replace=function(a,n,i){var r=this;if(!n&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.replace(a,s,o)});this.history.replace(a,n,i)},VueRouter.prototype.go=function(a){this.history.go(a)},VueRouter.prototype.back=function(){this.go(-1)},VueRouter.prototype.forward=function(){this.go(1)},VueRouter.prototype.getMatchedComponents=function(a){var n=a?a.matched?a:this.resolve(a).route:this.currentRoute;return n?[].concat.apply([],n.matched.map(function(i){return Object.keys(i.components).map(function(r){return i.components[r]})})):[]},VueRouter.prototype.resolve=function(a,n,i){n=n||this.history.current;var r=normalizeLocation(a,n,i,this),s=this.match(r,n),o=s.redirectedFrom||s.fullPath,l=this.history.base,c=createHref(l,o,this.mode);return{location:r,route:s,href:c,normalizedTo:r,resolved:s}},VueRouter.prototype.getRoutes=function(){return this.matcher.getRoutes()},VueRouter.prototype.addRoute=function(a,n){this.matcher.addRoute(a,n),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},VueRouter.prototype.addRoutes=function(a){this.matcher.addRoutes(a),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(VueRouter.prototype,prototypeAccessors$3);function registerHook(e,a){return e.push(a),function(){var n=e.indexOf(a);n>-1&&e.splice(n,1)}}function createHref(e,a,n){var i=n==="hash"?"#"+a:a;return e?cleanPath(e+"/"+i):i}VueRouter.install=install$3,VueRouter.version="3.5.1",VueRouter.isNavigationFailure=isNavigationFailure,VueRouter.NavigationFailureType=NavigationFailureType,VueRouter.START_LOCATION=START,inBrowser$1&&window.Vue&&window.Vue.use(VueRouter);var script$9={};const __vue_script__$9=script$9;var __vue_render__$b=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.login.arl.question")))]),e._v(" "),e._m(0),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome (Easy way)")]),e._v(" "),e._m(1),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome")]),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Firefox")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$b=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` + Deezer keeps track of login session by using a cookie called ARL.`),n("br"),e._v(` + deemix uses that cookie to get the metadata that it needs to download the tracks from Deezer.`),n("br"),e._v(` + ARLs last for 3 months, after that Deezer asks you to log in again. The same method is used in deemix`),n("br"),e._v(` Following one of the guides below you can get your own account ARL. - `)])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("ul",{staticClass:"mb-2 text-base"},[a("li",[e._v("Open Chrome")]),e._v(" "),a("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),a("li",[e._v('Click on the little "lock" icon next the URL')]),e._v(" "),a("li",[e._v("Click on Cookies > deezer.com > cookies > arl")]),e._v(" "),a("li",[e._v("Select the string next to Content, and Copy")]),e._v(" "),a("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("ul",{staticClass:"mb-2 text-base"},[a("li",[e._v("Open Chrome")]),e._v(" "),a("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),a("li",[e._v("After logging in press F12 to open up Developer Tools")]),e._v(" "),a("li",[e._v("Go under the Application tab (if you don't see it click the double arrow)")]),e._v(" "),a("li",[e._v("Open the cookie dropdown")]),e._v(" "),a("li",[e._v("Select www.deezer.com")]),e._v(" "),a("li",[e._v("Find the `arl` cookie (It should be 192 chars long) ")]),e._v(" "),a("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v("Here's a "),a("a",{attrs:{href:"https://youtu.be/O6PRT47_yds",target:"_blank"}},[e._v("video guide")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("ul",{staticClass:"mb-2 text-base"},[a("li",[e._v("Open Firefox")]),e._v(" "),a("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),a("li",[e._v("Afer logging in press F12 to open up Developer Tools")]),e._v(" "),a("li",[e._v("Go under the Storage tab (if you don't see it click the double arrow)")]),e._v(" "),a("li",[e._v("Open the cookie dropdown")]),e._v(" "),a("li",[e._v("Select www.deezer.com")]),e._v(" "),a("li",[e._v("Find the `arl` cookie (It should be 192 chars long)")]),e._v(" "),a("li",[e._v("Make sure only copy the value and not the entire cookie")]),e._v(" "),a("li",[e._v("That's your ARL, now you can use it in the app")])])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_module_identifier__$c=void 0,__vue_is_functional_template__$c=!1;var InfoArl=normalizeComponent_1({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,void 0,void 0),script$b={};const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.spotify.question")))]),e._v(" "),a("p",{staticClass:"mb-2 text-base"},[e._v(` + `)])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v('Click on the little "lock" icon next the URL')]),e._v(" "),n("li",[e._v("Click on Cookies > deezer.com > cookies > arl")]),e._v(" "),n("li",[e._v("Select the string next to Content, and Copy")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("After logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Application tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long) ")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Here's a "),n("a",{attrs:{href:"https://youtu.be/O6PRT47_yds",target:"_blank"}},[e._v("video guide")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Firefox")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("Afer logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Storage tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long)")]),e._v(" "),n("li",[e._v("Make sure only copy the value and not the entire cookie")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])}];const __vue_inject_styles__$b=void 0,__vue_scope_id__$b=void 0,__vue_module_identifier__$b=void 0,__vue_is_functional_template__$b=!1;var InfoArl=normalizeComponent_1({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$9,__vue_scope_id__$b,__vue_is_functional_template__$b,__vue_module_identifier__$b,void 0,void 0),script$a={};const __vue_script__$a=script$a;var __vue_render__$c=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.spotify.question")))]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v(` "Spotify Features" is a set of features that lets you convert Spotify tracks and albums links into Deezer ones. If you provide a Spotify Playlist link the app will autmatically convert all the links of the tracks inside it into deezer tracks. Enabling this set of features will let you see your public Spotify playlists in the favorites tab as well. - `)]),e._v(" "),a("p",{staticClass:"mb-2 text-base"},[e._v("For security reasons you will need to provide your own Client ID and Secret")]),e._v(" "),a("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Client ID and Secret?")]),e._v(" "),e._m(0),e._v(" "),e._m(1),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),a("p",{staticClass:"mb-2 text-base"},[e._v("Now you can copy-paste those results in the appropriate fields in the settings.")]),e._v(" "),a("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Spotify Username?")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$d=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v("Connect to "),a("a",{attrs:{href:"https://developer.spotify.com/dashboard",target:"_blank"}},[e._v("Spotify for Developers's Dashboard")]),e._v(" and login with your Spotify account.")])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v(` - Click on "Create an App".`),a("br"),e._v(" "),a("img",{attrs:{src:"https://i.imgur.com/YFz7rHj.png",alt:"Create an App button on Spotify for Developers's Dashboard"}})])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v(` - Fill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.`),a("br"),e._v(" "),a("img",{attrs:{src:"https://i.imgur.com/A9cvDkK.png",alt:"Create an app form"}})])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v(` - Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),a("br"),e._v(" "),a("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),a("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$d=void 0,__vue_scope_id__$d=void 0,__vue_module_identifier__$d=void 0,__vue_is_functional_template__$d=!1;var InfoSpotifyFeatures=normalizeComponent_1({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$b,__vue_scope_id__$d,__vue_is_functional_template__$d,__vue_module_identifier__$d,void 0,void 0),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var n=hasOwnProperty$2.call(e,symToStringTag),a=e[symToStringTag];try{e[symToStringTag]=void 0;var i=!0}catch(s){}var r=nativeObjectToString.call(e);return i&&(n?e[symToStringTag]=a:delete e[symToStringTag]),r}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,n){for(var a=-1,i=e==null?0:e.length,r=Array(i);++a-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,n){var a=typeof e;return n=n??MAX_SAFE_INTEGER,!!n&&(a=="number"||a!="symbol"&&reIsUint.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var n=e&&e.constructor,a=typeof n=="function"&&n.prototype||objectProto$3;return e===a}function baseTimes(e,n){for(var a=-1,i=Array(e);++a-1}function listCacheSet(e,n){var a=this.__data__,i=assocIndexOf(a,e);return i<0?(++this.size,a.push([e,n])):a[i][1]=n,this}function ListCache(e){var n=-1,a=e==null?0:e.length;for(this.clear();++nl))return!1;var u=s.get(e),d=s.get(n);if(u&&d)return u==n&&d==e;var f=-1,h=!0,m=a&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,n),s.set(n,e);++f=n||C<0||f&&N>=s}function w(){var z=now();if(_(z))return A(z);l=setTimeout(w,y(z))}function A(z){return l=void 0,h&&i?m(z):(i=r=void 0,o)}function S(){l!==void 0&&clearTimeout(l),u=0,i=c=r=l=void 0}function M(){return l===void 0?o:A(now())}function P(){var z=now(),C=_(z);if(i=arguments,r=this,c=z,C){if(l===void 0)return v(c);if(f)return clearTimeout(l),l=setTimeout(w,n),m(c)}return l===void 0&&(l=setTimeout(w,n)),o}return P.cancel=S,P.flush=M,P}function arrayIncludesWith(e,n,a){for(var i=-1,r=e==null?0:e.length;++in||s&&o&&c&&!l&&!u||i&&o&&c||!a&&c||!r)return 1;if(!i&&!s&&!u&&e=l)return c;var u=a[i];return c*(u=="desc"?-1:1)}}return e.index-n.index}function baseOrderBy(e,n,a){n.length?n=arrayMap(n,function(s){return isArray$2(s)?function(o){return baseGet(o,s.length===1?s[0]:s)}:s}):n=[identity$1];var i=-1;n=arrayMap(n,baseUnary(baseIteratee));var r=baseMap(e,function(s,o,l){var c=arrayMap(n,function(u){return u(s)});return{criteria:c,index:++i,value:s}});return baseSortBy(r,function(s,o){return compareMultiple(s,o,a)})}function orderBy(e,n,a,i){return e==null?[]:(isArray$2(n)||(n=n==null?[]:[n]),a=i?void 0:a,isArray$2(a)||(a=a==null?[]:[a]),baseOrderBy(e,n,a))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,n,a){var i=-1,r=arrayIncludes,s=e.length,o=!0,l=[],c=l;if(a)o=!1,r=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var u=n?null:createSet(e);if(u)return setToArray(u);o=!1,r=cacheHas,c=new SetCache}else c=n?[]:l;e:for(;++i{socket.on("show_artist",i=>{socket.off("show_artist"),n(i)})})}function standardizeData(e,n){if(e.hasLoaded){const{data:a}=e,i=[];for(const r of a){let s=n(r);i.push(s)}return{data:i,hasLoaded:e.hasLoaded}}else return null}var script$c=defineComponent({components:{BaseTabs,BaseTab},setup(e,n){const a=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>a.artistReleases[a.currentTab])}),i=computed(()=>n.root.$router.currentRoute.params.id),r=ref$2(!1);getArtistData(unref(i)).then(o=>{r.value=!0;const l={data:[o],hasLoaded:unref(r)},{data:[{artistName:c,artistPictureXL:u,artistReleases:d}]}=standardizeData(l,formatArtistData);Object.assign(a,{artistName:c,artistPicture:u,artistReleases:d,currentTab:Object.keys(d)[0]})}).catch(o=>console.error(o));const s=computed(()=>{if(!unref(r))return[];let o=a.sortKey;return o==="releaseTracksNumber"&&(o=l=>new Number(l.releaseTracksNumber)),orderBy(a.currentRelease,o,a.sortOrder)});return{...toRefs(a),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(i)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${a.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),n=this.$tc.bind(this);return{head:[{title:n("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:n("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$c=script$c;var __vue_render__$e=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"relative image-header"},[a("header",{staticClass:"flex items-center",style:e.headerStyle},[a("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),a("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[a("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),a("BaseTabs",e._l(e.artistReleases,function(i,r){return a("BaseTab",{key:r,class:{active:e.currentTab===r},on:{click:function(s){e.currentTab=r}}},[e._v(` + `)]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("For security reasons you will need to provide your own Client ID and Secret")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Client ID and Secret?")]),e._v(" "),e._m(0),e._v(" "),e._m(1),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("Now you can copy-paste those results in the appropriate fields in the settings.")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Spotify Username?")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$c=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Connect to "),n("a",{attrs:{href:"https://developer.spotify.com/dashboard",target:"_blank"}},[e._v("Spotify for Developers's Dashboard")]),e._v(" and login with your Spotify account.")])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` + Click on "Create an App".`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/YFz7rHj.png",alt:"Create an App button on Spotify for Developers's Dashboard"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` + Fill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/A9cvDkK.png",alt:"Create an app form"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` + Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),n("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_module_identifier__$c=void 0,__vue_is_functional_template__$c=!1;var InfoSpotifyFeatures=normalizeComponent_1({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,void 0,void 0),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var a=hasOwnProperty$2.call(e,symToStringTag),n=e[symToStringTag];try{e[symToStringTag]=void 0;var i=!0}catch(s){}var r=nativeObjectToString.call(e);return i&&(a?e[symToStringTag]=n:delete e[symToStringTag]),r}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,a){for(var n=-1,i=e==null?0:e.length,r=Array(i);++n-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,a){var n=typeof e;return a=a??MAX_SAFE_INTEGER,!!a&&(n=="number"||n!="symbol"&&reIsUint.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var a=e&&e.constructor,n=typeof a=="function"&&a.prototype||objectProto$3;return e===n}function baseTimes(e,a){for(var n=-1,i=Array(e);++n-1}function listCacheSet(e,a){var n=this.__data__,i=assocIndexOf(n,e);return i<0?(++this.size,n.push([e,a])):n[i][1]=a,this}function ListCache(e){var a=-1,n=e==null?0:e.length;for(this.clear();++al))return!1;var u=s.get(e),d=s.get(a);if(u&&d)return u==a&&d==e;var f=-1,h=!0,m=n&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,a),s.set(a,e);++f=a||C<0||f&&N>=s}function w(){var z=now();if(_(z))return A(z);l=setTimeout(w,y(z))}function A(z){return l=void 0,h&&i?m(z):(i=r=void 0,o)}function S(){l!==void 0&&clearTimeout(l),u=0,i=c=r=l=void 0}function M(){return l===void 0?o:A(now())}function P(){var z=now(),C=_(z);if(i=arguments,r=this,c=z,C){if(l===void 0)return v(c);if(f)return clearTimeout(l),l=setTimeout(w,a),m(c)}return l===void 0&&(l=setTimeout(w,a)),o}return P.cancel=S,P.flush=M,P}function arrayIncludesWith(e,a,n){for(var i=-1,r=e==null?0:e.length;++ia||s&&o&&c&&!l&&!u||i&&o&&c||!n&&c||!r)return 1;if(!i&&!s&&!u&&e=l)return c;var u=n[i];return c*(u=="desc"?-1:1)}}return e.index-a.index}function baseOrderBy(e,a,n){a.length?a=arrayMap(a,function(s){return isArray$2(s)?function(o){return baseGet(o,s.length===1?s[0]:s)}:s}):a=[identity$1];var i=-1;a=arrayMap(a,baseUnary(baseIteratee));var r=baseMap(e,function(s,o,l){var c=arrayMap(a,function(u){return u(s)});return{criteria:c,index:++i,value:s}});return baseSortBy(r,function(s,o){return compareMultiple(s,o,n)})}function orderBy(e,a,n,i){return e==null?[]:(isArray$2(a)||(a=a==null?[]:[a]),n=i?void 0:n,isArray$2(n)||(n=n==null?[]:[n]),baseOrderBy(e,a,n))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,a,n){var i=-1,r=arrayIncludes,s=e.length,o=!0,l=[],c=l;if(n)o=!1,r=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var u=a?null:createSet(e);if(u)return setToArray(u);o=!1,r=cacheHas,c=new SetCache}else c=a?[]:l;e:for(;++i{socket.on("show_artist",i=>{socket.off("show_artist"),a(i)})})}function standardizeData(e,a){if(e.hasLoaded){const{data:n}=e,i=[];for(const r of n){let s=a(r);i.push(s)}return{data:i,hasLoaded:e.hasLoaded}}else return null}var script$b=defineComponent({components:{BaseTabs,BaseTab},setup(e,a){const n=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>n.artistReleases[n.currentTab])}),i=computed(()=>a.root.$router.currentRoute.params.id),r=ref$2(!1);getArtistData(unref(i)).then(o=>{r.value=!0;const l={data:[o],hasLoaded:unref(r)},{data:[{artistName:c,artistPictureXL:u,artistReleases:d}]}=standardizeData(l,formatArtistData);Object.assign(n,{artistName:c,artistPicture:u,artistReleases:d,currentTab:Object.keys(d)[0]})}).catch(o=>console.error(o));const s=computed(()=>{if(!unref(r))return[];let o=n.sortKey;return o==="releaseTracksNumber"&&(o=l=>new Number(l.releaseTracksNumber)),orderBy(n.currentRelease,o,n.sortOrder)});return{...toRefs(n),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(i)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${n.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),a=this.$tc.bind(this);return{head:[{title:a("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:a("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative image-header"},[n("header",{staticClass:"flex items-center",style:e.headerStyle},[n("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("BaseTabs",e._l(e.artistReleases,function(i,r){return n("BaseTab",{key:r,class:{active:e.currentTab===r},on:{click:function(s){e.currentTab=r}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+r,2))+` - `)])}),1),e._v(" "),a("table",{staticClass:"table"},[a("thead",[a("tr",e._l(e.head,function(i){return a("th",{key:i.title,staticClass:"uppercase-first-letter",class:{"sort-asc":i.sortKey===e.sortKey&&e.sortOrder=="asc","sort-desc":i.sortKey===e.sortKey&&e.sortOrder=="desc",sortable:i.sortKey,clickable:i.sortKey},style:{width:i.width?i.width:"auto"},on:{click:function(r){i.sortKey&&e.sortBy(i.sortKey)}}},[e._v(` + `)])}),1),e._v(" "),n("table",{staticClass:"table"},[n("thead",[n("tr",e._l(e.head,function(i){return n("th",{key:i.title,staticClass:"uppercase-first-letter",class:{"sort-asc":i.sortKey===e.sortKey&&e.sortOrder=="asc","sort-desc":i.sortKey===e.sortKey&&e.sortOrder=="desc",sortable:i.sortKey,clickable:i.sortKey},style:{width:i.width?i.width:"auto"},on:{click:function(r){i.sortKey&&e.sortBy(i.sortKey)}}},[e._v(` `+e._s(i.title)+` - `)])}),0)]),e._v(" "),a("tbody",e._l(e.sortedData,function(i){return a("tr",{key:i.releaseID},[a("RouterLink",{staticClass:"flex items-center clickable",attrs:{tag:"td","data-cm-link":i.releaseLink,to:{name:"Album",params:{id:i.releaseID}}}},[a("img",{staticClass:"mr-4 rounded coverart",staticStyle:{width:"56px",height:"56px"},attrs:{src:i.releaseCover}}),e._v(" "),i.isReleaseExplicit?a("i",{staticClass:"material-icons title-icon title-icon--explicit"},[e._v("explicit")]):e._e(),e._v(" "),a("div",[a("span",{staticClass:"flex hover:text-primary"},[e._v(` + `)])}),0)]),e._v(" "),n("tbody",e._l(e.sortedData,function(i){return n("tr",{key:i.releaseID},[n("RouterLink",{staticClass:"flex items-center clickable",attrs:{tag:"td","data-cm-link":i.releaseLink,to:{name:"Album",params:{id:i.releaseID}}}},[n("img",{staticClass:"mr-4 rounded coverart",staticStyle:{width:"56px",height:"56px"},attrs:{src:i.releaseCover}}),e._v(" "),i.isReleaseExplicit?n("i",{staticClass:"material-icons title-icon title-icon--explicit"},[e._v("explicit")]):e._e(),e._v(" "),n("div",[n("span",{staticClass:"flex hover:text-primary"},[e._v(` `+e._s(i.releaseTitle)+` - `),e.checkNewRelease(i.releaseDate)?a("i",{staticClass:"material-icons title-icon title-icon--right title-icon--new"},[e._v(` + `),e.checkNewRelease(i.releaseDate)?n("i",{staticClass:"material-icons title-icon title-icon--right title-icon--new"},[e._v(` fiber_new - `)]):e._e()]),e._v(" "),a("span",{directives:[{name:"show",rawName:"v-show",value:e.currentTab==="all",expression:"currentTab === 'all'"}],staticClass:"block text-xs opacity-50 uppercase-first-letter"},[e._v(` + `)]):e._e()]),e._v(" "),n("span",{directives:[{name:"show",rawName:"v-show",value:e.currentTab==="all",expression:"currentTab === 'all'"}],staticClass:"block text-xs opacity-50 uppercase-first-letter"},[e._v(` `+e._s(e.$tc("globals.listTabs."+i.releaseType))+` - `)])])]),e._v(" "),a("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(i.releaseDate))]),e._v(" "),a("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(i.releaseTracksNumber))]),e._v(" "),a("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":i.releaseLink},on:{click:function(r){return r.stopPropagation(),e.sendAddToQueue(i.releaseLink)}}},[a("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)}),0)])],1)},__vue_staticRenderFns__$e=[];const __vue_inject_styles__$e=void 0,__vue_scope_id__$e=void 0,__vue_module_identifier__$e=void 0,__vue_is_functional_template__$e=!1;var Artist=normalizeComponent_1({render:__vue_render__$e,staticRenderFns:__vue_staticRenderFns__$e},__vue_inject_styles__$e,__vue_script__$c,__vue_scope_id__$e,__vue_is_functional_template__$e,__vue_module_identifier__$e,void 0,void 0);let chartsData={},cached$1=!1;function getChartsData(){return cached$1?chartsData:(socket.emit("get_charts_data"),new Promise((e,n)=>{socket.on("init_charts",a=>{chartsData=a,cached$1=!0,socket.off("init_charts"),e(a)})}))}var script$d={methods:{previewMouseEnter,previewMouseLeave}};const __vue_script__$d=script$d;var __vue_render__$f=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(` + `)])])]),e._v(" "),n("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(i.releaseDate))]),e._v(" "),n("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(i.releaseTracksNumber))]),e._v(" "),n("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":i.releaseLink},on:{click:function(r){return r.stopPropagation(),e.sendAddToQueue(i.releaseLink)}}},[n("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)}),0)])],1)},__vue_staticRenderFns__$d=[];const __vue_inject_styles__$d=void 0,__vue_scope_id__$d=void 0,__vue_module_identifier__$d=void 0,__vue_is_functional_template__$d=!1;var Artist=normalizeComponent_1({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$b,__vue_scope_id__$d,__vue_is_functional_template__$d,__vue_module_identifier__$d,void 0,void 0);let chartsData={},cached$1=!1;function getChartsData(){return cached$1?chartsData:(socket.emit("get_charts_data"),new Promise((e,a)=>{socket.on("init_charts",n=>{chartsData=n,cached$1=!0,socket.off("init_charts"),e(n)})}))}var script$c={methods:{previewMouseEnter,previewMouseLeave}};const __vue_script__$c=script$c;var __vue_render__$e=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(` play_arrow -`)])},__vue_staticRenderFns__$f=[];const __vue_inject_styles__$f=void 0,__vue_scope_id__$f=void 0,__vue_module_identifier__$f=void 0,__vue_is_functional_template__$f=!1;var PreviewControls=normalizeComponent_1({render:__vue_render__$f,staticRenderFns:__vue_staticRenderFns__$f},__vue_inject_styles__$f,__vue_script__$d,__vue_scope_id__$f,__vue_is_functional_template__$f,__vue_module_identifier__$f,void 0,void 0),script$e={components:{PreviewControls},data(){return{country:"",id:0,countries:[],chart:[]}},computed:{worldwideRelease(){return this.countries.filter(n=>n.title==="Worldwide")[0]}},async created(){socket.on("setChartTracks",this.setTracklist),this.$on("hook:destroyed",()=>{socket.off("setChartTracks")});let e=await getChartsData(),n;e=e.filter(a=>(a.title==="Worldwide"&&(n=a),a.title!=="Worldwide")),e.unshift(n),this.initCharts(e)},methods:{convertDuration,playPausePreview,addToQueue(e){e.stopPropagation(),sendAddToQueue(e.currentTarget.dataset.link)},getTrackList(e){document.getElementById("content").scrollTo(0,0);const{currentTarget:{dataset:{title:n}},currentTarget:{dataset:{id:a}}}=e;this.country=n,localStorage.setItem("chart",this.country),this.id=a,socket.emit("getChartTracks",this.id)},setTracklist(e){this.chart=e},onChangeCountry(){this.country="",this.id=0},initCharts(e){if(this.countries=e,this.country=localStorage.getItem("chart")||"",!this.country)return;let n=0;for(;na.title==="Worldwide")[0]}},async created(){socket.on("setChartTracks",this.setTracklist),this.$on("hook:destroyed",()=>{socket.off("setChartTracks")});let e=await getChartsData(),a;e=e.filter(n=>(n.title==="Worldwide"&&(a=n),n.title!=="Worldwide")),e.unshift(a),this.initCharts(e)},methods:{convertDuration,playPausePreview,addToQueue(e){e.stopPropagation(),sendAddToQueue(e.currentTarget.dataset.link)},getTrackList(e){document.getElementById("content").scrollTo(0,0);const{currentTarget:{dataset:{title:a}},currentTarget:{dataset:{id:n}}}=e;this.country=a,localStorage.setItem("chart",this.country),this.id=n,socket.emit("getChartTracks",this.id)},setTracklist(e){this.chart=e},onChangeCountry(){this.country="",this.id=0},initCharts(e){if(this.countries=e,this.country=localStorage.getItem("chart")||"",!this.country)return;let a=0;for(;a{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$h=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,n){const a=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:i,favoriteAlbums:r,favoriteSpotifyPlaylists:s,favoritePlaylists:o,favoriteTracks:l,isRefreshingFavorites:c,refreshFavorites:u}=useFavorites();return computed(()=>n.refs.reloadButton),watch(c,(d,f)=>{!(f&&!d)||toast(n.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(a),tracks:l,albums:r,artists:i,playlists:o,spotifyPlaylists:s,refreshFavorites:u,isRefreshingFavorites:c}},computed:{activeTabEmpty(){return this.getActiveRelease()?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let n=this.getLovedTracksPlaylist();sendAddToQueue(n.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let n;switch(e){case"playlist":n=this.playlists;break;case"album":n=this.albums;break;case"artist":n=this.artists;break;case"track":n=this.tracks;break}return n},getTabLength(e=this.activeTab){return this[`${e}s`]?.length||0},getLovedTracksPlaylist(){let e=this.playlists.filter(n=>n.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(` + `)])])],1)}),0)])])])},__vue_staticRenderFns__$f=[];const __vue_inject_styles__$f=void 0,__vue_scope_id__$f=void 0,__vue_module_identifier__$f=void 0,__vue_is_functional_template__$f=!1;var Charts=normalizeComponent_1({render:__vue_render__$f,staticRenderFns:__vue_staticRenderFns__$f},__vue_inject_styles__$f,__vue_script__$d,__vue_scope_id__$f,__vue_is_functional_template__$f,__vue_module_identifier__$f,void 0,void 0),script$e={computed:{...mapGetters(["getErrors"]),title(){return`${this.getErrors.artist} - ${this.getErrors.title}`},errors(){return this.getErrors.errors}}};const __vue_script__$e=script$e;var __vue_render__$g=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("errors.title",{name:e.title})))]),e._v(" "),n("table",{staticClass:"table table--tracklist"},[n("tr",[n("th",[e._v("ID")]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.error",1)))])]),e._v(" "),e._l(e.errors,function(i){return n("tr",{key:i.data.id},[n("td",[e._v(e._s(i.data.id))]),e._v(" "),n("td",[e._v(e._s(i.data.artist))]),e._v(" "),n("td",[e._v(e._s(i.data.title))]),e._v(" "),n("td",[e._v(e._s(i.errid?e.$t("errors.ids."+i.errid):i.message))])])})],2)])},__vue_staticRenderFns__$g=[];const __vue_inject_styles__$g=void 0,__vue_scope_id__$g=void 0,__vue_module_identifier__$g=void 0,__vue_is_functional_template__$g=!1;var Errors=normalizeComponent_1({render:__vue_render__$g,staticRenderFns:__vue_staticRenderFns__$g},__vue_inject_styles__$g,__vue_script__$e,__vue_scope_id__$g,__vue_is_functional_template__$g,__vue_module_identifier__$g,void 0,void 0),script$f={inheritAttrs:!1,props:{cover:{type:String,reqired:!0},isRounded:{type:Boolean,required:!1},isCircle:{type:Boolean,required:!1},link:{type:String,reqired:!0}}};const __vue_script__$f=script$f;var __vue_render__$h=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative cover-container group"},[n("img",{staticClass:"block w-full opacity-100 coverart",class:{rounded:e.isRounded,"rounded-full":e.isCircle},attrs:{"aria-hidden":"true",src:e.cover}}),e._v(" "),n("button",e._g({staticClass:"absolute p-0 text-center bg-black border-0 rounded-full opacity-0 download_overlay hover:bg-primary",attrs:{role:"button","aria-label":"download","data-link":e.link,tabindex:"0"}},e.$listeners),[n("i",{staticClass:"text-white cursor-pointer material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])])},__vue_staticRenderFns__$h=[];const __vue_inject_styles__$h=function(e){!e||e("data-v-5a73b889_0",{source:".cover-container[data-v-5a73b889]{width:156px;height:156px;margin-bottom:10px}.cover-container .coverart[data-v-5a73b889]{backface-visibility:hidden;transition:.5s ease;height:auto}.cover-container .download_overlay[data-v-5a73b889]{top:50%;left:50%;transform:translate(-50%,-50%);transition:.5s ease;opacity:0;min-width:2rem;height:2.75rem;text-align:center}.cover-container .download_overlay i[data-v-5a73b889]{padding:.625rem}.cover-container .download_overlay[data-v-5a73b889]:focus{opacity:1}.cover-container:hover .coverart[data-v-5a73b889]{opacity:.75}.cover-container:hover .download_overlay[data-v-5a73b889]{opacity:1;border:0}",map:void 0,media:void 0})},__vue_scope_id__$h="data-v-5a73b889",__vue_module_identifier__$h=void 0,__vue_is_functional_template__$h=!1;var CoverContainer=normalizeComponent_1({render:__vue_render__$h,staticRenderFns:__vue_staticRenderFns__$h},__vue_inject_styles__$h,__vue_script__$f,__vue_scope_id__$h,__vue_is_functional_template__$h,__vue_module_identifier__$h,browser,void 0);const favoriteArtists=ref$2([]),favoriteAlbums=ref$2([]),favoriteSpotifyPlaylists=ref$2([]),favoritePlaylists=ref$2([]),favoriteTracks=ref$2([]),isRefreshingFavorites=ref$2(!1);store.getters.isLoggedIn&&refreshFavorites({isInitial:!0});function refreshFavorites({isInitial:e=!1}){e||(isRefreshingFavorites.value=!0),socket.emit("get_favorites_data"),store.getters.isLoggedWithSpotify&&socket.emit("update_userSpotifyPlaylists",store.getters.getSpotifyUser.id)}function useFavorites(){return{favoriteArtists,favoriteAlbums,favoriteSpotifyPlaylists,favoritePlaylists,favoriteTracks,isRefreshingFavorites,refreshFavorites}}function setAllFavorites(e){const{tracks:a,albums:n,artists:i,playlists:r}=e;favoriteArtists.value=i,favoriteAlbums.value=n,favoritePlaylists.value=r,favoriteTracks.value=a}socket.on("updated_userFavorites",e=>{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$g=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,a){const n=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:i,favoriteAlbums:r,favoriteSpotifyPlaylists:s,favoritePlaylists:o,favoriteTracks:l,isRefreshingFavorites:c,refreshFavorites:u}=useFavorites();return computed(()=>a.refs.reloadButton),watch(c,(d,f)=>{!(f&&!d)||toast(a.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(n),tracks:l,albums:r,artists:i,playlists:o,spotifyPlaylists:s,refreshFavorites:u,isRefreshingFavorites:c}},computed:{activeTabEmpty(){return this.getActiveRelease()?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let a=this.getLovedTracksPlaylist();sendAddToQueue(a.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let a;switch(e){case"playlist":a=this.playlists;break;case"album":a=this.albums;break;case"artist":a=this.artists;break;case"track":a=this.tracks;break}return a},getTabLength(e=this.activeTab){return this[`${e}s`]?.length||0},getLovedTracksPlaylist(){let e=this.playlists.filter(a=>a.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$g=script$g;var __vue_render__$i=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(` `+e._s(e.$t("favorites.title"))+` - `),a("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{role:"button","aria-label":"reload"},on:{click:e.refreshFavorites}},[a("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),a("BaseTabs",e._l(e.tabs,function(i){return a("BaseTab",{key:i,class:{active:e.activeTab===i},on:{click:function(r){e.activeTab=i}}},[e._v(` + `),n("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{role:"button","aria-label":"reload"},on:{click:e.refreshFavorites}},[n("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),n("BaseTabs",e._l(e.tabs,function(i){return n("BaseTab",{key:i,class:{active:e.activeTab===i},on:{click:function(r){e.activeTab=i}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+i,2))+` - `)])}),1),e._v(" "),e.activeTabEmpty?e._e():a("button",{staticClass:"btn btn-primary",staticStyle:{"margin-bottom":"2rem"},on:{click:e.downloadAllOfType}},[e._v(` + `)])}),1),e._v(" "),e.activeTabEmpty?e._e():n("button",{staticClass:"btn btn-primary",staticStyle:{"margin-bottom":"2rem"},on:{click:e.downloadAllOfType}},[e._v(` `+e._s(e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.activeTab+"N",e.getTabLength())}))+` - `)]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="playlist",expression:"activeTab === 'playlist'"}]},[e.playlists.length==0?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e._v(" "),e.playlists.length>0||e.spotifyPlaylists>0?a("div",{staticClass:"release-grid"},[e._l(e.playlists,function(i){return a("div",{key:i.id,staticClass:"release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.id}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `)]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="playlist",expression:"activeTab === 'playlist'"}]},[e.playlists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e._v(" "),e.playlists.length>0||e.spotifyPlaylists>0?n("div",{staticClass:"release-grid"},[e._l(e.playlists,function(i){return n("div",{key:i.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` `+e._s(e.$t("globals.by",{artist:i.creator.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` - `)])],1)}),e._v(" "),e._l(e.spotifyPlaylists,function(i){return a("div",{key:i.id,staticClass:"release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Spotify Playlist",params:{id:i.id}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `)])],1)}),e._v(" "),e._l(e.spotifyPlaylists,function(i){return n("div",{key:i.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Spotify Playlist",params:{id:i.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` `+e._s(e.$t("globals.by",{artist:i.creator.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` - `)])],1)})],2):e._e()]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="album",expression:"activeTab === 'album'"}]},[e.albums.length==0?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e._v(" "),e.albums.length>0?a("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return a("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:i.id}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.cover_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1):e._e()]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="artist",expression:"activeTab === 'artist'"}]},[e.artists.length==0?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e._v(" "),e.artists.length>0?a("div",{staticClass:"release-grid"},e._l(e.artists,function(i){return a("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Artist",params:{id:i.id}}}},[a("CoverContainer",{attrs:{"is-circle":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.name))])],1)}),1):e._e()]),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="track",expression:"activeTab === 'track'"}]},[e.tracks.length==0?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e._v(" "),e.tracks.length>0?a("table",{staticClass:"table"},e._l(e.tracks,function(i){return a("tr",{staticClass:"track_row"},[a("td",{staticClass:"p-3 text-center cursor-default",class:{first:i.position===1}},[e._v(` + `)])],1)})],2):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="album",expression:"activeTab === 'album'"}]},[e.albums.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e._v(" "),e.albums.length>0?n("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:i.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.cover_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="artist",expression:"activeTab === 'artist'"}]},[e.artists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e._v(" "),e.artists.length>0?n("div",{staticClass:"release-grid"},e._l(e.artists,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Artist",params:{id:i.id}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.name))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="track",expression:"activeTab === 'track'"}]},[e.tracks.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e._v(" "),e.tracks.length>0?n("table",{staticClass:"table"},e._l(e.tracks,function(i){return n("tr",{staticClass:"track_row"},[n("td",{staticClass:"p-3 text-center cursor-default",class:{first:i.position===1}},[e._v(` `+e._s(i.position)+` - `)]),e._v(" "),a("td",[a("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.preview},on:{click:e.playPausePreview}},[i.preview?a("PreviewControls"):e._e(),e._v(" "),a("img",{staticClass:"rounded coverart",attrs:{src:i.album.cover_small}})],1)]),e._v(" "),a("td",{staticClass:"table__cell--large"},[e._v(` + `)]),e._v(" "),n("td",[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.preview},on:{click:e.playPausePreview}},[i.preview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:i.album.cover_small}})],1)]),e._v(" "),n("td",{staticClass:"table__cell--large"},[e._v(` `+e._s(i.title+(i.title_version&&i.title.indexOf(i.title_version)==-1?" "+i.title_version:""))+` - `)]),e._v(" "),a("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artist.id}}}},[e._v(` + `)]),e._v(" "),n("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artist.id}}}},[e._v(` `+e._s(i.artist.name)+` - `)]),e._v(" "),a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:i.album.id}}}},[e._v(` + `)]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:i.album.id}}}},[e._v(` `+e._s(i.album.title)+` - `)]),e._v(" "),a("td",{staticClass:"table__cell--small"},[e._v(` + `)]),e._v(" "),n("td",{staticClass:"table__cell--small"},[e._v(` `+e._s(e.convertDuration(i.duration))+` - `)]),e._v(" "),a("td",{staticClass:"cursor-pointer group",attrs:{"data-link":i.link,role:"button","aria-label":"download"},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[a("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` + `)]),e._v(" "),n("td",{staticClass:"cursor-pointer group",attrs:{"data-link":i.link,role:"button","aria-label":"download"},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` get_app - `)])])])],1)}),0):e._e()])],1)},__vue_staticRenderFns__$j=[];const __vue_inject_styles__$j=void 0,__vue_scope_id__$j=void 0,__vue_module_identifier__$j=void 0,__vue_is_functional_template__$j=!1;var Favorites=normalizeComponent_1({render:__vue_render__$j,staticRenderFns:__vue_staticRenderFns__$j},__vue_inject_styles__$j,__vue_script__$h,__vue_scope_id__$j,__vue_is_functional_template__$j,__vue_module_identifier__$j,void 0,void 0);let homeData={},cached$2=!1;function getHomeData(){return cached$2?homeData:(socket.emit("get_home_data"),new Promise((e,n)=>{socket.on("init_home",a=>{homeData=a,cached$2=!0,socket.off("init_home"),e(a)})}))}var script$i={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:n},albums:{data:a}}=e;this.playlists=n,this.albums=a}}};const __vue_script__$i=script$i;var __vue_render__$k=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{attrs:{id:"home_tab"}},[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():a("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[a("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),a("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` + `)])])])],1)}),0):e._e()])],1)},__vue_staticRenderFns__$i=[];const __vue_inject_styles__$i=void 0,__vue_scope_id__$i=void 0,__vue_module_identifier__$i=void 0,__vue_is_functional_template__$i=!1;var Favorites=normalizeComponent_1({render:__vue_render__$i,staticRenderFns:__vue_staticRenderFns__$i},__vue_inject_styles__$i,__vue_script__$g,__vue_scope_id__$i,__vue_is_functional_template__$i,__vue_module_identifier__$i,void 0,void 0);let homeData={},cached$2=!1;function getHomeData(){return cached$2?homeData:(socket.emit("get_home_data"),new Promise((e,a)=>{socket.on("init_home",n=>{homeData=n,cached$2=!0,socket.off("init_home"),e(n)})}))}var script$h={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:a},albums:{data:n}}=e;this.playlists=a,this.albums=n}}};const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"home_tab"}},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():n("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` `+e._s(e.$t("home.openSettings"))+` - `)])],1),e._v(" "),e.playlists.length?a("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[a("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularPlaylists")))]),e._v(" "),a("div",{staticClass:"release-grid"},e._l(e.playlists,function(i){return a("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.id}},tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Playlist",params:{id:i.id}})}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `)])],1),e._v(" "),e.playlists.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularPlaylists")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.playlists,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.id}},tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Playlist",params:{id:i.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` `+e._s(e.$t("globals.by",{artist:i.user.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` - `)])],1)}),1)]):e._e(),e._v(" "),e.albums.length?a("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[a("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularAlbums")))]),e._v(" "),a("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return a("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:i.id}},"data-id":i.id,tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Album",params:{id:i.id}})}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.cover_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),a("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1)]):e._e()])},__vue_staticRenderFns__$k=[];const __vue_inject_styles__$k=void 0,__vue_scope_id__$k=void 0,__vue_module_identifier__$k=void 0,__vue_is_functional_template__$k=!1;var Home=normalizeComponent_1({render:__vue_render__$k,staticRenderFns:__vue_staticRenderFns__$k},__vue_inject_styles__$k,__vue_script__$i,__vue_scope_id__$k,__vue_is_functional_template__$k,__vue_module_identifier__$k,void 0,void 0);const COUNTRIES={AF:"Afghanistan",AX:"\xC5land Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia, Plurinational State of",BQ:"Bonaire, Sint Eustatius and Saba",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, the Democratic Republic of the",CK:"Cook Islands",CR:"Costa Rica",CI:"C\xF4te d'Ivoire",HR:"Croatia",CU:"Cuba",CW:"Cura\xE7ao",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran, Islamic Republic of",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea, Democratic People's Republic of",KR:"Korea, Republic of",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Lao People's Democratic Republic",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia, the Former Yugoslav Republic of",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia, Federated States of",MD:"Moldova, Republic of",MC:"Monaco",MN:"Mongolia",ME:"Montenegro",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine, State of",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"R\xE9union",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",BL:"Saint Barth\xE9lemy",SH:"Saint Helena, Ascension and Tristan da Cunha",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",MF:"Saint Martin (French part)",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SX:"Sint Maarten (Dutch part)",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",SS:"South Sudan",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania, United Republic of",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela, Bolivarian Republic of",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe"};var script$j={data(){return{link:"",title:"",subtitle:"",image:"",data:{},type:"",id:"0",countries:[]}},methods:{convertDuration,reset(){this.title="Loading...",this.subtitle="",this.image="",this.data={},this.type="",this.link="",this.countries=[]},showTrack(e){this.reset();const{title:n,title_version:a,album:{cover_xl:i},link:r,available_countries:s,id:o}=e;this.title=n+(a&&n.indexOf(a)==-1?" "+a:""),this.image=i,this.type="track",this.link=r,this.id=o,s.forEach(l=>{let c=[],u=[...l].map(d=>d.charCodeAt()+127397);c.push(String.fromCodePoint(...u)),c.push(COUNTRIES[l]),this.countries.push(c)}),this.data=e},showAlbum(e){this.reset();const{title:n,cover_xl:a,link:i,id:r}=e;this.title=n,this.image=a,this.type="album",this.link=i,this.data=e,this.id=r},notSupported(){this.link="error"},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)}},mounted(){socket.on("analyze_track",this.showTrack),socket.on("analyze_album",this.showAlbum),socket.on("analyze_notSupported",this.notSupported)}};const __vue_script__$j=script$j;var __vue_render__$l=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"image-header",attrs:{id:"analyzer_tab"}},[a("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.linkAnalyzer")))]),e._v(" "),e.link===""?a("div",[a("p",[e._v(` + `)])],1)}),1)]):e._e(),e._v(" "),e.albums.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularAlbums")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:i.id}},"data-id":i.id,tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Album",params:{id:i.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.cover_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1)]):e._e()])},__vue_staticRenderFns__$j=[];const __vue_inject_styles__$j=void 0,__vue_scope_id__$j=void 0,__vue_module_identifier__$j=void 0,__vue_is_functional_template__$j=!1;var Home=normalizeComponent_1({render:__vue_render__$j,staticRenderFns:__vue_staticRenderFns__$j},__vue_inject_styles__$j,__vue_script__$h,__vue_scope_id__$j,__vue_is_functional_template__$j,__vue_module_identifier__$j,void 0,void 0);const COUNTRIES={AF:"Afghanistan",AX:"\xC5land Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia, Plurinational State of",BQ:"Bonaire, Sint Eustatius and Saba",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, the Democratic Republic of the",CK:"Cook Islands",CR:"Costa Rica",CI:"C\xF4te d'Ivoire",HR:"Croatia",CU:"Cuba",CW:"Cura\xE7ao",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran, Islamic Republic of",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea, Democratic People's Republic of",KR:"Korea, Republic of",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Lao People's Democratic Republic",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia, the Former Yugoslav Republic of",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia, Federated States of",MD:"Moldova, Republic of",MC:"Monaco",MN:"Mongolia",ME:"Montenegro",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine, State of",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"R\xE9union",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",BL:"Saint Barth\xE9lemy",SH:"Saint Helena, Ascension and Tristan da Cunha",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",MF:"Saint Martin (French part)",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SX:"Sint Maarten (Dutch part)",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",SS:"South Sudan",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania, United Republic of",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela, Bolivarian Republic of",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe"};var script$i={data(){return{link:"",title:"",subtitle:"",image:"",data:{},type:"",id:"0",countries:[]}},methods:{convertDuration,reset(){this.title="Loading...",this.subtitle="",this.image="",this.data={},this.type="",this.link="",this.countries=[]},showTrack(e){this.reset();const{title:a,title_version:n,album:{cover_xl:i},link:r,available_countries:s,id:o}=e;this.title=a+(n&&a.indexOf(n)==-1?" "+n:""),this.image=i,this.type="track",this.link=r,this.id=o,s.forEach(l=>{let c=[],u=[...l].map(d=>d.charCodeAt()+127397);c.push(String.fromCodePoint(...u)),c.push(COUNTRIES[l]),this.countries.push(c)}),this.data=e},showAlbum(e){this.reset();const{title:a,cover_xl:n,link:i,id:r}=e;this.title=a,this.image=n,this.type="album",this.link=i,this.data=e,this.id=r},notSupported(){this.link="error"},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)}},mounted(){socket.on("analyze_track",this.showTrack),socket.on("analyze_album",this.showAlbum),socket.on("analyze_notSupported",this.notSupported)}};const __vue_script__$i=script$i;var __vue_render__$k=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"image-header",attrs:{id:"analyzer_tab"}},[n("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.linkAnalyzer")))]),e._v(" "),e.link===""?n("div",[n("p",[e._v(` `+e._s(e.$t("linkAnalyzer.info"))+` - `)]),e._v(" "),a("p",[e._v(` + `)]),e._v(" "),n("p",[e._v(` `+e._s(e.$t("linkAnalyzer.useful"))+` - `)])]):e.link==="error"?a("div",[a("h2",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupported")))]),e._v(" "),a("p",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupportedYet")))])]):a("div",[a("header",{staticClass:"flex items-center",style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[a("div",[a("h1",{staticClass:"m-0"},[e._v(e._s(e.title))]),e._v(" "),e.type==="track"?a("h2",{staticClass:"m-0 mb-3 text-lg"},[a("i18n",{attrs:{path:"globals.by",tag:"span"}},[a("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` + `)])]):e.link==="error"?n("div",[n("h2",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupported")))]),e._v(" "),n("p",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupportedYet")))])]):n("div",[n("header",{staticClass:"flex items-center",style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[n("div",[n("h1",{staticClass:"m-0"},[e._v(e._s(e.title))]),e._v(" "),e.type==="track"?n("h2",{staticClass:"m-0 mb-3 text-lg"},[n("i18n",{attrs:{path:"globals.by",tag:"span"}},[n("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` `+e._s(e.data.artist.name)+` `)])],1),e._v(` \u2022 - `),a("i18n",{attrs:{path:"globals.in",tag:"span"}},[a("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"album",to:{name:"Album",params:{id:e.data.album.id}}}},[e._v(` + `),n("i18n",{attrs:{path:"globals.in",tag:"span"}},[n("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"album",to:{name:"Album",params:{id:e.data.album.id}}}},[e._v(` `+e._s(e.data.album.title)+` - `)])],1)],1):e.type==="album"?a("h2",{staticClass:"m-0 mb-3 text-lg"},[a("i18n",{attrs:{path:"globals.by",tag:"span"}},[a("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` + `)])],1)],1):e.type==="album"?n("h2",{staticClass:"m-0 mb-3 text-lg"},[n("i18n",{attrs:{path:"globals.by",tag:"span"}},[n("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` `+e._s(e.data.artist.name)+` `)])],1),e._v(` `+e._s(" \u2022 "+e.$tc("globals.listTabs.trackN",e.data.nb_tracks))+` - `)],1):e._e()]),e._v(" "),a("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{role:"button","aria-label":"download","data-link":e.link},on:{contextmenu:function(i){return i.preventDefault(),e.openQualityModal(i)},click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[a("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),a("table",{staticClass:"table"},[e.data.id?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.id")))]),e._v(" "),a("td",[e._v(e._s(e.data.id))])]):e._e(),e._v(" "),e.data.isrc?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.isrc")))]),e._v(" "),a("td",[e._v(e._s(e.data.isrc))])]):e._e(),e._v(" "),e.data.upc?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.upc")))]),e._v(" "),a("td",[e._v(e._s(e.data.upc))])]):e._e(),e._v(" "),e.data.duration?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.duration")))]),e._v(" "),a("td",[e._v(e._s(e.convertDuration(e.data.duration)))])]):e._e(),e._v(" "),e.data.disk_number?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.diskNumber")))]),e._v(" "),a("td",[e._v(e._s(e.data.disk_number))])]):e._e(),e._v(" "),e.data.track_position?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.trackNumber")))]),e._v(" "),a("td",[e._v(e._s(e.data.track_position))])]):e._e(),e._v(" "),e.data.release_date?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.releaseDate")))]),e._v(" "),a("td",[e._v(e._s(e.data.release_date))])]):e._e(),e._v(" "),e.data.bpm?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.bpm")))]),e._v(" "),a("td",[e._v(e._s(e.data.bpm))])]):e._e(),e._v(" "),e.data.label?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.label")))]),e._v(" "),a("td",[e._v(e._s(e.data.label))])]):e._e(),e._v(" "),e.data.record_type?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.recordType")))]),e._v(" "),a("td",[e._v(e._s(e.$tc("globals.listTabs."+e.data.record_type,1)))])]):e._e(),e._v(" "),e.data.genres&&e.data.genres.data.length?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.genres")))]),e._v(" "),a("td",[e._v(e._s(e.data.genres.data.map(function(i){return i.name}).join("; ")))])]):e._e()]),e._v(" "),e.type=="album"?a("div",[a("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Album",params:{id:e.id}}}},[e._v(` + `)],1):e._e()]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{role:"button","aria-label":"download","data-link":e.link},on:{contextmenu:function(i){return i.preventDefault(),e.openQualityModal(i)},click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("table",{staticClass:"table"},[e.data.id?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.id")))]),e._v(" "),n("td",[e._v(e._s(e.data.id))])]):e._e(),e._v(" "),e.data.isrc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.isrc")))]),e._v(" "),n("td",[e._v(e._s(e.data.isrc))])]):e._e(),e._v(" "),e.data.upc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.upc")))]),e._v(" "),n("td",[e._v(e._s(e.data.upc))])]):e._e(),e._v(" "),e.data.duration?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.duration")))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(e.data.duration)))])]):e._e(),e._v(" "),e.data.disk_number?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.diskNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.disk_number))])]):e._e(),e._v(" "),e.data.track_position?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.trackNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.track_position))])]):e._e(),e._v(" "),e.data.release_date?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.releaseDate")))]),e._v(" "),n("td",[e._v(e._s(e.data.release_date))])]):e._e(),e._v(" "),e.data.bpm?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.bpm")))]),e._v(" "),n("td",[e._v(e._s(e.data.bpm))])]):e._e(),e._v(" "),e.data.label?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.label")))]),e._v(" "),n("td",[e._v(e._s(e.data.label))])]):e._e(),e._v(" "),e.data.record_type?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.recordType")))]),e._v(" "),n("td",[e._v(e._s(e.$tc("globals.listTabs."+e.data.record_type,1)))])]):e._e(),e._v(" "),e.data.genres&&e.data.genres.data.length?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.genres")))]),e._v(" "),n("td",[e._v(e._s(e.data.genres.data.map(function(i){return i.name}).join("; ")))])]):e._e()]),e._v(" "),e.type=="album"?n("div",[n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Album",params:{id:e.id}}}},[e._v(` `+e._s(e.$t("linkAnalyzer.table.tracklist"))+` - `)])],1):e._e(),e._v(" "),e.countries.length?a("div",e._l(e.countries,function(i){return a("p",[e._v(e._s(i[0])+" - "+e._s(i[1]))])}),0):e._e()])])},__vue_staticRenderFns__$l=[];const __vue_inject_styles__$l=void 0,__vue_scope_id__$l=void 0,__vue_module_identifier__$l=void 0,__vue_is_functional_template__$l=!1;var LinkAnalyzer=normalizeComponent_1({render:__vue_render__$l,staticRenderFns:__vue_staticRenderFns__$l},__vue_inject_styles__$l,__vue_script__$j,__vue_scope_id__$l,__vue_is_functional_template__$l,__vue_module_identifier__$l,void 0,void 0);const upperCaseFirstLowerCaseRest=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();var script$k={components:{CoverContainer},methods:{upperCaseFirstLowerCaseRest},computed:{fansNumber(){let e;try{e=this.$n(this.$attrs.info.nb_fan)}catch(n){e=this.$n(this.$attrs.info.nb_fan,{locale:"en"})}return this.$attrs.info.type=="artist"?this.$t("search.fans",{n:e}):this.$t("globals.by",{artist:this.$attrs.info.artist})+" - "+this.$tc("globals.listTabs.trackN",this.$attrs.info.nb_song)}}};const __vue_script__$k=script$k;var __vue_render__$m=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"flex flex-col items-center justify-center"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:e.upperCaseFirstLowerCaseRest(e.$attrs.info.type),params:{id:e.$attrs.info.id}}}},[a("CoverContainer",{staticClass:"w-40 h-40",attrs:{"is-rounded":e.$attrs.info.type!=="artist","is-circle":e.$attrs.info.type==="artist",cover:e.$attrs.info.picture,link:e.$attrs.info.link},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),a("p",{staticClass:"mt-4 mb-1 text-xl text-center transition-colors duration-200 ease-in-out hover:text-primary"},[e._v(` + `)])],1):e._e(),e._v(" "),e.countries.length?n("div",e._l(e.countries,function(i){return n("p",[e._v(e._s(i[0])+" - "+e._s(i[1]))])}),0):e._e()])])},__vue_staticRenderFns__$k=[];const __vue_inject_styles__$k=void 0,__vue_scope_id__$k=void 0,__vue_module_identifier__$k=void 0,__vue_is_functional_template__$k=!1;var LinkAnalyzer=normalizeComponent_1({render:__vue_render__$k,staticRenderFns:__vue_staticRenderFns__$k},__vue_inject_styles__$k,__vue_script__$i,__vue_scope_id__$k,__vue_is_functional_template__$k,__vue_module_identifier__$k,void 0,void 0);const upperCaseFirstLowerCaseRest=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();var script$j={components:{CoverContainer},methods:{upperCaseFirstLowerCaseRest},computed:{fansNumber(){let e;try{e=this.$n(this.$attrs.info.nb_fan)}catch(a){e=this.$n(this.$attrs.info.nb_fan,{locale:"en"})}return this.$attrs.info.type=="artist"?this.$t("search.fans",{n:e}):this.$t("globals.by",{artist:this.$attrs.info.artist})+" - "+this.$tc("globals.listTabs.trackN",this.$attrs.info.nb_song)}}};const __vue_script__$j=script$j;var __vue_render__$l=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"flex flex-col items-center justify-center"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:e.upperCaseFirstLowerCaseRest(e.$attrs.info.type),params:{id:e.$attrs.info.id}}}},[n("CoverContainer",{staticClass:"w-40 h-40",attrs:{"is-rounded":e.$attrs.info.type!=="artist","is-circle":e.$attrs.info.type==="artist",cover:e.$attrs.info.picture,link:e.$attrs.info.link},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),n("p",{staticClass:"mt-4 mb-1 text-xl text-center transition-colors duration-200 ease-in-out hover:text-primary"},[e._v(` `+e._s(e.$attrs.info.title)+` - `)])],1),e._v(" "),a("p",{staticClass:"mb-3 text-center secondary-text"},[e._v(` + `)])],1),e._v(" "),n("p",{staticClass:"mb-3 text-center secondary-text"},[e._v(` `+e._s(e.fansNumber)+` - `)]),e._v(" "),a("span",{staticClass:"p-1 px-2 text-xs text-center capitalize bg-primary rounded-xl"},[e._v(` + `)]),e._v(" "),n("span",{staticClass:"p-1 px-2 text-xs text-center capitalize bg-primary rounded-xl"},[e._v(` `+e._s(e.$tc("globals.listTabs."+e.$attrs.info.type,1))+` - `)])],1)},__vue_staticRenderFns__$m=[];const __vue_inject_styles__$m=void 0,__vue_scope_id__$m=void 0,__vue_module_identifier__$m=void 0,__vue_is_functional_template__$m=!1;var TopResult=normalizeComponent_1({render:__vue_render__$m,staticRenderFns:__vue_staticRenderFns__$m},__vue_inject_styles__$m,__vue_script__$k,__vue_scope_id__$m,__vue_is_functional_template__$m,__vue_module_identifier__$m,void 0,void 0);function formatSingleTrack(e){let n=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_LYRICS");return typeof n=="string"&&(n=n!=="0"),{trackTitle:getPropertyWithFallback(e,"title","SNG_TITLE"),trackTitleVersion:getPropertyWithFallback(e,"title_version","VERSION"),trackPreview:getPropertyWithFallback(e,"preview","MEDIA.0.HREF"),trackDuration:getPropertyWithFallback(e,"duration","DURATION"),trackLink:getPropertyWithFallback(e,"link")||`https://www.deezer.com/track/${e.SNG_ID}`,isTrackExplicit:n,artistID:getPropertyWithFallback(e,"artist.id","ART_ID"),artistName:getPropertyWithFallback(e,"artist.name","ART_NAME"),albumID:getPropertyWithFallback(e,"album.id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"album.title","ALB_TITLE"),albumPicture:getPropertyWithFallback(e,"album.cover_small")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/56x56-000000-80-0-0.jpg`}}function formatAlbums(e){let n=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS");return typeof n=="number"&&(n=n===1),{albumID:getPropertyWithFallback(e,"id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"title","ALB_TITLE"),albumCoverMedium:getPropertyWithFallback(e,"cover_medium")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/156x156-000000-80-0-0.jpg`,albumLink:getPropertyWithFallback(e,"link")||`https://deezer.com/album/${e.ALB_ID}`,albumTracks:getPropertyWithFallback(e,"nb_tracks","NUMBER_TRACK"),isAlbumExplicit:n,artistName:getPropertyWithFallback(e,"artist.name","ART_NAME")}}function formatArtist(e){return{artistID:getPropertyWithFallback(e,"id","ART_ID"),artistName:getPropertyWithFallback(e,"name","ART_NAME"),artistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/artist/${e.ART_PICTURE}/156x156-000000-80-0-0.jpg`,artistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/artist/${e.ART_ID}`,artistAlbumsNumber:getPropertyWithFallback(e,"nb_album","NB_FAN")}}function formatPlaylist(e){return{playlistID:getPropertyWithFallback(e,"id","PLAYLIST_ID"),playlistTitle:getPropertyWithFallback(e,"title","TITLE"),playlistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/${e.PICTURE_TYPE}/${e.PLAYLIST_PICTURE}/156x156-000000-80-0-0.jpg`,playlistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/playlist/${e.PLAYLIST_ID}`,playlistTracksNumber:getPropertyWithFallback(e,"nb_tracks","NB_SONG"),artistName:getPropertyWithFallback(e,"user.name")}}function formatTitle(e){const n=e.trackTitleVersion&&e.trackTitle.indexOf(e.trackTitleVersion)===-1;return`${e.trackTitle}${n?` ${e.trackTitleVersion}`:""}`}var script$l={components:{BaseLoadingPlaceholder,PreviewControls},props:{viewInfo:{validator:function(e){let n=Object.is(e,null),a=Object.prototype.toString.call(e)==="[object Object]";return n||a},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}},methods:{convertDuration,formatTitle,playPausePreview}};const __vue_script__$l=script$l;var __vue_render__$n=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsTrack")))])]):a("table",{staticClass:"table w-full table--tracks"},[e.wantHeaders?a("thead",[a("tr",{staticClass:"capitalize"},[a("th",{staticClass:"h-12 pb-3",attrs:{colspan:"2"}},[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),a("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),a("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.album",1)))]),e._v(" "),a("th",{staticClass:"h-12 pb-3"},[a("i",{staticClass:"material-icons"},[e._v("timer")])]),e._v(" "),a("th",{staticClass:"h-12 pb-3",staticStyle:{width:"3.5rem"}})])]):e._e(),e._v(" "),a("tbody",e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return a("tr",{key:i.trackLink},[a("td",{staticClass:"table__icon table__icon--big"},[a("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.trackPreview},on:{click:function(r){return e.playPausePreview(r)}}},[i.trackPreview?a("PreviewControls"):e._e(),e._v(" "),a("img",{staticClass:"rounded coverart",attrs:{src:i.albumPicture}})],1)]),e._v(" "),a("td",{staticClass:"table__cell table__cell--large"},[a("div",{staticClass:"break-words table__cell-content table__cell-content--vertical-center"},[i.isTrackExplicit?a("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` + `)])],1)},__vue_staticRenderFns__$l=[];const __vue_inject_styles__$l=void 0,__vue_scope_id__$l=void 0,__vue_module_identifier__$l=void 0,__vue_is_functional_template__$l=!1;var TopResult=normalizeComponent_1({render:__vue_render__$l,staticRenderFns:__vue_staticRenderFns__$l},__vue_inject_styles__$l,__vue_script__$j,__vue_scope_id__$l,__vue_is_functional_template__$l,__vue_module_identifier__$l,void 0,void 0);function formatSingleTrack(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_LYRICS");return typeof a=="string"&&(a=a!=="0"),{trackTitle:getPropertyWithFallback(e,"title","SNG_TITLE"),trackTitleVersion:getPropertyWithFallback(e,"title_version","VERSION"),trackPreview:getPropertyWithFallback(e,"preview","MEDIA.0.HREF"),trackDuration:getPropertyWithFallback(e,"duration","DURATION"),trackLink:getPropertyWithFallback(e,"link")||`https://www.deezer.com/track/${e.SNG_ID}`,isTrackExplicit:a,artistID:getPropertyWithFallback(e,"artist.id","ART_ID"),artistName:getPropertyWithFallback(e,"artist.name","ART_NAME"),albumID:getPropertyWithFallback(e,"album.id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"album.title","ALB_TITLE"),albumPicture:getPropertyWithFallback(e,"album.cover_small")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/56x56-000000-80-0-0.jpg`}}function formatAlbums(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS");return typeof a=="number"&&(a=a===1),{albumID:getPropertyWithFallback(e,"id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"title","ALB_TITLE"),albumCoverMedium:getPropertyWithFallback(e,"cover_medium")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/156x156-000000-80-0-0.jpg`,albumLink:getPropertyWithFallback(e,"link")||`https://deezer.com/album/${e.ALB_ID}`,albumTracks:getPropertyWithFallback(e,"nb_tracks","NUMBER_TRACK"),isAlbumExplicit:a,artistName:getPropertyWithFallback(e,"artist.name","ART_NAME")}}function formatArtist(e){return{artistID:getPropertyWithFallback(e,"id","ART_ID"),artistName:getPropertyWithFallback(e,"name","ART_NAME"),artistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/artist/${e.ART_PICTURE}/156x156-000000-80-0-0.jpg`,artistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/artist/${e.ART_ID}`,artistAlbumsNumber:getPropertyWithFallback(e,"nb_album","NB_FAN")}}function formatPlaylist(e){return{playlistID:getPropertyWithFallback(e,"id","PLAYLIST_ID"),playlistTitle:getPropertyWithFallback(e,"title","TITLE"),playlistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/${e.PICTURE_TYPE}/${e.PLAYLIST_PICTURE}/156x156-000000-80-0-0.jpg`,playlistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/playlist/${e.PLAYLIST_ID}`,playlistTracksNumber:getPropertyWithFallback(e,"nb_tracks","NB_SONG"),artistName:getPropertyWithFallback(e,"user.name")}}function formatTitle(e){const a=e.trackTitleVersion&&e.trackTitle.indexOf(e.trackTitleVersion)===-1;return`${e.trackTitle}${a?` ${e.trackTitleVersion}`:""}`}var script$k={components:{BaseLoadingPlaceholder,PreviewControls},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}},methods:{convertDuration,formatTitle,playPausePreview}};const __vue_script__$k=script$k;var __vue_render__$m=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsTrack")))])]):n("table",{staticClass:"table w-full table--tracks"},[e.wantHeaders?n("thead",[n("tr",{staticClass:"capitalize"},[n("th",{staticClass:"h-12 pb-3",attrs:{colspan:"2"}},[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.album",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[n("i",{staticClass:"material-icons"},[e._v("timer")])]),e._v(" "),n("th",{staticClass:"h-12 pb-3",staticStyle:{width:"3.5rem"}})])]):e._e(),e._v(" "),n("tbody",e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("tr",{key:i.trackLink},[n("td",{staticClass:"table__icon table__icon--big"},[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.trackPreview},on:{click:function(r){return e.playPausePreview(r)}}},[i.trackPreview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:i.albumPicture}})],1)]),e._v(" "),n("td",{staticClass:"table__cell table__cell--large"},[n("div",{staticClass:"break-words table__cell-content table__cell-content--vertical-center"},[i.isTrackExplicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` `+e._s(e.formatTitle(i))+` - `)])]),e._v(" "),a("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artistID}}}},[a("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` + `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artistID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` `+e._s(i.artistName)+` - `)])]),e._v(" "),a("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Album",params:{id:i.albumID}}}},[a("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` + `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Album",params:{id:i.albumID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` `+e._s(i.albumTitle)+` - `)])]),e._v(" "),a("td",{staticClass:"table__cell table__cell--small table__cell--center"},[e._v(` + `)])]),e._v(" "),n("td",{staticClass:"table__cell table__cell--small table__cell--center"},[e._v(` `+e._s(e.convertDuration(i.trackDuration))+` - `)]),e._v(" "),a("td",{staticClass:"cursor-pointer table__cell--center group",attrs:{"data-link":i.trackLink,"aria-label":"download"},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}},[a("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` + `)]),e._v(" "),n("td",{staticClass:"cursor-pointer table__cell--center group",attrs:{"data-link":i.trackLink,"aria-label":"download"},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` get_app - `)])])],1)}),0)])]],2)},__vue_staticRenderFns__$n=[];const __vue_inject_styles__$n=void 0,__vue_scope_id__$n=void 0,__vue_module_identifier__$n=void 0,__vue_is_functional_template__$n=!1;var ResultsTracks=normalizeComponent_1({render:__vue_render__$n,staticRenderFns:__vue_staticRenderFns__$n},__vue_inject_styles__$n,__vue_script__$l,__vue_scope_id__$n,__vue_is_functional_template__$n,__vue_module_identifier__$n,void 0,void 0),script$m={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let n=Object.is(e,null),a=Object.prototype.toString.call(e)==="[object Object]";return n||a},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$m=script$m;var __vue_render__$o=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsAlbum")))])]):a("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return a("div",{key:i.albumID,staticClass:"w-40 release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Album",params:{id:i.albumID}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.albumCoverMedium,link:i.albumLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),a("span",{staticClass:"primary-text"},[i.isAlbumExplicit?a("i",{staticClass:"material-icons title-icon",staticStyle:{"font-size":"1.0625rem !important"}},[e._v(` + `)])])],1)}),0)])]],2)},__vue_staticRenderFns__$m=[];const __vue_inject_styles__$m=void 0,__vue_scope_id__$m=void 0,__vue_module_identifier__$m=void 0,__vue_is_functional_template__$m=!1;var ResultsTracks=normalizeComponent_1({render:__vue_render__$m,staticRenderFns:__vue_staticRenderFns__$m},__vue_inject_styles__$m,__vue_script__$k,__vue_scope_id__$m,__vue_is_functional_template__$m,__vue_module_identifier__$m,void 0,void 0),script$l={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$l=script$l;var __vue_render__$n=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsAlbum")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("div",{key:i.albumID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Album",params:{id:i.albumID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.albumCoverMedium,link:i.albumLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[i.isAlbumExplicit?n("i",{staticClass:"material-icons title-icon",staticStyle:{"font-size":"1.0625rem !important"}},[e._v(` explicit `)]):e._e(),e._v(` `+e._s(i.albumTitle)+` - `)])],1),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `)])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` `+e._s(e.$t("globals.by",{artist:i.artistName})+" - "+e.$tc("globals.listTabs.trackN",i.albumTracks))+` - `)])],1)}),0)]],2)},__vue_staticRenderFns__$o=[];const __vue_inject_styles__$o=void 0,__vue_scope_id__$o=void 0,__vue_module_identifier__$o=void 0,__vue_is_functional_template__$o=!1;var ResultsAlbums=normalizeComponent_1({render:__vue_render__$o,staticRenderFns:__vue_staticRenderFns__$o},__vue_inject_styles__$o,__vue_script__$m,__vue_scope_id__$o,__vue_is_functional_template__$o,__vue_module_identifier__$o,void 0,void 0),script$n={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let n=Object.is(e,null),a=Object.prototype.toString.call(e)==="[object Object]";return n||a},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$n=script$n;var __vue_render__$p=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsArtist")))])]):a("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return a("div",{key:i.artistID,staticClass:"w-40 release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Artist",params:{id:i.artistID}}}},[a("CoverContainer",{attrs:{"is-circle":"",cover:i.artistPictureMedium,link:i.artistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),a("span",{staticClass:"primary-text"},[e._v(` + `)])],1)}),0)]],2)},__vue_staticRenderFns__$n=[];const __vue_inject_styles__$n=void 0,__vue_scope_id__$n=void 0,__vue_module_identifier__$n=void 0,__vue_is_functional_template__$n=!1;var ResultsAlbums=normalizeComponent_1({render:__vue_render__$n,staticRenderFns:__vue_staticRenderFns__$n},__vue_inject_styles__$n,__vue_script__$l,__vue_scope_id__$n,__vue_is_functional_template__$n,__vue_module_identifier__$n,void 0,void 0),script$m={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$m=script$m;var __vue_render__$o=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsArtist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("div",{key:i.artistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Artist",params:{id:i.artistID}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:i.artistPictureMedium,link:i.artistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` `+e._s(i.artistName)+` - `)])],1)],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_module_identifier__$p=void 0,__vue_is_functional_template__$p=!1;var ResultsArtists=normalizeComponent_1({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p,__vue_module_identifier__$p,void 0,void 0),script$o={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let n=Object.is(e,null),a=Object.prototype.toString.call(e)==="[object Object]";return n||a},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsPlaylist")))])]):a("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return a("div",{key:i.playlistID,staticClass:"w-40 release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.playlistID}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:i.playlistPictureMedium,link:i.playlistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),a("span",{staticClass:"primary-text"},[e._v(` + `)])],1)],1)}),0)]],2)},__vue_staticRenderFns__$o=[];const __vue_inject_styles__$o=void 0,__vue_scope_id__$o=void 0,__vue_module_identifier__$o=void 0,__vue_is_functional_template__$o=!1;var ResultsArtists=normalizeComponent_1({render:__vue_render__$o,staticRenderFns:__vue_staticRenderFns__$o},__vue_inject_styles__$o,__vue_script__$m,__vue_scope_id__$o,__vue_is_functional_template__$o,__vue_module_identifier__$o,void 0,void 0),script$n={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$n=script$n;var __vue_render__$p=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsPlaylist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("div",{key:i.playlistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.playlistID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.playlistPictureMedium,link:i.playlistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` `+e._s(i.playlistTitle)+` - `)])],1),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(` + `)])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` `+e._s(e.$t("globals.by",{artist:i.artistName})+" - "+e.$tc("globals.listTabs.trackN",i.playlistTracksNumber))+` - `)])],1)}),0)]],2)},__vue_staticRenderFns__$q=[];const __vue_inject_styles__$q=void 0,__vue_scope_id__$q=void 0,__vue_module_identifier__$q=void 0,__vue_is_functional_template__$q=!1;var ResultsPlaylists=normalizeComponent_1({render:__vue_render__$q,staticRenderFns:__vue_staticRenderFns__$q},__vue_inject_styles__$q,__vue_script__$o,__vue_scope_id__$q,__vue_is_functional_template__$q,__vue_module_identifier__$q,void 0,void 0),script$p={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){return!this.viewInfo?!1:!this.viewInfo.ORDER.every(a=>a==="TOP_RESULT"?this.viewInfo[a].length===0:this.viewInfo[a].data.length===0)}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$p=script$p;var __vue_render__$r=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(i){return a("section",{key:i,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(i)?[a("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":i==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":i!=="TOP_RESULT"},on:{click:function(r){return e.$emit("change-search-tab",i)}}},[e._v(` + `)])],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_module_identifier__$p=void 0,__vue_is_functional_template__$p=!1;var ResultsPlaylists=normalizeComponent_1({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p,__vue_module_identifier__$p,void 0,void 0),script$o={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){return!this.viewInfo?!1:!this.viewInfo.ORDER.every(n=>n==="TOP_RESULT"?this.viewInfo[n].length===0:this.viewInfo[n].data.length===0)}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(i){return n("section",{key:i,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(i)?[n("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":i==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":i!=="TOP_RESULT"},on:{click:function(r){return e.$emit("change-search-tab",i)}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+i.toLowerCase(),2))+` - `)]),e._v(" "),i==="TOP_RESULT"?a("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="TRACK"?a("ResultsTracks",{attrs:{viewInfo:e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="ALBUM"?a("ResultsAlbums",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="PLAYLIST"?a("ResultsPlaylists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="ARTIST"?a("ResultsArtists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ARTIST,e.formatArtist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):e._e()]:e._e()],2)}):a("div",[a("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)},__vue_staticRenderFns__$r=[];const __vue_inject_styles__$r=void 0,__vue_scope_id__$r=void 0,__vue_module_identifier__$r=void 0,__vue_is_functional_template__$r=!1;var ResultsAll=normalizeComponent_1({render:__vue_render__$r,staticRenderFns:__vue_staticRenderFns__$r},__vue_inject_styles__$r,__vue_script__$p,__vue_scope_id__$r,__vue_is_functional_template__$r,__vue_module_identifier__$r,void 0,void 0);const searchResult=ref$2({});function performMainSearch(e){socket.emit("mainSearch",{term:e}),socket.on("mainSearch",n=>{searchResult.value=n,socket.off("mainSearch")})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:n,start:a=0,nb:i=30}){socket.emit("search",{term:e,type:n,start:a,nb:i}),socket.on("search",r=>{result.value=r,socket.off("search")})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$q=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,n){const a=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:n.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:n.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:n.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:n.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:n.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:i,performMainSearch:r}=useMainSearch(),{result:s,performSearch:o}=useSearch(),l=computed(()=>n.root.$route.query.term),c=computed(()=>a.results.query===""),u=ref$2(!1),d=computed(()=>Object.keys(i.value).length!==0),f=computed(()=>i.value.QUERY!==l.value);d.value&&!f.value&&onMounted(()=>{h(i.value)}),l.value&&(!d.value||f.value)&&(r(l.value),u.value=!0);function h(m){u.value=!1,a.results.query=m.QUERY,a.results.allTab=m,a.results.allTab.TRACK.hasLoaded=!0,a.results.allTab.ALBUM.hasLoaded=!0,a.results.allTab.ARTIST.hasLoaded=!0,a.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(a.currentTab=lastTab.value,o({term:m.QUERY,type:a.currentTab.searchType})):a.currentTab=a.tabs.find(v=>v.searchType==="all")}return watch(i,h),watch(s,m=>{const{next:v,total:y,type:_,data:w}=m,A=`${_}Tab`;let S=y;if(v&&(S=parseInt(v.match(/index=(\d*)/)[1])),a.results[A].total!==y&&(a.results[A].total=y),a.results[A].next!==S){a.results[A].next=S;const M=a.results[A].data.concat(w),P=uniqWith(M,(z,C)=>z.id===C.id);a.results[A].data=P}a.results[A].hasLoaded=!0}),a.currentTab=a.tabs.find(m=>m.searchType==="all"),{...toRefs(a),isSearching:u,isQueryEmpty:c,searchResult:i,performMainSearch:r,performSearch:o}},computed:{loadedTabs(){const e=[];for(const n in this.results)this.results.hasOwnProperty(n)&&n!=="query"&&this.results[n].hasLoaded&&e.push(n.replace(/Tab/g,""));return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const n=this.tabs.find(a=>a.searchType===e);if(!n){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=n,lastTab.value=n},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`;this.results[e].next{searchResult.value=a,socket.off("mainSearch")})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:i=30}){socket.emit("search",{term:e,type:a,start:n,nb:i}),socket.on("search",r=>{result.value=r,socket.off("search")})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:i,performMainSearch:r}=useMainSearch(),{result:s,performSearch:o}=useSearch(),l=computed(()=>a.root.$route.query.term),c=computed(()=>n.results.query===""),u=ref$2(!1),d=computed(()=>Object.keys(i.value).length!==0),f=computed(()=>i.value.QUERY!==l.value);d.value&&!f.value&&onMounted(()=>{h(i.value)}),l.value&&(!d.value||f.value)&&(r(l.value),u.value=!0);function h(m){u.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,o({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(i,h),watch(s,m=>{const{next:v,total:y,type:_,data:w}=m,A=`${_}Tab`;let S=y;if(v&&(S=parseInt(v.match(/index=(\d*)/)[1])),n.results[A].total!==y&&(n.results[A].total=y),n.results[A].next!==S){n.results[A].next=S;const M=n.results[A].data.concat(w),P=uniqWith(M,(z,C)=>z.id===C.id);n.results[A].data=P}n.results[A].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:u,isQueryEmpty:c,searchResult:i,performMainSearch:r,performSearch:o}},computed:{loadedTabs(){const e=[];for(const a in this.results)this.results.hasOwnProperty(a)&&a!=="query"&&this.results[a].hasLoaded&&e.push(a.replace(/Tab/g,""));return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`;this.results[e].next + `)])}),1),e._v(" "),n("keep-alive",[n(e.currentTab.component,{tag:"component",attrs:{viewInfo:e.getViewInfo(),"want-headers":""},on:{"add-to-queue":e.addToQueue,"change-search-tab":e.changeSearchTab}})],1)],1)],1)},__vue_staticRenderFns__$r=[];const __vue_inject_styles__$r=void 0,__vue_scope_id__$r=void 0,__vue_module_identifier__$r=void 0,__vue_is_functional_template__$r=!1;var Search=normalizeComponent_1({render:__vue_render__$r,staticRenderFns:__vue_staticRenderFns__$r},__vue_inject_styles__$r,__vue_script__$p,__vue_scope_id__$r,__vue_is_functional_template__$r,__vue_module_identifier__$r,void 0,void 0);const trackTemplateVariables=["%title%","%artist%","%artists%","%allartists%","%mainartists%","%featartists%","%album%","%albumartist%","%tracknumber%","%tracktotal%","%discnumber%","%disctotal%","%genre%","%year%","%date%","%bpm%","%label%","%isrc%","%upc%","%explicit%","%track_id%","%album_id%","%artist_id%","%playlist_id%","%position%"];var it$1=` @@ -4801,71 +4725,71 @@ PERFORMANCE OF THIS SOFTWARE. -`;const flags$1={it:it$1,en:gb,es:es$1,de:de$1,fr:fr$1,id:id$1,pt:pt$1,pt_br:br,ru:ru$1,tr:tr$1,vn:vn$1,hr:hr$1,ar:ar$1,ko:ko$1,ph:ph$1,zh_tw:tw,pl:pl$1};var script$r={props:{withArrow:{type:Boolean,default:!0}}};const __vue_script__$r=script$r;var __vue_render__$t=function(e,n){var a=n._c;return a("details",{class:[n.data.staticClass,{"with-arrow":n.props.withArrow}],style:n.data.staticStyle},[a("summary",{staticClass:"cursor-pointer"},[n._t("title",[n._v("Setting")])],2),n._v(" "),a("div",{staticClass:"my-5 space-y-5"},[n._t("default")],2)])},__vue_staticRenderFns__$t=[];const __vue_inject_styles__$t=function(e){!e||e("data-v-2eaecb1a_0",{source:"details>summary::-webkit-details-marker{display:none}details.with-arrow>summary::-webkit-details-marker{display:initial;vertical-align:var(--arrow-v-align,super)}",map:void 0,media:void 0})},__vue_scope_id__$t=void 0,__vue_module_identifier__$t=void 0,__vue_is_functional_template__$t=!0;var BaseAccordion=normalizeComponent_1({render:__vue_render__$t,staticRenderFns:__vue_staticRenderFns__$t},__vue_inject_styles__$t,__vue_script__$r,__vue_scope_id__$t,__vue_is_functional_template__$t,__vue_module_identifier__$t,browser,void 0),script$s={components:{BaseAccordion},props:{templateVariables:{type:Array,required:!0}}};const __vue_script__$s=script$s;var __vue_render__$u=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("BaseAccordion",{staticStyle:{"--arrow-v-align":"baseline","margin-bottom":"3rem"},scopedSlots:e._u([{key:"title",fn:function(){return[e._t("title")]},proxy:!0}],null,!0)},[e._v(" "),a("div",{staticClass:"flex flex-wrap p-4 space-x-2 rounded-2xl bg-background-secondary"},e._l(e.templateVariables,function(i){return a("span",{staticClass:"inline-block p-2 mt-2 tracking-wider rounded cursor-pointer bg-panels-bg first:ml-2 hover:shadow-outline",on:{click:function(r){return e.$emit("variable-click",i)}}},[e._v(` +`;const flags$1={it:it$1,en:gb,es:es$1,de:de$1,fr:fr$1,id:id$1,pt:pt$1,pt_br:br,ru:ru$1,tr:tr$1,vn:vn$1,hr:hr$1,ar:ar$1,ko:ko$1,ph:ph$1,zh_tw:tw,pl:pl$1};var script$q={props:{withArrow:{type:Boolean,default:!0}}};const __vue_script__$q=script$q;var __vue_render__$s=function(e,a){var n=a._c;return n("details",{class:[a.data.staticClass,{"with-arrow":a.props.withArrow}],style:a.data.staticStyle},[n("summary",{staticClass:"cursor-pointer"},[a._t("title",[a._v("Setting")])],2),a._v(" "),n("div",{staticClass:"my-5 space-y-5"},[a._t("default")],2)])},__vue_staticRenderFns__$s=[];const __vue_inject_styles__$s=function(e){!e||e("data-v-2eaecb1a_0",{source:"details>summary::-webkit-details-marker{display:none}details.with-arrow>summary::-webkit-details-marker{display:initial;vertical-align:var(--arrow-v-align,super)}",map:void 0,media:void 0})},__vue_scope_id__$s=void 0,__vue_module_identifier__$s=void 0,__vue_is_functional_template__$s=!0;var BaseAccordion=normalizeComponent_1({render:__vue_render__$s,staticRenderFns:__vue_staticRenderFns__$s},__vue_inject_styles__$s,__vue_script__$q,__vue_scope_id__$s,__vue_is_functional_template__$s,__vue_module_identifier__$s,browser,void 0),script$r={components:{BaseAccordion},props:{templateVariables:{type:Array,required:!0}}};const __vue_script__$r=script$r;var __vue_render__$t=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("BaseAccordion",{staticStyle:{"--arrow-v-align":"baseline","margin-bottom":"3rem"},scopedSlots:e._u([{key:"title",fn:function(){return[e._t("title")]},proxy:!0}],null,!0)},[e._v(" "),n("div",{staticClass:"flex flex-wrap p-4 space-x-2 rounded-2xl bg-background-secondary"},e._l(e.templateVariables,function(i){return n("span",{staticClass:"inline-block p-2 mt-2 tracking-wider rounded cursor-pointer bg-panels-bg first:ml-2 hover:shadow-outline",on:{click:function(r){return e.$emit("variable-click",i)}}},[e._v(` `+e._s(i)+` - `)])}),0)])},__vue_staticRenderFns__$u=[];const __vue_inject_styles__$u=void 0,__vue_scope_id__$u=void 0,__vue_module_identifier__$u=void 0,__vue_is_functional_template__$u=!1;var TemplateVariablesList=normalizeComponent_1({render:__vue_render__$u,staticRenderFns:__vue_staticRenderFns__$u},__vue_inject_styles__$u,__vue_script__$s,__vue_scope_id__$u,__vue_is_functional_template__$u,__vue_module_identifier__$u,void 0,void 0),script$t={components:{BaseAccordion,TemplateVariablesList},data(){return{flags:flags$1,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables}},computed:{...mapGetters({arl:"getARL",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"}),needToWait(){return Object.keys(this.getSettings).length===0},modelVolume:{get(){return this.previewVolume},set:debounce$1(function(e){this.setPreviewVolume(e)},20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}},async mounted(){const{settingsData:e,defaultSettingsData:n,spotifyCredentials:a}=await getSettingsData();this.defaultSettings=n,this.initSettings(e,a);let i=localStorage.getItem("accountNum");i&&(this.accountNum=i);let r=localStorage.getItem("spotifyUser");r&&(this.lastUser=r,this.spotifyUser=r,socket.emit("update_userSpotifyPlaylists",r)),socket.on("updateSettings",this.updateSettings),socket.on("accountChanged",this.accountChanged),socket.on("familyAccounts",this.initAccounts),socket.on("downloadFolderSelected",this.downloadFolderSelected),socket.on("applogin_arl",this.loggedInViaDeezer),this.$on("hook:destroyed",()=>{socket.off("updateSettings"),socket.off("accountChanged"),socket.off("familyAccounts"),socket.off("downloadFolderSelected"),socket.off("applogin_arl")})},methods:{...mapActions({dispatchARL:"setARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar"}),onTemplateVariableClick(e){copyToClipboard(e),toast(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){let e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),toast(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),socket.emit("saveSettings",this.lastSettings,this.lastCredentials,e?this.lastUser:!1)},selectDownloadFolder(){socket.emit("selectDownloadFolder")},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},loggedInViaDeezer(e){this.dispatchARL({arl:e}),socket.emit("login",e,!0,this.accountNum)},login(){let e=this.$refs.loginInput.value.trim();e&&e!==this.arl&&socket.emit("login",e,!0,this.accountNum)},appLogin(e){socket.emit("applogin")},changeAccount(){socket.emit("changeAccount",this.accountNum)},accountChanged(e,n){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=n,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},logout(){socket.emit("logout")},initSettings(e,n){this.loadSettings(e),this.loadCredentials(n),toast(this.$t("settings.toasts.init"),"settings")},updateSettings(e,n){this.loadSettings(e),this.loadCredentials(n),toast(this.$t("settings.toasts.update"),"settings")},resetToDefault(){!confirm(this.$t("settings.resetMessage"))||(this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),toast(this.$t("settings.toasts.reset"),"settings"))}}};const __vue_script__$t=script$t;var __vue_render__$v=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{staticClass:"fixed-footer"},[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.title")))]),e._v(" "),e.isLoggedIn?a("div",{ref:"loggedInInfo",attrs:{id:"logged_in_info"}},[a("img",{ref:"userpicture",staticClass:"w-32 h-32 rounded-full",attrs:{id:"settings_picture",src:e.pictureHref,alt:"Profile Picture"}}),e._v(" "),a("i18n",{attrs:{path:"settings.login.loggedIn",tag:"p"},scopedSlots:e._u([{key:"username",fn:function(){return[a("strong",{ref:"username",attrs:{id:"settings_username"}},[e._v(e._s(e.user.name||"not logged"))])]},proxy:!0}],null,!1,2821744753)}),e._v(" "),a("button",{staticClass:"btn btn-primary",on:{click:e.logout}},[e._v(` + `)])}),0)])},__vue_staticRenderFns__$t=[];const __vue_inject_styles__$t=void 0,__vue_scope_id__$t=void 0,__vue_module_identifier__$t=void 0,__vue_is_functional_template__$t=!1;var TemplateVariablesList=normalizeComponent_1({render:__vue_render__$t,staticRenderFns:__vue_staticRenderFns__$t},__vue_inject_styles__$t,__vue_script__$r,__vue_scope_id__$t,__vue_is_functional_template__$t,__vue_module_identifier__$t,void 0,void 0),script$s={components:{BaseAccordion,TemplateVariablesList},data(){return{flags:flags$1,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables}},computed:{...mapGetters({arl:"getARL",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"}),needToWait(){return Object.keys(this.getSettings).length===0},modelVolume:{get(){return this.previewVolume},set:debounce$1(function(e){this.setPreviewVolume(e)},20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}},async mounted(){const{settingsData:e,defaultSettingsData:a,spotifyCredentials:n}=await getSettingsData();this.defaultSettings=a,this.initSettings(e,n);let i=localStorage.getItem("accountNum");i&&(this.accountNum=i);let r=localStorage.getItem("spotifyUser");r&&(this.lastUser=r,this.spotifyUser=r,socket.emit("update_userSpotifyPlaylists",r)),socket.on("updateSettings",this.updateSettings),socket.on("accountChanged",this.accountChanged),socket.on("familyAccounts",this.initAccounts),socket.on("downloadFolderSelected",this.downloadFolderSelected),socket.on("applogin_arl",this.loggedInViaDeezer),this.$on("hook:destroyed",()=>{socket.off("updateSettings"),socket.off("accountChanged"),socket.off("familyAccounts"),socket.off("downloadFolderSelected"),socket.off("applogin_arl")})},methods:{...mapActions({dispatchARL:"setARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar"}),onTemplateVariableClick(e){copyToClipboard(e),toast(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){let e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),toast(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),socket.emit("saveSettings",this.lastSettings,this.lastCredentials,e?this.lastUser:!1)},selectDownloadFolder(){socket.emit("selectDownloadFolder")},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},loggedInViaDeezer(e){this.dispatchARL({arl:e}),socket.emit("login",e,!0,this.accountNum)},login(){let e=this.$refs.loginInput.value.trim();e&&e!==this.arl&&socket.emit("login",e,!0,this.accountNum)},appLogin(e){socket.emit("applogin")},changeAccount(){socket.emit("changeAccount",this.accountNum)},accountChanged(e,a){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=a,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},logout(){socket.emit("logout")},initSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.init"),"settings")},updateSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.update"),"settings")},resetToDefault(){!confirm(this.$t("settings.resetMessage"))||(this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),toast(this.$t("settings.toasts.reset"),"settings"))}}};const __vue_script__$s=script$s;var __vue_render__$u=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"fixed-footer"},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.title")))]),e._v(" "),e.isLoggedIn?n("div",{ref:"loggedInInfo",attrs:{id:"logged_in_info"}},[n("img",{ref:"userpicture",staticClass:"w-32 h-32 rounded-full",attrs:{id:"settings_picture",src:e.pictureHref,alt:"Profile Picture"}}),e._v(" "),n("i18n",{attrs:{path:"settings.login.loggedIn",tag:"p"},scopedSlots:e._u([{key:"username",fn:function(){return[n("strong",{ref:"username",attrs:{id:"settings_username"}},[e._v(e._s(e.user.name||"not logged"))])]},proxy:!0}],null,!1,2821744753)}),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.logout}},[e._v(` `+e._s(e.$t("settings.login.logout"))+` - `)]),e._v(" "),e.accounts.length>1?a("select",{directives:[{name:"model",rawName:"v-model",value:e.accountNum,expression:"accountNum"}],attrs:{id:"family_account"},on:{change:[function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.accountNum=i.target.multiple?r:r[0]},e.changeAccount]}},e._l(e.accounts,function(i,r){return a("option",{key:i,domProps:{value:r.toString()}},[e._v(` + `)]),e._v(" "),e.accounts.length>1?n("select",{directives:[{name:"model",rawName:"v-model",value:e.accountNum,expression:"accountNum"}],attrs:{id:"family_account"},on:{change:[function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.accountNum=i.target.multiple?r:r[0]},e.changeAccount]}},e._l(e.accounts,function(i,r){return n("option",{key:i,domProps:{value:r.toString()}},[e._v(` `+e._s(i.name)+` - `)])}),0):e._e()],1):e._e(),e._v(" "),a("div",{staticClass:"settings-group"},[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("person")]),e._v(e._s(e.$t("settings.login.title")))]),e._v(" "),a("div",{staticClass:"my-5 space-y-5"},[a("div",{staticClass:"flex items-center"},[a("input",{ref:"loginInput",attrs:{id:"login_input_arl",autocomplete:"off",placeholder:"ARL",type:"password"},domProps:{value:e.arl}}),e._v(" "),a("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.copyARLtoClipboard}},[a("i",{staticClass:"material-icons"},[e._v("assignment")])])]),e._v(" "),a("RouterLink",{staticClass:"block",attrs:{to:{name:"ARL"}}},[e._v(` + `)])}),0):e._e()],1):e._e(),e._v(" "),n("div",{staticClass:"settings-group"},[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("person")]),e._v(e._s(e.$t("settings.login.title")))]),e._v(" "),n("div",{staticClass:"my-5 space-y-5"},[n("div",{staticClass:"flex items-center"},[n("input",{ref:"loginInput",attrs:{id:"login_input_arl",autocomplete:"off",placeholder:"ARL",type:"password"},domProps:{value:e.arl}}),e._v(" "),n("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.copyARLtoClipboard}},[n("i",{staticClass:"material-icons"},[e._v("assignment")])])]),e._v(" "),n("RouterLink",{staticClass:"block",attrs:{to:{name:"ARL"}}},[e._v(` `+e._s(e.$t("settings.login.arl.question"))+` - `)]),e._v(" "),e.clientMode?a("a",{staticClass:"block",attrs:{href:"#"},on:{click:e.appLogin}},[e._v(` + `)]),e._v(" "),e.clientMode?n("a",{staticClass:"block",attrs:{href:"#"},on:{click:e.appLogin}},[e._v(` `+e._s(e.$t("settings.login.login"))+` - `)]):e._e(),e._v(" "),a("button",{staticClass:"btn btn-primary",staticStyle:{width:"100%"},on:{click:e.login}},[e._v(` + `)]):e._e(),e._v(" "),n("button",{staticClass:"btn btn-primary",staticStyle:{width:"100%"},on:{click:e.login}},[e._v(` `+e._s(e.$t("settings.login.arl.update"))+` - `)])],1)]),e._v(" "),a("div",{staticClass:"settings-group"},[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("language")]),e._v(e._s(e.$t("settings.languages")))]),e._v(" "),a("ul",{staticClass:"my-5"},e._l(e.locales,function(i){return a("li",{key:i,staticClass:"inline-flex items-center locale-flag",class:{"locale-flag--current":e.currentLocale===i},attrs:{title:i},domProps:{innerHTML:e._s(e.flags[i])},on:{click:function(r){return e.changeLocale(i)}}})}),0)]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("web")]),e._v(` + `)])],1)]),e._v(" "),n("div",{staticClass:"settings-group"},[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("language")]),e._v(e._s(e.$t("settings.languages")))]),e._v(" "),n("ul",{staticClass:"my-5"},e._l(e.locales,function(i){return n("li",{key:i,staticClass:"inline-flex items-center locale-flag",class:{"locale-flag--current":e.currentLocale===i},attrs:{title:i},domProps:{innerHTML:e._s(e.flags[i])},on:{click:function(r){return e.changeLocale(i)}}})}),0)]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("web")]),e._v(` `+e._s(e.$t("settings.appearance.title"))+` - `)])]},proxy:!0}])},[e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimDownloads,expression:"modelSlimDownloads"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimDownloads)?e._i(e.modelSlimDownloads,null)>-1:e.modelSlimDownloads},on:{change:function(i){var r=e.modelSlimDownloads,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimDownloads=r.concat([l])):c>-1&&(e.modelSlimDownloads=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimDownloads=o}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimDownloadTab")))])]),e._v(" "),a("label",{staticClass:"mb-4 with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimSidebar,expression:"modelSlimSidebar"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimSidebar)?e._i(e.modelSlimSidebar,null)>-1:e.modelSlimSidebar},on:{change:function(i){var r=e.modelSlimSidebar,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimSidebar=r.concat([l])):c>-1&&(e.modelSlimSidebar=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimSidebar=o}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimSidebar")))])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("folder")]),e._v(e._s(e.$t("settings.downloadPath.title"))+` - `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"flex items-center"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.downloadLocation,expression:"settings.downloadLocation"}],attrs:{autocomplete:"off",type:"text"},domProps:{value:e.settings.downloadLocation},on:{input:function(i){i.target.composing||e.$set(e.settings,"downloadLocation",i.target.value)}}}),e._v(" "),e.clientMode?a("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.selectDownloadFolder}},[a("i",{staticClass:"material-icons"},[e._v("folder")])]):e._e()])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("font_download")]),e._v(e._s(e.$t("settings.templates.title"))+` - `)])]},proxy:!0}])},[e._v(" "),a("p",[e._v(e._s(e.$t("settings.templates.tracknameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tracknameTemplate,expression:"settings.tracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.tracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"tracknameTemplate",i.target.value)}}}),e._v(" "),a("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` + `)])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimDownloads,expression:"modelSlimDownloads"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimDownloads)?e._i(e.modelSlimDownloads,null)>-1:e.modelSlimDownloads},on:{change:function(i){var r=e.modelSlimDownloads,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimDownloads=r.concat([l])):c>-1&&(e.modelSlimDownloads=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimDownloads=o}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimDownloadTab")))])]),e._v(" "),n("label",{staticClass:"mb-4 with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimSidebar,expression:"modelSlimSidebar"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimSidebar)?e._i(e.modelSlimSidebar,null)>-1:e.modelSlimSidebar},on:{change:function(i){var r=e.modelSlimSidebar,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimSidebar=r.concat([l])):c>-1&&(e.modelSlimSidebar=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimSidebar=o}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimSidebar")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("folder")]),e._v(e._s(e.$t("settings.downloadPath.title"))+` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"flex items-center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.downloadLocation,expression:"settings.downloadLocation"}],attrs:{autocomplete:"off",type:"text"},domProps:{value:e.settings.downloadLocation},on:{input:function(i){i.target.composing||e.$set(e.settings,"downloadLocation",i.target.value)}}}),e._v(" "),e.clientMode?n("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.selectDownloadFolder}},[n("i",{staticClass:"material-icons"},[e._v("folder")])]):e._e()])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("font_download")]),e._v(e._s(e.$t("settings.templates.title"))+` + `)])]},proxy:!0}])},[e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.tracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tracknameTemplate,expression:"settings.tracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.tracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"tracknameTemplate",i.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` `+e._s(e.$t("settings.templates.tracknameAvailableVariables"))+` - `)]},proxy:!0}])}),e._v(" "),a("p",[e._v(e._s(e.$t("settings.templates.albumTracknameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumTracknameTemplate,expression:"settings.albumTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumTracknameTemplate",i.target.value)}}}),e._v(" "),a("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` + `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.albumTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumTracknameTemplate,expression:"settings.albumTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumTracknameTemplate",i.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` `+e._s(e.$t("settings.templates.albumTracknameAvailableVariables"))+` - `)]},proxy:!0}])}),e._v(" "),a("p",[e._v(e._s(e.$t("settings.templates.playlistTracknameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistTracknameTemplate,expression:"settings.playlistTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistTracknameTemplate",i.target.value)}}}),e._v(" "),a("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` + `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.playlistTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistTracknameTemplate,expression:"settings.playlistTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistTracknameTemplate",i.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` `+e._s(e.$t("settings.templates.playlistTracknameAvailableVariables"))+` - `)]},proxy:!0}])})],1),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("create_new_folder")]),e._v(e._s(e.$t("settings.folders.title"))+` - `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__third"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createPlaylistFolder,expression:"settings.createPlaylistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createPlaylistFolder)?e._i(e.settings.createPlaylistFolder,null)>-1:e.settings.createPlaylistFolder},on:{change:function(i){var r=e.settings.createPlaylistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createPlaylistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createPlaylistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createPlaylistFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createPlaylistFolder")))])]),e._v(" "),e.settings.createPlaylistFolder?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.playlistNameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistNameTemplate,expression:"settings.playlistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),a("div",{staticClass:"settings-container__third"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createArtistFolder,expression:"settings.createArtistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createArtistFolder)?e._i(e.settings.createArtistFolder,null)>-1:e.settings.createArtistFolder},on:{change:function(i){var r=e.settings.createArtistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createArtistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createArtistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createArtistFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createArtistFolder")))])]),e._v(" "),e.settings.createArtistFolder?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.artistNameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistNameTemplate,expression:"settings.artistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),a("div",{staticClass:"settings-container__third"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createAlbumFolder,expression:"settings.createAlbumFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createAlbumFolder)?e._i(e.settings.createAlbumFolder,null)>-1:e.settings.createAlbumFolder},on:{change:function(i){var r=e.settings.createAlbumFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createAlbumFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createAlbumFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createAlbumFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createAlbumFolder")))])]),e._v(" "),e.settings.createAlbumFolder?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.albumNameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumNameTemplate,expression:"settings.albumNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumNameTemplate",i.target.value)}}})]):e._e()])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createCDFolder,expression:"settings.createCDFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createCDFolder)?e._i(e.settings.createCDFolder,null)>-1:e.settings.createCDFolder},on:{change:function(i){var r=e.settings.createCDFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createCDFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createCDFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createCDFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createCDFolder")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createStructurePlaylist,expression:"settings.createStructurePlaylist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createStructurePlaylist)?e._i(e.settings.createStructurePlaylist,null)>-1:e.settings.createStructurePlaylist},on:{change:function(i){var r=e.settings.createStructurePlaylist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createStructurePlaylist",r.concat([l])):c>-1&&e.$set(e.settings,"createStructurePlaylist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createStructurePlaylist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createStructurePlaylist")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createSingleFolder,expression:"settings.createSingleFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createSingleFolder)?e._i(e.settings.createSingleFolder,null)>-1:e.settings.createSingleFolder},on:{change:function(i){var r=e.settings.createSingleFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createSingleFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createSingleFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createSingleFolder",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createSingleFolder")))])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("title")]),e._v(e._s(e.$t("settings.trackTitles.title"))+` - `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.padTracks,expression:"settings.padTracks"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.padTracks)?e._i(e.settings.padTracks,null)>-1:e.settings.padTracks},on:{change:function(i){var r=e.settings.padTracks,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"padTracks",r.concat([l])):c>-1&&e.$set(e.settings,"padTracks",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"padTracks",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.trackTitles.padTracks")))])])]),e._v(" "),a("div",{staticClass:"settings-container__third"},[a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.paddingSize")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.paddingSize,expression:"settings.paddingSize"}],attrs:{max:"10",type:"number"},domProps:{value:e.settings.paddingSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"paddingSize",i.target.value)}}})])]),e._v(" "),a("div",{staticClass:"settings-container__third"},[a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.illegalCharacterReplacer")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.illegalCharacterReplacer,expression:"settings.illegalCharacterReplacer"}],attrs:{type:"text"},domProps:{value:e.settings.illegalCharacterReplacer},on:{input:function(i){i.target.composing||e.$set(e.settings,"illegalCharacterReplacer",i.target.value)}}})])])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("album")]),e._v(e._s(e.$t("settings.covers.title")))])]},proxy:!0}])},[e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtwork,expression:"settings.saveArtwork"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtwork)?e._i(e.settings.saveArtwork,null)>-1:e.settings.saveArtwork},on:{change:function(i){var r=e.settings.saveArtwork,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtwork",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtwork",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtwork",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtwork")))])]),e._v(" "),e.settings.saveArtwork?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.coverImageTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.coverImageTemplate,expression:"settings.coverImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.coverImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"coverImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtworkArtist,expression:"settings.saveArtworkArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtworkArtist)?e._i(e.settings.saveArtworkArtist,null)>-1:e.settings.saveArtworkArtist},on:{change:function(i){var r=e.settings.saveArtworkArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtworkArtist",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtworkArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtworkArtist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtworkArtist")))])]),e._v(" "),e.settings.saveArtworkArtist?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.artistImageTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistImageTemplate,expression:"settings.artistImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkSize")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.localArtworkSize,expression:"settings.localArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.localArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"localArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.localArtworkSize>1200?a("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` + `)]},proxy:!0}])})],1),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("create_new_folder")]),e._v(e._s(e.$t("settings.folders.title"))+` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createPlaylistFolder,expression:"settings.createPlaylistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createPlaylistFolder)?e._i(e.settings.createPlaylistFolder,null)>-1:e.settings.createPlaylistFolder},on:{change:function(i){var r=e.settings.createPlaylistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createPlaylistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createPlaylistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createPlaylistFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createPlaylistFolder")))])]),e._v(" "),e.settings.createPlaylistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.playlistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistNameTemplate,expression:"settings.playlistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createArtistFolder,expression:"settings.createArtistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createArtistFolder)?e._i(e.settings.createArtistFolder,null)>-1:e.settings.createArtistFolder},on:{change:function(i){var r=e.settings.createArtistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createArtistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createArtistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createArtistFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createArtistFolder")))])]),e._v(" "),e.settings.createArtistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.artistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistNameTemplate,expression:"settings.artistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createAlbumFolder,expression:"settings.createAlbumFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createAlbumFolder)?e._i(e.settings.createAlbumFolder,null)>-1:e.settings.createAlbumFolder},on:{change:function(i){var r=e.settings.createAlbumFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createAlbumFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createAlbumFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createAlbumFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createAlbumFolder")))])]),e._v(" "),e.settings.createAlbumFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.albumNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumNameTemplate,expression:"settings.albumNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumNameTemplate",i.target.value)}}})]):e._e()])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createCDFolder,expression:"settings.createCDFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createCDFolder)?e._i(e.settings.createCDFolder,null)>-1:e.settings.createCDFolder},on:{change:function(i){var r=e.settings.createCDFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createCDFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createCDFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createCDFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createCDFolder")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createStructurePlaylist,expression:"settings.createStructurePlaylist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createStructurePlaylist)?e._i(e.settings.createStructurePlaylist,null)>-1:e.settings.createStructurePlaylist},on:{change:function(i){var r=e.settings.createStructurePlaylist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createStructurePlaylist",r.concat([l])):c>-1&&e.$set(e.settings,"createStructurePlaylist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createStructurePlaylist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createStructurePlaylist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createSingleFolder,expression:"settings.createSingleFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createSingleFolder)?e._i(e.settings.createSingleFolder,null)>-1:e.settings.createSingleFolder},on:{change:function(i){var r=e.settings.createSingleFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createSingleFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createSingleFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createSingleFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createSingleFolder")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("title")]),e._v(e._s(e.$t("settings.trackTitles.title"))+` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.padTracks,expression:"settings.padTracks"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.padTracks)?e._i(e.settings.padTracks,null)>-1:e.settings.padTracks},on:{change:function(i){var r=e.settings.padTracks,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"padTracks",r.concat([l])):c>-1&&e.$set(e.settings,"padTracks",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"padTracks",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.trackTitles.padTracks")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.paddingSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.paddingSize,expression:"settings.paddingSize"}],attrs:{max:"10",type:"number"},domProps:{value:e.settings.paddingSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"paddingSize",i.target.value)}}})])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.illegalCharacterReplacer")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.illegalCharacterReplacer,expression:"settings.illegalCharacterReplacer"}],attrs:{type:"text"},domProps:{value:e.settings.illegalCharacterReplacer},on:{input:function(i){i.target.composing||e.$set(e.settings,"illegalCharacterReplacer",i.target.value)}}})])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("album")]),e._v(e._s(e.$t("settings.covers.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtwork,expression:"settings.saveArtwork"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtwork)?e._i(e.settings.saveArtwork,null)>-1:e.settings.saveArtwork},on:{change:function(i){var r=e.settings.saveArtwork,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtwork",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtwork",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtwork",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtwork")))])]),e._v(" "),e.settings.saveArtwork?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.coverImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.coverImageTemplate,expression:"settings.coverImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.coverImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"coverImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtworkArtist,expression:"settings.saveArtworkArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtworkArtist)?e._i(e.settings.saveArtworkArtist,null)>-1:e.settings.saveArtworkArtist},on:{change:function(i){var r=e.settings.saveArtworkArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtworkArtist",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtworkArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtworkArtist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtworkArtist")))])]),e._v(" "),e.settings.saveArtworkArtist?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.artistImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistImageTemplate,expression:"settings.artistImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.localArtworkSize,expression:"settings.localArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.localArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"localArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.localArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` \u26A0\uFE0F `+e._s(e.$t("settings.covers.imageSizeWarning"))+` - `)]):e._e()]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkSize")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.embeddedArtworkSize,expression:"settings.embeddedArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.embeddedArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"embeddedArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.embeddedArtworkSize>1200?a("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` + `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.embeddedArtworkSize,expression:"settings.embeddedArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.embeddedArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"embeddedArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.embeddedArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` \u26A0\uFE0F `+e._s(e.$t("settings.covers.imageSizeWarning"))+` - `)]):e._e()]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.localArtworkFormat,expression:"settings.localArtworkFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"localArtworkFormat",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"jpg"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.jpg")))]),e._v(" "),a("option",{attrs:{value:"png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.png")))]),e._v(" "),a("option",{attrs:{value:"jpg,png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.both")))])])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.embeddedArtworkPNG,expression:"settings.embeddedArtworkPNG"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.embeddedArtworkPNG)?e._i(e.settings.embeddedArtworkPNG,null)>-1:e.settings.embeddedArtworkPNG},on:{change:function(i){var r=e.settings.embeddedArtworkPNG,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"embeddedArtworkPNG",r.concat([l])):c>-1&&e.$set(e.settings,"embeddedArtworkPNG",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"embeddedArtworkPNG",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkPNG")))])]),e._v(" "),e.settings.embeddedArtworkPNG?a("p",{staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` + `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.localArtworkFormat,expression:"settings.localArtworkFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"localArtworkFormat",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"jpg"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.jpg")))]),e._v(" "),n("option",{attrs:{value:"png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.png")))]),e._v(" "),n("option",{attrs:{value:"jpg,png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.both")))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.embeddedArtworkPNG,expression:"settings.embeddedArtworkPNG"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.embeddedArtworkPNG)?e._i(e.settings.embeddedArtworkPNG,null)>-1:e.settings.embeddedArtworkPNG},on:{change:function(i){var r=e.settings.embeddedArtworkPNG,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"embeddedArtworkPNG",r.concat([l])):c>-1&&e.$set(e.settings,"embeddedArtworkPNG",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"embeddedArtworkPNG",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkPNG")))])]),e._v(" "),e.settings.embeddedArtworkPNG?n("p",{staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` \u26A0\uFE0F `+e._s(e.$t("settings.covers.embeddedPNGWarning"))+` - `)]):e._e(),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.coverDescriptionUTF8,expression:"settings.tags.coverDescriptionUTF8"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.coverDescriptionUTF8)?e._i(e.settings.tags.coverDescriptionUTF8,null)>-1:e.settings.tags.coverDescriptionUTF8},on:{change:function(i){var r=e.settings.tags.coverDescriptionUTF8,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.concat([l])):c>-1&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"coverDescriptionUTF8",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.coverDescriptionUTF8")))])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.jpegImageQuality")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.jpegImageQuality,expression:"settings.jpegImageQuality",modifiers:{number:!0}}],attrs:{max:"100",min:"1",type:"number"},domProps:{value:e.settings.jpegImageQuality},on:{input:function(i){i.target.composing||e.$set(e.settings,"jpegImageQuality",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons",staticStyle:{width:"1em",height:"1em"}},[e._v("bookmarks")]),e._v(e._s(e.$t("settings.tags.head"))+` - `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__half"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.title,expression:"settings.tags.title"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.title)?e._i(e.settings.tags.title,null)>-1:e.settings.tags.title},on:{change:function(i){var r=e.settings.tags.title,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"title",r.concat([l])):c>-1&&e.$set(e.settings.tags,"title",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"title",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.title")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.artist,expression:"settings.tags.artist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.artist)?e._i(e.settings.tags.artist,null)>-1:e.settings.tags.artist},on:{change:function(i){var r=e.settings.tags.artist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"artist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"artist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"artist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.artist")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.album,expression:"settings.tags.album"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.album)?e._i(e.settings.tags.album,null)>-1:e.settings.tags.album},on:{change:function(i){var r=e.settings.tags.album,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"album",r.concat([l])):c>-1&&e.$set(e.settings.tags,"album",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"album",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.album")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.cover,expression:"settings.tags.cover"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.cover)?e._i(e.settings.tags.cover,null)>-1:e.settings.tags.cover},on:{change:function(i){var r=e.settings.tags.cover,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"cover",r.concat([l])):c>-1&&e.$set(e.settings.tags,"cover",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"cover",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.cover")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackNumber,expression:"settings.tags.trackNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackNumber)?e._i(e.settings.tags.trackNumber,null)>-1:e.settings.tags.trackNumber},on:{change:function(i){var r=e.settings.tags.trackNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackNumber",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackNumber")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackTotal,expression:"settings.tags.trackTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackTotal)?e._i(e.settings.tags.trackTotal,null)>-1:e.settings.tags.trackTotal},on:{change:function(i){var r=e.settings.tags.trackTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackTotal",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackTotal")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discNumber,expression:"settings.tags.discNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discNumber)?e._i(e.settings.tags.discNumber,null)>-1:e.settings.tags.discNumber},on:{change:function(i){var r=e.settings.tags.discNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discNumber",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discNumber")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discTotal,expression:"settings.tags.discTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discTotal)?e._i(e.settings.tags.discTotal,null)>-1:e.settings.tags.discTotal},on:{change:function(i){var r=e.settings.tags.discTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discTotal",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discTotal")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.albumArtist,expression:"settings.tags.albumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.albumArtist)?e._i(e.settings.tags.albumArtist,null)>-1:e.settings.tags.albumArtist},on:{change:function(i){var r=e.settings.tags.albumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"albumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"albumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"albumArtist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.albumArtist")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.genre,expression:"settings.tags.genre"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.genre)?e._i(e.settings.tags.genre,null)>-1:e.settings.tags.genre},on:{change:function(i){var r=e.settings.tags.genre,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"genre",r.concat([l])):c>-1&&e.$set(e.settings.tags,"genre",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"genre",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.genre")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.year,expression:"settings.tags.year"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.year)?e._i(e.settings.tags.year,null)>-1:e.settings.tags.year},on:{change:function(i){var r=e.settings.tags.year,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"year",r.concat([l])):c>-1&&e.$set(e.settings.tags,"year",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"year",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.year")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.date,expression:"settings.tags.date"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.date)?e._i(e.settings.tags.date,null)>-1:e.settings.tags.date},on:{change:function(i){var r=e.settings.tags.date,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"date",r.concat([l])):c>-1&&e.$set(e.settings.tags,"date",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"date",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.date")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.explicit,expression:"settings.tags.explicit"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.explicit)?e._i(e.settings.tags.explicit,null)>-1:e.settings.tags.explicit},on:{change:function(i){var r=e.settings.tags.explicit,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"explicit",r.concat([l])):c>-1&&e.$set(e.settings.tags,"explicit",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"explicit",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.explicit")))])])]),e._v(" "),a("div",{staticClass:"settings-container__half"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.isrc,expression:"settings.tags.isrc"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.isrc)?e._i(e.settings.tags.isrc,null)>-1:e.settings.tags.isrc},on:{change:function(i){var r=e.settings.tags.isrc,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"isrc",r.concat([l])):c>-1&&e.$set(e.settings.tags,"isrc",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"isrc",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.isrc")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.length,expression:"settings.tags.length"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.length)?e._i(e.settings.tags.length,null)>-1:e.settings.tags.length},on:{change:function(i){var r=e.settings.tags.length,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"length",r.concat([l])):c>-1&&e.$set(e.settings.tags,"length",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"length",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.length")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.barcode,expression:"settings.tags.barcode"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.barcode)?e._i(e.settings.tags.barcode,null)>-1:e.settings.tags.barcode},on:{change:function(i){var r=e.settings.tags.barcode,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"barcode",r.concat([l])):c>-1&&e.$set(e.settings.tags,"barcode",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"barcode",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.barcode")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.bpm,expression:"settings.tags.bpm"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.bpm)?e._i(e.settings.tags.bpm,null)>-1:e.settings.tags.bpm},on:{change:function(i){var r=e.settings.tags.bpm,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"bpm",r.concat([l])):c>-1&&e.$set(e.settings.tags,"bpm",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"bpm",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.bpm")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.replayGain,expression:"settings.tags.replayGain"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.replayGain)?e._i(e.settings.tags.replayGain,null)>-1:e.settings.tags.replayGain},on:{change:function(i){var r=e.settings.tags.replayGain,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"replayGain",r.concat([l])):c>-1&&e.$set(e.settings.tags,"replayGain",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"replayGain",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.replayGain")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.label,expression:"settings.tags.label"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.label)?e._i(e.settings.tags.label,null)>-1:e.settings.tags.label},on:{change:function(i){var r=e.settings.tags.label,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"label",r.concat([l])):c>-1&&e.$set(e.settings.tags,"label",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"label",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.label")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.lyrics,expression:"settings.tags.lyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.lyrics)?e._i(e.settings.tags.lyrics,null)>-1:e.settings.tags.lyrics},on:{change:function(i){var r=e.settings.tags.lyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"lyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"lyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"lyrics",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.lyrics")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.syncedLyrics,expression:"settings.tags.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.syncedLyrics)?e._i(e.settings.tags.syncedLyrics,null)>-1:e.settings.tags.syncedLyrics},on:{change:function(i){var r=e.settings.tags.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"syncedLyrics",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.syncedLyrics")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.copyright,expression:"settings.tags.copyright"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.copyright)?e._i(e.settings.tags.copyright,null)>-1:e.settings.tags.copyright},on:{change:function(i){var r=e.settings.tags.copyright,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"copyright",r.concat([l])):c>-1&&e.$set(e.settings.tags,"copyright",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"copyright",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.copyright")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.composer,expression:"settings.tags.composer"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.composer)?e._i(e.settings.tags.composer,null)>-1:e.settings.tags.composer},on:{change:function(i){var r=e.settings.tags.composer,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"composer",r.concat([l])):c>-1&&e.$set(e.settings.tags,"composer",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"composer",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.composer")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.involvedPeople,expression:"settings.tags.involvedPeople"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.involvedPeople)?e._i(e.settings.tags.involvedPeople,null)>-1:e.settings.tags.involvedPeople},on:{change:function(i){var r=e.settings.tags.involvedPeople,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"involvedPeople",r.concat([l])):c>-1&&e.$set(e.settings.tags,"involvedPeople",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"involvedPeople",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.involvedPeople")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.source,expression:"settings.tags.source"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.source)?e._i(e.settings.tags.source,null)>-1:e.settings.tags.source},on:{change:function(i){var r=e.settings.tags.source,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"source",r.concat([l])):c>-1&&e.$set(e.settings.tags,"source",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"source",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.source")))])])])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("get_app")]),e._v(e._s(e.$t("settings.downloads.title"))+` - `)])]},proxy:!0}])},[e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.queueConcurrency")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.queueConcurrency,expression:"settings.queueConcurrency",modifiers:{number:!0}}],attrs:{min:"1",type:"number"},domProps:{value:e.settings.queueConcurrency},on:{input:function(i){i.target.composing||e.$set(e.settings,"queueConcurrency",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.maxBitrate.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.maxBitrate,expression:"settings.maxBitrate"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"maxBitrate",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"9"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.9")))]),e._v(" "),a("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.3")))]),e._v(" "),a("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.1")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.overwriteFile.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.overwriteFile,expression:"settings.overwriteFile"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"overwriteFile",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"y"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.y")))]),e._v(" "),a("option",{attrs:{value:"n"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.n")))]),e._v(" "),a("option",{attrs:{value:"e"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.e")))]),e._v(" "),a("option",{attrs:{value:"b"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.b")))]),e._v(" "),a("option",{attrs:{value:"t"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.t")))])])]),e._v(" "),a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackBitrate,expression:"settings.fallbackBitrate"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackBitrate)?e._i(e.settings.fallbackBitrate,null)>-1:e.settings.fallbackBitrate},on:{change:function(i){var r=e.settings.fallbackBitrate,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackBitrate",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackBitrate",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackBitrate",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackBitrate")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackSearch,expression:"settings.fallbackSearch"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackSearch)?e._i(e.settings.fallbackSearch,null)>-1:e.settings.fallbackSearch},on:{change:function(i){var r=e.settings.fallbackSearch,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackSearch",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackSearch",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackSearch",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackSearch")))])])]),e._v(" "),a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logErrors,expression:"settings.logErrors"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logErrors)?e._i(e.settings.logErrors,null)>-1:e.settings.logErrors},on:{change:function(i){var r=e.settings.logErrors,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logErrors",r.concat([l])):c>-1&&e.$set(e.settings,"logErrors",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logErrors",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logErrors")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logSearched,expression:"settings.logSearched"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logSearched)?e._i(e.settings.logSearched,null)>-1:e.settings.logSearched},on:{change:function(i){var r=e.settings.logSearched,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logSearched",r.concat([l])):c>-1&&e.$set(e.settings,"logSearched",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logSearched",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logSearched")))])])]),e._v(" "),a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.syncedLyrics,expression:"settings.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.syncedLyrics)?e._i(e.settings.syncedLyrics,null)>-1:e.settings.syncedLyrics},on:{change:function(i){var r=e.settings.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"syncedLyrics",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.syncedLyrics")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createM3U8File,expression:"settings.createM3U8File"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createM3U8File)?e._i(e.settings.createM3U8File,null)>-1:e.settings.createM3U8File},on:{change:function(i){var r=e.settings.createM3U8File,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createM3U8File",r.concat([l])):c>-1&&e.$set(e.settings,"createM3U8File",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createM3U8File",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.createM3U8File")))])])])]),e._v(" "),e.settings.createM3U8File?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.playlistFilenameTemplate")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistFilenameTemplate,expression:"settings.playlistFilenameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistFilenameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistFilenameTemplate",i.target.value)}}})]):e._e(),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveDownloadQueue,expression:"settings.saveDownloadQueue"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveDownloadQueue)?e._i(e.settings.saveDownloadQueue,null)>-1:e.settings.saveDownloadQueue},on:{change:function(i){var r=e.settings.saveDownloadQueue,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveDownloadQueue",r.concat([l])):c>-1&&e.$set(e.settings,"saveDownloadQueue",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveDownloadQueue",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.saveDownloadQueue")))])])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("list")]),e._v(e._s(e.$t("settings.other.title")))])]},proxy:!0}])},[e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.savePlaylistAsCompilation,expression:"settings.tags.savePlaylistAsCompilation"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.savePlaylistAsCompilation)?e._i(e.settings.tags.savePlaylistAsCompilation,null)>-1:e.settings.tags.savePlaylistAsCompilation},on:{change:function(i){var r=e.settings.tags.savePlaylistAsCompilation,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.concat([l])):c>-1&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"savePlaylistAsCompilation",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.savePlaylistAsCompilation")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.useNullSeparator,expression:"settings.tags.useNullSeparator"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.useNullSeparator)?e._i(e.settings.tags.useNullSeparator,null)>-1:e.settings.tags.useNullSeparator},on:{change:function(i){var r=e.settings.tags.useNullSeparator,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"useNullSeparator",r.concat([l])):c>-1&&e.$set(e.settings.tags,"useNullSeparator",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"useNullSeparator",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.useNullSeparator")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.saveID3v1,expression:"settings.tags.saveID3v1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.saveID3v1)?e._i(e.settings.tags.saveID3v1,null)>-1:e.settings.tags.saveID3v1},on:{change:function(i){var r=e.settings.tags.saveID3v1,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"saveID3v1",r.concat([l])):c>-1&&e.$set(e.settings.tags,"saveID3v1",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"saveID3v1",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.saveID3v1")))])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.multiArtistSeparator,expression:"settings.tags.multiArtistSeparator"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings.tags,"multiArtistSeparator",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.nothing")))]),e._v(" "),a("option",{attrs:{value:"default"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.default")))]),e._v(" "),a("option",{attrs:{value:"andFeat"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.andFeat")))]),e._v(" "),a("option",{attrs:{value:" & "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" & "})))]),e._v(" "),a("option",{attrs:{value:","}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:","})))]),e._v(" "),a("option",{attrs:{value:", "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:", "})))]),e._v(" "),a("option",{attrs:{value:"/"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"/"})))]),e._v(" "),a("option",{attrs:{value:" / "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" / "})))]),e._v(" "),a("option",{attrs:{value:";"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:";"})))]),e._v(" "),a("option",{attrs:{value:"; "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"; "})))])])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.singleAlbumArtist,expression:"settings.tags.singleAlbumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.singleAlbumArtist)?e._i(e.settings.tags.singleAlbumArtist,null)>-1:e.settings.tags.singleAlbumArtist},on:{change:function(i){var r=e.settings.tags.singleAlbumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"singleAlbumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"singleAlbumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"singleAlbumArtist",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.singleAlbumArtist")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumVariousArtists,expression:"settings.albumVariousArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.albumVariousArtists)?e._i(e.settings.albumVariousArtists,null)>-1:e.settings.albumVariousArtists},on:{change:function(i){var r=e.settings.albumVariousArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"albumVariousArtists",r.concat([l])):c>-1&&e.$set(e.settings,"albumVariousArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"albumVariousArtists",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.albumVariousArtists")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeAlbumVersion,expression:"settings.removeAlbumVersion"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeAlbumVersion)?e._i(e.settings.removeAlbumVersion,null)>-1:e.settings.removeAlbumVersion},on:{change:function(i){var r=e.settings.removeAlbumVersion,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeAlbumVersion",r.concat([l])):c>-1&&e.$set(e.settings,"removeAlbumVersion",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeAlbumVersion",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeAlbumVersion")))])]),e._v(" "),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeDuplicateArtists,expression:"settings.removeDuplicateArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeDuplicateArtists)?e._i(e.settings.removeDuplicateArtists,null)>-1:e.settings.removeDuplicateArtists},on:{change:function(i){var r=e.settings.removeDuplicateArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeDuplicateArtists",r.concat([l])):c>-1&&e.$set(e.settings,"removeDuplicateArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeDuplicateArtists",o)}}}),e._v(" "),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeDuplicateArtists")))])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.dateFormat.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.dateFormat,expression:"settings.dateFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"dateFormat",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"Y-M-D"}},[e._v(` + `)]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.coverDescriptionUTF8,expression:"settings.tags.coverDescriptionUTF8"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.coverDescriptionUTF8)?e._i(e.settings.tags.coverDescriptionUTF8,null)>-1:e.settings.tags.coverDescriptionUTF8},on:{change:function(i){var r=e.settings.tags.coverDescriptionUTF8,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.concat([l])):c>-1&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"coverDescriptionUTF8",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.coverDescriptionUTF8")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.jpegImageQuality")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.jpegImageQuality,expression:"settings.jpegImageQuality",modifiers:{number:!0}}],attrs:{max:"100",min:"1",type:"number"},domProps:{value:e.settings.jpegImageQuality},on:{input:function(i){i.target.composing||e.$set(e.settings,"jpegImageQuality",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons",staticStyle:{width:"1em",height:"1em"}},[e._v("bookmarks")]),e._v(e._s(e.$t("settings.tags.head"))+` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.title,expression:"settings.tags.title"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.title)?e._i(e.settings.tags.title,null)>-1:e.settings.tags.title},on:{change:function(i){var r=e.settings.tags.title,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"title",r.concat([l])):c>-1&&e.$set(e.settings.tags,"title",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"title",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.title")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.artist,expression:"settings.tags.artist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.artist)?e._i(e.settings.tags.artist,null)>-1:e.settings.tags.artist},on:{change:function(i){var r=e.settings.tags.artist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"artist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"artist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"artist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.artist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.album,expression:"settings.tags.album"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.album)?e._i(e.settings.tags.album,null)>-1:e.settings.tags.album},on:{change:function(i){var r=e.settings.tags.album,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"album",r.concat([l])):c>-1&&e.$set(e.settings.tags,"album",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"album",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.album")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.cover,expression:"settings.tags.cover"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.cover)?e._i(e.settings.tags.cover,null)>-1:e.settings.tags.cover},on:{change:function(i){var r=e.settings.tags.cover,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"cover",r.concat([l])):c>-1&&e.$set(e.settings.tags,"cover",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"cover",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.cover")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackNumber,expression:"settings.tags.trackNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackNumber)?e._i(e.settings.tags.trackNumber,null)>-1:e.settings.tags.trackNumber},on:{change:function(i){var r=e.settings.tags.trackNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackNumber",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackTotal,expression:"settings.tags.trackTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackTotal)?e._i(e.settings.tags.trackTotal,null)>-1:e.settings.tags.trackTotal},on:{change:function(i){var r=e.settings.tags.trackTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackTotal",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discNumber,expression:"settings.tags.discNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discNumber)?e._i(e.settings.tags.discNumber,null)>-1:e.settings.tags.discNumber},on:{change:function(i){var r=e.settings.tags.discNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discNumber",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discTotal,expression:"settings.tags.discTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discTotal)?e._i(e.settings.tags.discTotal,null)>-1:e.settings.tags.discTotal},on:{change:function(i){var r=e.settings.tags.discTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discTotal",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.albumArtist,expression:"settings.tags.albumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.albumArtist)?e._i(e.settings.tags.albumArtist,null)>-1:e.settings.tags.albumArtist},on:{change:function(i){var r=e.settings.tags.albumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"albumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"albumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"albumArtist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.albumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.genre,expression:"settings.tags.genre"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.genre)?e._i(e.settings.tags.genre,null)>-1:e.settings.tags.genre},on:{change:function(i){var r=e.settings.tags.genre,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"genre",r.concat([l])):c>-1&&e.$set(e.settings.tags,"genre",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"genre",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.genre")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.year,expression:"settings.tags.year"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.year)?e._i(e.settings.tags.year,null)>-1:e.settings.tags.year},on:{change:function(i){var r=e.settings.tags.year,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"year",r.concat([l])):c>-1&&e.$set(e.settings.tags,"year",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"year",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.year")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.date,expression:"settings.tags.date"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.date)?e._i(e.settings.tags.date,null)>-1:e.settings.tags.date},on:{change:function(i){var r=e.settings.tags.date,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"date",r.concat([l])):c>-1&&e.$set(e.settings.tags,"date",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"date",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.date")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.explicit,expression:"settings.tags.explicit"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.explicit)?e._i(e.settings.tags.explicit,null)>-1:e.settings.tags.explicit},on:{change:function(i){var r=e.settings.tags.explicit,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"explicit",r.concat([l])):c>-1&&e.$set(e.settings.tags,"explicit",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"explicit",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.explicit")))])])]),e._v(" "),n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.isrc,expression:"settings.tags.isrc"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.isrc)?e._i(e.settings.tags.isrc,null)>-1:e.settings.tags.isrc},on:{change:function(i){var r=e.settings.tags.isrc,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"isrc",r.concat([l])):c>-1&&e.$set(e.settings.tags,"isrc",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"isrc",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.isrc")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.length,expression:"settings.tags.length"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.length)?e._i(e.settings.tags.length,null)>-1:e.settings.tags.length},on:{change:function(i){var r=e.settings.tags.length,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"length",r.concat([l])):c>-1&&e.$set(e.settings.tags,"length",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"length",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.length")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.barcode,expression:"settings.tags.barcode"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.barcode)?e._i(e.settings.tags.barcode,null)>-1:e.settings.tags.barcode},on:{change:function(i){var r=e.settings.tags.barcode,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"barcode",r.concat([l])):c>-1&&e.$set(e.settings.tags,"barcode",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"barcode",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.barcode")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.bpm,expression:"settings.tags.bpm"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.bpm)?e._i(e.settings.tags.bpm,null)>-1:e.settings.tags.bpm},on:{change:function(i){var r=e.settings.tags.bpm,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"bpm",r.concat([l])):c>-1&&e.$set(e.settings.tags,"bpm",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"bpm",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.bpm")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.replayGain,expression:"settings.tags.replayGain"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.replayGain)?e._i(e.settings.tags.replayGain,null)>-1:e.settings.tags.replayGain},on:{change:function(i){var r=e.settings.tags.replayGain,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"replayGain",r.concat([l])):c>-1&&e.$set(e.settings.tags,"replayGain",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"replayGain",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.replayGain")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.label,expression:"settings.tags.label"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.label)?e._i(e.settings.tags.label,null)>-1:e.settings.tags.label},on:{change:function(i){var r=e.settings.tags.label,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"label",r.concat([l])):c>-1&&e.$set(e.settings.tags,"label",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"label",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.label")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.lyrics,expression:"settings.tags.lyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.lyrics)?e._i(e.settings.tags.lyrics,null)>-1:e.settings.tags.lyrics},on:{change:function(i){var r=e.settings.tags.lyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"lyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"lyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"lyrics",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.lyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.syncedLyrics,expression:"settings.tags.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.syncedLyrics)?e._i(e.settings.tags.syncedLyrics,null)>-1:e.settings.tags.syncedLyrics},on:{change:function(i){var r=e.settings.tags.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"syncedLyrics",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.copyright,expression:"settings.tags.copyright"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.copyright)?e._i(e.settings.tags.copyright,null)>-1:e.settings.tags.copyright},on:{change:function(i){var r=e.settings.tags.copyright,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"copyright",r.concat([l])):c>-1&&e.$set(e.settings.tags,"copyright",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"copyright",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.copyright")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.composer,expression:"settings.tags.composer"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.composer)?e._i(e.settings.tags.composer,null)>-1:e.settings.tags.composer},on:{change:function(i){var r=e.settings.tags.composer,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"composer",r.concat([l])):c>-1&&e.$set(e.settings.tags,"composer",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"composer",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.composer")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.involvedPeople,expression:"settings.tags.involvedPeople"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.involvedPeople)?e._i(e.settings.tags.involvedPeople,null)>-1:e.settings.tags.involvedPeople},on:{change:function(i){var r=e.settings.tags.involvedPeople,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"involvedPeople",r.concat([l])):c>-1&&e.$set(e.settings.tags,"involvedPeople",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"involvedPeople",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.involvedPeople")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.source,expression:"settings.tags.source"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.source)?e._i(e.settings.tags.source,null)>-1:e.settings.tags.source},on:{change:function(i){var r=e.settings.tags.source,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"source",r.concat([l])):c>-1&&e.$set(e.settings.tags,"source",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"source",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.source")))])])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("get_app")]),e._v(e._s(e.$t("settings.downloads.title"))+` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.queueConcurrency")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.queueConcurrency,expression:"settings.queueConcurrency",modifiers:{number:!0}}],attrs:{min:"1",type:"number"},domProps:{value:e.settings.queueConcurrency},on:{input:function(i){i.target.composing||e.$set(e.settings,"queueConcurrency",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.maxBitrate.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.maxBitrate,expression:"settings.maxBitrate"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"maxBitrate",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"9"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.9")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.3")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.1")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.overwriteFile.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.overwriteFile,expression:"settings.overwriteFile"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"overwriteFile",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"y"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.y")))]),e._v(" "),n("option",{attrs:{value:"n"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.n")))]),e._v(" "),n("option",{attrs:{value:"e"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.e")))]),e._v(" "),n("option",{attrs:{value:"b"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.b")))]),e._v(" "),n("option",{attrs:{value:"t"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.t")))])])]),e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackBitrate,expression:"settings.fallbackBitrate"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackBitrate)?e._i(e.settings.fallbackBitrate,null)>-1:e.settings.fallbackBitrate},on:{change:function(i){var r=e.settings.fallbackBitrate,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackBitrate",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackBitrate",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackBitrate",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackBitrate")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackSearch,expression:"settings.fallbackSearch"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackSearch)?e._i(e.settings.fallbackSearch,null)>-1:e.settings.fallbackSearch},on:{change:function(i){var r=e.settings.fallbackSearch,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackSearch",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackSearch",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackSearch",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackSearch")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logErrors,expression:"settings.logErrors"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logErrors)?e._i(e.settings.logErrors,null)>-1:e.settings.logErrors},on:{change:function(i){var r=e.settings.logErrors,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logErrors",r.concat([l])):c>-1&&e.$set(e.settings,"logErrors",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logErrors",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logErrors")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logSearched,expression:"settings.logSearched"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logSearched)?e._i(e.settings.logSearched,null)>-1:e.settings.logSearched},on:{change:function(i){var r=e.settings.logSearched,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logSearched",r.concat([l])):c>-1&&e.$set(e.settings,"logSearched",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logSearched",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logSearched")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.syncedLyrics,expression:"settings.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.syncedLyrics)?e._i(e.settings.syncedLyrics,null)>-1:e.settings.syncedLyrics},on:{change:function(i){var r=e.settings.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"syncedLyrics",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createM3U8File,expression:"settings.createM3U8File"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createM3U8File)?e._i(e.settings.createM3U8File,null)>-1:e.settings.createM3U8File},on:{change:function(i){var r=e.settings.createM3U8File,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createM3U8File",r.concat([l])):c>-1&&e.$set(e.settings,"createM3U8File",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createM3U8File",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.createM3U8File")))])])])]),e._v(" "),e.settings.createM3U8File?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.playlistFilenameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistFilenameTemplate,expression:"settings.playlistFilenameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistFilenameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistFilenameTemplate",i.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveDownloadQueue,expression:"settings.saveDownloadQueue"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveDownloadQueue)?e._i(e.settings.saveDownloadQueue,null)>-1:e.settings.saveDownloadQueue},on:{change:function(i){var r=e.settings.saveDownloadQueue,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveDownloadQueue",r.concat([l])):c>-1&&e.$set(e.settings,"saveDownloadQueue",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveDownloadQueue",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.saveDownloadQueue")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("list")]),e._v(e._s(e.$t("settings.other.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.savePlaylistAsCompilation,expression:"settings.tags.savePlaylistAsCompilation"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.savePlaylistAsCompilation)?e._i(e.settings.tags.savePlaylistAsCompilation,null)>-1:e.settings.tags.savePlaylistAsCompilation},on:{change:function(i){var r=e.settings.tags.savePlaylistAsCompilation,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.concat([l])):c>-1&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"savePlaylistAsCompilation",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.savePlaylistAsCompilation")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.useNullSeparator,expression:"settings.tags.useNullSeparator"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.useNullSeparator)?e._i(e.settings.tags.useNullSeparator,null)>-1:e.settings.tags.useNullSeparator},on:{change:function(i){var r=e.settings.tags.useNullSeparator,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"useNullSeparator",r.concat([l])):c>-1&&e.$set(e.settings.tags,"useNullSeparator",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"useNullSeparator",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.useNullSeparator")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.saveID3v1,expression:"settings.tags.saveID3v1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.saveID3v1)?e._i(e.settings.tags.saveID3v1,null)>-1:e.settings.tags.saveID3v1},on:{change:function(i){var r=e.settings.tags.saveID3v1,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"saveID3v1",r.concat([l])):c>-1&&e.$set(e.settings.tags,"saveID3v1",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"saveID3v1",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.saveID3v1")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.multiArtistSeparator,expression:"settings.tags.multiArtistSeparator"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings.tags,"multiArtistSeparator",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.nothing")))]),e._v(" "),n("option",{attrs:{value:"default"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.default")))]),e._v(" "),n("option",{attrs:{value:"andFeat"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.andFeat")))]),e._v(" "),n("option",{attrs:{value:" & "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" & "})))]),e._v(" "),n("option",{attrs:{value:","}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:","})))]),e._v(" "),n("option",{attrs:{value:", "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:", "})))]),e._v(" "),n("option",{attrs:{value:"/"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"/"})))]),e._v(" "),n("option",{attrs:{value:" / "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" / "})))]),e._v(" "),n("option",{attrs:{value:";"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:";"})))]),e._v(" "),n("option",{attrs:{value:"; "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"; "})))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.singleAlbumArtist,expression:"settings.tags.singleAlbumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.singleAlbumArtist)?e._i(e.settings.tags.singleAlbumArtist,null)>-1:e.settings.tags.singleAlbumArtist},on:{change:function(i){var r=e.settings.tags.singleAlbumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"singleAlbumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"singleAlbumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"singleAlbumArtist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.singleAlbumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumVariousArtists,expression:"settings.albumVariousArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.albumVariousArtists)?e._i(e.settings.albumVariousArtists,null)>-1:e.settings.albumVariousArtists},on:{change:function(i){var r=e.settings.albumVariousArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"albumVariousArtists",r.concat([l])):c>-1&&e.$set(e.settings,"albumVariousArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"albumVariousArtists",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.albumVariousArtists")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeAlbumVersion,expression:"settings.removeAlbumVersion"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeAlbumVersion)?e._i(e.settings.removeAlbumVersion,null)>-1:e.settings.removeAlbumVersion},on:{change:function(i){var r=e.settings.removeAlbumVersion,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeAlbumVersion",r.concat([l])):c>-1&&e.$set(e.settings,"removeAlbumVersion",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeAlbumVersion",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeAlbumVersion")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeDuplicateArtists,expression:"settings.removeDuplicateArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeDuplicateArtists)?e._i(e.settings.removeDuplicateArtists,null)>-1:e.settings.removeDuplicateArtists},on:{change:function(i){var r=e.settings.removeDuplicateArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeDuplicateArtists",r.concat([l])):c>-1&&e.$set(e.settings,"removeDuplicateArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeDuplicateArtists",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeDuplicateArtists")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.dateFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.dateFormat,expression:"settings.dateFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"dateFormat",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"Y-M-D"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day"))+` - `)]),e._v(" "),a("option",{attrs:{value:"Y-D-M"}},[e._v(` + `)]),e._v(" "),n("option",{attrs:{value:"Y-D-M"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month"))+` - `)]),e._v(" "),a("option",{attrs:{value:"D-M-Y"}},[e._v(` + `)]),e._v(" "),n("option",{attrs:{value:"D-M-Y"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.year"))+` - `)]),e._v(" "),a("option",{attrs:{value:"M-D-Y"}},[e._v(` + `)]),e._v(" "),n("option",{attrs:{value:"M-D-Y"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.year"))+` - `)]),e._v(" "),a("option",{attrs:{value:"Y"}},[e._v(e._s(e.$t("settings.other.dateFormat.year")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.featuredToTitle.title")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.featuredToTitle,expression:"settings.featuredToTitle"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"featuredToTitle",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"0"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.0")))]),e._v(" "),a("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.1")))]),e._v(" "),a("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.3")))]),e._v(" "),a("option",{attrs:{value:"2"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.2")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.titleCasing")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.titleCasing,expression:"settings.titleCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"titleCasing",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),a("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),a("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),a("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),a("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.artistCasing")))]),e._v(" "),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistCasing,expression:"settings.artistCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"artistCasing",i.target.multiple?r:r[0])}}},[a("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),a("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),a("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),a("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),a("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.previewVolume")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.modelVolume,expression:"modelVolume",modifiers:{number:!0}}],staticClass:"slider",attrs:{max:"100",min:"0",step:"1",type:"range"},domProps:{value:e.modelVolume},on:{__r:function(i){e.modelVolume=e._n(i.target.value)},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),a("span",[e._v(e._s(e.previewVolume)+"%")])]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.executeCommand.title")))]),e._v(" "),a("p",{staticClass:"secondary-text"},[e._v(e._s(e.$t("settings.other.executeCommand.description")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.executeCommand,expression:"settings.executeCommand"}],attrs:{type:"text"},domProps:{value:e.settings.executeCommand},on:{input:function(i){i.target.composing||e.$set(e.settings,"executeCommand",i.target.value)}}})])]),e._v(" "),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("svg",{staticClass:"mr-4 w-6 h-6",staticStyle:{fill:"#1db954"},attrs:{"enable-background":"new 0 0 24 24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{d:"m12 24c6.624 0 12-5.376 12-12s-5.376-12-12-12-12 5.376-12 12 5.376 12 12 12zm4.872-6.344v.001c-.807 0-3.356-2.828-10.52-1.36-.189.049-.436.126-.576.126-.915 0-1.09-1.369-.106-1.578 3.963-.875 8.013-.798 11.467 1.268.824.526.474 1.543-.265 1.543zm1.303-3.173c-.113-.03-.08.069-.597-.203-3.025-1.79-7.533-2.512-11.545-1.423-.232.063-.358.126-.576.126-1.071 0-1.355-1.611-.188-1.94 4.716-1.325 9.775-.552 13.297 1.543.392.232.547.533.547.953-.005.522-.411.944-.938.944zm-13.627-7.485c4.523-1.324 11.368-.906 15.624 1.578 1.091.629.662 2.22-.498 2.22l-.001-.001c-.252 0-.407-.063-.625-.189-3.443-2.056-9.604-2.549-13.59-1.436-.175.048-.393.125-.625.125-.639 0-1.127-.499-1.127-1.142 0-.657.407-1.029.842-1.155z"}})]),e._v(` + `)]),e._v(" "),n("option",{attrs:{value:"Y"}},[e._v(e._s(e.$t("settings.other.dateFormat.year")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.featuredToTitle.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.featuredToTitle,expression:"settings.featuredToTitle"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"featuredToTitle",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"0"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.0")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.1")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.3")))]),e._v(" "),n("option",{attrs:{value:"2"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.2")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.titleCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.titleCasing,expression:"settings.titleCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"titleCasing",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.artistCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistCasing,expression:"settings.artistCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"artistCasing",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.previewVolume")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.modelVolume,expression:"modelVolume",modifiers:{number:!0}}],staticClass:"slider",attrs:{max:"100",min:"0",step:"1",type:"range"},domProps:{value:e.modelVolume},on:{__r:function(i){e.modelVolume=e._n(i.target.value)},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),n("span",[e._v(e._s(e.previewVolume)+"%")])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.executeCommand.title")))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(e.$t("settings.other.executeCommand.description")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.executeCommand,expression:"settings.executeCommand"}],attrs:{type:"text"},domProps:{value:e.settings.executeCommand},on:{input:function(i){i.target.composing||e.$set(e.settings,"executeCommand",i.target.value)}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("svg",{staticClass:"mr-4 w-6 h-6",staticStyle:{fill:"#1db954"},attrs:{"enable-background":"new 0 0 24 24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"m12 24c6.624 0 12-5.376 12-12s-5.376-12-12-12-12 5.376-12 12 5.376 12 12 12zm4.872-6.344v.001c-.807 0-3.356-2.828-10.52-1.36-.189.049-.436.126-.576.126-.915 0-1.09-1.369-.106-1.578 3.963-.875 8.013-.798 11.467 1.268.824.526.474 1.543-.265 1.543zm1.303-3.173c-.113-.03-.08.069-.597-.203-3.025-1.79-7.533-2.512-11.545-1.423-.232.063-.358.126-.576.126-1.071 0-1.355-1.611-.188-1.94 4.716-1.325 9.775-.552 13.297 1.543.392.232.547.533.547.953-.005.522-.411.944-.938.944zm-13.627-7.485c4.523-1.324 11.368-.906 15.624 1.578 1.091.629.662 2.22-.498 2.22l-.001-.001c-.252 0-.407-.063-.625-.189-3.443-2.056-9.604-2.549-13.59-1.436-.175.048-.393.125-.625.125-.639 0-1.127-.499-1.127-1.142 0-.657.407-1.029.842-1.155z"}})]),e._v(` `+e._s(e.$t("settings.spotify.title"))+` - `)])]},proxy:!0}])},[e._v(" "),a("RouterLink",{attrs:{to:{name:"Spotify Features"}}},[e._v(` + `)])]},proxy:!0}])},[e._v(" "),n("RouterLink",{attrs:{to:{name:"Spotify Features"}}},[e._v(` `+e._s(e.$t("settings.spotify.question"))+` - `)]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientId",i.target.value)}}})]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientSecret",i.target.value)}}})]),e._v(" "),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),e._v(" "),a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(i){i.target.composing||(e.spotifyUser=i.target.value)}}})])],1),e._v(" "),a("footer",{staticClass:"bg-background-main"},[a("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),e._v(" "),a("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},__vue_staticRenderFns__$v=[];const __vue_inject_styles__$v=function(e){!e||e("data-v-6ae1bcdc_0",{source:"#logged_in_info[data-v-6ae1bcdc]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-6ae1bcdc]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-6ae1bcdc]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current svg[data-v-6ae1bcdc]{filter:brightness(1)}.locale-flag[data-v-6ae1bcdc] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-6ae1bcdc]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-6ae1bcdc]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-6ae1bcdc]{margin-right:1rem}.settings-container[data-v-6ae1bcdc]{display:flex}.settings-container__half[data-v-6ae1bcdc]{width:50%}.settings-container__third[data-v-6ae1bcdc]{width:33%}.settings-container__third--only-checkbox[data-v-6ae1bcdc]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>*[data-v-6ae1bcdc],.settings-container__third>*[data-v-6ae1bcdc]{margin-bottom:1rem}.with-checkbox[data-v-6ae1bcdc]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-6ae1bcdc]{cursor:pointer}.with-checkbox .checkbox-text[data-v-6ae1bcdc]{margin-left:10px;cursor:pointer;user-select:none}.input-group .input-group-text[data-v-6ae1bcdc]{margin-bottom:.5rem}",map:void 0,media:void 0})},__vue_scope_id__$v="data-v-6ae1bcdc",__vue_module_identifier__$v=void 0,__vue_is_functional_template__$v=!1;var Settings=normalizeComponent_1({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v,__vue_module_identifier__$v,browser,void 0),script$u={data(){return{title:"",metadata:"",release_date:"",label:"",explicit:!1,image:"",type:"empty",link:"",body:[]}},mounted(){socket.on("show_album",this.showAlbum),socket.on("show_playlist",this.showPlaylist),socket.on("show_spotifyplaylist",this.showSpotifyPlaylist)},methods:{playPausePreview,reset(){this.title="Loading...",this.image="",this.metadata="",this.label="",this.release_date="",this.explicit=!1,this.type="empty",this.body=[]},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},toggleAll(e){this.body.forEach(n=>{n.type=="track"&&(n.selected=e.currentTarget.checked)})},selectedLinks(){var e=[];return this.body&&this.body.forEach(n=>{n.type=="track"&&n.selected&&e.push(this.type=="spotifyPlaylist"?n.uri:n.link)}),e.join(";")},convertDuration:Utils.convertDuration,showAlbum(e){this.reset();const{id:n,title:a,explicit_lyrics:i,label:r,artist:{name:s},tracks:o,tracks:{length:l},release_date:c,cover_xl:u}=e;this.type="album",this.link=`https://www.deezer.com/album/${n}`,this.title=a,this.explicit=i,this.label=r,this.metadata=`${s} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,this.release_date=c.substring(0,10),this.image=u,isEmpty(o)?this.body=null:this.body=o},showPlaylist(e){this.reset();const{id:n,title:a,picture_xl:i,creation_date:r,creator:{name:s},tracks:o,tracks:{length:l}}=e;this.type="playlist",this.link=`https://www.deezer.com/playlist/${n}`,this.title=a,this.image=i,this.release_date=r.substring(0,10),this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},showSpotifyPlaylist(e){this.reset();const{uri:n,name:a,images:i,images:{length:r},owner:{display_name:s},tracks:o,tracks:{length:l}}=e;this.type="spotifyPlaylist",this.link=n,this.title=a,this.image=r?i[0].url:"https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg",this.release_date="",this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},selectRow(e,n){n.selected=!n.selected}}};const __vue_script__$u=script$u;var __vue_render__$w=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("div",{ref:"root",staticClass:"relative fixed-footer bg-background-main image-header"},[a("header",{style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[a("h1",{staticClass:"flex items-center m-0 text-5xl"},[e._v(` - `+e._s(e.title)+" "),e.explicit?a("i",{staticClass:"material-icons title-icon title-icon--right"},[e._v("explicit")]):e._e()]),e._v(" "),a("h2",{staticClass:"m-0 mb-3 text-lg"},[e.metadata?a("p",[e._v(e._s(e.metadata))]):e._e(),e._v(" "),e.release_date?a("p",[e._v(e._s(e.release_date))]):e._e()])]),e._v(" "),a("table",{staticClass:"table table--tracklist"},[a("thead",[a("tr",[e._m(0),e._v(" "),a("th",[e._v("#")]),e._v(" "),a("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),a("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),e.type==="playlist"?a("th",[e._v(e._s(e.$tc("globals.listTabs.album",1)))]):e._e(),e._v(" "),e._m(1),e._v(" "),a("th",{staticClass:"table__icon table__cell--center clickable"},[a("input",{staticClass:"selectAll",attrs:{type:"checkbox"},on:{click:e.toggleAll}})])])]),e._v(" "),a("tbody",[e.type!=="spotifyPlaylist"?[e._l(e.body,function(i,r){return[i.type=="track"?a("tr",{on:{click:function(s){return e.selectRow(r,i)}}},[a("td",{staticClass:"table__cell--x-small table__cell--center"},[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[a("i",e._g({staticClass:"material-icons",class:{preview_playlist_controls:i.preview,"cursor-pointer":i.preview,disabled:!i.preview},attrs:{"data-preview":i.preview,title:e.$t("globals.play_hint")}},{click:i.preview?e.playPausePreview:!1}),[e._v(` + `)]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientId",i.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientSecret",i.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(i){i.target.composing||(e.spotifyUser=i.target.value)}}})])],1),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},__vue_staticRenderFns__$u=[];const __vue_inject_styles__$u=function(e){!e||e("data-v-6ae1bcdc_0",{source:"#logged_in_info[data-v-6ae1bcdc]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-6ae1bcdc]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-6ae1bcdc]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current svg[data-v-6ae1bcdc]{filter:brightness(1)}.locale-flag[data-v-6ae1bcdc] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-6ae1bcdc]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-6ae1bcdc]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-6ae1bcdc]{margin-right:1rem}.settings-container[data-v-6ae1bcdc]{display:flex}.settings-container__half[data-v-6ae1bcdc]{width:50%}.settings-container__third[data-v-6ae1bcdc]{width:33%}.settings-container__third--only-checkbox[data-v-6ae1bcdc]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>*[data-v-6ae1bcdc],.settings-container__third>*[data-v-6ae1bcdc]{margin-bottom:1rem}.with-checkbox[data-v-6ae1bcdc]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-6ae1bcdc]{cursor:pointer}.with-checkbox .checkbox-text[data-v-6ae1bcdc]{margin-left:10px;cursor:pointer;user-select:none}.input-group .input-group-text[data-v-6ae1bcdc]{margin-bottom:.5rem}",map:void 0,media:void 0})},__vue_scope_id__$u="data-v-6ae1bcdc",__vue_module_identifier__$u=void 0,__vue_is_functional_template__$u=!1;var Settings=normalizeComponent_1({render:__vue_render__$u,staticRenderFns:__vue_staticRenderFns__$u},__vue_inject_styles__$u,__vue_script__$s,__vue_scope_id__$u,__vue_is_functional_template__$u,__vue_module_identifier__$u,browser,void 0),script$t={data(){return{title:"",metadata:"",release_date:"",label:"",explicit:!1,image:"",type:"empty",link:"",body:[]}},mounted(){socket.on("show_album",this.showAlbum),socket.on("show_playlist",this.showPlaylist),socket.on("show_spotifyplaylist",this.showSpotifyPlaylist)},methods:{playPausePreview,reset(){this.title="Loading...",this.image="",this.metadata="",this.label="",this.release_date="",this.explicit=!1,this.type="empty",this.body=[]},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},toggleAll(e){this.body.forEach(a=>{a.type=="track"&&(a.selected=e.currentTarget.checked)})},selectedLinks(){var e=[];return this.body&&this.body.forEach(a=>{a.type=="track"&&a.selected&&e.push(this.type=="spotifyPlaylist"?a.uri:a.link)}),e.join(";")},convertDuration:Utils.convertDuration,showAlbum(e){this.reset();const{id:a,title:n,explicit_lyrics:i,label:r,artist:{name:s},tracks:o,tracks:{length:l},release_date:c,cover_xl:u}=e;this.type="album",this.link=`https://www.deezer.com/album/${a}`,this.title=n,this.explicit=i,this.label=r,this.metadata=`${s} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,this.release_date=c.substring(0,10),this.image=u,isEmpty(o)?this.body=null:this.body=o},showPlaylist(e){this.reset();const{id:a,title:n,picture_xl:i,creation_date:r,creator:{name:s},tracks:o,tracks:{length:l}}=e;this.type="playlist",this.link=`https://www.deezer.com/playlist/${a}`,this.title=n,this.image=i,this.release_date=r.substring(0,10),this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},showSpotifyPlaylist(e){this.reset();const{uri:a,name:n,images:i,images:{length:r},owner:{display_name:s},tracks:o,tracks:{length:l}}=e;this.type="spotifyPlaylist",this.link=a,this.title=n,this.image=r?i[0].url:"https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg",this.release_date="",this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},selectRow(e,a){a.selected=!a.selected}}};const __vue_script__$t=script$t;var __vue_render__$v=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{ref:"root",staticClass:"relative fixed-footer bg-background-main image-header"},[n("header",{style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[n("h1",{staticClass:"flex items-center m-0 text-5xl"},[e._v(` + `+e._s(e.title)+" "),e.explicit?n("i",{staticClass:"material-icons title-icon title-icon--right"},[e._v("explicit")]):e._e()]),e._v(" "),n("h2",{staticClass:"m-0 mb-3 text-lg"},[e.metadata?n("p",[e._v(e._s(e.metadata))]):e._e(),e._v(" "),e.release_date?n("p",[e._v(e._s(e.release_date))]):e._e()])]),e._v(" "),n("table",{staticClass:"table table--tracklist"},[n("thead",[n("tr",[e._m(0),e._v(" "),n("th",[e._v("#")]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),e.type==="playlist"?n("th",[e._v(e._s(e.$tc("globals.listTabs.album",1)))]):e._e(),e._v(" "),e._m(1),e._v(" "),n("th",{staticClass:"table__icon table__cell--center clickable"},[n("input",{staticClass:"selectAll",attrs:{type:"checkbox"},on:{click:e.toggleAll}})])])]),e._v(" "),n("tbody",[e.type!=="spotifyPlaylist"?[e._l(e.body,function(i,r){return[i.type=="track"?n("tr",{on:{click:function(s){return e.selectRow(r,i)}}},[n("td",{staticClass:"table__cell--x-small table__cell--center"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",e._g({staticClass:"material-icons",class:{preview_playlist_controls:i.preview,"cursor-pointer":i.preview,disabled:!i.preview},attrs:{"data-preview":i.preview,title:e.$t("globals.play_hint")}},{click:i.preview?e.playPausePreview:!1}),[e._v(` play_arrow - `)])])]),e._v(" "),a("td",{staticClass:"table__cell--small table__cell--center track_position"},[e._v(` + `)])])]),e._v(" "),n("td",{staticClass:"table__cell--small table__cell--center track_position"},[e._v(` `+e._s(e.type==="album"?i.track_position:e.body.indexOf(i)+1)+` - `)]),e._v(" "),a("td",{staticClass:"table__cell--large table__cell--with-icon"},[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[i.explicit_lyrics?a("i",{staticClass:"material-icons title-icon"},[e._v(" explicit ")]):e._e(),e._v(` + `)]),e._v(" "),n("td",{staticClass:"table__cell--large table__cell--with-icon"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[i.explicit_lyrics?n("i",{staticClass:"material-icons title-icon"},[e._v(" explicit ")]):e._e(),e._v(` `+e._s(i.title+(i.title_version&&i.title.indexOf(i.title_version)==-1?" "+i.title_version:""))+` - `)])]),e._v(" "),a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artist.id}}}},[e._v(` + `)])]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artist.id}}}},[e._v(` `+e._s(i.artist.name)+` - `)]),e._v(" "),e.type==="playlist"?a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:i.album.id}}}},[e._v(` + `)]),e._v(" "),e.type==="playlist"?n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:i.album.id}}}},[e._v(` `+e._s(i.album.title)+` - `)]):e._e(),e._v(" "),a("td",{staticClass:"table__cell--center",class:{"table__cell--small":e.type==="album","table__cell--x-small":e.type==="playlist"}},[e._v(` + `)]):e._e(),e._v(" "),n("td",{staticClass:"table__cell--center",class:{"table__cell--small":e.type==="album","table__cell--x-small":e.type==="playlist"}},[e._v(` `+e._s(e.convertDuration(i.duration))+` - `)]),e._v(" "),a("td",{staticClass:"table__icon table__cell--center"},[a("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])],1):i.type=="disc_separator"?a("tr",{staticClass:"table__row-no-highlight",staticStyle:{opacity:"0.54"}},[e._m(2,!0),e._v(" "),a("td",{staticClass:"table__cell--center"},[e._v(` + `)]),e._v(" "),n("td",{staticClass:"table__icon table__cell--center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])],1):i.type=="disc_separator"?n("tr",{staticClass:"table__row-no-highlight",staticStyle:{opacity:"0.54"}},[e._m(2,!0),e._v(" "),n("td",{staticClass:"table__cell--center"},[e._v(` `+e._s(i.number)+` - `)]),e._v(" "),a("td",{attrs:{colspan:"4"}})]):e._e()]})]:e._l(e.body,function(i,r){return a("tr",[a("td",[i.preview_url?a("i",{staticClass:"material-icons",class:{preview_playlist_controls:i.preview_url,"cursor-pointer":i.preview_url},attrs:{"data-preview":i.preview_url,title:e.$t("globals.play_hint")},on:{click:e.playPausePreview}},[e._v(` + `)]),e._v(" "),n("td",{attrs:{colspan:"4"}})]):e._e()]})]:e._l(e.body,function(i,r){return n("tr",[n("td",[i.preview_url?n("i",{staticClass:"material-icons",class:{preview_playlist_controls:i.preview_url,"cursor-pointer":i.preview_url},attrs:{"data-preview":i.preview_url,title:e.$t("globals.play_hint")},on:{click:e.playPausePreview}},[e._v(` play_arrow - `)]):a("i",{staticClass:"material-icons disabled"},[e._v("play_arrow")])]),e._v(" "),a("td",[e._v(e._s(r+1))]),e._v(" "),a("td",{staticClass:"flex items-center"},[i.explicit?a("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` + `)]):n("i",{staticClass:"material-icons disabled"},[e._v("play_arrow")])]),e._v(" "),n("td",[e._v(e._s(r+1))]),e._v(" "),n("td",{staticClass:"flex items-center"},[i.explicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` `+e._s(i.name)+` - `)]),e._v(" "),a("td",[e._v(e._s(i.artists[0].name))]),e._v(" "),a("td",[e._v(e._s(i.album.name))]),e._v(" "),a("td",[e._v(e._s(e.convertDuration(Math.floor(i.duration_ms/1e3))))]),e._v(" "),a("td",[a("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])])})],2)]),e._v(" "),e.label?a("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),a("footer",{staticClass:"bg-background-main"},[a("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` + `)]),e._v(" "),n("td",[e._v(e._s(i.artists[0].name))]),e._v(" "),n("td",[e._v(e._s(i.album.name))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(Math.floor(i.duration_ms/1e3))))]),e._v(" "),n("td",[n("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])])})],2)]),e._v(" "),e.label?n("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` `+e._s(""+e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.type,1)}))+` - `)]),e._v(" "),a("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` - `+e._s(e.$t("tracklist.downloadSelection"))),a("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$w=[function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("th",[a("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("th",[a("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("td",[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[a("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$w=void 0,__vue_scope_id__$w=void 0,__vue_module_identifier__$w=void 0,__vue_is_functional_template__$w=!1;var Tracklist=normalizeComponent_1({render:__vue_render__$w,staticRenderFns:__vue_staticRenderFns__$w},__vue_inject_styles__$w,__vue_script__$u,__vue_scope_id__$w,__vue_is_functional_template__$w,__vue_module_identifier__$w,void 0,void 0);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/about",name:"About",component:About},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,n,a){return{x:0,y:0}}});router.beforeEach((e,n,a)=>{let i=null;switch(e.name){case"Tracklist":i={type:e.params.type,id:e.params.id};break;case"Album":i={type:"album",id:e.params.id};break;case"Playlist":i={type:"playlist",id:e.params.id};break;case"Spotify Playlist":i={type:"spotifyplaylist",id:e.params.id};break}i&&socket.emit("getTracklist",i),a()});function startApp(){new Vue({store,router,i18n,render:e=>e(App)}).$mount("#app")}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let n=e.clipboardData.getData("Text");if(isValidURL(n))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",n):(n.indexOf(` -`)!=-1&&(n=n.replace(/\n/g,";")),sendAddToQueue(n));else{let a=document.querySelector("#searchbar");a.select(),a.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)}),socket.on("logging_in",function(){toast(i18n.t("toasts.loggingIn"),"loading",!1,"login-toast")}),socket.on("init_autologin",function(){let e=localStorage.getItem("arl"),n=localStorage.getItem("accountNum");e&&(e=e.trim(),n!=0?socket.emit("login",e,!0,n):socket.emit("login",e))}),socket.on("logged_in",function(e){const{status:n,user:a}=e;switch(n){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",a);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}),socket.on("logged_out",function(){toast(i18n.t("toasts.loggedOut"),"done",!0,"login-toast"),store.dispatch("logout")}),socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); + `)]),e._v(" "),n("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` + `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_module_identifier__$v=void 0,__vue_is_functional_template__$v=!1;var Tracklist=normalizeComponent_1({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v,__vue_module_identifier__$v,void 0,void 0);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let i=null;switch(e.name){case"Tracklist":i={type:e.params.type,id:e.params.id};break;case"Album":i={type:"album",id:e.params.id};break;case"Playlist":i={type:"playlist",id:e.params.id};break;case"Spotify Playlist":i={type:"spotifyplaylist",id:e.params.id};break}i&&socket.emit("getTracklist",i),n()});const get$2=function(e,a){let n=`/api/${e}`;if(a){let i=Object.keys(a).map(r=>encodeURIComponent(r)+"="+encodeURIComponent(a[r])).join("&");n+="?"+i}return fetch(n).then(i=>i.json())};function startApp(){new Vue({store,router,i18n,render:e=>e(App)}).$mount("#app")}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` +`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}fetch("connect").then(e=>e.json()).then(e=>{if(store.dispatch("setAppInfo",e.update),e.autologin){console.log("Autologin");let a=localStorage.getItem("arl"),n=localStorage.getItem("accountNum");if(a){a=a.trim();let i;n!=0?i=get$2("login",{arl:a,force:!0,child:n||0}):i=get$2("login",{arl:a}),i.then(loggedIn)}}}),socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); diff --git a/src/app.js b/src/app.js index 405f9d4..8f242a4 100644 --- a/src/app.js +++ b/src/app.js @@ -19,6 +19,7 @@ import router from '@/router' import store from '@/store' import { socket } from '@/utils/socket' +import { get } from '@/utils/api' import { toast } from '@/utils/toasts' import { isValidURL } from '@/utils/utils' import { sendAddToQueue } from '@/utils/downloads' @@ -86,26 +87,7 @@ socket.on('message', function(msg) { console.log(msg) }) -socket.on('logging_in', function() { - toast(i18n.t('toasts.loggingIn'), 'loading', false, 'login-toast') -}) - -socket.on('init_autologin', function() { - let arl = localStorage.getItem('arl') - let accountNum = localStorage.getItem('accountNum') - - if (arl) { - arl = arl.trim() - - if (accountNum != 0) { - socket.emit('login', arl, true, accountNum) - } else { - socket.emit('login', arl) - } - } -}) - -socket.on('logged_in', function(data) { +function loggedIn(data){ const { status, user } = data switch (status) { @@ -138,6 +120,36 @@ socket.on('logged_in', function(data) { // $('#settings_picture').attr('src', `https://e-cdns-images.dzcdn.net/images/user/125x125-000000-80-0-0.jpg`) // document.getElementById('home_not_logged_in').classList.remove('hide') } +} + +fetch('connect').then(response => response.json()).then(data => { + store.dispatch('setAppInfo', data.update ) + if (data.autologin) { + console.log("Autologin") + let arl = localStorage.getItem('arl') + let accountNum = localStorage.getItem('accountNum') + + if (arl) { + arl = arl.trim() + let result + + if (accountNum != 0) { + result = get('login', {arl: arl, force:true, child:accountNum || 0}) + } else { + result = get('login', {arl}) + } + result.then(loggedIn) + } + } +}) + +/* +socket.on('logging_in', function() { + toast(i18n.t('toasts.loggingIn'), 'loading', false, 'login-toast') +}) + +socket.on('logged_in', function(data) { + }) socket.on('logged_out', function() { @@ -145,6 +157,7 @@ socket.on('logged_out', function() { store.dispatch('logout') }) +*/ socket.on('restoringQueue', function() { toast(i18n.t('toasts.restoringQueue'), 'loading', false, 'restoring_queue') diff --git a/src/components/pages/Artist.vue b/src/components/pages/Artist.vue index df8ddec..529c903 100644 --- a/src/components/pages/Artist.vue +++ b/src/components/pages/Artist.vue @@ -92,7 +92,6 @@ import { orderBy } from 'lodash-es' import { BaseTabs, BaseTab } from '@components/globals/BaseTabs' -import { socket } from '@/utils/socket' import { sendAddToQueue } from '@/utils/downloads' import { checkNewRelease } from '@/utils/dates' import { formatArtistData, getArtistData } from '@/data/artist' diff --git a/src/router.js b/src/router.js index 84fa437..74f8975 100644 --- a/src/router.js +++ b/src/router.js @@ -3,7 +3,7 @@ import VueRouter from 'vue-router' import { socket } from '@/utils/socket' // Pages -import About from '@components/pages/About.vue' +//import About from '@components/pages/About.vue' import InfoArl from '@components/pages/InfoArl.vue' import InfoSpotifyFeatures from '@components/pages/InfoSpotifyFeatures.vue' import Artist from '@components/pages/Artist.vue' @@ -81,11 +81,11 @@ const routes = [ name: 'Link Analyzer', component: LinkAnalyzer }, - { + /*{ path: '/about', name: 'About', component: About - }, + },*/ { path: '/info-arl', name: 'ARL', @@ -165,4 +165,3 @@ router.beforeEach((to, from, next) => { }) export default router - diff --git a/src/utils/api.js b/src/utils/api.js new file mode 100644 index 0000000..22ba66d --- /dev/null +++ b/src/utils/api.js @@ -0,0 +1,10 @@ +export const get = function(key, data){ + let url = `/api/${key}` + if (data){ + let query = Object.keys(data) + .map(k => encodeURIComponent(k) + '=' + encodeURIComponent(data[k])) + .join('&') + url += '?'+query + } + return fetch(url).then(response => response.json()) +} diff --git a/src/utils/socket.js b/src/utils/socket.js index 992cb0a..225c0d8 100644 --- a/src/utils/socket.js +++ b/src/utils/socket.js @@ -3,19 +3,15 @@ import store from '@/store' class CustomSocket extends WebSocket { constructor(args) { super(args) - console.log(args) } emit(key, data) { - console.log("emit:", key, data) - console.log(this.readyState) if (this.readyState != WebSocket.OPEN) return false this.send(JSON.stringify({key:key, data:data})) } on(key, callback) { this.addEventListener('message', function(event){ - console.log(event.data) let data = JSON.parse(event.data) if (data.key == key) callback(data.data) }) From c6a2f35fbfc1e7e1e60357f68996a62395a22a8a Mon Sep 17 00:00:00 2001 From: RemixDev Date: Mon, 1 Mar 2021 00:01:50 +0100 Subject: [PATCH 03/17] Fixed search and websocket debug --- public/js/bundle.js | 14 +++++++------- src/use/main-search.js | 9 +++------ src/use/search.js | 10 +++------- src/utils/downloads.js | 4 ++-- src/utils/socket.js | 1 + 5 files changed, 16 insertions(+), 22 deletions(-) diff --git a/public/js/bundle.js b/public/js/bundle.js index 698e08b..9065844 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -2495,10 +2495,10 @@ a { * vuex v3.6.2 * (c) 2021 Evan You * @license MIT - */function applyMixin(e){var a=Number(e.version.split(".")[0]);if(a>=2)e.mixin({beforeCreate:i});else{var n=e.prototype._init;e.prototype._init=function(r){r===void 0&&(r={}),r.init=r.init?[i].concat(r.init):i,n.call(this,r)}}function i(){var r=this.$options;r.store?this.$store=typeof r.store=="function"?r.store():r.store:r.parent&&r.parent.$store&&(this.$store=r.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){!devtoolHook||(e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(a){e.replaceState(a)}),e.subscribe(function(a,n){devtoolHook.emit("vuex:mutation",a,n)},{prepend:!0}),e.subscribeAction(function(a,n){devtoolHook.emit("vuex:action",a,n)},{prepend:!0}))}function find(e,a){return e.filter(a)[0]}function deepCopy(e,a){if(a===void 0&&(a=[]),e===null||typeof e!="object")return e;var n=find(a,function(r){return r.original===e});if(n)return n.copy;var i=Array.isArray(e)?[]:{};return a.push({original:e,copy:i}),Object.keys(e).forEach(function(r){i[r]=deepCopy(e[r],a)}),i}function forEachValue(e,a){Object.keys(e).forEach(function(n){return a(e[n],n)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,a){return function(){return e(a)}}var Module=function(a,n){this.runtime=n,this._children=Object.create(null),this._rawModule=a;var i=a.state;this.state=(typeof i=="function"?i():i)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(a,n){this._children[a]=n},Module.prototype.removeChild=function(a){delete this._children[a]},Module.prototype.getChild=function(a){return this._children[a]},Module.prototype.hasChild=function(a){return a in this._children},Module.prototype.update=function(a){this._rawModule.namespaced=a.namespaced,a.actions&&(this._rawModule.actions=a.actions),a.mutations&&(this._rawModule.mutations=a.mutations),a.getters&&(this._rawModule.getters=a.getters)},Module.prototype.forEachChild=function(a){forEachValue(this._children,a)},Module.prototype.forEachGetter=function(a){this._rawModule.getters&&forEachValue(this._rawModule.getters,a)},Module.prototype.forEachAction=function(a){this._rawModule.actions&&forEachValue(this._rawModule.actions,a)},Module.prototype.forEachMutation=function(a){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,a)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(a){this.register([],a,!1)};ModuleCollection.prototype.get=function(a){return a.reduce(function(n,i){return n.getChild(i)},this.root)},ModuleCollection.prototype.getNamespace=function(a){var n=this.root;return a.reduce(function(i,r){return n=n.getChild(r),i+(n.namespaced?r+"/":"")},"")},ModuleCollection.prototype.update=function(a){update([],this.root,a)},ModuleCollection.prototype.register=function(a,n,i){var r=this;i===void 0&&(i=!0);var s=new Module(n,i);if(a.length===0)this.root=s;else{var o=this.get(a.slice(0,-1));o.addChild(a[a.length-1],s)}n.modules&&forEachValue(n.modules,function(l,c){r.register(a.concat(c),l,i)})},ModuleCollection.prototype.unregister=function(a){var n=this.get(a.slice(0,-1)),i=a[a.length-1],r=n.getChild(i);!r||!r.runtime||n.removeChild(i)},ModuleCollection.prototype.isRegistered=function(a){var n=this.get(a.slice(0,-1)),i=a[a.length-1];return n?n.hasChild(i):!1};function update(e,a,n){if(a.update(n),n.modules)for(var i in n.modules){if(!a.getChild(i))return;update(e.concat(i),a.getChild(i),n.modules[i])}}var Vue$1,Store=function(a){var n=this;a===void 0&&(a={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var i=a.plugins;i===void 0&&(i=[]);var r=a.strict;r===void 0&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(a),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,o=this,l=o.dispatch,c=o.commit;this.dispatch=function(h,m){return l.call(s,h,m)},this.commit=function(h,m,v){return c.call(s,h,m,v)},this.strict=r;var u=this._modules.root.state;installModule(this,u,[],this._modules.root),resetStoreVM(this,u),i.forEach(function(f){return f(n)});var d=a.devtools!==void 0?a.devtools:Vue$1.config.devtools;d&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(a,n,i){var r=this,s=unifyObjectStyle(a,n,i),o=s.type,l=s.payload,c={type:o,payload:l},u=this._mutations[o];!u||(this._withCommit(function(){u.forEach(function(f){f(l)})}),this._subscribers.slice().forEach(function(d){return d(c,r.state)}))},Store.prototype.dispatch=function(a,n){var i=this,r=unifyObjectStyle(a,n),s=r.type,o=r.payload,l={type:s,payload:o},c=this._actions[s];if(!!c){try{this._actionSubscribers.slice().filter(function(d){return d.before}).forEach(function(d){return d.before(l,i.state)})}catch(d){}var u=c.length>1?Promise.all(c.map(function(d){return d(o)})):c[0](o);return new Promise(function(d,f){u.then(function(h){try{i._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(l,i.state)})}catch(m){}d(h)},function(h){try{i._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(l,i.state,h)})}catch(m){}f(h)})})}},Store.prototype.subscribe=function(a,n){return genericSubscribe(a,this._subscribers,n)},Store.prototype.subscribeAction=function(a,n){var i=typeof a=="function"?{before:a}:a;return genericSubscribe(i,this._actionSubscribers,n)},Store.prototype.watch=function(a,n,i){var r=this;return this._watcherVM.$watch(function(){return a(r.state,r.getters)},n,i)},Store.prototype.replaceState=function(a){var n=this;this._withCommit(function(){n._vm._data.$$state=a})},Store.prototype.registerModule=function(a,n,i){i===void 0&&(i={}),typeof a=="string"&&(a=[a]),this._modules.register(a,n),installModule(this,this.state,a,this._modules.get(a),i.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(a){var n=this;typeof a=="string"&&(a=[a]),this._modules.unregister(a),this._withCommit(function(){var i=getNestedState(n.state,a.slice(0,-1));Vue$1.delete(i,a[a.length-1])}),resetStore(this)},Store.prototype.hasModule=function(a){return typeof a=="string"&&(a=[a]),this._modules.isRegistered(a)},Store.prototype.hotUpdate=function(a){this._modules.update(a),resetStore(this,!0)},Store.prototype._withCommit=function(a){var n=this._committing;this._committing=!0,a(),this._committing=n},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,a,n){return a.indexOf(e)<0&&(n&&n.prepend?a.unshift(e):a.push(e)),function(){var i=a.indexOf(e);i>-1&&a.splice(i,1)}}function resetStore(e,a){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;installModule(e,n,[],e._modules.root,!0),resetStoreVM(e,n,a)}function resetStoreVM(e,a,n){var i=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var r=e._wrappedGetters,s={};forEachValue(r,function(l,c){s[c]=partial(l,e),Object.defineProperty(e.getters,c,{get:function(){return e._vm[c]},enumerable:!0})});var o=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:a},computed:s}),Vue$1.config.silent=o,e.strict&&enableStrictMode(e),i&&(n&&e._withCommit(function(){i._data.$$state=null}),Vue$1.nextTick(function(){return i.$destroy()}))}function installModule(e,a,n,i,r){var s=!n.length,o=e._modules.getNamespace(n);if(i.namespaced&&(e._modulesNamespaceMap[o],e._modulesNamespaceMap[o]=i),!s&&!r){var l=getNestedState(a,n.slice(0,-1)),c=n[n.length-1];e._withCommit(function(){Vue$1.set(l,c,i.state)})}var u=i.context=makeLocalContext(e,o,n);i.forEachMutation(function(d,f){var h=o+f;registerMutation(e,h,d,u)}),i.forEachAction(function(d,f){var h=d.root?f:o+f,m=d.handler||d;registerAction(e,h,m,u)}),i.forEachGetter(function(d,f){var h=o+f;registerGetter(e,h,d,u)}),i.forEachChild(function(d,f){installModule(e,a,n.concat(f),d,r)})}function makeLocalContext(e,a,n){var i=a==="",r={dispatch:i?e.dispatch:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;return(!d||!d.root)&&(f=a+f),e.dispatch(f,u)},commit:i?e.commit:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;(!d||!d.root)&&(f=a+f),e.commit(f,u,d)}};return Object.defineProperties(r,{getters:{get:i?function(){return e.getters}:function(){return makeLocalGetters(e,a)}},state:{get:function(){return getNestedState(e.state,n)}}}),r}function makeLocalGetters(e,a){if(!e._makeLocalGettersCache[a]){var n={},i=a.length;Object.keys(e.getters).forEach(function(r){if(r.slice(0,i)===a){var s=r.slice(i);Object.defineProperty(n,s,{get:function(){return e.getters[r]},enumerable:!0})}}),e._makeLocalGettersCache[a]=n}return e._makeLocalGettersCache[a]}function registerMutation(e,a,n,i){var r=e._mutations[a]||(e._mutations[a]=[]);r.push(function(o){n.call(e,i.state,o)})}function registerAction(e,a,n,i){var r=e._actions[a]||(e._actions[a]=[]);r.push(function(o){var l=n.call(e,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:e.getters,rootState:e.state},o);return isPromise$1(l)||(l=Promise.resolve(l)),e._devtoolHook?l.catch(function(c){throw e._devtoolHook.emit("vuex:error",c),c}):l})}function registerGetter(e,a,n,i){e._wrappedGetters[a]||(e._wrappedGetters[a]=function(s){return n(i.state,i.getters,s.state,s.getters)})}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,a){return a.reduce(function(n,i){return n[i]},e)}function unifyObjectStyle(e,a,n){return isObject$1(e)&&e.type&&(n=a,a=e,e=e.type),{type:e,payload:a,options:n}}function install(e){Vue$1&&e===Vue$1||(Vue$1=e,applyMixin(Vue$1))}var mapState=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){var l=this.$store.state,c=this.$store.getters;if(e){var u=getModuleByNamespace(this.$store,"mapState",e);if(!u)return;l=u.context.state,c=u.context.getters}return typeof s=="function"?s.call(this,l,c):l[s]},n[r].vuex=!0}),n}),mapMutations=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.commit;if(e){var d=getModuleByNamespace(this.$store,"mapMutations",e);if(!d)return;u=d.context.commit}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),n}),mapGetters=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;s=e+s,n[r]=function(){if(!(e&&!getModuleByNamespace(this.$store,"mapGetters",e)))return this.$store.getters[s]},n[r].vuex=!0}),n}),mapActions=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.dispatch;if(e){var d=getModuleByNamespace(this.$store,"mapActions",e);if(!d)return;u=d.context.dispatch}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),n}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(a){return{key:a,val:a}}):Object.keys(e).map(function(a){return{key:a,val:e[a]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(a,n){return typeof a!="string"?(n=a,a=""):a.charAt(a.length-1)!=="/"&&(a+="/"),e(a,n)}}function getModuleByNamespace(e,a,n){var i=e._modulesNamespaceMap[n];return i}function createLogger(e){e===void 0&&(e={});var a=e.collapsed;a===void 0&&(a=!0);var n=e.filter;n===void 0&&(n=function(d,f,h){return!0});var i=e.transformer;i===void 0&&(i=function(d){return d});var r=e.mutationTransformer;r===void 0&&(r=function(d){return d});var s=e.actionFilter;s===void 0&&(s=function(d,f){return!0});var o=e.actionTransformer;o===void 0&&(o=function(d){return d});var l=e.logMutations;l===void 0&&(l=!0);var c=e.logActions;c===void 0&&(c=!0);var u=e.logger;return u===void 0&&(u=console),function(d){var f=deepCopy(d.state);typeof u!="undefined"&&(l&&d.subscribe(function(h,m){var v=deepCopy(m);if(n(h,f,v)){var y=getFormattedTime(),_=r(h),w="mutation "+h.type+y;startMessage(u,w,a),u.log("%c prev state","color: #9E9E9E; font-weight: bold",i(f)),u.log("%c mutation","color: #03A9F4; font-weight: bold",_),u.log("%c next state","color: #4CAF50; font-weight: bold",i(v)),endMessage(u)}f=v}),c&&d.subscribeAction(function(h,m){if(s(h,m)){var v=getFormattedTime(),y=o(h),_="action "+h.type+v;startMessage(u,_,a),u.log("%c action","color: #03A9F4; font-weight: bold",y),endMessage(u)}}))}}function startMessage(e,a,n){var i=n?e.groupCollapsed:e.group;try{i.call(e,a)}catch(r){e.log(a)}}function endMessage(e){try{e.groupEnd()}catch(a){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,a){return new Array(a+1).join(e)}function pad(e,a){return repeat("0",a-e.toString().length)+e}var index$2={Store,install,version:"3.6.2",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger};let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,a)=>{socket.on("init_settings",(n,i,r)=>{settingsData=n,defaultSettingsData=r,spotifyCredentials=i,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:i,user:r,status:s}=n;a("setARL",{arl:i}),e("SET_USER",r),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:i}=a;i=typeof i=="undefined"?!0:i,e("SET_ARL",n),i&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const i=a[n];e[n]=i}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});class CustomSocket extends WebSocket{constructor(a){super(a)}emit(a,n){if(this.readyState!=WebSocket.OPEN)return!1;this.send(JSON.stringify({key:a,data:n}))}on(a,n){this.addEventListener("message",function(i){let r=JSON.parse(i.data);r.key==a&&n(r.data)})}}const socket=new CustomSocket("ws://"+location.host+"/");function normalizeComponent(e,a,n,i,r,s,o,l,c,u){typeof o!="boolean"&&(c=l,l=o,o=!1);var d=typeof n=="function"?n.options:n;e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,r&&(d.functional=!0)),i&&(d._scopeId=i);var f;if(s?(f=function(y){y=y||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!y&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(y=__VUE_SSR_CONTEXT__),a&&a.call(this,c(y)),y&&y._registeredComponents&&y._registeredComponents.add(s)},d._ssrRegister=f):a&&(f=o?function(){a.call(this,u(this.$root.$options.shadowRoot))}:function(v){a.call(this,l(v))}),f)if(d.functional){var h=d.render;d.render=function(y,_){return f.call(_),h(y,_)}}else{var m=d.beforeCreate;d.beforeCreate=m?[].concat(m,f):[f]}return n}var normalizeComponent_1=normalizeComponent,isOldIE=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function createInjector(e){return function(a,n){return addStyle(a,n)}}var HEAD=document.head||document.getElementsByTagName("head")[0],styles={};function addStyle(e,a){var n=isOldIE?a.media||"default":e,i=styles[n]||(styles[n]={ids:new Set,styles:[]});if(!i.ids.has(e)){i.ids.add(e);var r=a.source;if(a.map&&(r+=` + */function applyMixin(e){var a=Number(e.version.split(".")[0]);if(a>=2)e.mixin({beforeCreate:i});else{var n=e.prototype._init;e.prototype._init=function(r){r===void 0&&(r={}),r.init=r.init?[i].concat(r.init):i,n.call(this,r)}}function i(){var r=this.$options;r.store?this.$store=typeof r.store=="function"?r.store():r.store:r.parent&&r.parent.$store&&(this.$store=r.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){!devtoolHook||(e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(a){e.replaceState(a)}),e.subscribe(function(a,n){devtoolHook.emit("vuex:mutation",a,n)},{prepend:!0}),e.subscribeAction(function(a,n){devtoolHook.emit("vuex:action",a,n)},{prepend:!0}))}function find(e,a){return e.filter(a)[0]}function deepCopy(e,a){if(a===void 0&&(a=[]),e===null||typeof e!="object")return e;var n=find(a,function(r){return r.original===e});if(n)return n.copy;var i=Array.isArray(e)?[]:{};return a.push({original:e,copy:i}),Object.keys(e).forEach(function(r){i[r]=deepCopy(e[r],a)}),i}function forEachValue(e,a){Object.keys(e).forEach(function(n){return a(e[n],n)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,a){return function(){return e(a)}}var Module=function(a,n){this.runtime=n,this._children=Object.create(null),this._rawModule=a;var i=a.state;this.state=(typeof i=="function"?i():i)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(a,n){this._children[a]=n},Module.prototype.removeChild=function(a){delete this._children[a]},Module.prototype.getChild=function(a){return this._children[a]},Module.prototype.hasChild=function(a){return a in this._children},Module.prototype.update=function(a){this._rawModule.namespaced=a.namespaced,a.actions&&(this._rawModule.actions=a.actions),a.mutations&&(this._rawModule.mutations=a.mutations),a.getters&&(this._rawModule.getters=a.getters)},Module.prototype.forEachChild=function(a){forEachValue(this._children,a)},Module.prototype.forEachGetter=function(a){this._rawModule.getters&&forEachValue(this._rawModule.getters,a)},Module.prototype.forEachAction=function(a){this._rawModule.actions&&forEachValue(this._rawModule.actions,a)},Module.prototype.forEachMutation=function(a){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,a)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(a){this.register([],a,!1)};ModuleCollection.prototype.get=function(a){return a.reduce(function(n,i){return n.getChild(i)},this.root)},ModuleCollection.prototype.getNamespace=function(a){var n=this.root;return a.reduce(function(i,r){return n=n.getChild(r),i+(n.namespaced?r+"/":"")},"")},ModuleCollection.prototype.update=function(a){update([],this.root,a)},ModuleCollection.prototype.register=function(a,n,i){var r=this;i===void 0&&(i=!0);var s=new Module(n,i);if(a.length===0)this.root=s;else{var o=this.get(a.slice(0,-1));o.addChild(a[a.length-1],s)}n.modules&&forEachValue(n.modules,function(l,c){r.register(a.concat(c),l,i)})},ModuleCollection.prototype.unregister=function(a){var n=this.get(a.slice(0,-1)),i=a[a.length-1],r=n.getChild(i);!r||!r.runtime||n.removeChild(i)},ModuleCollection.prototype.isRegistered=function(a){var n=this.get(a.slice(0,-1)),i=a[a.length-1];return n?n.hasChild(i):!1};function update(e,a,n){if(a.update(n),n.modules)for(var i in n.modules){if(!a.getChild(i))return;update(e.concat(i),a.getChild(i),n.modules[i])}}var Vue$1,Store=function(a){var n=this;a===void 0&&(a={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var i=a.plugins;i===void 0&&(i=[]);var r=a.strict;r===void 0&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(a),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,o=this,l=o.dispatch,c=o.commit;this.dispatch=function(h,m){return l.call(s,h,m)},this.commit=function(h,m,v){return c.call(s,h,m,v)},this.strict=r;var u=this._modules.root.state;installModule(this,u,[],this._modules.root),resetStoreVM(this,u),i.forEach(function(f){return f(n)});var d=a.devtools!==void 0?a.devtools:Vue$1.config.devtools;d&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(a,n,i){var r=this,s=unifyObjectStyle(a,n,i),o=s.type,l=s.payload,c={type:o,payload:l},u=this._mutations[o];!u||(this._withCommit(function(){u.forEach(function(f){f(l)})}),this._subscribers.slice().forEach(function(d){return d(c,r.state)}))},Store.prototype.dispatch=function(a,n){var i=this,r=unifyObjectStyle(a,n),s=r.type,o=r.payload,l={type:s,payload:o},c=this._actions[s];if(!!c){try{this._actionSubscribers.slice().filter(function(d){return d.before}).forEach(function(d){return d.before(l,i.state)})}catch(d){}var u=c.length>1?Promise.all(c.map(function(d){return d(o)})):c[0](o);return new Promise(function(d,f){u.then(function(h){try{i._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(l,i.state)})}catch(m){}d(h)},function(h){try{i._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(l,i.state,h)})}catch(m){}f(h)})})}},Store.prototype.subscribe=function(a,n){return genericSubscribe(a,this._subscribers,n)},Store.prototype.subscribeAction=function(a,n){var i=typeof a=="function"?{before:a}:a;return genericSubscribe(i,this._actionSubscribers,n)},Store.prototype.watch=function(a,n,i){var r=this;return this._watcherVM.$watch(function(){return a(r.state,r.getters)},n,i)},Store.prototype.replaceState=function(a){var n=this;this._withCommit(function(){n._vm._data.$$state=a})},Store.prototype.registerModule=function(a,n,i){i===void 0&&(i={}),typeof a=="string"&&(a=[a]),this._modules.register(a,n),installModule(this,this.state,a,this._modules.get(a),i.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(a){var n=this;typeof a=="string"&&(a=[a]),this._modules.unregister(a),this._withCommit(function(){var i=getNestedState(n.state,a.slice(0,-1));Vue$1.delete(i,a[a.length-1])}),resetStore(this)},Store.prototype.hasModule=function(a){return typeof a=="string"&&(a=[a]),this._modules.isRegistered(a)},Store.prototype.hotUpdate=function(a){this._modules.update(a),resetStore(this,!0)},Store.prototype._withCommit=function(a){var n=this._committing;this._committing=!0,a(),this._committing=n},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,a,n){return a.indexOf(e)<0&&(n&&n.prepend?a.unshift(e):a.push(e)),function(){var i=a.indexOf(e);i>-1&&a.splice(i,1)}}function resetStore(e,a){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;installModule(e,n,[],e._modules.root,!0),resetStoreVM(e,n,a)}function resetStoreVM(e,a,n){var i=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var r=e._wrappedGetters,s={};forEachValue(r,function(l,c){s[c]=partial(l,e),Object.defineProperty(e.getters,c,{get:function(){return e._vm[c]},enumerable:!0})});var o=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:a},computed:s}),Vue$1.config.silent=o,e.strict&&enableStrictMode(e),i&&(n&&e._withCommit(function(){i._data.$$state=null}),Vue$1.nextTick(function(){return i.$destroy()}))}function installModule(e,a,n,i,r){var s=!n.length,o=e._modules.getNamespace(n);if(i.namespaced&&(e._modulesNamespaceMap[o],e._modulesNamespaceMap[o]=i),!s&&!r){var l=getNestedState(a,n.slice(0,-1)),c=n[n.length-1];e._withCommit(function(){Vue$1.set(l,c,i.state)})}var u=i.context=makeLocalContext(e,o,n);i.forEachMutation(function(d,f){var h=o+f;registerMutation(e,h,d,u)}),i.forEachAction(function(d,f){var h=d.root?f:o+f,m=d.handler||d;registerAction(e,h,m,u)}),i.forEachGetter(function(d,f){var h=o+f;registerGetter(e,h,d,u)}),i.forEachChild(function(d,f){installModule(e,a,n.concat(f),d,r)})}function makeLocalContext(e,a,n){var i=a==="",r={dispatch:i?e.dispatch:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;return(!d||!d.root)&&(f=a+f),e.dispatch(f,u)},commit:i?e.commit:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;(!d||!d.root)&&(f=a+f),e.commit(f,u,d)}};return Object.defineProperties(r,{getters:{get:i?function(){return e.getters}:function(){return makeLocalGetters(e,a)}},state:{get:function(){return getNestedState(e.state,n)}}}),r}function makeLocalGetters(e,a){if(!e._makeLocalGettersCache[a]){var n={},i=a.length;Object.keys(e.getters).forEach(function(r){if(r.slice(0,i)===a){var s=r.slice(i);Object.defineProperty(n,s,{get:function(){return e.getters[r]},enumerable:!0})}}),e._makeLocalGettersCache[a]=n}return e._makeLocalGettersCache[a]}function registerMutation(e,a,n,i){var r=e._mutations[a]||(e._mutations[a]=[]);r.push(function(o){n.call(e,i.state,o)})}function registerAction(e,a,n,i){var r=e._actions[a]||(e._actions[a]=[]);r.push(function(o){var l=n.call(e,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:e.getters,rootState:e.state},o);return isPromise$1(l)||(l=Promise.resolve(l)),e._devtoolHook?l.catch(function(c){throw e._devtoolHook.emit("vuex:error",c),c}):l})}function registerGetter(e,a,n,i){e._wrappedGetters[a]||(e._wrappedGetters[a]=function(s){return n(i.state,i.getters,s.state,s.getters)})}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,a){return a.reduce(function(n,i){return n[i]},e)}function unifyObjectStyle(e,a,n){return isObject$1(e)&&e.type&&(n=a,a=e,e=e.type),{type:e,payload:a,options:n}}function install(e){Vue$1&&e===Vue$1||(Vue$1=e,applyMixin(Vue$1))}var mapState=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){var l=this.$store.state,c=this.$store.getters;if(e){var u=getModuleByNamespace(this.$store,"mapState",e);if(!u)return;l=u.context.state,c=u.context.getters}return typeof s=="function"?s.call(this,l,c):l[s]},n[r].vuex=!0}),n}),mapMutations=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.commit;if(e){var d=getModuleByNamespace(this.$store,"mapMutations",e);if(!d)return;u=d.context.commit}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),n}),mapGetters=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;s=e+s,n[r]=function(){if(!(e&&!getModuleByNamespace(this.$store,"mapGetters",e)))return this.$store.getters[s]},n[r].vuex=!0}),n}),mapActions=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.dispatch;if(e){var d=getModuleByNamespace(this.$store,"mapActions",e);if(!d)return;u=d.context.dispatch}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),n}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(a){return{key:a,val:a}}):Object.keys(e).map(function(a){return{key:a,val:e[a]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(a,n){return typeof a!="string"?(n=a,a=""):a.charAt(a.length-1)!=="/"&&(a+="/"),e(a,n)}}function getModuleByNamespace(e,a,n){var i=e._modulesNamespaceMap[n];return i}function createLogger(e){e===void 0&&(e={});var a=e.collapsed;a===void 0&&(a=!0);var n=e.filter;n===void 0&&(n=function(d,f,h){return!0});var i=e.transformer;i===void 0&&(i=function(d){return d});var r=e.mutationTransformer;r===void 0&&(r=function(d){return d});var s=e.actionFilter;s===void 0&&(s=function(d,f){return!0});var o=e.actionTransformer;o===void 0&&(o=function(d){return d});var l=e.logMutations;l===void 0&&(l=!0);var c=e.logActions;c===void 0&&(c=!0);var u=e.logger;return u===void 0&&(u=console),function(d){var f=deepCopy(d.state);typeof u!="undefined"&&(l&&d.subscribe(function(h,m){var v=deepCopy(m);if(n(h,f,v)){var y=getFormattedTime(),_=r(h),w="mutation "+h.type+y;startMessage(u,w,a),u.log("%c prev state","color: #9E9E9E; font-weight: bold",i(f)),u.log("%c mutation","color: #03A9F4; font-weight: bold",_),u.log("%c next state","color: #4CAF50; font-weight: bold",i(v)),endMessage(u)}f=v}),c&&d.subscribeAction(function(h,m){if(s(h,m)){var v=getFormattedTime(),y=o(h),_="action "+h.type+v;startMessage(u,_,a),u.log("%c action","color: #03A9F4; font-weight: bold",y),endMessage(u)}}))}}function startMessage(e,a,n){var i=n?e.groupCollapsed:e.group;try{i.call(e,a)}catch(r){e.log(a)}}function endMessage(e){try{e.groupEnd()}catch(a){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,a){return new Array(a+1).join(e)}function pad(e,a){return repeat("0",a-e.toString().length)+e}var index$2={Store,install,version:"3.6.2",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger};let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,a)=>{socket.on("init_settings",(n,i,r)=>{settingsData=n,defaultSettingsData=r,spotifyCredentials=i,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:i,user:r,status:s}=n;a("setARL",{arl:i}),e("SET_USER",r),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:i}=a;i=typeof i=="undefined"?!0:i,e("SET_ARL",n),i&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const i=a[n];e[n]=i}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});class CustomSocket extends WebSocket{constructor(a){super(a)}emit(a,n){if(this.readyState!=WebSocket.OPEN)return!1;this.send(JSON.stringify({key:a,data:n}))}on(a,n){this.addEventListener("message",function(i){let r=JSON.parse(i.data);console.log(r),r.key==a&&n(r.data)})}}const socket=new CustomSocket("ws://"+location.host+"/");function normalizeComponent(e,a,n,i,r,s,o,l,c,u){typeof o!="boolean"&&(c=l,l=o,o=!1);var d=typeof n=="function"?n.options:n;e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,r&&(d.functional=!0)),i&&(d._scopeId=i);var f;if(s?(f=function(y){y=y||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!y&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(y=__VUE_SSR_CONTEXT__),a&&a.call(this,c(y)),y&&y._registeredComponents&&y._registeredComponents.add(s)},d._ssrRegister=f):a&&(f=o?function(){a.call(this,u(this.$root.$options.shadowRoot))}:function(v){a.call(this,l(v))}),f)if(d.functional){var h=d.render;d.render=function(y,_){return f.call(_),h(y,_)}}else{var m=d.beforeCreate;d.beforeCreate=m?[].concat(m,f):[f]}return n}var normalizeComponent_1=normalizeComponent,isOldIE=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function createInjector(e){return function(a,n){return addStyle(a,n)}}var HEAD=document.head||document.getElementsByTagName("head")[0],styles={};function addStyle(e,a){var n=isOldIE?a.media||"default":e,i=styles[n]||(styles[n]={ids:new Set,styles:[]});if(!i.ids.has(e)){i.ids.add(e);var r=a.source;if(a.map&&(r+=` /*# sourceURL=`+a.map.sources[0]+" */",r+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(a.map))))+" */"),i.element||(i.element=document.createElement("style"),i.element.type="text/css",a.media&&i.element.setAttribute("media",a.media),HEAD.appendChild(i.element)),"styleSheet"in i.element)i.styles.push(r),i.element.styleSheet.cssText=i.styles.filter(Boolean).join(` -`);else{var s=i.ids.size-1,o=document.createTextNode(r),l=i.element.childNodes;l[s]&&i.element.removeChild(l[s]),l.length?i.element.insertBefore(o,l[s]):i.element.appendChild(o)}}}var browser=createInjector,__vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){!e||e("data-v-07f63f2b_0",{source:".lds-ring[data-v-07f63f2b]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-07f63f2b]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-07f63f2b 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-07f63f2b]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-07f63f2b]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-07f63f2b]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-07f63f2b{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-07f63f2b",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;var BaseLoadingPlaceholder=normalizeComponent_1({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,browser,void 0);function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");socket.emit("addToQueue",{url:e,bitrate:a},()=>{})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,i;return n=Math.floor(e/60),a=Math.floor(n/60),i=e-n*60,n-=a*60,[a,n,i]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var i;return function(){var r=this,s=arguments,o=function(){i=null,n||e.apply(r,s)},l=n&&!i;clearTimeout(i),i=setTimeout(o,a),l&&e.apply(r,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n)?n.split(".").reduce((s,o)=>{if(s)return s[o]},e):e[n];if(typeof r!="undefined")return r}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,i)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+i,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:i}=window,r=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(r>i){const o=r-i+15;this.xPos=`${e-o}px`}if(s>n){const o=s-n+15;this.yPos=`${a-o}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(i){return n("button",{directives:[{name:"show",rawName:"v-show",value:i.show,expression:"option.show"}],key:i.label,staticClass:"btn menu-option",on:{click:function(r){return r.preventDefault(),i.action(r)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(i.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){!e||e("data-v-17a20187_0",{source:".context-menu[data-v-17a20187]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-17a20187]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-17a20187]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-17a20187]{text-transform:capitalize}button[data-v-17a20187]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-17a20187]:focus{outline:0}button[data-v-17a20187]:active{background-color:unset;transform:unset}button[data-v-17a20187]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-17a20187",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;var TheContextMenu=normalizeComponent_1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,browser,void 0),EventBus=new Vue;async function adjustVolume(e,a,{duration:n=1e3,easing:i=swing,interval:r=13}={}){const s=e.volume,o=a-s;if(!o||!n||!i||!r)return e.volume=a,Promise.resolve();const l=Math.floor(n/r);let c=1;return new Promise(u=>{const d=setInterval(()=>{e.volume=s+i(c/l)*o,++c===l&&(clearInterval(d),u())},r)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,a,n)=>{this.stopStackedTabsPreview(),n()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;isFinite(e)||(e=30),!(e-this.$refs.preview.currentTime>=1)&&(this.previewStopped||(await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(a=>{a.style.opacity=0}),document.querySelectorAll("*").forEach(a=>{a.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(a=>{a.textContent="play_arrow"})))},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:a}=e;var n=a.tagName=="I"?a:a.querySelector("i");a.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,n.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,n.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(i=>{i.removeAttribute("playing")}),a.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(i=>{i.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(i=>{i.style.opacity=0}),n.innerText="pause",n.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=a.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));e.length!==0&&(await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(a=>{a.removeAttribute("playing"),a.innerText="play_arrow"}))},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:a}=e,n=a.parentElement.hasAttribute("playing");(n&&this.previewStopped||!n)&&(a.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[n("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_module_identifier__$2=void 0,__vue_is_functional_template__$2=!1;var TheTrackPreview=normalizeComponent_1({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2,__vue_module_identifier__$2,void 0,void 0),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:a}=e;this.$refs.modal.classList.add("animated","fadeOut"),!!a.matches(".quality-button")&&sendAddToQueue(this.url,a.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:a}=e;this.$refs.modal.classList.remove("animated",a),a!=="fadeIn"&&(this.open=!1)}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(i){return e.tryToDownloadTrack(i)}}},[n("div",{staticClass:"smallmodal-content"},[n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` +`);else{var s=i.ids.size-1,o=document.createTextNode(r),l=i.element.childNodes;l[s]&&i.element.removeChild(l[s]),l.length?i.element.insertBefore(o,l[s]):i.element.appendChild(o)}}}var browser=createInjector,__vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){!e||e("data-v-07f63f2b_0",{source:".lds-ring[data-v-07f63f2b]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-07f63f2b]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-07f63f2b 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-07f63f2b]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-07f63f2b]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-07f63f2b]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-07f63f2b{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-07f63f2b",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;var BaseLoadingPlaceholder=normalizeComponent_1({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,browser,void 0);const get=function(e,a){let n=`/api/${e}`;if(a){let i=Object.keys(a).map(r=>encodeURIComponent(r)+"="+encodeURIComponent(a[r])).join("&");n+="?"+i}return fetch(n).then(i=>i.json())};function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");get("addToQueue",{url:e,bitrate:a})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,i;return n=Math.floor(e/60),a=Math.floor(n/60),i=e-n*60,n-=a*60,[a,n,i]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var i;return function(){var r=this,s=arguments,o=function(){i=null,n||e.apply(r,s)},l=n&&!i;clearTimeout(i),i=setTimeout(o,a),l&&e.apply(r,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n)?n.split(".").reduce((s,o)=>{if(s)return s[o]},e):e[n];if(typeof r!="undefined")return r}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,i)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+i,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:i}=window,r=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(r>i){const o=r-i+15;this.xPos=`${e-o}px`}if(s>n){const o=s-n+15;this.yPos=`${a-o}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(i){return n("button",{directives:[{name:"show",rawName:"v-show",value:i.show,expression:"option.show"}],key:i.label,staticClass:"btn menu-option",on:{click:function(r){return r.preventDefault(),i.action(r)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(i.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){!e||e("data-v-17a20187_0",{source:".context-menu[data-v-17a20187]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-17a20187]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-17a20187]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-17a20187]{text-transform:capitalize}button[data-v-17a20187]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-17a20187]:focus{outline:0}button[data-v-17a20187]:active{background-color:unset;transform:unset}button[data-v-17a20187]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-17a20187",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;var TheContextMenu=normalizeComponent_1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,browser,void 0),EventBus=new Vue;async function adjustVolume(e,a,{duration:n=1e3,easing:i=swing,interval:r=13}={}){const s=e.volume,o=a-s;if(!o||!n||!i||!r)return e.volume=a,Promise.resolve();const l=Math.floor(n/r);let c=1;return new Promise(u=>{const d=setInterval(()=>{e.volume=s+i(c/l)*o,++c===l&&(clearInterval(d),u())},r)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,a,n)=>{this.stopStackedTabsPreview(),n()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;isFinite(e)||(e=30),!(e-this.$refs.preview.currentTime>=1)&&(this.previewStopped||(await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(a=>{a.style.opacity=0}),document.querySelectorAll("*").forEach(a=>{a.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(a=>{a.textContent="play_arrow"})))},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:a}=e;var n=a.tagName=="I"?a:a.querySelector("i");a.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,n.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,n.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(i=>{i.removeAttribute("playing")}),a.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(i=>{i.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(i=>{i.style.opacity=0}),n.innerText="pause",n.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=a.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));e.length!==0&&(await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(a=>{a.removeAttribute("playing"),a.innerText="play_arrow"}))},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:a}=e,n=a.parentElement.hasAttribute("playing");(n&&this.previewStopped||!n)&&(a.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[n("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_module_identifier__$2=void 0,__vue_is_functional_template__$2=!1;var TheTrackPreview=normalizeComponent_1({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2,__vue_module_identifier__$2,void 0,void 0),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:a}=e;this.$refs.modal.classList.add("animated","fadeOut"),!!a.matches(".quality-button")&&sendAddToQueue(this.url,a.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:a}=e;this.$refs.modal.classList.remove("animated",a),a!=="fadeIn"&&(this.open=!1)}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(i){return e.tryToDownloadTrack(i)}}},[n("div",{staticClass:"smallmodal-content"},[n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"FLAC"}))+` `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"3"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"MP3 320kbps"}))+` @@ -2524,7 +2524,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */var __assign=function(){return __assign=Object.assign||function(a){for(var n,i=1,r=arguments.length;i=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,a){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var i=n.call(e),r,s=[],o;try{for(;(a===void 0||a-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(l){o={error:l}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return s}function __spread(){for(var e=[],a=0;a{a!==e&&(localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements())});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(a=>{a.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function a(){e.forEach(n=>{n.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",a)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=` + A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`,e));var w=function(C,N){u(),n(C,N,c)},A=d(w);if(i.immediate){var S=A,M=function(C,N){M=S,w(C,N)};A=function(C,N){M(C,N)}}var P=e.$watch(_,A,{immediate:i.immediate,deep:y,sync:o}),z=e._watchers[e._watchers.length-1];return isReactive(z.value)&&((r=z.value.__ob__)===null||r===void 0?void 0:r.dep)&&y&&z.value.__ob__.dep.addSub({update:function(){z.run()}}),patchWatcherTeardown(z,u),function(){P()}}function watch(e,a,n){var i=null;typeof a=="function"?i=a:(n=a,i=null);var r=getWatcherOption(n),s=getWatcherVM();return createWatcher$1(s,e,i,r)}function computed(e){var a,n=(a=getCurrentInstance())===null||a===void 0?void 0:a.proxy,i,r;typeof e=="function"?i=e:(i=e.get,r=e.set);var s,o;if(n&&!n.$isServer){var l=getVueInternalClasses(),c=l.Watcher,u=l.Dep,d;o=function(){return d||(d=new c(n,i,noopFn,{lazy:!0})),d.dirty&&d.evaluate(),u.target&&d.depend(),d.value},s=function(h){r&&r(h)}}else{var f=defineComponentInstance(getVueConstructor(),{computed:{$$state:{get:i,set:r}}});n&&n.$on("hook:destroyed",function(){return f.$destroy()}),o=function(){return f.$$state},s=function(h){f.$$state=h}}return createRef({get:o,set:s})}function set$1(e,a,n){var i=e.__composition_api_state__=e.__composition_api_state__||{};i[a]=n}function get$1(e,a){return(e.__composition_api_state__||{})[a]}var vmStateManager={set:set$1,get:get$1};function asVmProperty(e,a,n){var i=e.$options.props;!(a in e)&&!(i&&hasOwn$1(i,a))&&(isRef(n)?proxy$1(e,a,{get:function(){return n.value},set:function(r){n.value=r}}):e[a]=n)}function updateTemplateRef(e){var a=vmStateManager.get(e,"rawBindings")||{};if(!(!a||!Object.keys(a).length)){for(var n=e.$refs,i=vmStateManager.get(e,"refs")||[],r=0;r{a!==e&&(localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements())});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(a=>{a.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function a(){e.forEach(n=>{n.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",a)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=` @@ -2912,7 +2912,7 @@ PERFORMANCE OF THIS SOFTWARE. `)]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("For security reasons you will need to provide your own Client ID and Secret")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Client ID and Secret?")]),e._v(" "),e._m(0),e._v(" "),e._m(1),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("Now you can copy-paste those results in the appropriate fields in the settings.")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Spotify Username?")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$c=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Connect to "),n("a",{attrs:{href:"https://developer.spotify.com/dashboard",target:"_blank"}},[e._v("Spotify for Developers's Dashboard")]),e._v(" and login with your Spotify account.")])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` Click on "Create an App".`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/YFz7rHj.png",alt:"Create an App button on Spotify for Developers's Dashboard"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` Fill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/A9cvDkK.png",alt:"Create an app form"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),n("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_module_identifier__$c=void 0,__vue_is_functional_template__$c=!1;var InfoSpotifyFeatures=normalizeComponent_1({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,void 0,void 0),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var a=hasOwnProperty$2.call(e,symToStringTag),n=e[symToStringTag];try{e[symToStringTag]=void 0;var i=!0}catch(s){}var r=nativeObjectToString.call(e);return i&&(a?e[symToStringTag]=n:delete e[symToStringTag]),r}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,a){for(var n=-1,i=e==null?0:e.length,r=Array(i);++n-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,a){var n=typeof e;return a=a??MAX_SAFE_INTEGER,!!a&&(n=="number"||n!="symbol"&&reIsUint.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var a=e&&e.constructor,n=typeof a=="function"&&a.prototype||objectProto$3;return e===n}function baseTimes(e,a){for(var n=-1,i=Array(e);++n-1}function listCacheSet(e,a){var n=this.__data__,i=assocIndexOf(n,e);return i<0?(++this.size,n.push([e,a])):n[i][1]=a,this}function ListCache(e){var a=-1,n=e==null?0:e.length;for(this.clear();++al))return!1;var u=s.get(e),d=s.get(a);if(u&&d)return u==a&&d==e;var f=-1,h=!0,m=n&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,a),s.set(a,e);++f=a||C<0||f&&N>=s}function w(){var z=now();if(_(z))return A(z);l=setTimeout(w,y(z))}function A(z){return l=void 0,h&&i?m(z):(i=r=void 0,o)}function S(){l!==void 0&&clearTimeout(l),u=0,i=c=r=l=void 0}function M(){return l===void 0?o:A(now())}function P(){var z=now(),C=_(z);if(i=arguments,r=this,c=z,C){if(l===void 0)return v(c);if(f)return clearTimeout(l),l=setTimeout(w,a),m(c)}return l===void 0&&(l=setTimeout(w,a)),o}return P.cancel=S,P.flush=M,P}function arrayIncludesWith(e,a,n){for(var i=-1,r=e==null?0:e.length;++ia||s&&o&&c&&!l&&!u||i&&o&&c||!n&&c||!r)return 1;if(!i&&!s&&!u&&e=l)return c;var u=n[i];return c*(u=="desc"?-1:1)}}return e.index-a.index}function baseOrderBy(e,a,n){a.length?a=arrayMap(a,function(s){return isArray$2(s)?function(o){return baseGet(o,s.length===1?s[0]:s)}:s}):a=[identity$1];var i=-1;a=arrayMap(a,baseUnary(baseIteratee));var r=baseMap(e,function(s,o,l){var c=arrayMap(a,function(u){return u(s)});return{criteria:c,index:++i,value:s}});return baseSortBy(r,function(s,o){return compareMultiple(s,o,n)})}function orderBy(e,a,n,i){return e==null?[]:(isArray$2(a)||(a=a==null?[]:[a]),n=i?void 0:n,isArray$2(n)||(n=n==null?[]:[n]),baseOrderBy(e,a,n))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,a,n){var i=-1,r=arrayIncludes,s=e.length,o=!0,l=[],c=l;if(n)o=!1,r=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var u=a?null:createSet(e);if(u)return setToArray(u);o=!1,r=cacheHas,c=new SetCache}else c=a?[]:l;e:for(;++i{socket.on("show_artist",i=>{socket.off("show_artist"),a(i)})})}function standardizeData(e,a){if(e.hasLoaded){const{data:n}=e,i=[];for(const r of n){let s=a(r);i.push(s)}return{data:i,hasLoaded:e.hasLoaded}}else return null}var script$b=defineComponent({components:{BaseTabs,BaseTab},setup(e,a){const n=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>n.artistReleases[n.currentTab])}),i=computed(()=>a.root.$router.currentRoute.params.id),r=ref$2(!1);getArtistData(unref(i)).then(o=>{r.value=!0;const l={data:[o],hasLoaded:unref(r)},{data:[{artistName:c,artistPictureXL:u,artistReleases:d}]}=standardizeData(l,formatArtistData);Object.assign(n,{artistName:c,artistPicture:u,artistReleases:d,currentTab:Object.keys(d)[0]})}).catch(o=>console.error(o));const s=computed(()=>{if(!unref(r))return[];let o=n.sortKey;return o==="releaseTracksNumber"&&(o=l=>new Number(l.releaseTracksNumber)),orderBy(n.currentRelease,o,n.sortOrder)});return{...toRefs(n),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(i)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${n.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),a=this.$tc.bind(this);return{head:[{title:a("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:a("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative image-header"},[n("header",{staticClass:"flex items-center",style:e.headerStyle},[n("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("BaseTabs",e._l(e.artistReleases,function(i,r){return n("BaseTab",{key:r,class:{active:e.currentTab===r},on:{click:function(s){e.currentTab=r}}},[e._v(` + Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),n("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_module_identifier__$c=void 0,__vue_is_functional_template__$c=!1;var InfoSpotifyFeatures=normalizeComponent_1({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,void 0,void 0),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var a=hasOwnProperty$2.call(e,symToStringTag),n=e[symToStringTag];try{e[symToStringTag]=void 0;var i=!0}catch(s){}var r=nativeObjectToString.call(e);return i&&(a?e[symToStringTag]=n:delete e[symToStringTag]),r}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,a){for(var n=-1,i=e==null?0:e.length,r=Array(i);++n-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,a){var n=typeof e;return a=a??MAX_SAFE_INTEGER,!!a&&(n=="number"||n!="symbol"&&reIsUint.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var a=e&&e.constructor,n=typeof a=="function"&&a.prototype||objectProto$3;return e===n}function baseTimes(e,a){for(var n=-1,i=Array(e);++n-1}function listCacheSet(e,a){var n=this.__data__,i=assocIndexOf(n,e);return i<0?(++this.size,n.push([e,a])):n[i][1]=a,this}function ListCache(e){var a=-1,n=e==null?0:e.length;for(this.clear();++al))return!1;var u=s.get(e),d=s.get(a);if(u&&d)return u==a&&d==e;var f=-1,h=!0,m=n&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,a),s.set(a,e);++f=a||C<0||f&&N>=s}function w(){var z=now();if(_(z))return A(z);l=setTimeout(w,y(z))}function A(z){return l=void 0,h&&i?m(z):(i=r=void 0,o)}function S(){l!==void 0&&clearTimeout(l),u=0,i=c=r=l=void 0}function M(){return l===void 0?o:A(now())}function P(){var z=now(),C=_(z);if(i=arguments,r=this,c=z,C){if(l===void 0)return v(c);if(f)return clearTimeout(l),l=setTimeout(w,a),m(c)}return l===void 0&&(l=setTimeout(w,a)),o}return P.cancel=S,P.flush=M,P}function arrayIncludesWith(e,a,n){for(var i=-1,r=e==null?0:e.length;++ia||s&&o&&c&&!l&&!u||i&&o&&c||!n&&c||!r)return 1;if(!i&&!s&&!u&&e=l)return c;var u=n[i];return c*(u=="desc"?-1:1)}}return e.index-a.index}function baseOrderBy(e,a,n){a.length?a=arrayMap(a,function(s){return isArray$2(s)?function(o){return baseGet(o,s.length===1?s[0]:s)}:s}):a=[identity$1];var i=-1;a=arrayMap(a,baseUnary(baseIteratee));var r=baseMap(e,function(s,o,l){var c=arrayMap(a,function(u){return u(s)});return{criteria:c,index:++i,value:s}});return baseSortBy(r,function(s,o){return compareMultiple(s,o,n)})}function orderBy(e,a,n,i){return e==null?[]:(isArray$2(a)||(a=a==null?[]:[a]),n=i?void 0:n,isArray$2(n)||(n=n==null?[]:[n]),baseOrderBy(e,a,n))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,a,n){var i=-1,r=arrayIncludes,s=e.length,o=!0,l=[],c=l;if(n)o=!1,r=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var u=a?null:createSet(e);if(u)return setToArray(u);o=!1,r=cacheHas,c=new SetCache}else c=a?[]:l;e:for(;++i{socket.on("show_artist",i=>{socket.off("show_artist"),a(i)})})}function standardizeData(e,a){if(e.hasLoaded){const{data:n}=e,i=[];for(const r of n){let s=a(r);i.push(s)}return{data:i,hasLoaded:e.hasLoaded}}else return null}var script$b=defineComponent({components:{BaseTabs,BaseTab},setup(e,a){const n=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>n.artistReleases[n.currentTab])}),i=computed(()=>a.root.$router.currentRoute.params.id),r=ref$2(!1);getArtistData(unref(i)).then(o=>{r.value=!0;const l={data:[o],hasLoaded:unref(r)},{data:[{artistName:c,artistPictureXL:u,artistReleases:d}]}=standardizeData(l,formatArtistData);Object.assign(n,{artistName:c,artistPicture:u,artistReleases:d,currentTab:Object.keys(d)[0]})}).catch(o=>console.error(o));const s=computed(()=>{if(!unref(r))return[];let o=n.sortKey;return o==="releaseTracksNumber"&&(o=l=>new Number(l.releaseTracksNumber)),orderBy(n.currentRelease,o,n.sortOrder)});return{...toRefs(n),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(i)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${n.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),a=this.$tc.bind(this);return{head:[{title:a("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:a("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative image-header"},[n("header",{staticClass:"flex items-center",style:e.headerStyle},[n("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("BaseTabs",e._l(e.artistReleases,function(i,r){return n("BaseTab",{key:r,class:{active:e.currentTab===r},on:{click:function(s){e.currentTab=r}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+r,2))+` `)])}),1),e._v(" "),n("table",{staticClass:"table"},[n("thead",[n("tr",e._l(e.head,function(i){return n("th",{key:i.title,staticClass:"uppercase-first-letter",class:{"sort-asc":i.sortKey===e.sortKey&&e.sortOrder=="asc","sort-desc":i.sortKey===e.sortKey&&e.sortOrder=="desc",sortable:i.sortKey,clickable:i.sortKey},style:{width:i.width?i.width:"auto"},on:{click:function(r){i.sortKey&&e.sortBy(i.sortKey)}}},[e._v(` `+e._s(i.title)+` @@ -3010,7 +3010,7 @@ PERFORMANCE OF THIS SOFTWARE. `+e._s(e.$t("globals.by",{artist:i.artistName})+" - "+e.$tc("globals.listTabs.trackN",i.playlistTracksNumber))+` `)])],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_module_identifier__$p=void 0,__vue_is_functional_template__$p=!1;var ResultsPlaylists=normalizeComponent_1({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p,__vue_module_identifier__$p,void 0,void 0),script$o={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){return!this.viewInfo?!1:!this.viewInfo.ORDER.every(n=>n==="TOP_RESULT"?this.viewInfo[n].length===0:this.viewInfo[n].data.length===0)}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(i){return n("section",{key:i,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(i)?[n("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":i==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":i!=="TOP_RESULT"},on:{click:function(r){return e.$emit("change-search-tab",i)}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+i.toLowerCase(),2))+` - `)]),e._v(" "),i==="TOP_RESULT"?n("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="TRACK"?n("ResultsTracks",{attrs:{viewInfo:e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="ALBUM"?n("ResultsAlbums",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="PLAYLIST"?n("ResultsPlaylists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="ARTIST"?n("ResultsArtists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ARTIST,e.formatArtist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):e._e()]:e._e()],2)}):n("div",[n("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)},__vue_staticRenderFns__$q=[];const __vue_inject_styles__$q=void 0,__vue_scope_id__$q=void 0,__vue_module_identifier__$q=void 0,__vue_is_functional_template__$q=!1;var ResultsAll=normalizeComponent_1({render:__vue_render__$q,staticRenderFns:__vue_staticRenderFns__$q},__vue_inject_styles__$q,__vue_script__$o,__vue_scope_id__$q,__vue_is_functional_template__$q,__vue_module_identifier__$q,void 0,void 0);const searchResult=ref$2({});function performMainSearch(e){socket.emit("mainSearch",{term:e}),socket.on("mainSearch",a=>{searchResult.value=a,socket.off("mainSearch")})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:i=30}){socket.emit("search",{term:e,type:a,start:n,nb:i}),socket.on("search",r=>{result.value=r,socket.off("search")})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:i,performMainSearch:r}=useMainSearch(),{result:s,performSearch:o}=useSearch(),l=computed(()=>a.root.$route.query.term),c=computed(()=>n.results.query===""),u=ref$2(!1),d=computed(()=>Object.keys(i.value).length!==0),f=computed(()=>i.value.QUERY!==l.value);d.value&&!f.value&&onMounted(()=>{h(i.value)}),l.value&&(!d.value||f.value)&&(r(l.value),u.value=!0);function h(m){u.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,o({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(i,h),watch(s,m=>{const{next:v,total:y,type:_,data:w}=m,A=`${_}Tab`;let S=y;if(v&&(S=parseInt(v.match(/index=(\d*)/)[1])),n.results[A].total!==y&&(n.results[A].total=y),n.results[A].next!==S){n.results[A].next=S;const M=n.results[A].data.concat(w),P=uniqWith(M,(z,C)=>z.id===C.id);n.results[A].data=P}n.results[A].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:u,isQueryEmpty:c,searchResult:i,performMainSearch:r,performSearch:o}},computed:{loadedTabs(){const e=[];for(const a in this.results)this.results.hasOwnProperty(a)&&a!=="query"&&this.results[a].hasLoaded&&e.push(a.replace(/Tab/g,""));return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`;this.results[e].next{searchResult.value=a})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:i=30}){get("search",{term:e,type:a,start:n,nb:i}).then(r=>{result.value=r})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:i,performMainSearch:r}=useMainSearch(),{result:s,performSearch:o}=useSearch(),l=computed(()=>a.root.$route.query.term),c=computed(()=>n.results.query===""),u=ref$2(!1),d=computed(()=>Object.keys(i.value).length!==0),f=computed(()=>i.value.QUERY!==l.value);d.value&&!f.value&&onMounted(()=>{h(i.value)}),l.value&&(!d.value||f.value)&&(r(l.value),u.value=!0);function h(m){u.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,o({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(i,h),watch(s,m=>{const{next:v,total:y,type:_,data:w}=m,A=`${_}Tab`;let S=y;if(v&&(S=parseInt(v.match(/index=(\d*)/)[1])),n.results[A].total!==y&&(n.results[A].total=y),n.results[A].next!==S){n.results[A].next=S;const M=n.results[A].data.concat(w),P=uniqWith(M,(z,C)=>z.id===C.id);n.results[A].data=P}n.results[A].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:u,isQueryEmpty:c,searchResult:i,performMainSearch:r,performSearch:o}},computed:{loadedTabs(){const e=[];for(const a in this.results)this.results.hasOwnProperty(a)&&a!=="query"&&this.results[a].hasLoaded&&e.push(a.replace(/Tab/g,""));return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`;this.results[e].next @@ -4791,5 +4791,5 @@ PERFORMANCE OF THIS SOFTWARE. `)]),e._v(" "),n("td",[e._v(e._s(i.artists[0].name))]),e._v(" "),n("td",[e._v(e._s(i.album.name))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(Math.floor(i.duration_ms/1e3))))]),e._v(" "),n("td",[n("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])])})],2)]),e._v(" "),e.label?n("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` `+e._s(""+e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.type,1)}))+` `)]),e._v(" "),n("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` - `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_module_identifier__$v=void 0,__vue_is_functional_template__$v=!1;var Tracklist=normalizeComponent_1({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v,__vue_module_identifier__$v,void 0,void 0);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let i=null;switch(e.name){case"Tracklist":i={type:e.params.type,id:e.params.id};break;case"Album":i={type:"album",id:e.params.id};break;case"Playlist":i={type:"playlist",id:e.params.id};break;case"Spotify Playlist":i={type:"spotifyplaylist",id:e.params.id};break}i&&socket.emit("getTracklist",i),n()});const get$2=function(e,a){let n=`/api/${e}`;if(a){let i=Object.keys(a).map(r=>encodeURIComponent(r)+"="+encodeURIComponent(a[r])).join("&");n+="?"+i}return fetch(n).then(i=>i.json())};function startApp(){new Vue({store,router,i18n,render:e=>e(App)}).$mount("#app")}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` -`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}fetch("connect").then(e=>e.json()).then(e=>{if(store.dispatch("setAppInfo",e.update),e.autologin){console.log("Autologin");let a=localStorage.getItem("arl"),n=localStorage.getItem("accountNum");if(a){a=a.trim();let i;n!=0?i=get$2("login",{arl:a,force:!0,child:n||0}):i=get$2("login",{arl:a}),i.then(loggedIn)}}}),socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); + `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_module_identifier__$v=void 0,__vue_is_functional_template__$v=!1;var Tracklist=normalizeComponent_1({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v,__vue_module_identifier__$v,void 0,void 0);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let i=null;switch(e.name){case"Tracklist":i={type:e.params.type,id:e.params.id};break;case"Album":i={type:"album",id:e.params.id};break;case"Playlist":i={type:"playlist",id:e.params.id};break;case"Spotify Playlist":i={type:"spotifyplaylist",id:e.params.id};break}i&&socket.emit("getTracklist",i),n()});function startApp(){new Vue({store,router,i18n,render:e=>e(App)}).$mount("#app")}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` +`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}fetch("connect").then(e=>e.json()).then(e=>{if(store.dispatch("setAppInfo",e.update),e.autologin){console.log("Autologin");let a=localStorage.getItem("arl"),n=localStorage.getItem("accountNum");if(a){a=a.trim();let i;n!=0?i=get("login",{arl:a,force:!0,child:n||0}):i=get("login",{arl:a}),i.then(loggedIn)}}}),socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); diff --git a/src/use/main-search.js b/src/use/main-search.js index d46df42..e10d076 100644 --- a/src/use/main-search.js +++ b/src/use/main-search.js @@ -1,15 +1,12 @@ import { ref } from '@vue/composition-api' -import { socket } from '@/utils/socket' +import { get } from '@/utils/api' const searchResult = ref({}) function performMainSearch(searchTerm) { - socket.emit('mainSearch', { term: searchTerm }) - - socket.on('mainSearch', data => { + get('mainSearch', { term: searchTerm }) + .then(data => { searchResult.value = data - - socket.off('mainSearch') }) } diff --git a/src/use/search.js b/src/use/search.js index 7a6d8de..299dfa6 100644 --- a/src/use/search.js +++ b/src/use/search.js @@ -1,20 +1,16 @@ import { ref } from '@vue/composition-api' -import { socket } from '@/utils/socket' +import { get } from '@/utils/api' const result = ref({}) function performSearch({ term, type, start = 0, nb = 30 }) { - socket.emit('search', { + get('search', { term, type, start, nb - }) - - socket.on('search', data => { + }).then(data => { result.value = data - - socket.off('search') }) } diff --git a/src/utils/downloads.js b/src/utils/downloads.js index 6e8ab3d..f6216fe 100644 --- a/src/utils/downloads.js +++ b/src/utils/downloads.js @@ -1,4 +1,4 @@ -import { socket } from '@/utils/socket' +import { get } from '@/utils/api' /** * @param {string} url @@ -7,7 +7,7 @@ import { socket } from '@/utils/socket' export function sendAddToQueue(url, bitrate = null) { if (!url) throw new Error('No URL given to sendAddToQueue function!') - socket.emit('addToQueue', { url, bitrate }, () => {}) + get('addToQueue', { url, bitrate }) } export function aggregateDownloadLinks(releases) { diff --git a/src/utils/socket.js b/src/utils/socket.js index 225c0d8..9fc2c65 100644 --- a/src/utils/socket.js +++ b/src/utils/socket.js @@ -13,6 +13,7 @@ class CustomSocket extends WebSocket { on(key, callback) { this.addEventListener('message', function(event){ let data = JSON.parse(event.data) + console.log(data) if (data.key == key) callback(data.data) }) } From cbf3a5c6776a0e4f0cab516d48024f396d0d9983 Mon Sep 17 00:00:00 2001 From: Roberto Tonino Date: Mon, 1 Mar 2021 21:22:32 +0100 Subject: [PATCH 04/17] fix: removed multiple message events added to CustomWebsocket --- .prettierrc | 5 +- public/js/bundle.js | 2600 ++++++++++++++++++++++--------------------- src/app.js | 77 +- src/utils/socket.js | 36 +- 4 files changed, 1384 insertions(+), 1334 deletions(-) diff --git a/.prettierrc b/.prettierrc index f8bc8d6..f5c7f42 100644 --- a/.prettierrc +++ b/.prettierrc @@ -7,5 +7,6 @@ "trailingComma": "none", "printWidth": 120, "arrowParens": "avoid", - "vueIndentScriptAndStyle": false -} \ No newline at end of file + "vueIndentScriptAndStyle": false, + "endOfLine": "lf" +} diff --git a/public/js/bundle.js b/public/js/bundle.js index 9065844..4a0e30d 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -2,11 +2,11 @@ * Vue.js v2.6.12 * (c) 2014-2020 Evan You * Released under the MIT License. - */var emptyObject=Object.freeze({});function isUndef(e){return e==null}function isDef(e){return e!=null}function isTrue(e){return e===!0}function isFalse(e){return e===!1}function isPrimitive(e){return typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="boolean"}function isObject(e){return e!==null&&typeof e=="object"}var _toString=Object.prototype.toString;function toRawType(e){return _toString.call(e).slice(8,-1)}function isPlainObject(e){return _toString.call(e)==="[object Object]"}function isRegExp(e){return _toString.call(e)==="[object RegExp]"}function isValidArrayIndex(e){var a=parseFloat(String(e));return a>=0&&Math.floor(a)===a&&isFinite(e)}function isPromise(e){return isDef(e)&&typeof e.then=="function"&&typeof e.catch=="function"}function toString(e){return e==null?"":Array.isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function toNumber(e){var a=parseFloat(e);return isNaN(a)?e:a}function makeMap(e,a){for(var n=Object.create(null),i=e.split(","),r=0;r-1)return e.splice(n,1)}}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,a){return hasOwnProperty.call(e,a)}function cached(e){var a=Object.create(null);return function(i){var r=a[i];return r||(a[i]=e(i))}}var camelizeRE=/-(\w)/g,camelize=cached(function(e){return e.replace(camelizeRE,function(a,n){return n?n.toUpperCase():""})}),capitalize=cached(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(function(e){return e.replace(hyphenateRE,"-$1").toLowerCase()});function polyfillBind(e,a){function n(i){var r=arguments.length;return r?r>1?e.apply(a,arguments):e.call(a,i):e.call(a)}return n._length=e.length,n}function nativeBind(e,a){return e.bind(a)}var bind=Function.prototype.bind?nativeBind:polyfillBind;function toArray(e,a){a=a||0;for(var n=e.length-a,i=new Array(n);n--;)i[n]=e[n+a];return i}function extend(e,a){for(var n in a)e[n]=a[n];return e}function toObject(e){for(var a={},n=0;n0,isEdge=UA&&UA.indexOf("edge/")>0;UA&&UA.indexOf("android")>0;var isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==="ios";UA&&/chrome\/\d+/.test(UA),UA&&/phantomjs/.test(UA);var isFF=UA&&UA.match(/firefox\/(\d+)/),nativeWatch={}.watch,supportsPassive=!1;if(inBrowser)try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener("test-passive",null,opts)}catch(e){}var _isServer,isServerRendering=function(){return _isServer===void 0&&(!inBrowser&&!inWeex&&typeof global!="undefined"?_isServer=global.process&&global.process.env.VUE_ENV==="server":_isServer=!1),_isServer},devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function isNative(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol=typeof Symbol!="undefined"&&isNative(Symbol)&&typeof Reflect!="undefined"&&isNative(Reflect.ownKeys),_Set;typeof Set!="undefined"&&isNative(Set)?_Set=Set:_Set=function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(n){return this.set[n]===!0},e.prototype.add=function(n){this.set[n]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var warn=noop,uid=0,Dep=function(){this.id=uid++,this.subs=[]};Dep.prototype.addSub=function(a){this.subs.push(a)},Dep.prototype.removeSub=function(a){remove(this.subs,a)},Dep.prototype.depend=function(){Dep.target&&Dep.target.addDep(this)},Dep.prototype.notify=function(){for(var a=this.subs.slice(),n=0,i=a.length;n-1){if(s&&!hasOwn(r,"default"))o=!1;else if(o===""||o===hyphenate(e)){var c=getTypeIndex(String,r.type);(c<0||l0&&(r=normalizeArrayChildren(r,(a||"")+"_"+i),isTextNode(r[0])&&isTextNode(o)&&(n[s]=createTextVNode(o.text+r[0].text),r.shift()),n.push.apply(n,r)):isPrimitive(r)?isTextNode(o)?n[s]=createTextVNode(o.text+r):r!==""&&n.push(createTextVNode(r)):isTextNode(r)&&isTextNode(o)?n[s]=createTextVNode(o.text+r.text):(isTrue(e._isVList)&&isDef(r.tag)&&isUndef(r.key)&&isDef(a)&&(r.key="__vlist"+a+"_"+i+"__"),n.push(r)));return n}function initProvide(e){var a=e.$options.provide;a&&(e._provided=typeof a=="function"?a.call(e):a)}function initInjections(e){var a=resolveInject(e.$options.inject,e);a&&(toggleObserving(!1),Object.keys(a).forEach(function(n){defineReactive$$1(e,n,a[n])}),toggleObserving(!0))}function resolveInject(e,a){if(e){for(var n=Object.create(null),i=hasSymbol?Reflect.ownKeys(e):Object.keys(e),r=0;r0,s=e?!!e.$stable:!r,o=e&&e.$key;if(!e)i={};else{if(e._normalized)return e._normalized;if(s&&n&&n!==emptyObject&&o===n.$key&&!r&&!n.$hasNormal)return n;i={};for(var l in e)e[l]&&l[0]!=="$"&&(i[l]=normalizeScopedSlot(a,l,e[l]))}for(var c in a)c in i||(i[c]=proxyNormalSlot(a,c));return e&&Object.isExtensible(e)&&(e._normalized=i),def(i,"$stable",s),def(i,"$key",o),def(i,"$hasNormal",r),i}function normalizeScopedSlot(e,a,n){var i=function(){var r=arguments.length?n.apply(null,arguments):n({});return r=r&&typeof r=="object"&&!Array.isArray(r)?[r]:normalizeChildren(r),r&&(r.length===0||r.length===1&&r[0].isComment)?void 0:r};return n.proxy&&Object.defineProperty(e,a,{get:i,enumerable:!0,configurable:!0}),i}function proxyNormalSlot(e,a){return function(){return e[a]}}function renderList(e,a){var n,i,r,s,o;if(Array.isArray(e)||typeof e=="string")for(n=new Array(e.length),i=0,r=e.length;i1?toArray(r):r;for(var s=toArray(arguments,1),o='event handler for "'+n+'"',l=0,c=r.length;ldocument.createEvent("Event").timeStamp&&(getNow=function(){return performance.now()})}function flushSchedulerQueue(){currentFlushTimestamp=getNow(),flushing=!0;var e,a;for(queue.sort(function(r,s){return r.id-s.id}),index=0;indexindex&&queue[n].id>e.id;)n--;queue.splice(n+1,0,e)}waiting||(waiting=!0,nextTick(flushSchedulerQueue))}}var uid$2=0,Watcher=function(a,n,i,r,s){this.vm=a,s&&(a._watcher=this),a._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=i,this.id=++uid$2,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new _Set,this.newDepIds=new _Set,this.expression="",typeof n=="function"?this.getter=n:(this.getter=parsePath(n),this.getter||(this.getter=noop)),this.value=this.lazy?void 0:this.get()};Watcher.prototype.get=function(){pushTarget(this);var a,n=this.vm;try{a=this.getter.call(n,n)}catch(i){if(this.user)handleError(i,n,'getter for watcher "'+this.expression+'"');else throw i}finally{this.deep&&traverse(a),popTarget(),this.cleanupDeps()}return a},Watcher.prototype.addDep=function(a){var n=a.id;this.newDepIds.has(n)||(this.newDepIds.add(n),this.newDeps.push(a),this.depIds.has(n)||a.addSub(this))},Watcher.prototype.cleanupDeps=function(){for(var a=this.deps.length;a--;){var n=this.deps[a];this.newDepIds.has(n.id)||n.removeSub(this)}var i=this.depIds;this.depIds=this.newDepIds,this.newDepIds=i,this.newDepIds.clear(),i=this.deps,this.deps=this.newDeps,this.newDeps=i,this.newDeps.length=0},Watcher.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():queueWatcher(this)},Watcher.prototype.run=function(){if(this.active){var a=this.get();if(a!==this.value||isObject(a)||this.deep){var n=this.value;if(this.value=a,this.user)try{this.cb.call(this.vm,a,n)}catch(i){handleError(i,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,a,n)}}},Watcher.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Watcher.prototype.depend=function(){for(var a=this.deps.length;a--;)this.deps[a].depend()},Watcher.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||remove(this.vm._watchers,this);for(var a=this.deps.length;a--;)this.deps[a].removeSub(this);this.active=!1}};var sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop,set:noop};function proxy(e,a,n){sharedPropertyDefinition.get=function(){return this[a][n]},sharedPropertyDefinition.set=function(r){this[a][n]=r},Object.defineProperty(e,n,sharedPropertyDefinition)}function initState(e){e._watchers=[];var a=e.$options;a.props&&initProps(e,a.props),a.methods&&initMethods(e,a.methods),a.data?initData(e):observe(e._data={},!0),a.computed&&initComputed(e,a.computed),a.watch&&a.watch!==nativeWatch&&initWatch(e,a.watch)}function initProps(e,a){var n=e.$options.propsData||{},i=e._props={},r=e.$options._propKeys=[],s=!e.$parent;s||toggleObserving(!1);var o=function(c){r.push(c);var u=validateProp(c,a,n,e);defineReactive$$1(i,c,u),c in e||proxy(e,"_props",c)};for(var l in a)o(l);toggleObserving(!0)}function initData(e){var a=e.$options.data;a=e._data=typeof a=="function"?getData(a,e):a||{},isPlainObject(a)||(a={});var n=Object.keys(a),i=e.$options.props;e.$options.methods;for(var r=n.length;r--;){var s=n[r];i&&hasOwn(i,s)||isReserved(s)||proxy(e,"_data",s)}observe(a,!0)}function getData(e,a){pushTarget();try{return e.call(a,a)}catch(n){return handleError(n,a,"data()"),{}}finally{popTarget()}}var computedWatcherOptions={lazy:!0};function initComputed(e,a){var n=e._computedWatchers=Object.create(null),i=isServerRendering();for(var r in a){var s=a[r],o=typeof s=="function"?s:s.get;i||(n[r]=new Watcher(e,o||noop,noop,computedWatcherOptions)),r in e||defineComputed(e,r,s)}}function defineComputed(e,a,n){var i=!isServerRendering();typeof n=="function"?(sharedPropertyDefinition.get=i?createComputedGetter(a):createGetterInvoker(n),sharedPropertyDefinition.set=noop):(sharedPropertyDefinition.get=n.get?i&&n.cache!==!1?createComputedGetter(a):createGetterInvoker(n.get):noop,sharedPropertyDefinition.set=n.set||noop),Object.defineProperty(e,a,sharedPropertyDefinition)}function createComputedGetter(e){return function(){var n=this._computedWatchers&&this._computedWatchers[e];if(n)return n.dirty&&n.evaluate(),Dep.target&&n.depend(),n.value}}function createGetterInvoker(e){return function(){return e.call(this,this)}}function initMethods(e,a){e.$options.props;for(var n in a)e[n]=typeof a[n]!="function"?noop:bind(a[n],e)}function initWatch(e,a){for(var n in a){var i=a[n];if(Array.isArray(i))for(var r=0;r-1)return this;var i=toArray(arguments,1);return i.unshift(this),typeof a.install=="function"?a.install.apply(a,i):typeof a=="function"&&a.apply(null,i),n.push(a),this}}function initMixin$1(e){e.mixin=function(a){return this.options=mergeOptions(this.options,a),this}}function initExtend(e){e.cid=0;var a=1;e.extend=function(n){n=n||{};var i=this,r=i.cid,s=n._Ctor||(n._Ctor={});if(s[r])return s[r];var o=n.name||i.options.name,l=function(u){this._init(u)};return l.prototype=Object.create(i.prototype),l.prototype.constructor=l,l.cid=a++,l.options=mergeOptions(i.options,n),l.super=i,l.options.props&&initProps$1(l),l.options.computed&&initComputed$1(l),l.extend=i.extend,l.mixin=i.mixin,l.use=i.use,ASSET_TYPES.forEach(function(c){l[c]=i[c]}),o&&(l.options.components[o]=l),l.superOptions=i.options,l.extendOptions=n,l.sealedOptions=extend({},l.options),s[r]=l,l}}function initProps$1(e){var a=e.options.props;for(var n in a)proxy(e.prototype,"_props",n)}function initComputed$1(e){var a=e.options.computed;for(var n in a)defineComputed(e.prototype,n,a[n])}function initAssetRegisters(e){ASSET_TYPES.forEach(function(a){e[a]=function(n,i){return i?(a==="component"&&isPlainObject(i)&&(i.name=i.name||n,i=this.options._base.extend(i)),a==="directive"&&typeof i=="function"&&(i={bind:i,update:i}),this.options[a+"s"][n]=i,i):this.options[a+"s"][n]}})}function getComponentName(e){return e&&(e.Ctor.options.name||e.tag)}function matches(e,a){return Array.isArray(e)?e.indexOf(a)>-1:typeof e=="string"?e.split(",").indexOf(a)>-1:isRegExp(e)?e.test(a):!1}function pruneCache(e,a){var n=e.cache,i=e.keys,r=e._vnode;for(var s in n){var o=n[s];if(o){var l=getComponentName(o.componentOptions);l&&!a(l)&&pruneCacheEntry(n,s,i,r)}}}function pruneCacheEntry(e,a,n,i){var r=e[a];r&&(!i||r.tag!==i.tag)&&r.componentInstance.$destroy(),e[a]=null,remove(n,a)}var patternTypes=[String,RegExp,Array],KeepAlive={name:"keep-alive",abstract:!0,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var a in this.cache)pruneCacheEntry(this.cache,a,this.keys)},mounted:function(){var a=this;this.$watch("include",function(n){pruneCache(a,function(i){return matches(n,i)})}),this.$watch("exclude",function(n){pruneCache(a,function(i){return!matches(n,i)})})},render:function(){var a=this.$slots.default,n=getFirstComponentChild(a),i=n&&n.componentOptions;if(i){var r=getComponentName(i),s=this,o=s.include,l=s.exclude;if(o&&(!r||!matches(o,r))||l&&r&&matches(l,r))return n;var c=this,u=c.cache,d=c.keys,f=n.key==null?i.Ctor.cid+(i.tag?"::"+i.tag:""):n.key;u[f]?(n.componentInstance=u[f].componentInstance,remove(d,f),d.push(f)):(u[f]=n,d.push(f),this.max&&d.length>parseInt(this.max)&&pruneCacheEntry(u,d[0],d,this._vnode)),n.data.keepAlive=!0}return n||a&&a[0]}},builtInComponents={KeepAlive};function initGlobalAPI(e){var a={};a.get=function(){return config},Object.defineProperty(e,"config",a),e.util={warn,extend,mergeOptions,defineReactive:defineReactive$$1},e.set=set,e.delete=del,e.nextTick=nextTick,e.observable=function(n){return observe(n),n},e.options=Object.create(null),ASSET_TYPES.forEach(function(n){e.options[n+"s"]=Object.create(null)}),e.options._base=e,extend(e.options.components,builtInComponents),initUse(e),initMixin$1(e),initExtend(e),initAssetRegisters(e)}initGlobalAPI(Vue),Object.defineProperty(Vue.prototype,"$isServer",{get:isServerRendering}),Object.defineProperty(Vue.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vue,"FunctionalRenderContext",{value:FunctionalRenderContext}),Vue.version="2.6.12";var isReservedAttr=makeMap("style,class"),acceptValue=makeMap("input,textarea,option,select,progress"),mustUseProp=function(e,a,n){return n==="value"&&acceptValue(e)&&a!=="button"||n==="selected"&&e==="option"||n==="checked"&&e==="input"||n==="muted"&&e==="video"},isEnumeratedAttr=makeMap("contenteditable,draggable,spellcheck"),isValidContentEditableValue=makeMap("events,caret,typing,plaintext-only"),convertEnumeratedValue=function(e,a){return isFalsyAttrValue(a)||a==="false"?"false":e==="contenteditable"&&isValidContentEditableValue(a)?a:"true"},isBooleanAttr=makeMap("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),xlinkNS="http://www.w3.org/1999/xlink",isXlink=function(e){return e.charAt(5)===":"&&e.slice(0,5)==="xlink"},getXlinkProp=function(e){return isXlink(e)?e.slice(6,e.length):""},isFalsyAttrValue=function(e){return e==null||e===!1};function genClassForVnode(e){for(var a=e.data,n=e,i=e;isDef(i.componentInstance);)i=i.componentInstance._vnode,i&&i.data&&(a=mergeClassData(i.data,a));for(;isDef(n=n.parent);)n&&n.data&&(a=mergeClassData(a,n.data));return renderClass(a.staticClass,a.class)}function mergeClassData(e,a){return{staticClass:concat(e.staticClass,a.staticClass),class:isDef(e.class)?[e.class,a.class]:a.class}}function renderClass(e,a){return isDef(e)||isDef(a)?concat(e,stringifyClass(a)):""}function concat(e,a){return e?a?e+" "+a:e:a||""}function stringifyClass(e){return Array.isArray(e)?stringifyArray(e):isObject(e)?stringifyObject(e):typeof e=="string"?e:""}function stringifyArray(e){for(var a="",n,i=0,r=e.length;i-1?unknownElementCache[e]=a.constructor===window.HTMLUnknownElement||a.constructor===window.HTMLElement:unknownElementCache[e]=/HTMLUnknownElement/.test(a.toString())}var isTextInputType=makeMap("text,number,password,search,email,tel,url");function query(e){if(typeof e=="string"){var a=document.querySelector(e);return a||document.createElement("div")}else return e}function createElement$1(e,a){var n=document.createElement(e);return e!=="select"||a.data&&a.data.attrs&&a.data.attrs.multiple!==void 0&&n.setAttribute("multiple","multiple"),n}function createElementNS(e,a){return document.createElementNS(namespaceMap[e],a)}function createTextNode(e){return document.createTextNode(e)}function createComment(e){return document.createComment(e)}function insertBefore(e,a,n){e.insertBefore(a,n)}function removeChild(e,a){e.removeChild(a)}function appendChild(e,a){e.appendChild(a)}function parentNode(e){return e.parentNode}function nextSibling(e){return e.nextSibling}function tagName(e){return e.tagName}function setTextContent(e,a){e.textContent=a}function setStyleScope(e,a){e.setAttribute(a,"")}var nodeOps=Object.freeze({createElement:createElement$1,createElementNS,createTextNode,createComment,insertBefore,removeChild,appendChild,parentNode,nextSibling,tagName,setTextContent,setStyleScope}),ref={create:function(a,n){registerRef(n)},update:function(a,n){a.data.ref!==n.data.ref&&(registerRef(a,!0),registerRef(n))},destroy:function(a){registerRef(a,!0)}};function registerRef(e,a){var n=e.data.ref;if(!!isDef(n)){var i=e.context,r=e.componentInstance||e.elm,s=i.$refs;a?Array.isArray(s[n])?remove(s[n],r):s[n]===r&&(s[n]=void 0):e.data.refInFor?Array.isArray(s[n])?s[n].indexOf(r)<0&&s[n].push(r):s[n]=[r]:s[n]=r}}var emptyNode=new VNode("",{},[]),hooks=["create","activate","update","remove","destroy"];function sameVnode(e,a){return e.key===a.key&&(e.tag===a.tag&&e.isComment===a.isComment&&isDef(e.data)===isDef(a.data)&&sameInputType(e,a)||isTrue(e.isAsyncPlaceholder)&&e.asyncFactory===a.asyncFactory&&isUndef(a.asyncFactory.error))}function sameInputType(e,a){if(e.tag!=="input")return!0;var n,i=isDef(n=e.data)&&isDef(n=n.attrs)&&n.type,r=isDef(n=a.data)&&isDef(n=n.attrs)&&n.type;return i===r||isTextInputType(i)&&isTextInputType(r)}function createKeyToOldIdx(e,a,n){var i,r,s={};for(i=a;i<=n;++i)r=e[i].key,isDef(r)&&(s[r]=i);return s}function createPatchFunction(e){var a,n,i={},r=e.modules,s=e.nodeOps;for(a=0;aF?(W=isUndef(k[I+1])?null:k[I+1].elm,A(g,W,k,$,I,x)):$>I&&M(b,D,F)}function C(g,b,k,x){for(var T=k;T-1?baseSetAttr(e,a,n):isBooleanAttr(a)?isFalsyAttrValue(n)?e.removeAttribute(a):(n=a==="allowfullscreen"&&e.tagName==="EMBED"?"true":a,e.setAttribute(a,n)):isEnumeratedAttr(a)?e.setAttribute(a,convertEnumeratedValue(a,n)):isXlink(a)?isFalsyAttrValue(n)?e.removeAttributeNS(xlinkNS,getXlinkProp(a)):e.setAttributeNS(xlinkNS,a,n):baseSetAttr(e,a,n)}function baseSetAttr(e,a,n){if(isFalsyAttrValue(n))e.removeAttribute(a);else{if(isIE&&!isIE9&&e.tagName==="TEXTAREA"&&a==="placeholder"&&n!==""&&!e.__ieph){var i=function(r){r.stopImmediatePropagation(),e.removeEventListener("input",i)};e.addEventListener("input",i),e.__ieph=!0}e.setAttribute(a,n)}}var attrs={create:updateAttrs,update:updateAttrs};function updateClass(e,a){var n=a.elm,i=a.data,r=e.data;if(!(isUndef(i.staticClass)&&isUndef(i.class)&&(isUndef(r)||isUndef(r.staticClass)&&isUndef(r.class)))){var s=genClassForVnode(a),o=n._transitionClasses;isDef(o)&&(s=concat(s,stringifyClass(o))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var klass={create:updateClass,update:updateClass},validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){var a=!1,n=!1,i=!1,r=!1,s=0,o=0,l=0,c=0,u,d,f,h,m;for(f=0;f=0&&(y=e.charAt(v),y===" ");v--);(!y||!validDivisionCharRE.test(y))&&(r=!0)}}h===void 0?h=e.slice(0,f).trim():c!==0&&_();function _(){(m||(m=[])).push(e.slice(c,f).trim()),c=f+1}if(m)for(f=0;f-1?{exp:e.slice(0,index$1),key:'"'+e.slice(index$1+1)+'"'}:{exp:e,key:null};for(str=e,index$1=expressionPos=expressionEndPos=0;!eof();)chr=next(),isStringStart(chr)?parseString(chr):chr===91&&parseBracket(chr);return{exp:e.slice(0,expressionPos),key:e.slice(expressionPos+1,expressionEndPos)}}function next(){return str.charCodeAt(++index$1)}function eof(){return index$1>=len}function isStringStart(e){return e===34||e===39}function parseBracket(e){var a=1;for(expressionPos=index$1;!eof();){if(e=next(),isStringStart(e)){parseString(e);continue}if(e===91&&a++,e===93&&a--,a===0){expressionEndPos=index$1;break}}}function parseString(e){for(var a=e;!eof()&&(e=next(),e!==a););}var RANGE_TOKEN="__r",CHECKBOX_RADIO_TOKEN="__c";function model(e,a,n){var i=a.value,r=a.modifiers,s=e.tag,o=e.attrsMap.type;if(e.component)return genComponentModel(e,i,r),!1;if(s==="select")genSelect(e,i,r);else if(s==="input"&&o==="checkbox")genCheckboxModel(e,i,r);else if(s==="input"&&o==="radio")genRadioModel(e,i,r);else if(s==="input"||s==="textarea")genDefaultModel(e,i,r);else if(!config.isReservedTag(s))return genComponentModel(e,i,r),!1;return!0}function genCheckboxModel(e,a,n){var i=n&&n.number,r=getBindingAttr(e,"value")||"null",s=getBindingAttr(e,"true-value")||"true",o=getBindingAttr(e,"false-value")||"false";addProp(e,"checked","Array.isArray("+a+")?_i("+a+","+r+")>-1"+(s==="true"?":("+a+")":":_q("+a+","+s+")")),addHandler(e,"change","var $$a="+a+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+o+");if(Array.isArray($$a)){var $$v="+(i?"_n("+r+")":r)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+genAssignmentCode(a,"$$a.concat([$$v])")+")}else{$$i>-1&&("+genAssignmentCode(a,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+genAssignmentCode(a,"$$c")+"}",null,!0)}function genRadioModel(e,a,n){var i=n&&n.number,r=getBindingAttr(e,"value")||"null";r=i?"_n("+r+")":r,addProp(e,"checked","_q("+a+","+r+")"),addHandler(e,"change",genAssignmentCode(a,r),null,!0)}function genSelect(e,a,n){var i=n&&n.number,r='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(i?"_n(val)":"val")+"})",s="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",o="var $$selectedVal = "+r+";";o=o+" "+genAssignmentCode(a,s),addHandler(e,"change",o,null,!0)}function genDefaultModel(e,a,n){var i=e.attrsMap.type,r=n||{},s=r.lazy,o=r.number,l=r.trim,c=!s&&i!=="range",u=s?"change":i==="range"?RANGE_TOKEN:"input",d="$event.target.value";l&&(d="$event.target.value.trim()"),o&&(d="_n("+d+")");var f=genAssignmentCode(a,d);c&&(f="if($event.target.composing)return;"+f),addProp(e,"value","("+a+")"),addHandler(e,u,f,null,!0),(l||o)&&addHandler(e,"blur","$forceUpdate()")}function normalizeEvents(e){if(isDef(e[RANGE_TOKEN])){var a=isIE?"change":"input";e[a]=[].concat(e[RANGE_TOKEN],e[a]||[]),delete e[RANGE_TOKEN]}isDef(e[CHECKBOX_RADIO_TOKEN])&&(e.change=[].concat(e[CHECKBOX_RADIO_TOKEN],e.change||[]),delete e[CHECKBOX_RADIO_TOKEN])}var target$1;function createOnceHandler$1(e,a,n){var i=target$1;return function r(){var s=a.apply(null,arguments);s!==null&&remove$2(e,r,n,i)}}var useMicrotaskFix=isUsingMicroTask&&!(isFF&&Number(isFF[1])<=53);function add$1(e,a,n,i){if(useMicrotaskFix){var r=currentFlushTimestamp,s=a;a=s._wrapper=function(o){if(o.target===o.currentTarget||o.timeStamp>=r||o.timeStamp<=0||o.target.ownerDocument!==document)return s.apply(this,arguments)}}target$1.addEventListener(e,a,supportsPassive?{capture:n,passive:i}:n)}function remove$2(e,a,n,i){(i||target$1).removeEventListener(e,a._wrapper||a,n)}function updateDOMListeners(e,a){if(!(isUndef(e.data.on)&&isUndef(a.data.on))){var n=a.data.on||{},i=e.data.on||{};target$1=a.elm,normalizeEvents(n),updateListeners(n,i,add$1,remove$2,createOnceHandler$1,a.context),target$1=void 0}}var events={create:updateDOMListeners,update:updateDOMListeners},svgContainer;function updateDOMProps(e,a){if(!(isUndef(e.data.domProps)&&isUndef(a.data.domProps))){var n,i,r=a.elm,s=e.data.domProps||{},o=a.data.domProps||{};isDef(o.__ob__)&&(o=a.data.domProps=extend({},o));for(n in s)n in o||(r[n]="");for(n in o){if(i=o[n],n==="textContent"||n==="innerHTML"){if(a.children&&(a.children.length=0),i===s[n])continue;r.childNodes.length===1&&r.removeChild(r.childNodes[0])}if(n==="value"&&r.tagName!=="PROGRESS"){r._value=i;var l=isUndef(i)?"":String(i);shouldUpdateValue(r,l)&&(r.value=l)}else if(n==="innerHTML"&&isSVG(r.tagName)&&isUndef(r.innerHTML)){svgContainer=svgContainer||document.createElement("div"),svgContainer.innerHTML=""+i+"";for(var c=svgContainer.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;c.firstChild;)r.appendChild(c.firstChild)}else if(i!==s[n])try{r[n]=i}catch(u){}}}}function shouldUpdateValue(e,a){return!e.composing&&(e.tagName==="OPTION"||isNotInFocusAndDirty(e,a)||isDirtyWithModifiers(e,a))}function isNotInFocusAndDirty(e,a){var n=!0;try{n=document.activeElement!==e}catch(i){}return n&&e.value!==a}function isDirtyWithModifiers(e,a){var n=e.value,i=e._vModifiers;if(isDef(i)){if(i.number)return toNumber(n)!==toNumber(a);if(i.trim)return n.trim()!==a.trim()}return n!==a}var domProps={create:updateDOMProps,update:updateDOMProps},parseStyleText=cached(function(e){var a={},n=/;(?![^(]*\))/g,i=/:(.+)/;return e.split(n).forEach(function(r){if(r){var s=r.split(i);s.length>1&&(a[s[0].trim()]=s[1].trim())}}),a});function normalizeStyleData(e){var a=normalizeStyleBinding(e.style);return e.staticStyle?extend(e.staticStyle,a):a}function normalizeStyleBinding(e){return Array.isArray(e)?toObject(e):typeof e=="string"?parseStyleText(e):e}function getStyle(e,a){var n={},i;if(a)for(var r=e;r.componentInstance;)r=r.componentInstance._vnode,r&&r.data&&(i=normalizeStyleData(r.data))&&extend(n,i);(i=normalizeStyleData(e.data))&&extend(n,i);for(var s=e;s=s.parent;)s.data&&(i=normalizeStyleData(s.data))&&extend(n,i);return n}var cssVarRE=/^--/,importantRE=/\s*!important$/,setProp=function(e,a,n){if(cssVarRE.test(a))e.style.setProperty(a,n);else if(importantRE.test(n))e.style.setProperty(hyphenate(a),n.replace(importantRE,""),"important");else{var i=normalize(a);if(Array.isArray(n))for(var r=0,s=n.length;r-1?a.split(whitespaceRE).forEach(function(i){return e.classList.add(i)}):e.classList.add(a);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+a+" ")<0&&e.setAttribute("class",(n+a).trim())}}function removeClass(e,a){if(!(!a||!(a=a.trim())))if(e.classList)a.indexOf(" ")>-1?a.split(whitespaceRE).forEach(function(r){return e.classList.remove(r)}):e.classList.remove(a),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",i=" "+a+" ";n.indexOf(i)>=0;)n=n.replace(i," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function resolveTransition(e){if(!!e){if(typeof e=="object"){var a={};return e.css!==!1&&extend(a,autoCssTransition(e.name||"v")),extend(a,e),a}else if(typeof e=="string")return autoCssTransition(e)}}var autoCssTransition=cached(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),hasTransition=inBrowser&&!isIE9,TRANSITION="transition",ANIMATION="animation",transitionProp="transition",transitionEndEvent="transitionend",animationProp="animation",animationEndEvent="animationend";hasTransition&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(transitionProp="WebkitTransition",transitionEndEvent="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(animationProp="WebkitAnimation",animationEndEvent="webkitAnimationEnd"));var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function nextFrame(e){raf(function(){raf(e)})}function addTransitionClass(e,a){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(a)<0&&(n.push(a),addClass(e,a))}function removeTransitionClass(e,a){e._transitionClasses&&remove(e._transitionClasses,a),removeClass(e,a)}function whenTransitionEnds(e,a,n){var i=getTransitionInfo(e,a),r=i.type,s=i.timeout,o=i.propCount;if(!r)return n();var l=r===TRANSITION?transitionEndEvent:animationEndEvent,c=0,u=function(){e.removeEventListener(l,d),n()},d=function(f){f.target===e&&++c>=o&&u()};setTimeout(function(){c0&&(u=TRANSITION,d=s,f=r.length):a===ANIMATION?c>0&&(u=ANIMATION,d=c,f=l.length):(d=Math.max(s,c),u=d>0?s>c?TRANSITION:ANIMATION:null,f=u?u===TRANSITION?r.length:l.length:0);var h=u===TRANSITION&&transformRE.test(n[transitionProp+"Property"]);return{type:u,timeout:d,propCount:f,hasTransform:h}}function getTimeout(e,a){for(;e.length1}function _enter(e,a){a.data.show!==!0&&enter(a)}var transition=inBrowser?{create:_enter,activate:_enter,remove:function(a,n){a.data.show!==!0?leave(a,n):n()}}:{},platformModules=[attrs,klass,events,domProps,style,transition],modules=platformModules.concat(baseModules),patch=createPatchFunction({nodeOps,modules});isIE9&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&trigger(e,"input")});var directive={inserted:function(a,n,i,r){i.tag==="select"?(r.elm&&!r.elm._vOptions?mergeVNodeHook(i,"postpatch",function(){directive.componentUpdated(a,n,i)}):setSelected(a,n,i.context),a._vOptions=[].map.call(a.options,getValue)):(i.tag==="textarea"||isTextInputType(a.type))&&(a._vModifiers=n.modifiers,n.modifiers.lazy||(a.addEventListener("compositionstart",onCompositionStart),a.addEventListener("compositionend",onCompositionEnd),a.addEventListener("change",onCompositionEnd),isIE9&&(a.vmodel=!0)))},componentUpdated:function(a,n,i){if(i.tag==="select"){setSelected(a,n,i.context);var r=a._vOptions,s=a._vOptions=[].map.call(a.options,getValue);if(s.some(function(l,c){return!looseEqual(l,r[c])})){var o=a.multiple?n.value.some(function(l){return hasNoMatchingOption(l,s)}):n.value!==n.oldValue&&hasNoMatchingOption(n.value,s);o&&trigger(a,"change")}}}};function setSelected(e,a,n){actuallySetSelected(e,a),(isIE||isEdge)&&setTimeout(function(){actuallySetSelected(e,a)},0)}function actuallySetSelected(e,a,n){var i=a.value,r=e.multiple;if(!(r&&!Array.isArray(i))){for(var s,o,l=0,c=e.options.length;l-1,o.selected!==s&&(o.selected=s);else if(looseEqual(getValue(o),i)){e.selectedIndex!==l&&(e.selectedIndex=l);return}r||(e.selectedIndex=-1)}}function hasNoMatchingOption(e,a){return a.every(function(n){return!looseEqual(n,e)})}function getValue(e){return"_value"in e?e._value:e.value}function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){!e.target.composing||(e.target.composing=!1,trigger(e.target,"input"))}function trigger(e,a){var n=document.createEvent("HTMLEvents");n.initEvent(a,!0,!0),e.dispatchEvent(n)}function locateNode(e){return e.componentInstance&&(!e.data||!e.data.transition)?locateNode(e.componentInstance._vnode):e}var show={bind:function(a,n,i){var r=n.value;i=locateNode(i);var s=i.data&&i.data.transition,o=a.__vOriginalDisplay=a.style.display==="none"?"":a.style.display;r&&s?(i.data.show=!0,enter(i,function(){a.style.display=o})):a.style.display=r?o:"none"},update:function(a,n,i){var r=n.value,s=n.oldValue;if(!r!=!s){i=locateNode(i);var o=i.data&&i.data.transition;o?(i.data.show=!0,r?enter(i,function(){a.style.display=a.__vOriginalDisplay}):leave(i,function(){a.style.display="none"})):a.style.display=r?a.__vOriginalDisplay:"none"}},unbind:function(a,n,i,r,s){s||(a.style.display=a.__vOriginalDisplay)}},platformDirectives={model:directive,show},transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function getRealChild(e){var a=e&&e.componentOptions;return a&&a.Ctor.options.abstract?getRealChild(getFirstComponentChild(a.children)):e}function extractTransitionData(e){var a={},n=e.$options;for(var i in n.propsData)a[i]=e[i];var r=n._parentListeners;for(var s in r)a[camelize(s)]=r[s];return a}function placeholder(e,a){if(/\d-keep-alive$/.test(a.tag))return e("keep-alive",{props:a.componentOptions.propsData})}function hasParentTransition(e){for(;e=e.parent;)if(e.data.transition)return!0}function isSameChild(e,a){return a.key===e.key&&a.tag===e.tag}var isNotTextNode=function(e){return e.tag||isAsyncPlaceholder(e)},isVShowDirective=function(e){return e.name==="show"},Transition={name:"transition",props:transitionProps,abstract:!0,render:function(a){var n=this,i=this.$slots.default;if(!!i&&(i=i.filter(isNotTextNode),!!i.length)){var r=this.mode,s=i[0];if(hasParentTransition(this.$vnode))return s;var o=getRealChild(s);if(!o)return s;if(this._leaving)return placeholder(a,s);var l="__transition-"+this._uid+"-";o.key=o.key==null?o.isComment?l+"comment":l+o.tag:isPrimitive(o.key)?String(o.key).indexOf(l)===0?o.key:l+o.key:o.key;var c=(o.data||(o.data={})).transition=extractTransitionData(this),u=this._vnode,d=getRealChild(u);if(o.data.directives&&o.data.directives.some(isVShowDirective)&&(o.data.show=!0),d&&d.data&&!isSameChild(o,d)&&!isAsyncPlaceholder(d)&&!(d.componentInstance&&d.componentInstance._vnode.isComment)){var f=d.data.transition=extend({},c);if(r==="out-in")return this._leaving=!0,mergeVNodeHook(f,"afterLeave",function(){n._leaving=!1,n.$forceUpdate()}),placeholder(a,s);if(r==="in-out"){if(isAsyncPlaceholder(o))return u;var h,m=function(){h()};mergeVNodeHook(c,"afterEnter",m),mergeVNodeHook(c,"enterCancelled",m),mergeVNodeHook(f,"delayLeave",function(v){h=v})}}return s}}},props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props,beforeMount:function(){var a=this,n=this._update;this._update=function(i,r){var s=setActiveInstance(a);a.__patch__(a._vnode,a.kept,!1,!0),a._vnode=a.kept,s(),n.call(a,i,r)}},render:function(a){for(var n=this.tag||this.$vnode.data.tag||"span",i=Object.create(null),r=this.prevChildren=this.children,s=this.$slots.default||[],o=this.children=[],l=extractTransitionData(this),c=0;cs&&(r.push(c=e.slice(s,l)),i.push(JSON.stringify(c)));var u=parseFilters(o[1].trim());i.push("_s("+u+")"),r.push({"@binding":u}),s=l+o[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ncname="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+unicodeRegExp.source+"]*",qnameCapture="((?:"+ncname+"\\:)?"+ncname+")",startTagOpen=new RegExp("^<"+qnameCapture),startTagClose=/^\s*(\/?)>/,endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>"),doctype=/^]+>/i,comment=/^",""":'"',"&":"&"," ":` + */var emptyObject=Object.freeze({});function isUndef(e){return e==null}function isDef(e){return e!=null}function isTrue(e){return e===!0}function isFalse(e){return e===!1}function isPrimitive(e){return typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="boolean"}function isObject(e){return e!==null&&typeof e=="object"}var _toString=Object.prototype.toString;function toRawType(e){return _toString.call(e).slice(8,-1)}function isPlainObject(e){return _toString.call(e)==="[object Object]"}function isRegExp(e){return _toString.call(e)==="[object RegExp]"}function isValidArrayIndex(e){var a=parseFloat(String(e));return a>=0&&Math.floor(a)===a&&isFinite(e)}function isPromise(e){return isDef(e)&&typeof e.then=="function"&&typeof e.catch=="function"}function toString(e){return e==null?"":Array.isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function toNumber(e){var a=parseFloat(e);return isNaN(a)?e:a}function makeMap(e,a){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,a){return hasOwnProperty.call(e,a)}function cached(e){var a=Object.create(null);return function(r){var i=a[r];return i||(a[r]=e(r))}}var camelizeRE=/-(\w)/g,camelize=cached(function(e){return e.replace(camelizeRE,function(a,n){return n?n.toUpperCase():""})}),capitalize=cached(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(function(e){return e.replace(hyphenateRE,"-$1").toLowerCase()});function polyfillBind(e,a){function n(r){var i=arguments.length;return i?i>1?e.apply(a,arguments):e.call(a,r):e.call(a)}return n._length=e.length,n}function nativeBind(e,a){return e.bind(a)}var bind=Function.prototype.bind?nativeBind:polyfillBind;function toArray(e,a){a=a||0;for(var n=e.length-a,r=new Array(n);n--;)r[n]=e[n+a];return r}function extend(e,a){for(var n in a)e[n]=a[n];return e}function toObject(e){for(var a={},n=0;n0,isEdge=UA&&UA.indexOf("edge/")>0,isAndroid=UA&&UA.indexOf("android")>0||weexPlatform==="android",isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==="ios",isChrome=UA&&/chrome\/\d+/.test(UA)&&!isEdge,isPhantomJS=UA&&/phantomjs/.test(UA),isFF=UA&&UA.match(/firefox\/(\d+)/),nativeWatch={}.watch,supportsPassive=!1;if(inBrowser)try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener("test-passive",null,opts)}catch(e){}var _isServer,isServerRendering=function(){return _isServer===void 0&&(!inBrowser&&!inWeex&&typeof global!="undefined"?_isServer=global.process&&global.process.env.VUE_ENV==="server":_isServer=!1),_isServer},devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function isNative(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol=typeof Symbol!="undefined"&&isNative(Symbol)&&typeof Reflect!="undefined"&&isNative(Reflect.ownKeys),_Set;typeof Set!="undefined"&&isNative(Set)?_Set=Set:_Set=function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(n){return this.set[n]===!0},e.prototype.add=function(n){this.set[n]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var warn=noop,uid=0,Dep=function(){this.id=uid++,this.subs=[]};Dep.prototype.addSub=function(a){this.subs.push(a)},Dep.prototype.removeSub=function(a){remove(this.subs,a)},Dep.prototype.depend=function(){Dep.target&&Dep.target.addDep(this)},Dep.prototype.notify=function(){for(var a=this.subs.slice(),n=0,r=a.length;n-1){if(s&&!hasOwn(i,"default"))l=!1;else if(l===""||l===hyphenate(e)){var o=getTypeIndex(String,i.type);(o<0||c0&&(i=normalizeArrayChildren(i,(a||"")+"_"+r),isTextNode(i[0])&&isTextNode(l)&&(n[s]=createTextVNode(l.text+i[0].text),i.shift()),n.push.apply(n,i)):isPrimitive(i)?isTextNode(l)?n[s]=createTextVNode(l.text+i):i!==""&&n.push(createTextVNode(i)):isTextNode(i)&&isTextNode(l)?n[s]=createTextVNode(l.text+i.text):(isTrue(e._isVList)&&isDef(i.tag)&&isUndef(i.key)&&isDef(a)&&(i.key="__vlist"+a+"_"+r+"__"),n.push(i))}return n}function initProvide(e){var a=e.$options.provide;a&&(e._provided=typeof a=="function"?a.call(e):a)}function initInjections(e){var a=resolveInject(e.$options.inject,e);a&&(toggleObserving(!1),Object.keys(a).forEach(function(n){defineReactive$$1(e,n,a[n])}),toggleObserving(!0))}function resolveInject(e,a){if(e){for(var n=Object.create(null),r=hasSymbol?Reflect.ownKeys(e):Object.keys(e),i=0;i0,s=e?!!e.$stable:!i,l=e&&e.$key;if(!e)r={};else{if(e._normalized)return e._normalized;if(s&&n&&n!==emptyObject&&l===n.$key&&!i&&!n.$hasNormal)return n;r={};for(var c in e)e[c]&&c[0]!=="$"&&(r[c]=normalizeScopedSlot(a,c,e[c]))}for(var o in a)o in r||(r[o]=proxyNormalSlot(a,o));return e&&Object.isExtensible(e)&&(e._normalized=r),def(r,"$stable",s),def(r,"$key",l),def(r,"$hasNormal",i),r}function normalizeScopedSlot(e,a,n){var r=function(){var i=arguments.length?n.apply(null,arguments):n({});return i=i&&typeof i=="object"&&!Array.isArray(i)?[i]:normalizeChildren(i),i&&(i.length===0||i.length===1&&i[0].isComment)?void 0:i};return n.proxy&&Object.defineProperty(e,a,{get:r,enumerable:!0,configurable:!0}),r}function proxyNormalSlot(e,a){return function(){return e[a]}}function renderList(e,a){var n,r,i,s,l;if(Array.isArray(e)||typeof e=="string")for(n=new Array(e.length),r=0,i=e.length;r1?toArray(i):i;for(var s=toArray(arguments,1),l='event handler for "'+n+'"',c=0,o=i.length;cdocument.createEvent("Event").timeStamp&&(getNow=function(){return performance.now()})}function flushSchedulerQueue(){currentFlushTimestamp=getNow(),flushing=!0;var e,a;for(queue.sort(function(i,s){return i.id-s.id}),index=0;indexindex&&queue[n].id>e.id;)n--;queue.splice(n+1,0,e)}waiting||(waiting=!0,nextTick(flushSchedulerQueue))}}var uid$2=0,Watcher=function(a,n,r,i,s){this.vm=a,s&&(a._watcher=this),a._watchers.push(this),i?(this.deep=!!i.deep,this.user=!!i.user,this.lazy=!!i.lazy,this.sync=!!i.sync,this.before=i.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++uid$2,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new _Set,this.newDepIds=new _Set,this.expression="",typeof n=="function"?this.getter=n:(this.getter=parsePath(n),this.getter||(this.getter=noop)),this.value=this.lazy?void 0:this.get()};Watcher.prototype.get=function(){pushTarget(this);var a,n=this.vm;try{a=this.getter.call(n,n)}catch(r){if(this.user)handleError(r,n,'getter for watcher "'+this.expression+'"');else throw r}finally{this.deep&&traverse(a),popTarget(),this.cleanupDeps()}return a},Watcher.prototype.addDep=function(a){var n=a.id;this.newDepIds.has(n)||(this.newDepIds.add(n),this.newDeps.push(a),this.depIds.has(n)||a.addSub(this))},Watcher.prototype.cleanupDeps=function(){for(var a=this.deps.length;a--;){var n=this.deps[a];this.newDepIds.has(n.id)||n.removeSub(this)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Watcher.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():queueWatcher(this)},Watcher.prototype.run=function(){if(this.active){var a=this.get();if(a!==this.value||isObject(a)||this.deep){var n=this.value;if(this.value=a,this.user)try{this.cb.call(this.vm,a,n)}catch(r){handleError(r,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,a,n)}}},Watcher.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Watcher.prototype.depend=function(){for(var a=this.deps.length;a--;)this.deps[a].depend()},Watcher.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||remove(this.vm._watchers,this);for(var a=this.deps.length;a--;)this.deps[a].removeSub(this);this.active=!1}};var sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop,set:noop};function proxy(e,a,n){sharedPropertyDefinition.get=function(){return this[a][n]},sharedPropertyDefinition.set=function(i){this[a][n]=i},Object.defineProperty(e,n,sharedPropertyDefinition)}function initState(e){e._watchers=[];var a=e.$options;a.props&&initProps(e,a.props),a.methods&&initMethods(e,a.methods),a.data?initData(e):observe(e._data={},!0),a.computed&&initComputed(e,a.computed),a.watch&&a.watch!==nativeWatch&&initWatch(e,a.watch)}function initProps(e,a){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],s=!e.$parent;s||toggleObserving(!1);var l=function(o){i.push(o);var d=validateProp(o,a,n,e);defineReactive$$1(r,o,d),o in e||proxy(e,"_props",o)};for(var c in a)l(c);toggleObserving(!0)}function initData(e){var a=e.$options.data;a=e._data=typeof a=="function"?getData(a,e):a||{},isPlainObject(a)||(a={});for(var n=Object.keys(a),r=e.$options.props,i=e.$options.methods,s=n.length;s--;){var l=n[s];r&&hasOwn(r,l)||(isReserved(l)||proxy(e,"_data",l))}observe(a,!0)}function getData(e,a){pushTarget();try{return e.call(a,a)}catch(n){return handleError(n,a,"data()"),{}}finally{popTarget()}}var computedWatcherOptions={lazy:!0};function initComputed(e,a){var n=e._computedWatchers=Object.create(null),r=isServerRendering();for(var i in a){var s=a[i],l=typeof s=="function"?s:s.get;r||(n[i]=new Watcher(e,l||noop,noop,computedWatcherOptions)),i in e||defineComputed(e,i,s)}}function defineComputed(e,a,n){var r=!isServerRendering();typeof n=="function"?(sharedPropertyDefinition.get=r?createComputedGetter(a):createGetterInvoker(n),sharedPropertyDefinition.set=noop):(sharedPropertyDefinition.get=n.get?r&&n.cache!==!1?createComputedGetter(a):createGetterInvoker(n.get):noop,sharedPropertyDefinition.set=n.set||noop),Object.defineProperty(e,a,sharedPropertyDefinition)}function createComputedGetter(e){return function(){var n=this._computedWatchers&&this._computedWatchers[e];if(n)return n.dirty&&n.evaluate(),Dep.target&&n.depend(),n.value}}function createGetterInvoker(e){return function(){return e.call(this,this)}}function initMethods(e,a){var n=e.$options.props;for(var r in a)e[r]=typeof a[r]!="function"?noop:bind(a[r],e)}function initWatch(e,a){for(var n in a){var r=a[n];if(Array.isArray(r))for(var i=0;i-1)return this;var r=toArray(arguments,1);return r.unshift(this),typeof a.install=="function"?a.install.apply(a,r):typeof a=="function"&&a.apply(null,r),n.push(a),this}}function initMixin$1(e){e.mixin=function(a){return this.options=mergeOptions(this.options,a),this}}function initExtend(e){e.cid=0;var a=1;e.extend=function(n){n=n||{};var r=this,i=r.cid,s=n._Ctor||(n._Ctor={});if(s[i])return s[i];var l=n.name||r.options.name,c=function(d){this._init(d)};return c.prototype=Object.create(r.prototype),c.prototype.constructor=c,c.cid=a++,c.options=mergeOptions(r.options,n),c.super=r,c.options.props&&initProps$1(c),c.options.computed&&initComputed$1(c),c.extend=r.extend,c.mixin=r.mixin,c.use=r.use,ASSET_TYPES.forEach(function(o){c[o]=r[o]}),l&&(c.options.components[l]=c),c.superOptions=r.options,c.extendOptions=n,c.sealedOptions=extend({},c.options),s[i]=c,c}}function initProps$1(e){var a=e.options.props;for(var n in a)proxy(e.prototype,"_props",n)}function initComputed$1(e){var a=e.options.computed;for(var n in a)defineComputed(e.prototype,n,a[n])}function initAssetRegisters(e){ASSET_TYPES.forEach(function(a){e[a]=function(n,r){return r?(a==="component"&&isPlainObject(r)&&(r.name=r.name||n,r=this.options._base.extend(r)),a==="directive"&&typeof r=="function"&&(r={bind:r,update:r}),this.options[a+"s"][n]=r,r):this.options[a+"s"][n]}})}function getComponentName(e){return e&&(e.Ctor.options.name||e.tag)}function matches(e,a){return Array.isArray(e)?e.indexOf(a)>-1:typeof e=="string"?e.split(",").indexOf(a)>-1:isRegExp(e)?e.test(a):!1}function pruneCache(e,a){var n=e.cache,r=e.keys,i=e._vnode;for(var s in n){var l=n[s];if(l){var c=getComponentName(l.componentOptions);c&&!a(c)&&pruneCacheEntry(n,s,r,i)}}}function pruneCacheEntry(e,a,n,r){var i=e[a];i&&(!r||i.tag!==r.tag)&&i.componentInstance.$destroy(),e[a]=null,remove(n,a)}var patternTypes=[String,RegExp,Array],KeepAlive={name:"keep-alive",abstract:!0,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var a in this.cache)pruneCacheEntry(this.cache,a,this.keys)},mounted:function(){var a=this;this.$watch("include",function(n){pruneCache(a,function(r){return matches(n,r)})}),this.$watch("exclude",function(n){pruneCache(a,function(r){return!matches(n,r)})})},render:function(){var a=this.$slots.default,n=getFirstComponentChild(a),r=n&&n.componentOptions;if(r){var i=getComponentName(r),s=this,l=s.include,c=s.exclude;if(l&&(!i||!matches(l,i))||c&&i&&matches(c,i))return n;var o=this,d=o.cache,u=o.keys,f=n.key==null?r.Ctor.cid+(r.tag?"::"+r.tag:""):n.key;d[f]?(n.componentInstance=d[f].componentInstance,remove(u,f),u.push(f)):(d[f]=n,u.push(f),this.max&&u.length>parseInt(this.max)&&pruneCacheEntry(d,u[0],u,this._vnode)),n.data.keepAlive=!0}return n||a&&a[0]}},builtInComponents={KeepAlive};function initGlobalAPI(e){var a={};a.get=function(){return config},Object.defineProperty(e,"config",a),e.util={warn,extend,mergeOptions,defineReactive:defineReactive$$1},e.set=set,e.delete=del,e.nextTick=nextTick,e.observable=function(n){return observe(n),n},e.options=Object.create(null),ASSET_TYPES.forEach(function(n){e.options[n+"s"]=Object.create(null)}),e.options._base=e,extend(e.options.components,builtInComponents),initUse(e),initMixin$1(e),initExtend(e),initAssetRegisters(e)}initGlobalAPI(Vue),Object.defineProperty(Vue.prototype,"$isServer",{get:isServerRendering}),Object.defineProperty(Vue.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vue,"FunctionalRenderContext",{value:FunctionalRenderContext}),Vue.version="2.6.12";var isReservedAttr=makeMap("style,class"),acceptValue=makeMap("input,textarea,option,select,progress"),mustUseProp=function(e,a,n){return n==="value"&&acceptValue(e)&&a!=="button"||n==="selected"&&e==="option"||n==="checked"&&e==="input"||n==="muted"&&e==="video"},isEnumeratedAttr=makeMap("contenteditable,draggable,spellcheck"),isValidContentEditableValue=makeMap("events,caret,typing,plaintext-only"),convertEnumeratedValue=function(e,a){return isFalsyAttrValue(a)||a==="false"?"false":e==="contenteditable"&&isValidContentEditableValue(a)?a:"true"},isBooleanAttr=makeMap("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),xlinkNS="http://www.w3.org/1999/xlink",isXlink=function(e){return e.charAt(5)===":"&&e.slice(0,5)==="xlink"},getXlinkProp=function(e){return isXlink(e)?e.slice(6,e.length):""},isFalsyAttrValue=function(e){return e==null||e===!1};function genClassForVnode(e){for(var a=e.data,n=e,r=e;isDef(r.componentInstance);)r=r.componentInstance._vnode,r&&r.data&&(a=mergeClassData(r.data,a));for(;isDef(n=n.parent);)n&&n.data&&(a=mergeClassData(a,n.data));return renderClass(a.staticClass,a.class)}function mergeClassData(e,a){return{staticClass:concat(e.staticClass,a.staticClass),class:isDef(e.class)?[e.class,a.class]:a.class}}function renderClass(e,a){return isDef(e)||isDef(a)?concat(e,stringifyClass(a)):""}function concat(e,a){return e?a?e+" "+a:e:a||""}function stringifyClass(e){return Array.isArray(e)?stringifyArray(e):isObject(e)?stringifyObject(e):typeof e=="string"?e:""}function stringifyArray(e){for(var a="",n,r=0,i=e.length;r-1?unknownElementCache[e]=a.constructor===window.HTMLUnknownElement||a.constructor===window.HTMLElement:unknownElementCache[e]=/HTMLUnknownElement/.test(a.toString())}var isTextInputType=makeMap("text,number,password,search,email,tel,url");function query(e){if(typeof e=="string"){var a=document.querySelector(e);return a||document.createElement("div")}else return e}function createElement$1(e,a){var n=document.createElement(e);return e!=="select"||a.data&&a.data.attrs&&a.data.attrs.multiple!==void 0&&n.setAttribute("multiple","multiple"),n}function createElementNS(e,a){return document.createElementNS(namespaceMap[e],a)}function createTextNode(e){return document.createTextNode(e)}function createComment(e){return document.createComment(e)}function insertBefore(e,a,n){e.insertBefore(a,n)}function removeChild(e,a){e.removeChild(a)}function appendChild(e,a){e.appendChild(a)}function parentNode(e){return e.parentNode}function nextSibling(e){return e.nextSibling}function tagName(e){return e.tagName}function setTextContent(e,a){e.textContent=a}function setStyleScope(e,a){e.setAttribute(a,"")}var nodeOps=Object.freeze({createElement:createElement$1,createElementNS,createTextNode,createComment,insertBefore,removeChild,appendChild,parentNode,nextSibling,tagName,setTextContent,setStyleScope}),ref={create:function(a,n){registerRef(n)},update:function(a,n){a.data.ref!==n.data.ref&&(registerRef(a,!0),registerRef(n))},destroy:function(a){registerRef(a,!0)}};function registerRef(e,a){var n=e.data.ref;if(!isDef(n))return;var r=e.context,i=e.componentInstance||e.elm,s=r.$refs;a?Array.isArray(s[n])?remove(s[n],i):s[n]===i&&(s[n]=void 0):e.data.refInFor?Array.isArray(s[n])?s[n].indexOf(i)<0&&s[n].push(i):s[n]=[i]:s[n]=i}var emptyNode=new VNode("",{},[]),hooks=["create","activate","update","remove","destroy"];function sameVnode(e,a){return e.key===a.key&&(e.tag===a.tag&&e.isComment===a.isComment&&isDef(e.data)===isDef(a.data)&&sameInputType(e,a)||isTrue(e.isAsyncPlaceholder)&&e.asyncFactory===a.asyncFactory&&isUndef(a.asyncFactory.error))}function sameInputType(e,a){if(e.tag!=="input")return!0;var n,r=isDef(n=e.data)&&isDef(n=n.attrs)&&n.type,i=isDef(n=a.data)&&isDef(n=n.attrs)&&n.type;return r===i||isTextInputType(r)&&isTextInputType(i)}function createKeyToOldIdx(e,a,n){var r,i,s={};for(r=a;r<=n;++r)i=e[r].key,isDef(i)&&(s[i]=r);return s}function createPatchFunction(e){var a,n,r={},i=e.modules,s=e.nodeOps;for(a=0;a$?(W=isUndef(_[j+1])?null:_[j+1].elm,x(g,W,_,F,j,S)):F>j&&M(b,P,$)}function C(g,b,_,S){for(var z=_;z-1?baseSetAttr(e,a,n):isBooleanAttr(a)?isFalsyAttrValue(n)?e.removeAttribute(a):(n=a==="allowfullscreen"&&e.tagName==="EMBED"?"true":a,e.setAttribute(a,n)):isEnumeratedAttr(a)?e.setAttribute(a,convertEnumeratedValue(a,n)):isXlink(a)?isFalsyAttrValue(n)?e.removeAttributeNS(xlinkNS,getXlinkProp(a)):e.setAttributeNS(xlinkNS,a,n):baseSetAttr(e,a,n)}function baseSetAttr(e,a,n){if(isFalsyAttrValue(n))e.removeAttribute(a);else{if(isIE&&!isIE9&&e.tagName==="TEXTAREA"&&a==="placeholder"&&n!==""&&!e.__ieph){var r=function(i){i.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(a,n)}}var attrs={create:updateAttrs,update:updateAttrs};function updateClass(e,a){var n=a.elm,r=a.data,i=e.data;if(isUndef(r.staticClass)&&isUndef(r.class)&&(isUndef(i)||isUndef(i.staticClass)&&isUndef(i.class)))return;var s=genClassForVnode(a),l=n._transitionClasses;isDef(l)&&(s=concat(s,stringifyClass(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}var klass={create:updateClass,update:updateClass},validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){var a=!1,n=!1,r=!1,i=!1,s=0,l=0,c=0,o=0,d,u,f,h,m;for(f=0;f=0&&!(y=e.charAt(v),y!==" ");v--);(!y||!validDivisionCharRE.test(y))&&(i=!0)}}h===void 0?h=e.slice(0,f).trim():o!==0&&k();function k(){(m||(m=[])).push(e.slice(o,f).trim()),o=f+1}if(m)for(f=0;f-1?{exp:e.slice(0,index$1),key:'"'+e.slice(index$1+1)+'"'}:{exp:e,key:null};for(str=e,index$1=expressionPos=expressionEndPos=0;!eof();)chr=next(),isStringStart(chr)?parseString(chr):chr===91&&parseBracket(chr);return{exp:e.slice(0,expressionPos),key:e.slice(expressionPos+1,expressionEndPos)}}function next(){return str.charCodeAt(++index$1)}function eof(){return index$1>=len}function isStringStart(e){return e===34||e===39}function parseBracket(e){var a=1;for(expressionPos=index$1;!eof();){if(e=next(),isStringStart(e)){parseString(e);continue}if(e===91&&a++,e===93&&a--,a===0){expressionEndPos=index$1;break}}}function parseString(e){for(var a=e;!eof()&&!(e=next(),e===a););}var RANGE_TOKEN="__r",CHECKBOX_RADIO_TOKEN="__c";function model(e,a,n){var r=a.value,i=a.modifiers,s=e.tag,l=e.attrsMap.type;if(e.component)return genComponentModel(e,r,i),!1;if(s==="select")genSelect(e,r,i);else if(s==="input"&&l==="checkbox")genCheckboxModel(e,r,i);else if(s==="input"&&l==="radio")genRadioModel(e,r,i);else if(s==="input"||s==="textarea")genDefaultModel(e,r,i);else if(!config.isReservedTag(s))return genComponentModel(e,r,i),!1;return!0}function genCheckboxModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null",s=getBindingAttr(e,"true-value")||"true",l=getBindingAttr(e,"false-value")||"false";addProp(e,"checked","Array.isArray("+a+")?_i("+a+","+i+")>-1"+(s==="true"?":("+a+")":":_q("+a+","+s+")")),addHandler(e,"change","var $$a="+a+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+l+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+genAssignmentCode(a,"$$a.concat([$$v])")+")}else{$$i>-1&&("+genAssignmentCode(a,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+genAssignmentCode(a,"$$c")+"}",null,!0)}function genRadioModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null";i=r?"_n("+i+")":i,addProp(e,"checked","_q("+a+","+i+")"),addHandler(e,"change",genAssignmentCode(a,i),null,!0)}function genSelect(e,a,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",s="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",l="var $$selectedVal = "+i+";";l=l+" "+genAssignmentCode(a,s),addHandler(e,"change",l,null,!0)}function genDefaultModel(e,a,n){var r=e.attrsMap.type,i=n||{},s=i.lazy,l=i.number,c=i.trim,o=!s&&r!=="range",d=s?"change":r==="range"?RANGE_TOKEN:"input",u="$event.target.value";c&&(u="$event.target.value.trim()"),l&&(u="_n("+u+")");var f=genAssignmentCode(a,u);o&&(f="if($event.target.composing)return;"+f),addProp(e,"value","("+a+")"),addHandler(e,d,f,null,!0),(c||l)&&addHandler(e,"blur","$forceUpdate()")}function normalizeEvents(e){if(isDef(e[RANGE_TOKEN])){var a=isIE?"change":"input";e[a]=[].concat(e[RANGE_TOKEN],e[a]||[]),delete e[RANGE_TOKEN]}isDef(e[CHECKBOX_RADIO_TOKEN])&&(e.change=[].concat(e[CHECKBOX_RADIO_TOKEN],e.change||[]),delete e[CHECKBOX_RADIO_TOKEN])}var target$1;function createOnceHandler$1(e,a,n){var r=target$1;return function i(){var s=a.apply(null,arguments);s!==null&&remove$2(e,i,n,r)}}var useMicrotaskFix=isUsingMicroTask&&!(isFF&&Number(isFF[1])<=53);function add$1(e,a,n,r){if(useMicrotaskFix){var i=currentFlushTimestamp,s=a;a=s._wrapper=function(l){if(l.target===l.currentTarget||l.timeStamp>=i||l.timeStamp<=0||l.target.ownerDocument!==document)return s.apply(this,arguments)}}target$1.addEventListener(e,a,supportsPassive?{capture:n,passive:r}:n)}function remove$2(e,a,n,r){(r||target$1).removeEventListener(e,a._wrapper||a,n)}function updateDOMListeners(e,a){if(isUndef(e.data.on)&&isUndef(a.data.on))return;var n=a.data.on||{},r=e.data.on||{};target$1=a.elm,normalizeEvents(n),updateListeners(n,r,add$1,remove$2,createOnceHandler$1,a.context),target$1=void 0}var events={create:updateDOMListeners,update:updateDOMListeners},svgContainer;function updateDOMProps(e,a){if(isUndef(e.data.domProps)&&isUndef(a.data.domProps))return;var n,r,i=a.elm,s=e.data.domProps||{},l=a.data.domProps||{};isDef(l.__ob__)&&(l=a.data.domProps=extend({},l));for(n in s)n in l||(i[n]="");for(n in l){if(r=l[n],n==="textContent"||n==="innerHTML"){if(a.children&&(a.children.length=0),r===s[n])continue;i.childNodes.length===1&&i.removeChild(i.childNodes[0])}if(n==="value"&&i.tagName!=="PROGRESS"){i._value=r;var c=isUndef(r)?"":String(r);shouldUpdateValue(i,c)&&(i.value=c)}else if(n==="innerHTML"&&isSVG(i.tagName)&&isUndef(i.innerHTML)){svgContainer=svgContainer||document.createElement("div"),svgContainer.innerHTML=""+r+"";for(var o=svgContainer.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;o.firstChild;)i.appendChild(o.firstChild)}else if(r!==s[n])try{i[n]=r}catch(d){}}}function shouldUpdateValue(e,a){return!e.composing&&(e.tagName==="OPTION"||isNotInFocusAndDirty(e,a)||isDirtyWithModifiers(e,a))}function isNotInFocusAndDirty(e,a){var n=!0;try{n=document.activeElement!==e}catch(r){}return n&&e.value!==a}function isDirtyWithModifiers(e,a){var n=e.value,r=e._vModifiers;if(isDef(r)){if(r.number)return toNumber(n)!==toNumber(a);if(r.trim)return n.trim()!==a.trim()}return n!==a}var domProps={create:updateDOMProps,update:updateDOMProps},parseStyleText=cached(function(e){var a={},n=/;(?![^(]*\))/g,r=/:(.+)/;return e.split(n).forEach(function(i){if(i){var s=i.split(r);s.length>1&&(a[s[0].trim()]=s[1].trim())}}),a});function normalizeStyleData(e){var a=normalizeStyleBinding(e.style);return e.staticStyle?extend(e.staticStyle,a):a}function normalizeStyleBinding(e){return Array.isArray(e)?toObject(e):typeof e=="string"?parseStyleText(e):e}function getStyle(e,a){var n={},r;if(a)for(var i=e;i.componentInstance;)i=i.componentInstance._vnode,i&&i.data&&(r=normalizeStyleData(i.data))&&extend(n,r);(r=normalizeStyleData(e.data))&&extend(n,r);for(var s=e;s=s.parent;)s.data&&(r=normalizeStyleData(s.data))&&extend(n,r);return n}var cssVarRE=/^--/,importantRE=/\s*!important$/,setProp=function(e,a,n){if(cssVarRE.test(a))e.style.setProperty(a,n);else if(importantRE.test(n))e.style.setProperty(hyphenate(a),n.replace(importantRE,""),"important");else{var r=normalize(a);if(Array.isArray(n))for(var i=0,s=n.length;i-1?a.split(whitespaceRE).forEach(function(r){return e.classList.add(r)}):e.classList.add(a);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+a+" ")<0&&e.setAttribute("class",(n+a).trim())}}function removeClass(e,a){if(!a||!(a=a.trim()))return;if(e.classList)a.indexOf(" ")>-1?a.split(whitespaceRE).forEach(function(i){return e.classList.remove(i)}):e.classList.remove(a),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+a+" ";n.indexOf(r)>=0;)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function resolveTransition(e){if(!e)return;if(typeof e=="object"){var a={};return e.css!==!1&&extend(a,autoCssTransition(e.name||"v")),extend(a,e),a}else if(typeof e=="string")return autoCssTransition(e)}var autoCssTransition=cached(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),hasTransition=inBrowser&&!isIE9,TRANSITION="transition",ANIMATION="animation",transitionProp="transition",transitionEndEvent="transitionend",animationProp="animation",animationEndEvent="animationend";hasTransition&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(transitionProp="WebkitTransition",transitionEndEvent="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(animationProp="WebkitAnimation",animationEndEvent="webkitAnimationEnd"));var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function nextFrame(e){raf(function(){raf(e)})}function addTransitionClass(e,a){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(a)<0&&(n.push(a),addClass(e,a))}function removeTransitionClass(e,a){e._transitionClasses&&remove(e._transitionClasses,a),removeClass(e,a)}function whenTransitionEnds(e,a,n){var r=getTransitionInfo(e,a),i=r.type,s=r.timeout,l=r.propCount;if(!i)return n();var c=i===TRANSITION?transitionEndEvent:animationEndEvent,o=0,d=function(){e.removeEventListener(c,u),n()},u=function(f){f.target===e&&(++o>=l&&d())};setTimeout(function(){o0&&(d=TRANSITION,u=s,f=i.length):a===ANIMATION?o>0&&(d=ANIMATION,u=o,f=c.length):(u=Math.max(s,o),d=u>0?s>o?TRANSITION:ANIMATION:null,f=d?d===TRANSITION?i.length:c.length:0);var h=d===TRANSITION&&transformRE.test(n[transitionProp+"Property"]);return{type:d,timeout:u,propCount:f,hasTransform:h}}function getTimeout(e,a){for(;e.length1}function _enter(e,a){a.data.show!==!0&&enter(a)}var transition=inBrowser?{create:_enter,activate:_enter,remove:function(a,n){a.data.show!==!0?leave(a,n):n()}}:{},platformModules=[attrs,klass,events,domProps,style,transition],modules=platformModules.concat(baseModules),patch=createPatchFunction({nodeOps,modules});isIE9&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&trigger(e,"input")});var directive={inserted:function(a,n,r,i){r.tag==="select"?(i.elm&&!i.elm._vOptions?mergeVNodeHook(r,"postpatch",function(){directive.componentUpdated(a,n,r)}):setSelected(a,n,r.context),a._vOptions=[].map.call(a.options,getValue)):(r.tag==="textarea"||isTextInputType(a.type))&&(a._vModifiers=n.modifiers,n.modifiers.lazy||(a.addEventListener("compositionstart",onCompositionStart),a.addEventListener("compositionend",onCompositionEnd),a.addEventListener("change",onCompositionEnd),isIE9&&(a.vmodel=!0)))},componentUpdated:function(a,n,r){if(r.tag==="select"){setSelected(a,n,r.context);var i=a._vOptions,s=a._vOptions=[].map.call(a.options,getValue);if(s.some(function(c,o){return!looseEqual(c,i[o])})){var l=a.multiple?n.value.some(function(c){return hasNoMatchingOption(c,s)}):n.value!==n.oldValue&&hasNoMatchingOption(n.value,s);l&&trigger(a,"change")}}}};function setSelected(e,a,n){actuallySetSelected(e,a),(isIE||isEdge)&&setTimeout(function(){actuallySetSelected(e,a)},0)}function actuallySetSelected(e,a,n){var r=a.value,i=e.multiple;if(i&&!Array.isArray(r))return;for(var s,l,c=0,o=e.options.length;c-1,l.selected!==s&&(l.selected=s);else if(looseEqual(getValue(l),r)){e.selectedIndex!==c&&(e.selectedIndex=c);return}i||(e.selectedIndex=-1)}function hasNoMatchingOption(e,a){return a.every(function(n){return!looseEqual(n,e)})}function getValue(e){return"_value"in e?e._value:e.value}function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){if(!e.target.composing)return;e.target.composing=!1,trigger(e.target,"input")}function trigger(e,a){var n=document.createEvent("HTMLEvents");n.initEvent(a,!0,!0),e.dispatchEvent(n)}function locateNode(e){return e.componentInstance&&(!e.data||!e.data.transition)?locateNode(e.componentInstance._vnode):e}var show={bind:function(a,n,r){var i=n.value;r=locateNode(r);var s=r.data&&r.data.transition,l=a.__vOriginalDisplay=a.style.display==="none"?"":a.style.display;i&&s?(r.data.show=!0,enter(r,function(){a.style.display=l})):a.style.display=i?l:"none"},update:function(a,n,r){var i=n.value,s=n.oldValue;if(!i===!s)return;r=locateNode(r);var l=r.data&&r.data.transition;l?(r.data.show=!0,i?enter(r,function(){a.style.display=a.__vOriginalDisplay}):leave(r,function(){a.style.display="none"})):a.style.display=i?a.__vOriginalDisplay:"none"},unbind:function(a,n,r,i,s){s||(a.style.display=a.__vOriginalDisplay)}},platformDirectives={model:directive,show},transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function getRealChild(e){var a=e&&e.componentOptions;return a&&a.Ctor.options.abstract?getRealChild(getFirstComponentChild(a.children)):e}function extractTransitionData(e){var a={},n=e.$options;for(var r in n.propsData)a[r]=e[r];var i=n._parentListeners;for(var s in i)a[camelize(s)]=i[s];return a}function placeholder(e,a){if(/\d-keep-alive$/.test(a.tag))return e("keep-alive",{props:a.componentOptions.propsData})}function hasParentTransition(e){for(;e=e.parent;)if(e.data.transition)return!0}function isSameChild(e,a){return a.key===e.key&&a.tag===e.tag}var isNotTextNode=function(e){return e.tag||isAsyncPlaceholder(e)},isVShowDirective=function(e){return e.name==="show"},Transition={name:"transition",props:transitionProps,abstract:!0,render:function(a){var n=this,r=this.$slots.default;if(!r)return;if(r=r.filter(isNotTextNode),!r.length)return;var i=this.mode,s=r[0];if(hasParentTransition(this.$vnode))return s;var l=getRealChild(s);if(!l)return s;if(this._leaving)return placeholder(a,s);var c="__transition-"+this._uid+"-";l.key=l.key==null?l.isComment?c+"comment":c+l.tag:isPrimitive(l.key)?String(l.key).indexOf(c)===0?l.key:c+l.key:l.key;var o=(l.data||(l.data={})).transition=extractTransitionData(this),d=this._vnode,u=getRealChild(d);if(l.data.directives&&l.data.directives.some(isVShowDirective)&&(l.data.show=!0),u&&u.data&&!isSameChild(l,u)&&!isAsyncPlaceholder(u)&&!(u.componentInstance&&u.componentInstance._vnode.isComment)){var f=u.data.transition=extend({},o);if(i==="out-in")return this._leaving=!0,mergeVNodeHook(f,"afterLeave",function(){n._leaving=!1,n.$forceUpdate()}),placeholder(a,s);if(i==="in-out"){if(isAsyncPlaceholder(l))return d;var h,m=function(){h()};mergeVNodeHook(o,"afterEnter",m),mergeVNodeHook(o,"enterCancelled",m),mergeVNodeHook(f,"delayLeave",function(v){h=v})}}return s}},props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props,beforeMount:function(){var a=this,n=this._update;this._update=function(r,i){var s=setActiveInstance(a);a.__patch__(a._vnode,a.kept,!1,!0),a._vnode=a.kept,s(),n.call(a,r,i)}},render:function(a){for(var n=this.tag||this.$vnode.data.tag||"span",r=Object.create(null),i=this.prevChildren=this.children,s=this.$slots.default||[],l=this.children=[],c=extractTransitionData(this),o=0;os&&(i.push(o=e.slice(s,c)),r.push(JSON.stringify(o)));var d=parseFilters(l[1].trim());r.push("_s("+d+")"),i.push({"@binding":d}),s=c+l[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ncname="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+unicodeRegExp.source+"]*",qnameCapture="((?:"+ncname+"\\:)?"+ncname+")",startTagOpen=new RegExp("^<"+qnameCapture),startTagClose=/^\s*(\/?)>/,endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>"),doctype=/^]+>/i,comment=/^",""":'"',"&":"&"," ":` `," ":" ","'":"'"},encodedAttr=/&(?:lt|gt|quot|amp|#39);/g,encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,isIgnoreNewlineTag=makeMap("pre,textarea",!0),shouldIgnoreFirstNewline=function(e,a){return e&&isIgnoreNewlineTag(e)&&a[0]===` -`};function decodeAttr(e,a){var n=a?encodedAttrWithNewLines:encodedAttr;return e.replace(n,function(i){return decodingMap[i]})}function parseHTML(e,a){for(var n=[],i=a.expectHTML,r=a.isUnaryTag||no,s=a.canBeLeftOpenTag||no,o=0,l,c;e;){if(l=e,!c||!isPlainTextElement(c)){var u=e.indexOf("<");if(u===0){if(comment.test(e)){var d=e.indexOf("-->");if(d>=0){a.shouldKeepComment&&a.comment(e.substring(4,d),o,o+d+3),C(d+3);continue}}if(conditionalComment.test(e)){var f=e.indexOf("]>");if(f>=0){C(f+2);continue}}var h=e.match(doctype);if(h){C(h[0].length);continue}var m=e.match(endTag);if(m){var v=o;C(m[0].length),E(m[1],v,o);continue}var y=N();if(y){j(y),shouldIgnoreFirstNewline(y.tagName,e)&&C(1);continue}}var _=void 0,w=void 0,A=void 0;if(u>=0){for(w=e.slice(u);!endTag.test(w)&&!startTagOpen.test(w)&&!comment.test(w)&&!conditionalComment.test(w)&&(A=w.indexOf("<",1),!(A<0));)u+=A,w=e.slice(u);_=e.substring(0,u)}u<0&&(_=e),_&&C(_.length),a.chars&&_&&a.chars(_,o-_.length,o)}else{var S=0,M=c.toLowerCase(),P=reCache[M]||(reCache[M]=new RegExp("([\\s\\S]*?)(]*>)","i")),z=e.replace(P,function(L,g,b){return S=b.length,!isPlainTextElement(M)&&M!=="noscript"&&(g=g.replace(//g,"$1").replace(//g,"$1")),shouldIgnoreFirstNewline(M,g)&&(g=g.slice(1)),a.chars&&a.chars(g),""});o+=e.length-z.length,e=z,E(M,o-S,o)}if(e===l){a.chars&&a.chars(e);break}}E();function C(L){o+=L,e=e.substring(L)}function N(){var L=e.match(startTagOpen);if(L){var g={tagName:L[1],attrs:[],start:o};C(L[0].length);for(var b,k;!(b=e.match(startTagClose))&&(k=e.match(dynamicArgAttribute)||e.match(attribute));)k.start=o,C(k[0].length),k.end=o,g.attrs.push(k);if(b)return g.unarySlash=b[1],C(b[0].length),g.end=o,g}}function j(L){var g=L.tagName,b=L.unarySlash;i&&(c==="p"&&isNonPhrasingTag(g)&&E(c),s(g)&&c===g&&E(g));for(var k=r(g)||!!b,x=L.attrs.length,T=new Array(x),D=0;D=0&&n[k].lowerCasedTag!==x;k--);else k=0;if(k>=0){for(var T=n.length-1;T>=k;T--)a.end&&a.end(n[T].tag,g,b);n.length=k,c=k&&n[k-1].tag}else x==="br"?a.start&&a.start(L,[],!0,g,b):x==="p"&&(a.start&&a.start(L,[],!1,g,b),a.end&&a.end(L,g,b))}}var onRE=/^@|^v-on:/,dirRE=/^v-|^@|^:|^#/,forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g,dynamicArgRE=/^\[.*\]$/,argRE=/:(.*)$/,bindRE=/^:|^\.|^v-bind:/,modifierRE=/\.[^.\]]+(?=[^\]]*$)/g,slotRE=/^v-slot(:|$)|^#/,lineBreakRE=/[\r\n]/,whitespaceRE$1=/\s+/g,decodeHTMLCached=cached(he.decode),emptySlotScopeToken="_empty_",warn$2,delimiters,transforms,preTransforms,postTransforms,platformIsPreTag,platformMustUseProp,platformGetTagNamespace;function createASTElement(e,a,n){return{type:1,tag:e,attrsList:a,attrsMap:makeAttrsMap(a),rawAttrsMap:{},parent:n,children:[]}}function parse(e,a){warn$2=a.warn||baseWarn,platformIsPreTag=a.isPreTag||no,platformMustUseProp=a.mustUseProp||no,platformGetTagNamespace=a.getTagNamespace||no,a.isReservedTag,transforms=pluckModuleFunction(a.modules,"transformNode"),preTransforms=pluckModuleFunction(a.modules,"preTransformNode"),postTransforms=pluckModuleFunction(a.modules,"postTransformNode"),delimiters=a.delimiters;var n=[],i=a.preserveWhitespace!==!1,r=a.whitespace,s,o,l=!1,c=!1;function u(f){if(d(f),!l&&!f.processed&&(f=processElement(f,a)),!n.length&&f!==s&&s.if&&(f.elseif||f.else)&&addIfCondition(s,{exp:f.elseif,block:f}),o&&!f.forbidden)if(f.elseif||f.else)processIfConditions(f,o);else{if(f.slotScope){var h=f.slotTarget||'"default"';(o.scopedSlots||(o.scopedSlots={}))[h]=f}o.children.push(f),f.parent=o}f.children=f.children.filter(function(v){return!v.slotScope}),d(f),f.pre&&(l=!1),platformIsPreTag(f.tag)&&(c=!1);for(var m=0;m|^function(?:\s+[\w$]+)?\s*\(/,fnInvokeRE=/\([^)]*?\);*$/,simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},keyNames={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},genGuard=function(e){return"if("+e+")return null;"},modifierCode={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(e,a){var n=a?"nativeOn:":"on:",i="",r="";for(var s in e){var o=genHandler(e[s]);e[s]&&e[s].dynamic?r+=s+","+o+",":i+='"'+s+'":'+o+","}return i="{"+i.slice(0,-1)+"}",r?n+"_d("+i+",["+r.slice(0,-1)+"])":n+i}function genHandler(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(d){return genHandler(d)}).join(",")+"]";var a=simplePathRE.test(e.value),n=fnExpRE.test(e.value),i=simplePathRE.test(e.value.replace(fnInvokeRE,""));if(e.modifiers){var r="",s="",o=[];for(var l in e.modifiers)if(modifierCode[l])s+=modifierCode[l],keyCodes[l]&&o.push(l);else if(l==="exact"){var c=e.modifiers;s+=genGuard(["ctrl","shift","alt","meta"].filter(function(d){return!c[d]}).map(function(d){return"$event."+d+"Key"}).join("||"))}else o.push(l);o.length&&(r+=genKeyFilter(o)),s&&(r+=s);var u=a?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":i?"return "+e.value:e.value;return"function($event){"+r+u+"}"}else return a||n?e.value:"function($event){"+(i?"return "+e.value:e.value)+"}"}function genKeyFilter(e){return"if(!$event.type.indexOf('key')&&"+e.map(genFilterCode).join("&&")+")return null;"}function genFilterCode(e){var a=parseInt(e,10);if(a)return"$event.keyCode!=="+a;var n=keyCodes[e],i=keyNames[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(i)+")"}function on(e,a){e.wrapListeners=function(n){return"_g("+n+","+a.value+")"}}function bind$1(e,a){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+a.value+","+(a.modifiers&&a.modifiers.prop?"true":"false")+(a.modifiers&&a.modifiers.sync?",true":"")+")"}}var baseDirectives={on,bind:bind$1,cloak:noop},CodegenState=function(a){this.options=a,this.warn=a.warn||baseWarn,this.transforms=pluckModuleFunction(a.modules,"transformCode"),this.dataGenFns=pluckModuleFunction(a.modules,"genData"),this.directives=extend(extend({},baseDirectives),a.directives);var n=a.isReservedTag||no;this.maybeComponent=function(i){return!!i.component||!n(i.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function generate(e,a){var n=new CodegenState(a),i=e?genElement(e,n):'_c("div")';return{render:"with(this){return "+i+"}",staticRenderFns:n.staticRenderFns}}function genElement(e,a){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return genStatic(e,a);if(e.once&&!e.onceProcessed)return genOnce(e,a);if(e.for&&!e.forProcessed)return genFor(e,a);if(e.if&&!e.ifProcessed)return genIf(e,a);if(e.tag==="template"&&!e.slotTarget&&!a.pre)return genChildren(e,a)||"void 0";if(e.tag==="slot")return genSlot(e,a);var n;if(e.component)n=genComponent(e.component,e,a);else{var i;(!e.plain||e.pre&&a.maybeComponent(e))&&(i=genData$2(e,a));var r=e.inlineTemplate?null:genChildren(e,a,!0);n="_c('"+e.tag+"'"+(i?","+i:"")+(r?","+r:"")+")"}for(var s=0;s>>0}function containsSlotChild(e){return e.type===1?e.tag==="slot"?!0:e.children.some(containsSlotChild):!1}function genScopedSlot(e,a){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return genIf(e,a,genScopedSlot,"null");if(e.for&&!e.forProcessed)return genFor(e,a,genScopedSlot);var i=e.slotScope===emptySlotScopeToken?"":String(e.slotScope),r="function("+i+"){return "+(e.tag==="template"?e.if&&n?"("+e.if+")?"+(genChildren(e,a)||"undefined")+":undefined":genChildren(e,a)||"undefined":genElement(e,a))+"}",s=i?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+r+s+"}"}function genChildren(e,a,n,i,r){var s=e.children;if(s.length){var o=s[0];if(s.length===1&&o.for&&o.tag!=="template"&&o.tag!=="slot"){var l=n?a.maybeComponent(o)?",1":",0":"";return""+(i||genElement)(o,a)+l}var c=n?getNormalizationType(s,a.maybeComponent):0,u=r||genNode;return"["+s.map(function(d){return u(d,a)}).join(",")+"]"+(c?","+c:"")}}function getNormalizationType(e,a){for(var n=0,i=0;i");if(u>=0){a.shouldKeepComment&&a.comment(e.substring(4,u),l,l+u+3),C(u+3);continue}}if(conditionalComment.test(e)){var f=e.indexOf("]>");if(f>=0){C(f+2);continue}}var h=e.match(doctype);if(h){C(h[0].length);continue}var m=e.match(endTag);if(m){var v=l;C(m[0].length),E(m[1],v,l);continue}var y=R();if(y){U(y),shouldIgnoreFirstNewline(y.tagName,e)&&C(1);continue}}var k=void 0,w=void 0,x=void 0;if(d>=0){for(w=e.slice(d);!endTag.test(w)&&!startTagOpen.test(w)&&!comment.test(w)&&!conditionalComment.test(w)&&!(x=w.indexOf("<",1),x<0);)d+=x,w=e.slice(d);k=e.substring(0,d)}d<0&&(k=e),k&&C(k.length),a.chars&&k&&a.chars(k,l-k.length,l)}else{var A=0,M=o.toLowerCase(),D=reCache[M]||(reCache[M]=new RegExp("([\\s\\S]*?)(]*>)","i")),T=e.replace(D,function(I,g,b){return A=b.length,!isPlainTextElement(M)&&M!=="noscript"&&(g=g.replace(//g,"$1").replace(//g,"$1")),shouldIgnoreFirstNewline(M,g)&&(g=g.slice(1)),a.chars&&a.chars(g),""});l+=e.length-T.length,e=T,E(M,l-A,l)}if(e===c){a.chars&&a.chars(e);break}}E();function C(I){l+=I,e=e.substring(I)}function R(){var I=e.match(startTagOpen);if(I){var g={tagName:I[1],attrs:[],start:l};C(I[0].length);for(var b,_;!(b=e.match(startTagClose))&&(_=e.match(dynamicArgAttribute)||e.match(attribute));)_.start=l,C(_[0].length),_.end=l,g.attrs.push(_);if(b)return g.unarySlash=b[1],C(b[0].length),g.end=l,g}}function U(I){var g=I.tagName,b=I.unarySlash;r&&(o==="p"&&isNonPhrasingTag(g)&&E(o),s(g)&&o===g&&E(g));for(var _=i(g)||!!b,S=I.attrs.length,z=new Array(S),P=0;P=0&&!(n[_].lowerCasedTag===S);_--);else _=0;if(_>=0){for(var z=n.length-1;z>=_;z--)a.end&&a.end(n[z].tag,g,b);n.length=_,o=_&&n[_-1].tag}else S==="br"?a.start&&a.start(I,[],!0,g,b):S==="p"&&(a.start&&a.start(I,[],!1,g,b),a.end&&a.end(I,g,b))}}var onRE=/^@|^v-on:/,dirRE=/^v-|^@|^:|^#/,forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g,dynamicArgRE=/^\[.*\]$/,argRE=/:(.*)$/,bindRE=/^:|^\.|^v-bind:/,modifierRE=/\.[^.\]]+(?=[^\]]*$)/g,slotRE=/^v-slot(:|$)|^#/,lineBreakRE=/[\r\n]/,whitespaceRE$1=/\s+/g,decodeHTMLCached=cached(he.decode),emptySlotScopeToken="_empty_",warn$2,delimiters,transforms,preTransforms,postTransforms,platformIsPreTag,platformMustUseProp,platformGetTagNamespace;function createASTElement(e,a,n){return{type:1,tag:e,attrsList:a,attrsMap:makeAttrsMap(a),rawAttrsMap:{},parent:n,children:[]}}function parse(e,a){warn$2=a.warn||baseWarn,platformIsPreTag=a.isPreTag||no,platformMustUseProp=a.mustUseProp||no,platformGetTagNamespace=a.getTagNamespace||no;var n=a.isReservedTag||no;transforms=pluckModuleFunction(a.modules,"transformNode"),preTransforms=pluckModuleFunction(a.modules,"preTransformNode"),postTransforms=pluckModuleFunction(a.modules,"postTransformNode"),delimiters=a.delimiters;var r=[],i=a.preserveWhitespace!==!1,s=a.whitespace,l,c,o=!1,d=!1;function u(h){if(f(h),!o&&!h.processed&&(h=processElement(h,a)),!r.length&&h!==l&&(l.if&&(h.elseif||h.else)&&addIfCondition(l,{exp:h.elseif,block:h})),c&&!h.forbidden)if(h.elseif||h.else)processIfConditions(h,c);else{if(h.slotScope){var m=h.slotTarget||'"default"';(c.scopedSlots||(c.scopedSlots={}))[m]=h}c.children.push(h),h.parent=c}h.children=h.children.filter(function(y){return!y.slotScope}),f(h),h.pre&&(o=!1),platformIsPreTag(h.tag)&&(d=!1);for(var v=0;v|^function(?:\s+[\w$]+)?\s*\(/,fnInvokeRE=/\([^)]*?\);*$/,simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},keyNames={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},genGuard=function(e){return"if("+e+")return null;"},modifierCode={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(e,a){var n=a?"nativeOn:":"on:",r="",i="";for(var s in e){var l=genHandler(e[s]);e[s]&&e[s].dynamic?i+=s+","+l+",":r+='"'+s+'":'+l+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function genHandler(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(u){return genHandler(u)}).join(",")+"]";var a=simplePathRE.test(e.value),n=fnExpRE.test(e.value),r=simplePathRE.test(e.value.replace(fnInvokeRE,""));if(e.modifiers){var i="",s="",l=[];for(var c in e.modifiers)if(modifierCode[c])s+=modifierCode[c],keyCodes[c]&&l.push(c);else if(c==="exact"){var o=e.modifiers;s+=genGuard(["ctrl","shift","alt","meta"].filter(function(u){return!o[u]}).map(function(u){return"$event."+u+"Key"}).join("||"))}else l.push(c);l.length&&(i+=genKeyFilter(l)),s&&(i+=s);var d=a?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value;return"function($event){"+i+d+"}"}else return a||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function genKeyFilter(e){return"if(!$event.type.indexOf('key')&&"+e.map(genFilterCode).join("&&")+")return null;"}function genFilterCode(e){var a=parseInt(e,10);if(a)return"$event.keyCode!=="+a;var n=keyCodes[e],r=keyNames[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}function on(e,a){e.wrapListeners=function(n){return"_g("+n+","+a.value+")"}}function bind$1(e,a){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+a.value+","+(a.modifiers&&a.modifiers.prop?"true":"false")+(a.modifiers&&a.modifiers.sync?",true":"")+")"}}var baseDirectives={on,bind:bind$1,cloak:noop},CodegenState=function(a){this.options=a,this.warn=a.warn||baseWarn,this.transforms=pluckModuleFunction(a.modules,"transformCode"),this.dataGenFns=pluckModuleFunction(a.modules,"genData"),this.directives=extend(extend({},baseDirectives),a.directives);var n=a.isReservedTag||no;this.maybeComponent=function(r){return!!r.component||!n(r.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function generate(e,a){var n=new CodegenState(a),r=e?genElement(e,n):'_c("div")';return{render:"with(this){return "+r+"}",staticRenderFns:n.staticRenderFns}}function genElement(e,a){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return genStatic(e,a);if(e.once&&!e.onceProcessed)return genOnce(e,a);if(e.for&&!e.forProcessed)return genFor(e,a);if(e.if&&!e.ifProcessed)return genIf(e,a);if(e.tag==="template"&&!e.slotTarget&&!a.pre)return genChildren(e,a)||"void 0";if(e.tag==="slot")return genSlot(e,a);var n;if(e.component)n=genComponent(e.component,e,a);else{var r;(!e.plain||e.pre&&a.maybeComponent(e))&&(r=genData$2(e,a));var i=e.inlineTemplate?null:genChildren(e,a,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var s=0;s>>0}function containsSlotChild(e){return e.type===1?e.tag==="slot"?!0:e.children.some(containsSlotChild):!1}function genScopedSlot(e,a){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return genIf(e,a,genScopedSlot,"null");if(e.for&&!e.forProcessed)return genFor(e,a,genScopedSlot);var r=e.slotScope===emptySlotScopeToken?"":String(e.slotScope),i="function("+r+"){return "+(e.tag==="template"?e.if&&n?"("+e.if+")?"+(genChildren(e,a)||"undefined")+":undefined":genChildren(e,a)||"undefined":genElement(e,a))+"}",s=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+i+s+"}"}function genChildren(e,a,n,r,i){var s=e.children;if(s.length){var l=s[0];if(s.length===1&&l.for&&l.tag!=="template"&&l.tag!=="slot"){var c=n?a.maybeComponent(l)?",1":",0":"";return""+(r||genElement)(l,a)+c}var o=n?getNormalizationType(s,a.maybeComponent):0,d=i||genNode;return"["+s.map(function(u){return d(u,a)}).join(",")+"]"+(o?","+o:"")}}function getNormalizationType(e,a){for(var n=0,r=0;r`:`
`,div.innerHTML.indexOf(" ")>0}var shouldDecodeNewlines=inBrowser?getShouldDecode(!1):!1,shouldDecodeNewlinesForHref=inBrowser?getShouldDecode(!0):!1,idToTemplate=cached(function(e){var a=query(e);return a&&a.innerHTML}),mount=Vue.prototype.$mount;Vue.prototype.$mount=function(e,a){if(e=e&&query(e),e===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var i=n.template;if(i)if(typeof i=="string")i.charAt(0)==="#"&&(i=idToTemplate(i));else if(i.nodeType)i=i.innerHTML;else return this;else e&&(i=getOuterHTML(e));if(i){var r=compileToFunctions(i,{outputSourceRange:!1,shouldDecodeNewlines,shouldDecodeNewlinesForHref,delimiters:n.delimiters,comments:n.comments},this),s=r.render,o=r.staticRenderFns;n.render=s,n.staticRenderFns=o}}return mount.call(this,e,a)};function getOuterHTML(e){if(e.outerHTML)return e.outerHTML;var a=document.createElement("div");return a.appendChild(e.cloneNode(!0)),a.innerHTML}Vue.compile=compileToFunctions;function styleInject(e,a){a===void 0&&(a={});var n=a.insertAt;if(!(!e||typeof document=="undefined")){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",n==="top"&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}var css_248z=`/* fallback */ +"/>`,div.innerHTML.indexOf(" ")>0}var shouldDecodeNewlines=inBrowser?getShouldDecode(!1):!1,shouldDecodeNewlinesForHref=inBrowser?getShouldDecode(!0):!1,idToTemplate=cached(function(e){var a=query(e);return a&&a.innerHTML}),mount=Vue.prototype.$mount;Vue.prototype.$mount=function(e,a){if(e=e&&query(e),e===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if(typeof r=="string")r.charAt(0)==="#"&&(r=idToTemplate(r));else if(r.nodeType)r=r.innerHTML;else return this;else e&&(r=getOuterHTML(e));if(r){var i=compileToFunctions(r,{outputSourceRange:!1,shouldDecodeNewlines,shouldDecodeNewlinesForHref,delimiters:n.delimiters,comments:n.comments},this),s=i.render,l=i.staticRenderFns;n.render=s,n.staticRenderFns=l}}return mount.call(this,e,a)};function getOuterHTML(e){if(e.outerHTML)return e.outerHTML;var a=document.createElement("div");return a.appendChild(e.cloneNode(!0)),a.innerHTML}Vue.compile=compileToFunctions;function styleInject(e,a){a===void 0&&(a={});var n=a.insertAt;if(!e||typeof document=="undefined")return;var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}var css_248z=`/* fallback */ @font-face { font-family: 'Material Icons'; @@ -1182,7 +1182,7 @@ src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} +}\r `;styleInject(css_248z$1);var css_248z$2=`.container { width: 100% } @@ -2492,13 +2492,16 @@ a { text-decoration: underline; } `;styleInject(css_248z$8);/*! - * vuex v3.6.2 - * (c) 2021 Evan You + * vuex v3.6.0 + * (c) 2020 Evan You * @license MIT - */function applyMixin(e){var a=Number(e.version.split(".")[0]);if(a>=2)e.mixin({beforeCreate:i});else{var n=e.prototype._init;e.prototype._init=function(r){r===void 0&&(r={}),r.init=r.init?[i].concat(r.init):i,n.call(this,r)}}function i(){var r=this.$options;r.store?this.$store=typeof r.store=="function"?r.store():r.store:r.parent&&r.parent.$store&&(this.$store=r.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){!devtoolHook||(e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(a){e.replaceState(a)}),e.subscribe(function(a,n){devtoolHook.emit("vuex:mutation",a,n)},{prepend:!0}),e.subscribeAction(function(a,n){devtoolHook.emit("vuex:action",a,n)},{prepend:!0}))}function find(e,a){return e.filter(a)[0]}function deepCopy(e,a){if(a===void 0&&(a=[]),e===null||typeof e!="object")return e;var n=find(a,function(r){return r.original===e});if(n)return n.copy;var i=Array.isArray(e)?[]:{};return a.push({original:e,copy:i}),Object.keys(e).forEach(function(r){i[r]=deepCopy(e[r],a)}),i}function forEachValue(e,a){Object.keys(e).forEach(function(n){return a(e[n],n)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,a){return function(){return e(a)}}var Module=function(a,n){this.runtime=n,this._children=Object.create(null),this._rawModule=a;var i=a.state;this.state=(typeof i=="function"?i():i)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(a,n){this._children[a]=n},Module.prototype.removeChild=function(a){delete this._children[a]},Module.prototype.getChild=function(a){return this._children[a]},Module.prototype.hasChild=function(a){return a in this._children},Module.prototype.update=function(a){this._rawModule.namespaced=a.namespaced,a.actions&&(this._rawModule.actions=a.actions),a.mutations&&(this._rawModule.mutations=a.mutations),a.getters&&(this._rawModule.getters=a.getters)},Module.prototype.forEachChild=function(a){forEachValue(this._children,a)},Module.prototype.forEachGetter=function(a){this._rawModule.getters&&forEachValue(this._rawModule.getters,a)},Module.prototype.forEachAction=function(a){this._rawModule.actions&&forEachValue(this._rawModule.actions,a)},Module.prototype.forEachMutation=function(a){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,a)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(a){this.register([],a,!1)};ModuleCollection.prototype.get=function(a){return a.reduce(function(n,i){return n.getChild(i)},this.root)},ModuleCollection.prototype.getNamespace=function(a){var n=this.root;return a.reduce(function(i,r){return n=n.getChild(r),i+(n.namespaced?r+"/":"")},"")},ModuleCollection.prototype.update=function(a){update([],this.root,a)},ModuleCollection.prototype.register=function(a,n,i){var r=this;i===void 0&&(i=!0);var s=new Module(n,i);if(a.length===0)this.root=s;else{var o=this.get(a.slice(0,-1));o.addChild(a[a.length-1],s)}n.modules&&forEachValue(n.modules,function(l,c){r.register(a.concat(c),l,i)})},ModuleCollection.prototype.unregister=function(a){var n=this.get(a.slice(0,-1)),i=a[a.length-1],r=n.getChild(i);!r||!r.runtime||n.removeChild(i)},ModuleCollection.prototype.isRegistered=function(a){var n=this.get(a.slice(0,-1)),i=a[a.length-1];return n?n.hasChild(i):!1};function update(e,a,n){if(a.update(n),n.modules)for(var i in n.modules){if(!a.getChild(i))return;update(e.concat(i),a.getChild(i),n.modules[i])}}var Vue$1,Store=function(a){var n=this;a===void 0&&(a={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var i=a.plugins;i===void 0&&(i=[]);var r=a.strict;r===void 0&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(a),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,o=this,l=o.dispatch,c=o.commit;this.dispatch=function(h,m){return l.call(s,h,m)},this.commit=function(h,m,v){return c.call(s,h,m,v)},this.strict=r;var u=this._modules.root.state;installModule(this,u,[],this._modules.root),resetStoreVM(this,u),i.forEach(function(f){return f(n)});var d=a.devtools!==void 0?a.devtools:Vue$1.config.devtools;d&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(a,n,i){var r=this,s=unifyObjectStyle(a,n,i),o=s.type,l=s.payload,c={type:o,payload:l},u=this._mutations[o];!u||(this._withCommit(function(){u.forEach(function(f){f(l)})}),this._subscribers.slice().forEach(function(d){return d(c,r.state)}))},Store.prototype.dispatch=function(a,n){var i=this,r=unifyObjectStyle(a,n),s=r.type,o=r.payload,l={type:s,payload:o},c=this._actions[s];if(!!c){try{this._actionSubscribers.slice().filter(function(d){return d.before}).forEach(function(d){return d.before(l,i.state)})}catch(d){}var u=c.length>1?Promise.all(c.map(function(d){return d(o)})):c[0](o);return new Promise(function(d,f){u.then(function(h){try{i._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(l,i.state)})}catch(m){}d(h)},function(h){try{i._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(l,i.state,h)})}catch(m){}f(h)})})}},Store.prototype.subscribe=function(a,n){return genericSubscribe(a,this._subscribers,n)},Store.prototype.subscribeAction=function(a,n){var i=typeof a=="function"?{before:a}:a;return genericSubscribe(i,this._actionSubscribers,n)},Store.prototype.watch=function(a,n,i){var r=this;return this._watcherVM.$watch(function(){return a(r.state,r.getters)},n,i)},Store.prototype.replaceState=function(a){var n=this;this._withCommit(function(){n._vm._data.$$state=a})},Store.prototype.registerModule=function(a,n,i){i===void 0&&(i={}),typeof a=="string"&&(a=[a]),this._modules.register(a,n),installModule(this,this.state,a,this._modules.get(a),i.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(a){var n=this;typeof a=="string"&&(a=[a]),this._modules.unregister(a),this._withCommit(function(){var i=getNestedState(n.state,a.slice(0,-1));Vue$1.delete(i,a[a.length-1])}),resetStore(this)},Store.prototype.hasModule=function(a){return typeof a=="string"&&(a=[a]),this._modules.isRegistered(a)},Store.prototype.hotUpdate=function(a){this._modules.update(a),resetStore(this,!0)},Store.prototype._withCommit=function(a){var n=this._committing;this._committing=!0,a(),this._committing=n},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,a,n){return a.indexOf(e)<0&&(n&&n.prepend?a.unshift(e):a.push(e)),function(){var i=a.indexOf(e);i>-1&&a.splice(i,1)}}function resetStore(e,a){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;installModule(e,n,[],e._modules.root,!0),resetStoreVM(e,n,a)}function resetStoreVM(e,a,n){var i=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var r=e._wrappedGetters,s={};forEachValue(r,function(l,c){s[c]=partial(l,e),Object.defineProperty(e.getters,c,{get:function(){return e._vm[c]},enumerable:!0})});var o=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:a},computed:s}),Vue$1.config.silent=o,e.strict&&enableStrictMode(e),i&&(n&&e._withCommit(function(){i._data.$$state=null}),Vue$1.nextTick(function(){return i.$destroy()}))}function installModule(e,a,n,i,r){var s=!n.length,o=e._modules.getNamespace(n);if(i.namespaced&&(e._modulesNamespaceMap[o],e._modulesNamespaceMap[o]=i),!s&&!r){var l=getNestedState(a,n.slice(0,-1)),c=n[n.length-1];e._withCommit(function(){Vue$1.set(l,c,i.state)})}var u=i.context=makeLocalContext(e,o,n);i.forEachMutation(function(d,f){var h=o+f;registerMutation(e,h,d,u)}),i.forEachAction(function(d,f){var h=d.root?f:o+f,m=d.handler||d;registerAction(e,h,m,u)}),i.forEachGetter(function(d,f){var h=o+f;registerGetter(e,h,d,u)}),i.forEachChild(function(d,f){installModule(e,a,n.concat(f),d,r)})}function makeLocalContext(e,a,n){var i=a==="",r={dispatch:i?e.dispatch:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;return(!d||!d.root)&&(f=a+f),e.dispatch(f,u)},commit:i?e.commit:function(s,o,l){var c=unifyObjectStyle(s,o,l),u=c.payload,d=c.options,f=c.type;(!d||!d.root)&&(f=a+f),e.commit(f,u,d)}};return Object.defineProperties(r,{getters:{get:i?function(){return e.getters}:function(){return makeLocalGetters(e,a)}},state:{get:function(){return getNestedState(e.state,n)}}}),r}function makeLocalGetters(e,a){if(!e._makeLocalGettersCache[a]){var n={},i=a.length;Object.keys(e.getters).forEach(function(r){if(r.slice(0,i)===a){var s=r.slice(i);Object.defineProperty(n,s,{get:function(){return e.getters[r]},enumerable:!0})}}),e._makeLocalGettersCache[a]=n}return e._makeLocalGettersCache[a]}function registerMutation(e,a,n,i){var r=e._mutations[a]||(e._mutations[a]=[]);r.push(function(o){n.call(e,i.state,o)})}function registerAction(e,a,n,i){var r=e._actions[a]||(e._actions[a]=[]);r.push(function(o){var l=n.call(e,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:e.getters,rootState:e.state},o);return isPromise$1(l)||(l=Promise.resolve(l)),e._devtoolHook?l.catch(function(c){throw e._devtoolHook.emit("vuex:error",c),c}):l})}function registerGetter(e,a,n,i){e._wrappedGetters[a]||(e._wrappedGetters[a]=function(s){return n(i.state,i.getters,s.state,s.getters)})}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,a){return a.reduce(function(n,i){return n[i]},e)}function unifyObjectStyle(e,a,n){return isObject$1(e)&&e.type&&(n=a,a=e,e=e.type),{type:e,payload:a,options:n}}function install(e){Vue$1&&e===Vue$1||(Vue$1=e,applyMixin(Vue$1))}var mapState=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){var l=this.$store.state,c=this.$store.getters;if(e){var u=getModuleByNamespace(this.$store,"mapState",e);if(!u)return;l=u.context.state,c=u.context.getters}return typeof s=="function"?s.call(this,l,c):l[s]},n[r].vuex=!0}),n}),mapMutations=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.commit;if(e){var d=getModuleByNamespace(this.$store,"mapMutations",e);if(!d)return;u=d.context.commit}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),n}),mapGetters=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;s=e+s,n[r]=function(){if(!(e&&!getModuleByNamespace(this.$store,"mapGetters",e)))return this.$store.getters[s]},n[r].vuex=!0}),n}),mapActions=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(i){var r=i.key,s=i.val;n[r]=function(){for(var l=[],c=arguments.length;c--;)l[c]=arguments[c];var u=this.$store.dispatch;if(e){var d=getModuleByNamespace(this.$store,"mapActions",e);if(!d)return;u=d.context.dispatch}return typeof s=="function"?s.apply(this,[u].concat(l)):u.apply(this.$store,[s].concat(l))}}),n}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(a){return{key:a,val:a}}):Object.keys(e).map(function(a){return{key:a,val:e[a]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(a,n){return typeof a!="string"?(n=a,a=""):a.charAt(a.length-1)!=="/"&&(a+="/"),e(a,n)}}function getModuleByNamespace(e,a,n){var i=e._modulesNamespaceMap[n];return i}function createLogger(e){e===void 0&&(e={});var a=e.collapsed;a===void 0&&(a=!0);var n=e.filter;n===void 0&&(n=function(d,f,h){return!0});var i=e.transformer;i===void 0&&(i=function(d){return d});var r=e.mutationTransformer;r===void 0&&(r=function(d){return d});var s=e.actionFilter;s===void 0&&(s=function(d,f){return!0});var o=e.actionTransformer;o===void 0&&(o=function(d){return d});var l=e.logMutations;l===void 0&&(l=!0);var c=e.logActions;c===void 0&&(c=!0);var u=e.logger;return u===void 0&&(u=console),function(d){var f=deepCopy(d.state);typeof u!="undefined"&&(l&&d.subscribe(function(h,m){var v=deepCopy(m);if(n(h,f,v)){var y=getFormattedTime(),_=r(h),w="mutation "+h.type+y;startMessage(u,w,a),u.log("%c prev state","color: #9E9E9E; font-weight: bold",i(f)),u.log("%c mutation","color: #03A9F4; font-weight: bold",_),u.log("%c next state","color: #4CAF50; font-weight: bold",i(v)),endMessage(u)}f=v}),c&&d.subscribeAction(function(h,m){if(s(h,m)){var v=getFormattedTime(),y=o(h),_="action "+h.type+v;startMessage(u,_,a),u.log("%c action","color: #03A9F4; font-weight: bold",y),endMessage(u)}}))}}function startMessage(e,a,n){var i=n?e.groupCollapsed:e.group;try{i.call(e,a)}catch(r){e.log(a)}}function endMessage(e){try{e.groupEnd()}catch(a){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,a){return new Array(a+1).join(e)}function pad(e,a){return repeat("0",a-e.toString().length)+e}var index$2={Store,install,version:"3.6.2",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger};let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,a)=>{socket.on("init_settings",(n,i,r)=>{settingsData=n,defaultSettingsData=r,spotifyCredentials=i,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:i,user:r,status:s}=n;a("setARL",{arl:i}),e("SET_USER",r),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:i}=a;i=typeof i=="undefined"?!0:i,e("SET_ARL",n),i&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const i=a[n];e[n]=i}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});class CustomSocket extends WebSocket{constructor(a){super(a)}emit(a,n){if(this.readyState!=WebSocket.OPEN)return!1;this.send(JSON.stringify({key:a,data:n}))}on(a,n){this.addEventListener("message",function(i){let r=JSON.parse(i.data);console.log(r),r.key==a&&n(r.data)})}}const socket=new CustomSocket("ws://"+location.host+"/");function normalizeComponent(e,a,n,i,r,s,o,l,c,u){typeof o!="boolean"&&(c=l,l=o,o=!1);var d=typeof n=="function"?n.options:n;e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,r&&(d.functional=!0)),i&&(d._scopeId=i);var f;if(s?(f=function(y){y=y||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!y&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(y=__VUE_SSR_CONTEXT__),a&&a.call(this,c(y)),y&&y._registeredComponents&&y._registeredComponents.add(s)},d._ssrRegister=f):a&&(f=o?function(){a.call(this,u(this.$root.$options.shadowRoot))}:function(v){a.call(this,l(v))}),f)if(d.functional){var h=d.render;d.render=function(y,_){return f.call(_),h(y,_)}}else{var m=d.beforeCreate;d.beforeCreate=m?[].concat(m,f):[f]}return n}var normalizeComponent_1=normalizeComponent,isOldIE=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function createInjector(e){return function(a,n){return addStyle(a,n)}}var HEAD=document.head||document.getElementsByTagName("head")[0],styles={};function addStyle(e,a){var n=isOldIE?a.media||"default":e,i=styles[n]||(styles[n]={ids:new Set,styles:[]});if(!i.ids.has(e)){i.ids.add(e);var r=a.source;if(a.map&&(r+=` -/*# sourceURL=`+a.map.sources[0]+" */",r+=` -/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(a.map))))+" */"),i.element||(i.element=document.createElement("style"),i.element.type="text/css",a.media&&i.element.setAttribute("media",a.media),HEAD.appendChild(i.element)),"styleSheet"in i.element)i.styles.push(r),i.element.styleSheet.cssText=i.styles.filter(Boolean).join(` -`);else{var s=i.ids.size-1,o=document.createTextNode(r),l=i.element.childNodes;l[s]&&i.element.removeChild(l[s]),l.length?i.element.insertBefore(o,l[s]):i.element.appendChild(o)}}}var browser=createInjector,__vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){!e||e("data-v-07f63f2b_0",{source:".lds-ring[data-v-07f63f2b]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-07f63f2b]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-07f63f2b 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-07f63f2b]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-07f63f2b]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-07f63f2b]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-07f63f2b{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-07f63f2b",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;var BaseLoadingPlaceholder=normalizeComponent_1({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,browser,void 0);const get=function(e,a){let n=`/api/${e}`;if(a){let i=Object.keys(a).map(r=>encodeURIComponent(r)+"="+encodeURIComponent(a[r])).join("&");n+="?"+i}return fetch(n).then(i=>i.json())};function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");get("addToQueue",{url:e,bitrate:a})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,i;return n=Math.floor(e/60),a=Math.floor(n/60),i=e-n*60,n-=a*60,[a,n,i]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var i;return function(){var r=this,s=arguments,o=function(){i=null,n||e.apply(r,s)},l=n&&!i;clearTimeout(i),i=setTimeout(o,a),l&&e.apply(r,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n)?n.split(".").reduce((s,o)=>{if(s)return s[o]},e):e[n];if(typeof r!="undefined")return r}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,i)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+i,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:i}=window,r=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(r>i){const o=r-i+15;this.xPos=`${e-o}px`}if(s>n){const o=s-n+15;this.yPos=`${a-o}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(i){return n("button",{directives:[{name:"show",rawName:"v-show",value:i.show,expression:"option.show"}],key:i.label,staticClass:"btn menu-option",on:{click:function(r){return r.preventDefault(),i.action(r)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(i.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){!e||e("data-v-17a20187_0",{source:".context-menu[data-v-17a20187]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-17a20187]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-17a20187]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-17a20187]{text-transform:capitalize}button[data-v-17a20187]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-17a20187]:focus{outline:0}button[data-v-17a20187]:active{background-color:unset;transform:unset}button[data-v-17a20187]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-17a20187",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;var TheContextMenu=normalizeComponent_1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,browser,void 0),EventBus=new Vue;async function adjustVolume(e,a,{duration:n=1e3,easing:i=swing,interval:r=13}={}){const s=e.volume,o=a-s;if(!o||!n||!i||!r)return e.volume=a,Promise.resolve();const l=Math.floor(n/r);let c=1;return new Promise(u=>{const d=setInterval(()=>{e.volume=s+i(c/l)*o,++c===l&&(clearInterval(d),u())},r)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,a,n)=>{this.stopStackedTabsPreview(),n()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;isFinite(e)||(e=30),!(e-this.$refs.preview.currentTime>=1)&&(this.previewStopped||(await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(a=>{a.style.opacity=0}),document.querySelectorAll("*").forEach(a=>{a.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(a=>{a.textContent="play_arrow"})))},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:a}=e;var n=a.tagName=="I"?a:a.querySelector("i");a.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,n.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,n.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(i=>{i.removeAttribute("playing")}),a.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(i=>{i.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(i=>{i.style.opacity=0}),n.innerText="pause",n.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=a.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));e.length!==0&&(await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(a=>{a.removeAttribute("playing"),a.innerText="play_arrow"}))},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:a}=e,n=a.parentElement.hasAttribute("playing");(n&&this.previewStopped||!n)&&(a.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[n("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_module_identifier__$2=void 0,__vue_is_functional_template__$2=!1;var TheTrackPreview=normalizeComponent_1({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2,__vue_module_identifier__$2,void 0,void 0),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:a}=e;this.$refs.modal.classList.add("animated","fadeOut"),!!a.matches(".quality-button")&&sendAddToQueue(this.url,a.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:a}=e;this.$refs.modal.classList.remove("animated",a),a!=="fadeIn"&&(this.open=!1)}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(i){return e.tryToDownloadTrack(i)}}},[n("div",{staticClass:"smallmodal-content"},[n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` + */function applyMixin(e){var a=Number(e.version.split(".")[0]);if(a>=2)e.mixin({beforeCreate:r});else{var n=e.prototype._init;e.prototype._init=function(i){i===void 0&&(i={}),i.init=i.init?[r].concat(i.init):r,n.call(this,i)}}function r(){var i=this.$options;i.store?this.$store=typeof i.store=="function"?i.store():i.store:i.parent&&i.parent.$store&&(this.$store=i.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){if(!devtoolHook)return;e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(a){e.replaceState(a)}),e.subscribe(function(a,n){devtoolHook.emit("vuex:mutation",a,n)},{prepend:!0}),e.subscribeAction(function(a,n){devtoolHook.emit("vuex:action",a,n)},{prepend:!0})}function find(e,a){return e.filter(a)[0]}function deepCopy(e,a){if(a===void 0&&(a=[]),e===null||typeof e!="object")return e;var n=find(a,function(i){return i.original===e});if(n)return n.copy;var r=Array.isArray(e)?[]:{};return a.push({original:e,copy:r}),Object.keys(e).forEach(function(i){r[i]=deepCopy(e[i],a)}),r}function forEachValue(e,a){Object.keys(e).forEach(function(n){return a(e[n],n)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,a){return function(){return e(a)}}var Module=function(a,n){this.runtime=n,this._children=Object.create(null),this._rawModule=a;var r=a.state;this.state=(typeof r=="function"?r():r)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(a,n){this._children[a]=n},Module.prototype.removeChild=function(a){delete this._children[a]},Module.prototype.getChild=function(a){return this._children[a]},Module.prototype.hasChild=function(a){return a in this._children},Module.prototype.update=function(a){this._rawModule.namespaced=a.namespaced,a.actions&&(this._rawModule.actions=a.actions),a.mutations&&(this._rawModule.mutations=a.mutations),a.getters&&(this._rawModule.getters=a.getters)},Module.prototype.forEachChild=function(a){forEachValue(this._children,a)},Module.prototype.forEachGetter=function(a){this._rawModule.getters&&forEachValue(this._rawModule.getters,a)},Module.prototype.forEachAction=function(a){this._rawModule.actions&&forEachValue(this._rawModule.actions,a)},Module.prototype.forEachMutation=function(a){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,a)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(a){this.register([],a,!1)};ModuleCollection.prototype.get=function(a){return a.reduce(function(n,r){return n.getChild(r)},this.root)},ModuleCollection.prototype.getNamespace=function(a){var n=this.root;return a.reduce(function(r,i){return n=n.getChild(i),r+(n.namespaced?i+"/":"")},"")},ModuleCollection.prototype.update=function(a){update([],this.root,a)},ModuleCollection.prototype.register=function(a,n,r){var i=this;r===void 0&&(r=!0);var s=new Module(n,r);if(a.length===0)this.root=s;else{var l=this.get(a.slice(0,-1));l.addChild(a[a.length-1],s)}n.modules&&forEachValue(n.modules,function(c,o){i.register(a.concat(o),c,r)})},ModuleCollection.prototype.unregister=function(a){var n=this.get(a.slice(0,-1)),r=a[a.length-1],i=n.getChild(r);if(!i)return;if(!i.runtime)return;n.removeChild(r)},ModuleCollection.prototype.isRegistered=function(a){var n=this.get(a.slice(0,-1)),r=a[a.length-1];return n?n.hasChild(r):!1};function update(e,a,n){if(a.update(n),n.modules)for(var r in n.modules){if(!a.getChild(r))return;update(e.concat(r),a.getChild(r),n.modules[r])}}var Vue$1,Store=function(a){var n=this;a===void 0&&(a={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var r=a.plugins;r===void 0&&(r=[]);var i=a.strict;i===void 0&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(a),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,l=this,c=l.dispatch,o=l.commit;this.dispatch=function(h,m){return c.call(s,h,m)},this.commit=function(h,m,v){return o.call(s,h,m,v)},this.strict=i;var d=this._modules.root.state;installModule(this,d,[],this._modules.root),resetStoreVM(this,d),r.forEach(function(f){return f(n)});var u=a.devtools!==void 0?a.devtools:Vue$1.config.devtools;u&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(a,n,r){var i=this,s=unifyObjectStyle(a,n,r),l=s.type,c=s.payload,o={type:l,payload:c},d=this._mutations[l];if(!d)return;this._withCommit(function(){d.forEach(function(f){f(c)})}),this._subscribers.slice().forEach(function(u){return u(o,i.state)})},Store.prototype.dispatch=function(a,n){var r=this,i=unifyObjectStyle(a,n),s=i.type,l=i.payload,c={type:s,payload:l},o=this._actions[s];if(!o)return;try{this._actionSubscribers.slice().filter(function(u){return u.before}).forEach(function(u){return u.before(c,r.state)})}catch(u){}var d=o.length>1?Promise.all(o.map(function(u){return u(l)})):o[0](l);return new Promise(function(u,f){d.then(function(h){try{r._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(c,r.state)})}catch(m){}u(h)},function(h){try{r._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(c,r.state,h)})}catch(m){}f(h)})})},Store.prototype.subscribe=function(a,n){return genericSubscribe(a,this._subscribers,n)},Store.prototype.subscribeAction=function(a,n){var r=typeof a=="function"?{before:a}:a;return genericSubscribe(r,this._actionSubscribers,n)},Store.prototype.watch=function(a,n,r){var i=this;return this._watcherVM.$watch(function(){return a(i.state,i.getters)},n,r)},Store.prototype.replaceState=function(a){var n=this;this._withCommit(function(){n._vm._data.$$state=a})},Store.prototype.registerModule=function(a,n,r){r===void 0&&(r={}),typeof a=="string"&&(a=[a]),this._modules.register(a,n),installModule(this,this.state,a,this._modules.get(a),r.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(a){var n=this;typeof a=="string"&&(a=[a]),this._modules.unregister(a),this._withCommit(function(){var r=getNestedState(n.state,a.slice(0,-1));Vue$1.delete(r,a[a.length-1])}),resetStore(this)},Store.prototype.hasModule=function(a){return typeof a=="string"&&(a=[a]),this._modules.isRegistered(a)},Store.prototype.hotUpdate=function(a){this._modules.update(a),resetStore(this,!0)},Store.prototype._withCommit=function(a){var n=this._committing;this._committing=!0,a(),this._committing=n},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,a,n){return a.indexOf(e)<0&&(n&&n.prepend?a.unshift(e):a.push(e)),function(){var r=a.indexOf(e);r>-1&&a.splice(r,1)}}function resetStore(e,a){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;installModule(e,n,[],e._modules.root,!0),resetStoreVM(e,n,a)}function resetStoreVM(e,a,n){var r=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var i=e._wrappedGetters,s={};forEachValue(i,function(c,o){s[o]=partial(c,e),Object.defineProperty(e.getters,o,{get:function(){return e._vm[o]},enumerable:!0})});var l=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:a},computed:s}),Vue$1.config.silent=l,e.strict&&enableStrictMode(e),r&&(n&&e._withCommit(function(){r._data.$$state=null}),Vue$1.nextTick(function(){return r.$destroy()}))}function installModule(e,a,n,r,i){var s=!n.length,l=e._modules.getNamespace(n);if(r.namespaced&&(e._modulesNamespaceMap[l]&&!1&&console.error("[vuex] duplicate namespace "+l+" for the namespaced module "+n.join("/")),e._modulesNamespaceMap[l]=r),!s&&!i){var c=getNestedState(a,n.slice(0,-1)),o=n[n.length-1];e._withCommit(function(){Vue$1.set(c,o,r.state)})}var d=r.context=makeLocalContext(e,l,n);r.forEachMutation(function(u,f){var h=l+f;registerMutation(e,h,u,d)}),r.forEachAction(function(u,f){var h=u.root?f:l+f,m=u.handler||u;registerAction(e,h,m,d)}),r.forEachGetter(function(u,f){var h=l+f;registerGetter(e,h,u,d)}),r.forEachChild(function(u,f){installModule(e,a,n.concat(f),u,i)})}function makeLocalContext(e,a,n){var r=a==="",i={dispatch:r?e.dispatch:function(s,l,c){var o=unifyObjectStyle(s,l,c),d=o.payload,u=o.options,f=o.type;return(!u||!u.root)&&(f=a+f),e.dispatch(f,d)},commit:r?e.commit:function(s,l,c){var o=unifyObjectStyle(s,l,c),d=o.payload,u=o.options,f=o.type;(!u||!u.root)&&(f=a+f),e.commit(f,d,u)}};return Object.defineProperties(i,{getters:{get:r?function(){return e.getters}:function(){return makeLocalGetters(e,a)}},state:{get:function(){return getNestedState(e.state,n)}}}),i}function makeLocalGetters(e,a){if(!e._makeLocalGettersCache[a]){var n={},r=a.length;Object.keys(e.getters).forEach(function(i){if(i.slice(0,r)!==a)return;var s=i.slice(r);Object.defineProperty(n,s,{get:function(){return e.getters[i]},enumerable:!0})}),e._makeLocalGettersCache[a]=n}return e._makeLocalGettersCache[a]}function registerMutation(e,a,n,r){var i=e._mutations[a]||(e._mutations[a]=[]);i.push(function(l){n.call(e,r.state,l)})}function registerAction(e,a,n,r){var i=e._actions[a]||(e._actions[a]=[]);i.push(function(l){var c=n.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},l);return isPromise$1(c)||(c=Promise.resolve(c)),e._devtoolHook?c.catch(function(o){throw e._devtoolHook.emit("vuex:error",o),o}):c})}function registerGetter(e,a,n,r){if(e._wrappedGetters[a])return;e._wrappedGetters[a]=function(s){return n(r.state,r.getters,s.state,s.getters)}}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,a){return a.reduce(function(n,r){return n[r]},e)}function unifyObjectStyle(e,a,n){return isObject$1(e)&&e.type&&(n=a,a=e,e=e.type),{type:e,payload:a,options:n}}function install(e){if(Vue$1&&e===Vue$1)return;Vue$1=e,applyMixin(Vue$1)}var mapState=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){var c=this.$store.state,o=this.$store.getters;if(e){var d=getModuleByNamespace(this.$store,"mapState",e);if(!d)return;c=d.context.state,o=d.context.getters}return typeof s=="function"?s.call(this,c,o):c[s]},n[i].vuex=!0}),n}),mapMutations=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){for(var c=[],o=arguments.length;o--;)c[o]=arguments[o];var d=this.$store.commit;if(e){var u=getModuleByNamespace(this.$store,"mapMutations",e);if(!u)return;d=u.context.commit}return typeof s=="function"?s.apply(this,[d].concat(c)):d.apply(this.$store,[s].concat(c))}}),n}),mapGetters=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;s=e+s,n[i]=function(){return e&&!getModuleByNamespace(this.$store,"mapGetters",e)?void 0:this.$store.getters[s]},n[i].vuex=!0}),n}),mapActions=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){for(var c=[],o=arguments.length;o--;)c[o]=arguments[o];var d=this.$store.dispatch;if(e){var u=getModuleByNamespace(this.$store,"mapActions",e);if(!u)return;d=u.context.dispatch}return typeof s=="function"?s.apply(this,[d].concat(c)):d.apply(this.$store,[s].concat(c))}}),n}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(a){return{key:a,val:a}}):Object.keys(e).map(function(a){return{key:a,val:e[a]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(a,n){return typeof a!="string"?(n=a,a=""):a.charAt(a.length-1)!=="/"&&(a+="/"),e(a,n)}}function getModuleByNamespace(e,a,n){var r=e._modulesNamespaceMap[n];return r}function createLogger(e){e===void 0&&(e={});var a=e.collapsed;a===void 0&&(a=!0);var n=e.filter;n===void 0&&(n=function(u,f,h){return!0});var r=e.transformer;r===void 0&&(r=function(u){return u});var i=e.mutationTransformer;i===void 0&&(i=function(u){return u});var s=e.actionFilter;s===void 0&&(s=function(u,f){return!0});var l=e.actionTransformer;l===void 0&&(l=function(u){return u});var c=e.logMutations;c===void 0&&(c=!0);var o=e.logActions;o===void 0&&(o=!0);var d=e.logger;return d===void 0&&(d=console),function(u){var f=deepCopy(u.state);if(typeof d=="undefined")return;c&&u.subscribe(function(h,m){var v=deepCopy(m);if(n(h,f,v)){var y=getFormattedTime(),k=i(h),w="mutation "+h.type+y;startMessage(d,w,a),d.log("%c prev state","color: #9E9E9E; font-weight: bold",r(f)),d.log("%c mutation","color: #03A9F4; font-weight: bold",k),d.log("%c next state","color: #4CAF50; font-weight: bold",r(v)),endMessage(d)}f=v}),o&&u.subscribeAction(function(h,m){if(s(h,m)){var v=getFormattedTime(),y=l(h),k="action "+h.type+v;startMessage(d,k,a),d.log("%c action","color: #03A9F4; font-weight: bold",y),endMessage(d)}})}}function startMessage(e,a,n){var r=n?e.groupCollapsed:e.group;try{r.call(e,a)}catch(i){e.log(a)}}function endMessage(e){try{e.groupEnd()}catch(a){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,a){return new Array(a+1).join(e)}function pad(e,a){return repeat("0",a-e.toString().length)+e}var index$2={Store,install,version:"3.6.0",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger};let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,a)=>{socket.on("init_settings",(n,r,i)=>{settingsData=n,defaultSettingsData=i,spotifyCredentials=r,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:r,user:i,status:s}=n;a("setARL",{arl:r}),e("SET_USER",i),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:r}=a;r=typeof r=="undefined"?!0:r,e("SET_ARL",n),r&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const r=a[n];e[n]=r}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});let wasEventListenerAdded=!1;class CustomSocket extends WebSocket{constructor(a){super(a)}emit(a,n){if(this.readyState!==WebSocket.OPEN)return!1;this.send(JSON.stringify({key:a,data:n}))}on(a,n){wasEventListenerAdded||(wasEventListenerAdded=!0,this.addEventListener("message",r=>{const i=JSON.parse(r.data);i.key===a&&n(i.data)}))}off(){console.log("off!")}}const socket=new CustomSocket("ws://"+location.host+"/");var __vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){if(!e)return;e("data-v-20045564_0",{source:".lds-ring[data-v-20045564]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-20045564]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-20045564 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-20045564]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-20045564]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-20045564]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-20045564{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-20045564",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;function __vue_normalize__(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BaseLoadingPlaceholder.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__.styles||(__vue_create_injector__.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var BaseLoadingPlaceholder=__vue_normalize__({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,__vue_create_injector__);const get=function(e,a){let n=`/api/${e}`;if(a){let r=Object.keys(a).map(i=>encodeURIComponent(i)+"="+encodeURIComponent(a[i])).join("&");n+="?"+r}return fetch(n).then(r=>r.json())};function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");get("addToQueue",{url:e,bitrate:a})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,r;return n=Math.floor(e/60),a=Math.floor(n/60),r=e-n*60,n-=a*60,[a,n,r]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var r;return function(){var i=this,s=arguments,l=function(){r=null,n||e.apply(i,s)},c=n&&!r;clearTimeout(r),r=setTimeout(l,a),c&&e.apply(i,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n),i=r?n.split(".").reduce((s,l)=>{if(s)return s[l]},e):e[n];if(typeof i!="undefined")return i}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,r)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+r,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:r}=window,i=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(i>r){const l=i-r+15;this.xPos=`${e-l}px`}if(s>n){const l=s-n+15;this.yPos=`${a-l}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(r){return n("button",{directives:[{name:"show",rawName:"v-show",value:r.show,expression:"option.show"}],key:r.label,staticClass:"btn menu-option",on:{click:function(i){return i.preventDefault(),r.action(i)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(r.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){if(!e)return;e("data-v-ce73bd68_0",{source:".context-menu[data-v-ce73bd68]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-ce73bd68]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-ce73bd68]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-ce73bd68]{text-transform:capitalize}button[data-v-ce73bd68]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-ce73bd68]:focus{outline:0}button[data-v-ce73bd68]:active{background-color:unset;transform:unset}button[data-v-ce73bd68]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-ce73bd68",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;function __vue_normalize__$1(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheContextMenu.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$1(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$1.styles||(__vue_create_injector__$1.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var TheContextMenu=__vue_normalize__$1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,__vue_create_injector__$1),EventBus=new Vue;async function adjustVolume(e,a,{duration:n=1e3,easing:r=swing,interval:i=13}={}){const s=e.volume,l=a-s;if(!l||!n||!r||!i)return e.volume=a,Promise.resolve();const c=Math.floor(n/i);let o=1;return new Promise(d=>{const u=setInterval(()=>{e.volume=s+r(o/c)*l,++o===c&&(clearInterval(u),d())},i)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,a,n)=>{this.stopStackedTabsPreview(),n()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;if(isFinite(e)||(e=30),e-this.$refs.preview.currentTime>=1)return;if(this.previewStopped)return;await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(a=>{a.style.opacity=0}),document.querySelectorAll("*").forEach(a=>{a.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(a=>{a.textContent="play_arrow"})},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:a}=e;var n=a.tagName=="I"?a:a.querySelector("i");a.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,n.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,n.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(r=>{r.removeAttribute("playing")}),a.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(r=>{r.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(r=>{r.style.opacity=0}),n.innerText="pause",n.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=a.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));if(e.length===0)return;await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(a=>{a.removeAttribute("playing"),a.innerText="play_arrow"})},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:a}=e,n=a.parentElement.hasAttribute("playing");(n&&this.previewStopped||!n)&&(a.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[n("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_is_functional_template__$2=!1;function __vue_normalize__$2(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TheTrackPreview.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TheTrackPreview=__vue_normalize__$2({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:a}=e;if(this.$refs.modal.classList.add("animated","fadeOut"),!a.matches(".quality-button"))return;sendAddToQueue(this.url,a.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:a}=e;if(this.$refs.modal.classList.remove("animated",a),a==="fadeIn")return;this.open=!1}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(r){return e.tryToDownloadTrack(r)}}},[n("div",{staticClass:"smallmodal-content"},[n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"FLAC"}))+` `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"3"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"MP3 320kbps"}))+` @@ -2510,7 +2513,10 @@ a { `+e._s(e.$t("globals.download",{thing:"360 Reality Audio [MQ]"}))+` `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"13"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"360 Reality Audio [LQ]"}))+` - `)])])])},__vue_staticRenderFns__$3=[];const __vue_inject_styles__$3=function(e){!e||e("data-v-2d519c1f_0",{source:".smallmodal{position:fixed;z-index:1250;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4);animation-duration:.3s}.smallmodal-content{--modal-content-width:95%;background-color:transparent;margin:auto;width:var(--modal-content-width);position:relative;top:50%;transform:translateY(-50%)}@media only screen and (min-width:601px){.smallmodal-content{--modal-content-width:85%}}@media only screen and (min-width:993px){.smallmodal-content{--modal-content-width:70%}}.smallmodal-content button{width:100%;margin-bottom:8px}",map:void 0,media:void 0})},__vue_scope_id__$3=void 0,__vue_module_identifier__$3=void 0,__vue_is_functional_template__$3=!1;var TheQualityModal=normalizeComponent_1({render:__vue_render__$3,staticRenderFns:__vue_staticRenderFns__$3},__vue_inject_styles__$3,__vue_script__$2,__vue_scope_id__$3,__vue_is_functional_template__$3,__vue_module_identifier__$3,browser,void 0),toString$1=function(e){return Object.prototype.toString.call(e)};function isNative$1(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol$1=typeof Symbol!="undefined"&&isNative$1(Symbol)&&typeof Reflect!="undefined"&&isNative$1(Reflect.ownKeys),noopFn=function(e){return e},sharedPropertyDefinition$1={enumerable:!0,configurable:!0,get:noopFn,set:noopFn};function proxy$1(e,a,n){var i=n.get,r=n.set;sharedPropertyDefinition$1.get=i||noopFn,sharedPropertyDefinition$1.set=r||noopFn,Object.defineProperty(e,a,sharedPropertyDefinition$1)}function def$1(e,a,n,i){Object.defineProperty(e,a,{value:n,enumerable:!!i,writable:!0,configurable:!0})}function hasOwn$1(e,a){return Object.hasOwnProperty.call(e,a)}function assert(e,a){if(!e)throw new Error("[vue-composition-api] "+a)}function isArray(e){return Array.isArray(e)}function isObject$2(e){return e!==null&&typeof e=="object"}function isPlainObject$1(e){return toString$1(e)==="[object Object]"}function isFunction(e){return typeof e=="function"}function warn$1(e,a){Vue.util.warn(e,a)}function logError$1(e,a,n){if(typeof window!="undefined"&&typeof console!="undefined")console.error(e);else throw e}var vueDependency=void 0;try{var requiredVue=require("vue");requiredVue&&isVue(requiredVue)?vueDependency=requiredVue:requiredVue&&"default"in requiredVue&&isVue(requiredVue.default)&&(vueDependency=requiredVue.default)}catch(e){}var vueConstructor=null,currentInstance=null,PluginInstalledFlag="__composition_api_installed__";function isVue(e){return e&&typeof e=="function"&&e.name==="Vue"}function isVueRegistered(e){return hasOwn$1(e,PluginInstalledFlag)}function getVueConstructor(){return vueConstructor}function getRegisteredVueOrDefault(){var e=vueConstructor||vueDependency;return e}function setVueConstructor(e){vueConstructor=e,Object.defineProperty(e,PluginInstalledFlag,{configurable:!0,writable:!0,value:!0})}function setCurrentInstance(e){currentInstance=e}function getCurrentVue2Instance(){return currentInstance}function getCurrentInstance(){return currentInstance?toVue3ComponentInstance(currentInstance):null}var instanceMapCache=new WeakMap;function toVue3ComponentInstance(e){if(instanceMapCache.has(e))return instanceMapCache.get(e);var a={proxy:e,update:e.$forceUpdate,uid:e._uid,emit:e.$emit.bind(e),parent:null,root:null},n=["data","props","attrs","refs","vnode","slots"];return n.forEach(function(i){proxy$1(a,i,{get:function(){return e["$"+i]}})}),proxy$1(a,"isMounted",{get:function(){return e._isMounted}}),proxy$1(a,"isUnmounted",{get:function(){return e._isDestroyed}}),proxy$1(a,"isDeactivated",{get:function(){return e._inactive}}),proxy$1(a,"emitted",{get:function(){return e._events}}),instanceMapCache.set(e,a),e.$parent&&(a.parent=toVue3ComponentInstance(e.$parent)),e.$root&&(a.root=toVue3ComponentInstance(e.$root)),a}function currentVMInFn(e){var a=getCurrentInstance();return a==null?void 0:a.proxy}function defineComponentInstance(e,a){a===void 0&&(a={});var n=e.config.silent;e.config.silent=!0;var i=new e(a);return e.config.silent=n,i}function isComponentInstance(e){var a=getVueConstructor();return a&&e instanceof a}function createSlotProxy(e,a){return function(){for(var n=[],i=0;i=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,a){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var i=n.call(e),r,s=[],o;try{for(;(a===void 0||a-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(l){o={error:l}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return s}function __spread(){for(var e=[],a=0;a{a!==e&&(localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements())});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(a=>{a.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function a(){e.forEach(n=>{n.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",a)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`,script$3=defineComponent({setup(e,a){const n=reactive({activeTablink:"home",updateAvailable:!1,links}),{THEMES:i,currentTheme:r}=useTheme();return socket.on("updateAvailable",()=>{n.updateAvailable=!0}),a.root.$router.afterEach((s,o)=>{const l=n.links.find(c=>c.routerName===s.name);!l||(n.activeTablink=l.name)}),{...toRefs(n),THEMES:i,currentTheme:r,isSlim:computed(()=>a.root.$store.getters.getSlimSidebar),deemixIcon}}});const __vue_script__$3=script$3;var __vue_render__$4=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("aside",{staticClass:"top-0 left-0 flex flex-col h-screen bg-panels-bg text-foreground",class:{"slim-sidebar w-12":e.isSlim},style:{minWidth:e.isSlim?null:"14rem"},attrs:{id:"sidebar","aria-label":"sidebar",role:"navigation"}},[n("div",{staticClass:"deemix-icon-container",domProps:{innerHTML:e._s(e.deemixIcon)}}),e._v(" "),e._l(e.links,function(i){return n("router-link",{key:i.name,staticClass:"relative flex items-center h-16 no-underline group main_tablinks hover:bg-background-main text-foreground",class:{"bg-background-main":e.activeTablink===i.name},attrs:{"aria-label":i.ariaLabel,to:{name:i.routerName},tag:"a"},nativeOn:{click:function(r){e.activeTablink=i.name}}},[n("i",{staticClass:"p-2 text-3xl material-icons side_icon group-hover:text-primary",class:{"text-primary":e.activeTablink===i.name}},[e._v(` - `+e._s(i.icon)+` +***************************************************************************** */var __assign=function(){return __assign=Object.assign||function(a){for(var n,r=1,i=arguments.length;r=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,a){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],l;try{for(;(a===void 0||a-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(c){l={error:c}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(l)throw l.error}}return s}function __spread(){for(var e=[],a=0;a{if(a===e)return;localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements()});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(a=>{a.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function a(){e.forEach(n=>{n.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",a)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=`\r +\r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r +`,script$3=defineComponent({setup(e,a){const n=reactive({activeTablink:"home",updateAvailable:!1,links}),{THEMES:r,currentTheme:i}=useTheme();return socket.on("updateAvailable",()=>{n.updateAvailable=!0}),a.root.$router.afterEach((s,l)=>{const c=n.links.find(o=>o.routerName===s.name);if(!c)return;n.activeTablink=c.name}),{...toRefs(n),THEMES:r,currentTheme:i,isSlim:computed(()=>a.root.$store.getters.getSlimSidebar),deemixIcon}}});const __vue_script__$3=script$3;var __vue_render__$4=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("aside",{staticClass:"top-0 left-0 flex flex-col h-screen bg-panels-bg text-foreground",class:{"slim-sidebar w-12":e.isSlim},style:{minWidth:e.isSlim?null:"14rem"},attrs:{id:"sidebar","aria-label":"sidebar",role:"navigation"}},[n("div",{staticClass:"deemix-icon-container",domProps:{innerHTML:e._s(e.deemixIcon)}}),e._v(" "),e._l(e.links,function(r){return n("router-link",{key:r.name,staticClass:"relative flex items-center h-16 no-underline group main_tablinks hover:bg-background-main text-foreground",class:{"bg-background-main":e.activeTablink===r.name},attrs:{"aria-label":r.ariaLabel,to:{name:r.routerName},tag:"a"},nativeOn:{click:function(i){e.activeTablink=r.name}}},[n("i",{staticClass:"p-2 text-3xl material-icons side_icon group-hover:text-primary",class:{"text-primary":e.activeTablink===r.name}},[e._v(` + `+e._s(r.icon)+` `)]),e._v(" "),n("span",{staticClass:"ml-5 overflow-hidden capitalize whitespace-no-wrap main-tablinks-text",class:{hidden:e.isSlim},staticStyle:{"letter-spacing":"1.3px"}},[e._v(` - `+e._s(e.$t(i.label))+` - `)]),e._v(" "),i.name==="about"&&e.updateAvailable?n("span",{staticClass:"absolute w-3 h-3 bg-red-600 rounded-full",attrs:{id:"update-notification"}}):e._e()])}),e._v(" "),n("span",{staticClass:"flex h-12 mt-5",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_selector","aria-label":"theme selector",role:"link"}},[n("i",{staticClass:"p-2 text-3xl transition-all duration-500 cursor-default material-icons side_icon side_icon--theme"},[e._v(` + `+e._s(e.$t(r.label))+` + `)]),e._v(" "),r.name==="about"&&e.updateAvailable?n("span",{staticClass:"absolute w-3 h-3 bg-red-600 rounded-full",attrs:{id:"update-notification"}}):e._e()])}),e._v(" "),n("span",{staticClass:"flex h-12 mt-5",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_selector","aria-label":"theme selector",role:"link"}},[n("i",{staticClass:"p-2 text-3xl transition-all duration-500 cursor-default material-icons side_icon side_icon--theme"},[e._v(` brush - `)]),e._v(" "),n("div",{staticClass:"relative flex items-center w-full justify-evenly",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_togglers"}},e._l(e.THEMES,function(i){return n("div",{key:i,staticClass:"w-6 h-6 border rounded-full cursor-pointer theme_toggler border-grayscale-500 gap",class:[{"theme_toggler--active":e.currentTheme===i},"theme_toggler--"+i],on:{click:function(r){e.currentTheme=i}}})}),0)])],2)},__vue_staticRenderFns__$4=[];const __vue_inject_styles__$4=function(e){!e||e("data-v-0270c8a8_0",{source:".deemix-icon-container[data-v-0270c8a8]{display:grid;place-content:center}.slim-sidebar .deemix-icon-container[data-v-0270c8a8]{margin:.5rem 0}.slim-sidebar .deemix-icon-container[data-v-0270c8a8] svg{height:30px}.deemix-icon-container[data-v-0270c8a8] svg{height:75px}#update-notification[data-v-0270c8a8]{top:12px;left:30px}.theme_toggler[data-v-0270c8a8]{transition:border .2s ease-in-out}.theme_toggler--active[data-v-0270c8a8]{border-width:3px}.theme_toggler--light[data-v-0270c8a8]{background-color:#fff}.theme_toggler--dark[data-v-0270c8a8]{background-color:#141414}.theme_toggler--purple[data-v-0270c8a8]{background:#460eaf}",map:void 0,media:void 0})},__vue_scope_id__$4="data-v-0270c8a8",__vue_module_identifier__$4=void 0,__vue_is_functional_template__$4=!1;var TheSidebar=normalizeComponent_1({render:__vue_render__$4,staticRenderFns:__vue_staticRenderFns__$4},__vue_inject_styles__$4,__vue_script__$3,__vue_scope_id__$4,__vue_is_functional_template__$4,__vue_module_identifier__$4,browser,void 0),script$4=defineComponent({setup(){return{lastTextSearch:ref$2("")}},created(){const e=n=>{n.keyCode===70&&n.ctrlKey&&(n.preventDefault(),this.$refs.searchbar.focus())},a=n=>{!(n.key=="Backspace"&&n.ctrlKey&&n.shiftKey)||(this.$refs.searchbar.value="",this.$refs.searchbar.focus())};document.addEventListener("keydown",e),document.addEventListener("keyup",a),this.$on("hook:destroyed",()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",a)})},methods:{async performSearch(e){if(!(e.keyCode===13))return;let n=this.$refs.searchbar.value;if(n==="")return;let r=isValidURL(n),s=e.ctrlKey,o=this.$route.name==="Link Analyzer",l=this.$route.name==="Search",c=n===this.lastTextSearch;if(r){if(s){this.$root.$emit("ContextMenu:searchbar",n);return}if(o){socket.emit("analyzeLink",n);return}sendAddToQueue(n)}else{if(l&&c)return;this.lastTextSearch=n,await this.$router.push({name:"Search",query:{term:n}})}}}});const __vue_script__$4=script$4;var __vue_render__$5=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("header",{attrs:{id:"search","aria-label":"searchbar"}},[e._m(0),e._v(" "),n("input",{ref:"searchbar",staticClass:"w-full",attrs:{id:"searchbar",autocomplete:"off",type:"search",name:"searchbar",value:"",placeholder:e.$t("searchbar"),autofocus:""},on:{keyup:function(i){return e.performSearch(i)}}})])},__vue_staticRenderFns__$5=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"search__icon"},[n("i",{staticClass:"material-icons"},[e._v("search")])])}];const __vue_inject_styles__$5=function(e){!e||e("data-v-7bfd9372_0",{source:`input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:28px;height:28px;background-color:var(--foreground);-webkit-mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search{background-color:var(--secondary-background);padding:0 1em;display:flex;align-items:center;border:1px solid transparent;transition:border .2s ease-in-out;border-radius:15px;margin:10px 10px 20px 10px}#search .search__icon{width:2rem;height:2rem}#search .search__icon i{font-size:2rem;color:var(--foreground)}#search .search__icon i::selection{background:0 0}#search #searchbar{height:45px;padding-left:.5em;border:0;border-radius:0;background-color:var(--secondary-background);color:var(--foreground);font-size:1.2rem;font-family:'Open Sans';font-weight:300;margin-bottom:0}#search #searchbar:focus{outline:0}#search #searchbar::-webkit-search-cancel-button{appearance:none;width:28px;height:28px;background-color:var(--foreground);mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search #searchbar:-webkit-autofill,#search #searchbar:-webkit-autofill:active,#search #searchbar:-webkit-autofill:focus,#search #searchbar:-webkit-autofill:hover{box-shadow:0 0 0 45px var(--secondary-background) inset!important}#search:focus-within{border:1px solid var(--foreground)}`,map:void 0,media:void 0})},__vue_scope_id__$5=void 0,__vue_module_identifier__$5=void 0,__vue_is_functional_template__$5=!1;var TheSearchBar=normalizeComponent_1({render:__vue_render__$5,staticRenderFns:__vue_staticRenderFns__$5},__vue_inject_styles__$5,__vue_script__$4,__vue_scope_id__$5,__vue_is_functional_template__$5,__vue_module_identifier__$5,browser,void 0),__vue_render__$6=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("button",{staticClass:"btn-primary border-transparent border-solid flex items-center justify-center p-1 m-0 w-16 h-16 rounded-full z-10",on:{click:function(i){return e.$router.back()}}},[n("i",{staticClass:"material-icons mirrored text-4xl text-white"},[e._v("forward")])])},__vue_staticRenderFns__$6=[];const __vue_inject_styles__$6=function(e){!e||e("data-v-5753fbea_0",{source:"button[data-v-5753fbea]{transition:background .2s ease-in-out}",map:void 0,media:void 0})},__vue_scope_id__$6="data-v-5753fbea",__vue_module_identifier__$6=void 0,__vue_is_functional_template__$6=!1;var BackButton=normalizeComponent_1({render:__vue_render__$6,staticRenderFns:__vue_staticRenderFns__$6},__vue_inject_styles__$6,{},__vue_scope_id__$6,__vue_is_functional_template__$6,__vue_module_identifier__$6,browser,void 0),script$5={components:{BackButton},data:()=>({performScrolledSearch:!1}),computed:{showBackButton(){return["Tracklist","Artist","Album","Playlist","Spotify Playlist"].indexOf(this.$route.name)!==-1}},mounted(){this.$router.beforeEach((e,a,n)=>{this.$refs.content.scrollTo(0,0),n()})},methods:{handleContentScroll:debounce(async function(){this.$refs.content.scrollTop+this.$refs.content.clientHeight=1},allFailed(){let e=!1;return this.queueItem.status==="download finished"&&(e=this.queueItem.failed===this.queueItem.size),e},finishedWithFails(){return this.queueItem.status==="download finished"&&this.hasFails},isDeterminateStatus(){return possibleStates.indexOf(this.queueItem.status)!==-1},barClass(){return{converting:this.queueItem.status==="converting",indeterminate:!this.isDeterminateStatus,determinate:this.isDeterminateStatus}},barStyle(){let e=0,a="var(--primary-color)";return this.hasFails?a="hsl(33, 100%, 47%)":a="hsl(150, 76%, 34%)",this.allFailed&&(a="hsl(360, 100%, 35%)"),this.queueItem.status==="download finished"&&(e=100),this.queueItem.status==="downloading"&&(e=this.queueItem.progress),this.queueItem.status==="converting"&&(e=100-this.queueItem.conversion,a="hsl(46, 100%, 50%)"),{width:`${e}%`,backgroundColor:a}},resultIconText(){let e="delete_forever";return this.queueItem.status==="download finished"&&(this.hasFails?this.queueItem.failed>=this.queueItem.size?e="error":e="warning":e="done"),e}},methods:{onResultIconClick(){this.isDeterminateStatus?(this.finishedWithFails&&this.$emit("show-errors",this.queueItem),this.queueItem.status==="downloading"&&(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))):(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))}}};const __vue_script__$6=script$6;var __vue_render__$8=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"download-object"},[n("div",{staticClass:"download-info"},[n("img",{staticClass:"rounded coverart",attrs:{width:"75px",src:e.queueItem.cover,alt:"Cover "+e.queueItem.title}}),e._v(" "),n("div",{staticClass:"download-info-data"},[n("span",{staticClass:"download-line"},[e._v(e._s(e.queueItem.title))]),e._v(" "),n("span",{staticClass:"download-slim-separator"},[e._v(" - ")]),e._v(" "),n("span",[e._v(e._s(e.queueItem.artist))])]),e._v(" "),n("div",{staticClass:"download-info-status",staticStyle:{"text-align":"center"}},[n("span",{staticClass:"download-line"},[e._v(" "+e._s(e.queueItem.downloaded+e.queueItem.failed)+"/"+e._s(e.queueItem.size)+" ")]),e._v(" "),e.hasFails?n("span",{staticClass:"flex items-center",class:{clickable:e.finishedWithFails},staticStyle:{"justify-content":"center"},on:{click:function(i){e.finishedWithFails&&e.$emit("show-errors",e.queueItem)}}},[e._v(` + `)]),e._v(" "),n("div",{staticClass:"relative flex items-center w-full justify-evenly",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_togglers"}},e._l(e.THEMES,function(r){return n("div",{key:r,staticClass:"w-6 h-6 border rounded-full cursor-pointer theme_toggler border-grayscale-500 gap",class:[{"theme_toggler--active":e.currentTheme===r},"theme_toggler--"+r],on:{click:function(i){e.currentTheme=r}}})}),0)])],2)},__vue_staticRenderFns__$4=[];const __vue_inject_styles__$4=function(e){if(!e)return;e("data-v-0270c8a8_0",{source:".deemix-icon-container[data-v-0270c8a8]{display:grid;place-content:center}.slim-sidebar .deemix-icon-container[data-v-0270c8a8]{margin:.5rem 0}.slim-sidebar .deemix-icon-container[data-v-0270c8a8] svg{height:30px}.deemix-icon-container[data-v-0270c8a8] svg{height:75px}#update-notification[data-v-0270c8a8]{top:12px;left:30px}.theme_toggler[data-v-0270c8a8]{transition:border .2s ease-in-out}.theme_toggler--active[data-v-0270c8a8]{border-width:3px}.theme_toggler--light[data-v-0270c8a8]{background-color:#fff}.theme_toggler--dark[data-v-0270c8a8]{background-color:#141414}.theme_toggler--purple[data-v-0270c8a8]{background:#460eaf}",map:void 0,media:void 0})},__vue_scope_id__$4="data-v-0270c8a8",__vue_module_identifier__$3=void 0,__vue_is_functional_template__$4=!1;function __vue_normalize__$4(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheSidebar.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$3(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$3.styles||(__vue_create_injector__$3.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var TheSidebar=__vue_normalize__$4({render:__vue_render__$4,staticRenderFns:__vue_staticRenderFns__$4},__vue_inject_styles__$4,__vue_script__$3,__vue_scope_id__$4,__vue_is_functional_template__$4,__vue_module_identifier__$3,__vue_create_injector__$3),script$4=defineComponent({setup(){return{lastTextSearch:ref$2("")}},created(){const e=n=>{n.keyCode===70&&n.ctrlKey&&(n.preventDefault(),this.$refs.searchbar.focus())},a=n=>{if(!(n.key=="Backspace"&&n.ctrlKey&&n.shiftKey))return;this.$refs.searchbar.value="",this.$refs.searchbar.focus()};document.addEventListener("keydown",e),document.addEventListener("keyup",a),this.$on("hook:destroyed",()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",a)})},methods:{async performSearch(e){let a=e.keyCode===13;if(!a)return;let n=this.$refs.searchbar.value,r=n==="";if(r)return;let i=isValidURL(n),s=e.ctrlKey,l=this.$route.name==="Link Analyzer",c=this.$route.name==="Search",o=n===this.lastTextSearch;if(i){if(s){this.$root.$emit("ContextMenu:searchbar",n);return}if(l){socket.emit("analyzeLink",n);return}sendAddToQueue(n)}else{if(c&&o)return;this.lastTextSearch=n,await this.$router.push({name:"Search",query:{term:n}})}}}});const __vue_script__$4=script$4;var __vue_render__$5=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("header",{attrs:{id:"search","aria-label":"searchbar"}},[e._m(0),e._v(" "),n("input",{ref:"searchbar",staticClass:"w-full",attrs:{id:"searchbar",autocomplete:"off",type:"search",name:"searchbar",value:"",placeholder:e.$t("searchbar"),autofocus:""},on:{keyup:function(r){return e.performSearch(r)}}})])},__vue_staticRenderFns__$5=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"search__icon"},[n("i",{staticClass:"material-icons"},[e._v("search")])])}];const __vue_inject_styles__$5=function(e){if(!e)return;e("data-v-7bfd9372_0",{source:`input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:28px;height:28px;background-color:var(--foreground);-webkit-mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search{background-color:var(--secondary-background);padding:0 1em;display:flex;align-items:center;border:1px solid transparent;transition:border .2s ease-in-out;border-radius:15px;margin:10px 10px 20px 10px}#search .search__icon{width:2rem;height:2rem}#search .search__icon i{font-size:2rem;color:var(--foreground)}#search .search__icon i::selection{background:0 0}#search #searchbar{height:45px;padding-left:.5em;border:0;border-radius:0;background-color:var(--secondary-background);color:var(--foreground);font-size:1.2rem;font-family:'Open Sans';font-weight:300;margin-bottom:0}#search #searchbar:focus{outline:0}#search #searchbar::-webkit-search-cancel-button{appearance:none;width:28px;height:28px;background-color:var(--foreground);mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search #searchbar:-webkit-autofill,#search #searchbar:-webkit-autofill:active,#search #searchbar:-webkit-autofill:focus,#search #searchbar:-webkit-autofill:hover{box-shadow:0 0 0 45px var(--secondary-background) inset!important}#search:focus-within{border:1px solid var(--foreground)}`,map:void 0,media:void 0})},__vue_scope_id__$5=void 0,__vue_module_identifier__$4=void 0,__vue_is_functional_template__$5=!1;function __vue_normalize__$5(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheSearchBar.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$4(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$4.styles||(__vue_create_injector__$4.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var TheSearchBar=__vue_normalize__$5({render:__vue_render__$5,staticRenderFns:__vue_staticRenderFns__$5},__vue_inject_styles__$5,__vue_script__$4,__vue_scope_id__$5,__vue_is_functional_template__$5,__vue_module_identifier__$4,__vue_create_injector__$4),__vue_render__$6=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("button",{staticClass:"btn-primary border-transparent border-solid flex items-center justify-center p-1 m-0 w-16 h-16 rounded-full z-10",on:{click:function(r){return e.$router.back()}}},[n("i",{staticClass:"material-icons mirrored text-4xl text-white"},[e._v("forward")])])},__vue_staticRenderFns__$6=[];const __vue_inject_styles__$6=function(e){if(!e)return;e("data-v-74f206d4_0",{source:"button[data-v-74f206d4]{transition:background .2s ease-in-out}",map:void 0,media:void 0})},__vue_scope_id__$6="data-v-74f206d4",__vue_module_identifier__$5=void 0,__vue_is_functional_template__$6=!1;function __vue_normalize__$6(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BackButton.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$5(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$5.styles||(__vue_create_injector__$5.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var BackButton=__vue_normalize__$6({render:__vue_render__$6,staticRenderFns:__vue_staticRenderFns__$6},__vue_inject_styles__$6,{},__vue_scope_id__$6,__vue_is_functional_template__$6,__vue_module_identifier__$5,__vue_create_injector__$5),script$5={components:{BackButton},data:()=>({performScrolledSearch:!1}),computed:{showBackButton(){return["Tracklist","Artist","Album","Playlist","Spotify Playlist"].indexOf(this.$route.name)!==-1}},mounted(){this.$router.beforeEach((e,a,n)=>{this.$refs.content.scrollTo(0,0),n()})},methods:{handleContentScroll:debounce(async function(){if(this.$refs.content.scrollTop+this.$refs.content.clientHeight=1},allFailed(){let e=!1;return this.queueItem.status==="download finished"&&(e=this.queueItem.failed===this.queueItem.size),e},finishedWithFails(){return this.queueItem.status==="download finished"&&this.hasFails},isDeterminateStatus(){return possibleStates.indexOf(this.queueItem.status)!==-1},barClass(){return{converting:this.queueItem.status==="converting",indeterminate:!this.isDeterminateStatus,determinate:this.isDeterminateStatus}},barStyle(){let e=0,a="var(--primary-color)";return this.hasFails?a="hsl(33, 100%, 47%)":a="hsl(150, 76%, 34%)",this.allFailed&&(a="hsl(360, 100%, 35%)"),this.queueItem.status==="download finished"&&(e=100),this.queueItem.status==="downloading"&&(e=this.queueItem.progress),this.queueItem.status==="converting"&&(e=100-this.queueItem.conversion,a="hsl(46, 100%, 50%)"),{width:`${e}%`,backgroundColor:a}},resultIconText(){let e="delete_forever";return this.queueItem.status==="download finished"&&(this.hasFails?this.queueItem.failed>=this.queueItem.size?e="error":e="warning":e="done"),e}},methods:{onResultIconClick(){this.isDeterminateStatus?(this.finishedWithFails&&this.$emit("show-errors",this.queueItem),this.queueItem.status==="downloading"&&(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))):(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))}}};const __vue_script__$6=script$6;var __vue_render__$8=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"download-object"},[n("div",{staticClass:"download-info"},[n("img",{staticClass:"rounded coverart",attrs:{width:"75px",src:e.queueItem.cover,alt:"Cover "+e.queueItem.title}}),e._v(" "),n("div",{staticClass:"download-info-data"},[n("span",{staticClass:"download-line"},[e._v(e._s(e.queueItem.title))]),e._v(" "),n("span",{staticClass:"download-slim-separator"},[e._v(" - ")]),e._v(" "),n("span",[e._v(e._s(e.queueItem.artist))])]),e._v(" "),n("div",{staticClass:"download-info-status",staticStyle:{"text-align":"center"}},[n("span",{staticClass:"download-line"},[e._v(" "+e._s(e.queueItem.downloaded+e.queueItem.failed)+"/"+e._s(e.queueItem.size)+" ")]),e._v(" "),e.hasFails?n("span",{staticClass:"flex items-center",class:{clickable:e.finishedWithFails},staticStyle:{"justify-content":"center"},on:{click:function(r){e.finishedWithFails&&e.$emit("show-errors",e.queueItem)}}},[e._v(` `+e._s(e.queueItem.failed)+` `),n("i",{staticClass:"material-icons"},[e._v("error_outline")])]):e._e()])]),e._v(" "),n("div",{staticClass:"download-bar"},[n("div",{staticClass:"progress"},[n("div",{class:e.barClass,style:e.barStyle})]),e._v(" "),e.isLoading?n("div",{staticClass:"circle-loader"}):n("i",{staticClass:"material-icons queue_icon",class:{clickable:e.finishedWithFails||e.resultIconText==="delete_forever"},on:{click:e.onResultIconClick}},[e._v(` `+e._s(e.resultIconText)+` - `)])])])},__vue_staticRenderFns__$8=[];const __vue_inject_styles__$8=function(e){!e||e("data-v-571dc33c_0",{source:".download-object{padding-bottom:8px}.download-object .download-info{display:flex;align-items:center}.download-object .download-info img{height:75px;flex-shrink:0;flex:0 0 75px}.download-object .download-info .download-line{display:block}.download-object .download-info .download-slim-separator{display:none}.download-object .download-info-data{flex:1 50%;margin-left:8px;overflow:hidden}.download-object .download-info-status{flex:1 15%;margin-left:8px;width:80px}.download-object>.download-bar{display:flex;align-items:center;height:24px}.download-object>.download-bar>.queue_icon{cursor:default;margin-left:8px}.download-object>.download-bar>.progress{margin:0}#download_list:not(.slim) .download-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#download_list.slim>.download-object .download-info{display:block}#download_list.slim>.download-object .download-info img{display:none}#download_list.slim>.download-object .download-info .download-line{display:inline-block}#download_list.slim>.download-object .download-info .download-slim-separator{display:inline-block}#download_list.slim>.download-object .download-info-data{width:calc(80% - 16px);display:inline-block;padding-left:0}#download_list.slim>.download-object .download-info-status{width:20%;display:inline-block;float:right}.progress{position:relative;height:4px;display:block;width:100%;background-color:var(--secondary-background);border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:var(--primary-color);transition:width .3s linear}.progress .converting{background-color:var(--secondary-color);transition:none!important}.progress .indeterminate{background-color:var(--primary-color)}.progress .indeterminate::before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate::after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}",map:void 0,media:void 0})},__vue_scope_id__$8=void 0,__vue_module_identifier__$8=void 0,__vue_is_functional_template__$8=!1;var QueueItem=normalizeComponent_1({render:__vue_render__$8,staticRenderFns:__vue_staticRenderFns__$8},__vue_inject_styles__$8,__vue_script__$6,__vue_scope_id__$8,__vue_is_functional_template__$8,__vue_module_identifier__$8,browser,void 0),commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function createCommonjsModule(e,a,n){return n={path:a,exports:{},require:function(i,r){return commonjsRequire(i,r??n.path)}},e(n,n.exports),n.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var toastify=createCommonjsModule(function(e){/*! + `)])])])},__vue_staticRenderFns__$8=[];const __vue_inject_styles__$8=function(e){if(!e)return;e("data-v-571dc33c_0",{source:".download-object{padding-bottom:8px}.download-object .download-info{display:flex;align-items:center}.download-object .download-info img{height:75px;flex-shrink:0;flex:0 0 75px}.download-object .download-info .download-line{display:block}.download-object .download-info .download-slim-separator{display:none}.download-object .download-info-data{flex:1 50%;margin-left:8px;overflow:hidden}.download-object .download-info-status{flex:1 15%;margin-left:8px;width:80px}.download-object>.download-bar{display:flex;align-items:center;height:24px}.download-object>.download-bar>.queue_icon{cursor:default;margin-left:8px}.download-object>.download-bar>.progress{margin:0}#download_list:not(.slim) .download-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#download_list.slim>.download-object .download-info{display:block}#download_list.slim>.download-object .download-info img{display:none}#download_list.slim>.download-object .download-info .download-line{display:inline-block}#download_list.slim>.download-object .download-info .download-slim-separator{display:inline-block}#download_list.slim>.download-object .download-info-data{width:calc(80% - 16px);display:inline-block;padding-left:0}#download_list.slim>.download-object .download-info-status{width:20%;display:inline-block;float:right}.progress{position:relative;height:4px;display:block;width:100%;background-color:var(--secondary-background);border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:var(--primary-color);transition:width .3s linear}.progress .converting{background-color:var(--secondary-color);transition:none!important}.progress .indeterminate{background-color:var(--primary-color)}.progress .indeterminate::before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate::after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}",map:void 0,media:void 0})},__vue_scope_id__$8=void 0,__vue_module_identifier__$7=void 0,__vue_is_functional_template__$8=!1;function __vue_normalize__$8(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="QueueItem.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$7(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$7.styles||(__vue_create_injector__$7.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var QueueItem=__vue_normalize__$8({render:__vue_render__$8,staticRenderFns:__vue_staticRenderFns__$8},__vue_inject_styles__$8,__vue_script__$6,__vue_scope_id__$8,__vue_is_functional_template__$8,__vue_module_identifier__$7,__vue_create_injector__$7),commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function createCommonjsModule(e,a,n){return n={path:a,exports:{},require:function(r,i){return commonjsRequire(r,i??n.path)}},e(n,n.exports),n.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var toastify=createCommonjsModule(function(e){/*! * Toastify js 1.9.3 * https://github.com/apvarun/toastify-js * @license MIT licensed * * Copyright (C) 2018 Varun A P - */(function(a,n){e.exports?e.exports=n():a.Toastify=n()})(commonjsGlobal,function(a){var n=function(o){return new n.lib.init(o)},i="1.9.3";n.lib=n.prototype={toastify:i,constructor:n,init:function(o){return o||(o={}),this.options={},this.toastElement=null,this.options.text=o.text||"Hi there!",this.options.node=o.node,this.options.duration=o.duration===0?0:o.duration||3e3,this.options.selector=o.selector,this.options.callback=o.callback||function(){},this.options.destination=o.destination,this.options.newWindow=o.newWindow||!1,this.options.close=o.close||!1,this.options.gravity=o.gravity==="bottom"?"toastify-bottom":"toastify-top",this.options.positionLeft=o.positionLeft||!1,this.options.position=o.position||"",this.options.backgroundColor=o.backgroundColor,this.options.avatar=o.avatar||"",this.options.className=o.className||"",this.options.stopOnFocus=o.stopOnFocus===void 0?!0:o.stopOnFocus,this.options.onClick=o.onClick,this.options.offset=o.offset||{x:0,y:0},this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var o=document.createElement("div");if(o.className="toastify on "+this.options.className,this.options.position?o.className+=" toastify-"+this.options.position:this.options.positionLeft===!0?(o.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):o.className+=" toastify-right",o.className+=" "+this.options.gravity,this.options.backgroundColor&&(o.style.background=this.options.backgroundColor),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)o.appendChild(this.options.node);else if(o.innerHTML=this.options.text,this.options.avatar!==""){var l=document.createElement("img");l.src=this.options.avatar,l.className="toastify-avatar",this.options.position=="left"||this.options.positionLeft===!0?o.appendChild(l):o.insertAdjacentElement("afterbegin",l)}if(this.options.close===!0){var c=document.createElement("span");c.innerHTML="✖",c.className="toast-close",c.addEventListener("click",function(y){y.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var u=window.innerWidth>0?window.innerWidth:screen.width;(this.options.position=="left"||this.options.positionLeft===!0)&&u>360?o.insertAdjacentElement("afterbegin",c):o.appendChild(c)}if(this.options.stopOnFocus&&this.options.duration>0){var d=this;o.addEventListener("mouseover",function(y){window.clearTimeout(o.timeOutValue)}),o.addEventListener("mouseleave",function(){o.timeOutValue=window.setTimeout(function(){d.removeElement(o)},d.options.duration)})}if(typeof this.options.destination!="undefined"&&o.addEventListener("click",function(y){y.stopPropagation(),this.options.newWindow===!0?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),typeof this.options.onClick=="function"&&typeof this.options.destination=="undefined"&&o.addEventListener("click",function(y){y.stopPropagation(),this.options.onClick()}.bind(this)),typeof this.options.offset=="object"){var f=r("x",this.options),h=r("y",this.options),m=this.options.position=="left"?f:"-"+f,v=this.options.gravity=="toastify-top"?h:"-"+h;o.style.transform="translate("+m+","+v+")"}return o},showToast:function(){this.toastElement=this.buildToast();var o;if(typeof this.options.selector=="undefined"?o=document.body:o=document.getElementById(this.options.selector),!o)throw"Root element is not defined";return o.insertBefore(this.toastElement,o.firstChild),n.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(o){o.className=o.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),o.parentNode&&o.parentNode.removeChild(o),this.options.callback.call(o),n.reposition()}.bind(this),400)}},n.reposition=function(){for(var o={top:15,bottom:15},l={top:15,bottom:15},c={top:15,bottom:15},u=document.getElementsByClassName("toastify"),d,f=0;f0?window.innerWidth:screen.width;v<=360?(u[f].style[d]=c[d]+"px",c[d]+=h+m):s(u[f],"toastify-left")===!0?(u[f].style[d]=o[d]+"px",o[d]+=h+m):(u[f].style[d]=l[d]+"px",l[d]+=h+m)}return this};function r(o,l){return l.offset[o]?isNaN(l.offset[o])?l.offset[o]:l.offset[o]+"px":"0px"}function s(o,l){return!o||typeof l!="string"?!1:!!(o.className&&o.className.trim().split(/\s+/gi).indexOf(l)>-1)}return n.lib.init.prototype=n.lib,n})}),css_248z$9=`/*! + */(function(a,n){e.exports?e.exports=n():a.Toastify=n()})(commonjsGlobal,function(a){var n=function(l){return new n.lib.init(l)},r="1.9.3";n.lib=n.prototype={toastify:r,constructor:n,init:function(l){return l||(l={}),this.options={},this.toastElement=null,this.options.text=l.text||"Hi there!",this.options.node=l.node,this.options.duration=l.duration===0?0:l.duration||3e3,this.options.selector=l.selector,this.options.callback=l.callback||function(){},this.options.destination=l.destination,this.options.newWindow=l.newWindow||!1,this.options.close=l.close||!1,this.options.gravity=l.gravity==="bottom"?"toastify-bottom":"toastify-top",this.options.positionLeft=l.positionLeft||!1,this.options.position=l.position||"",this.options.backgroundColor=l.backgroundColor,this.options.avatar=l.avatar||"",this.options.className=l.className||"",this.options.stopOnFocus=l.stopOnFocus===void 0?!0:l.stopOnFocus,this.options.onClick=l.onClick,this.options.offset=l.offset||{x:0,y:0},this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var l=document.createElement("div");if(l.className="toastify on "+this.options.className,this.options.position?l.className+=" toastify-"+this.options.position:this.options.positionLeft===!0?(l.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):l.className+=" toastify-right",l.className+=" "+this.options.gravity,this.options.backgroundColor&&(l.style.background=this.options.backgroundColor),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)l.appendChild(this.options.node);else if(l.innerHTML=this.options.text,this.options.avatar!==""){var c=document.createElement("img");c.src=this.options.avatar,c.className="toastify-avatar",this.options.position=="left"||this.options.positionLeft===!0?l.appendChild(c):l.insertAdjacentElement("afterbegin",c)}if(this.options.close===!0){var o=document.createElement("span");o.innerHTML="✖",o.className="toast-close",o.addEventListener("click",function(y){y.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var d=window.innerWidth>0?window.innerWidth:screen.width;(this.options.position=="left"||this.options.positionLeft===!0)&&d>360?l.insertAdjacentElement("afterbegin",o):l.appendChild(o)}if(this.options.stopOnFocus&&this.options.duration>0){var u=this;l.addEventListener("mouseover",function(y){window.clearTimeout(l.timeOutValue)}),l.addEventListener("mouseleave",function(){l.timeOutValue=window.setTimeout(function(){u.removeElement(l)},u.options.duration)})}if(typeof this.options.destination!="undefined"&&l.addEventListener("click",function(y){y.stopPropagation(),this.options.newWindow===!0?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),typeof this.options.onClick=="function"&&typeof this.options.destination=="undefined"&&l.addEventListener("click",function(y){y.stopPropagation(),this.options.onClick()}.bind(this)),typeof this.options.offset=="object"){var f=i("x",this.options),h=i("y",this.options),m=this.options.position=="left"?f:"-"+f,v=this.options.gravity=="toastify-top"?h:"-"+h;l.style.transform="translate("+m+","+v+")"}return l},showToast:function(){this.toastElement=this.buildToast();var l;if(typeof this.options.selector=="undefined"?l=document.body:l=document.getElementById(this.options.selector),!l)throw"Root element is not defined";return l.insertBefore(this.toastElement,l.firstChild),n.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(l){l.className=l.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),l.parentNode&&l.parentNode.removeChild(l),this.options.callback.call(l),n.reposition()}.bind(this),400)}},n.reposition=function(){for(var l={top:15,bottom:15},c={top:15,bottom:15},o={top:15,bottom:15},d=document.getElementsByClassName("toastify"),u,f=0;f0?window.innerWidth:screen.width;v<=360?(d[f].style[u]=o[u]+"px",o[u]+=h+m):s(d[f],"toastify-left")===!0?(d[f].style[u]=l[u]+"px",l[u]+=h+m):(d[f].style[u]=c[u]+"px",c[u]+=h+m)}return this};function i(l,c){return c.offset[l]?isNaN(c.offset[l])?c.offset[l]:c.offset[l]+"px":"0px"}function s(l,c){return!l||typeof c!="string"?!1:!!(l.className&&l.className.trim().split(/\s+/gi).indexOf(c)>-1)}return n.lib.init.prototype=n.lib,n})}),css_248z$9=`/*! * Toastify js 1.9.3 * https://github.com/apvarun/toastify-js * @license MIT licensed @@ -2886,85 +2907,94 @@ PERFORMANCE OF THIS SOFTWARE. .toastify .circle-loader { border-bottom-color: var(--toast-secondary); } -`;styleInject(css_248z$a);const sharedOptions={gravity:"bottom",position:"left"};let toastsWithId={};const toast=function(e,a=null,n=!0,i=null){if(toastsWithId[i]){let r=toastsWithId[i],s=document.querySelectorAll(`div.toastify[toast_id=${i}]`);e&&s.forEach(o=>{o.querySelectorAll(".toast-message").forEach(c=>{c.innerHTML=e})}),a&&(a=="loading"?a='
':a=`${a}`,s.forEach(o=>{o.querySelectorAll(".toast-icon").forEach(c=>{c.innerHTML=a})})),n!==null&&n&&(s.forEach(o=>{o.classList.add("dismissable")}),setTimeout(()=>{r.hideToast(),delete toastsWithId[i]},3e3))}else{a==null?a="":a=="loading"?a='
':a=`${a}`;let r=toastify({...sharedOptions,text:`${a}${e}`,duration:n?3e3:0,className:n?"dismissable":"",onClick:function(){let s=!0;if(i){let o=document.querySelector(`div.toastify[toast_id=${i}]`).classList;o&&(s=Array.prototype.slice.call(o).indexOf("dismissable")!=-1)}r&&s&&(r.hideToast(),i&&delete toastsWithId[i])},offset:{x:localStorage.getItem("slimSidebar")==="true"?"3rem":"14rem"}}).showToast();i&&(toastsWithId[i]=r,r.toastElement.setAttribute("toast_id",i))}};socket.on("toast",e=>{const{msg:a,icon:n,dismiss:i,id:r}=e;toast(a,n||null,i!==void 0?i:!0,r||null)});const tabMinWidth=250,tabMaxWidth=500;var script$7={components:{QueueItem},data(){return{cachedTabWidth:parseInt(localStorage.getItem("downloadTabWidth"))||300,queue:[],queueList:{},queueComplete:[],isExpanded:localStorage.getItem("downloadTabOpen")==="true"}},computed:{...mapGetters({clientMode:"getClientMode",isSlim:"getSlimDownloads"})},created(){const e=a=>{!(a.ctrlKey&&a.key==="b")||this.toggleDownloadTab()};document.addEventListener("keyup",e),this.$on("hook:destroyed",()=>{document.removeEventListener("keyup",e)})},mounted(){socket.on("startDownload",this.startDownload),socket.on("startConversion",this.startConversion),socket.on("init_downloadQueue",this.initQueue),socket.on("addedToQueue",this.addToQueue),socket.on("updateQueue",this.updateQueue),socket.on("removedFromQueue",this.removeFromQueue),socket.on("finishDownload",this.finishDownload),socket.on("removedAllDownloads",this.removeAllDownloads),socket.on("removedFinishedDownloads",this.removedFinishedDownloads),localStorage.getItem("slimDownloads")==="true"&&this.$refs.list.classList.add("slim"),this.isExpanded&&this.setTabWidth(this.cachedTabWidth),document.addEventListener("mouseup",()=>{document.removeEventListener("mousemove",this.handleDrag)}),window.addEventListener("beforeunload",()=>{localStorage.setItem("downloadTabWidth",this.cachedTabWidth)})},methods:{...mapActions(["setErrors"]),onRemoveItem(e){socket.emit("removeFromQueue",e)},setTabWidth(e){e===void 0?(this.$refs.container.style.width="",this.$refs.list.style.width=""):(this.$refs.container.style.width=e+"px",this.$refs.list.style.width=e+"px")},initQueue(e){const{queue:a,queueComplete:n,currentItem:i,queueList:r,restored:s}=e;n.length&&n.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),i&&(r[i].silent=!0,this.addToQueue(r[i],!0)),a.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),s&&(toast(this.$t("toasts.queueRestored"),"done",!0,"restoring_queue"),socket.emit("queueRestored"))},addToQueue(e,a=!1){if(Array.isArray(e))if(e.length>1){e.forEach((r,s)=>{r.silent=!0,this.addToQueue(r)}),toast(this.$t("toasts.addedMoreToQueue",{n:e.length}),"playlist_add_check");return}else e=e[0];if(this.$set(e,"current",a),this.$set(this.queueList,e.uuid,e),e.downloaded+e.failed==e.size){const r=this.queueComplete.indexOf(e.uuid)==-1;this.$set(this.queueList[e.uuid],"status","download finished"),r&&this.queueComplete.push(e.uuid)}else this.queue.indexOf(e.uuid)==-1&&this.queue.push(e.uuid);(e.progress>0&&e.progress<100||a)&&this.startDownload(e.uuid),e.silent||toast(this.$t("toasts.addedToQueue",{item:e.title}),"playlist_add_check")},updateQueue(e){const{uuid:a,downloaded:n,failed:i,progress:r,conversion:s,error:o,data:l,errid:c}=e;a&&this.queue.indexOf(a)>-1&&(n&&this.queueList[a].downloaded++,i&&(this.queueList[a].failed++,this.queueList[a].errors.push({message:o,data:l,errid:c})),r&&(this.queueList[a].progress=r),s&&(this.queueList[a].conversion=s))},removeFromQueue(e){let a=this.queue.indexOf(e);a>-1&&(this.$delete(this.queue,a),this.$delete(this.queueList,e))},removeAllDownloads(e){if(this.queueComplete=[],!e)this.queue=[],this.queueList={};else{this.queue=[e];let a=this.queueList[e];this.queueList={},this.queueList[e]=a}},removedFinishedDownloads(){this.queueComplete.forEach(e=>{this.$delete(this.queueList,e)}),this.queueComplete=[]},toggleDownloadTab(){this.setTabWidth(),this.$refs.container.style.transition="all 250ms ease-in-out",this.isExpanded=!this.isExpanded,this.isExpanded&&this.setTabWidth(this.cachedTabWidth),localStorage.setItem("downloadTabOpen",this.isExpanded)},cleanQueue(){socket.emit("removeFinishedDownloads")},cancelQueue(){socket.emit("cancelAllDownloads")},openDownloadsFolder(){socket.emit("openDownloadsFolder")},handleDrag(e){let a=window.innerWidth-e.pageX+2;atabMaxWidth&&(a=tabMaxWidth),this.cachedTabWidth=a,this.setTabWidth(a)},startDrag(){document.addEventListener("mousemove",this.handleDrag)},startDownload(e){this.$set(this.queueList[e],"status","downloading")},finishDownload(e){if(!(this.queue.indexOf(e)>-1))return;this.$set(this.queueList[e],"status","download finished"),toast(this.$t("toasts.finishDownload",{item:this.queueList[e].title}),"done");let n=this.queue.indexOf(e);n>-1&&(this.queue.splice(n,1),this.queueComplete.push(e)),this.queue.length<=0&&toast(this.$t("toasts.allDownloaded"),"done_all")},startConversion(e){this.$set(this.queueList[e],"status","converting"),this.$set(this.queueList[e],"conversion",0)},async showErrorsTab(e){await this.setErrors(e),this.$router.push({name:"Errors"})}}};const __vue_script__$7=script$7;var __vue_render__$9=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",{ref:"container",staticClass:"block h-screen bg-panels-bg text-foreground",class:{"tab-hidden":!e.isExpanded,"w-8":!e.isExpanded},attrs:{id:"download_tab_container","data-label":e.$t("downloads"),"aria-label":"downloads"},on:{transitionend:function(i){e.$refs.container.style.transition=""}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],staticClass:"absolute w-4 h-full bg-grayscale-200",staticStyle:{cursor:"ew-resize"},on:{mousedown:function(i){return i.preventDefault(),e.startDrag(i)}}}),e._v(" "),n("i",{ref:"toggler",staticClass:"m-1 text-2xl cursor-pointer material-icons",class:{"ml-1":!e.isExpanded,"ml-5":e.isExpanded},attrs:{id:"toggle_download_tab",title:e.$t("globals.toggle_download_tab_hint")},on:{click:function(i){return i.preventDefault(),e.toggleDownloadTab(i)}}}),e._v(" "),n("div",{staticClass:"absolute top-0 right-0 transition-all duration-200 ease-in-out",class:{"opacity-0 invisible":!e.isExpanded,"opacity-100 visible":e.isExpanded}},[e.clientMode?n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.open_downloads_folder")},on:{click:e.openDownloadsFolder}},[e._v(` +`;styleInject(css_248z$a);const sharedOptions={gravity:"bottom",position:"left"};let toastsWithId={};const toast=function(e,a=null,n=!0,r=null){if(toastsWithId[r]){let i=toastsWithId[r],s=document.querySelectorAll(`div.toastify[toast_id=${r}]`);e&&s.forEach(l=>{const c=l.querySelectorAll(".toast-message");c.forEach(o=>{o.innerHTML=e})}),a&&(a=="loading"?a='
':a=`${a}`,s.forEach(l=>{const c=l.querySelectorAll(".toast-icon");c.forEach(o=>{o.innerHTML=a})})),n!==null&&n&&(s.forEach(l=>{l.classList.add("dismissable")}),setTimeout(()=>{i.hideToast(),delete toastsWithId[r]},3e3))}else{a==null?a="":a=="loading"?a='
':a=`${a}`;let i=toastify({...sharedOptions,text:`${a}${e}`,duration:n?3e3:0,className:n?"dismissable":"",onClick:function(){let s=!0;if(r){let l=document.querySelector(`div.toastify[toast_id=${r}]`).classList;l&&(s=Array.prototype.slice.call(l).indexOf("dismissable")!=-1)}i&&s&&(i.hideToast(),r&&delete toastsWithId[r])},offset:{x:localStorage.getItem("slimSidebar")==="true"?"3rem":"14rem"}}).showToast();r&&(toastsWithId[r]=i,i.toastElement.setAttribute("toast_id",r))}};socket.on("toast",e=>{const{msg:a,icon:n,dismiss:r,id:i}=e;toast(a,n||null,r!==void 0?r:!0,i||null)});const tabMinWidth=250,tabMaxWidth=500;var script$7={components:{QueueItem},data(){return{cachedTabWidth:parseInt(localStorage.getItem("downloadTabWidth"))||300,queue:[],queueList:{},queueComplete:[],isExpanded:localStorage.getItem("downloadTabOpen")==="true"}},computed:{...mapGetters({clientMode:"getClientMode",isSlim:"getSlimDownloads"})},created(){const e=a=>{if(!(a.ctrlKey&&a.key==="b"))return;this.toggleDownloadTab()};document.addEventListener("keyup",e),this.$on("hook:destroyed",()=>{document.removeEventListener("keyup",e)})},mounted(){socket.on("startDownload",this.startDownload),socket.on("startConversion",this.startConversion),socket.on("init_downloadQueue",this.initQueue),socket.on("addedToQueue",this.addToQueue),socket.on("updateQueue",this.updateQueue),socket.on("removedFromQueue",this.removeFromQueue),socket.on("finishDownload",this.finishDownload),socket.on("removedAllDownloads",this.removeAllDownloads),socket.on("removedFinishedDownloads",this.removedFinishedDownloads),localStorage.getItem("slimDownloads")==="true"&&this.$refs.list.classList.add("slim"),this.isExpanded&&this.setTabWidth(this.cachedTabWidth),document.addEventListener("mouseup",()=>{document.removeEventListener("mousemove",this.handleDrag)}),window.addEventListener("beforeunload",()=>{localStorage.setItem("downloadTabWidth",this.cachedTabWidth)})},methods:{...mapActions(["setErrors"]),onRemoveItem(e){socket.emit("removeFromQueue",e)},setTabWidth(e){e===void 0?(this.$refs.container.style.width="",this.$refs.list.style.width=""):(this.$refs.container.style.width=e+"px",this.$refs.list.style.width=e+"px")},initQueue(e){const{queue:a,queueComplete:n,currentItem:r,queueList:i,restored:s}=e;n.length&&n.forEach(l=>{i[l].silent=!0,this.addToQueue(i[l])}),r&&(i[r].silent=!0,this.addToQueue(i[r],!0)),a.forEach(l=>{i[l].silent=!0,this.addToQueue(i[l])}),s&&(toast(this.$t("toasts.queueRestored"),"done",!0,"restoring_queue"),socket.emit("queueRestored"))},addToQueue(e,a=!1){if(Array.isArray(e))if(e.length>1){e.forEach((i,s)=>{i.silent=!0,this.addToQueue(i)}),toast(this.$t("toasts.addedMoreToQueue",{n:e.length}),"playlist_add_check");return}else e=e[0];this.$set(e,"current",a),this.$set(this.queueList,e.uuid,e);const n=e.downloaded+e.failed==e.size;if(n){const i=this.queueComplete.indexOf(e.uuid)==-1;this.$set(this.queueList[e.uuid],"status","download finished"),i&&this.queueComplete.push(e.uuid)}else{const i=this.queue.indexOf(e.uuid)==-1;i&&this.queue.push(e.uuid)}const r=e.progress>0&&e.progress<100||a;r&&this.startDownload(e.uuid),e.silent||toast(this.$t("toasts.addedToQueue",{item:e.title}),"playlist_add_check")},updateQueue(e){const{uuid:a,downloaded:n,failed:r,progress:i,conversion:s,error:l,data:c,errid:o}=e;a&&this.queue.indexOf(a)>-1&&(n&&this.queueList[a].downloaded++,r&&(this.queueList[a].failed++,this.queueList[a].errors.push({message:l,data:c,errid:o})),i&&(this.queueList[a].progress=i),s&&(this.queueList[a].conversion=s))},removeFromQueue(e){let a=this.queue.indexOf(e);a>-1&&(this.$delete(this.queue,a),this.$delete(this.queueList,e))},removeAllDownloads(e){if(this.queueComplete=[],!e)this.queue=[],this.queueList={};else{this.queue=[e];let a=this.queueList[e];this.queueList={},this.queueList[e]=a}},removedFinishedDownloads(){this.queueComplete.forEach(e=>{this.$delete(this.queueList,e)}),this.queueComplete=[]},toggleDownloadTab(){this.setTabWidth(),this.$refs.container.style.transition="all 250ms ease-in-out",this.isExpanded=!this.isExpanded,this.isExpanded&&this.setTabWidth(this.cachedTabWidth),localStorage.setItem("downloadTabOpen",this.isExpanded)},cleanQueue(){socket.emit("removeFinishedDownloads")},cancelQueue(){socket.emit("cancelAllDownloads")},openDownloadsFolder(){socket.emit("openDownloadsFolder")},handleDrag(e){let a=window.innerWidth-e.pageX+2;atabMaxWidth&&(a=tabMaxWidth),this.cachedTabWidth=a,this.setTabWidth(a)},startDrag(){document.addEventListener("mousemove",this.handleDrag)},startDownload(e){this.$set(this.queueList[e],"status","downloading")},finishDownload(e){let a=this.queue.indexOf(e)>-1;if(!a)return;this.$set(this.queueList[e],"status","download finished"),toast(this.$t("toasts.finishDownload",{item:this.queueList[e].title}),"done");let n=this.queue.indexOf(e);n>-1&&(this.queue.splice(n,1),this.queueComplete.push(e)),this.queue.length<=0&&toast(this.$t("toasts.allDownloaded"),"done_all")},startConversion(e){this.$set(this.queueList[e],"status","converting"),this.$set(this.queueList[e],"conversion",0)},async showErrorsTab(e){await this.setErrors(e),this.$router.push({name:"Errors"})}}};const __vue_script__$7=script$7;var __vue_render__$9=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",{ref:"container",staticClass:"block h-screen bg-panels-bg text-foreground",class:{"tab-hidden":!e.isExpanded,"w-8":!e.isExpanded},attrs:{id:"download_tab_container","data-label":e.$t("downloads"),"aria-label":"downloads"},on:{transitionend:function(r){e.$refs.container.style.transition=""}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],staticClass:"absolute w-4 h-full bg-grayscale-200",staticStyle:{cursor:"ew-resize"},on:{mousedown:function(r){return r.preventDefault(),e.startDrag(r)}}}),e._v(" "),n("i",{ref:"toggler",staticClass:"m-1 text-2xl cursor-pointer material-icons",class:{"ml-1":!e.isExpanded,"ml-5":e.isExpanded},attrs:{id:"toggle_download_tab",title:e.$t("globals.toggle_download_tab_hint")},on:{click:function(r){return r.preventDefault(),e.toggleDownloadTab(r)}}}),e._v(" "),n("div",{staticClass:"absolute top-0 right-0 transition-all duration-200 ease-in-out",class:{"opacity-0 invisible":!e.isExpanded,"opacity-100 visible":e.isExpanded}},[e.clientMode?n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.open_downloads_folder")},on:{click:e.openDownloadsFolder}},[e._v(` folder_open `)]):e._e(),e._v(" "),n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.clean_queue_hint")},on:{click:e.cleanQueue}},[e._v(` clear_all `)]),e._v(" "),n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.cancel_queue_hint")},on:{click:e.cancelQueue}},[e._v(` delete_sweep - `)])]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],ref:"list",staticClass:"w-full pr-2",class:{slim:e.isSlim},attrs:{id:"download_list"}},e._l(e.queueList,function(i){return n("QueueItem",{key:i.uuid,attrs:{"queue-item":i},on:{"show-errors":e.showErrorsTab,"remove-item":e.onRemoveItem}})}),1)])},__vue_staticRenderFns__$9=[];const __vue_inject_styles__$9=function(e){!e||e("data-v-6e5215da_0",{source:"#toggle_download_tab[data-v-6e5215da]{width:25px;height:25px}#toggle_download_tab[data-v-6e5215da]::before{font-family:'Material Icons';font-style:normal;font-weight:400;content:'chevron_right'}#download_tab_container.tab-hidden #toggle_download_tab[data-v-6e5215da]::before{content:'chevron_left'}#download_tab_container.tab-hidden[data-v-6e5215da]::after{content:attr(data-label);display:flex;align-items:center;text-transform:capitalize;writing-mode:vertical-rl;line-height:2rem}#download_list[data-v-6e5215da]{height:calc(100% - 32px);padding-left:28px;overflow-y:scroll}#download_list[data-v-6e5215da]::-webkit-scrollbar{width:10px}#download_list[data-v-6e5215da]::-webkit-scrollbar-track{background:var(--panels-background)}#download_list[data-v-6e5215da]::-webkit-scrollbar-thumb{background:var(--panels-scroll);border-radius:4px;width:6px;padding:0 2px}",map:void 0,media:void 0})},__vue_scope_id__$9="data-v-6e5215da",__vue_module_identifier__$9=void 0,__vue_is_functional_template__$9=!1;var TheDownloadBar=normalizeComponent_1({render:__vue_render__$9,staticRenderFns:__vue_staticRenderFns__$9},__vue_inject_styles__$9,__vue_script__$7,__vue_scope_id__$9,__vue_is_functional_template__$9,__vue_module_identifier__$9,browser,void 0),script$8={data(){return{isSocketConnected:!1}},components:{TheSidebar,TheSearchBar,TheDownloadBar,TheTrackPreview,TheQualityModal,BaseLoadingPlaceholder,TheContextMenu,TheContent},mounted(){socket.addEventListener("open",e=>{console.log("Connected to WebSocket"),this.isSocketConnected=!0})}};const __vue_script__$8=script$8;var __vue_render__$a=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"app-container"},[n("TheSidebar"),e._v(" "),n("div",{staticClass:"content-container"},[n("TheSearchBar"),e._v(" "),n("TheContent")],1),e._v(" "),n("TheDownloadBar")],1),e._v(" "),n("BaseLoadingPlaceholder",{attrs:{text:"Connecting to local server...",hidden:e.isSocketConnected,additionalClasses:"absolute top-0 left-0 w-screen h-screen bg-black bg-opacity-50 z-50"}}),e._v(" "),n("TheTrackPreview"),e._v(" "),n("TheQualityModal"),e._v(" "),n("TheContextMenu")],1)},__vue_staticRenderFns__$a=[];const __vue_inject_styles__$a=function(e){!e||e("data-v-01b764b9_0",{source:".app-container{display:flex}.content-container{width:100%;display:flex;flex-direction:column}",map:void 0,media:void 0})},__vue_scope_id__$a=void 0,__vue_module_identifier__$a=void 0,__vue_is_functional_template__$a=!1;var App=normalizeComponent_1({render:__vue_render__$a,staticRenderFns:__vue_staticRenderFns__$a},__vue_inject_styles__$a,__vue_script__$8,__vue_scope_id__$a,__vue_is_functional_template__$a,__vue_module_identifier__$a,browser,void 0);/*! - * vue-i18n v8.23.0 - * (c) 2021 kazuya kawaguchi + `)])]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],ref:"list",staticClass:"w-full pr-2",class:{slim:e.isSlim},attrs:{id:"download_list"}},e._l(e.queueList,function(r){return n("QueueItem",{key:r.uuid,attrs:{"queue-item":r},on:{"show-errors":e.showErrorsTab,"remove-item":e.onRemoveItem}})}),1)])},__vue_staticRenderFns__$9=[];const __vue_inject_styles__$9=function(e){if(!e)return;e("data-v-6e5215da_0",{source:"#toggle_download_tab[data-v-6e5215da]{width:25px;height:25px}#toggle_download_tab[data-v-6e5215da]::before{font-family:'Material Icons';font-style:normal;font-weight:400;content:'chevron_right'}#download_tab_container.tab-hidden #toggle_download_tab[data-v-6e5215da]::before{content:'chevron_left'}#download_tab_container.tab-hidden[data-v-6e5215da]::after{content:attr(data-label);display:flex;align-items:center;text-transform:capitalize;writing-mode:vertical-rl;line-height:2rem}#download_list[data-v-6e5215da]{height:calc(100% - 32px);padding-left:28px;overflow-y:scroll}#download_list[data-v-6e5215da]::-webkit-scrollbar{width:10px}#download_list[data-v-6e5215da]::-webkit-scrollbar-track{background:var(--panels-background)}#download_list[data-v-6e5215da]::-webkit-scrollbar-thumb{background:var(--panels-scroll);border-radius:4px;width:6px;padding:0 2px}",map:void 0,media:void 0})},__vue_scope_id__$9="data-v-6e5215da",__vue_module_identifier__$8=void 0,__vue_is_functional_template__$9=!1;function __vue_normalize__$9(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheDownloadBar.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$8(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$8.styles||(__vue_create_injector__$8.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var TheDownloadBar=__vue_normalize__$9({render:__vue_render__$9,staticRenderFns:__vue_staticRenderFns__$9},__vue_inject_styles__$9,__vue_script__$7,__vue_scope_id__$9,__vue_is_functional_template__$9,__vue_module_identifier__$8,__vue_create_injector__$8),script$8={data(){return{isSocketConnected:!1}},components:{TheSidebar,TheSearchBar,TheDownloadBar,TheTrackPreview,TheQualityModal,BaseLoadingPlaceholder,TheContextMenu,TheContent},mounted(){socket.addEventListener("open",e=>{console.log("Connected to WebSocket"),this.isSocketConnected=!0})}};const __vue_script__$8=script$8;var __vue_render__$a=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"app-container"},[n("TheSidebar"),e._v(" "),n("div",{staticClass:"content-container"},[n("TheSearchBar"),e._v(" "),n("TheContent")],1),e._v(" "),n("TheDownloadBar")],1),e._v(" "),n("BaseLoadingPlaceholder",{attrs:{text:"Connecting to local server...",hidden:e.isSocketConnected,additionalClasses:"absolute top-0 left-0 w-screen h-screen bg-black bg-opacity-50 z-50"}}),e._v(" "),n("TheTrackPreview"),e._v(" "),n("TheQualityModal"),e._v(" "),n("TheContextMenu")],1)},__vue_staticRenderFns__$a=[];const __vue_inject_styles__$a=function(e){if(!e)return;e("data-v-e046f64a_0",{source:".app-container{display:flex}.content-container{width:100%;display:flex;flex-direction:column}",map:void 0,media:void 0})},__vue_scope_id__$a=void 0,__vue_module_identifier__$9=void 0,__vue_is_functional_template__$a=!1;function __vue_normalize__$a(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="App.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$9(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$9.styles||(__vue_create_injector__$9.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var App=__vue_normalize__$a({render:__vue_render__$a,staticRenderFns:__vue_staticRenderFns__$a},__vue_inject_styles__$a,__vue_script__$8,__vue_scope_id__$a,__vue_is_functional_template__$a,__vue_module_identifier__$9,__vue_create_injector__$9);/*! + * vue-i18n v8.22.2 + * (c) 2020 kazuya kawaguchi * Released under the MIT License. - */var numberFormatKeys=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function warn$3(e,a){typeof console!="undefined"&&(console.warn("[vue-i18n] "+e),a&&console.warn(a.stack))}function error(e,a){typeof console!="undefined"&&(console.error("[vue-i18n] "+e),a&&console.error(a.stack))}var isArray$1=Array.isArray;function isObject$3(e){return e!==null&&typeof e=="object"}function isBoolean(e){return typeof e=="boolean"}function isString(e){return typeof e=="string"}var toString$2=Object.prototype.toString,OBJECT_STRING="[object Object]";function isPlainObject$2(e){return toString$2.call(e)===OBJECT_STRING}function isNull(e){return e==null}function isFunction$1(e){return typeof e=="function"}function parseArgs(){for(var e=[],a=arguments.length;a--;)e[a]=arguments[a];var n=null,i=null;return e.length===1?isObject$3(e[0])||isArray$1(e[0])?i=e[0]:typeof e[0]=="string"&&(n=e[0]):e.length===2&&(typeof e[0]=="string"&&(n=e[0]),(isObject$3(e[1])||isArray$1(e[1]))&&(i=e[1])),{locale:n,params:i}}function looseClone(e){return JSON.parse(JSON.stringify(e))}function remove$3(e,a){if(e.length){var n=e.indexOf(a);if(n>-1)return e.splice(n,1)}}function includes(e,a){return!!~e.indexOf(a)}var hasOwnProperty$1=Object.prototype.hasOwnProperty;function hasOwn$2(e,a){return hasOwnProperty$1.call(e,a)}function merge(e){for(var a=arguments,n=Object(e),i=1;i/g,">").replace(/"/g,""").replace(/'/g,"'")}function escapeParams(e){return e!=null&&Object.keys(e).forEach(function(a){typeof e[a]=="string"&&(e[a]=escapeHtml(e[a]))}),e}function extend$1(e){e.prototype.hasOwnProperty("$i18n")||Object.defineProperty(e.prototype,"$i18n",{get:function(){return this._i18n}}),e.prototype.$t=function(a){for(var n=[],i=arguments.length-1;i-- >0;)n[i]=arguments[i+1];var r=this.$i18n;return r._t.apply(r,[a,r.locale,r._getMessages(),this].concat(n))},e.prototype.$tc=function(a,n){for(var i=[],r=arguments.length-2;r-- >0;)i[r]=arguments[r+2];var s=this.$i18n;return s._tc.apply(s,[a,s.locale,s._getMessages(),this,n].concat(i))},e.prototype.$te=function(a,n){var i=this.$i18n;return i._te(a,i.locale,i._getMessages(),n)},e.prototype.$d=function(a){for(var n,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(n=this.$i18n).d.apply(n,[a].concat(i))},e.prototype.$n=function(a){for(var n,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(n=this.$i18n).n.apply(n,[a].concat(i))}}var mixin$1={beforeCreate:function(){var a=this.$options;if(a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n){if(a.i18n instanceof VueI18n){if(a.__i18n)try{var n=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(l){n=merge(n,JSON.parse(l))}),Object.keys(n).forEach(function(l){a.i18n.mergeLocaleMessage(l,n[l])})}catch(l){}this._i18n=a.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(isPlainObject$2(a.i18n)){var i=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this.$root.$i18n:null;if(i&&(a.i18n.root=this.$root,a.i18n.formatter=i.formatter,a.i18n.fallbackLocale=i.fallbackLocale,a.i18n.formatFallbackMessages=i.formatFallbackMessages,a.i18n.silentTranslationWarn=i.silentTranslationWarn,a.i18n.silentFallbackWarn=i.silentFallbackWarn,a.i18n.pluralizationRules=i.pluralizationRules,a.i18n.preserveDirectiveContent=i.preserveDirectiveContent),a.__i18n)try{var r=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(l){r=merge(r,JSON.parse(l))}),a.i18n.messages=r}catch(l){}var s=a.i18n,o=s.sharedMessages;o&&isPlainObject$2(o)&&(a.i18n.messages=merge(a.i18n.messages,o)),this._i18n=new VueI18n(a.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(a.i18n.sync===void 0||!!a.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),i&&i.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this._i18n=this.$root.$i18n:a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n=a.parent.$i18n)},beforeMount:function(){var a=this.$options;a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n?a.i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):isPlainObject$2(a.i18n)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){if(!!this._i18n){var a=this;this.$nextTick(function(){a._subscribing&&(a._i18n.unsubscribeDataChanging(a),delete a._subscribing),a._i18nWatcher&&(a._i18nWatcher(),a._i18n.destroyVM(),delete a._i18nWatcher),a._localeWatcher&&(a._localeWatcher(),delete a._localeWatcher)})}}},interpolationComponent={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(a,n){var i=n.data,r=n.parent,s=n.props,o=n.slots,l=r.$i18n;if(!!l){var c=s.path,u=s.locale,d=s.places,f=o(),h=l.i(c,u,onlyHasDefaultPlace(f)||d?useLegacyPlaces(f.default,d):f),m=!!s.tag&&s.tag!==!0||s.tag===!1?s.tag:"span";return m?a(m,i,h):h}}};function onlyHasDefaultPlace(e){var a;for(a in e)if(a!=="default")return!1;return Boolean(a)}function useLegacyPlaces(e,a){var n=a?createParamsFromPlaces(a):{};if(!e)return n;e=e.filter(function(r){return r.tag||r.text.trim()!==""});var i=e.every(vnodeHasPlaceAttribute);return e.reduce(i?assignChildPlace:assignChildIndex,n)}function createParamsFromPlaces(e){return Array.isArray(e)?e.reduce(assignChildIndex,{}):Object.assign({},e)}function assignChildPlace(e,a){return a.data&&a.data.attrs&&a.data.attrs.place&&(e[a.data.attrs.place]=a),e}function assignChildIndex(e,a,n){return e[n]=a,e}function vnodeHasPlaceAttribute(e){return Boolean(e.data&&e.data.attrs&&e.data.attrs.place)}var numberComponent={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(a,n){var i=n.props,r=n.parent,s=n.data,o=r.$i18n;if(!o)return null;var l=null,c=null;isString(i.format)?l=i.format:isObject$3(i.format)&&(i.format.key&&(l=i.format.key),c=Object.keys(i.format).reduce(function(m,v){var y;return includes(numberFormatKeys,v)?Object.assign({},m,(y={},y[v]=i.format[v],y)):m},null));var u=i.locale||o.locale,d=o._ntp(i.value,u,l,c),f=d.map(function(m,v){var y,_=s.scopedSlots&&s.scopedSlots[m.type];return _?_((y={},y[m.type]=m.value,y.index=v,y.parts=d,y)):m.value}),h=!!i.tag&&i.tag!==!0||i.tag===!1?i.tag:"span";return h?a(h,{attrs:s.attrs,class:s.class,staticClass:s.staticClass},f):f}};function bind$2(e,a,n){!assert$1(e,n)||t(e,a,n)}function update$1(e,a,n,i){if(!!assert$1(e,n)){var r=n.context.$i18n;localeEqual(e,n)&&looseEqual$1(a.value,a.oldValue)&&looseEqual$1(e._localeMessage,r.getLocaleMessage(r.locale))||t(e,a,n)}}function unbind(e,a,n,i){var r=n.context;if(!r){warn$3("Vue instance does not exists in VNode context");return}var s=n.context.$i18n||{};!a.modifiers.preserve&&!s.preserveDirectiveContent&&(e.textContent=""),e._vt=void 0,delete e._vt,e._locale=void 0,delete e._locale,e._localeMessage=void 0,delete e._localeMessage}function assert$1(e,a){var n=a.context;return n?n.$i18n?!0:(warn$3("VueI18n instance does not exists in Vue instance"),!1):(warn$3("Vue instance does not exists in VNode context"),!1)}function localeEqual(e,a){var n=a.context;return e._locale===n.$i18n.locale}function t(e,a,n){var i,r,s=a.value,o=parseValue(s),l=o.path,c=o.locale,u=o.args,d=o.choice;if(!l&&!c&&!u){warn$3("value type not supported");return}if(!l){warn$3("`path` is required in v-t directive");return}var f=n.context;d!=null?e._vt=e.textContent=(i=f.$i18n).tc.apply(i,[l,d].concat(makeParams(c,u))):e._vt=e.textContent=(r=f.$i18n).t.apply(r,[l].concat(makeParams(c,u))),e._locale=f.$i18n.locale,e._localeMessage=f.$i18n.getLocaleMessage(f.$i18n.locale)}function parseValue(e){var a,n,i,r;return isString(e)?a=e:isPlainObject$2(e)&&(a=e.path,n=e.locale,i=e.args,r=e.choice),{path:a,locale:n,args:i,choice:r}}function makeParams(e,a){var n=[];return e&&n.push(e),a&&(Array.isArray(a)||isPlainObject$2(a))&&n.push(a),n}var Vue$2;function install$2(e){install$2.installed=!0,Vue$2=e,Vue$2.version&&Number(Vue$2.version.split(".")[0]),extend$1(Vue$2),Vue$2.mixin(mixin$1),Vue$2.directive("t",{bind:bind$2,update:update$1,unbind}),Vue$2.component(interpolationComponent.name,interpolationComponent),Vue$2.component(numberComponent.name,numberComponent);var a=Vue$2.config.optionMergeStrategies;a.i18n=function(n,i){return i===void 0?n:i}}var BaseFormatter=function(){this._caches=Object.create(null)};BaseFormatter.prototype.interpolate=function(a,n){if(!n)return[a];var i=this._caches[a];return i||(i=parse$1(a),this._caches[a]=i),compile(i,n)};var RE_TOKEN_LIST_VALUE=/^(?:\d)+/,RE_TOKEN_NAMED_VALUE=/^(?:\w)+/;function parse$1(e){for(var a=[],n=0,i="";n0)r--,i=IN_SUB_PATH,h[APPEND]();else{if(r=0,o===void 0||(o=formatSubPath(o),o===!1))return!1;h[PUSH]()}};function m(){var v=e[n+1];if(i===IN_SINGLE_QUOTE&&v==="'"||i===IN_DOUBLE_QUOTE&&v==='"')return n++,l="\\"+v,h[APPEND](),!0}for(;i!==null;)if(n++,s=e[n],!(s==="\\"&&m())){if(c=getPathCharType(s),f=pathStateMachine[i],u=f[c]||f.else||ERROR,u===ERROR||(i=u[0],d=h[u[1]],d&&(l=u[2],l=l===void 0?s:l,d()===!1)))return;if(i===AFTER_PATH)return a}}var I18nPath=function(){this._cache=Object.create(null)};I18nPath.prototype.parsePath=function(a){var n=this._cache[a];return n||(n=parse$1$1(a),n&&(this._cache[a]=n)),n||[]},I18nPath.prototype.getPathValue=function(a,n){if(!isObject$3(a))return null;var i=this.parsePath(n);if(i.length===0)return null;for(var r=i.length,s=a,o=0;o/,linkKeyMatcher=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,linkKeyPrefixMatcher=/^@(?:\.([a-z]+))?:/,bracketsMatcher=/[()]/g,defaultModifiers={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()},capitalize:function(e){return""+e.charAt(0).toLocaleUpperCase()+e.substr(1)}},defaultFormatter=new BaseFormatter,VueI18n=function(a){var n=this;a===void 0&&(a={}),!Vue$2&&typeof window!="undefined"&&window.Vue&&install$2(window.Vue);var i=a.locale||"en-US",r=a.fallbackLocale===!1?!1:a.fallbackLocale||"en-US",s=a.messages||{},o=a.dateTimeFormats||{},l=a.numberFormats||{};this._vm=null,this._formatter=a.formatter||defaultFormatter,this._modifiers=a.modifiers||{},this._missing=a.missing||null,this._root=a.root||null,this._sync=a.sync===void 0?!0:!!a.sync,this._fallbackRoot=a.fallbackRoot===void 0?!0:!!a.fallbackRoot,this._formatFallbackMessages=a.formatFallbackMessages===void 0?!1:!!a.formatFallbackMessages,this._silentTranslationWarn=a.silentTranslationWarn===void 0?!1:a.silentTranslationWarn,this._silentFallbackWarn=a.silentFallbackWarn===void 0?!1:!!a.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new I18nPath,this._dataListeners=[],this._componentInstanceCreatedListener=a.componentInstanceCreatedListener||null,this._preserveDirectiveContent=a.preserveDirectiveContent===void 0?!1:!!a.preserveDirectiveContent,this.pluralizationRules=a.pluralizationRules||{},this._warnHtmlInMessage=a.warnHtmlInMessage||"off",this._postTranslation=a.postTranslation||null,this._escapeParameterHtml=a.escapeParameterHtml||!1,this.getChoiceIndex=function(c,u){var d=Object.getPrototypeOf(n);if(d&&d.getChoiceIndex){var f=d.getChoiceIndex;return f.call(n,c,u)}var h=function(m,v){return m=Math.abs(m),v===2?m?m>1?1:0:1:m?Math.min(m,2):0};return n.locale in n.pluralizationRules?n.pluralizationRules[n.locale].apply(n,[c,u]):h(c,u)},this._exist=function(c,u){return!c||!u?!1:!!(!isNull(n._path.getPathValue(c,u))||c[u])},(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&Object.keys(s).forEach(function(c){n._checkLocaleMessage(c,n._warnHtmlInMessage,s[c])}),this._initVM({locale:i,fallbackLocale:r,messages:s,dateTimeFormats:o,numberFormats:l})},prototypeAccessors$2={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0}};VueI18n.prototype._checkLocaleMessage=function(a,n,i){var r=[],s=function(o,l,c,u){if(isPlainObject$2(c))Object.keys(c).forEach(function(h){var m=c[h];isPlainObject$2(m)?(u.push(h),u.push("."),s(o,l,m,u),u.pop(),u.pop()):(u.push(h),s(o,l,m,u),u.pop())});else if(isArray$1(c))c.forEach(function(h,m){isPlainObject$2(h)?(u.push("["+m+"]"),u.push("."),s(o,l,h,u),u.pop(),u.pop()):(u.push("["+m+"]"),s(o,l,h,u),u.pop())});else if(isString(c)){var d=htmlTagMatcher.test(c);if(d){var f="Detected HTML in message '"+c+"' of keypath '"+u.join("")+"' at '"+l+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";o==="warn"?warn$3(f):o==="error"&&error(f)}}};s(n,a,i,r)},VueI18n.prototype._initVM=function(a){var n=Vue$2.config.silent;Vue$2.config.silent=!0,this._vm=new Vue$2({data:a}),Vue$2.config.silent=n},VueI18n.prototype.destroyVM=function(){this._vm.$destroy()},VueI18n.prototype.subscribeDataChanging=function(a){this._dataListeners.push(a)},VueI18n.prototype.unsubscribeDataChanging=function(a){remove$3(this._dataListeners,a)},VueI18n.prototype.watchI18nData=function(){var a=this;return this._vm.$watch("$data",function(){for(var n=a._dataListeners.length;n--;)Vue$2.nextTick(function(){a._dataListeners[n]&&a._dataListeners[n].$forceUpdate()})},{deep:!0})},VueI18n.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var a=this._vm;return this._root.$i18n.vm.$watch("locale",function(n){a.$set(a,"locale",n),a.$forceUpdate()},{immediate:!0})},VueI18n.prototype.onComponentInstanceCreated=function(a){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(a,this)},prototypeAccessors$2.vm.get=function(){return this._vm},prototypeAccessors$2.messages.get=function(){return looseClone(this._getMessages())},prototypeAccessors$2.dateTimeFormats.get=function(){return looseClone(this._getDateTimeFormats())},prototypeAccessors$2.numberFormats.get=function(){return looseClone(this._getNumberFormats())},prototypeAccessors$2.availableLocales.get=function(){return Object.keys(this.messages).sort()},prototypeAccessors$2.locale.get=function(){return this._vm.locale},prototypeAccessors$2.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},prototypeAccessors$2.fallbackLocale.get=function(){return this._vm.fallbackLocale},prototypeAccessors$2.fallbackLocale.set=function(e){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",e)},prototypeAccessors$2.formatFallbackMessages.get=function(){return this._formatFallbackMessages},prototypeAccessors$2.formatFallbackMessages.set=function(e){this._formatFallbackMessages=e},prototypeAccessors$2.missing.get=function(){return this._missing},prototypeAccessors$2.missing.set=function(e){this._missing=e},prototypeAccessors$2.formatter.get=function(){return this._formatter},prototypeAccessors$2.formatter.set=function(e){this._formatter=e},prototypeAccessors$2.silentTranslationWarn.get=function(){return this._silentTranslationWarn},prototypeAccessors$2.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},prototypeAccessors$2.silentFallbackWarn.get=function(){return this._silentFallbackWarn},prototypeAccessors$2.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},prototypeAccessors$2.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},prototypeAccessors$2.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},prototypeAccessors$2.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},prototypeAccessors$2.warnHtmlInMessage.set=function(e){var a=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,n!==e&&(e==="warn"||e==="error")){var i=this._getMessages();Object.keys(i).forEach(function(r){a._checkLocaleMessage(r,a._warnHtmlInMessage,i[r])})}},prototypeAccessors$2.postTranslation.get=function(){return this._postTranslation},prototypeAccessors$2.postTranslation.set=function(e){this._postTranslation=e},VueI18n.prototype._getMessages=function(){return this._vm.messages},VueI18n.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},VueI18n.prototype._getNumberFormats=function(){return this._vm.numberFormats},VueI18n.prototype._warnDefault=function(a,n,i,r,s,o){if(!isNull(i))return i;if(this._missing){var l=this._missing.apply(null,[a,n,r,s]);if(isString(l))return l}if(this._formatFallbackMessages){var c=parseArgs.apply(void 0,s);return this._render(n,o,c.params,n)}else return n},VueI18n.prototype._isFallbackRoot=function(a){return!a&&!isNull(this._root)&&this._fallbackRoot},VueI18n.prototype._isSilentFallbackWarn=function(a){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(a):this._silentFallbackWarn},VueI18n.prototype._isSilentFallback=function(a,n){return this._isSilentFallbackWarn(n)&&(this._isFallbackRoot()||a!==this.fallbackLocale)},VueI18n.prototype._isSilentTranslationWarn=function(a){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(a):this._silentTranslationWarn},VueI18n.prototype._interpolate=function(a,n,i,r,s,o,l){if(!n)return null;var c=this._path.getPathValue(n,i);if(isArray$1(c)||isPlainObject$2(c))return c;var u;if(isNull(c))if(isPlainObject$2(n)){if(u=n[i],!(isString(u)||isFunction$1(u)))return null}else return null;else if(isString(c)||isFunction$1(c))u=c;else return null;return isString(u)&&(u.indexOf("@:")>=0||u.indexOf("@.")>=0)&&(u=this._link(a,n,u,r,"raw",o,l)),this._render(u,s,o,i)},VueI18n.prototype._link=function(a,n,i,r,s,o,l){var c=i,u=c.match(linkKeyMatcher);for(var d in u)if(!!u.hasOwnProperty(d)){var f=u[d],h=f.match(linkKeyPrefixMatcher),m=h[0],v=h[1],y=f.replace(m,"").replace(bracketsMatcher,"");if(includes(l,y))return c;l.push(y);var _=this._interpolate(a,n,y,r,s==="raw"?"string":s,s==="raw"?void 0:o,l);if(this._isFallbackRoot(_)){if(!this._root)throw Error("unexpected error");var w=this._root.$i18n;_=w._translate(w._getMessages(),w.locale,w.fallbackLocale,y,r,s,o)}_=this._warnDefault(a,y,_,r,isArray$1(o)?o:[o],s),this._modifiers.hasOwnProperty(v)?_=this._modifiers[v](_):defaultModifiers.hasOwnProperty(v)&&(_=defaultModifiers[v](_)),l.pop(),c=_?c.replace(f,_):c}return c},VueI18n.prototype._createMessageContext=function(a){var n=isArray$1(a)?a:[],i=isObject$3(a)?a:{},r=function(o){return n[o]},s=function(o){return i[o]};return{list:r,named:s}},VueI18n.prototype._render=function(a,n,i,r){if(isFunction$1(a))return a(this._createMessageContext(i));var s=this._formatter.interpolate(a,i,r);return s||(s=defaultFormatter.interpolate(a,i,r)),n==="string"&&!isString(s)?s.join(""):s},VueI18n.prototype._appendItemToChain=function(a,n,i){var r=!1;return includes(a,n)||(r=!0,n&&(r=n[n.length-1]!=="!",n=n.replace(/!/g,""),a.push(n),i&&i[n]&&(r=i[n]))),r},VueI18n.prototype._appendLocaleToChain=function(a,n,i){var r,s=n.split("-");do{var o=s.join("-");r=this._appendItemToChain(a,o,i),s.splice(-1,1)}while(s.length&&r===!0);return r},VueI18n.prototype._appendBlockToChain=function(a,n,i){for(var r=!0,s=0;s0;)o[l]=arguments[l+4];if(!a)return"";var c=parseArgs.apply(void 0,o);this._escapeParameterHtml&&(c.params=escapeParams(c.params));var u=c.locale||n,d=this._translate(i,u,this.fallbackLocale,a,r,"string",c.params);if(this._isFallbackRoot(d)){if(!this._root)throw Error("unexpected error");return(s=this._root).$t.apply(s,[a].concat(o))}else return d=this._warnDefault(u,a,d,r,o,"string"),this._postTranslation&&d!==null&&d!==void 0&&(d=this._postTranslation(d,a)),d},VueI18n.prototype.t=function(a){for(var n,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(n=this)._t.apply(n,[a,this.locale,this._getMessages(),null].concat(i))},VueI18n.prototype._i=function(a,n,i,r,s){var o=this._translate(i,n,this.fallbackLocale,a,r,"raw",s);if(this._isFallbackRoot(o)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(a,n,s)}else return this._warnDefault(n,a,o,r,[s],"raw")},VueI18n.prototype.i=function(a,n,i){return a?(isString(n)||(n=this.locale),this._i(a,n,this._getMessages(),null,i)):""},VueI18n.prototype._tc=function(a,n,i,r,s){for(var o,l=[],c=arguments.length-5;c-- >0;)l[c]=arguments[c+5];if(!a)return"";s===void 0&&(s=1);var u={count:s,n:s},d=parseArgs.apply(void 0,l);return d.params=Object.assign(u,d.params),l=d.locale===null?[d.params]:[d.locale,d.params],this.fetchChoice((o=this)._t.apply(o,[a,n,i,r].concat(l)),s)},VueI18n.prototype.fetchChoice=function(a,n){if(!a||!isString(a))return null;var i=a.split("|");return n=this.getChoiceIndex(n,i.length),i[n]?i[n].trim():a},VueI18n.prototype.tc=function(a,n){for(var i,r=[],s=arguments.length-2;s-- >0;)r[s]=arguments[s+2];return(i=this)._tc.apply(i,[a,this.locale,this._getMessages(),null,n].concat(r))},VueI18n.prototype._te=function(a,n,i){for(var r=[],s=arguments.length-3;s-- >0;)r[s]=arguments[s+3];var o=parseArgs.apply(void 0,r).locale||n;return this._exist(i[o],a)},VueI18n.prototype.te=function(a,n){return this._te(a,this.locale,this._getMessages(),n)},VueI18n.prototype.getLocaleMessage=function(a){return looseClone(this._vm.messages[a]||{})},VueI18n.prototype.setLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,n)},VueI18n.prototype.mergeLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,merge(typeof this._vm.messages[a]!="undefined"&&Object.keys(this._vm.messages[a]).length?this._vm.messages[a]:{},n))},VueI18n.prototype.getDateTimeFormat=function(a){return looseClone(this._vm.dateTimeFormats[a]||{})},VueI18n.prototype.setDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,n),this._clearDateTimeFormat(a,n)},VueI18n.prototype.mergeDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,merge(this._vm.dateTimeFormats[a]||{},n)),this._clearDateTimeFormat(a,n)},VueI18n.prototype._clearDateTimeFormat=function(a,n){for(var i in n){var r=a+"__"+i;!this._dateTimeFormatters.hasOwnProperty(r)||delete this._dateTimeFormatters[r]}},VueI18n.prototype._localizeDateTime=function(a,n,i,r,s){for(var o=n,l=r[o],c=this._getLocaleChain(n,i),u=0;u0;)n[i]=arguments[i+1];var r=this.locale,s=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(r=n[0].locale),n[0].key&&(s=n[0].key)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(r=n[1])),this._d(a,r,s)},VueI18n.prototype.getNumberFormat=function(a){return looseClone(this._vm.numberFormats[a]||{})},VueI18n.prototype.setNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,n),this._clearNumberFormat(a,n)},VueI18n.prototype.mergeNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,merge(this._vm.numberFormats[a]||{},n)),this._clearNumberFormat(a,n)},VueI18n.prototype._clearNumberFormat=function(a,n){for(var i in n){var r=a+"__"+i;!this._numberFormatters.hasOwnProperty(r)||delete this._numberFormatters[r]}},VueI18n.prototype._getNumberFormatter=function(a,n,i,r,s,o){for(var l=n,c=r[l],u=this._getLocaleChain(n,i),d=0;d0;)n[i]=arguments[i+1];var r=this.locale,s=null,o=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(r=n[0].locale),n[0].key&&(s=n[0].key),o=Object.keys(n[0]).reduce(function(l,c){var u;return includes(numberFormatKeys,c)?Object.assign({},l,(u={},u[c]=n[0][c],u)):l},null)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(r=n[1])),this._n(a,r,s,o)},VueI18n.prototype._ntp=function(a,n,i,r){if(!VueI18n.availabilities.numberFormat)return[];if(!i){var s=r?new Intl.NumberFormat(n,r):new Intl.NumberFormat(n);return s.formatToParts(a)}var o=this._getNumberFormatter(a,n,this.fallbackLocale,this._getNumberFormats(),i,r),l=o&&o.formatToParts(a);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(a,n,i,r)}else return l||[]},Object.defineProperties(VueI18n.prototype,prototypeAccessors$2);var availabilities;Object.defineProperty(VueI18n,"availabilities",{get:function(){if(!availabilities){var a=typeof Intl!="undefined";availabilities={dateTimeFormat:a&&typeof Intl.DateTimeFormat!="undefined",numberFormat:a&&typeof Intl.NumberFormat!="undefined"}}return availabilities}}),VueI18n.install=install$2,VueI18n.version="8.23.0";const it={globals:{welcome:"Benvenuto su deemix",back:"indietro",loading:"caricamento",download:"Scarica {thing}",by:"di {artist}",in:"in {album}",download_hint:"Scarica",play_hint:"Riproduci",toggle_download_tab_hint:"Espandi/Riduci",clean_queue_hint:"Pulisci Lista",cancel_queue_hint:"Cancella tutti i download",open_downloads_folder:"Apri la cartella di download",cut:"taglia",copy:"copia",copyLink:"copia link",copyImageLink:"copia link immagine",copyDeezerLink:"copia link deezer",paste:"incolla",listTabs:{all:"tutto",top_result:"miglior risultato",album:"album",artist:"artista | artisti",single:"singolo | singoli",title:"titolo | titoli",track:"brano | brani",releaseN:"0 dischi | {n} disco | {n} dischi",playlist:"playlist",compile:"compilation",bundle:"collezione | collezioni",ep:"ep",more:"Altri album",featured:"Compare in",spotifyPlaylist:"playlist spotify",releaseDate:"data di uscita",error:"errore",empty:"",trackN:"0 brani | {n} brano | {n} brani",albumN:"{n} album",artistN:"0 artisti | {n} artista | {n} artisti",playlistN:"{n} playlist"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Versione attuale",currentWebuiVersion:"Versione WebUI attuale",versionNotAvailable:"N/A",updateAvailable:"Non stai usando l'ultima versione disponibile: {version}",deemixVersion:"Versione libreria deemix"},titles:{usefulLinks:"Link Utili",bugReports:"Segnalazione di bug",contributing:"Contribuire al progetto",donations:"Donazioni",license:"Licenza"},subtitles:{bugReports:"C'\xE8 qualcosa di deemix che non funziona? Faccelo sapere!",contributing:"Vuoi contribuire a questo progetto? Puoi farlo in pi\xF9 modi!",donations:"Vuoi dare una mano economicamente? Puoi fare una donazione!"},usesLibrary:"Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.",thanks:"Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.",upToDate:{text:"Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.",newsChannel:"canale delle news"},officialWebsite:"Sito Ufficiale",officialRepo:"Repository Ufficiale della Libreria",officialWebuiRepo:"Repository Ufficiale dell'Interfaccia Web",officialSubreddit:"Subreddit Ufficiale",newsChannel:"Canale delle news",questions:{text:"Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.",subreddit:"subreddit ufficiale"},beforeReporting:"Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ci\xF2 che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.",beSure:"Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che \xE8 gi\xE0 stato segnalato.",duplicateReports:"Le segnalazioni doppie verranno chiuse, tienilo presente.",dontOpenIssues:"NON aprire issues per porre domande, per quello esiste un subreddit.",newUI:{text:"Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.",repo:"repo"},acceptFeatures:"Accetto anche funzionalit\xE0, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.",otherLanguages:"Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!",understandingCode:"Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit",contributeWebUI:{text:"Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.",webui:"WebUI"},itsFree:"Ricordati che questo \xE8 un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.",notObligated:"Non sentirti obbligato a donare, mi stai simpatico lo stesso!",lincensedUnder:{text:"Questo progetto \xE8 sotto la licenza {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Classifiche",changeCountry:"Cambia Paese",download:"Scarica Classifica"},errors:{title:"Errori riguardanti {name}",ids:{invalidURL:"URL non riconosciuto",unsupportedURL:"URL non ancora supportato",ISRCnotOnDeezer:"Questo ISRC non \xE8 disponibile su Deezer",notYourPrivatePlaylist:"Non puoi scaricare le playlist private degli altri.",spotifyDisabled:"Spotify Features non \xE8 impostato correttamente.",trackNotOnDeezer:"Brano non trovato su Deezer!",albumNotOnDeezer:"Album non trovato su Deezer!",notOnDeezer:"Brano non disponibile su Deezer!",notEncoded:"Brano non ancora codificato!",notEncodedNoAlternative:"Brano non ancora codificato e nessuna alternativa trovata!",wrongBitrate:"Brano non trovato con il bitrate specificato.",wrongBitrateNoAlternative:"Brano non trovato con il bitrate specificato e nessuna alternativa trovata!",no360RA:"Brano non disponibile in Reality Audio 360.",notAvailable:"Brano non presente sui server di Deezer!",notAvailableNoAlternative:"Brano non presente sui server di Deezer e nessuna alternativa trovata!",noSpaceLeft:"Spazio su disco esaurito!",albumDoesntExists:"Il brano non ha nessun album, impossibile ottenere informazioni"}},favorites:{title:"Preferiti",noPlaylists:"Nessuna Playlist preferita trovata",noAlbums:"Nessun Album preferito trovato",noArtists:"Nessun Artista preferito trovato",noTracks:"Nessun Brano preferito trovato"},home:{needTologin:"Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.",openSettings:"Apri le impostazioni",sections:{popularPlaylists:"Playlist Popolari",popularAlbums:"Album pi\xF9 riprodotti"}},linkAnalyzer:{info:"Puoi utilizzare questa sezione per avere pi\xF9 informazioni riguardanti il link che stai cercando di scaricare.",useful:"Ci\xF2 pu\xF2 esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.",linkNotSupported:"Questo link non \xE8 ancora supportato",linkNotSupportedYet:"Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durata",diskNumber:"Numero Disco",trackNumber:"Numero Traccia",releaseDate:"Data di uscita",bpm:"BPM",label:"Etichetta",recordType:"Tipologia di registrazione",genres:"Generi",tracklist:"Lista tracce"}},search:{startSearching:"Inizia a cercare!",description:"Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer",fans:"{n} fan",noResults:"Nessun risultato",noResultsTrack:"Nessun brano trovato",noResultsAlbum:"Nessun album trovato",noResultsArtist:"Nessun artista trovato",noResultsPlaylist:"Nessuna playlist trovata"},searchbar:"Cerca qualsiasi cosa (o incolla semplicemente un link)",downloads:"download",toasts:{restoringQueue:"Ripristinando la coda di download...",queueRestored:"Coda di download ripristinata!",addedToQueue:"{item} aggiunto alla coda",addedMoreToQueue:"{n} oggetti aggiunti alla coda",alreadyInQueue:"{item} \xE8 gi\xE0 nella coda!",finishDownload:"{item} ha finito di scaricarsi.",allDownloaded:"Tutti i download completati!",refreshFavs:"Preferiti ricaricati!",loggingIn:"Effettuando il login...",loggedIn:"Login effettuato",alreadyLogged:"Sei gi\xE0 loggato",loginFailed:"Impossibile loggarsi",loggedOut:"Disconnesso",cancellingCurrentItem:"Cancellando download corrente.",currentItemCancelled:"Download corrente cancellato.",startAddingArtist:"Aggiungendo gli album di {artist} alla coda",finishAddingArtist:"Aggiunto gli album di {artist} alla coda",startConvertingSpotifyPlaylist:"Convertendo i brani da spotify a deezer",finishConvertingSpotifyPlaylist:"Playlist di spotify convertita",loginNeededToDownload:"Devi accedere prima di poter scaricare brani!",deezerNotAvailable:"Deezer non \xE8 disponibile nel tuo paese. Dovresti usare una VPN.",startGeneratingItems:"Elaborando {n} oggetti...",finishGeneratingItems:"{n} oggetti generati."},settings:{title:"Impostazioni",languages:"Lingue",login:{title:"Login",loggedIn:"Sei loggato come {username}",arl:{question:"Come ottengo il mio ARL?",update:"Aggiorna ARL"},logout:"Disconnettiti",login:"Accedi tramite deezer.com"},appearance:{title:"Aspetto",slimDownloadTab:"Tab dei download slim",slimSidebar:"Sidebar slim"},downloadPath:{title:"Cartella di download"},templates:{title:"Template",tracknameTemplate:"Template nome brano",tracknameAvailableVariables:"Variabili nome brano disponibili",albumTracknameTemplate:"Template nome brano negli Album",albumTracknameAvailableVariables:"Variabili nome brano negli Album disponibili",playlistTracknameTemplate:"Template nome brano nelle Playlist",playlistTracknameAvailableVariables:"Variabili nome brano nelle Playlist disponibili"},folders:{title:"Cartelle",createPlaylistFolder:"Crea cartelle per le Playlist",playlistNameTemplate:"Template nome della cartella Playlist",createArtistFolder:"Crea cartelle per gli Artisti",artistNameTemplate:"Template nome della cartella Artista",createAlbumFolder:"Crea cartelle per gli Album",albumNameTemplate:"Template nome della cartella Album",createCDFolder:"Crea cartelle per i CD",createStructurePlaylist:"Crea la struttura di cartelle per le Playlist",createSingleFolder:"Crea la struttura di cartelle per i brani singoli"},trackTitles:{title:"Titoli brani",padTracks:"Aggiungi zeri ai numeri di traccia",paddingSize:"Sovrascrivi il numero di zeri da aggiungere",illegalCharacterReplacer:"Rimpiazza caratteri illegali con"},downloads:{title:"Download",queueConcurrency:"Download simultanei",maxBitrate:{title:"Bitrate preferito",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dovrei sovrascrivere i file gi\xE0 scaricati?",y:"Si, sovrascrivi i file",n:"No, non sovrascrivere i file",t:"Sovrascrivi solo i tag",b:"No, mantieni entrambi i file e aggiungi un numero al duplicato",e:"No, e non tener conto della estensione del file"},fallbackBitrate:"Utilizza bitrate pi\xF9 bassi se il bitrate preferito non \xE8 disponibile",fallbackSearch:"Cerca il brano se il link originale non \xE8 disponibile",logErrors:"Crea file di log per gli errori",logSearched:"Crea file di log per le alternative cercate",syncedLyrics:"Crea i file .lyr (Testi Sincronizzati)",createM3U8File:"Crea i file playlist",playlistFilenameTemplate:"Template nome del file playlist",saveDownloadQueue:"Salva la coda di download quando chiudi l'app"},covers:{title:"Copertine",saveArtwork:"Salva copertina album",coverImageTemplate:"Template nome copertina album",saveArtworkArtist:"Salva copertina artista",artistImageTemplate:"Template nome copertina artista",localArtworkSize:"Dimensioni copertine locali",embeddedArtworkSize:"Dimensioni copertine incorporate",localArtworkFormat:{title:"Come vuoi salvare le copertine locali?",jpg:"In jpeg",png:"In png",both:"Sia in jpeg che in png"},jpegImageQuality:"Qualit\xE0 immagine JPEG",embeddedArtworkPNG:"Salva copertina incorporata come PNG",embeddedPNGWarning:"Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi",imageSizeWarning:"Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi",coverDescriptionUTF8:"Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)"},tags:{head:"Quali tag salvare",title:"Titolo",artist:"Artista",album:"Album",cover:"Copertina",trackNumber:"Numero Traccia",trackTotal:"Tracce Totali",discNumber:"Numero Disco",discTotal:"Dischi Totali",albumArtist:"Artista dell'album",genre:"Genere",year:"Anno",date:"Data",explicit:"Testo Esplicito",isrc:"ISRC",length:"Durata Traccia",barcode:"Barcode dell'album (UPC)",bpm:"BPM",replayGain:"Replay gain",label:"Casa Discografica",lyrics:"Testo non Sincronizzato",syncedLyrics:"Testo Sincronizzato",copyright:"Copyright",composer:"Compositori",involvedPeople:"Persone Coinvolte",source:"Sorgente e ID brano"},other:{title:"Altro",savePlaylistAsCompilation:"Salva le playlist come Compilation",useNullSeparator:"Usa il carattere NULL come separatore",saveID3v1:"Salva anche l'ID3v1",multiArtistSeparator:{title:"Come vuoi separare gli artisti?",nothing:"Salva solo l'artista principale",default:"Usando la specificazione standard",andFeat:"Usando & e feat.",using:'Usando "{separator}"'},singleAlbumArtist:"Salva solo l'artista dell'album principale",albumVariousArtists:`Lascia "Artisti Vari" negli artisti dell'album`,removeAlbumVersion:'Rimuovi "Album Version" dal titolo del brano',removeDuplicateArtists:"Rimuovi le combinazioni di artisti",dateFormat:{title:"Formato della data per i file FLAC",year:"AAAA",month:"MM",day:"GG"},featuredToTitle:{title:"Cosa dovrei fare con i feat?",0:"Niente",1:"Rimuovili dal titolo",3:"Rimuovili dal titolo e dal nome dell'album",2:"Spostali sul titolo"},titleCasing:"Formato testo dei titoli",artistCasing:"Formato testo degli artisti",casing:{nothing:"Non cambiare",upper:"TUTTO MAIUSCOLO",lower:"tutto minuscolo",start:"Prima Lettera Maiuscola",sentence:"Come una frase"},previewVolume:"Volume Anteprime",executeCommand:{title:"Comando da eseguire dopo il download",description:"Lascia vuoto per nessuna azione"}},spotify:{title:"Spotify Features",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"Come attivo le Spotify Features?"},reset:"Reimposta Default",resetMessage:"Sei sicuro di voler tornare alle impostazioni di default?",save:"Salva",toasts:{init:"Impostazioni caricate!",update:"Impostazioni aggiornate!",reset:"Impostazioni di default ripristinate!",ARLcopied:"ARL copiato negli appunti"}},sidebar:{home:"home",search:"ricerca",charts:"classifiche",favorites:"preferiti",linkAnalyzer:"analizza link",settings:"impostazioni",about:"info"},tracklist:{downloadSelection:"Scarica selezionati"}},en={globals:{welcome:"Welcome to deemix",back:"back",loading:"loading",download:"Download {thing}",by:"by {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Expand/Collapse",clean_queue_hint:"Clear Finished",cancel_queue_hint:"Cancel All",open_downloads_folder:"Open Downloads Folder",cut:"cut",copy:"copy",copyLink:"copy link",copyImageLink:"copy image link",copyDeezerLink:"copy deezer link",paste:"paste",listTabs:{empty:"",all:"all",top_result:"top result",album:"album | albums",artist:"artist | artists",single:"single | singles",title:"title | titles",track:"track | tracks",releaseN:"0 releases | {n} release | {n} releases",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"More albums",featured:"Featured in",spotifyPlaylist:"spotify playlist | spotify playlists",releaseDate:"release date",error:"error",trackN:"0 tracks | {n} track | {n} tracks",albumN:"0 albums | {n} album | {n} albums",artistN:"0 artists | {n} artist | {n} artists",playlistN:"0 playlists | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Current Version",currentWebuiVersion:"Current WebUI Version",versionNotAvailable:"N/A",updateAvailable:"You're not running the latest version available: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Useful Links",bugReports:"Bug Reports",contributing:"Contributing",donations:"Donations",license:"License"},subtitles:{bugReports:"Is there something that isn't working in deemix? Tell us!",contributing:"You want to contribute to this project? You can do it in different ways!",donations:"You want to contribute monetarily? You could make a donation!"},usesLibrary:"This app uses the deemix library, which you can use to make your own UI for deemix.",thanks:"Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.",upToDate:{text:"Stay up to date with the updates by following the {newsChannel} on Telegram.",newsChannel:"news channel"},officialWebsite:"Official Website",officialRepo:"Official Library Repository",officialWebuiRepo:"Official WebUI Repository",officialSubreddit:"Official Subreddit",newsChannel:"News Channel",questions:{text:"If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.",subreddit:"subreddit"},beforeReporting:"Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.",beSure:"Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.",duplicateReports:"Duplicate bug reports will be closed, so keep an eye out on that.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",newUI:{text:"If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.",repo:"repo"},acceptFeatures:"I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.",otherLanguages:"If you're fluent in another programming language you could try to port deemix into other programming languages!",understandingCode:"You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.",contributeWebUI:{text:"If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.",webui:"WebUI"},itsFree:"You should remember that this is a free project and you should support the artists you love before supporting the developers.",notObligated:"Don't feel obligated to donate, I appreciate you anyway!",lincensedUnder:{text:"This work is licensed under the {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Change Country",download:"Download Chart"},errors:{title:"Errors for {name}",ids:{invalidURL:"URL not recognized",unsupportedURL:"URL not supported yet",ISRCnotOnDeezer:"Track ISRC is not available on Deezer",notYourPrivatePlaylist:"You can't download others private playlists.",spotifyDisabled:"Spotify Features is not setted up correctly.",trackNotOnDeezer:"Track not found on Deezer!",albumNotOnDeezer:"Album not found on Deezer!",notOnDeezer:"Track not available on Deezer!",notEncoded:"Track not yet encoded!",notEncodedNoAlternative:"Track not yet encoded and no alternative found!",wrongBitrate:"Track not found at desired bitrate.",wrongBitrateNoAlternative:"Track not found at desired bitrate and no alternative found!",no360RA:"Track is not available in Reality Audio 360.",notAvailable:"Track not available on Deezer's servers!",notAvailableNoAlternative:"Track not available on Deezer's servers and no alternative found!",noSpaceLeft:"No space left on the device!",albumDoesntExists:"Track's album doesn't exist, failed to gather info"}},favorites:{title:"Favorites",noPlaylists:"No Playlists found",noAlbums:"No Favorite Albums found",noArtists:"No Favorite Artists found",noTracks:"No Favorite Tracks found"},home:{needTologin:"You need to log into your Deezer account before you can start downloading.",openSettings:"Open Settings",sections:{popularPlaylists:"Popular playlists",popularAlbums:"Most streamed albums"}},linkAnalyzer:{info:"You can use this section to find more information about the link you are trying to download.",useful:"This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.",linkNotSupported:"This link is not yet supported",linkNotSupportedYet:"Seems like this link is not yet supported, try analyzing another one.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duration",diskNumber:"Disk Number",trackNumber:"Track Number",releaseDate:"Release Date",bpm:"BPM",label:"Label",recordType:"Record Type",genres:"Genres",tracklist:"Tracklist"}},search:{startSearching:"Start searching!",description:"You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link",fans:"{n} fans",noResults:"No results",noResultsTrack:"No Tracks found",noResultsAlbum:"No Albums found",noResultsArtist:"No Artists found",noResultsPlaylist:"No Playlists found"},searchbar:"Search anything you want (or just paste a link)",downloads:"downloads",toasts:{restoringQueue:"Restoring download queue...",queueRestored:"Download queue restored!",addedToQueue:"{item} added to queue",addedMoreToQueue:"{n} items added to queue",alreadyInQueue:"{item} is already in queue!",finishDownload:"{item} finished downloading.",allDownloaded:"All downloads completed!",refreshFavs:"Refresh completed!",loggingIn:"Logging in...",loggedIn:"Logged in",alreadyLogged:"Already logged in",loginFailed:"Couldn't log in",loggedOut:"Logged out",cancellingCurrentItem:"Cancelling current item.",currentItemCancelled:"Current item cancelled.",startAddingArtist:"Adding {artist} albums to queue",finishAddingArtist:"Added {artist} albums to queue",startConvertingSpotifyPlaylist:"Converting spotify tracks to Deezer tracks",finishConvertingSpotifyPlaylist:"Spotify playlist converted",loginNeededToDownload:"You need to log in to download tracks!",deezerNotAvailable:"Deezer is not available in your country. You should use a VPN.",startGeneratingItems:"Processing {n} items...",finishGeneratingItems:"Generated {n} items."},settings:{title:"Settings",languages:"Languages",login:{title:"Login",loggedIn:"You are logged in as {username}",arl:{question:"How do I get my own ARL?",update:"Update ARL"},logout:"Logout",login:"Login via deezer.com"},appearance:{title:"Appearance",slimDownloadTab:"Slim download tab",slimSidebar:"Slim Sidebar"},downloadPath:{title:"Download Path"},templates:{title:"Templates",tracknameTemplate:"Trackname template",tracknameAvailableVariables:"Available trackname variables",albumTracknameTemplate:"Album track template",albumTracknameAvailableVariables:"Available album track variables",playlistTracknameTemplate:"Playlist track template",playlistTracknameAvailableVariables:"Available playlist track variables"},folders:{title:"Folders",createPlaylistFolder:"Create folder for playlists",playlistNameTemplate:"Playlist folder template",createArtistFolder:"Create folder for artist",artistNameTemplate:"Artist folder template",createAlbumFolder:"Create folder for album",albumNameTemplate:"Album folder template",createCDFolder:"Create folder for CDs",createStructurePlaylist:"Create folder structure for playlists",createSingleFolder:"Create folder structure for singles"},trackTitles:{title:"Track titles",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"Illegal Character replacer"},downloads:{title:"Downloads",queueConcurrency:"Concurrent Downloads",maxBitrate:{title:"Preferred Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Should I overwrite the files?",y:"Yes, overwrite the file",n:"No, don't overwrite the file",t:"Overwrite only the tags",b:"No, keep both files and add a number to the duplicate",e:"No, and don't look at the extensions"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Search fallback",logErrors:"Create log files for errors",logSearched:"Create log files for searched tracks",createM3U8File:"Create playlist file",syncedLyrics:"Create .lyr files (Sync Lyrics)",playlistFilenameTemplate:"Playlist filename template",saveDownloadQueue:"Save download queue when closing the app"},covers:{title:"Album covers",saveArtwork:"Save Covers",coverImageTemplate:"Cover name template",saveArtworkArtist:"Save artist image",artistImageTemplate:"Artist image template",localArtworkSize:"Local artwork size",embeddedArtworkSize:"Embedded artwork size",localArtworkFormat:{title:"What format do you want the local artwork to be?",jpg:"A jpeg image",png:"A png image",both:"Both a jpeg and a png"},jpegImageQuality:"JPEG image quality",embeddedArtworkPNG:"Save embedded artwork as PNG",embeddedPNGWarning:"PNGs are not officialy supported by Deezer and can be buggy",imageSizeWarning:"Anything above x1200 is not officialy used by Deezer, you may encounter issues",coverDescriptionUTF8:"Save cover description using UTF8 (iTunes Cover Fix)"},tags:{head:"Which tags to save",title:"Title",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Track Number",trackTotal:"Track Total",discNumber:"Disc Number",discTotal:"Disc Total",albumArtist:"Album Artist",genre:"Genre",year:"Year",date:"Date",explicit:"Explicit Lyrics",isrc:"ISRC",length:"Track Length",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"Unsynchronized Lyrics",syncedLyrics:"Synchronized Lyrics",copyright:"Copyright",composer:"Composer",involvedPeople:"Involved People",source:"Source and song ID"},other:{title:"Other",savePlaylistAsCompilation:"Save playlists as compilation",useNullSeparator:"Use null separator",saveID3v1:"Save ID3v1 as well",multiArtistSeparator:{title:"How would you like to separate your artists?",nothing:"Save only the main artist",default:"Using standard specification",andFeat:"Using & and feat.",using:'Using "{separator}"'},singleAlbumArtist:"Save only the main album artist",albumVariousArtists:'Keep "Various Artists" in the Album Artists',removeAlbumVersion:'Remove "Album Version" from track title',removeDuplicateArtists:"Remove combinations of artists",dateFormat:{title:"Date format for FLAC files",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"What should I do with featured artists?",0:"Nothing",1:"Remove it from the title",3:"Remove it from the title and the album title",2:"Move it to the title"},titleCasing:"Title casing",artistCasing:"Artist casing",casing:{nothing:"Keep unchanged",lower:"lowercase",upper:"UPPERCASE",start:"Start Of Each Word",sentence:"Like a sentence"},previewVolume:"Preview Volume",executeCommand:{title:"Command to execute after download",description:"Leave blank for no action"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"How do I enable Spotify Features?"},reset:"Reset to Default",resetMessage:"Are you sure you want to go back to default settings?",save:"Save",toasts:{init:"Settings loaded!",update:"Settings updated!",reset:"Settings reset to default!",ARLcopied:"ARL copied to clipboard"}},sidebar:{home:"home",search:"search",charts:"charts",favorites:"favorites",linkAnalyzer:"link analyzer",settings:"settings",about:"about"},tracklist:{downloadSelection:"Download selection"}},es={globals:{welcome:"Bienvenido a deemix",back:"atr\xE1s",loading:"cargando",download:"Descarga {thing}",by:"por {artist}",in:"en {album}",download_hint:"Descargar",play_hint:"Reproducir",toggle_download_tab_hint:"Expandir/Colapsar",clean_queue_hint:"Limpieza terminada",cancel_queue_hint:"Cancelar todo",open_downloads_folder:"Abrir la carpeta de descargas",cut:"cortar",copy:"copiar",copyLink:"copiar vinculo",copyImageLink:"copiar el v\xEDnculo de la imagen",copyDeezerLink:"copiar el v\xEDnculo de Deezer",paste:"pegar",listTabs:{empty:"",all:"todo",top_result:"mejor resultado",album:"\xE1lbum | \xE1lbumes",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"pista | pistas",trackN:"0 pistas | {n} pista | {n} pistas",releaseN:"0 entregas | {n} entrega | {n} entregas",playlist:"lista de reproducci\xF3n | listas de reproducci\xF3n",compile:"compilaci\xF3n | compilaciones",ep:"ep | eps",more:"M\xE1s \xE1lbumes",featured:"Aparece en",spotifyPlaylist:"lista de reproducci\xF3n spotify | listas de reproducci\xF3n spotify",releaseDate:"fecha de publicaci\xF3n",error:"error"}},about:{updates:{currentVersion:"Versi\xF3n actual",versionNotAvailable:"N/D",updateAvailable:"No est\xE1s ejecutando la \xFAltima versi\xF3n disponible: {versi\xF3n}",deemixVersion:"versi\xF3n de la biblioteca deemix"},titles:{usefulLinks:"Enlaces \xFAtiles",bugReports:"Reportar fallos",contributing:"Contribuye",donations:"Donaciones",license:"Licencia"},subtitles:{bugReports:"\xBFHay algo que no funcione en Deemix? \xA1D\xEDganoslo!",contributing:"\xBFQuieres contribuir a este proyecto? \xA1Puedes hacerlo de diferentes maneras!",donations:"\xBFQuiere contribuir monetariamente? \xA1Puedes hacer una donaci\xF3n!"},usesLibrary:"Esta aplicaci\xF3n usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.",thanks:"Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.",upToDate:{text:"Mantente al d\xEDa con las actualizaciones siguiendo el {newsChannel} en Telegram.",newsChannel:"canal de noticias"},officialWebsite:"P\xE1gina web oficial",officialRepo:"Repositorio de la biblioteca oficial",officialWebuiRepo:"Repositorio oficial de WebUI",officialSubreddit:"Subreddit oficial",newsChannel:"Canal de noticias",questions:{text:"Si tienes preguntas o problemas con la aplicaci\xF3n, busca una soluci\xF3n en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de informar de un error aseg\xFArese de que est\xE1 ejecutando la \xFAltima versi\xF3n de la aplicaci\xF3n y que lo que quiere informar es en realidad un error y no algo que est\xE1 mal s\xF3lo en su extremo.",beSure:"Aseg\xFArate de que el fallo es reproducible en otras m\xE1quinas y tambi\xE9n NO reporte un fallo si ya ha sido reportado.",duplicateReports:"Los informes de errores duplicados se cerrar\xE1n, as\xED que mant\xE9ngase al tanto de eso.",dontOpenIssues:"NO abra problemas para hacer preguntas, hay un subreddit para eso.",newUI:{text:"Si tienes fluidez en Python podr\xEDas intentar hacer una nueva interfaz de usuario para la aplicaci\xF3n usando la biblioteca base, o arreglar los errores de la biblioteca con una petici\xF3n pull en el {repo}.",repo:"repo"},acceptFeatures:"Tambi\xE9n acepto caracter\xEDsticas, pero no cosas complejas, ya que se pueden implementar directamente en la aplicaci\xF3n y no en la biblioteca.",otherLanguages:"\xA1Si dominas otro lenguaje de programaci\xF3n podr\xEDas intentar portar Deemix a otros lenguajes de programaci\xF3n!",understandingCode:"\xBFNecesitas ayuda para entender el c\xF3digo? S\xF3lo tienes que poner RemixDev en Telegram o Reddit.",contributeWebUI:{text:"Si conoces Vue.js (JavaScript), HTML o CSS podr\xEDas contribuir a la {webui}.",webui:"WebUI"},itsFree:"Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.",notObligated:"No te sientas obligado a donar, \xA1te aprecio de todas formas!",lincensedUnder:{text:"Esta obra est\xE1 autorizada bajo una {gpl3}.",gpl3:"GNU Licencia P\xFAblica General 3.0"}},charts:{title:"Listas",changeCountry:"Cambiar pa\xEDs",download:"Descargar la lista"},errors:{title:"Errores para {name}",ids:{invalidURL:"No se reconoce la URL",unsupportedURL:"La URL a\xFAn no est\xE1 soportada",ISRCnotOnDeezer:"La pista ISRC no est\xE1 disponible en Deezer",notYourPrivatePlaylist:"No puedes descargar otras listas de reproducci\xF3n privadas.",spotifyDisabled:"Las funciones de Spotify no est\xE1 configurado correctamente.",trackNotOnDeezer:"\xA1No se encontr\xF3 la pista en Deezer!",albumNotOnDeezer:"\xA1El \xE1lbum no se encuentra en Deezer!",notOnDeezer:"\xA1Pista no disponible en Deezer!",notEncoded:"\xA1Pista a\xFAn no codificada!",notEncodedNoAlternative:"\xA1Pista a\xFAn no codificada y no se ha encontrado ninguna alternativa!",wrongBitrate:"La pista no se encuentra a la velocidad de bitrate deseada.",wrongBitrateNoAlternative:"\xA1Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!",no360RA:"La pista no est\xE1 disponible en Reality Audio 360.",notAvailable:"\xA1La pista no est\xE1 disponible en los servidores de Deezer!",notAvailableNoAlternative:"\xA1La pista no est\xE1 disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!",noSpaceLeft:"\xA1No queda espacio en el dispositivo!"}},favorites:{title:"Favoritos",noPlaylists:"No se han encontrado listas de reproducci\xF3n",noAlbums:"No se han encontrado \xE1lbumes favoritos",noArtists:"No se han encontrado artistas favoritos",noTracks:"No se han encontrado pistas favoritas"},home:{needTologin:"Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.",openSettings:"Abrir la configuraci\xF3n",sections:{popularPlaylists:"Listas de reproducci\xF3n populares",popularAlbums:"Los \xE1lbumes m\xE1s stremeados"}},linkAnalyzer:{info:"Puedes usar esta secci\xF3n para encontrar m\xE1s informaci\xF3n sobre el enlace que est\xE1s tratando de descargar.",useful:"Esto es \xFAtil si est\xE1 tratando de descargar algunas pistas que no est\xE1n disponibles en su pa\xEDs y quiere saber d\xF3nde est\xE1n disponibles, por ejemplo.",linkNotSupported:"Este enlace a\xFAn no est\xE1 soportado",linkNotSupportedYet:"Parece que este enlace a\xFAn no est\xE1 soportado, intenta analizar otro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duraci\xF3n",diskNumber:"N\xFAmero del disco",trackNumber:"N\xFAmero de la pista",releaseDate:"Fecha de lanzamiento",bpm:"BPM",label:"Etiqueta",recordType:"Tipo de grabaci\xF3n",genres:"G\xE9neros",tracklist:"Lista de pista"}},search:{startSearching:"\xA1Comienza a buscar!",description:"Puedes buscar un tema, un \xE1lbum entero, un artista, una lista de reproducci\xF3n... \xA1todo! Tambi\xE9n puedes pegar un enlace de Deezer",fans:"{n} fans",noResults:"Ningun resultado",noResultsTrack:"No se encontraron pistas",noResultsAlbum:"No se encontraron \xE1lbumes",noResultsArtist:"No se encontraron artistas",noResultsPlaylist:"No se encontraron listas de reproducci\xF3n"},searchbar:"Busca lo que quieras (o simplemente pega un enlace)",downloads:"descargas",toasts:{restoringQueue:"Restaurando la cola de descarga...",queueRestored:"\xA1Cola de descarga restaurada!",addedToQueue:"{item} a\xF1adidos a la cola",addedMoreToQueue:"{n} elementos a\xF1adidos a la cola",alreadyInQueue:"\xA1{item} ya est\xE1 en la cola!",finishDownload:"{item} terminado de descargar.",allDownloaded:"\xA1Todas las descargas se han completado!",refreshFavs:"\xA1Actualizaci\xF3n completada!",loggingIn:"Conectando...",loggedIn:"Conectado",alreadyLogged:"Ya est\xE1 conectado",loginFailed:"No se puede conectar",loggedOut:"Desconectado",cancellingCurrentItem:"Cancelando el elemento actual.",currentItemCancelled:"El elemento actual se ha cancelado.",startAddingArtist:"A\xF1adiendo los \xE1lbumes de {artist} a la cola",finishAddingArtist:"Se ha a\xF1adido los \xE1lbumes de {artist} a la cola",startConvertingSpotifyPlaylist:"Convertir las pistas de Spotify en pistas de Deezer",finishConvertingSpotifyPlaylist:"Lista de reproducci\xF3n de Spotify convertida",loginNeededToDownload:"\xA1Necesitas iniciar sesi\xF3n para descargar t\xEDtulos!",deezerNotAvailable:"Deezer no est\xE1 disponible en su pa\xEDs. Deber\xEDas usar una VPN."},settings:{title:"Configuraci\xF3n",languages:"Idiomas",login:{title:"Iniciar Sesi\xF3n",loggedIn:"Usted est\xE1 conectado como {nombre de usuario}",arl:{question:"\xBFC\xF3mo consigo mi propio ARL?",update:"Actualiza la ARL"},logout:"Cerrar Sesi\xF3n",login:"Inicia sesi\xF3n a trav\xE9s de deezer.com"},appearance:{title:"Apariencia",slimDownloadTab:"Pesta\xF1a de descargas fina"},downloadPath:{title:"Ruta de descarga"},templates:{title:"Plantillas",tracknameTemplate:"Plantilla de nombres de pista",albumTracknameTemplate:"Plantilla de pista del \xE1lbum",playlistTracknameTemplate:"Plantilla de pista de la lista de reproducci\xF3n"},folders:{title:"Carpetas",createPlaylistFolder:"Crear una carpeta para las listas de reproducci\xF3n",playlistNameTemplate:"Plantilla de la carpeta de la lista de reproducci\xF3n",createArtistFolder:"Crear carpeta para el artista",artistNameTemplate:"Plantilla de la carpeta del artista",createAlbumFolder:"Crear carpeta para el \xE1lbum",albumNameTemplate:"Plantilla de la carpeta del \xE1lbum",createCDFolder:"Crear una carpeta para los CDs",createStructurePlaylist:"Crear una estructura de carpetas para las listas de reproducci\xF3n",createSingleFolder:"Crear una estructura de carpetas para individuales"},trackTitles:{title:"T\xEDtulos de las pistas",padTracks:"Pad de pistas",paddingSize:"Sobrescribir el tama\xF1o del pad",illegalCharacterReplacer:"Reemplazo del car\xE1cter ilegal"},downloads:{title:"Descargas",queueConcurrency:"Descargas simult\xE1neas",maxBitrate:{title:"Tasa de bits preferida",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\xBFDesea que se sobreescriban los archivos?",y:"S\xED, sobrescribir el archivo",n:"No, no sobrescribir el archivo",t:"Sobrescribir s\xF3lo las etiquetas",b:"No, mantener los dos archivos y agregar un n\xFAmero al archivo duplicado",e:"No, y no mirar las extensiones"},fallbackBitrate:"La soluci\xF3n alternativa de bitrate",fallbackSearch:"B\xFAsqueda de la segunda opci\xF3n",logErrors:"Crear archivos de registro de errores",logSearched:"Crear archivos de registro para las pistas buscadas",createM3U8File:"Crear archivo de la lista de reproducci\xF3n",syncedLyrics:"Crear archivos .lyr (lyrics sincronizadas)",playlistFilenameTemplate:"Plantilla de nombres de archivos de la lista de reproducci\xF3n",saveDownloadQueue:"Guardar la cola de descarga al cerrar la aplicaci\xF3n"},covers:{title:"Portadas de \xE1lbumes",saveArtwork:"Guardar las portadas",coverImageTemplate:"Plantilla de nombres de portada",saveArtworkArtist:"Guardar imagen de artista",artistImageTemplate:"Plantilla de imagen de artista",localArtworkSize:"El tama\xF1o de la portada local",embeddedArtworkSize:"El tama\xF1o de la portada incorporada",localArtworkFormat:{title:"\xBFQu\xE9 formato quieres que tenga la portada local?",jpg:"Una imagen jpeg",png:"Una imagen png",both:"Ambos, jpeg y png"},jpegImageQuality:"Calidad de la imagen JPEG",embeddedArtworkPNG:"Guardar las im\xE1genes incrustadas como PNG",embeddedPNGWarning:"Las PNG no est\xE1n oficialmente soportadas por Deezer y puedes encontrar errores.",imageSizeWarning:"Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes",coverDescriptionUTF8:"Guardar la descripci\xF3n de la portada usando UTF8 (arregla la portada de iTunes)"},tags:{head:"\xBFQu\xE9 etiquetas guardar?",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Portada",trackNumber:"N\xFAmero de pista",trackTotal:"Total de pistas",discNumber:"N\xFAmero del disco",discTotal:"Total del disco",albumArtist:"Artista del \xE1lbum",genre:"G\xE9nero",year:"A\xF1o",date:"Fecha",explicit:"Letras expl\xEDcitas",isrc:"ISRC",length:"Duraci\xF3n de la pista",barcode:"C\xF3digo de barras del \xE1lbum (UPC)",bpm:"BPM",replayGain:"Ganancia de la reproducci\xF3n",label:"Etiqueta del \xE1lbum",lyrics:"Lyrics no sincronizadas",syncedLyrics:"Lyrics sincronizadas",copyright:"Derechos de autor",composer:"Compositor",involvedPeople:"Personas involucradas"},other:{title:"Otro",savePlaylistAsCompilation:"Guardar las listas de reproducci\xF3n como una compilaci\xF3n",useNullSeparator:"Usar separador nulo",saveID3v1:"Guarda la ID3v1 tambi\xE9n",multiArtistSeparator:{title:"\xBFC\xF3mo le gustar\xEDa separar a sus artistas?",nothing:"Guardar s\xF3lo el artista principal",default:"Usar la especificaci\xF3n est\xE1ndar",andFeat:"Usar & y feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar s\xF3lo el artista principal del \xE1lbum",albumVariousArtists:'Mantener "Various Artists" en los artistas del \xE1lbum',removeAlbumVersion:'Eliminar "Album Version" del t\xEDtulo de la pista',removeDuplicateArtists:"Eliminar las combinaciones de artistas",dateFormat:{title:"Formato de fecha para los archivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"\xBFQu\xE9 debo hacer con los artistas destacados?",0:"Nada",1:"Quitarlo del t\xEDtulo",3:"Quitarlo del t\xEDtulo y del t\xEDtulo del \xE1lbum",2:"Moverlo al t\xEDtulo"},titleCasing:"Capitalizar t\xEDtulo",artistCasing:"Capitalizar artista",casing:{nothing:"Mant\xE9ner sin cambios",lower:"min\xFAsculas",upper:"MAY\xDASCULAS",start:"Al Principio De Cada Palabra",sentence:"Como una frase"},previewVolume:"Volumen de previsualizaci\xF3n",executeCommand:{title:"Comando a ejecutar despu\xE9s de la descarga",description:"Dejar en blanco para no hacer nada"}},spotify:{title:"Funciones de Spotify",clientID:"ID del cliente de Spotify",clientSecret:"Cliente Secreto Spotify",username:"Nombre de usuario de Spotify"},reset:"Restablecer el valor por defecto",save:"Guardar",toasts:{init:"\xA1Configuraciones cargadas!",update:"\xA1Ajustes actualizados!",ARLcopied:"ARL copiado al portapapeles"}},sidebar:{home:"inicio",search:"buscar",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizar enlaces",settings:"ajustes",about:"acerca de"},tracklist:{downloadSelection:"Descargar selecci\xF3n"}},de={globals:{welcome:"Willkommen bei deemix",back:"zur\xFCck",loading:"l\xE4dt",download:"Download {thing}",by:"von {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Erweitern/Minimieren",clean_queue_hint:"Entferne vollst\xE4ndige",cancel_queue_hint:"Alle abbrechen",listTabs:{empty:"",all:"alle",top_result:"Top Ergebnis",album:"Album | Alben",artist:"K\xFCnstler | K\xFCnstler",single:"Single | Singles",title:"Titel | Titel",track:"Track | Tracks",trackN:"0 Tracks | {n} Track | {n} Tracks",releaseN:"0 Releases | {n} Release | {n} Releases",playlist:"Playlist | Playlists",compile:"Sammlung | Sammlungen",ep:"EP | EPs",spotifyPlaylist:"Spotify Playlist | Spotify Playlists",releaseDate:"Ver\xF6ffentlichungsdatum",error:"Fehler"}},about:{titles:{usefulLinks:"N\xFCtzliche Links",bugReports:"Fehlermeldung",contributing:"Mitwirkende",donations:"Spenden",license:"Lizenz"},subtitles:{bugReports:"Funktioniert etwas in Deemix nicht? Sag uns bescheid!",contributing:"Du m\xF6chtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!",donations:"Du m\xF6chtest deemix finanziell unterst\xFCtzen? Dann lasse eine kleine Spende da!"},usesLibrary:"Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.",thanks:"Ein Dankesch\xF6n geht an rtonno, uhwot and lollilol f\xFCr die Hilfe bei diesem Projekt und an BasCurtiz f\xFCr die Erstellung des Logos.",upToDate:{text:"Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.",newsChannel:"News Channel"},officialWebsite:"Offizielle Website",officialRepo:"Offizielle Library Repository",officialWebuiRepo:"Offizielle WebUI Repository",officialSubreddit:"Offizieller Subreddit",newsChannel:"News Channel",questions:{text:"Bei Fragen oder Problemen mit der App, suche als erstes nach einer L\xF6sung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.",subreddit:"Subreddit"},beforeReporting:"Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden m\xF6chtest, tats\xE4chlich ein Bug ist und nicht nur bei dir falsch ist.",beSure:"Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.",duplicateReports:"Doppelte Fehlerberichte werden geschlossen, achte darauf.",dontOpenIssues:"ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit daf\xFCr.",newUI:{text:"Wenn du Python flie\xDFend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfl\xE4che f\xFCr die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.",repo:"deemix Repo"},acceptFeatures:"Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden k\xF6nnen.",otherLanguages:"Wenn du eine andere Programmiersprache flie\xDFend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!",understandingCode:"Du ben\xF6tigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.",contributeWebUI:{text:"Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, k\xF6nntest du etwas zum {webui} beitragen.",webui:"WebUI"},itsFree:"Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die K\xFCnstler unterst\xFCtzen, die du magst bevor du die Entwickler unterst\xFCtzt.",notObligated:"F\xFChle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!",lincensedUnder:{text:"Diese Arbeit ist lizensiert unter der {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Land wechseln",download:"Download Chart"},errors:{title:"Errors f\xFCr {name}",ids:{invalidURL:"URL nicht erkannt",unsupportedURL:"URL noch nicht unterst\xFCtzt",ISRCnotOnDeezer:"Track ISRC ist auf deezer nicht verf\xFCgbar",notYourPrivatePlaylist:"Du kannst keine privaten Playlisten anderer herunterladen.",spotifyDisabled:"Spotify-Funktionen sind nicht richtig eingerichtet",trackNotOnDeezer:"Track ist nicht verf\xFCgbar auf Deezer!",albumNotOnDeezer:"Album auf Deezer nicht gefunden!",notOnDeezer:"Track auf Deezer nicht verf\xFCgbar!",notEncoded:"Track noch nicht codiert!",notEncodedNoAlternative:"Track noch nicht codiert und keine Alternative gefunden!",wrongBitrate:"Track mit gew\xFCnschter Bitrate nicht gefunden.",wrongBitrateNoAlternative:"Track mit gew\xFCnschter Bitrate nicht gefunden und keine Alternative gefunden!",no360RA:"Track ist nicht verf\xFCgbar in Reality Audio 360.",notAvailable:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer!",notAvailableNoAlternative:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer und keine Alternativen gefunden!!"}},favorites:{title:"Favoriten",noPlaylists:"Keine Playlist gefunden",noAlbums:"Keine favorisierten Alben gefunden",noArtists:"Keine favorisierten K\xFCnstler gefunden",noTracks:"Keine favorisierten Tracks gefunden"},home:{needTologin:"Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.",openSettings:"Einstellungen \xF6ffnen",sections:{popularPlaylists:"Beliebte Playlists",popularAlbums:"Meistgestreamte Alben"}},linkAnalyzer:{info:"Diesen Abschnitt kannst du nutzen, um weitere Informationen \xFCber den gew\xFCnschten Link zu erhalten, den du herunterladen m\xF6chtest.",useful:"Dies ist z.B. n\xFCtzlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verf\xFCgbar sind, und du wissen m\xF6chtest, wo sie verf\xFCgbar sind.",linkNotSupported:"Dieser Link wird noch nicht unterst\xFCtzt",linkNotSupportedYet:"Es scheint so, als ob dieser Link noch nicht unterst\xFCtzt wird. Versuche einen anderen Link zu analysieren.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dauer",diskNumber:"CD Nummer",trackNumber:"Track Nummer",releaseDate:"Ver\xF6ffentlichungsdatum",bpm:"BPM",label:"Label",recordType:"Art der Aufnahme",genres:"Genres",tracklist:"Trackliste"}},search:{startSearching:"Suche starten!",description:"Du kannst einen Titel, ein ganzes Album, einen K\xFCnstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einf\xFCgen",fans:"{n} Fans",noResults:"Keine Ergebnisse",noResultsTrack:"Keine Tracks gefunden",noResultsAlbum:"Keine Alben gefunden",noResultsArtist:"Keinen K\xFCnstler gefunden",noResultsPlaylist:"Keine Playlist gefunden"},searchbar:"Suche nach allem, was dir gef\xE4llt (oder f\xFCge einfach einen Link ein)",downloads:"Downloads",toasts:{addedToQueue:"{item} zur Warteschlange hinzugef\xFCgt",alreadyInQueue:"{item} ist bereits in der Warteschlange!",finishDownload:"{item} vollst\xE4ndig heruntergeladen.",allDownloaded:"Alle Downloads abgeschlossen!",refreshFavs:"Abgeschlossene Downloads neu laden!",loggingIn:"Einloggen",loggedIn:"Eingeloggt",alreadyLogged:"Bereits eingeloggt",loginFailed:"Login fehlgeschlagen",loggedOut:"Ausgeloggt",cancellingCurrentItem:"Aktuelle Auswahl abbrechen.",currentItemCancelled:"Aktuelle Auswahl wurde abgebrochen",startAddingArtist:"{artist} Alben werden hinzugef\xFCgt",finishAddingArtist:"{artist} Alben wurden hinzugef\xFCgt",startConvertingSpotifyPlaylist:"Konvertierern von Spotify-Tracks zu Deezer-Tracks",finishConvertingSpotifyPlaylist:"Spotify Playlist convertiert"},settings:{title:"Einstellungen",languages:"Sprachen",login:{title:"Login",loggedIn:"Du bist eingeloggt als {username}",arl:{question:"Wie bekomme ich meine eigene ARL?",update:"Update ARL"},logout:"Logout"},appearance:{title:"Design",slimDownloadTab:"schmaler Download-Tab"},downloadPath:{title:"Download Pfad"},templates:{title:"Vorlagen",tracknameTemplate:"Vorlage f\xFCr den Tracknamen",albumTracknameTemplate:"Vorlage f\xFCr Tracks in einem Album",playlistTracknameTemplate:"Vorlage f\xFCr Tracks in einer Playlist"},folders:{title:"Folders",createPlaylistFolder:"Ordner f\xFCr Playlist erstellen",playlistNameTemplate:"Vorlage f\xFCr Playlist-Ordner",createArtistFolder:"Ordner f\xFCr K\xFCnstler erstellen",artistNameTemplate:"Vorlage f\xFCr K\xFCnstler-Ordner",createAlbumFolder:"Ordner f\xFCr Album erstellen",albumNameTemplate:"Vorlage f\xFCr Album-Ordner",createCDFolder:"Ordner f\xFCr CDs erstellen",createStructurePlaylist:"Erstellen von K\xFCnstler-, Alben- und CD-Ordnern auch f\xFCr Playlists",createSingleFolder:"Ordner f\xFCr einzelne Titel erstellen"},trackTitles:{title:"Songtitel",padTracks:"Einheitliche L\xE4nge der Titelnummern (voranstehende Nullen werden erg\xE4nzt)",paddingSize:"Innenabstand \xFCberschreiben",illegalCharacterReplacer:"Unzul\xE4ssige Zeichen ersetzen"},downloads:{title:"Downloads",queueConcurrency:"Gleichzeitige Downloads",maxBitrate:{title:"Bevorzugte Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Soll ich die Dateien \xFCberchreiben?",y:"Ja \xFCberschreibe die Dateien",n:"Nein \xFCberschreibe die Dateien nicht",t:"\xDCberschreibe nur die Tags",b:"Nein, behalte beide Dateien und f\xFCge der Kopie eine Nummer hinzu"},fallbackBitrate:"Falls gew\xFCnschte Bitrate nicht verf\xFCgbar, auf niedrigere Bitrate zur\xFCckgreifen",fallbackSearch:"Zur Suche zur\xFCckkehren, wenn der Song nicht verf\xFCgbar ist",logErrors:"Protokolldatei f\xFCr Fehler im Download-Ordner erstellen",logSearched:"Protokolldatei f\xFCr gesuchte Titel erstellen",createM3U8File:"Erstelle Playlist-Datei (M3U8)",syncedLyrics:"Erstelle synchrone Lyrics-Datei (.lyr)",playlistFilenameTemplate:"Vorlage f\xFCr den Namen der Playlist",saveDownloadQueue:"Download-Warteschlange beim Schlie\xDFen der App speichern"},covers:{title:"Album Cover",saveArtwork:"Cover speichern",coverImageTemplate:"Vorlage f\xFCr den Covernamen",saveArtworkArtist:"Speichere das K\xFCnstlerbild",artistImageTemplate:"Vorlage des K\xFCnstlerbildes",localArtworkSize:"Lokale Grafikgr\xF6\xDFe",embeddedArtworkSize:"Eingebettete Grafikgr\xF6\xDFe",localArtworkFormat:{title:"Welches Datei-Format soll das Cover haben?",jpg:"Ein jpg Bild",png:"Ein png Bild",both:"Beides (jpg + png)"},jpegImageQuality:"JPEG Qualit\xE4t"},tags:{head:"Welche Tags sollen gespeichert werden?",title:"Titel",artist:"K\xFCnstler",album:"Album",cover:"Cover",trackNumber:"Titelnummer",trackTotal:"Titelanzahl",discNumber:"CD Nummer",discTotal:"CDs insgesamt",albumArtist:"Album K\xFCnstler",genre:"Genre",year:"Jahr",date:"Datum",explicit:"Explizite Lyrics",isrc:"ISRC",length:"Titel L\xE4nge",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Wiedergabe Lautst\xE4rke",label:"Album Plattenlabel",lyrics:"Nicht synchronisierte Texte",copyright:"Copyright",composer:"Komponist",involvedPeople:"Mitwirkende Personen"},other:{title:"Sonstige",savePlaylistAsCompilation:"Speichere Playlist als Zusammenstellung",useNullSeparator:"Verwende Nulltrennzeichen",saveID3v1:"Speichere ID3v1 ebenfalls",multiArtistSeparator:{title:"Wie m\xF6chtest du die K\xFCnstler trennen?",nothing:"Speichere nur den Hauptk\xFCnstler",default:"Verwende Standard Spezifikationen",andFeat:"Verwende & und feat.",using:'Verwende "{separator}"'},singleAlbumArtist:"Nur den Hauptk\xFCnstler speichern",albumVariousArtists:'Verschiedene K\xFCnstler" im Album K\xFCnstler Tag behalten',removeAlbumVersion:'Entferne die "Album Version" vom Songtitel',removeDuplicateArtists:"Kombinationen von K\xFCnstlern entfernen",dateFormat:{title:"Datumsformatierung f\xFCr FLAC Dateien",year:"JJJJ",month:"MM",day:"TT"},featuredToTitle:{title:"Was soll ich mit featured Artists machen?",0:"Nichts",1:"Vom Titel entfernen",3:"Vom Titel und Albumtitel entfernen",2:"Zu dem Titel hinzuf\xFCgen"},titleCasing:"Titel-Schreibweise",artistCasing:"K\xFCnstler-Schreibweise",casing:{nothing:"Unbearbeitet lassen",lower:"klein",upper:"GROSS",start:"Wortanfang Gross",sentence:"Satzanfang gross"},previewVolume:"Vorschau der Lautst\xE4rke",executeCommand:{title:"Befehl, der nach dem Download ausgef\xFChrt werden soll",description:"Leer lassen ohne Aktion"}},spotify:{title:"Spotify Features",clientID:"Spotify Client ID",clientSecret:"Spotify Client Secret",username:"Spotify Benutzername"},reset:"Auf Standardwerte zur\xFCcksetzen",save:"Speichern",toasts:{init:"Einstellungen geladen!",update:"Einstellungen aktualisiert!",ARLcopied:"ARL wurde in die Zwischenablage kopiert"}},sidebar:{home:"Home",search:"Suche",charts:"Charts",favorites:"Favoriten",linkAnalyzer:"Link Analyse",settings:"Einstellungen",about:"Info"},tracklist:{downloadSelection:"Downloads"}},fr={globals:{welcome:"Bienvenue dans deemix",back:"retour",loading:"chargement en cours",download:"T\xE9l\xE9charger {thing}",by:"par {artist}",in:"dans {album}",download_hint:"T\xE9l\xE9charger",play_hint:"Lire",toggle_download_tab_hint:"D\xE9velopper/R\xE9duire",clean_queue_hint:"Retirer Les T\xE2ches Termin\xE9es",cancel_queue_hint:"Tout Annuler",open_downloads_folder:"Ouvrir Le Dossier De T\xE9l\xE9chargements",cut:"couper",copy:"copier",copyLink:"copier le lien",copyImageLink:"copier le lien de l'image",copyDeezerLink:"copier le lien deezer",paste:"coller",listTabs:{empty:"",all:"tout",top_result:"meilleur r\xE9sultat",album:"album | albums",artist:"artiste | artistes",single:"single | singles",title:"titre | titres",track:"piste | pistes",releaseN:"0 sortie | {n} sortie | {n} sorties",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"Plus d'albums",featured:"Appara\xEEt dans",spotifyPlaylist:"playlist spotify | playlists spotify",releaseDate:"date de sortie",error:"erreur",trackN:"0 piste | {n} piste | {n} pistes",albumN:"0 album | {n} album | {n} albums",artistN:"0 artiste | {n} artiste | {n} artistes",playlistN:"0 playlist | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app en ligne",offline:"app hors ligne"},updates:{currentVersion:"Version Actuelle",currentWebuiVersion:"Version Actuelle De La WebUI",versionNotAvailable:"N/A",updateAvailable:"Vous n'utilisez pas la derni\xE8re version disponible : {version}",deemixVersion:"Version de la biblioth\xE8que deemix"},titles:{usefulLinks:"Liens Utiles",bugReports:"Rapports De Bug",contributing:"Contribution",donations:"Dons",license:"Licence"},subtitles:{bugReports:"Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !",contributing:"Vous souhaitez contribuer \xE0 ce projet ? Vous pouvez le faire de diff\xE9rentes mani\xE8res !",donations:"Vous souhaitez contribuer financi\xE8rement ? Vous pouvez faire un don !"},usesLibrary:"Cette application utilise la biblioth\xE8que deemix, que vous pouvez exploiter afin de cr\xE9er votre propre interface utilisateur pour deemix.",thanks:"Merci \xE0 rtonno, uhwot et lollilol de m'avoir aid\xE9 dans ce projet ainsi qu'\xE0 BasCurtiz pour la cr\xE9ation de l'ic\xF4ne.",upToDate:{text:"Restez inform\xE9 des mises \xE0 jour en suivant le {newsChannel} sur Telegram.",newsChannel:"canal d'informations"},officialWebsite:"Site Officiel",officialRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La Biblioth\xE8que",officialWebuiRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La WebUI",officialSubreddit:"Subreddit Officiel",newsChannel:"Canal d'Informations",questions:{text:"Si vous avez des questions ou des probl\xE8mes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en d\xE9crivant votre probl\xE8me.",subreddit:"subreddit"},beforeReporting:"Avant de signaler un bug, assurez-vous que vous utilisez la version la plus r\xE9cente de l'application. V\xE9rifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre c\xF4t\xE9.",beSure:"Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a d\xE9j\xE0 \xE9t\xE9 recens\xE9.",duplicateReports:"Les rapports de bug r\xE9p\xE9titifs seront supprim\xE9s, merci d'en prendre bonne note.",dontOpenIssues:"NE PAS rapporter de probl\xE8me s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.",newUI:{text:"Si vous ma\xEEtrisez python, vous pouvez essayer de cr\xE9er une nouvelle interface utilisateur pour l'application \xE0 l'aide de la biblioth\xE8que de base, ou corriger des bugs dans la biblioth\xE8que \xE0 l'aide d'une demande de fusion de branches (pull request) sur le {repo}.",repo:"r\xE9pertoire de d\xE9p\xF4t"},acceptFeatures:"J'accepte \xE9galement les nouvelles fonctionnalit\xE9s, mais pas de choses complexes, dans la mesure o\xF9 elles peuvent \xEAtre impl\xE9ment\xE9es directement dans l'application et non dans la biblioth\xE8que.",otherLanguages:"Si vous ma\xEEtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !",understandingCode:"Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.",contributeWebUI:{text:"Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer \xE0 la {webui}.",webui:"WebUI"},itsFree:"N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes pr\xE9f\xE9r\xE9s avant de supporter les d\xE9veloppeurs.",notObligated:"Ne vous sentez pas oblig\xE9 de faire un don, vous \xEAtes tout de m\xEAme appr\xE9ci\xE9 !",lincensedUnder:{text:"Ce projet s'inscrit dans le cadre de la {gpl3}.",gpl3:"Licence publique g\xE9n\xE9rale GNU, version 3"}},charts:{title:"Classements",changeCountry:"Changer De Pays",download:"T\xE9l\xE9charger Le Classement"},errors:{title:"Erreurs pour {name}",ids:{invalidURL:"Cette URL n'est pas reconnue",unsupportedURL:"Cette URL n'est actuellement pas support\xE9e",ISRCnotOnDeezer:"L'ISRC de la piste est indisponible sur Deezer",notYourPrivatePlaylist:"Vous n'\xEAtes pas autoris\xE9 \xE0 t\xE9l\xE9charger les playlists priv\xE9es de quelqu'un d'autre.",spotifyDisabled:"Les Fonctionnalit\xE9s Spotify ne sont pas configur\xE9es correctement.",trackNotOnDeezer:"La piste est introuvable sur Deezer !",albumNotOnDeezer:"L'album est introuvable sur Deezer !",notOnDeezer:"La piste est indisponible sur Deezer !",notEncoded:"La piste n'a pas encore \xE9t\xE9 encod\xE9e !",notEncodedNoAlternative:"La piste n'a pas encore \xE9t\xE9 encod\xE9e et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",wrongBitrate:"La piste est introuvable au d\xE9bit souhait\xE9.",wrongBitrateNoAlternative:"La piste est introuvable au d\xE9bit souhait\xE9 et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",no360RA:"La piste est indisponible au format Reality Audio 360.",notAvailable:"La piste est indisponible sur les serveurs de Deezer !",notAvailableNoAlternative:"La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",noSpaceLeft:"L'espace disponible sur cet appareil est insuffisant !",albumDoesntExists:"Aucun album n'existe pour cette piste, impossible de collecter les informations n\xE9cessaires"}},favorites:{title:"Favoris",noPlaylists:"Aucune Playlist n'a \xE9t\xE9 trouv\xE9e",noAlbums:"Aucun Album Favori n'a \xE9t\xE9 trouv\xE9",noArtists:"Aucun Artiste Favori n'a \xE9t\xE9 trouv\xE9",noTracks:"Aucune Piste Favorite n'a \xE9t\xE9 trouv\xE9e"},home:{needTologin:"Vous devez vous connecter \xE0 votre compte Deezer avant de pouvoir d\xE9marrer un t\xE9l\xE9chargement.",openSettings:"Ouvrir Les Param\xE8tres",sections:{popularPlaylists:"Playlists les plus \xE9cout\xE9es",popularAlbums:"Albums les plus \xE9cout\xE9s"}},linkAnalyzer:{info:"Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de t\xE9l\xE9charger.",useful:"C'est utile si vous essayez, par exemple, de t\xE9l\xE9charger des pistes indisponibles dans votre pays et que vous souhaitez savoir o\xF9 elles sont disponibles.",linkNotSupported:"Ce lien n'est pas encore pris en charge",linkNotSupportedYet:"Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dur\xE9e",diskNumber:"Num\xE9ro De Disque",trackNumber:"Num\xE9ro De Piste",releaseDate:"Date De Sortie",bpm:"BPM",label:"Label",recordType:"Type d'Enregistrement",genres:"Genres",tracklist:"Liste Des Pistes"}},search:{startSearching:"D\xE9marrer une recherche !",description:"Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez \xE9galement coller un lien Deezer.",fans:"{n} fans",noResults:"Aucun r\xE9sultat",noResultsTrack:"Aucune piste n'a \xE9t\xE9 trouv\xE9e",noResultsAlbum:"Aucun album n'a \xE9t\xE9 trouv\xE9",noResultsArtist:"Aucun artiste n'a \xE9t\xE9 trouv\xE9",noResultsPlaylist:"Aucune playlist n'a \xE9t\xE9 trouv\xE9e"},searchbar:"Saisissez une requ\xEAte (ou collez simplement un lien)",downloads:"t\xE9l\xE9chargements",toasts:{restoringQueue:"Restauration de la file d'attente de t\xE9l\xE9chargement...",queueRestored:"La file d'attente de t\xE9l\xE9chargement a \xE9t\xE9 restaur\xE9e !",addedToQueue:"{item} ajout\xE9 \xE0 la file d'attente",addedMoreToQueue:"{n} \xE9l\xE9ments ajout\xE9s \xE0 la file d'attente",alreadyInQueue:"{item} est d\xE9j\xE0 dans la file d'attente !",finishDownload:"{item} a \xE9t\xE9 t\xE9l\xE9charg\xE9.",allDownloaded:"Tous les t\xE9l\xE9chargements sont termin\xE9s !",refreshFavs:"Actualisation termin\xE9e !",loggingIn:"Connexion en cours...",loggedIn:"Connect\xE9",alreadyLogged:"D\xE9j\xE0 connect\xE9",loginFailed:"Connexion impossible",loggedOut:"D\xE9connect\xE9",cancellingCurrentItem:"Annulation de l'\xE9l\xE9ment actuel.",currentItemCancelled:"\xC9l\xE9ment actuel annul\xE9.",startAddingArtist:"Ajout des albums de {artist} \xE0 la file d'attente",finishAddingArtist:"Les albums de {artist} ont \xE9t\xE9 ajout\xE9s \xE0 la file d'attente",startConvertingSpotifyPlaylist:"Conversion de pistes Spotify en \xE9quivalents Deezer",finishConvertingSpotifyPlaylist:"Playlist Spotify convertie",loginNeededToDownload:"Vous devez vous connecter pour pouvoir t\xE9l\xE9charger des pistes !",deezerNotAvailable:"Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.",startGeneratingItems:"Traitement de {n} \xE9l\xE9ments...",finishGeneratingItems:"{n} \xE9l\xE9ments ont \xE9t\xE9 g\xE9n\xE9r\xE9s."},settings:{title:"Param\xE8tres",languages:"Langues",login:{title:"Connexion",loggedIn:"Vous \xEAtes connect\xE9 en tant que {username}",arl:{question:"Comment obtenir mon ARL personnel ?",update:"Mettre \xE0 jour l'ARL"},logout:"D\xE9connexion",login:"Connexion via deezer.com"},appearance:{title:"Apparence",slimDownloadTab:"Onglet de t\xE9l\xE9chargement compact",slimSidebar:"Barre lat\xE9rale compacte"},downloadPath:{title:"Emplacement De T\xE9l\xE9chargement"},templates:{title:"Mod\xE8les",tracknameTemplate:"Mod\xE8le pour le nom de piste",tracknameAvailableVariables:"Variables disponibles pour le nom de piste",albumTracknameTemplate:"Mod\xE8le pour le nom de piste de l'album",albumTracknameAvailableVariables:"Variables disponibles pour le nom de piste de l'album",playlistTracknameTemplate:"Mod\xE8le pour le nom de piste de la playlist",playlistTracknameAvailableVariables:"Variables disponibles pour le nom de piste de la playlist"},folders:{title:"Dossiers",createPlaylistFolder:"G\xE9n\xE9rer des dossiers par playlist",playlistNameTemplate:"Mod\xE8le pour le nom du dossier de playlist",createArtistFolder:"G\xE9n\xE9rer des dossiers par artiste",artistNameTemplate:"Mod\xE8le pour le nom du dossier d'artiste",createAlbumFolder:"G\xE9n\xE9rer des dossiers par album",albumNameTemplate:"Mod\xE8le pour le nom du dossier d'album",createCDFolder:"G\xE9n\xE9rer des dossiers par CD",createStructurePlaylist:"G\xE9n\xE9rer une structure de dossiers pour les playlists",createSingleFolder:"G\xE9n\xE9rer une structure de dossiers pour les singles"},trackTitles:{title:"Titres des pistes",padTracks:"Longueur uniforme des num\xE9ros de piste (ajoute automatiquement des z\xE9ros devant le num\xE9ro initial de la piste)",paddingSize:"Nombre de z\xE9ros \xE0 ajouter en permanence devant le num\xE9ro initial de la piste",illegalCharacterReplacer:"Substitut aux caract\xE8res non autoris\xE9s (dans les noms de fichiers et de dossiers)"},downloads:{title:"T\xE9l\xE9chargements",queueConcurrency:"T\xE9l\xE9chargements Simultan\xE9s",maxBitrate:{title:"D\xE9bit Pr\xE9f\xE9r\xE9",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Les fichiers doivent-ils \xEAtre \xE9cras\xE9s ?",y:"Oui, \xE9craser le fichier",n:"Non, ne pas \xE9craser le fichier",t:"\xC9craser uniquement les m\xE9tadonn\xE9es",b:"Non, conserver les deux fichiers et ajouter un num\xE9ro au doublon",e:"Non, et ne pas tenir compte de l'extension du fichier"},fallbackBitrate:"Recourir \xE0 un d\xE9bit plus faible si le d\xE9bit pr\xE9f\xE9r\xE9 n'est pas disponible",fallbackSearch:"Rechercher la piste si le lien original n'est pas disponible",logErrors:"Cr\xE9er un fichier journal d'erreurs",logSearched:"Cr\xE9er un fichier journal des pistes recherch\xE9es",createM3U8File:"Cr\xE9er un fichier de playlist",syncedLyrics:"Cr\xE9er des fichiers .lyr (Paroles Synchronis\xE9es)",playlistFilenameTemplate:"Mod\xE8le du nom de fichier de la playlist",saveDownloadQueue:"Enregistrer la file d'attente de t\xE9l\xE9chargement \xE0 la fermeture de l'application"},covers:{title:"Pochettes d'albums",saveArtwork:"Enregistrer Les Pochettes",coverImageTemplate:"Mod\xE8le pour le nom de la pochette",saveArtworkArtist:"Enregistrer l'image de l'artiste",artistImageTemplate:"Mod\xE8le pour le nom de l'image de l'artiste",localArtworkSize:"Taille de l'illustration locale",embeddedArtworkSize:"Taille de l'illustration incorpor\xE9e aux fichiers audio",localArtworkFormat:{title:"Dans quel format souhaitez-vous l'illustration locale ?",jpg:"Une image jpeg",png:"Une image png",both:"\xC0 la fois jpeg et png"},jpegImageQuality:"Qualit\xE9 de l'image JPEG",embeddedArtworkPNG:"Enregistrer l'illustration incorpor\xE9e aux fichiers audio en tant que PNG",embeddedPNGWarning:"Les images PNG ne sont pas officiellement utilis\xE9es par Deezer et pourraient causer des probl\xE8mes.",imageSizeWarning:"Toute valeur sup\xE9rieure \xE0 x1200 n'est pas officiellement support\xE9e par Deezer, vous pourriez donc rencontrer des probl\xE8mes.",coverDescriptionUTF8:"Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)"},tags:{head:"M\xE9tadonn\xE9es \xE0 sauvegarder",title:"Titre",artist:"Artiste",album:"Album",cover:"Pochette",trackNumber:"Num\xE9ro De Piste",trackTotal:"Nombre De Pistes",discNumber:"Num\xE9ro Du Disque",discTotal:"Nombre De Disques",albumArtist:"Artiste De l'Album",genre:"Genre",year:"Ann\xE9e",date:"Date",explicit:"Paroles Explicites",isrc:"ISRC",length:"Longueur De La Piste",barcode:"Code-Barres De l'Album (UPC)",bpm:"BPM",replayGain:"Gain En Relecture (Replay Gain)",label:"Label De l'Album",lyrics:"Paroles Non-Synchronis\xE9es",syncedLyrics:"Paroles Synchronis\xE9es",copyright:"Droits d'Auteur (Copyright)",composer:"Compositeur",involvedPeople:"Personnes Impliqu\xE9es",source:"ID de la source et de la piste"},other:{title:"Autre",savePlaylistAsCompilation:"Enregistrer les playlists en tant que compilation",useNullSeparator:"Utiliser le caract\xE8re NULL comme s\xE9parateur",saveID3v1:"Enregistrer \xE9galement les m\xE9tadonn\xE9es ID3v1",multiArtistSeparator:{title:"Comment aimeriez-vous s\xE9parer les artistes ?",nothing:"Enregistrer uniquement l'artiste principal",default:"En utilisant la sp\xE9cification standard",andFeat:"En utilisant & et feat.",using:'En utilisant "{separator}"'},singleAlbumArtist:"Enregistrer uniquement l'artiste principal de l'album",albumVariousArtists:`Conserver "Various Artists" dans les Artistes de l'Album`,removeAlbumVersion:'Supprimer "Album Version" du titre de la piste',removeDuplicateArtists:"Supprimer les combinaisons d'artistes",dateFormat:{title:"Format de date pour les fichiers FLAC",year:"AAAA",month:"MM",day:"JJ"},featuredToTitle:{title:"Que faire des artistes participants (featuring) ?",0:"Ne rien faire",1:"Les retirer du titre de la piste",3:"Les supprimer du titre de la piste et du titre de l'album",2:"Les d\xE9placer vers le titre de la piste"},titleCasing:"Casse pour le titre",artistCasing:"Casse pour l'artiste",casing:{nothing:"Conserver inchang\xE9",lower:"minuscules",upper:"MAJUSCULES",start:"Majuscule Au D\xE9but De Chaque Mot",sentence:"Majuscule seulement au d\xE9but de la phrase"},previewVolume:"Volume sonore des aper\xE7us de pistes",executeCommand:{title:"Commande \xE0 ex\xE9cuter apr\xE8s le t\xE9l\xE9chargement",description:"Laisser vide pour qu'aucune action n'ait lieu"}},spotify:{title:"Fonctionnalit\xE9s Spotify",clientID:"clientID Spotify",clientSecret:"Client Secret Spotify",username:"Nom d'utilisateur Spotify",question:"Comment activer les Fonctionnalit\xE9s Spotify ?"},reset:"R\xE9tablir les valeurs par d\xE9faut",resetMessage:"Souhaitez-vous vraiment r\xE9tablir les param\xE8tres par d\xE9faut ?",save:"Sauvegarder",toasts:{init:"Param\xE8tres charg\xE9s !",update:"Param\xE8tres mis \xE0 jour !",reset:"Param\xE8tres r\xE9initialis\xE9s \xE0 leur valeur par d\xE9faut !",ARLcopied:"ARL copi\xE9 dans le presse-papier"}},sidebar:{home:"accueil",search:"recherche",charts:"classements",favorites:"favoris",linkAnalyzer:"analyseur de lien",settings:"param\xE8tres",about:"\xE0 propos"},tracklist:{downloadSelection:"T\xE9l\xE9charger la s\xE9lection"}},id={globals:{welcome:"Selamat datang di deemix",back:"kembali",loading:"memuat",download:"Mengunduh {thing}",by:"oleh {artist}",in:"di {album}",download_hint:"Unduh",play_hint:"Putar",toggle_download_tab_hint:"Buka/Tutup",clean_queue_hint:"Berhasil Mengosongkan",cancel_queue_hint:"Batalkan Semua",listTabs:{empty:"",all:"semua",top_result:"hasil teratas",album:"album | album",artist:"artis | artis",single:"singel | singel",title:"judul | judul",track:"lagu | lagu",trackN:"0 lagu | {n} lagu | {n} lagu",releaseN:"0 rilis | {n} rilis | {n} rilis",playlist:"daftar putar | daftar putar",compile:"kompilasi | kompilasi",ep:"ep | ep",spotifyPlaylist:"daftar putar spotify | daftar putar spotify",releaseDate:"tanggal rilis",error:"galat"}},about:{titles:{usefulLinks:"Tautan Berguna",bugReports:"Laporan Kesalahan",contributing:"Kontirbutor",donations:"Donasi",license:"Lisensi"},subtitles:{bugReports:"Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!",contributing:"Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!",donations:"Mau kontribusi secara finansial? Kamu bisa beri donasi!"},usesLibrary:"Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.",thanks:"Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.",upToDate:{text:"Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.",newsChannel:"kanal berita deemix"},officialWebsite:"Situs Web Resmi",officialRepo:"Repositori Pustaka Resmi",officialWebuiRepo:"Repositori WebUI Resmi",officialSubreddit:"Subreddit Resmi",newsChannel:"Kanal Berita",questions:{text:"Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.",subreddit:"subreddit"},beforeReporting:"Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.",beSure:"Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.",duplicateReports:"Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.",dontOpenIssues:"JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.",newUI:{text:"Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.",repo:"repo"},acceptFeatures:"Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.",otherLanguages:"Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!",understandingCode:"Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.",contributeWebUI:{text:"Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.",webui:"WebUI"},itsFree:"Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.",notObligated:"Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!",lincensedUnder:{text:"Pekerjaan ini ada di bawah lisensi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Tangga Lagu",changeCountry:"Ubah Negara",download:"Unduh Tangga Lagu"},errors:{title:"Galat untuk {name}",ids:{invalidURL:"URL tidak dikenal",unsupportedURL:"URL belum didukung",ISRCnotOnDeezer:"Lagu ISRC tidak tersedia di deezer",notYourPrivatePlaylist:"Kamu tidak bisa mengunduh daftar putar privat orang lain.",spotifyDisabled:"Fitur Spotify tidak diatur dengan benar.",trackNotOnDeezer:"Lagu tidak ditemukan di deezer!",albumNotOnDeezer:"Album tidak ditemukan di deezer!",notOnDeezer:"Lagu tidak ada di Deezer!",notEncoded:"Lagu belum di-encode!",notEncodedNoAlternative:"Lagu belum di-encode dan tidak ada alternatif lain!",wrongBitrate:"Lagu tidak tersedia pada bitrate yang diinginkan.",wrongBitrateNoAlternative:"Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!",no360RA:"Lagu tidak tersedia pada Reality Audio 360.",notAvailable:"Lagu tidak tersedia pada server deezer!",notAvailableNoAlternative:"Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!"}},favorites:{title:"Favorit",noPlaylists:"Daftar Putar kosong",noAlbums:"Album Favorit kosong",noArtists:"Artis Favorit kosong",noTracks:"Lagu Favorit kosong"},home:{needTologin:"Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.",openSettings:"Buka Pengaturan",sections:{popularPlaylists:"Daftar putar populer",popularAlbums:"Album paling banyak diputar"}},linkAnalyzer:{info:"Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.",useful:"Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.",linkNotSupported:"Tautan seperti ini belum didukung",linkNotSupportedYet:"Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durasi",diskNumber:"Nomor Disk",trackNumber:"Nomor Lagu",releaseDate:"Tanggal Rilis",bpm:"BPM",label:"Label",recordType:"Tipe Rekaman",genres:"Genre",tracklist:"Daftar Lagu"}},search:{startSearching:"Mulai cari!",description:"Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer",fans:"{n} fan",noResults:"Tak ada hasil",noResultsTrack:"Lagu tidak ditemukan",noResultsAlbum:"Album tidak ditemukan",noResultsArtist:"Artis tidak ditemukan",noResultsPlaylist:"Daftar putar tidak ditemukan"},searchbar:"Cari apa pun yang kamu mau (atau berikan tautannya saja)",downloads:"unduhan",toasts:{addedToQueue:"{item} ditambah ke antrian",alreadyInQueue:"{item} sudah ada di antrian!",finishDownload:"{item} selesai diunduh.",allDownloaded:"Seluruh unduhan selesai!",refreshFavs:"Penyegaran selesai!",loggingIn:"Masuk",loggedIn:"Telah masuk",alreadyLogged:"Telah masuk",loginFailed:"Tidak bisa masuk",loggedOut:"Belum masuk",cancellingCurrentItem:"Membatalkan item.",currentItemCancelled:"Item telah dibatalan.",startAddingArtist:"Menambahkan {artist} album ke antrian",finishAddingArtist:"{artist} album telah ditambahkan ke antrian",startConvertingSpotifyPlaylist:"Mengonversi lagu spotify ke deezer",finishConvertingSpotifyPlaylist:"Daftar putar Spotify selesai dikonversi"},settings:{title:"Pengaturan",languages:"Bahasa",login:{title:"Masuk",loggedIn:"Kamu telah masuk sebagai {username}",arl:{question:"Bagaimana cara mendapat ARL?",update:"Perbarui ARL"},logout:"Keluar"},appearance:{title:"Tampilan",slimDownloadTab:"Tab unduhan ramping"},downloadPath:{title:"Direktori Unduhan"},templates:{title:"Templat",tracknameTemplate:"Templat judul lagu",albumTracknameTemplate:"Templat judul album",playlistTracknameTemplate:"Templat judul daftar putar"},folders:{title:"Folders",createPlaylistFolder:"Buat folder untuk daftar putar",playlistNameTemplate:"Templat folder daftar putar",createArtistFolder:"Buat folder untuk artis",artistNameTemplate:"Templat folder artis",createAlbumFolder:"Buat folder untuk album",albumNameTemplate:"Templat folder album",createCDFolder:"Buat folder untuk CD",createStructurePlaylist:"Buat struktur folder untuk daftar putar",createSingleFolder:"Buat struktur folder untuk singel"},trackTitles:{title:"Judul lagu",padTracks:"Judul pad",paddingSize:"Timpa ukuran padding",illegalCharacterReplacer:"Pengubah Simbol Tak Terdukung"},downloads:{title:"Unduhan",queueConcurrency:"Unduhan Bersamaan",maxBitrate:{title:"Bitrate Prioritas",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Apakah file mau ditimpa?",y:"Ya, silakan",n:"Tidak, jangan ditimpa",t:"Timpa tag-nya saja"},fallbackBitrate:"Rendahkan bitrate",fallbackSearch:"Cari bitrate lebih rendah",logErrors:"Buat file log untuk galat",logSearched:"Buat file log untuk lagu yang dicari",createM3U8File:"Buat file daftar putar",syncedLyrics:"Buat file .lyr (Sinkronisasikan Lirik)",playlistFilenameTemplate:"Templat nama file untuk daftar putar",saveDownloadQueue:"Simpan antrian pengunduhan saat menutup aplikasi"},covers:{title:"Sampul album",saveArtwork:"Simpan Sampul",coverImageTemplate:"Templat nama sampul",saveArtworkArtist:"Simpan gambar artis",artistImageTemplate:"Templat gambar artis",localArtworkSize:"Ukuran sampul lokal",embeddedArtworkSize:"Ukuran sampul tertanam",localArtworkFormat:{title:"Format gambar apa yang kamu mau untuk sampul lokal?",jpg:"Gambar JPEG",png:"Gambar PNG",both:"Keduanya"},jpegImageQuality:"Kualitas gambar JPEG"},tags:{head:"Tag apa saja yang disimpan?",title:"Judul",artist:"Artis",album:"Album",cover:"Sampul",trackNumber:"Nomor Lagu",trackTotal:"Jumlah Lagu",discNumber:"Nomor Disk",discTotal:"Jumlah Disk",albumArtist:"Artis pada Album",genre:"Genre",year:"Tahun",date:"Tanggal",explicit:"Lirik Eksplisit",isrc:"ISRC",length:"Durasi",barcode:"Barcode Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label Album",lyrics:"Lirik Tak Tersinkronisasi",copyright:"Hak Cipta",composer:"Komposer",involvedPeople:"Orang-Orang Terlibat"},other:{title:"Lainnya",savePlaylistAsCompilation:"Simpan daftar putar sebagai kompilasi",useNullSeparator:"Gunakan separator null",saveID3v1:"Simpan juga ID3v1",multiArtistSeparator:{title:"Bagaimana kamu mau memisahkan nama artis?",nothing:"Simpan artis utamanya saja",default:"Gunakan spesifikasi standard",andFeat:"Gunakan & dan feat.",using:'Gunakan "{separator}"'},singleAlbumArtist:"Simpan artis utama saja",albumVariousArtists:'Simpan "Various Artists" sebagai artis',removeAlbumVersion:'Hapus "Versi Album" dari judul lagu',removeDuplicateArtists:"Hapus kombinasi artis",dateFormat:{title:"Format tanggal untuk file FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Apa yang harus dilakukan jika ada artis kedua?",0:"Biarkan saja",1:"Hapus dari judul lagu",3:"Hapus dari judul lagu dan judul album",2:"Pindahkan ke judul lagu"},titleCasing:"Kapitalisasi judul",artistCasing:"Kapitalisasi album",casing:{nothing:"Biarkan seadanya",lower:"huruf kecil",upper:"HURUF KAPITAL",start:"Setiap Awal Kata",sentence:"Huruf pertama saja"},previewVolume:"Pratinjau volume",executeCommand:{title:"Perintah yang dijalankan setelah pengunduhan",description:"Biarkan kosong jika tidak ada"}},spotify:{title:"Fitur Spotify",clientID:"clientID Spotify ",clientSecret:"Client Secret Spotify ",username:"Username Spotify"},reset:"Kembalikan ke Awal",save:"Simpan",toasts:{init:"Pengaturan dimuat!",update:"Pengaturan diperbarui!",ARLcopied:"ARL tersalin ke papan klip"}},sidebar:{home:"utama",search:"cari",charts:"tangga lagu",favorites:"favorit",linkAnalyzer:"penganalisa tautan",settings:"pengaturan",about:"tentang"},tracklist:{downloadSelection:"Seleksi unduhan"}},pt={globals:{welcome:"Bem-vindo ao deemix",back:"voltar",loading:"A carregar",download:"Transferir {thing}",by:"por {artist}",in:"em {album}",download_hint:"Transferir",play_hint:"Tocar",toggle_download_tab_hint:"Expandir/Recolher",clean_queue_hint:"Limpar Finalizados",cancel_queue_hint:"Cancelar Tudo",listTabs:{empty:"",all:"Tudo",top_result:"melhor resultado",album:"\xE1lbum | \xE1lbums",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amentos | {n} lan\xE7amento | {n} lan\xE7amento",playlist:"lista de reprodu\xE7\xE3o | listas de reprodu\xE7\xE3o",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"lista de reprodu\xE7\xE3o spotify | listas de reprodu\xE7\xE3o spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relat\xF3rio de erros",contributing:"Contribuir",donations:"Doa\xE7\xF5es",license:"Licen\xE7as"},subtitles:{bugReports:"Existe alguma coisa que n\xE3o funciona no deemix? Informa-nos!",contributing:"Queres contribuir para o projecto? Podes faz\xEA-lo de diferentes formas!",donations:"Desejas contribuir monetariamente? Faz uma doa\xE7\xE3o!"},usesLibrary:"Esta aplica\xE7\xE3o usa a biblioteca deemix, que poder\xE1s usar para desenvolver o teu proprio UI para o deemix.",thanks:"Agrade\xE7o a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o \xEDcone.",upToDate:{text:"Mantem-te atualizado seguindo o {newsChannel} no Telegram.",newsChannel:"canal de not\xEDcias"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio Oficial da Biblioteca",officialWebuiRepo:"Reposit\xF3rio Oficial WebUI",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solu\xE7\xE3o no {subreddit}. Caso n\xE3o encontres nada podes criar um post com a tua quest\xE3o no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportares um bug certifica-te que est\xE1s a correr a vers\xE3o mais recente e que o que queres reportar \xE9 mesmo um bug e n\xE3o algo que apenas n\xE3o funciona do teu lado.",beSure:"Certifica-te que o erro \xE9 reprodutivel noutros dispositivos e N\xC3O reportes um bug que j\xE1 tenha sido reportado.",duplicateReports:"Bug reports duplicados ser\xE3o fechados, mant\xE9m-te atento a isso.",dontOpenIssues:"N\xC3O abras issues para colocar quest\xF5es, existe um subreddit para isso.",newUI:{text:"Caso sejas fluente em python podes tentar criar um novo UI para a aplica\xE7\xE3o recorrendo \xE0 biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.",repo:"reposit\xF3rio"},acceptFeatures:"Tamb\xE9m aceito funcionalidades n\xE3o complexas caso possam ser implementadas directamente na app e n\xE3o na biblioteca.",otherLanguages:"Caso sejas fluente noutra linguagem de programa\xE7\xE3o podes tentar migrar o deemix para outra linguagem de programa\xE7\xE3o!",understandingCode:"Precisas de ajuda a entender o c\xF3digo? Acede a RemixDev no Telegram ou no Reddit.",contributeWebUI:{text:"Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.",webui:"WebUI"},itsFree:"Deves ter em conta que que este projecto \xE9 gratuito e dever\xE1s apoiar os artistas que aprecias antes de apoiares os programadores.",notObligated:"N\xE3o te sintas obrigado a doar, agrade\xE7o-te na mesma!",lincensedUnder:{text:"Este trabalho esta licenciado sobre a {gpl3}.",gpl3:"GNU Licen\xE7a publica geral 3.0"}},charts:{title:"Tabelas",changeCountry:"Alterar pa\xEDs",download:"Transferir tabela"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL n\xE3o reconhecido",unsupportedURL:"URL ainda n\xE3o suportado",ISRCnotOnDeezer:"Faixa ISRC n\xE3o dispon\xEDvel no deezer",notYourPrivatePlaylist:"Nao podes baixar listas de reprodu\xE7\xE3o privadas de outros.",spotifyDisabled:"Funcionalidades do Spotify n\xE3o est\xE3o definidas corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"\xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa n\xE3o encontrada no Deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e n\xE3o foi encontrada alternativa!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e n\xE3o foi encontrada alternativa!",no360RA:"Faixa n\xE3o dispon\xEDvel em Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e n\xE3o foi encontrada alternativa!"}},favorites:{title:"Favoritos",noPlaylists:"Listas de reprodu\xE7\xE3o n\xE3o encontradas",noAlbums:"\xC1lbuns favoritos n\xE3o encontrados",noArtists:"Artistas favoritos n\xE3o encontrados",noTracks:"Faixas favoritas n\xE3o encontradas"},home:{needTologin:"Antes de iniciar transfer\xEAncias \xE9 necess\xE1rio efectuar autentica\xE7\xE3o na conta Deezer.",openSettings:"Abrir Defini\xE7\xF5es",sections:{popularPlaylists:"Listas de reprodu\xE7\xE3o populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Podes usar esta sec\xE7\xE3o para obteres mais informa\xE7\xE3o sobre o link que est\xE1s a tentar transferir.",useful:"Isto \xE9 \xFAtil caso estejas a tentar transferir faixas que n\xE3o est\xE3o dispon\xEDveis no teu pa\xEDs e queres saber onde est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Este link ainda n\xE3o \xE9 suportado",linkNotSupportedYet:"Parece que este link ainda n\xE3o \xE9 suportado, tenta analisar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do disco",trackNumber:"N\xFAmero da faixa",releaseDate:"Data de lan\xE7amento",bpm:"BPM",label:"Editora",recordType:"Tipo de Disco",genres:"G\xE9neros",tracklist:"Lista de faixas"}},search:{startSearching:"Come\xE7a a pesquisar!",description:"Podes perquisar uma m\xFAsica, um \xE1lbum inteiro, um artista, uma lista de reprodu\xE7\xE3o... tudo! Tamb\xE9m podes colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Faixa n\xE3o encontrada",noResultsAlbum:"\xC1lbum n\xE3o encontrado",noResultsArtist:"Artista n\xE3o encontrado",noResultsPlaylist:"Lista de reprodu\xE7\xE3o n\xE3o encontrada"},searchbar:"Pesquisa o que quiseres (ou cola um link)",downloads:"transfer\xEAncias",toasts:{addedToQueue:"{item} adicionados \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} foi transferido.",allDownloaded:"Todas as transfer\xEAncias terminadas!",refreshFavs:"Actualizar terminados!",loggingIn:"A autenticar",loggedIn:"Autenticado",alreadyLogged:"J\xE1 est\xE1s autenticado",loginFailed:"Nao foi possivel iniciar sess\xE3o",loggedOut:"Desconectado",cancellingCurrentItem:"A cancelar item actual.",currentItemCancelled:"Item actual cancelado.",startAddingArtist:"A adicionar {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"Adicionados {artist} \xE1lbuns \xE0 fila",startConvertingSpotifyPlaylist:"A converter faixas do spotify em faixas do deezer",finishConvertingSpotifyPlaylist:"Lista de reprodu\xE7\xE3o do Spotify convertida."},settings:{title:"Defini\xE7\xF5es",languages:"Idioma",login:{title:"Inicio de Sess\xE3o",loggedIn:"Est\xE1s autenticado como {username}",arl:{question:"Como obter o meu ARL?",update:"Actualizar ARL"},logout:"Sair"},appearance:{title:"Aspecto",slimDownloadTab:"Aba de transfer\xEAncias estreita"},downloadPath:{title:"Caminho das transfer\xEAncias"},templates:{title:"Formatos",tracknameTemplate:"Formato do nome de faixa",albumTracknameTemplate:"Formato do nome de \xC1lbum",playlistTracknameTemplate:"Formato do nome de lista de reprodu\xE7\xE3o"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para lista de reprodu\xE7\xE3o",playlistNameTemplate:"Formato da pasta de lista de reprodu\xE7\xE3o",createArtistFolder:"Criar pasta para artista",artistNameTemplate:"Formato da pasta de artista",createAlbumFolder:"Criar pasta para \xE1lbum",albumNameTemplate:"Formato da pasta de \xE1lbum",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para listas reprodu\xE7\xE3o",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo",padTracks:"Bloco de Faixas",paddingSize:"Substituir tamanho do preenchimento",illegalCharacterReplacer:"Substituir caractere inv\xE1lido"},downloads:{title:"Transfer\xEAncias",queueConcurrency:"Transfer\xEAncias concorrentes",maxBitrate:{title:"Bitrate preferencial",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Ficheiros existentes. Substituir?",y:"Sim, substituir o ficheiro",n:"N\xE3o substituir o ficheiro",t:"Subescrever apenas as etiquetas"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Fallback de pesquisa",logErrors:"Criar hist\xF3rico para erros",logSearched:"Criar hist\xF3rico para faixas pesquisadas",createM3U8File:"Criar ficheiro de lista de reprodu\xE7\xE3o",syncedLyrics:"Criar ficheiro .lyr (Letra Sincronizada)",playlistFilenameTemplate:"Formato do nome de ficheiro da lista de reprodu\xE7\xE3o",saveDownloadQueue:"Guardar fila de transfer\xEAncias ao fechar a aplica\xE7\xE3o"},covers:{title:"Capas do \xC1lbum",saveArtwork:"Guardar capas",coverImageTemplate:"Modelo do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Modelo de imagem do artista",localArtworkSize:"Tamanho do trabalho art\xEDstico local",embeddedArtworkSize:"Tamanho do trabalho art\xEDstico incorporado",localArtworkFormat:{title:"Em que formato desejas o trabalho art\xEDstico local?",jpg:"Em imagem jpeg",png:"Em imagem png",both:"Em jpeg e em png"},jpegImageQuality:"Qualidade de imagem JPEG"},tags:{head:"Etiquetas a guardar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero de faixa",trackTotal:"Total de faixas",discNumber:"N\xFAmero do Disco",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xE9nero",year:"Ano",date:"Data",explicit:"Letra Expl\xEDcita",isrc:"ISRC",length:"Dura\xE7\xE3o da faixa",barcode:"C\xF3digo de barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Editora do \xE1lbum",lyrics:"Letra da m\xFAsica n\xE3o sincronizada",copyright:"Direitos de Autor",composer:"Compositor",involvedPeople:"Pessoas envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Guardar listas de reprodu\xE7\xE3o como compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Tamb\xE9m guardar ID3v1",multiArtistSeparator:{title:"Como queres separarar os artistas?",nothing:"Guardar apenas o artista principal",default:"Usar especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar apenas o artista principal do \xE1lbum",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato de data nos ficheiros FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas convidados/participa\xE7\xF5es?",0:"Nada",1:"Remover do t\xEDtulo",3:"Remover do t\xEDtulo e do t\xEDtulo do album",2:"Mov\xEA-lo para o t\xEDtulo"},titleCasing:"Caixa do T\xEDtulo",artistCasing:"Caixa do Artista",casing:{nothing:"Manter inalterado",lower:"minusculas",upper:"MAI\xDASCULAS",start:"In\xEDcio De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Volume de Pr\xE9-visualiza\xE7\xE3o",executeCommand:{title:"Comando a executar ap\xF3s transferir",description:"Deixar em branco para nenhuma ac\xE7\xE3o"}},spotify:{title:"Funcionalidades Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"nome de utilizador Spotify"},reset:"Repor configura\xE7\xF5es padr\xE3o",save:"Guardar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es actualizadas",ARLcopied:"ARL copiado para area de transferencia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"tabelas",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"defini\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Transferir seleccionados"}},pt_br={globals:{welcome:"bem vindo ao deemix",back:"voltar",loading:"carregando",download:"Baixar {thing}",by:"por {artist}",in:"em {album}",download_hint:"Baixar",play_hint:"Reproduzir",toggle_download_tab_hint:"Expandir/Diminuir",clean_queue_hint:"Limpar",cancel_queue_hint:"Cancelar Todos",listTabs:{empty:"",all:"todos",top_result:"resultado principal",album:"\xE1lbum | \xE1lbuns",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amento | {n} lan\xE7amento | {n} lan\xE7amentos",playlist:"playlist | playlists",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"playlist do spotify | playlists do spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relatar Bugs",contributing:"Contribui\xE7\xF5es",donations:"Doa\xE7\xF5es",license:"Licen\xE7a"},subtitles:{bugReports:"H\xE1 algo n\xE3o funcionando no deemix? Nos diga!",contributing:"Voc\xEA quer contribuir para este projeto? Voc\xEA pode fazer isso de diferentes maneiras!",donations:"Voc\xEA quer contribuir monetariamente? Voc\xEA pode fazer uma doa\xE7\xE3o!"},usesLibrary:"Esse app usa a biblioteca do deemix, no qual voc\xEA pode usar para criar sua pr\xF3pria UI para o deemix",thanks:"Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o \xEDcone",upToDate:{text:"Para mais novidades siga o {newsChannel} no Telegram.",newsChannel:"news channel"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio da Biblioteca Oficial",officialWebuiRepo:"Reposit\xF3rio da WebUI Oficial",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Se voc\xEA tiver d\xFAvidas ou problemas com o app, procure uma solu\xE7\xE3o em {subreddit} primeiro. Caso voc\xEA n\xE3o encontre, voc\xEA pode fazer um post explicando seu problema no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportar um bug, tenha certeza que voc\xEA est\xE1 rodando a vers\xE3o mais recente do app, e o que voc\xEA quer reportar seja realmente um bug e n\xE3o algo que esteja acontecendo especialmente com voc\xEA.",beSure:"Certifique-se que o bug \xE9 reproduzivel em outras m\xE1quinas e tamb\xE9m N\xC3O reporte um bug se ele j\xE1 foi reportado.",duplicateReports:"Reportes de bugs duplicados ser\xE3o fechados, ent\xE3o fique atento a isso.",dontOpenIssues:"N\xC3O abra t\xF3picos para fazer perguntas, h\xE1 o subreddit para isso.",newUI:{text:"Se voc\xEA \xE9 fluente em Phython, voc\xEA pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.",repo:"repo"},acceptFeatures:"Eu aceito funcionalidades extras tamb\xE9m, mas nada de coisas complexas, desde que ela possa ser implementada no app, e n\xE3o na biblioteca.",otherLanguages:"Se voc\xEA for fluente em outra linguagem de programa\xE7\xE3o, voc\xEA pode tentar portar o deemix para outra linguagem!",understandingCode:"Voc\xEA precisa de ajuda para entender o c\xF3digo? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.",contributeWebUI:{text:"Se voc\xEA souber Vue.js (JavaScript), HTML ou CSS voc\xEA pode contribuir para o {webui}.",webui:"WebUI"},itsFree:"Lembre-se que este projeto \xE9 livre e voc\xEA deve dar suporte aos artistas que voc\xEA ama antes de dar suporte aos desenvolvedores.",notObligated:"N\xE3o se sinta na obriga\xE7\xE3o de doar, eu agrade\xE7o de qualquer maneira!",lincensedUnder:{text:"Esse \xE9 um projeto licenciado atrav\xE9s da {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Mudar Pa\xEDs",download:"Download Chart"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL inv\xE1lida",unsupportedURL:"URL n\xE3o suportada ainda",ISRCnotOnDeezer:"Faixa ISRC n\xE3o est\xE1 dispon\xEDvel ainda no deezer",notYourPrivatePlaylist:"Voc\xEA n\xE3o pode baixar playlists privadas.",spotifyDisabled:"Os Recursos do Spotify n\xE3o foram configurados corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"Album not found on deezer! \xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa indispon\xEDvel no deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e sem alternativas encontradas!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e nenhuma outra alternativa encontrada!",no360RA:"Faixa n\xE3o dispon\xEDvel na qualidade Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e nenhuma outra alternativa encontrada!"}},favorites:{title:"Favoritos",noPlaylists:"Nenhuma Playlist encontrada",noAlbums:"Nenhum \xC1lbum Favorito encontrado",noArtists:"Nenhum Artista Favorito encontrado",noTracks:"Nenhuma Faixa Favorita encontrada"},home:{needTologin:"Voc\xEA precisa logar na sua conta do deezer antes de come\xE7ar a baixar m\xFAsicas.",openSettings:"Abrir Configura\xE7\xF5es",sections:{popularPlaylists:"Playlists Populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Voc\xEA pode usar essa se\xE7\xE3o para encontrar mais informa\xE7\xF5es sobre o link que voc\xEA quer baixar.",useful:"Isso \xE9 \xFAtil se voc\xEA est\xE1 tentando baixar algumas faixas que n\xE3o est\xE3o dispon\xEDveis no seu pa\xEDs, e quer saber onde elas est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Esse link n\xE3o \xE9 suportado ainda",linkNotSupportedYet:"Parece que esse link n\xE3o \xE9 suportado ainda, tente analizar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do Disco",trackNumber:"N\xFAmero da Faixa",releaseDate:"Data de Lan\xE7amento",bpm:"BPM",label:"Gravadora",recordType:"Tipo de Grava\xE7\xE3o",genres:"G\xEAneros",tracklist:"Tracklist"}},search:{startSearching:"Comece pesquisando!",description:"Voc\xEA pode pesquisar uma m\xFAsica, um \xE1lbum, um artista, uma playlist.... tudo! Voc\xEA tamb\xE9m pode colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Nenhuma Faixa encontrada",noResultsAlbum:"Nenhum \xC1lbum encontrado",noResultsArtist:"Nenhum Artista encontrado",noResultsPlaylist:"Nenhuma Playlist encontrada"},searchbar:"Pesquise algo (ou apenas cole um link)",downloads:"downloads",toasts:{addedToQueue:"{item} adicionado \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} download terminado.",allDownloaded:"Todos os downloads foram feitos!",refreshFavs:"Atualiza\xE7\xE3o completa!",loggingIn:"Logando",loggedIn:"Logado",alreadyLogged:"Voc\xEA j\xE1 est\xE1 logado",loginFailed:"N\xE3o foi possivel entrar",loggedOut:"Desconectando",cancellingCurrentItem:"Cancelando item atual.",currentItemCancelled:"Item atual cancelado.",startAddingArtist:"Adicionando {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"{artist} \xE1lbuns adicionados a fila",startConvertingSpotifyPlaylist:"Convertendo faixas do spotify para faixas do deezer",finishConvertingSpotifyPlaylist:"Playlists do Spotify convertidas"},settings:{title:"Configura\xE7\xF5es",languages:"Idiomas",login:{title:"Login",loggedIn:"Voc\xEA est\xE1 logado como {username}",arl:{question:"Como eu consigo o meu ARL?",update:"Atualizar ARL"},logout:"Sair"},appearance:{title:"Apar\xEAncia",slimDownloadTab:"Aba de download slim"},downloadPath:{title:"Diret\xF3rio de Downloads"},templates:{title:"Templates",tracknameTemplate:"Template do nome da faixa",albumTracknameTemplate:"Template da faixa do \xE1lbum",playlistTracknameTemplate:"Template da faixa da playlist"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para playlists",playlistNameTemplate:"Template da pasta de playlist",createArtistFolder:"Criar pasta para os artistas",artistNameTemplate:"Template da pasta de artistas",createAlbumFolder:"Criar pasta para \xE1lbuns",albumNameTemplate:"Template da pasta de \xE1lbuns",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para playlists",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo das faixas",padTracks:"Faixas com pad",paddingSize:"Sobrescrever tamanho do padding",illegalCharacterReplacer:"Substituir caracteres inv\xE1lidos"},downloads:{title:"Downloads",queueConcurrency:"Downloads Simult\xE2neos",maxBitrate:{title:"Escolher Taxa de Bits",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Sobrescrever arquivos?",y:"Sim, sobrescrever arquivos",n:"N\xE3o, n\xE3o sobrescrever arquivos",t:"Sobrescrever apenas as tags"},fallbackBitrate:"Taxa de bits reserva",fallbackSearch:"Procurar reserva",logErrors:"Criar arquivos de log para erros",logSearched:"Criar arquivos de log para faixas pesquisadas",createM3U8File:"Criar arquivo de playlist",syncedLyrics:"Criar arquivos .lyr (Letras)",playlistFilenameTemplate:"Template do nome do arquivo da playlist",saveDownloadQueue:"Salvar a fila de downloads quando fechar o app"},covers:{title:"Capa dos \xE1lbuns",saveArtwork:"Salvar capas",coverImageTemplate:"Template do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Template da imagem do artista",localArtworkSize:"Tamanho da capa local",embeddedArtworkSize:"Tamanho da capa embutida",localArtworkFormat:{title:"Qual o formato da imagem que voc\xEA quer para a capa local?",jpg:".jpeg",png:".png",both:"Ambas, .jpeg e .png"},jpegImageQuality:"Qualidade da imagem JPEG"},tags:{head:"Quais tags salvar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero da Faixa",trackTotal:"Total de Faixas",discNumber:"N\xFAmero de Discos",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xEAnero",year:"Ano",date:"Data",explicit:"Letras Expl\xEDcitas",isrc:"ISRC",length:"Tamanho da Faixa",barcode:"C\xF3digo de Barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Gravadora",lyrics:"Letras Dessincronizadas",copyright:"Copyright",composer:"Compositor",involvedPeople:"Pessoas Envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Salvar playlists como uma compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Salvar ID3v1",multiArtistSeparator:{title:"Como voc\xEA gostaria de separar os artistas?",nothing:"Salvar apenas o artista principal",default:"Usar a especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Salvar apenas o artista principal",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato da data para arquivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas participantes?",0:"Nada",1:"Remova do t\xEDtulo da faixa",3:"Remova do t\xEDtulo da faixa e do \xE1lbum",2:"Mover para o t\xEDtulo da faixa"},titleCasing:"Formata\xE7\xE3o do t\xEDtulo",artistCasing:"Formata\xE7\xE3o do artista",casing:{nothing:"Manter inalterado",lower:"min\xFAsculo",upper:"MAI\xDASCULO",start:"Come\xE7o De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Pr\xE9via do Volume",executeCommand:{title:"Comando para executar depois de baixar",description:"Deixe em branco para nenhuma a\xE7\xE3o"}},spotify:{title:"Recursos do Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"usu\xE1rio do Spotify"},reset:"Restaurar para o padr\xE3o",save:"Salvar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es atualizadas!",ARLcopied:"ARL copiada para a \xE1rea de transfer\xEAncia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"configura\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Baixar sele\xE7\xE3o"}},ru={globals:{welcome:"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 deemix",back:"\u043D\u0430\u0437\u0430\u0434",loading:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C {thing}",by:"{artist}",in:"\u0438\u0437 {album}",download_hint:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C",play_hint:"\u041F\u0440\u043E\u0441\u043B\u0443\u0448\u0430\u0442\u044C",toggle_download_tab_hint:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0421\u043A\u0440\u044B\u0442\u044C",clean_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u044B\u0435",cancel_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0451",open_downloads_folder:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043F\u043A\u0443 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",cut:"\u0432\u044B\u0440\u0435\u0437\u0430\u0442\u044C",copy:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",copyLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443",copyImageLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",copyDeezerLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 deezer",paste:"\u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C",listTabs:{empty:"",all:"\u0432\u0441\u0435",top_result:"\u043B\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",album:"\u0430\u043B\u044C\u0431\u043E\u043C | \u0430\u043B\u044C\u0431\u043E\u043C\u044B | \u0430\u043B\u044C\u0431\u043E\u043C\u044B",artist:"\u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438",single:"\u0441\u0438\u043D\u0433\u043B | \u0441\u0438\u043D\u0433\u043B\u044B | \u0441\u0438\u043D\u0433\u043B\u044B",title:"\u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",track:"\u0442\u0440\u0435\u043A | \u0442\u0440\u0435\u043A\u0438 | \u0442\u0440\u0435\u043A\u0438",trackN:"{n} \u0442\u0440\u0435\u043A | {n} \u0442\u0440\u0435\u043A\u0430 | {n} \u0442\u0440\u0435\u043A\u043E\u0432",releaseN:"{n} \u0440\u0435\u043B\u0438\u0437 | {n} \u0440\u0435\u043B\u0438\u0437\u0430 | {n} \u0440\u0435\u043B\u0438\u0437\u043E\u0432",playlist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",compile:"\u0441\u043F\u043B\u0438\u0442 | \u0441\u043F\u043B\u0438\u0442\u044B | \u0441\u043F\u043B\u0438\u0442\u044B",ep:"ep",bundle:"\u0431\u0430\u043D\u0434\u043B | \u0431\u0430\u043D\u0434\u043B\u044B | \u0431\u0430\u043D\u0434\u043B\u044B",more:"\u0411\u043E\u043B\u044C\u0448\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",featured:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0432",spotifyPlaylist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",error:"\u043E\u0448\u0438\u0431\u043A\u0430",albumN:"{n} \u0430\u043B\u044C\u0431\u043E\u043C | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u0430 | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",artistN:"{n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",playlistN:"{n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432"}},about:{updates:{currentVersion:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionNotAvailable:"\u041D/\u0414",updateAvailable:"\u0412\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043D\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E: {version}",deemixVersion:"\u0412\u0435\u0440\u0441\u0438\u044F \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 deemix"},titles:{usefulLinks:"\u041F\u043E\u043B\u0435\u0437\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438",bugReports:"\u041E\u0442\u0447\u0451\u0442\u044B \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445",contributing:"\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u0440\u043E\u0435\u043A\u0442\u0443",donations:"\u041F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F",license:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F"},subtitles:{bugReports:"\u0427\u0442\u043E-\u0442\u043E \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442? \u0421\u043E\u043E\u0431\u0449\u0438\u0442\u0435 \u043D\u0430\u043C!",contributing:"\u0425\u043E\u0442\u0438\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u0430\u043C\u0438!",donations:"\u0425\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u043E? \u041C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u0435!"},usesLibrary:"\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 deemix, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 UI \u0434\u043B\u044F deemix.",thanks:"\u0421\u043F\u0430\u0441\u0438\u0431\u043E rtonno, uhwot \u0438 lollilol \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u044C \u0441 \u044D\u0442\u0438\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u043C, \u0430 \u0442\u0430\u043A\u0436\u0435 BasCurtiz \u0437\u0430 \u0438\u043A\u043E\u043D\u043A\u0443.",upToDate:{text:"\u0421\u043B\u0435\u0434\u0438\u0442\u0435 \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u043C\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F\u043C\u0438 \u043D\u0430 {newsChannel} \u0432 Telegram.",newsChannel:"\u043A\u0430\u043D\u0430\u043B\u0435"},officialWebsite:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0439\u0442",officialRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438",officialWebuiRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 WebUI",officialSubreddit:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442",newsChannel:"\u041A\u0430\u043D\u0430\u043B \u043D\u043E\u0432\u043E\u0441\u0442\u0435\u0439",questions:{text:"\u0415\u0441\u043B\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043E\u0437\u043D\u0438\u043A\u043B\u0438 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0441 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u0438\u0449\u0438\u0442\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 {subreddit}. \u0415\u0441\u043B\u0438 \u043D\u0435 \u043D\u0430\u0448\u043B\u0438 \u0440\u0435\u0448\u0435\u043D\u0438\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u043E\u0441\u0442 \u0438 \u043E\u043F\u0438\u0441\u0430\u0442\u044C \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443.",subreddit:"\u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442\u0435"},beforeReporting:"\u041F\u0435\u0440\u0435\u0434 \u0442\u0435\u043C, \u043A\u0430\u043A \u0441\u043E\u043E\u0431\u0449\u0430\u0442\u044C \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0438 \u0447\u0442\u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043D\u0435 \u043D\u0430 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435.",beSure:"\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E\u0437\u043D\u0438\u043A\u0430\u0435\u0442 \u0438 \u043D\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u0445. \u0422\u0430\u043A\u0436\u0435 \u041D\u0415 \u0441\u043E\u043E\u0431\u0449\u0430\u0439\u0442\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435, \u0435\u0441\u043B\u0438 \u043F\u0440\u043E \u043D\u0435\u0451 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E.",duplicateReports:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445 \u0440\u0430\u0441\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435 \u0431\u0443\u0434\u0443\u0442.",dontOpenIssues:"\u041D\u0415 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0434\u043B\u044F \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0430\u0432\u0442\u043E\u0440\u0443, \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0435\u0441\u0442\u044C \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442.",newUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 python, \u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 UI \u0434\u043B\u044F \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0438\u043B\u0438 \u043F\u043E\u0444\u0438\u043A\u0441\u0438\u0442\u044C \u0432 \u043D\u0435\u0439 \u0431\u0430\u0433\u0438 \u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C pull request \u0432 {repo}.",repo:"\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438"},acceptFeatures:"\u041C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438, \u043D\u043E \u043D\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0441\u043B\u043E\u0436\u043D\u044B\u0435, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435, \u0430 \u043D\u0435 \u0432 \u0441\u0430\u043C\u0443 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443.",otherLanguages:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u043D\u0451\u043C deemix!",understandingCode:"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u0442\u044C\u0441\u044F \u0432 \u043A\u043E\u0434\u0435? \u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 RemixDev \u0432 Telegram \u0438\u043B\u0438 \u043D\u0430 Reddit.",contributeWebUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0437\u043D\u0430\u0435\u0442\u0435 Vue.js (JavaScript), HTML \u0438\u043B\u0438 CSS, \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 {webui}.",webui:"WebUI"},itsFree:"\u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0432\u0430\u043C \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u043F\u043E\u043D\u0440\u0430\u0432\u0438\u0432\u0448\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043F\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043C \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u043E\u0432.",notObligated:"\u0412\u044B \u043D\u0435 \u043E\u0431\u044F\u0437\u0430\u043D\u044B \u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F, \u044F \u0432\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0432\u0430\u0441 \u0446\u0435\u043D\u044E!",lincensedUnder:{text:"\u041F\u0440\u043E\u0435\u043A\u0442 \u0440\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0434 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u0427\u0430\u0440\u0442\u044B",changeCountry:"\u0421\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0443",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0440\u0442"},errors:{title:"\u041E\u0448\u0438\u0431\u043A\u0438 {name}",ids:{invalidURL:"URL \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D",unsupportedURL:"URL \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",ISRCnotOnDeezer:"ISRC \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer",notYourPrivatePlaylist:"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0447\u0443\u0436\u0438\u0435 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B.",spotifyDisabled:"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B Spotify.",trackNotOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",albumNotOnDeezer:"\u0410\u043B\u044C\u0431\u043E\u043C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",notOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer!",notEncoded:"\u0422\u0440\u0435\u043A \u0435\u0449\u0451 \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D!",notEncodedNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D, \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",wrongBitrate:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435.",wrongBitrateNoAlternative:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",no360RA:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 Reality Audio 360.",notAvailable:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer!",notAvailableNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",noSpaceLeft:"\u041D\u0430 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u043D\u0435 \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430!",albumDoesntExists:"\u0410\u043B\u044C\u0431\u043E\u043C\u0430 \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043D\u0435 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0430"}},favorites:{title:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",noPlaylists:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noAlbums:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noArtists:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noTracks:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0442\u0440\u0435\u043A\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B"},home:{needTologin:"\u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u043E\u0439\u0442\u0438 \u043F\u043E\u0434 \u0441\u0432\u043E\u0435\u0439 \u0443\u0447\u0435\u0442\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u044C\u044E Deezer, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C.",openSettings:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",sections:{popularPlaylists:"\u041F\u043E\u043F\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",popularAlbums:"\u0421\u0430\u043C\u044B\u0435 \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B"}},linkAnalyzer:{info:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u044D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B, \u0447\u0442\u043E\u0431\u044B \u0443\u0437\u043D\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043E \u0441\u0441\u044B\u043B\u043A\u0435, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0441\u043A\u0430\u0447\u0430\u0442\u044C.",useful:"\u042D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B \u043D\u0443\u0436\u0435\u043D, \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0442\u0440\u0435\u043A\u0438, \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C, \u0433\u0434\u0435 \u043E\u043D\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B.",linkNotSupported:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",linkNotSupportedYet:"\u042D\u0442\u0430 \u0441\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0434\u0440\u0443\u0433\u0443\u044E.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",diskNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",bpm:"BPM",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",recordType:"\u0422\u0438\u043F",genres:"\u0416\u0430\u043D\u0440",tracklist:"\u0422\u0440\u0435\u043A\u043B\u0438\u0441\u0442"}},search:{startSearching:"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0438\u0441\u043A\u0430\u0442\u044C!",description:"\u0417\u0434\u0435\u0441\u044C \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0439\u0442\u0438 \u0442\u0440\u0435\u043A, \u0430\u043B\u044C\u0431\u043E\u043C, \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F, \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442... \u0432\u0441\u0451! \u041C\u043E\u0436\u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 Deezer",fans:"{n} \u043F\u043E\u043A\u043B\u043E\u043D\u043D\u0438\u043A\u043E\u0432",noResults:"\u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432",noResultsTrack:"\u0422\u0440\u0435\u043A\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsAlbum:"\u0410\u043B\u044C\u0431\u043E\u043C\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsPlaylist:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E"},searchbar:"\u0418\u0449\u0438\u0442\u0435, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 (\u0438\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0441\u0441\u044B\u043B\u043A\u0443)",downloads:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",toasts:{restoringQueue:"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0447\u0435\u0440\u0435\u0434\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",queueRestored:"\u041E\u0447\u0435\u0440\u0435\u0434\u044C \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430!",addedToQueue:"{item} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",addedMoreToQueue:"{n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",alreadyInQueue:"{item} \u0443\u0436\u0435 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u0438!",finishDownload:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 {item} \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430.",allDownloaded:"\u0412\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u044B!",refreshFavs:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E!",loggingIn:"\u0412\u0445\u043E\u0434...",loggedIn:"\u0412\u0445\u043E\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",alreadyLogged:"\u0412\u0445\u043E\u0434 \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loginFailed:"\u0412\u0445\u043E\u0434 \u043D\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loggedOut:"\u0412\u044B \u0432\u044B\u0448\u043B\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430",cancellingCurrentItem:"\u041E\u0442\u043C\u0435\u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",currentItemCancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E.",startAddingArtist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432 {artist} \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishAddingArtist:"\u0410\u043B\u044C\u0431\u043E\u043C\u044B {artist} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",startConvertingSpotifyPlaylist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 Spotify \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishConvertingSpotifyPlaylist:"Spotify \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",loginNeededToDownload:"\u0412\u043E\u0439\u0434\u0438\u0442\u0435 \u0432 \u0430\u043A\u043A\u0430\u0443\u043D\u0442, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0442\u0440\u0435\u043A\u0438!",deezerNotAvailable:"Deezer \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 VPN.",startGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",finishGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A."},settings:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",languages:"\u042F\u0437\u044B\u043A",login:{title:"\u0412\u0445\u043E\u0434",loggedIn:"\u0412\u044B \u0432\u043E\u0448\u043B\u0438 \u043A\u0430\u043A {username}",arl:{question:"\u041A\u0430\u043A \u0443\u0437\u043D\u0430\u0442\u044C \u0441\u0432\u043E\u0439 ARL?",update:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C ARL"},logout:"\u0412\u044B\u0439\u0442\u0438",login:"\u0412\u043E\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 deezer.com"},appearance:{title:"\u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434",slimDownloadTab:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",slimSidebar:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u043B\u0435\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C"},downloadPath:{title:"\u041F\u0443\u0442\u044C \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F"},templates:{title:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B",tracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",albumTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",playlistTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430"},folders:{title:"\u041F\u0430\u043F\u043A\u0438",createPlaylistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",playlistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",createArtistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",createAlbumFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",createCDFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F CD",createStructurePlaylist:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",createSingleFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u0441\u0438\u043D\u0433\u043B\u043E\u0432"},trackTitles:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u043E\u0432",padTracks:"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043D\u043E\u043B\u044C \u043A \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0442\u0440\u0435\u043A\u043E\u0432 (01, 02, ...)",paddingSize:"\u041A\u043E\u043B-\u0432\u043E \u0446\u0438\u0444\u0440 \u0432 \u043D\u043E\u043C\u0435\u0440\u0435",illegalCharacterReplacer:"\u0417\u0430\u043C\u0435\u043D\u0430 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u0438\u043C\u0435\u043D\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},downloads:{title:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0438",queueConcurrency:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",maxBitrate:{title:"\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u0439 \u0431\u0438\u0442\u0440\u0435\u0439\u0442",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u041D\u0443\u0436\u043D\u043E \u043B\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B?",y:"\u0414\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0444\u0430\u0439\u043B",n:"\u041D\u0435\u0442, \u043D\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C",t:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u0433\u0438",b:"\u041D\u0435\u0442, \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0430 \u0444\u0430\u0439\u043B\u0430 \u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u043C\u0435\u0440 \u043A \u0434\u0443\u0431\u043B\u0438\u043A\u0430\u0442\u0443",e:"\u041D\u0435\u0442, \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F"},fallbackBitrate:"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441 \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u043E\u043C \u043D\u0438\u0436\u0435, \u0435\u0441\u043B\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",fallbackSearch:"\u0418\u0441\u043A\u0430\u0442\u044C \u043F\u043E\u0445\u043E\u0436\u0438\u0439 \u0442\u0440\u0435\u043A, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",logErrors:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433\u0438 \u043E\u0448\u0438\u0431\u043E\u043A",logSearched:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430",createM3U8File:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",syncedLyrics:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C .lyr \u0444\u0430\u0439\u043B\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u043B\u0438\u0440\u0438\u043A\u0430)",playlistFilenameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",saveDownloadQueue:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043E\u0447\u0435\u0440\u0435\u0434\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u043F\u0440\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},covers:{title:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtwork:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u043E\u0431\u043B\u043E\u0436\u043A\u0438",coverImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtworkArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",localArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",embeddedArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0439 \u0432 \u0442\u0435\u0433\u0438 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",localArtworkFormat:{title:"\u0412 \u043A\u0430\u043A\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0431\u043B\u043E\u0436\u043A\u0438?",jpg:"jpeg",png:"png",both:"jpeg \u0438 png"},jpegImageQuality:"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E JPEG",embeddedArtworkPNG:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0443\u044E \u043E\u0431\u043B\u043E\u0436\u043A\u0443 \u0432 PNG",embeddedPNGWarning:"PNG \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0431\u0430\u0433\u0438",imageSizeWarning:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438 \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0432\u044B\u0448\u0435 x1200 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",coverDescriptionUTF8:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043E\u0431\u043B\u043E\u0436\u043A\u0438 \u0432 UTF8 (iTunes Fix)"},tags:{head:"\u041A\u0430\u043A\u0438\u0435 \u0442\u0435\u0433\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C",title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",artist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C",album:"\u0410\u043B\u044C\u0431\u043E\u043C",cover:"\u041E\u0431\u043B\u043E\u0436\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",trackTotal:"\u041A\u043E\u043B-\u0432\u043E \u0442\u0440\u0435\u043A\u043E\u0432",discNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",discTotal:"\u041A\u043E\u043B-\u0432\u043E \u0434\u0438\u0441\u043A\u043E\u0432",albumArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0430\u043B\u044C\u0431\u043E\u043C\u0430",genre:"\u0416\u0430\u043D\u0440",year:"\u0413\u043E\u0434",date:"\u0414\u0430\u0442\u0430",explicit:"\u041C\u0435\u0442\u043A\u0430 \u043E \u043D\u0435\u0446\u0435\u043D\u0437\u0443\u0440\u043D\u043E\u0439 \u043B\u0435\u043A\u0441\u0438\u043A\u0435",isrc:"\u041D\u043E\u043C\u0435\u0440 \u0437\u0430\u043F\u0438\u0441\u0438 (ISRC)",length:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",barcode:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u0434 \u0430\u043B\u044C\u0431\u043E\u043C\u0430 (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",lyrics:"\u0422\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",syncedLyrics:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D. \u0442\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",copyright:"\u041F\u0440\u0430\u0432\u0430 (\u043A\u043E\u043F\u0438\u0440\u0430\u0439\u0442)",composer:"\u041A\u043E\u043C\u043F\u043E\u0437\u0438\u0442\u043E\u0440",involvedPeople:"\u0412\u043E\u0432\u043B\u0435\u0447\u0451\u043D\u043D\u044B\u0435 \u043B\u044E\u0434\u0438",source:"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438 ID \u043F\u0435\u0441\u043D\u0438"},other:{title:"\u0420\u0430\u0437\u043D\u043E\u0435",savePlaylistAsCompilation:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043A\u0430\u043A \u0441\u0431\u043E\u0440\u043D\u0438\u043A\u0438",useNullSeparator:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C null \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044F",saveID3v1:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C ID3v1",multiArtistSeparator:{title:"\u041A\u0430\u043A \u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439?",nothing:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E",default:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0443\u044E \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044E",andFeat:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F & \u0438 feat.",using:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F "{separator}"'},singleAlbumArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumVariousArtists:'\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C "Various Artists" \u0432 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u0445 \u0430\u043B\u044C\u0431\u043E\u043C\u0430',removeAlbumVersion:'\u0423\u0434\u0430\u043B\u0438\u0442\u044C "Album Version" \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430',removeDuplicateArtists:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",dateFormat:{title:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B \u0434\u043B\u044F FLAC \u0444\u0430\u0439\u043B\u043E\u0432",year:"\u0413\u0413\u0413\u0413",month:"\u041C\u041C",day:"\u0414\u0414"},featuredToTitle:{title:"\u0427\u0442\u043E \u0434\u0435\u043B\u0430\u0442\u044C \u0441 \u043F\u0440\u0438\u0433\u043B\u0430\u0448\u0451\u043D\u043D\u044B\u043C\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u043C\u0438 (feat.)?",0:"\u041D\u0438\u0447\u0435\u0433\u043E",1:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",3:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",2:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0442\u0440\u0435\u043A\u0430"},titleCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F",artistCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",casing:{nothing:"\u041D\u0435 \u043C\u0435\u043D\u044F\u0442\u044C",lower:"\u0432 \u043D\u0438\u0436\u043D\u0435\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435",upper:"\u0412 \u0412\u0415\u0420\u0425\u041D\u0415\u041C \u0420\u0415\u0413\u0418\u0421\u0422\u0420\u0415",start:"\u041A\u0430\u0436\u0434\u043E\u0435 \u0421\u043B\u043E\u0432\u043E \u0421 \u0417\u0430\u0433\u043B\u0430\u0432\u043D\u043E\u0439 \u0411\u0443\u043A\u0432\u044B",sentence:"\u041A\u0430\u043A \u0432 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0438"},previewVolume:"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u043D\u0438\u044F",executeCommand:{title:"\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",description:"\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0435\u0441\u043B\u0438 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F"}},spotify:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"\u041A\u0430\u043A \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438 Spotify?"},reset:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",toasts:{init:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B!",update:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B!",ARLcopied:"ARL \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430"}},sidebar:{home:"\u0433\u043B\u0430\u0432\u043D\u0430\u044F",search:"\u043F\u043E\u0438\u0441\u043A",charts:"\u0447\u0430\u0440\u0442\u044B",favorites:"\u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",linkAnalyzer:"\u0430\u043D\u0430\u043B\u0438\u0437 \u0441\u0441\u044B\u043B\u043E\u043A",settings:"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",about:"\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0435"},tracklist:{downloadSelection:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435"}},tr={globals:{welcome:"Deemix'e ho\u015F geldin.",back:"geri",loading:"y\xFCkleniyor",download:"\u0130ndir {thing}",by:"{artist} taraf\u0131ndan",in:"{album} i\xE7inde",download_hint:"\u0130ndir",play_hint:"Oynat",toggle_download_tab_hint:"Geni\u015Flet/Daralt",clean_queue_hint:"Tamamlananlar\u0131 Temizle",cancel_queue_hint:"Hepsini ",listTabs:{empty:"",all:"T\xFCm\xFC",top_result:"top result",album:"alb\xFCm | alb\xFCmler",artist:"sanat\xE7\u0131 | sanat\xE7\u0131lar",single:"single | singlelar",title:"ba\u015Fl\u0131k | ba\u015Fl\u0131klar",track:"Par\xE7a | Par\xE7alar",trackN:"0 par\xE7a | {n} par\xE7a | {n} par\xE7a",releaseN:"0 yay\u0131nlanan | {n} yay\u0131nlanan | {n} yay\u0131nlanan",playlist:"oynatma listesi | oynatma listeleri",compile:"derleme | derlemeler",ep:"kay\u0131t | kay\u0131tlar",spotifyPlaylist:"spotify oynatma listesi | oynatma listeleri",releaseDate:"yay\u0131nlanma tarihi",error:"hata"}},about:{titles:{usefulLinks:"Yararl\u0131 Ba\u011Flant\u0131lar",bugReports:"Hata Raporlar\u0131",contributing:"Katk\u0131 Sa\u011Flayanlar",donations:"Ba\u011F\u0131\u015Flar",license:"Lisans"},subtitles:{bugReports:"Deemix'te \xE7al\u0131\u015Fmayan bir \u015Fey mi var?, Bize bildirin!",contributing:"Projeye katk\u0131 sa\u011Flamak m\u0131 istiyorsun? Farkl\u0131 yollardan sa\u011Flayabilirsin!",donations:"B\xFCt\xE7e yard\u0131m\u0131 m\u0131 yapmak istiyorsun? Ba\u011F\u0131\u015F yapabilirsin!"},usesLibrary:"deemix kendi kullan\u0131c\u0131 arabiriminizi olu\u015Fturabilece\u011Finiz, kendine \xF6zg\xFC k\xFCt\xFCphanesini kullan\u0131yor.",thanks:" rtonno, uhwot ve lollilol'a bu projeye yapt\u0131\u011F\u0131 katk\u0131lardan ve BasCurtiz'e ikonlardan dolay\u0131 te\u015Fekk\xFCr ederim.",upToDate:{text:"{newsChannel} takip ederek g\xFCncellemelerden haberdar olun.",newsChannel:"Telegramdaki haber kanal\u0131n\u0131"},officialWebsite:"\u0130lgili \u0130nternet Sitemiz",officialRepo:"\u0130lgili K\xFCt\xFCphanemiz",officialWebuiRepo:"\u0130lgili Web Kullan\u0131c\u0131 Aray\xFCz\xFC K\xFCt\xFCphanemiz.",officialSubreddit:"\u0130lgili Subreddit adresimiz",newsChannel:"Haber Kanal\u0131",questions:{text:"E\u011Fer uygulama ile ilgili sorular\u0131n\u0131z veya bir probleminiz varsa,ilk \xF6nce {subreddit} sorununuzu aray\u0131n. E\u011Fer bir \u015Fey bulamazsan\u0131z, sorununuz ile ilgili bir g\xF6nderi payla\u015Fabilirsiniz.",subreddit:"subreddit adresinden"},beforeReporting:"Bir hatay\u0131 bildirmeden \xF6nce, uygulaman\u0131n son s\xFCr\xFCm\xFCnde oldu\u011Funuza veya sorunun sizden kaynakl\u0131 olmay\u0131p bir hata oldu\u011Funa emin olduktan sonra emin olun.",beSure:"Hatan\u0131n ba\u015Fka cihazlarda da oldu\u011Funu do\u011Frulay\u0131n ve Bildirilen bir hatay\u0131 tekrar bildirmeyin.",duplicateReports:"Birbirinin ayn\u0131s\u0131 olan hata bildirileri kapat\u0131lacakt\u0131r, o y\xFCzden dikkatli olun.",dontOpenIssues:"Soru sormak i\xE7in hata bildirisi yollamay\u0131n, bunun i\xE7in bir subreddit adresimiz var.",newUI:{text:"E\u011Fer Phython kullanmakta iyiysen, ana k\xFCt\xFCphaneyi kullanan bir kullan\u0131c\u0131 aray\xFCz\xFC yapmay\u0131 deneyebilir, veya k\xFCt\xFCphanedeki hatalar\u0131 d\xFCzeltmek i\xE7in {repo}.",repo:"deposuna de\u011Fi\u015Fiklik iste\u011Fi yollayabilirsin"},acceptFeatures:"Yeni \xF6zellikleri de kabul ediyorum, fakat kar\u0131\u015F\u0131k \u015Feyleri k\xFCt\xFCphaneye de\u011Fil uygulamaya eklendi\u011Fi i\xE7in kabul edemiyorum.",otherLanguages:"E\u011Fer di\u011Fer programlama dillerinde kendine g\xFCveniyorsan, deemix'i farkl\u0131 dillere port etmeye \xE7al\u0131\u015Fabilirsin!",understandingCode:"Kodu anlamak i\xE7in yard\u0131m m\u0131 laz\u0131m? Reddit \xFCzerinden veya Telegramdan RemixDev'e ula\u015F.",contributeWebUI:{text:"E\u011Fer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.",webui:"Web Kullan\u0131c\u0131 Aray\xFCz\xFCne katk\u0131da bulanabilirsin"},itsFree:"Bunun \xFCcretsiz bir proje oldu\u011Funu ve geli\u015Ftiricilerden \xF6nce sevdi\u011Finiz sanat\xE7\u0131lar\u0131 desteklemeniz gerekti\u011Fini unutmay\u0131n.",notObligated:"Kendinizi ba\u011F\u0131\u015F yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!",lincensedUnder:{text:"Bu \xE7al\u0131\u015Fma lisansl\u0131d\u0131r: {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Grafikler",changeCountry:"\xDClke De\u011Fi\u015Ftir",download:"Grafi\u011Fi \u0130ndir"},errors:{title:"{name} Hatal\u0131 bulundu",ids:{invalidURL:"URL ge\xE7ersiz.",unsupportedURL:"URL \u015Fimdilik desteklenmiyor",ISRCnotOnDeezer:"ISRC par\xE7a deezerda bulunmuyor",notYourPrivatePlaylist:"Ba\u015Fkalar\u0131n\u0131n \xF6zel oynatma listelerini indiremezsin.",spotifyDisabled:"Spotify \xD6zellikleri do\u011Fru \u015Fekilde ayarlanmam\u0131\u015F.",trackNotOnDeezer:"Par\xE7a Deezer'da bulunamad\u0131!",albumNotOnDeezer:"Alb\xFCm Deezer'da bulunamad\u0131!",notOnDeezer:"Par\xE7a Deezer'da yok!",notEncoded:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi!",notEncodedNoAlternative:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi ve alternatifi bulunamad\u0131!",wrongBitrate:"Par\xE7a, istenen kalitede bulunamad\u0131!",wrongBitrateNoAlternative:"Par\xE7a veya alternatifler istenen kalitede bulunamad\u0131!",no360RA:"Par\xE7a 360 Derece ger\xE7ek\xE7i ses olarak bulunamad\u0131!",notAvailable:"Par\xE7a Deezer sunucular\u0131nda bulunamad\u0131!",notAvailableNoAlternative:"Par\xE7a veya Alternatifleri Deezer sunucular\u0131nda bulunamad\u0131.!"}},favorites:{title:"Favoriler",noPlaylists:"Oynatma listesi bulunamad\u0131.",noAlbums:"Favori alb\xFCmler bulunamad\u0131.",noArtists:"Favori sanat\xE7\u0131lar bulunamad\u0131.",noTracks:"Favori par\xE7alar bulunamad\u0131."},home:{needTologin:"\u0130ndirmeden \xF6nce Deezer hesab\u0131na giri\u015F yapmal\u0131s\u0131n.",openSettings:"Ayarlar\u0131 A\xE7",sections:{popularPlaylists:"Pop\xFCler Oynatma Listeleri",popularAlbums:"En \xE7ok dinlenen alb\xFCmler"}},linkAnalyzer:{info:"\u0130ndirmeye \xE7al\u0131\u015Ft\u0131\u011F\u0131n link hakk\u0131nda daha fazla bilgi i\xE7in buray\u0131 kullanabilirsin.",useful:"Mesela, \xFClkende dinlenebilir olmayan par\xE7alar\u0131n nerelerde var oldu\u011Funu bulmak i\xE7in kullanabilirsin.",linkNotSupported:"Bu link \u015Fimdilik desteklenmemektedir.",linkNotSupportedYet:"Bu link \u015Fimdilik desteklenmiyor gibi duruyor, ba\u015Fkas\u0131n\u0131 analiz etmeyi dene.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"S\xFCre",diskNumber:"S\u0131ra numaras\u0131",trackNumber:"Par\xE7a numaras\u0131",releaseDate:"Yay\u0131nlanma tarihi",bpm:"BPM",label:"Etiketi",recordType:"Kay\u0131t \u015Eekli",genres:"T\xFCr\xFC",tracklist:"Par\xE7a listesi"}},search:{startSearching:"Aramay\u0131 Ba\u015Flat!",description:"Bir par\xE7ay\u0131, t\xFCm alb\xFCm\xFC, bir sanat\xE7\u0131y\u0131, bir oynatma listesini... k\u0131saca her \u015Feyi aratabilirsin! Ayr\u0131ca Deezer Linki de yap\u0131\u015Ft\u0131rabilirsin!",fans:"{n} Hayranlar",noResults:"Sonu\xE7 Bulunamad\u0131",noResultsTrack:"Par\xE7a bulunamad\u0131",noResultsAlbum:"Alb\xFCm bulunamad\u0131",noResultsArtist:"Sanat\xE7\u0131 bulunamad\u0131",noResultsPlaylist:"Oynatma Listesi bulunamad\u0131"},searchbar:"\u0130stedi\u011Fin bir \u015Feyi arat (ya da bir link yap\u0131\u015Ft\u0131r.)",downloads:"\u0130ndirilenler",toasts:{addedToQueue:"{item} kuyru\u011Fa eklendi",alreadyInQueue:"{item} \xE7oktan kuyrukta!",finishDownload:"{item} indirmesi tamamland\u0131.",allDownloaded:"T\xFCm indirmeler tamamland\u0131!",refreshFavs:"Yenileme tamamland\u0131.!",loggingIn:"Giri\u015F yap\u0131l\u0131yor",loggedIn:"Giri\u015F yap\u0131ld\u0131",alreadyLogged:"\xC7oktan giri\u015F yap\u0131ld\u0131",loginFailed:"Giri\u015F yap\u0131lamad\u0131",loggedOut:"Oturum kapat\u0131ld\u0131.",cancellingCurrentItem:"Ge\xE7erli \xF6\u011Fe iptal ediliyor.",currentItemCancelled:"Ge\xE7erli \xF6\u011Fe iptal edildi.",startAddingArtist:"{artist} alb\xFCm kuyru\u011Fa ekleniyor",finishAddingArtist:"{artist} alb\xFCm kuyru\u011Fa eklendi.",startConvertingSpotifyPlaylist:"Spotify par\xE7alar\u0131 deezer par\xE7alar\u0131na d\xF6n\xFC\u015Ft\xFCr\xFCl\xFCyor.",finishConvertingSpotifyPlaylist:"Spotify oynatma listesi d\xF6n\xFC\u015Ft\xFCr\xFCld\xFC."},settings:{title:"Ayarlar",languages:"Diller",login:{title:"Giri\u015F",loggedIn:"{username} olarak giri\u015F yapt\u0131n.",arl:{question:"Kendi ARL'mi nas\u0131l al\u0131r\u0131m?",update:"ARL g\xFCncelle."},logout:"\xC7\u0131k\u0131\u015F"},appearance:{title:"G\xF6r\xFCn\xFCm",slimDownloadTab:"\u0130nce indirme sekmesi"},downloadPath:{title:"\u0130ndirilen dizin"},templates:{title:"\u015Eablonlar",tracknameTemplate:"Par\xE7a ismi \u015Fablonu",albumTracknameTemplate:"Alb\xFCm par\xE7as\u0131 \u015Fablonu",playlistTracknameTemplate:"Oynatma listesi par\xE7a \u015Fablonu"},folders:{title:"Dosyalar",createPlaylistFolder:"Oynatma listesi i\xE7in dosya olu\u015Ftur",playlistNameTemplate:"Oynatma listesi dosyas\u0131 \u015Fablonu",createArtistFolder:"Sanat\xE7\u0131 i\xE7in dosya olu\u015Ftur",artistNameTemplate:"Sanat\xE7\u0131 dosyas\u0131 \u015Fablonu",createAlbumFolder:"Alb\xFCm i\xE7in dosya olu\u015Ftur",albumNameTemplate:"Alb\xFCm dosyas\u0131 \u015Fablonu",createCDFolder:"CDler i\xE7in dosya olu\u015Ftur",createStructurePlaylist:"Oynatma listeleri i\xE7in dosya k\xF6k\xFC olu\u015Ftur",createSingleFolder:"Singlelar i\xE7in dosya k\xF6k\xFC olu\u015Ftur"},trackTitles:{title:"Par\xE7a ba\u015Fl\u0131klar\u0131",padTracks:"\u0130z Numaralar\u0131",paddingSize:"\u0130z Numaralar\u0131n\u0131 de\u011Fi\u015Ftir",illegalCharacterReplacer:"Illegal Karakter D\xFCzenleyici"},downloads:{title:"\u0130ndirilenler",queueConcurrency:"Devam eden indirmeler",maxBitrate:{title:"Tercih edilmi\u015F Bitrateler (kaliteler)",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dosyalar\u0131n \xFCst\xFCne yazmal\u0131 m\u0131y\u0131m?",y:"Evet, \xFCst\xFCne yaz",n:"Hay\u0131r, \xFCst\xFCne yazma",t:"Sadece izleri \xFCst\xFCne yaz"},fallbackBitrate:"Bitrate d\xFC\u015F\xFCrme",fallbackSearch:"D\xFC\u015F\xFCrme ara",logErrors:"Hatalar i\xE7in g\xFCnl\xFCk tut",logSearched:"Aranm\u0131\u015F par\xE7alar i\xE7in g\xFCnl\xFCk tut",createM3U8File:"Oynatma s\u0131ra listesi olu\u015Ftur",syncedLyrics:".lyr dosyalar\u0131 olu\u015Ftur (Senkronize \u015Fark\u0131 s\xF6zleri)",playlistFilenameTemplate:"Oynatma listesi \u015Fablonu",saveDownloadQueue:"Uygulamay\u0131 kapat\u0131rken indirme kuyru\u011Funu kaydet"},covers:{title:"Alb\xFCm kapaklar\u0131",saveArtwork:"Kapaklar\u0131 kaydet",coverImageTemplate:"Kapak ismi \u015Fablonu",saveArtworkArtist:"Sanat\xE7\u0131 foto\u011Fraf\u0131n\u0131 kaydet",artistImageTemplate:"\u015Eark\u0131c\u0131 foto\u011Fraf \u015Fablonu",localArtworkSize:"Yerel foto\u011Fraf boyutu",embeddedArtworkSize:"G\xF6m\xFCl\xFC foto\u011Fraf boyutu",localArtworkFormat:{title:"Yerel foto\u011Fraf\u0131n hangi formatta olmas\u0131n\u0131 istersin?",jpg:"Jpeg dosyas\u0131",png:"Png dosyas\u0131",both:"Her ikisi"},jpegImageQuality:"JPEG g\xF6r\xFCnt\xFC kalitesi"},tags:{head:"Hangi izler kay\u0131t edilsin?",title:"Ba\u015Fl\u0131k",artist:"Sanat\xE7\u0131",album:"Alb\xFCm",cover:"Kapak",trackNumber:"Par\xE7a Numaras\u0131",trackTotal:"T\xFCm Par\xE7a",discNumber:"Plak Say\u0131s\u0131",discTotal:"T\xFCm Plak",albumArtist:"Sanat\xE7\u0131 Alb\xFCm\xFC",genre:"T\xFCr",year:"Y\u0131l",date:"Tarih",explicit:"Cinsel i\xE7erikli \u015Fark\u0131 s\xF6zleri",isrc:"ISRC",length:"Par\xE7a Uzunlu\u011Fu",barcode:"Alb\xFCm Barkodu (UPC)",bpm:"BPM",replayGain:"Ses Y\xFCksekli\u011Fi Normalle\u015Ftirici",label:"Alb\xFCm Etiketi",lyrics:"Senkronize edilmemi\u015F \u015Fark\u0131 s\xF6zleri",copyright:"Telif hakk\u0131",composer:"Besteleyen",involvedPeople:"Alakal\u0131 Ki\u015Filer"},other:{title:"Di\u011Fer",savePlaylistAsCompilation:"Oynatma listelerini derleme olarak kaydet",useNullSeparator:"Bo\u015Fluk ay\u0131r\u0131c\u0131 kullan",saveID3v1:"ID3v1 dosyas\u0131n\u0131 da kaydet",multiArtistSeparator:{title:"Sanat\xE7\u0131lar\u0131n\u0131z\u0131 nas\u0131l ay\u0131rmak istersiniz?",nothing:"Sadece ana sanat\xE7\u0131y\u0131 kaydet",default:"Genel prosed\xFCr uygulans\u0131n",andFeat:"Kullan\u0131lanlar & ve Feat.",using:'Kullan\u0131lan "{separator}"'},singleAlbumArtist:"Sadece ana alb\xFCm sanat\xE7\u0131s\u0131n\u0131 kaydet",albumVariousArtists:'"\xC7e\u015Fitli sanat\xE7\u0131lar"\u0131 sanat\xE7\u0131 alb\xFCmlerinde tut',removeAlbumVersion:'"Alb\xFCm S\xFCr\xFCm\xFC"n\xFC par\xE7a ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart',removeDuplicateArtists:"Sanat\xE7\u0131 toplulu\u011Funu \xE7\u0131kart",dateFormat:{title:"FLAC dosyalar i\xE7in zaman format\u0131",year:"YYYY",month:"AA",day:"GG"},featuredToTitle:{title:"\xD6ne \xE7\u0131kan sanat\xE7\u0131lar\u0131 ne yapmal\u0131y\u0131m?",0:"Elleme",1:"Ba\u015Fl\u0131ktan \xE7\u0131kart",3:"Ba\u015Fl\u0131ktan ve alb\xFCm ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart",2:"Ba\u015Fl\u0131\u011Fa ta\u015F\u0131"},titleCasing:"Alb\xFCm harfi",artistCasing:"Sanat\xE7\u0131 harfi",casing:{nothing:"De\u011Fi\u015Ftirmeden b\u0131rak",lower:"k\xFC\xE7\xFCk harf",upper:"B\xDCY\xDCK HARF",start:"Kelimenin ba\u015F\u0131 ile ba\u015Fla",sentence:"C\xFCmle gibi yap"},previewVolume:"Ses \xF6nizlemesi",executeCommand:{title:"\u0130ndirdikten sonra komut uygula",description:"Bir \u015Fey yapmamak i\xE7in bo\u015F b\u0131rak"}},spotify:{title:"Spotify \xD6zelli\u011Fi",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify Kullan\u0131c\u0131 Ad\u0131"},reset:"Varsay\u0131lana s\u0131f\u0131rla",save:"Kaydet",toasts:{init:"Ayarlar y\xFCklendi!",update:"Ayarlar g\xFCncellendi!",ARLcopied:"ARL panoya kopyaland\u0131!"}},sidebar:{home:"Ana sayfa",search:"Ara",charts:"Grafikler",favorites:"Favoriler",linkAnalyzer:"Link Analiz\xF6r\xFC",settings:"Ayarlar",about:"Hakk\u0131nda"},tracklist:{downloadSelection:"\u0130ndirme b\xF6l\xFCm\xFC"}},vn={globals:{welcome:"Ch\xE0o m\u1EEBng \u0111\u1EBFn v\u1EDBi deemix",back:"tr\u1EDF l\u1EA1i",loading:"\u0111ang t\u1EA3i",download:"T\u1EA3i xu\u1ED1ng {thing}",by:"b\u1EDFi {artist}",in:"trong {album}",download_hint:"T\u1EA3i xu\u1ED1ng",play_hint:"Ph\xE1t",toggle_download_tab_hint:"M\u1EDF r\u1ED9ng/Gi\u1EA5u",clean_queue_hint:"X\xF3a nh\u1EEFng file \u0111\xE3 t\u1EA3i xong",cancel_queue_hint:"H\u1EE7y t\u1EA5t c\u1EA3",listTabs:{empty:"",all:"t\u1EA5t c\u1EA3",top_result:"k\u1EBFt qu\u1EA3 h\xE0ng \u0111\u1EA7u",album:"album | album",artist:"Ngh\u1EC7 s\u0129 | Ngh\u1EC7 s\u0129",single:"\u0111\u01A1n | \u0111\u01A1n",title:"ti\xEAu \u0111\u1EC1 | ti\xEAu \u0111\u1EC1",track:"B\xE0i h\xE1t | B\xE0i h\xE1t",trackN:"0 B\xE0i h\xE1t | {n} B\xE0i h\xE1t | {n} B\xE0i h\xE1t",releaseN:"0 s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m",playlist:"playlist | playlist",compile:"t\u1ED5ng h\u1EE3p | t\u1ED5ng h\u1EE3p",ep:"ep | ep",spotifyPlaylist:"playlist c\u1EE7a spotify | playlist c\u1EE7a spotify",releaseDate:"ng\xE0y ph\xE1t h\xE0nh",error:"l\u1ED7i"}},about:{titles:{usefulLinks:"Link h\u1EEFu d\u1EE5ng",bugReports:"B\xE1o l\u1ED7i",contributing:"\u0110\xF3ng g\xF3p",donations:"Quy\xEAn g\xF3p",license:"B\u1EB1ng ph\xE9p"},subtitles:{bugReports:"B\u1EA1n th\u1EA5y c\xF3 g\xEC \u0111\xF3 kh\xF4ng ho\u1EA1t \u0111\u1ED9ng trong deemix? Xin h\xE3y b\xE1o v\u1EDBi ch\xFAng t\xF4i!",contributing:"B\u1EA1n mu\u1ED1n \u0111\xF3ng g\xF3p cho d\u1EF1 \xE1n n\xE0y? B\u1EA1n c\xF3 th\u1EC3 l\xE0m \u0111i\u1EC1u \u0111\xF3 v\u1EDBi nhi\u1EC1u c\xE1ch kh\xE1c nhau!",donations:"B\u1EA1n mu\u1ED1n \u1EE7ng h\u1ED9 kinh ph\xED? B\u1EA1n c\xF3 th\u1EC3 quy\xEAn g\xF3p t\u1EA1i \u0111\xE2y!"},usesLibrary:"\u1EE8ng d\u1EE5ng n\xE0y s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n deemix, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng n\xF3 \u0111\u1EC3 t\u1EA1o m\u1ED9t UI ri\xEAng cho deemix.",thanks:"C\u1EA3m \u01A1n rtonno, uhwot v\xE0 lollilol \u0111\xE3 gi\xFAp t\xF4i v\u1EDBi d\u1EF1 \xE1n n\xE0y v\xE0 BasCurtiz v\u1EDBi vi\u1EC7c thi\u1EBFt k\u1EBF bi\u1EC3u t\u01B0\u1EE3ng.",upToDate:{text:"C\u1EADp nh\u1EADt app b\u1EB1ng c\xE1ch theo d\xF5i {newsChannel} tr\xEAn Telegram.",newsChannel:"k\xEAnh tin t\u1EE9c"},officialWebsite:"Website ch\xEDnh th\u1EE9c",officialRepo:"Repo th\u01B0 vi\u1EC7n ch\xEDnh th\u1EE9c",officialWebuiRepo:"Repo WebUI ch\xEDnh th\u1EE9c",officialSubreddit:"Subreddit ch\xEDnh th\u1EE9c",newsChannel:"K\xEAnh tin t\u1EE9c",questions:{text:"N\u1EBFu b\u1EA1n c\xF3 c\xE2u h\u1ECFi ho\u1EB7c v\u1EA5n \u0111\u1EC1 v\u1EC1 \u1EE9ng d\u1EE5ng n\xE0y, xin h\xE3y t\xECm gi\u1EA3i ph\xE1p tr\xEAn {subreddit} tr\u01B0\u1EDBc. Sau \u0111\xF3, n\u1EBFu b\u1EA1n kh\xF4ng t\xECm \u0111\u01B0\u1EE3c g\xEC th\xEC b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t b\xE0i \u0111\u0103ng v\u1EC1 v\u1EA5n \u0111\u1EC1 c\u1EE7a b\u1EA1n tr\xEAn subreddit d\xF3.",subreddit:"subreddit"},beforeReporting:"Tr\u01B0\u1EDBc khi b\xE1o l\u1ED7i h\xE3y \u0111\u1EA3m b\u1EA3o b\u1EA1n \u0111ang s\u1EED d\u1EE5ng phi\xEAn b\u1EA3n m\u1EDBi nh\u1EA5t c\u1EE7a \u1EE9ng d\u1EE5ng v\xE0 l\u1ED7i b\u1EA1n \u0111ang g\u1EB7p kh\xF4ng ph\u1EA3i l\xE0 do b\u1EA1n.",beSure:"H\xE3y \u0111\u1EA3m b\u1EA3o l\xE0 l\u1ED7i n\xE0y v\u1EABn c\xF3 th\u1EC3 x\u1EA3y ra tr\xEAn c\xE1c thi\u1EBFt b\u1ECB kh\xE1c v\xE0 XIN \u0110\u1EEANG b\xE1o l\u1ED7i \u0111\xE3 \u0111\u01B0\u1EE3c b\xE1o r\u1ED3i.",duplicateReports:"Nh\u1EEFng b\u1EA3n b\xE1o l\u1ED7i tr\xF9ng nhau s\u1EBD b\u1ECB \u0111\xF3ng, xin b\u1EA1n h\xE3y \u0111\u1EC3 \xFD \u0111i\u1EC1u n\xE0y.",dontOpenIssues:"XIN \u0110\u1EEANG m\u1EDF v\u1EA5n \u0111\u1EC1 \u0111\u1EC3 h\u1ECFi, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng subreddit tr\xEAn cho vi\u1EC7c \u0111\xF3.",newUI:{text:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi python b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t UI m\u1EDBi b\u1EB1ng c\xE1ch s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n g\u1ED1c, ho\u1EB7c s\u1EEDa l\u1ED7i trong th\u01B0 vi\u1EC7n \u0111\xF3 v\u1EDBi m\u1ED9t pull request tr\xEAn {repo}.",repo:"repo n\xE0y"},acceptFeatures:"T\xF4i c\xF3 ch\u1EA5p nh\u1EADn y\xEAu c\u1EA7u v\u1EC1 t\xEDnh n\u0103ng m\u1EDBi nh\u01B0ng kh\xF4ng qu\xE1 ph\u1EE9c t\u1EA1p b\u1EDFi v\xEC ch\xFAng c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c tri\u1EC3n khai tr\u1EF1c ti\u1EBFp v\xE0o \u1EE9ng d\u1EE5ng thay v\xEC v\xE0o th\u01B0 vi\u1EC7n.",otherLanguages:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi m\u1ED9t ng\xF4n ng\u1EEF kh\xE1c, b\u1EA1n c\xF3 th\u1EC3 port deemix sang ng\xF4n ng\u1EEF \u0111\xF3!",understandingCode:"B\u1EA1n mu\u1ED1n hi\u1EC3u code c\u1EE7a deemix? Xin h\xE3y li\xEAn l\u1EA1c RemixDev tr\xEAn Telegram ho\u1EB7c Reddit.",contributeWebUI:{text:"N\u1EBFu b\u1EA1n bi\u1EBFt Vue.js (JavaScript), HTML ho\u1EB7c CSS, b\u1EA1n c\xF3 th\u1EC3 g\xF3p ph\u1EA7n ph\xE1t tri\u1EC3n {webui}.",webui:"WebUI"},itsFree:"B\u1EA1n n\xEAn nh\u1EDB r\u1EB1ng \u0111\xE2y l\xE0 m\u1ED9t d\u1EF1 \xE1n phi l\u1EE3i nhu\u1EADn v\xE0 b\u1EA1n n\xEAn \u1EE7ng h\u1ED9 nh\u1EEFng Ngh\u1EC7 s\u0129 y\xEAu th\xEDch c\u1EE7a b\u1EA1n tr\u01B0\u1EDBc khi \u1EE7ng h\u1ED9 nh\xE0 ph\xE1t tri\u1EC3n.",notObligated:"\u0110\u1EEBng ngh\u0129 r\u1EB1ng b\u1EA1n ph\u1EA3i \u0111\xF3ng g\xF3p ti\u1EC1n, t\xF4i v\u1EABn s\u1EBD r\u1EA5t bi\u1EBFt \u01A1n b\u1EA1n!",lincensedUnder:{text:"D\u1EF1 \xE1n n\xE0y \u0111\u01B0\u1EE3c c\u1EA5p ph\xE9p b\u1EDFi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"B\u1EA3ng x\u1EBFp h\u1EA1ng",changeCountry:"Thay \u0111\u1ED5i qu\u1ED1c gia",download:"T\u1EA3i xu\u1ED1ng b\u1EA3ng x\u1EBFp h\u1EA1ng n\xE0y"},errors:{title:"L\u1ED7i {name}",ids:{invalidURL:"Kh\xF4ng nh\u1EADn di\u1EC7n \u0111\u01B0\u1EE3c URL",unsupportedURL:"URL n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",ISRCnotOnDeezer:"ISRC c\u1EE7a b\xE0i h\xE1t n\xE0y hi\u1EC7n kh\xF4ng c\xF3 tr\xEAn Deezer",notYourPrivatePlaylist:"B\u1EA1n kh\xF4ng th\u1EC3 t\u1EA3i xu\u1ED1ng playlist ri\xEAng c\u1EE7a ng\u01B0\u1EDDi kh\xE1c.",spotifyDisabled:"Ch\u1EE9c n\u0103ng Spotify ch\u01B0a \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp \u0111\xFAng c\xE1ch.",trackNotOnDeezer:"B\xE0i h\xE1t kh\xF4ng c\xF3 tr\xEAn Deezer!",albumNotOnDeezer:"Album kh\xF4ng c\xF3 tr\xEAn Deezer!",notOnDeezer:"B\xE0i h\xE1t ch\u01B0a c\xF3 tr\xEAn Deezer!",notEncoded:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode!",notEncodedNoAlternative:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",wrongBitrate:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n.",wrongBitrateNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",no360RA:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF d\u1EA1ng Reality Audio 360.",notAvailable:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer!",notAvailableNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!"}},favorites:{title:"Y\xEAu th\xEDch",noPlaylists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Playlist",noAlbums:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Album Y\xEAu th\xEDch",noArtists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Ngh\u1EC7 s\u0129 Y\xEAu th\xEDch",noTracks:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c B\xE0i h\xE1t Y\xEAu th\xEDch"},home:{needTologin:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Deezer tr\u01B0\u1EDBc khi b\u1EAFt \u0111\u1EA7u t\u1EA3i xu\u1ED1ng.",openSettings:"M\u1EDF C\xE0i \u0111\u1EB7t",sections:{popularPlaylists:"Playlist N\u1ED5i ti\u1EBFng",popularAlbums:"Album \u0111\u01B0\u1EE3c stream nhi\u1EC1u nh\u1EA5t"}},linkAnalyzer:{info:"B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng ch\u1EE9c n\u0103ng n\xE0y \u0111\u1EC3 ki\u1EBFm th\xEAm th\xF4ng tin v\u1EC1 \u0111\u01B0\u1EDDng link m\xE0 b\u1EA1n mu\u1ED1n t\u1EA3i xu\u1ED1ng.",useful:"Ch\u1EE9c n\u0103ng n\xE0y r\u1EA5t h\u1EEFu d\u1EE5ng n\u1EBFu b\u1EA1n mu\u1ED1n t\u1EA3i c\xE1c b\xE0i h\xE1t hi\u1EC7n kh\xF4ng c\xF3 s\u1EB5n \u1EDF qu\u1ED1c gia c\u1EE7a b\u1EA1n v\xE0 mu\u1ED1n bi\u1EBFt c\xE1c qu\u1ED1c gia \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3.",linkNotSupported:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",linkNotSupportedYet:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3, xin h\xE3y th\u1EED l\u1EA1i v\u1EDBi m\u1ED9t \u0111\u01B0\u1EDDng link kh\xE1c.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Th\u1EDDi l\u01B0\u1EE3ng",diskNumber:"S\u1ED1 \u0111\u0129a",trackNumber:"S\u1ED1 b\xE0i h\xE1t",releaseDate:"Ng\xE0y ph\xE1t h\xE0nh",bpm:"BPM",label:"H\xE3ng",recordType:"Lo\u1EA1i Thu \xE2m",genres:"Th\u1EC3 lo\u1EA1i",tracklist:"Danh s\xE1ch c\xE1c b\xE0i h\xE1t"}},search:{startSearching:"B\u1EAFt \u0111\u1EA7u t\xECm ki\u1EBFm!",description:"B\u1EA1n c\xF3 th\u1EC3 t\xECm m\u1ED9t b\xE0i h\xE1t, album, ngh\u1EC7 s\u0129, playlist, v.v...! B\u1EA1n c\u0169ng c\xF3 th\u1EC3 d\xF9ng link c\u1EE7a Deezer",fans:"{n} ng\u01B0\u1EDDi h\xE2m m\u1ED9",noResults:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",noResultsTrack:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c b\xE0i h\xE1t n\xE0o",noResultsAlbum:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c album n\xE0o",noResultsArtist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c ngh\u1EC7 s\u0129 n\xE0o",noResultsPlaylist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c playlist n\xE0o"},searchbar:"T\xECm nh\u1EEFng g\xEC b\u1EA1n mu\u1ED1n (b\u1EA1n c\u0169ng c\xF3 th\u1EC3 s\u1EEF d\u1EE5ng m\u1ED9t \u0111\u01B0\u1EDDng link)",downloads:"T\u1EA3i xu\u1ED1ng",toasts:{addedToQueue:"{item} \u0111\xE3 \u0111\u01B0\u1EE3c \u0111\u01B0a v\xE0o h\xE0ng ch\u1EDD",alreadyInQueue:"{item} \u0111\xE3 \u0111ang trong h\xE0ng ch\u1EDD!",finishDownload:"{item} \u0111\xE3 t\u1EA3i xong.",allDownloaded:"T\u1EA5t c\u1EA3 c\xE1c b\xE0i h\xE1t \u0111\xE3 \u0111\u01B0\u1EE3c t\u1EA3i xu\u1ED1ng!",refreshFavs:"T\u1EA3i l\u1EA1i ho\xE0n t\u1EA5t!",loggingIn:"\u0110ang \u0111\u0103ng nh\u1EADp",loggedIn:"\u0110\u0103ng nh\u1EADp th\xE0nh c\xF4ng",alreadyLogged:"\u0110\xE3 \u0111\u0103ng nh\u1EADp",loginFailed:"Kh\xF4ng th\u1EC3 \u0111\u0103ng nh\u1EADp",loggedOut:"\u0110\u0103ng xu\u1EA5t",cancellingCurrentItem:"\u0110ang h\u1EE7y file hi\u1EC7n t\u1EA1i.",currentItemCancelled:"File hi\u1EC7n t\u1EA1i \u0111\xE3 b\u1ECB h\u1EE7y.",startAddingArtist:"\u0110ang \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",finishAddingArtist:"\u0110\xE3 \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",startConvertingSpotifyPlaylist:"\u0110ang chuy\u1EC3n \u0111\u1ED5i c\xE1c b\xE0i h\xE1t t\u1EEB Spotify sang Deezer",finishConvertingSpotifyPlaylist:"Playlist c\u1EE7a Spotify \u0111\xE3 \u0111\u01B0\u1EE3c chuy\u1EC3n \u0111\u1ED5i",loginNeededToDownload:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111ang nh\u1EADp \u0111\u1EC3 t\u1EA3i nh\u1EA1c!"},settings:{title:"C\xE0i \u0111\u1EB7t",languages:"Ng\xF4n ng\u1EEF",login:{title:"\u0110\u0103ng nh\u1EADp",loggedIn:"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp v\u1EDBi t\xEAn {username}",arl:{question:"L\xE0m c\xE1ch n\xE0o \u0111\u1EC3 c\xF3 ARL c\u1EE7a t\xF4i?",update:"C\u1EADp nh\u1EADt ARL"},logout:"\u0110\u0103ng xu\u1EA5t"},appearance:{title:"Giao di\u1EC7n",slimDownloadTab:"Thanh t\u1EA3i xu\u1ED1ng nh\u1ECF"},downloadPath:{title:"N\u01A1i t\u1EA3i xu\u1ED1ng"},templates:{title:"B\u1EA3n m\u1EABu",tracknameTemplate:"B\xE0i h\xE1t m\u1EABu",albumTracknameTemplate:"B\xE0i h\xE1t trong album m\u1EABu",playlistTracknameTemplate:"B\xE0i h\xE1t trong playlist m\u1EABu"},folders:{title:"Th\u01B0 m\u1EE5c",createPlaylistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho playlist",playlistNameTemplate:"Th\u01B0 m\u1EE5c playlist m\u1EABu",createArtistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho ngh\u1EC7 s\u0129",artistNameTemplate:"Th\u01B0 m\u1EE5c Ngh\u1EC7 s\u0129 m\u1EABu",createAlbumFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho album",albumNameTemplate:"Th\u01B0 m\u1EE5c cho album m\u1EABu",createCDFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho \u0111\u0129a CD",createStructurePlaylist:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho playlist",createSingleFolder:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho \u0111\u0129a \u0111\u01A1n"},trackTitles:{title:"T\xEAn b\xE0i h\xE1t",padTracks:"\u0110\u1EC7m t\xEAn b\xE0i h\xE1t",paddingSize:"Gh\xEC \u0111\xE8 k\xEDch c\u1EE1 ph\u1EA7n \u0111\u1EC7m",illegalCharacterReplacer:"Thay c\xE1c k\xED t\u1EF1 kh\xF4ng h\u1EE3p l\u1EC7 v\u1EDBi"},downloads:{title:"T\u1EA3i xu\u1ED1ng",queueConcurrency:"S\u1ED1 l\u01B0\u1EE3ng t\u1EA3i xu\u1ED1ng c\xF9ng l\xFAc",maxBitrate:{title:"Bitrate \u01B0a th\xEDch",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"T\xF4i c\xF3 n\xEAn ghi \u0111\xE8 file n\xE0y kh\xF4ng?",y:"C\xF3, h\xE3y ghi \u0111\xE8 file n\xE0y",n:"Kh\xF4ng, \u0111\u1EEBng ghi \u0111\xE8 file n\xE0y",t:"Ch\u1EC9 ghi \u0111\xE8 c\xE1c tag"},fallbackBitrate:"Bitrate d\u1EF1 ph\xF2ng",fallbackSearch:"Search d\u1EF1 ph\xF2ng",logErrors:"T\u1EA1o file log khi c\xF3 l\u1ED7i",logSearched:"T\u1EA1o file log khi b\u1EA1n t\xECm B\xE0i h\xE1t",createM3U8File:"T\u1EA1o file playlist",syncedLyrics:"T\u1EA1o file .lyr (L\u1EDDi B\xE0i h\xE1t)",playlistFilenameTemplate:"T\xEAn playlist m\u1EABu",saveDownloadQueue:"L\u01B0u h\xE0ng ch\u1EDD download khi \u0111\xF3ng \u1EE9ng d\u1EE5ng"},covers:{title:"B\xECa album",saveArtwork:"L\u01B0u b\xECa",coverImageTemplate:"T\xEAn b\xECa m\u1EABu",saveArtworkArtist:"L\u01B0u h\xECnh Ngh\u1EC7 s\u0129",artistImageTemplate:"H\xECnh ngh\u1EC7 s\u0129 m\u1EABu",localArtworkSize:"K\xEDch c\u1EE1 file b\xECa",embeddedArtworkSize:"K\xEDch c\u1EE1 b\xECa trong file b\xE0i h\xE1t",localArtworkFormat:{title:"B\u1EA1n mu\u1ED1n file b\xECa \u1EDF \u0111\u1ECBnh d\u1EA1ng n\xE0o?",jpg:"jpg",png:"png",both:"C\u1EA3 jpg v\xE0 png"},jpegImageQuality:"Ch\u1EA5t l\u01B0\u1EE3ng file JPEG"},tags:{head:"Nh\u1EEFng tag s\u1EBD \u0111\u01B0\u1EE3c l\u01B0u",title:"Ti\xEAu \u0111\u1EC1",artist:"Ngh\u1EC7 s\u0129",album:"Album",cover:"B\xECa",trackNumber:"S\u1ED1 b\xE0i h\xE1t",trackTotal:"T\u1ED5ng s\u1ED1 b\xE0i h\xE1t",discNumber:"S\u1ED1 \u0111\u0129a",discTotal:"T\u1ED5ng s\u1ED1 \u0111\u0129a",albumArtist:"Ngh\u1EC7 s\u0129 c\u1EE7a album",genre:"Th\u1EC3 lo\u1EA1i",year:"N\u0103m",date:"Ng\xE0y",explicit:"L\u1EDDi explicit",isrc:"ISRC",length:"Th\u1EDDi l\u01B0\u1EE3ng",barcode:"M\xE3 v\u1EA1ch c\u1EE7a album (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Nh\xE3n hi\u1EC7u album",lyrics:"L\u1EDDi",copyright:"B\u1EA3n quy\u1EC1n",composer:"Nh\xE0 so\u1EA1n nh\u1EA1c",involvedPeople:"Nh\u1EEFng ng\u01B0\u1EDDi li\xEAn quan"},other:{title:"Kh\xE1c",savePlaylistAsCompilation:"L\u01B0u playlist d\u01B0\u1EDBi d\u1EA1ng tuy\u1EC3n t\u1EADp",useNullSeparator:"D\xF9ng d\u1EA3i ph\xE2n c\xE1ch null",saveID3v1:"L\u01B0u ID3v1",multiArtistSeparator:{title:"B\u1EA1n mu\u1ED1n ph\xE2n c\xE1ch c\xE1c ngh\u1EC7 s\u0129 nh\u01B0 th\u1EBF n\xE0o?",nothing:"Ch\u1EC9 l\u01B0u ngh\u1EC7 s\u0129 ch\xEDnh",default:"D\xF9ng quy c\xE1ch ti\xEAu chu\u1EA9n",andFeat:"D\xF9ng & v\xE0 feat.",using:'D\xF9ng "{separator}"'},singleAlbumArtist:"Ch\u1EC9 l\u01B0u Ngh\u1EC7 s\u0129 Album ch\xEDnh",albumVariousArtists:'Gi\u1EEF nguy\xEAn "Nhi\u1EC1u Ngh\u1EC7 s\u0129" trong Ngh\u1EC7 s\u0129 Album',removeAlbumVersion:'B\u1ECF "Phi\xEAn b\u1EA3n Album" kh\u1ECFi t\xEAn b\xE0i h\xE1t',removeDuplicateArtists:"B\u1ECF c\xE1c t\xEAn ngh\u1EC7 s\u0129 ph\u1ED1i h\u1EE3p",dateFormat:{title:"\u0110\u1ECBnh d\u1EA1ng ng\xE0y cho file FLAC ",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"T\xF4i n\xEAn l\xE0m g\xEC v\u1EDBi c\xE1c ngh\u1EC7 s\u0129 \u0111\xF3ng g\xF3p?",0:"Kh\xF4ng l\xE0m g\xEC c\u1EA3",1:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t",3:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t v\xE0 t\xEAn album",2:"\u0110\u01B0a ch\xFAng v\xE0o t\xEAn b\xE0i h\xE1t"},titleCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn b\xE0i h\xE1t",artistCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn ngh\u1EC7 s\u0129",casing:{nothing:"Kh\xF4ng \u0111\u1ED5i",lower:"ch\u1EEF th\u01B0\u1EDDng",upper:"CH\u1EEE HOA",start:"Vi\u1EBFt Hoa \u1EDE Ch\u1EEF C\xE1i \u0110\u1EA7u Ti\xEAn C\u1EE7a M\u1ED7i T\u1EEB",sentence:"Nh\u01B0 m\u1ED9t c\xE2u"},previewVolume:"\xC2m l\u01B0\u1EE3ng nghe th\u1EED",executeCommand:{title:"Th\u1EF1c hi\u1EC7n nh\u1EEFng l\u1EC7nh n\xE0y khi \u0111\xE3 t\u1EA3i xu\u1ED1ng xong",description:"\u0110\u1EC3 tr\u1ED1ng n\u1EBFu b\u1EA1n kh\xF4ng mu\u1ED1n th\u1EF1c hi\u1EC7n l\u1EC7nh n\xE0o"}},spotify:{title:"Ch\u1EE9c n\u0103ng Spotify",clientID:"ClientID c\u1EE7a Spotify",clientSecret:"Client Secret c\u1EE7a Spotify",username:"T\xEAn t\xE0i kho\u1EA3n c\u1EE7a Spotify"},reset:"Quay tr\u1EDF l\u1EA1i c\xE0i \u0111\u1EB7t m\u1EB7c \u0111\u1ECBnh",save:"L\u01B0u",toasts:{init:"C\xE0i \u0111\u1EB7t \u0111\xE3 \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp!",update:"C\xE0i \u0111\u1EB7t c\u1EADp nh\u1EADt th\xE0nh c\xF4ng!",ARLcopied:"ARL \u0111\xE3 \u0111\u01B0\u1EE3c sao ch\xE9p v\xE0o clipboard"}},sidebar:{home:"trang ch\u1EE7",search:"t\xECm ki\u1EBFm",charts:"b\u1EA3ng x\u1EBFp h\u1EA1ng",favorites:"y\xEAu th\xEDch",linkAnalyzer:"ph\xE2n t\xEDch link",settings:"c\xE0i \u0111\u1EB7t",about:"th\xF4ng tin"},tracklist:{downloadSelection:"T\u1EA3i xu\u1ED1ng nh\u1EEFng m\u1EE5c \u0111\xE3 ch\u1ECDn"}},hr={globals:{welcome:"Dobrodo\u0161li u deemix",back:"nazad",loading:"u\u010Ditavanje",download:"Preuzmi {thing}",by:"by {artist}",in:"u {album}",download_hint:"Preuzmi",play_hint:"Play",toggle_download_tab_hint:"Pro\u0161iri/Smanji",clean_queue_hint:"\u010Ci\u0161\u0107enje zavr\u0161eno",cancel_queue_hint:"Zaustavi sve",listTabs:{empty:"",all:"sve",top_result:"Najbolji rezultat",album:"album | albumi",artist:"izvo\u0111a\u010D | izvo\u0111a\u010Di",single:"singl | singlovi",title:"naslov | naslovi",track:"pjesma | pjesme",trackN:"0 pjesmi | {n} pjesma | {n} pjesme",releaseN:"0 izdanja | {n} izdanje | {n} izdanja",playlist:"playlista | playliste",compile:"kompilacija | kompilacije",ep:"ep | eps",spotifyPlaylist:"spotify playlista | spotify playliste",releaseDate:"datum izdavanja",error:"gre\u0161ka"}},about:{titles:{usefulLinks:"Korisne poveznice",bugReports:"Prijave gre\u0161aka",contributing:"Doprinosi",donations:"Donacije",license:"Licenca"},subtitles:{bugReports:"Postoji ne\u0161to \u0161to ne radi u deemixu? Reci nam!",contributing:"\u017Deli\u0161 doprinijeti ovom projektu? Mo\u017Ee\u0161 i to \u010Dak u vi\u0161e na\u010Dina!",donations:"\u017Deli\u0161 doprijeniti odmah? Mo\u017Ee\u0161 donirati!"},usesLibrary:"Ova aplikacija koristi deemix biblioteku, koju mo\u017Ee\u0161 koristiti i ti kako bi napravio svoj UI za demix.",thanks:"Hvala rtonno, uhwot i lollilol \u0161to su mi pomogli s ovim projektom te BasCurtiz \u0161to su napravili ikonu.",upToDate:{text:"Ostani u tijeku s nadogradnjama prate\u0107i {newsChannel} na Telegramu.",newsChannel:"kanal s novostima"},officialWebsite:"Slu\u017Ebena web stranica",officialRepo:"Slu\u017Ebeni repozitorij biblioteke",officialWebuiRepo:"Slu\u017Ebeni WebUI repozitorij",officialSubreddit:"Slu\u017Ebeni subreddit",newsChannel:"Kanal s novostima",questions:{text:"Ukoliko imate pitanja o aplikaciji, prvo potra\u017Eite rije\u0161enje na {subreddit}. Tada, ako ne prona\u0111ete ni\u0161ta, mo\u017Eete objaviti svoj problem na subredditu.",subreddit:"subreddit"},beforeReporting:"Prije prijavljivanja gre\u0161ke provjerite imate li instaliranu zadnju verziju aplikacije i da to \u0161to \u017Eelite prijaviti je ustvari pogre\u0161ka, a ne ne\u0161to \u0161to samo vama ne radi.",beSure:"Provjerite mo\u017Ee li se pogre\u0161ka reproducirati i na drugim ure\u0111ajima i tako\u0111er NEMOJTE prijavljivati gre\u0161ku ako je ve\u0107 prijavljena.",duplicateReports:"Duplicirane prijave o gre\u0161ki bit \u0107e zatvorene, tako da pripazite na to.",dontOpenIssues:"NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.",newUI:{text:"Ako ste vje\u0161ti u pythonu mo\u017Eete probati napraviti novi UI za aplikaciju koriste\u0107i osnovnu biblioteku ili ispraviti pogre\u0161ku u biblioteci sa pull zahtjevom na {repo}.",repo:"repozitoriju"},acceptFeatures:"Prihava\u0107am i zna\u010Dajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.",otherLanguages:"Ako ste vje\u0161ti u drugom programskom jezikumo\u017Eete probati portati deemix u drugi programski jezik!",understandingCode:"Trebate pomo\u0107 s razumijevanjem koda? Samo potra\u017Ei RemixDev na Telegramu ili Redditu.",contributeWebUI:{text:"Ako zna\u0161 Vue.js (JavaScript), HTML ili CSS mo\u017Eete doprinijeti za {webui}.",webui:"WebUI"},itsFree:"Trebate zapamtiti da je ovo besplatni projekt i trebali biste podr\u017Eati autore koje volite prije podr\u017Eavanja developera.",notObligated:"Nemojte se osje\u0107ati obveznim darivati, svejedno vas cijenim!",lincensedUnder:{text:"Ovaj rad licenciran je unutar {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Ljestvice",changeCountry:"Promijeni dr\u017Eavu",download:"Preuzmi ljestvicu"},errors:{title:"Gre\u0161ke za {name}",ids:{invalidURL:"URL nije prepoznat",unsupportedURL:"URL jo\u0161 nije podr\u017Ean",ISRCnotOnDeezer:"Zapis ISRC jo\u0161 nije podr\u017Ean na Deezeru",notYourPrivatePlaylist:"Ne mo\u017Eete preuzeti tu\u0111e privatne playliste.",spotifyDisabled:"Spotify zna\u010Dajke nisu pode\u0161ene ispravno.",trackNotOnDeezer:"Pjesma nije prona\u0111ena na Deezeru!",albumNotOnDeezer:"Album nije prona\u0111en na Deezeru!",notOnDeezer:"Pjesma nije dostupna na Deezeru!",notEncoded:"Pjesma jo\u0161 nije enkodirana!",notEncodedNoAlternative:"Pjesma jo\u0161 nije enkodirana i nije prona\u0111ena alternativa!",wrongBitrate:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu.",wrongBitrateNoAlternative:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu i nije prona\u0111ena alternativa!",no360RA:"Pjesma nije dostupna u Reality Audio 360.",notAvailable:"Pjesma nije dostupna na Deezerovim serverima!",notAvailableNoAlternative:"Pjesma nije dostupna na Deezerovim serverima i alternativa nije prona\u0111ena!"}},favorites:{title:"Favoriti",noPlaylists:"Nisu prona\u0111ene playliste",noAlbums:"Omiljeni albumi nisu prona\u0111eni",noArtists:"Omiljeni glazbenici nisu prona\u0111eni",noTracks:"Omiljene pjesme nisu prona\u0111ene"},home:{needTologin:"Trebate se prijaviti sa svojim Deezer ra\u010Dunom kako biste mogli po\u010Deti preuzimati pjesme.",openSettings:"Otvori postavke",sections:{popularPlaylists:"Popularne playliste",popularAlbums:"Najpreslu\u0161aniji album"}},linkAnalyzer:{info:"Ovu sekciju mo\u017Eete koristiti kako biste saznali vi\u0161e informacija o linku koji poku\u0161avate preuzeti.",useful:"Ovo je korisno ako poku\u0161avate preuzeti pjesme koje jo\u0161 nisu dostupne u va\u0161oj zemlji i \u017Eelite, na primjer, znati gdje su dostupne.",linkNotSupported:"Ovaj link jo\u0161 nije podr\u017Ean",linkNotSupportedYet:"\u010Cini se da ovaj link jo\u0161 nije podr\u017Ean, poku\u0161aj analizirati neki drugi.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Trajanje",diskNumber:"Broj diska",trackNumber:"Broj pjesme",releaseDate:"Datum izadavanja",bpm:"BPM",label:"Izdava\u010Dka ku\u0107a",recordType:"Vrsta zapisa",genres:"\u017Danrovi",tracklist:"Popis pjesama"}},search:{startSearching:"Po\u010Dni pretra\u017Eivati!",description:"Mo\u017Eete pretra\u017Eiti pjesmu, cijeli album, izvo\u0111a\u010Da, playlistu... sve! Tako\u0111er, mo\u017Eete i zalijepiti Deezer link",fans:"{n} obo\u017Eavatelja",noResults:"Nema rezultata",noResultsTrack:"Pjesme nisu prona\u0111ene",noResultsAlbum:"Albumi nisu prona\u0111eni",noResultsArtist:"Izvo\u0111a\u010Di nisu prona\u0111eni",noResultsPlaylist:"Playliste nisu prona\u0111ene"},searchbar:"Pretra\u017Ei bilo \u0161to (ili samo zalijepi link)",downloads:"preuzimanja",toasts:{addedToQueue:"{item} dodan u red",alreadyInQueue:"{item} je ve\u0107 u redu!",finishDownload:"{item} zavr\u0161eno preuzimanje.",allDownloaded:"Sva preuzimanja zavr\u0161ena!",refreshFavs:"Osvje\u017Eavanje zavr\u0161eno!",loggingIn:"Prijavljivanje...",loggedIn:"Prijavljeni",alreadyLogged:"Ve\u0107 prijavljeni",loginFailed:"Prijava nije bila mogu\u0107a",loggedOut:"Odjavljeni",cancellingCurrentItem:"Otkazujem trenutnu stavku.",currentItemCancelled:"Trenutna stavka otkazana.",startAddingArtist:"Dodajem {artist} album u red",finishAddingArtist:"Dodan {artist} album u red",startConvertingSpotifyPlaylist:"Pretvaram Spotify pjesme u Deezer pjesme",finishConvertingSpotifyPlaylist:"Spotify playlista pretvorena",loginNeededToDownload:"Trebate se prijaviti kako bi preuzeli pjesme!"},settings:{title:"Postavke",languages:"Jezici",login:{title:"Prijava",loggedIn:"Prijavljeni ste kao {username}",arl:{question:"Kako da dobijem svoj ARL?",update:"A\u017Euriraj ARL"},logout:"Odjavi se"},appearance:{title:"Izgled",slimDownloadTab:"Tanka kartica za preuzimanje"},downloadPath:{title:"Putanja za preuzimanja"},templates:{title:"Predlo\u0161ci",tracknameTemplate:"Naziv pjesme predlo\u017Eak",albumTracknameTemplate:"Pjesma albuma predlo\u017Eak",playlistTracknameTemplate:"Pjesma playliste predlo\u017Eak"},folders:{title:"Mape",createPlaylistFolder:"Izradi mapu za playliste",playlistNameTemplate:"Mapa za playliste predlo\u017Eak",createArtistFolder:"Izradi mapu za izvo\u0111a\u010Da",artistNameTemplate:"Izvo\u0111a\u010D mapa predlo\u017Eak",createAlbumFolder:"Izradi mapu za album",albumNameTemplate:"Album mapa predlo\u017Eak",createCDFolder:"Izradi mapu za CD",createStructurePlaylist:"Strkturiraj mape za playliste",createSingleFolder:"Strukturiraj mape za singlove"},trackTitles:{title:"Naslovi pjesama",padTracks:"Pad tracks",paddingSize:"Prepi\u0161i veli\u010Dinu paddinga",illegalCharacterReplacer:"Zamjena za nedozvoljeni znak"},downloads:{title:"Preuzimanja",queueConcurrency:"Istovremena preuzimanja",maxBitrate:{title:"\u017Deljeni bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Trebam li prepisati datoteke?",y:"Da, prepi\u0161i datoteke",n:"Ne, nemoj prepisati datoteke",t:"Prepi\u0161i samo oznake",b:"Ne, zadr\u017Ei obje datoteke i dodaj broj duplikatu"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Pretra\u017Eivanje fallback",logErrors:"Izradi zapisnik datoteku za gre\u0161ke",logSearched:"Izradi zapisnik datoteku za pretra\u017Eene pjesme",createM3U8File:"Izradi playlist datoteku",syncedLyrics:"Izradi .lyr datoteke (sinkronizirani lyrics)",playlistFilenameTemplate:"Naziv playliste predlo\u017Eak",saveDownloadQueue:"Spremi red za preuzimanje prilikom zatvaranja aplikacije"},covers:{title:"Omoti albuma",saveArtwork:"Spremi omote",coverImageTemplate:"Naziv omota predlo\u017Eak",saveArtworkArtist:"Spremi sliku izvo\u0111a\u010Da",artistImageTemplate:"Slika izvo\u0111a\u010Da predlo\u017Eak",localArtworkSize:"Veli\u010Dina lokalnog omota",embeddedArtworkSize:"Veli\u010Dina ugra\u0111enog omota",localArtworkFormat:{title:"U kojem formatu \u017Eelite lokalni omot?",jpg:"Jpeg slika",png:"Png slika",both:"I jpeg i png"},jpegImageQuality:"JPEG kvaliteta slike"},tags:{head:"Koja oznake spremam",title:"Naslovi",artist:"Izvo\u0111a\u010D",album:"Album",cover:"Omot",trackNumber:"Broj pjesme",trackTotal:"Ukupno pjesama",discNumber:"Broj diska",discTotal:"Ukupno diskova",albumArtist:"Izvo\u0111a\u010D albuma",genre:"\u017Danr",year:"Godina",date:"Datum",explicit:"Eksplicitni lyrics",isrc:"ISRC",length:"Du\u017Eina pjesme",barcode:"Album barkod (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Izdava\u010Dka ku\u0107a albuma",lyrics:"Nesinkronizirani lyrics",copyright:"Autorska prava",composer:"Skladatelj",involvedPeople:"Uklju\u010Deni ljudi"},other:{title:"Ostalo",savePlaylistAsCompilation:"Spremi playliste kao kompilacije",useNullSeparator:"Koristi null razdvojnik",saveID3v1:"Spremi i ID3v1 tako\u0111er",multiArtistSeparator:{title:"Kako biste \u017Eeljeli razdvojiti izvo\u0111a\u010De?",nothing:"Spremi samo glavnog izvo\u0111a\u010Da",default:"Koriste\u0107i standardnu specifikaciju",andFeat:"Koriste\u0107i & i feat.",using:'Koriste\u0107i "{separator}"'},singleAlbumArtist:"Spremi samo izvo\u0111a\u010Da glavnog albuma",albumVariousArtists:'Zadr\u017Ei "Various Artists" u Izvo\u0111a\u010Dima albuma',removeAlbumVersion:'Izbri\u0161i "Album Version" iz naziva pjesme',removeDuplicateArtists:"Izbri\u0161i kombinacije izvo\u0111a\u010Da",dateFormat:{title:"Format datuma za FLAC datoteke",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u0160to trebam napraviti s istaknutim izvo\u0111a\u010Dima? (feat. i ft.)",0:"Ni\u0161ta",1:"Izbri\u0161i ih iz naziva",3:"Izbri\u0161i ih iz naziva i iz naziva albuma",2:"Premjesti ih u naziv"},titleCasing:"Veli\u010Dina slova naslova",artistCasing:"Veli\u010Dina slova izvo\u0111a\u010Da",casing:{nothing:"Zadr\u017Ei nepromijenjeno",lower:"sve malo",upper:"sve VELIKO",start:"Po\u010Detak Svake Rije\u010Di",sentence:"Kao re\u010Denica"},previewVolume:"Volumen pregleda",executeCommand:{title:"Naredba za izvr\u0161enje nakon preuzimanja",description:"Ostavi prazno za bez akcije"}},spotify:{title:"Spotify zna\u010Dajke",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify korisni\u010Dko ime"},reset:"Resetiraj na zadano",save:"Spremi",toasts:{init:"Postavke u\u010Ditane!",update:"Postavke a\u017Eurirane!",ARLcopied:"ARL kopiran u me\u0111uspremnik"}},sidebar:{home:"po\u010Detna",search:"pretra\u017Eivanje",charts:"ljestvice",favorites:"favoriti",linkAnalyzer:"analizator linka",settings:"postavke",about:"o programu"},tracklist:{downloadSelection:"Preuzmi selekciju"}},ar={globals:{welcome:"\u0645\u0631\u062D\u0628\u0623 \u0628\u0643 \u0641\u064A \u062F\u064A\u0645\u0643\u0633",back:"\u0631\u062C\u0648\u0639",loading:"\u062C\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",download:"\u062A\u062D\u0645\u064A\u0644 {thing}",by:"\u0628\u0648\u0627\u0633\u0637\u0629 {artist}",in:"\u0641\u064A {album}",download_hint:"\u062A\u062D\u0645\u064A\u0644",play_hint:"\u062A\u0634\u063A\u064A\u0644",toggle_download_tab_hint:"\u0639\u0631\u0636/\u0627\u062E\u0641\u0627\u0621",clean_queue_hint:"\u062A\u0645 \u0627\u0644\u0645\u0633\u062D",cancel_queue_hint:"\u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0643\u0644",listTabs:{empty:"",all:"\u0627\u0644\u0643\u0644",top_result:"\u0627\u0641\u0636\u0644 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",album:"\u0627\u0644\u0628\u0648\u0645 | \u0627\u0644\u0628\u0648\u0645\u0627\u062A",artist:"\u0641\u0646\u0627\u0646 | \u0641\u0646\u0627\u0646\u0648\u0646",single:"\u0627\u063A\u0646\u064A\u0629 | \u0627\u063A\u0646\u064A\u0629",title:"\u0639\u0646\u0648\u0627\u0646 | \u0639\u0646\u0627\u0648\u064A\u0646",track:"\u0645\u0642\u0637\u0639 | \u0645\u0642\u0627\u0637\u0639",trackN:"0 \u0645\u0642\u0627\u0637\u0639 | {n} \u0645\u0642\u0637\u0639 | {n} \u0645\u0642\u0637\u0639",releaseN:"0 \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631",playlist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",compile:"\u0645\u062C\u0645\u0648\u0639\u0629 | \u0645\u062C\u0645\u0648\u0639\u0627\u062A",ep:"ep | eps",spotifyPlaylist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",error:"\u062E\u0637\u0623"}},about:{titles:{usefulLinks:"\u0631\u0648\u0627\u0628\u0637 \u0645\u0647\u0645\u0629",bugReports:"\u0627\u0628\u0644\u0627\u063A \u0639\u0646 \u0645\u0634\u0643\u0644\u0629",contributing:"\u0645\u0633\u0627\u0647\u0645\u0629",donations:"\u0627\u0644\u062A\u0628\u0631\u0639",license:"\u0627\u0644\u0631\u062E\u0635\u0629"},subtitles:{bugReports:"\u0647\u0644 \u0647\u0646\u0627\u0643 \u0634\u064A\u0621 \u0644\u0627 \u064A\u0639\u0645\u0644 \u0641\u064A \u062F\u064A\u0645\u0643\u0633\u061F \u0623\u062E\u0628\u0631\u0646\u0627",contributing:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0642\u064A\u0627\u0645 \u0628\u0630\u0644\u0643 \u0628\u0639\u062F\u0629 \u0637\u0631\u0642",donations:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0645\u0627\u062F\u064A\u0627\u064B\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062A\u0628\u0631\u0639"},usesLibrary:"\u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u064A\u0633\u062A\u062E\u062F\u0645 \u0645\u0643\u062A\u0628\u0629 \u062F\u064A\u0645\u0643\u0633 \u0648\u0627\u0644\u062A\u064A \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u062C\u0647\u0629 \u0645\u0633\u062A\u062E\u062F\u0645 \u062E\u0627\u0635\u0629 \u0628\u0643 \u0644\u062F\u064A\u0645\u0643\u0633.",thanks:"\u0634\u0643\u0631\u0627 \u0644\u0640 rtonno, \u0648 uhwot \u0648 lollilol \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u064A \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648 \u0644\u0640 BasCurtiz \u0644\u0635\u0646\u0639 \u0627\u0644\u0627\u064A\u0642\u0648\u0646\u0629.",officialWebsite:"\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0631\u0633\u0645\u064A",officialRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0627\u0644\u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0631\u0633\u0645\u064A",officialWebuiRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0648\u0627\u062C\u0647\u0629 \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u0631\u0633\u0645\u064A",officialSubreddit:"\u0627\u0644\u0633\u0628 \u0631\u064A\u062F\u062A \u0627\u0644\u0631\u0633\u0645\u064A",newsChannel:"\u0642\u0646\u0627\u0629 \u0627\u0644\u0627\u062E\u0628\u0627\u0631",beforeReporting:"\u0642\u0628\u0644 \u0627\u0646 \u062A\u0628\u0644\u063A \u0639\u0646 \u062E\u0637\u0623\u060C \u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646\u0643 \u062A\u0634\u063A\u0644 \u0623\u062D\u062F\u062B \u0625\u0635\u062F\u0627\u0631 \u0645\u0646 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0623\u0646 \u0645\u0627 \u062A\u0631\u064A\u062F \u0627\u0644\u0625\u0628\u0644\u0627\u063A \u0639\u0646\u0647 \u0647\u0648 \u0641\u064A \u0627\u0644\u0648\u0627\u0642\u0639 \u062E\u0637\u0623 \u0648\u0644\u064A\u0633 \u0645\u0634\u0643\u0644\u0629 \u0645\u0646 \u062C\u0647\u062A\u0643.",beSure:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646 \u0627\u0644\u062E\u0637\u0623 \u064A\u0645\u0643\u0646 \u0625\u0639\u0627\u062F\u0629 \u0625\u0646\u062A\u0627\u062C\u0647 \u0639\u0644\u0649 \u0623\u062C\u0647\u0632\u0629 \u0623\u062E\u0631\u0649 \u0648 \u0627\u064A\u0636\u0627\u064B \u0644\u0627 \u062A\u0628\u0644\u063A \u0639\u0644\u0629 \u062E\u0637\u0623 \u062A\u0645 \u0627\u0644\u062A\u0628\u0644\u064A\u063A \u0639\u0646\u0647 \u0633\u0627\u0628\u0642\u0627\u064B.",duplicateReports:"\u0633\u064A\u062A\u0645 \u0625\u063A\u0644\u0627\u0642 \u062A\u0642\u0627\u0631\u064A\u0631 \u0627\u0644\u0623\u062E\u0637\u0627\u0621 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u060C \u0644\u0630\u0644\u0643 \u062A\u0631\u0642\u0628 \u0630\u0644\u0643.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",acceptFeatures:"\u0623\u0642\u0628\u0644 \u0627\u0642\u062A\u0631\u0627\u062D\u0627\u062A \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0623\u064A\u0636\u064B\u0627 \u060C \u0648\u0644\u0643\u0646 \u0644\u0627 \u0623\u0634\u064A\u0627\u0621 \u0645\u0639\u0642\u062F\u0629 \u060C \u0641\u0642\u0637 \u0627\u0634\u064A\u0627\u0621 \u064A\u0645\u0643\u0646\u0646\u064A \u062A\u0646\u0641\u064A\u0630\u0647\u0627 \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0644\u064A\u0633 \u0641\u064A \u0627\u0644\u0645\u0643\u062A\u0628\u0629.",otherLanguages:"\u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062C\u064A\u062F \u0644\u063A\u0629 \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649 \u060C \u064A\u0645\u0643\u0646\u0643 \u0645\u062D\u0627\u0648\u0644\u0629 \u062A\u062D\u0648\u064A\u0644 \u062F\u064A\u0645\u0643\u0633 \u0625\u0644\u0649 \u0644\u063A\u0627\u062A \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649!",understandingCode:"\u0623\u0646\u062A \u0628\u062D\u0627\u062C\u0629 \u0625\u0644\u0649 \u0645\u0633\u0627\u0639\u062F\u0629 \u0641\u064A \u0641\u0647\u0645 \u0627\u0644\u0643\u0648\u062F\u061F \u0641\u0642\u0637 \u0627\u062A\u0635\u0644 \u0628\u0640 RemixDev \u0639\u0644\u0649 \u062A\u064A\u0644\u064A\u0643\u0631\u0627\u0645 \u0627\u0648 \u0631\u064A\u062F\u064A\u062A.",itsFree:"\u064A\u062C\u0628 \u0627\u0646 \u062A\u062A\u0630\u0643\u0631 \u0627\u0646 \u0647\u0630\u0627 \u0647\u0648 \u0645\u0634\u0631\u0648\u0639 \u0645\u062C\u0627\u0646\u064A \u0648 \u0639\u0644\u064A\u0643 \u062F\u0639\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u064A\u0646 \u0644\u0643 \u0642\u0628\u0644 \u0627\u0646 \u062A\u062F\u0639\u0645 \u0645\u0637\u0648\u0631\u064A\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C.",notObligated:"\u0644\u0627 \u062A\u0634\u0639\u0631 \u0628\u0627\u0644\u0627\u0644\u062A\u0632\u0627\u0645 \u0628\u0627\u0644\u062A\u0628\u0631\u0639 \u060C \u0644\u0643\u0646\u064A \u0623\u0642\u062F\u0631 \u0630\u0644\u0643 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644!"},charts:{title:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",changeCountry:"\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062F\u0648\u0644\u0629",download:"\u062A\u062D\u0645\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0648\u0644"},errors:{title:"\u062E\u0637\u0623 \u0641\u064A {name}",ids:{invalidURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D",unsupportedURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B",ISRCnotOnDeezer:"\u0631\u0645\u0632 \u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u062F\u064A\u0632\u0631",notYourPrivatePlaylist:"\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u062A\u062D\u0645\u064A\u0644 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u062E\u0627\u0635\u0629 \u0648 \u0627\u0644\u0645\u062E\u0641\u064A\u0629.",spotifyDisabled:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0639\u062F\u0627\u062F \u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0628\u0627\u0644\u0637\u0631\u0642\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629 .",trackNotOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",albumNotOnDeezer:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notEncoded:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B!",notEncodedNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u0648\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u062F\u064A\u0644!",wrongBitrate:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629.",wrongBitrateNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0648 \u0644\u0627 \u062A\u0648\u062C\u062F \u062F\u0642\u0629 \u0628\u062F\u064A\u0644\u0629!",no360RA:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A Reality Audio 360.",notAvailable:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631!",notAvailableNoAlternative:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631 \u0648 \u0644\u0627 \u064A\u0648\u062C\u062F \u0628\u062F\u064A\u0644 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646!"}},favorites:{title:"\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A",noPlaylists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",noAlbums:"\u0644\u0645 \u0644\u0627 \u062A\u0648\u062C\u062F \u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0645\u0641\u0636\u0644\u0629",noArtists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u0641\u0636\u0644\u064A\u0646",noTracks:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u0642\u0627\u0637\u0639 \u0645\u0641\u0636\u0644\u0629"},home:{needTologin:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u0627\u0644\u062A\u0633\u062C\u064A\u0644 \u0641\u064A \u062D\u0633\u0627\u0628 \u062F\u064A\u0632\u0631 \u0642\u0628\u0644 \u0628\u062F\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644.",openSettings:"\u0641\u062A\u062D \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",sections:{popularPlaylists:"\u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0645\u0634\u0647\u0648\u0631\u0629",popularAlbums:"\u0627\u0643\u062B\u0631 \u0627\u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0633\u0645\u0627\u0639\u0623"}},linkAnalyzer:{info:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0647\u0630\u0627 \u0627\u0644\u0642\u0633\u0645 \u0644\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062D\u0648\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644\u0647.",useful:" \u0643\u0645\u062B\u0627\u0644 \u0647\u0630\u0627 \u0645\u0641\u064A\u062F \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644 \u0628\u0639\u0636 \u0627\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629 \u0641\u064A \u0628\u0644\u062F\u0643 \u0648\u062A\u0631\u064A\u062F \u0645\u0639\u0631\u0641\u0629 \u0645\u0643\u0627\u0646 \u062A\u0648\u0641\u0631\u0647\u0627 .",linkNotSupported:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646",linkNotSupportedYet:"\u064A\u0628\u062F\u0648 \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u060C \u062D\u0627\u0648\u0644 \u062A\u062D\u0644\u064A\u0644 \u0631\u0627\u0628\u0637 \u0622\u062E\u0631.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u0627\u0644\u0645\u062F\u0629 \u0627\u0644\u0632\u0645\u0646\u064A\u0629",diskNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",bpm:"BPM",label:"Label",recordType:"\u0646\u0648\u0639 \u0627\u0644\u062A\u0633\u062C\u064A\u0644",genres:"\u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0641\u0646\u064A",tracklist:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0642\u0627\u0637\u0639"}},search:{startSearching:"\u0627\u0628\u062F\u0623 \u0627\u0644\u0628\u062D\u062B!",description:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0645\u0642\u0637\u0639 \u060C \u0623\u0644\u0628\u0648\u0645 \u0643\u0627\u0645\u0644 \u060C \u0641\u0646\u0627\u0646 \u060C \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 .... \u0643\u0644 \u0634\u064A\u0621! \u064A\u0645\u0643\u0646\u0643 \u0623\u064A\u0636\u064B\u0627 \u0644\u0635\u0642 \u0631\u0627\u0628\u0637 \u062F\u064A\u0632\u0631",fans:"{n} \u0645\u062A\u0627\u0628\u0639\u0648\u0646",noResults:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",noResultsTrack:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0642\u0627\u0637\u0639",noResultsAlbum:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0628\u0648\u0645\u0627\u062A",noResultsArtist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0641\u0646\u0627\u0646\u064A\u0646",noResultsPlaylist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644"},searchbar:"\u0627\u0628\u062D\u062B \u0639\u0646 \u0623\u064A \u0634\u064A\u0621 \u062A\u0631\u064A\u062F\u0647 (\u0623\u0648 \u0627\u0644\u0635\u0642 \u0631\u0627\u0628\u0637)",downloads:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",toasts:{addedToQueue:"{item} \u062A\u0645\u062A \u0625\u0644\u0623\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631",alreadyInQueue:"{item} \u062D\u0627\u0644\u064A\u0627\u064B \u0641\u064A \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631!",finishDownload:"{item} \u0627\u0646\u062A\u0647\u0649 \u062A\u062D\u0645\u064A\u0644.",allDownloaded:"\u0627\u0643\u062A\u0645\u0644\u062A \u062C\u0645\u064A\u0639 \u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A!",refreshFavs:"\u0627\u0643\u062A\u0645\u0644 \u0627\u0644\u062A\u062D\u062F\u064A\u062B!",loggingIn:"\u062C\u0627\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644...",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",alreadyLogged:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0644\u0641\u0639\u0644",loginFailed:"\u062A\u0639\u0630\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedOut:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C",cancellingCurrentItem:"\u062C\u0627\u0631 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",currentItemCancelled:"\u062A\u0645 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",startAddingArtist:"\u062C\u0627\u0631 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",finishAddingArtist:"\u062A\u0645 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",startConvertingSpotifyPlaylist:"\u062C\u0627\u0631 \u062A\u062D\u0648\u064A\u0644 \u0645\u0642\u0627\u0637\u0639 \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0627\u0644\u0649 \u0645\u0642\u0627\u0637\u0639 \u062F\u064A\u0632\u0631",finishConvertingSpotifyPlaylist:"\u062A\u0645 \u062A\u062D\u0648\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",loginNeededToDownload:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0642\u0627\u0637\u0639!"},settings:{title:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",languages:"\u0627\u0644\u0644\u063A\u0627\u062A",login:{title:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0643\u0640 {username}",arl:{question:"\u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0629 ARL",update:"\u0627\u0631\u0641\u0639 \u0627\u0644 ARL"},logout:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C"},appearance:{title:"\u0627\u0644\u0645\u0638\u0647\u0631",slimDownloadTab:"\u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0631\u0641\u064A\u0639\u0629"},downloadPath:{title:"\u0645\u0633\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644"},templates:{title:"\u0627\u0644\u0642\u0648\u0627\u0644\u0628",tracknameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",albumTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",playlistTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644"},folders:{title:"\u0627\u0644\u0645\u0644\u0641\u0627\u062A",createPlaylistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",playlistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createArtistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0641\u0646\u0627\u0646",artistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0641\u0646\u0627\u0646",createAlbumFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0644\u0628\u0648\u0645",albumNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",createCDFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0642\u0631\u0627\u0635",createStructurePlaylist:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createSingleFolder:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0627\u0644\u0648\u0627\u062D\u062F\u0629"},trackTitles:{title:"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0642\u0637\u0639",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"\u0645\u062D\u0648\u0644 \u0627\u0644\u0643\u062A\u0627\u0628\u0627\u062A \u0627\u0644\u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627"},downloads:{title:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",queueConcurrency:"\u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0632\u0627\u0645\u0646\u0629",maxBitrate:{title:"\u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0641\u0636\u0644\u0629",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u0647\u0644 \u064A\u0645\u0643\u0646\u0646\u064A \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A?",y:"\u0646\u0639\u0645, \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",n:"\u0644\u0627, \u0644\u0627 \u062A\u0628\u062F\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",t:"\u0627\u0633\u062A\u0628\u062F\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0641\u0642\u0637",b:"\u0644\u0627 \u060C \u0627\u062D\u062A\u0641\u0638 \u0628\u0627\u0644\u0645\u0644\u0641\u064A\u0646 \u0648\u0623\u0636\u0641 \u0631\u0642\u0645\u064B\u0627 \u0625\u0644\u0649 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0643\u0631\u0631"},fallbackBitrate:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u062F\u0642\u0629",fallbackSearch:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u0628\u062D\u062B",logErrors:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0623\u062E\u0637\u0627\u0621",logSearched:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u062A\u064A \u062A\u0645 \u0627\u0644\u0628\u062D\u062B \u0639\u0646\u0647\u0627",createM3U8File:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",syncedLyrics:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0643\u0644\u0645\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629",playlistFilenameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",saveDownloadQueue:"\u062D\u0641\u0638 \u0642\u0627\u0626\u0645\u0629 \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062A\u0646\u0632\u064A\u0644 \u0639\u0646\u062F \u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062A\u0637\u0628\u064A\u0642"},covers:{title:"\u063A\u0644\u0627\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",saveArtwork:"\u0627\u062D\u0641\u0638 \u0627\u0644\u063A\u0644\u0627\u0641",coverImageTemplate:"\u062A\u063A\u0637\u064A\u0629 \u0642\u0627\u0644\u0628 \u0627\u0644\u0627\u0633\u0645",saveArtworkArtist:"\u0627\u062D\u0641\u0638 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",artistImageTemplate:"\u0642\u0627\u0644\u0628 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",localArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629",embeddedArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u062F\u0645\u062C\u0629",localArtworkFormat:{title:"\u0628\u0623\u064A \u0635\u064A\u063A\u0629 \u062A\u0631\u064A\u062F \u062D\u0641\u0638 \u0627\u0644\u0635\u0648\u0631\u0629?",jpg:"jpeg \u0635\u0648\u0631\u0629",png:"png \u0635\u0648\u0631\u0629",both:"\u0627\u0644\u0627\u062B\u0646\u064A\u0646 png \u0648 jpeg"},jpegImageQuality:"JPEG \u062F\u0642\u0629 \u0635\u0648\u0631\u0629"},tags:{head:"\u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u062A\u0645 \u062D\u0641\u0638\u0647\u0627",title:"\u0627\u0644\u0639\u0646\u0648\u0627\u0646",artist:"\u0627\u0644\u0641\u0646\u0627\u0646",album:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645",cover:"\u0627\u0644\u063A\u0644\u0627\u0641",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",trackTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0645\u0642\u0627\u0637\u0639",discNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",discTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0627\u0642\u0631\u0627\u0635",albumArtist:"\u0641\u0646\u0627\u0646 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",genre:"Genre",year:"\u0627\u0644\u0633\u0646\u0629",date:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E",explicit:"\u0643\u0644\u0645\u0627\u062A \u0627\u063A\u0646\u064A\u0629 \u0635\u0631\u064A\u062D\u0629 \u0644\u0644\u0643\u0628\u0627\u0631",isrc:"ISRC",length:"\u0637\u0648\u0644 \u0627\u0644\u0645\u0642\u0637\u0639",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"\u0643\u0644\u0645\u0627\u062A \u063A\u064A\u0631 \u0645\u062A\u0632\u0627\u0645\u0646\u0629",copyright:"\u062D\u0642\u0648\u0642 \u0627\u0644\u0646\u0634\u0631",composer:"\u0645\u0644\u062D\u0646",involvedPeople:"\u0627\u0644\u0646\u0627\u0633 \u0627\u0644\u0645\u0634\u062A\u0631\u0643\u0648\u0646"},other:{title:"\u063A\u064A\u0631",savePlaylistAsCompilation:"\u062D\u0641\u0638 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0643\u0645\u062C\u0645\u0648\u0639\u0629",useNullSeparator:"\u0627\u0633\u062A\u062E\u062F\u0645 \u0641\u0627\u0635\u0644 \u0641\u0627\u0631\u063A",saveID3v1:"\u0627\u062D\u0641\u0638 \u0645\u0644\u0641 ID3v1",multiArtistSeparator:{title:"\u0643\u064A\u0641 \u062A\u0631\u064A\u062F \u0641\u0635\u0644 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646?",nothing:"\u0627\u062D\u0641\u0638 \u0627\u0644\u0641\u0646\u0627\u0646 \u0627\u0644\u0631\u0626\u064A\u0633\u064A \u0641\u0642\u0637",default:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u0642\u064A\u0627\u0633\u064A\u0629",andFeat:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645& \u0648 feat.",using:'\u0627\u0633\u062A\u062E\u062F\u0627\u0645 "{separator}"'},singleAlbumArtist:"\u0627\u062D\u0641\u0638 \u0641\u0642\u0637 \u0641\u0646\u0627\u0646 \u0627\u0644\u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0631\u0626\u064A\u0633\u064A",albumVariousArtists:'\u0627\u062D\u062A\u0641\u0638 \u0628\u0640 "\u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u062A\u0646\u0648\u0639\u064A\u0646" \u0641\u064A \u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646',removeAlbumVersion:'\u0625\u0632\u0627\u0644\u0629 "\u0625\u0635\u062F\u0627\u0631 \u0627\u0644\u0623\u0644\u0628\u0648\u0645" \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0633\u0627\u0631',removeDuplicateArtists:"\u0625\u0632\u0627\u0644\u0629 \u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646",dateFormat:{title:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0644\u0645\u0644\u0641\u0627\u062A flac",year:"\u0633 \u0633 \u0633 \u0633",month:"\u0634 \u0634",day:"\u064A \u064A"},featuredToTitle:{title:"\u0645\u0627\u0630\u0627 \u0639\u0644\u064A \u0623\u0646 \u0623\u0641\u0639\u0644 \u0645\u0639 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u063A\u064A\u0631 \u0631\u0626\u064A\u0633\u064A\u064A\u0646 ?",0:"\u0644\u0627 \u0634\u064A\u0621",1:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0627\u0644\u0639\u0646\u0648\u0627\u0646",3:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0648 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",2:"\u0648\u0636\u0639\u0647 \u0641\u064A \u0627\u0644\u0639\u0646\u0648\u0627\u0646"},titleCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0639\u0646\u0627\u0648\u0646",artistCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",casing:{nothing:"\u0628\u062F\u0648\u0646 \u062A\u063A\u064A\u064A\u0631",lower:"\u0627\u062D\u0631\u0641 \u0635\u063A\u064A\u0631\u0629",upper:"\u0627\u062D\u0631\u0641 \u0643\u0628\u064A\u0631\u0629",start:"\u062D\u0631\u0641 \u0643\u0628\u064A\u0631 \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0643\u0644 \u0643\u0644\u0645\u0629",sentence:"\u0645\u062B\u0644 \u062C\u0645\u0644\u0629"},previewVolume:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u062D\u062C\u0645",executeCommand:{title:"\u0627\u0644\u0623\u0645\u0631 \u0644\u0644\u062A\u0646\u0641\u064A\u0630 \u0628\u0639\u062F \u0627\u0644\u062A\u0646\u0632\u064A\u0644",description:"\u0627\u062A\u0631\u0643\u0647 \u0641\u0627\u0631\u063A\u064B\u0627 \u0628\u062F\u0648\u0646 \u0625\u062C\u0631\u0627\u0621"}},spotify:{title:"\u0645\u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientID:"\u0645\u0639\u0631\u0641 \u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientSecret:"\u0627\u0644\u0643\u0648\u062F \u0627\u0644\u0633\u0631\u064A \u0644\u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",username:"\u0627\u0633\u0645 \u0645\u0633\u062A\u062E\u062F\u0645 \u0633\u0628\u0648\u062A\u0641\u0627\u064A"},reset:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646 \u0625\u0644\u0649 \u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u064A",save:"\u062D\u0641\u0638",toasts:{init:"\u062A\u0645 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A!",update:"\u062A\u0645 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A!",ARLcopied:"\u062A\u0645 \u0646\u0633\u062E ARL \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629"}},sidebar:{home:"\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",search:"\u0628\u062D\u062B",charts:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",favorites:"\u0627\u0644\u0645\u0641\u0636\u0644\u0629",linkAnalyzer:"\u0645\u062D\u0644\u0644 \u0627\u0644\u0631\u0648\u0627\u0628\u0637",settings:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",about:"\u062D\u0648\u0644"},tracklist:{downloadSelection:"\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0627\u062E\u062A\u064A\u0627\u0631"}},ko={globals:{welcome:"\uC798\uC654\uB2E4, deemix\uC5D0",back:"\uB4A4\uB85C",loading:"\uBD88\uB7EC\uC624\uB294 \uC911",download:"{thing} \uB2E4\uC6B4\uB85C\uB4DC",by:"by {artist}",in:"in {album}",download_hint:"\uB2E4\uC6B4\uB85C\uB4DC",play_hint:"\uC7AC\uC0DD",toggle_download_tab_hint:"\uD3BC\uCE58\uAE30/\uC811\uAE30",clean_queue_hint:"\uBE44\uC6B0\uAE30 \uC644\uB8CC",cancel_queue_hint:"\uBAA8\uB450 \uCDE8\uC18C",open_downloads_folder:"\uB2E4\uC6B4\uB85C\uB4DC \uD3F4\uB354 \uC5F4\uAE30",cut:"\uC798\uB77C\uB0B4\uAE30",copy:"\uBCF5\uC0AC",copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",copyImageLink:"\uC774\uBBF8\uC9C0 \uB9C1\uD06C \uBCF5\uC0AC",copyDeezerLink:"deezer \uB9C1\uD06C \uBCF5\uC0AC",paste:"\uBD99\uC5EC\uB123\uAE30",listTabs:{empty:"",all:"\uC804\uCCB4",top_result:"\uAC00\uC7A5 \uC77C\uCE58\uD558\uB294 \uACB0\uACFC",album:"\uC568\uBC94 | \uC568\uBC94",artist:"\uC544\uD2F0\uC2A4\uD2B8 | \uC544\uD2F0\uC2A4\uD2B8",single:"\uC2F1\uAE00 | \uC2F1\uAE00",title:"\uC81C\uBAA9 | \uC81C\uBAA9",track:"\uD2B8\uB799 | \uD2B8\uB799",releaseN:"0 \uBC1C\uB9E4 | {n} \uBC1C\uB9E4 | {n} \uBC1C\uB9E4",playlist:"\uC7AC\uC0DD\uBAA9\uB85D | \uC7AC\uC0DD\uBAA9\uB85D",compile:"\uD3B8\uCC2C\uBB3C | \uD3B8\uCC2C\uBB3C",ep:"ep | eps",bundle:"\uBC88\uB4E4 | \uBC88\uB4E4",more:"\uB354 \uB9CE\uC740 \uC568\uBC94",featured:"\uD2B9\uC9D1",spotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D | \uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",error:"\uC624\uB958",trackN:"0 \uD2B8\uB799 | {n} \uD2B8\uB799 | {n} \uD2B8\uB799",albumN:"0 \uC568\uBC94 | {n} \uC568\uBC94 | {n} \uC568\uBC94",artistN:"0 \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8",playlistN:"0 \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D"}},about:{appStatus:{online:"\uD504\uB85C\uADF8\uB7A8 \uC628\uB77C\uC778",offline:"\uD504\uB85C\uADF8\uB7A8 \uC624\uD504\uB77C\uC778"},updates:{currentVersion:"\uD604\uC7AC \uBC84\uC804",currentWebuiVersion:"\uD604\uC7AC WebUI \uBC84\uC804",versionNotAvailable:"N/A",updateAvailable:"\uCD5C\uC2E0\uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4: {version}",deemixVersion:"deemix lib \uBC84\uC804"},titles:{usefulLinks:"\uC720\uC6A9\uD55C \uB9C1\uD06C",bugReports:"\uBC84\uADF8 \uC81C\uBCF4",contributing:"\uAE30\uC5EC\uC790",donations:"\uD6C4\uC6D0",license:"\uC774\uC6A9\uC815\uCC45"},subtitles:{bugReports:"\uBB34\uC5B8\uAC00 \uC548\uB418\uB294 \uAC83\uC774 \uC788\uB2E4\uACE0\uC694? \uB9D0\uD574\uC8FC\uC138\uC694!",contributing:"\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uAE30\uC5EC\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uC5B4\uB835\uC9C0 \uC54A\uC544\uC694!",donations:"\uAE08\uC804\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uD6C4\uC6D0\uD558\uC138\uC694!"},usesLibrary:"\uC774 \uD504\uB85C\uADF8\uB7A8\uC740 deemix \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4, \uD574\uB2F9 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB85C \uC790\uC2E0\uB9CC\uC758 deemix\uB97C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",thanks:"\uC774 \uD504\uB85C\uC81D\uD2B8\uB97C \uB3C4\uC640\uC900 rtonno, uhwot \uADF8\uB9AC\uACE0 lollilol\uB2D8\uACFC \uC544\uC774\uCF58\uC744 \uB9CC\uB4E4\uC5B4\uC900 BasCurtiz \uADF8\uB9AC\uACE0 scarvimane\uB2D8\uC5D0\uAC8C \uAC10\uC0AC\uB97C.",upToDate:{text:"\uC0C8\uB85C\uC6B4 \uC5C5\uB370\uC774\uD2B8 \uC18C\uC2DD\uC744 \uB4E3\uACE0 \uC2F6\uC73C\uBA74 \uD154\uB808\uADF8\uB7A8 {newsChannel}\uC744 \uCC38\uACE0\uD558\uC138\uC694.",newsChannel:"\uC0C8\uC18C\uC2DD \uC815\uBCF4\uD1B5"},officialWebsite:"\uACF5\uC2DD \uC6F9\uC0AC\uC774\uD2B8",officialRepo:"\uACF5\uC2DD \uB77C\uC774\uBE0C\uB7EC\uB9AC \uC800\uC7A5\uC18C",officialWebuiRepo:"\uACF5\uC2DD WebUI \uC800\uC7A5\uC18C",officialSubreddit:"\uACF5\uC2DD \uC11C\uBE0C\uB808\uB527",newsChannel:"\uC0C8 \uC18C\uC2DD \uC54C\uB9AC\uBBF8",questions:{text:"\uD504\uB85C\uADF8\uB7A8\uC5D0 \uB300\uD55C \uC9C8\uBB38\uC774\uB098 \uBB38\uC81C\uC5D0 \uAD00\uD55C \uAC83\uC740, \uBA3C\uC800 {subreddit}\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uAC80\uC0C9\uD574\uBCF4\uC138\uC694. \uADF8\uB9AC\uACE0, \uC11C\uBE0C\uB808\uB527\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uCC3E\uAE30 \uBABB\uD55C \uACBD\uC6B0\uC5D0 \uB2E4\uC74C \uC21C\uC11C\uB97C \uC774\uC6A9\uD574\uC8FC\uC138\uC694.",subreddit:"\uC11C\uBE0C\uB808\uB527"},beforeReporting:"\uBC84\uADF8 \uC81C\uBCF4\uB97C \uD558\uAE30 \uC804\uC5D0 \uBA3C\uC800 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uD504\uB85C\uADF8\uB7A8\uC744 \uC2E4\uD589\uD558\uACE0 \uC788\uB294\uC9C0, \uC81C\uBCF4\uD558\uACE0\uC790 \uD558\uB294 \uAC83\uC774 \uBC84\uADF8\uC774\uC9C0 \uC624\uB85C\uC9C0 \uB2F9\uC2E0\uC758 \uBAA9\uC801\uC744 \uC774\uB8E8\uAE30 \uC704\uD55C \uC694\uAD6C\uAC00 \uC544\uB2D8\uC744 \uD655\uC778\uD574\uC8FC\uC138\uC694.",beSure:"\uD574\uB2F9 \uBC84\uADF8\uAC00 \uB2E4\uB978 \uC7A5\uCE58\uC5D0\uC11C\uB3C4 \uC7AC\uD604\uC774 \uAC00\uB2A5\uD55C\uC9C0 \uD655\uC778\uD558\uACE0 \uC774\uBBF8 \uC81C\uBCF4\uB41C \uBC84\uADF8\uC758 \uACBD\uC6B0\uC5D0\uB294 \uC911\uBCF5\uD574\uC11C \uBCF4\uACE0\uD558\uC9C0 \uB9C8\uC138\uC694.",duplicateReports:"\uC911\uBCF5\uB41C \uBC84\uADF8 \uC81C\uBCF4\uC758 \uACBD\uC6B0\uB294 \uD574\uB2F9 \uC694\uCCAD\uC744 \uB2EB\uC744 \uAC83\uC774\uB2C8, \uB450 \uB208 \uB728\uACE0 \uC9C0\uCF1C\uBCF4\uC138\uC694.",dontOpenIssues:"\uC9C8\uBB38\uC5D0 \uAD00\uD55C \uAC83\uC740 \uC774\uC288\uB97C \uC5F4\uC9C0 \uB9C8\uC138\uC694, \uC11C\uBE0C\uB808\uB527\uC774 \uC788\uC2B5\uB2C8\uB2E4.",newUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 \uD30C\uC774\uC36C\uC5D0 \uB2A5\uD1B5\uD558\uACE0 \uAE30\uBCF8\uC801\uC778 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC774\uC6A9\uD558\uC5EC \uC0C8\uB85C\uC6B4 UI\uB97C \uB9CC\uB4E4\uC5C8\uAC70\uB098, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC758 \uBC84\uADF8\uB97C \uC218\uC815\uD558\uC600\uB2E4\uBA74 {repo}\uC5D0 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uD574\uC8FC\uC138\uC694.",repo:"\uC800\uC7A5\uC18C"},acceptFeatures:"\uBCF5\uC7A1\uD558\uC9C0 \uC54A\uC740 \uAE30\uB2A5 \uCD94\uAC00\uB3C4 \uBC1B\uC2B5\uB2C8\uB2E4, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uAC00 \uC544\uB2CC \uC571\uC5D0\uC11C \uC9C1\uC811 \uAD6C\uD604\uD560 \uC218 \uC788\uB294 \uAC83\uC73C\uB85C\uC694.",otherLanguages:"\uB2F9\uC2E0\uC774 \uB2E4\uB978 \uD504\uB85C\uADF8\uB7A8 \uC5B8\uC5B4\uC5D0 \uB2A5\uD1B5\uD558\uBA74, \uC774 deemix \uD504\uB85C\uADF8\uB7A8\uC744 \uB2E4\uB978 \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4\uB85C \uD3EC\uD305\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4!",understandingCode:"\uCF54\uB4DC\uB97C \uC774\uD574\uD558\uB294 \uB370 \uB3C4\uC6C0\uC774 \uD544\uC694\uD569\uB2C8\uAE4C? \uC704\uC5D0 \uC788\uB294 RemixDev, \uD154\uB808\uADF8\uB7A8, \uC11C\uBE0C\uB808\uB527 \uB9C1\uD06C\uB97C \uB204\uB974\uC138\uC694.",contributeWebUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 Vue.js (JavaScript), HTML \uB610\uB294 CSS \uAC1C\uBC1C\uC790\uB77C\uBA74 {webui}\uC5D0 \uB3C4\uC6C0\uC744 \uC8FC\uC138\uC694.",webui:"WebUI"},itsFree:"\uC0AC\uC6A9\uD558\uAE30 \uC804\uC5D0 \uC774 \uD504\uB85C\uADF8\uB7A8\uC774 \uBB34\uB8CC \uD504\uB85C\uC81D\uD2B8\uC774\uACE0 \uAC1C\uBC1C\uC790\uB97C \uC9C0\uC6D0\uD558\uAE30 \uC804\uC5D0 \uC608\uC220\uAC00\uB4E4\uC744 \uBA3C\uC800 \uC9C0\uC6D0\uD574\uC57C \uD568\uC744 \uAE30\uC5B5\uD558\uC138\uC694.",notObligated:"\uAE30\uBD80\uB294 \uD504\uB85C\uC81D\uD2B8\uB97C \uC9C0\uC18D\uD560 \uC218 \uC788\uB294 \uB3D9\uB825\uC774 \uB429\uB2C8\uB2E4!",lincensedUnder:{text:"\uC774 \uC791\uC5C5\uC774 \uC694\uAD6C\uD558\uACE0 \uC788\uB294 \uB77C\uC774\uC13C\uC2A4\uB294 \uC544\uB798\uC640 \uAC19\uC2B5\uB2C8\uB2E4 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\uCC28\uD2B8",changeCountry:"\uAD6D\uAC00 \uBCC0\uACBD",download:"\uCC28\uD2B8 \uB2E4\uC6B4\uB85C\uB4DC"},errors:{title:"\uC624\uB958 \uBC1C\uC0DD: {name}",ids:{unsupportedURL:"URL \uC9C0\uC6D0 \uB204\uB77D",invalidURL:"URL \uC778\uC2DD \uC2E4\uD328",ISRCnotOnDeezer:"\uD2B8\uB799 \uCF54\uB4DC \uC2DD\uBCC4\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4",notYourPrivatePlaylist:"\uB2E4\uB978 \uC0AC\uB78C\uC758 \uBE44\uACF5\uAC1C \uC7AC\uC0DD \uBAA9\uB85D\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",spotifyDisabled:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uC774 \uC62C\uBC14\uB974\uAC8C \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",trackNotOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",albumNotOnDeezer:"Deezer\uC5D0\uC11C \uC568\uBC94\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notEncoded:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4!",notEncodedNoAlternative:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",wrongBitrate:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uC758 \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",wrongBitrateNoAlternative:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",no360RA:"\uD574\uB2F9 \uD2B8\uB799\uC740 360 \uB9AC\uC5BC\uB9AC\uD2F0 \uC624\uB514\uC624\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",notAvailable:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4!",notAvailableNoAlternative:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",noSpaceLeft:"\uC7A5\uCE58\uC5D0 \uC5EC\uC720 \uACF5\uAC04\uC774 \uC5C6\uC2B5\uB2C8\uB2E4!",albumDoesntExists:"\uD2B8\uB799\uC758 \uC568\uBC94\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uC815\uBCF4 \uC218\uC9D1\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."}},favorites:{title:"\uC990\uACA8\uB4E3\uB294 \uC74C\uC545",noPlaylists:"\uC990\uACA8\uB4E3\uB294 \uC7AC\uC0DD\uBAA9\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noAlbums:"\uC990\uACA8\uB4E3\uB294 \uC568\uBC94\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noArtists:"\uC990\uACA8\uB4E3\uB294 \uC544\uD2F0\uC2A4\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",noTracks:"\uC990\uACA8\uB4E3\uB294 \uD2B8\uB799\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},home:{needTologin:"\uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uC791\uD558\uAE30 \uC804\uC5D0 Deezer \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uC744 \uD574\uC57C\uD569\uB2C8\uB2E4.",openSettings:"\uC124\uC815 \uC5F4\uAE30",sections:{popularPlaylists:"\uC778\uAE30\uC788\uB294 \uC7AC\uC0DD\uBAA9\uB85D",popularAlbums:"\uAC00\uC7A5 \uB9CE\uC774 \uC7AC\uC0DD\uB41C \uC568\uBC94"}},linkAnalyzer:{info:"\uC774 \uD56D\uBAA9\uC5D0\uC11C\uB294 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uB3C4\uD560 \uB9C1\uD06C\uC5D0 \uB300\uD55C \uB354 \uB9CE\uC740 \uC815\uBCF4\uB97C \uCC3E\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",useful:"\uC811\uC18D\uD55C \uAD6D\uAC00\uC5D0\uC11C\uB294 \uC7AC\uC0DD\uD560 \uC218 \uC5C6\uB294 \uD2B9\uC815 \uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD558\uAE30 \uC704\uD574\uC11C \uAC00\uB2A5\uD55C \uAD6D\uAC00\uB97C \uCC3E\uB294\uB370 \uC720\uC6A9\uD558\uAC8C \uC4F0\uC785\uB2C8\uB2E4.",linkNotSupported:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",linkNotSupportedYet:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uB2E4\uB978 \uB9C1\uD06C\uB85C \uC2DC\uB3C4\uD574\uBCF4\uC138\uC694.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\uAE38\uC774",diskNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",trackNumber:"\uD2B8\uB799 \uBC88\uD638",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",bpm:"BPM",label:"\uB77C\uBCA8",recordType:"\uB179\uC74C \uC885\uB958",genres:"\uC7A5\uB974",tracklist:"\uD2B8\uB799\uBAA9\uB85D"}},search:{startSearching:"\uAC80\uC0C9\uC744 \uD574\uBCF4\uC138\uC694!",description:"\uD2B8\uB799, \uC544\uD2F0\uC2A4\uD2B8, \uC7AC\uC0DD\uBAA9\uB85D, Deezer \uB9C1\uD06C \uB4F1\uC73C\uB85C \uAC80\uC0C9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!",fans:"{n}\uBA85\uC758 \uD32C\uB4E4",noResults:"\uACB0\uACFC \uC5C6\uC74C",noResultsTrack:"\uBC1C\uACAC\uB41C \uD2B8\uB799 \uC5C6\uC74C",noResultsAlbum:"\uBC1C\uACAC\uB41C \uC568\uBC94 \uC5C6\uC74C",noResultsArtist:"\uBC1C\uACAC\uB41C \uC544\uD2F0\uC2A4\uD2B8 \uC5C6\uC74C",noResultsPlaylist:"\uBC1C\uACAC\uB41C \uC7AC\uC0DD\uBAA9\uB85D \uC5C6\uC74C"},searchbar:"\uC6D0\uD558\uB294 \uAC83\uC744 \uAC80\uC0C9\uD558\uC138\uC694 (\uB9C1\uD06C\uB97C \uBD99\uC5EC\uB123\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4)",downloads:"\uB2E4\uC6B4\uB85C\uB4DC\uB4E4",toasts:{restoringQueue:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4 \uBCF5\uC6D0\uC911...",queueRestored:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4\uC774 \uBCF5\uC6D0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",addedToQueue:"\uB300\uAE30\uC5F4\uC5D0 {item}(\uC774)\uAC00 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",addedMoreToQueue:"\uB300\uAE30\uC5F4\uC5D0 {n} \uD56D\uBAA9\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyInQueue:"{item}(\uC774)\uAC00 \uC774\uBBF8 \uB300\uAE30\uC5F4\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4!",finishDownload:"{item} \uD56D\uBAA9\uC774 \uB2E4\uC6B4\uB85C\uB4DC \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",allDownloaded:"\uBAA8\uB4E0 \uB2E4\uC6B4\uB85C\uB4DC\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",refreshFavs:"\uC0C8\uB85C\uACE0\uCE68\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",loggingIn:"\uB85C\uADF8\uC778 \uD558\uB294 \uC911...",loggedIn:"\uB85C\uADF8\uC778 \uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyLogged:"\uC774\uBBF8 \uB85C\uADF8\uC778\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4",loginFailed:"\uB85C\uADF8\uC778 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",loggedOut:"\uB85C\uADF8\uC544\uC6C3 \uD558\uC600\uC2B5\uB2C8\uB2E4",cancellingCurrentItem:"\uD604\uC7AC \uD56D\uBAA9\uC744 \uCDE8\uC18C \uC911\uC785\uB2C8\uB2E4.",currentItemCancelled:"\uD56D\uBAA9\uC774 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",startAddingArtist:"{artist} \uC568\uBC94\uC744 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00 \uC911\uC785\uB2C8\uB2E4",finishAddingArtist:"{artist} \uC568\uBC94\uC774 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",startConvertingSpotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uD2B8\uB799\uC744 Deezer \uD2B8\uB799\uC73C\uB85C \uC804\uD658 \uC911\uC785\uB2C8\uB2E4",finishConvertingSpotifyPlaylist:"\uC2A4\uD504\uD1A0\uD30C\uC774 \uC7AC\uC0DD \uBAA9\uB85D\uC774 \uC804\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4",loginNeededToDownload:"\uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB824\uBA74 \uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4!",deezerNotAvailable:"Deezer \uC0AC\uC774\uD2B8\uB294 \uD604\uC7AC \uADC0\uD558\uC758 \uAD6D\uAC00\uC5D0\uC11C \uC0AC\uC6A9\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4. VPN\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.",startGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC9C4\uD589\uC911...",finishGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC0DD\uC131."},settings:{title:"\uC124\uC815",languages:"\uC5B8\uC5B4",login:{title:"\uB85C\uADF8\uC778",loggedIn:"{username}(\uC73C)\uB85C \uB85C\uADF8\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4",arl:{question:"ARL\uC744 \uC5B4\uB5BB\uAC8C \uD655\uC778\uD569\uB2C8\uAE4C?",update:"ARL \uC5C5\uB370\uC774\uD2B8"},logout:"\uB85C\uADF8\uC544\uC6C3",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC4F0\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C\uD569\uB2C8\uAE4C?"},appearance:{title:"\uC678\uAD00",slimDownloadTab:"\uC587\uC740 \uB2E4\uC6B4\uB85C\uB4DC \uD0ED",slimSidebar:"\uC587\uC740 \uC0AC\uC774\uB4DC\uBC14"},downloadPath:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uACBD\uB85C"},templates:{title:"\uD15C\uD50C\uB9BF",tracknameTemplate:"\uD2B8\uB799\uC774\uB984 \uD15C\uD50C\uB9BF",tracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uD2B8\uB799\uC774\uB984 \uBCC0\uC218 \uBAA9\uB85D",albumTracknameTemplate:"\uC568\uBC94 \uD2B8\uB799 \uD15C\uD50C\uB9BF",albumTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC568\uBC94 \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D",playlistTracknameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD2B8\uB799 \uD15C\uD50C\uB9BF",playlistTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC7AC\uC0DD \uBAA9\uB85D \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D"},folders:{title:"\uD3F4\uB354",createPlaylistFolder:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",playlistNameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD3F4\uB354 \uD15C\uD50C\uB9BF",createArtistFolder:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",artistNameTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createAlbumFolder:"\uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",albumNameTemplate:"\uC568\uBC94 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createCDFolder:"CD\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",createStructurePlaylist:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131",createSingleFolder:"\uC2F1\uAE00 \uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131"},trackTitles:{title:"\uD2B8\uB799 \uC81C\uBAA9",padTracks:"\uD2B8\uB799 \uCC44\uC6CC\uB123\uAE30",paddingSize:"\uCC44\uC6CC\uB123\uC744 \uD06C\uAE30",illegalCharacterReplacer:"\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAE00\uC790 \uB300\uCCB4"},downloads:{title:"\uB2E4\uC6B4\uB85C\uB4DC",queueConcurrency:"\uB3D9\uC2DC \uB2E4\uC6B4\uB85C\uB4DC",maxBitrate:{title:"\uC120\uD638\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F8\uAE4C\uC694?",y:"\uB124, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC138\uC694",n:"\uC544\uB1E8, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC9C0 \uB9C8\uC138\uC694",t:"\uD0DC\uADF8\uB9CC \uB36E\uC5B4\uC4F0\uC138\uC694",b:"\uC544\uB1E8, \uC591\uCABD \uB2E4 \uB194\uB450\uACE0 \uC911\uBCF5\uB418\uB294 \uD30C\uC77C\uC5D0 \uBC88\uD638\uB97C \uCD94\uAC00\uD558\uC138\uC694",e:"\uC544\uB1E8, \uD655\uC7A5\uBA85\uC744 \uBCC0\uACBD\uD558\uC138\uC694"},fallbackBitrate:"\uBE44\uD2B8\uB808\uC774\uD2B8 \uB300\uBE44\uCC45",fallbackSearch:"\uAC80\uC0C9 \uB300\uBE44\uCC45",logErrors:"\uC624\uB958 \uBC1C\uC0DD\uC2DC \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",logSearched:"\uAC80\uC0C9\uD55C \uD2B8\uB799\uC5D0 \uB300\uD55C \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",createM3U8File:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C \uC0DD\uC131",syncedLyrics:".lyr \uD30C\uC77C \uC0DD\uC131 (\uAC00\uC0AC \uB3D9\uAE30\uD654)",playlistFilenameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C\uC774\uB984 \uD15C\uD50C\uB9BF",saveDownloadQueue:"\uD504\uB85C\uADF8\uB7A8\uC744 \uB2EB\uC744 \uB54C \uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30\uC5F4 \uC800\uC7A5"},covers:{title:"\uC568\uBC94 \uCEE4\uBC84",saveArtwork:"\uCEE4\uBC84 \uC800\uC7A5",coverImageTemplate:"\uCEE4\uBC84 \uC774\uB984 \uD15C\uD50C\uB9BF",saveArtworkArtist:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uC800\uC7A5",artistImageTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uD15C\uD50C\uB9BF",localArtworkSize:"\uC678\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",embeddedArtworkSize:"\uB0B4\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",localArtworkFormat:{title:"\uBCC4\uB3C4\uB85C \uC800\uC7A5\uD560 \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 \uBB34\uC5C7\uC73C\uB85C \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",jpg:"jpeg \uC774\uBBF8\uC9C0",png:"png \uC774\uBBF8\uC9C0",both:"jpeg\uC640 png \uB458 \uB2E4"},jpegImageQuality:"JPEG \uC774\uBBF8\uC9C0 \uD488\uC9C8",embeddedArtworkPNG:"\uD3EC\uD568\uB41C \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 PNG\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4",embeddedPNGWarning:"PNG\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBC84\uADF8\uAC00 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4",imageSizeWarning:"x1200 \uD06C\uAE30\uB97C \uCD08\uACFC\uD574\uC11C\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBB38\uC81C\uAC00 \uC0DD\uAE38 \uC218 \uC788\uC2B5\uB2C8\uB2E4",coverDescriptionUTF8:"\uCEE4\uBC84 \uC124\uBA85\uC744 UTF8 \uD3EC\uB9F7\uC744 \uC774\uC6A9\uD574 \uC800\uC7A5\uD569\uB2C8\uB2E4 (iTunes \uCEE4\uBC84 \uC624\uB958 \uD574\uACB0)"},tags:{head:"\uC800\uC7A5\uD560 \uD0DC\uADF8\uB97C \uC120\uD0DD\uD558\uC138\uC694",title:"\uC81C\uBAA9",artist:"\uC544\uD2F0\uC2A4\uD2B8",album:"\uC568\uBC94",cover:"\uCEE4\uBC84",trackNumber:"\uD2B8\uB799 \uBC88\uD638",trackTotal:"\uC804\uCCB4 \uD2B8\uB799 \uD06C\uAE30",discNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",discTotal:"\uC804\uCCB4 \uB514\uC2A4\uD06C \uC218",albumArtist:"\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8",genre:"\uC7A5\uB974",year:"\uC5F0\uB3C4",date:"\uC77C\uC790",explicit:"\uB178\uACE8\uC801 \uAC00\uC0AC",isrc:"ISRC",length:"\uD2B8\uB799 \uAE38\uC774",barcode:"\uC568\uBC94 \uBC14\uCF54\uB4DC (UPC)",bpm:"BPM",replayGain:"\uB9AC\uD50C\uB808\uC774 \uAC8C\uC778",label:"\uC568\uBC94 \uB77C\uBCA8",lyrics:"\uBE44\uB3D9\uAE30 \uAC00\uC0AC",copyright:"\uC800\uC791\uAD8C",composer:"\uC791\uACE1\uAC00",involvedPeople:"\uAD00\uB828\uC788\uB294 \uC0AC\uB78C\uB4E4",source:"\uC18C\uC2A4\uC640 \uC74C\uC545 ID"},other:{title:"\uAE30\uD0C0",savePlaylistAsCompilation:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uD3B8\uCC2C\uBB3C\uB85C \uC800\uC7A5",useNullSeparator:"null \uAD6C\uBD84\uC790 \uC0AC\uC6A9",saveID3v1:"ID3v1 \uD0DC\uADF8 \uD615\uC2DD\uC73C\uB85C \uC800\uC7A5",multiArtistSeparator:{title:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC5B4\uB5BB\uAC8C \uAD6C\uBD84\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",nothing:"\uC8FC\uC694 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",default:"\uD45C\uC900 \uC2A4\uD399\uC744 \uC0AC\uC6A9",andFeat:"& \uAE30\uD638\uC640 feat \uC0AC\uC6A9.",using:'"{separator}" \uC0AC\uC6A9'},singleAlbumArtist:"\uC8FC\uC694 \uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",albumVariousArtists:'\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uC5D0 "Various Artists"(\uB2E4\uC591\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4) \uC720\uC9C0',removeAlbumVersion:'\uD2B8\uB799 \uC81C\uBAA9\uC5D0 "Album Version"(\uC568\uBC94 \uBC84\uC804) \uC81C\uAC70',removeDuplicateArtists:"\uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC758 \uD611\uC5C5 \uC81C\uAC70",dateFormat:{title:"FLAC \uD30C\uC77C\uC758 \uB0A0\uC9DC \uD615\uC2DD",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\uD2B9\uC9D1\uC5D0 \uCC38\uC5EC\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC5D0 \uD560 \uC218 \uC788\uB294 \uAC83\uC774 \uBB34\uC5C7\uC774 \uC788\uB098\uC694?",0:"\uC544\uBB34\uAC83\uB3C4 \uD558\uC9C0 \uC54A\uC74C",1:"\uC81C\uBAA9\uC5D0\uC11C \uC81C\uAC70",3:"\uC568\uBC94 \uC81C\uBAA9\uACFC \uD2B8\uB799\uC5D0\uC11C \uC81C\uAC70",2:"\uC81C\uBAA9\uC73C\uB85C \uC774\uB3D9"},titleCasing:"\uC81C\uBAA9 \uCF00\uC774\uC2F1",artistCasing:"\uC544\uD2F0\uC2A4\uD2B8 \uCF00\uC774\uC2F1",casing:{nothing:"\uBCC0\uD568\uC5C6\uC774 \uC720\uC9C0",lower:"\uC18C\uBB38\uC790\uB85C",upper:"\uB300\uBB38\uC790\uB85C",start:"\uAC01 \uB2E8\uC5B4 \uC55E \uAE00\uC790\uB97C \uB300\uBB38\uC790\uB85C",sentence:"\uBB38\uC7A5\uCC98\uB7FC"},previewVolume:"\uBBF8\uB9AC\uB4E3\uAE30 \uBCFC\uB968",executeCommand:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uD6C4 \uC2E4\uD589\uD560 \uBA85\uB839\uC5B4",description:"\uBE48\uCE78\uC73C\uB85C \uB450\uBA74 \uC544\uBB34 \uC77C\uB3C4 \uC5C6\uC2B5\uB2C8\uB2E4"}},spotify:{title:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify \uC0AC\uC6A9\uC790\uC774\uB984",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C \uD569\uB2C8\uAE4C?"},reset:"\uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uCD08\uAE30\uD654",resetMessage:"\uC815\uB9D0 \uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uB3CC\uC544\uAC00\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",save:"\uC800\uC7A5",toasts:{init:"\uC124\uC815\uC744 \uBD88\uB7EC\uC654\uC2B5\uB2C8\uB2E4!",update:"\uC0C8\uB85C\uC6B4 \uC124\uC815\uC73C\uB85C \uAC31\uC2E0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",reset:"\uC124\uC815\uC774 \uC6D0\uB798\uB300\uB85C \uCD08\uAE30\uD654 \uB418\uC5C8\uC2B5\uB2C8\uB2E4!",ARLcopied:"ARL\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},sidebar:{home:"\uD648",search:"\uAC80\uC0C9",charts:"\uCC28\uD2B8",favorites:"\uC990\uACA8\uCC3E\uAE30",linkAnalyzer:"\uB9C1\uD06C \uBD84\uC11D\uAE30",settings:"\uC124\uC815",about:"\uC815\uBCF4"},tracklist:{downloadSelection:"\uC120\uD0DD \uB2E4\uC6B4\uB85C\uB4DC"}},ph={globals:{welcome:"Welcome sa deemix",back:"bumalik",loading:"kumakarga",download:"I-download {thing}",by:"ayon sa {artist}",in:"sa {album}",download_hint:"I-download",play_hint:"I-play",toggle_download_tab_hint:"Palakihin/Paliitan",clean_queue_hint:"Natapos na ang Pag-alis",cancel_queue_hint:"Ikansel Lahat",open_downloads_folder:"Buksan ang Polder ng Download",cut:"i-cut",copy:"kopyahin",copyLink:"kopyahin ang link",copyImageLink:"kopyahin ang imahe sa link",copyDeezerLink:"kopyahin ang link ng deezer",paste:"idikit",listTabs:{empty:"",all:"lahat",top_result:"nangungunang resulta",album:"album | mga album",artist:"artist | mga artist",single:"single | mga single",title:"pamagat | mga pamagat",track:"track | mga track",trackN:"0 mga track | {n} track | {n} mga track",releaseN:"0 mga release | {n} release | {n} mga release",playlist:"playlist | mga playlist",compile:"pinagsama | mga pinagsama",ep:"ep | mga ep",bundle:"bundle | mga bundle",more:"Iba pang mga album",featured:"Ibinida sa",spotifyPlaylist:"playlist sa spotify | mga playlist sa spotify",releaseDate:"petsa ng paglabas",error:"error"}},about:{updates:{currentVersion:"Kasalukuyang version",versionNotAvailable:"H/P",updateAvailable:"Hindi mo ginagamit ang pinakabagong version: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Nakatutulong na mga Link",bugReports:"Report sa Bug",contributing:"Pagtulong",donations:"Mga donasiyon",license:"Lisensiya"},subtitles:{bugReports:"Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!",contributing:"Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!",donations:"Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!"},usesLibrary:"Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.",thanks:"Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.",upToDate:{text:"Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.",newsChannel:"news channel"},officialWebsite:"Opisyal na Website",officialRepo:"Opisyal na Library Repository",officialWebuiRepo:"Opisyal na Repository ng WebUI",officialSubreddit:"Opisyal na Subreddit",newsChannel:"News Channel",questions:{text:"Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.",subreddit:"subreddit"},beforeReporting:"Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.",beSure:"Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.",duplicateReports:"Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.",dontOpenIssues:"HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.",newUI:{text:"Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.",repo:"repo"},acceptFeatures:"Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.",otherLanguages:"Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!",understandingCode:"Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.",contributeWebUI:{text:"Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.",webui:"WebUI"},itsFree:"Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.",notObligated:"Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!",lincensedUnder:{text:"Ang aktibidad na ito ay lisensiyado sa {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Mga Chart",changeCountry:"Palitan ang Country",download:"I-download ang Chart"},errors:{title:"Mga error sa {name}",ids:{invalidURL:"Hindi makilala ang URL",unsupportedURL:"Hindi pa suportado ang URL",ISRCnotOnDeezer:"Ang Track ISRC ay hindi pwede sa Deezer",notYourPrivatePlaylist:"Hindi pwedeng i-download ang mga pribadong playlist ng iba.",spotifyDisabled:"Hindi mo nai-set nang tama ang Spotify Features.",trackNotOnDeezer:"Hindi mahanap ang track sa Deezer!",albumNotOnDeezer:"Hindi mahanap ang album sa Deezer!",notOnDeezer:"Hindi available ang track sa Deezer!",notEncoded:"Hindi pa nae-encode ang track!",notEncodedNoAlternative:"Hindi pa nae-encode ang track at walang mahanap na iba!",wrongBitrate:"Hindi mahanap ang track sa gusto mong bitrate.",wrongBitrateNoAlternative:"Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!",no360RA:"Hindi pwede ang track para sa Reality Audio 360.",notAvailable:"Walang available na track sa server ng Deezer!",notAvailableNoAlternative:"Walang available na track sa server ng Deezer at walang mahanap na iba!",noSpaceLeft:"Wala nang natitirang space sa iyong device!"}},favorites:{title:"Mga Paborito",noPlaylists:"Walang makitang mga Playlist",noAlbums:"Walang makitang mga Paboritong Album",noArtists:"Walang makitang mga Paboritong Artist",noTracks:"Walang makitang mga Paboritong Track"},home:{needTologin:"Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.",openSettings:"Buksan ang Mga Setting",sections:{popularPlaylists:"Mga sikat na playlist",popularAlbums:"Pinakamaraming pinakikinggang mga album"}},linkAnalyzer:{info:"Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.",useful:"Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.",linkNotSupported:"Hindi pa suportado ang link",linkNotSupportedYet:"Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Haba",diskNumber:"Bilang ng Disk",trackNumber:"Bilang ng Track",releaseDate:"Petsa ng Release",bpm:"BPM",label:"Label",recordType:"Uri ng Rekord",genres:"Mga Genre",tracklist:"Listahan ng Track"}},search:{startSearching:"Simulang Maghanap!",description:"Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer",fans:"{n} mga fan",noResults:"Walang resulta",noResultsTrack:"Walang mahanap na mga Track",noResultsAlbum:"Walang mahanap na mga Album",noResultsArtist:"Walang mahanap na mga Artist",noResultsPlaylist:"Walang mahanap na mga Playlist"},searchbar:"Maghanap ka ng gusto mo (o mag-paste ka ng link)",downloads:"mga download",toasts:{restoringQueue:"Binabalik ang download queue...",queueRestored:"Naibalik na ang download queue!",addedToQueue:"{item} ay naidagdag sa queue",addedMoreToQueue:"{n} naidagdag rin sa queue",alreadyInQueue:"{item} ay meron na sa queue!",finishDownload:"{item} ay natapos nang i-download.",allDownloaded:"Nadownload na lahat!",refreshFavs:"Narefresh na!",loggingIn:"Nagla-log in...",loggedIn:"Na-login na",alreadyLogged:"Nakalogin ka na",loginFailed:"Hindi maka-log in",loggedOut:"Na-logout na",cancellingCurrentItem:"Kinakansel ang item.",currentItemCancelled:"Nakansel na ang item.",startAddingArtist:"Idinadagdag si {artist} sa queue ng mga album",finishAddingArtist:"Naidagdag na si {artist} sa queue ng mga album",startConvertingSpotifyPlaylist:"Kino-convert ang mga track sa spotify papuntang Deezer",finishConvertingSpotifyPlaylist:"Naconvert na ang playlist sa Spotify",loginNeededToDownload:"Kailangan mong mag-login para madownload ang mga track!",deezerNotAvailable:"Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN."},settings:{title:"Mga Setting",languages:"Mga Wika",login:{title:"Login",loggedIn:"Ikaw ay naka-login sa pangalang {username}",arl:{question:"Paano ako makakuha ng sariling ARL?",update:"I-update ang ARL"},logout:"Logout",login:"Mag-login gamit ng deezer.com"},appearance:{title:"Hitsura",slimDownloadTab:"Pinaliit na download tab"},downloadPath:{title:"Paglalagyan ng Download"},templates:{title:"Mga Template",tracknameTemplate:"Template sa pangalan ng Track",albumTracknameTemplate:"Template sa track ng Album",playlistTracknameTemplate:"Template sa track ng Playlist"},folders:{title:"Mga Folder",createPlaylistFolder:"Gumawa ng folder para sa mga playlist",playlistNameTemplate:"Template sa folder ng Playlist",createArtistFolder:"Gumawa ng folder para sa artist",artistNameTemplate:"Template sa folder ng Artist",createAlbumFolder:"Gumawa ng folder para sa album",albumNameTemplate:"Template sa folder ng Album",createCDFolder:"Gumawa ng folder para sa mga CD",createStructurePlaylist:"Gumawa ng istraktura ng folder para sa mga playlist",createSingleFolder:"Gumawa ng istraktura ng folder para sa mga single"},trackTitles:{title:"Pamagat sa mga track",padTracks:"Mga track ng Pad",paddingSize:"Patungan ang laki ng padding",illegalCharacterReplacer:"Pamalit sa ilegal na Karakter"},downloads:{title:"Mga Download",queueConcurrency:"Mga Kasabay na Download",maxBitrate:{title:"Gustong Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Papatungan ko ba ang file?",y:"Oo, patungan mo ang file",n:"Hindi, huwag mong patungan ang file",t:"Patungan mo lang ang mga tag",b:"Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya",e:"Hindi, at huwag mong tignan ang mga extension"},fallbackBitrate:"Binabaang bitrate",fallbackSearch:"Maghanap para sa binabaan",logErrors:"Gumawa ng log file para sa mga error",logSearched:"Gumawa ng log file para sa mga hinanap na track",createM3U8File:"Gumawa ng file sa playlist",syncedLyrics:"Gumawa ng mga .lyr file (Mga Sync Lyric)",playlistFilenameTemplate:"Template sa pangalan ng Playlist file",saveDownloadQueue:"I-save ang download queue kapag isasara the app"},covers:{title:"Mga cover ng album",saveArtwork:"I-save ang mga Cover",coverImageTemplate:"Template ng pangalan ng cover",saveArtworkArtist:"I-save ang imahe ng artist",artistImageTemplate:"Template ng imahe ng artist",localArtworkSize:"Laki ng lokal na artwork",embeddedArtworkSize:"Laki ng Nakadikit na artwork",localArtworkFormat:{title:"Anong gusto mong format para sa mga lokal na artwork?",jpg:"jpeg na imahe",png:"png na imahe",both:"Parehong jpeg at png"},jpegImageQuality:"Kalidad ng JPEG na imahe",embeddedArtworkPNG:"I-save ang nakadikit na artwork bilang PNG",embeddedPNGWarning:"Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug",imageSizeWarning:"Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu",coverDescriptionUTF8:"I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)"},tags:{head:"Aling tag ang ise-save",title:"Pamagat",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Bilang ng Track",trackTotal:"Kabuuang Track",discNumber:"Bilang ng Disk",discTotal:"Kabuuang Disk",albumArtist:"Album Artist",genre:"Genre",year:"Taon",date:"Petsa",explicit:"Mga Explicit na Lyric",isrc:"ISRC",length:"Haba ng Track",barcode:"Barcode ng Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label ng Album",lyrics:"Unsynchronized na mga Lyric",syncedLyrics:"Synchronized na mga Lyric",copyright:"Karapatang Ari",composer:"Komposer",involvedPeople:"Mga Kasamang Tao"},other:{title:"Iba pa",savePlaylistAsCompilation:"I-save ang mga playlist bilang compilation",useNullSeparator:"Gumamit ng panghiwalay sa null",saveID3v1:"I-save rin ang ID3v1",multiArtistSeparator:{title:"Anong gusto mo para maihanay mga artist?",nothing:"I-save lang ang pangunahing artist",default:"Gamit ng standard na specification",andFeat:"Gamit ng & at feat.",using:'Gamit ng "{separator}"'},singleAlbumArtist:"I-save lang ang pangunahing album ng artist",albumVariousArtists:'Isama ang "Various Artists" sa mga Album Artist',removeAlbumVersion:'Tanggalin ang "Album Version" sa pamagat ng track',removeDuplicateArtists:"Tanggalin ang kombinasyon ng mga artist",dateFormat:{title:"Format ng petsa para sa mga FLAC file",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Anong gagawin ko sa mga itinampok na artist",0:"Wala",1:"Tanggalin mo sila sa Pamagat",3:"Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album",2:"Ilipat mo sila sa pamagat"},titleCasing:"Pagleletra sa Pamagat",artistCasing:"Pagleletra sa Artist",casing:{nothing:"Walang babaguhin",lower:"maliliit",upper:"MALALAKI",start:"Simula Ng Bawata Salita",sentence:"Kagaya ng pangungusap"},previewVolume:"Volume ng Preview",executeCommand:{title:"Mga gagawin pagkatapos ng download",description:"Hayaan lang na blangko kung wala"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"Paano ma-enable ang Spotify Features?"},reset:"Ibalik sa Dati",save:"I-save",toasts:{init:"Ikinarga ang mga Setting!",update:"In-update ang mga Setting!",ARLcopied:"Kinopya ang ARL sa clipboard"}},sidebar:{home:"tahanan",search:"maghanap",charts:"mga chart",favorites:"mga paborito",linkAnalyzer:"tagasuri ng link",settings:"mga setting",about:"tungkol sa"},tracklist:{downloadSelection:"Pagpipili ng download"}},zh_tw={globals:{welcome:"\u6B61\u8FCE\u4F7F\u7528 deemix",back:"\u8FD4\u56DE",loading:"\u8F09\u5165\u4E2D",download:"\u4E0B\u8F09 {thing}",by:"{artist}",in:"\u65BC {album}",download_hint:"\u4E0B\u8F09",play_hint:"\u64AD\u653E",toggle_download_tab_hint:"\u5C55\u958B/\u6298\u758A",clean_queue_hint:"\u6E05\u9664\u5B8C\u6210",cancel_queue_hint:"\u53D6\u6D88\u5168\u90E8",open_downloads_folder:"\u958B\u555F\u4E0B\u8F09\u8CC7\u6599\u593E",cut:"\u526A\u4E0B",copy:"\u8907\u88FD",copyLink:"\u8907\u88FD\u9023\u7D50",copyImageLink:"\u8907\u88FD\u5716\u7247\u9023\u7D50",copyDeezerLink:"\u8907\u88FD deezer \u9023\u7D50",paste:"\u8CBC\u4E0A",listTabs:{empty:"",all:"\u6240\u6709",top_result:"\u6700\u4F73\u7D50\u679C",album:"\u5C08\u8F2F|\u5C08\u8F2F",artist:"\u85DD\u4EBA|\u85DD\u4EBA",single:"\u55AE\u66F2",title:"\u6A19\u984C|\u6A19\u984C",track:"\u6B4C\u66F2|\u6B4C\u66F2",releaseN:"0 \u767C\u884C| {n} \u767C\u884C| {n} \u767C\u884C",playlist:"\u64AD\u653E\u6E05\u55AE|\u64AD\u653E\u6E05\u55AE",compile:"\u5408\u8F2F|\u5408\u8F2F",ep:"\u8FF7\u4F60\u5C08\u8F2F | \u8FF7\u4F60\u5C08\u8F2F",bundle:"bundle | bundles",more:"\u66F4\u591A\u5C08\u8F2F",featured:"\u51FA\u73FE\u65BC",spotifyPlaylist:"Spotify \u64AD\u653E\u6E05\u55AE | Spotify \u64AD\u653E\u6E05\u55AE",releaseDate:"\u767C\u5E03\u65E5\u671F",error:"\u932F\u8AA4",trackN:"0 \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2",albumN:"0 \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F",artistN:"0 \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA",playlistN:"0 \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE"}},about:{appStatus:{online:"\u4E0A\u7DDA\u4E2D",offline:"\u96E2\u7DDA\u4E2D"},updates:{currentVersion:"\u76EE\u524D\u7248\u672C",currentWebuiVersion:"\u76EE\u524D\u524D\u7AEF\u7248\u672C",versionNotAvailable:"N/A",updateAvailable:"\u60A8\u5C1A\u672A\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF1A{version}",deemixVersion:"deemix \u51FD\u793A\u5EAB\u7248\u672C"},titles:{usefulLinks:"\u5BE6\u7528\u9023\u7D50",bugReports:"\u932F\u8AA4\u5831\u544A",contributing:"\u8CA2\u737B",donations:"\u8D0A\u52A9",license:"\u4F7F\u7528\u8A31\u53EF"},subtitles:{bugReports:"\u4F7F\u7528 deemix \u6642\uFF0C\u9047\u5230\u4E86\u4EC0\u9EBC\u554F\u984C\u55CE\uFF1F\u6B61\u8FCE\u56DE\u5831\u932F\u8AA4\uFF01",contributing:"\u60A8\u60F3\u66FF\u9019\u500B\u5C08\u6848\u63D0\u51FA\u8CA2\u737B\u55CE\uFF1F\u60A8\u53EF\u4EE5\u900F\u904E\u8A31\u591A\u4E0D\u540C\u7684\u65B9\u5F0F\u4F86\u5E6B\u5FD9\uFF01",donations:"\u60A8\u60F3\u8981\u6350\u6B3E\u55CE\uFF1F\u53EF\u4EE5\u8D0A\u52A9\u6211\u5011\uFF01"},usesLibrary:"\u672C\u7A0B\u5F0F\u57FA\u65BC deemix \u51FD\u793A\u5EAB\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u8A72\u51FD\u793A\u5EAB\u4F86\u88FD\u4F5C\u81EA\u5DF1\u7684\u524D\u7AEF\u3002",thanks:"\u611F\u8B1D rtonno\u3001uhwot \u53CA lollilol \u5C0D\u65BC\u672C\u5C08\u6848\u7684\u8CA2\u737B\uFF0C\u53E6\u5916\u4E5F\u611F\u8B1D BasCurtiz \u5E6B\u5FD9\u88FD\u4F5C\u672C\u5C08\u6848\u7684\u5716\u793A",upToDate:{text:"\u60A8\u53EF\u65BC Telegram \u4E0A\u95DC\u6CE8{newsChannel}\u4EE5\u53D6\u5F97\u6700\u65B0\u52D5\u614B\u3002",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053"},officialWebsite:"\u5B98\u65B9\u7DB2\u7AD9",officialRepo:"\u5B98\u65B9\u51FD\u793A\u7248\u672C\u5EAB",officialWebuiRepo:"\u5B98\u65B9 WebUI \u7248\u672C\u5EAB",officialSubreddit:"\u5B98\u65B9 Subreddit",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053",questions:{text:"\u5982\u679C\u60A8\u5C0D\u672C\u7A0B\u5F0F\u6709\u7591\u554F\u6216\u554F\u984C\uFF0C\u8ACB\u5148\u5728{subreddit}\u4E0A\u641C\u5C0B\u89E3\u6C7A\u65B9\u6848\u3002\u5982\u679C\u627E\u4E0D\u5230\u4EFB\u4F55\u89E3\u6C7A\u65B9\u6CD5\uFF0C\u5247\u53EF\u4EE5\u5728\u6211\u5011\u7684 subreddit \u4E0A\u767C\u5E03\u8207\u60A8\u554F\u984C\u76F8\u95DC\u7684\u6587\u7AE0\u3002",subreddit:" subreddit "},beforeReporting:"\u5728\u5831\u544A\u932F\u8AA4\u4E4B\u524D\uFF0C\u8ACB\u78BA\u4FDD\u60A8\u6B63\u5728\u904B\u884C\u6700\u65B0\u7248\u672C\u7684\u7A0B\u5F0F\uFF0C\u4E26\u4E14\u8981\u5831\u544A\u7684\u5167\u5BB9\u771F\u7684\u662F\u4E00\u500B\u932F\u8AA4\uFF0C\u800C\u4E0D\u50C5\u662F\u60A8\u81EA\u5DF1\u9047\u5230\u7684\u554F\u984C\u3002",beSure:"\u8ACB\u78BA\u4FDD\u60A8\u6240\u60F3\u56DE\u5831\u7684\u932F\u8AA4\u53EF\u5728\u5176\u4ED6\u53F0\u88DD\u7F6E\u4E0A\u518D\u73FE\u7684\uFF0C\u4E26\u4E14\u8ACB\u52FF\u56DE\u5831\u5DF2\u77E5\u932F\u8AA4\u3002",duplicateReports:"\u8ACB\u6CE8\u610F\uFF0C\u91CD\u8907\u7684\u932F\u8AA4\u5831\u544A\u5C07\u88AB\u79FB\u9664\u3002",dontOpenIssues:"\u8ACB\u52FF\u900F\u904E\u672C\u7248\u672C\u5EAB\u7684 Issues \u554F\u554F\u984C\uFF0C\u6211\u5011\u958B subreddit \u662F\u6709\u539F\u56E0\u7684\u3002",newUI:{text:"\u5982\u679C\u60A8\u7CBE\u901A Python\uFF0C\u5247\u53EF\u4EE5\u5617\u8A66\u4F7F\u7528\u6211\u5011\u7684\u51FD\u793A\u5EAB\u4F86\u5EFA\u7ACB\u65B0\u7684 UI\uFF0C\u6216\u8005\u900F\u904E{repo}\u63D0\u51FA\u932F\u8AA4\u76F8\u95DC\u7684 PR\u3002",repo:"\u6211\u5011\u7684\u7248\u672C\u5EAB"},acceptFeatures:"\u6211\u4E5F\u6B61\u8FCE\u4F60\u63D0\u4EA4\u65B0\u7684\u529F\u80FD\uFF0D\u4F46\u524D\u63D0\u662F\u9019\u500B\u529F\u80FD\u4E0D\u80FD\u904E\u65BC\u8907\u96DC\uFF0D\u904E\u65BC\u8907\u96DC\u7684\u529F\u80FD\uFF0C\u61C9\u88AB\u65B0\u589E\u81F3\u7A0B\u5F0F\u5167\u800C\u975E\u51FD\u793A\u5EAB\u5167\u3002",otherLanguages:"\u5982\u679C\u60A8\u7CBE\u901A\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u5617\u8A66\u5C07 deemix \u79FB\u690D\u5230\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\u4E2D\uFF01",understandingCode:"\u4F60\u9700\u8981\u5E6B\u52A9\u4E86\u89E3\u672C\u5C08\u6848\u7684\u7A0B\u5F0F\u78BC\u55CE\uFF1F\u53EA\u9700\u5728 Telegram \u6216 Reddit \u4E0A\u6309\u4E00\u4E0B RemixDev\u3002",contributeWebUI:{text:"\u5982\u679C\u4F60\u719F\u6089 Vue.js\uFF08JavaScript\uFF09\u3001HTML \u6216 CSS\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u53C3\u8207 {webui} \u524D\u7AEF\u7684\u8CA2\u737B\u3002",webui:"WebUI"},itsFree:"\u8A18\u5F97\uFF0C\u9019\u662F\u4E00\u500B\u514D\u8CBB\u7684\u5C08\u6848\uFF0C\u5728\u652F\u6301\u958B\u767C\u4EBA\u54E1\u4E4B\u524D\uFF0C\u61C9\u8A72\u5148\u652F\u6301\u4F60\u559C\u6B61\u7684\u6B4C\u624B\u6216\u85DD\u4EBA\u3002",notObligated:"\u5225\u8A8D\u70BA\u4F60\u6709\u7FA9\u52D9\u6350\u6B3E\uFF0C\u7121\u8AD6\u5982\u4F55\u6211\u5011\u90FD\u611F\u8B1D\u60A8\uFF01",lincensedUnder:{text:"\u672C\u4F5C\u54C1\u4F7F\u7528 {gpl3} \u8A31\u53EF\u6388\u6B0A\u3002",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u6392\u884C\u699C",changeCountry:"\u6539\u8B8A\u570B\u5BB6",download:"\u4E0B\u8F09\u6392\u884C\u699C"},errors:{title:"{name} \u7684\u932F\u8AA4",ids:{invalidURL:"\u7121\u6CD5\u8B58\u5225\u7DB2\u5740",unsupportedURL:"\u5C1A\u4E0D\u652F\u6301\u6B64\u7DB2\u5740",ISRCnotOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u4F7F\u7528\u55AE\u66F2 ISRC",notYourPrivatePlaylist:"\u60A8\u7121\u6CD5\u4E0B\u8F09\u4ED6\u4EBA\u7684\u79C1\u4EBA\u64AD\u653E\u6E05\u55AE\u3002",spotifyDisabled:"Spotify \u529F\u80FD\u672A\u6B63\u78BA\u8A2D\u5B9A\u3002",trackNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u6B4C\u66F2\uFF01",albumNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u5C08\u8F2F\uFF01",notOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notEncoded:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF01",notEncodedNoAlternative:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",wrongBitrate:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\u3002",wrongBitrateNoAlternative:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",no360RA:"\u672C\u6B4C\u66F2\u4E26\u4E0D\u652F\u63F4 Reality Audio 360\u3002",notAvailable:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notAvailableNoAlternative:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",noSpaceLeft:"\u672C\u88DD\u7F6E\u53EF\u7528\u7A7A\u9593\u5DF2\u7528\u76E1\uFF01",albumDoesntExists:"\u672C\u6B4C\u66F2\u7684\u5C08\u8F2F\u4E0D\u5B58\u5728\uFF0C\u7121\u6CD5\u53D6\u5F97\u8CC7\u8A0A"}},favorites:{title:"\u6536\u85CF",noPlaylists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u64AD\u653E\u6E05\u55AE",noAlbums:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u5C08\u8F2F",noArtists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u85DD\u4EBA",noTracks:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u6B4C\u66F2"},home:{needTologin:"\u60A8\u9700\u8981\u5148\u767B\u5165 Deezer \u5E33\u6236\uFF0C\u7136\u5F8C\u624D\u80FD\u958B\u59CB\u4E0B\u8F09\u3002",openSettings:"\u958B\u555F\u8A2D\u5B9A",sections:{popularPlaylists:"\u71B1\u9580\u64AD\u653E\u6E05\u55AE",popularAlbums:"\u71B1\u9580\u5C08\u8F2F"}},linkAnalyzer:{info:"\u60A8\u53EF\u4EE5\u900F\u904E\u6B64\u5DE5\u5177\u53D6\u5F97\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u9023\u7D50\u7684\u76F8\u95DC\u8CC7\u8A0A\u3002",useful:"\u6BD4\u5982\uFF0C\u7576\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u6B4C\u66F2\u7121\u6CD5\u5728\u60A8\u7684\u570B\u5BB6\u64AD\u653E\uFF0C\u4E14\u60A8\u60F3\u77E5\u9053\u54EA\u4E9B\u570B\u5BB6\u53EF\u4EE5\u64AD\u653E\u6B64\u6B4C\u66F2\u6642\uFF0C\u60A8\u53EF\u4F7F\u7528\u6B64\u5DE5\u5177\u3002",linkNotSupported:"\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50",linkNotSupportedYet:"\u6211\u5011\u4F3C\u4E4E\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50\uFF0C\u8ACB\u6539\u7528\u5176\u4ED6\u9023\u7D50\u3002",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u9577\u5EA6",diskNumber:"\u5149\u789F\u7DE8\u865F",trackNumber:"\u6B4C\u66F2\u7DE8\u865F",releaseDate:"\u767C\u5E03\u65E5\u671F",bpm:"BPM",label:"\u6A19\u7C64",recordType:"\u5A92\u9AD4\u985E\u578B",genres:"\u985E\u578B",tracklist:"\u6B4C\u66F2\u6E05\u55AE"}},search:{startSearching:"\u958B\u59CB\u641C\u5C0B\uFF01",description:"\u60A8\u53EF\u4EE5\u641C\u7D22\u6B4C\u66F2\u540D\u7A31\u3001\u5C08\u8F2F\u3001\u85DD\u4EBA\u3001\u64AD\u653E\u6E05\u55AE...\u7B49\u7B49\u3002\u60A8\u4E5F\u53EF\u4EE5\u76F4\u63A5\u8CBC\u4E0A Deezer \u7DB2\u5740\u3002",fans:"{n} \u500B\u7C89\u7D72",noResults:"\u7121\u641C\u5C0B\u7D50\u679C",noResultsTrack:"\u627E\u4E0D\u5230\u6B4C\u66F2",noResultsAlbum:"\u627E\u4E0D\u5230\u5C08\u8F2F",noResultsArtist:"\u627E\u4E0D\u5230\u85DD\u4EBA",noResultsPlaylist:"\u627E\u4E0D\u5230\u64AD\u653E\u6E05\u55AE"},searchbar:"\u641C\u5C0B\u4EFB\u4F55\u95DC\u9375\u5B57\uFF08\u6216\u8CBC\u4E0A\u9023\u7D50\uFF09",downloads:"\u4E0B\u8F09",toasts:{restoringQueue:"\u6B63\u5728\u6062\u5FA9\u4E0B\u8F09\u6E05\u55AE...",queueRestored:"\u4E0B\u8F09\u6E05\u55AE\u5DF2\u6062\u5FA9\uFF01",addedToQueue:"\u5DF2\u65B0\u589E {item} \u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",addedMoreToQueue:"\u5DF2\u65B0\u589E {n} \u500B\u9805\u76EE\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",alreadyInQueue:"{item} \u5DF2\u5728\u4E0B\u8F09\u6E05\u55AE\u4E2D\uFF01",finishDownload:"{item} \u5DF2\u5B8C\u6210\u4E0B\u8F09\u3002",allDownloaded:"\u5168\u90E8\u4E0B\u8F09\u5B8C\u6210\uFF01",refreshFavs:"\u5237\u65B0\u5B8C\u6210\uFF01",loggingIn:"\u767B\u5165\u4E2D...",loggedIn:"\u767B\u5165",alreadyLogged:"\u5DF2\u767B\u5165",loginFailed:"\u7121\u6CD5\u767B\u5165",loggedOut:"\u767B\u51FA",cancellingCurrentItem:"\u53D6\u6D88\u7576\u524D\u9805\u76EE\u3002",currentItemCancelled:"\u7576\u524D\u9805\u76EE\u5DF2\u53D6\u6D88\u3002",startAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",finishAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",startConvertingSpotifyPlaylist:"\u5C07 Spotify \u6B4C\u66F2\u8F49\u63DB\u70BA Deezer \u6B4C\u66F2\u4E2D",finishConvertingSpotifyPlaylist:"\u5DF2\u8F49\u63DB Spotify \u64AD\u653E\u6E05\u55AE",loginNeededToDownload:"\u60A8\u9700\u8981\u767B\u5165\u624D\u80FD\u4E0B\u8F09\u6B4C\u66F2\uFF01",deezerNotAvailable:"Deezer \u5728\u60A8\u6240\u5728\u7684\u570B\u5BB6/\u5730\u5340\u7121\u6CD5\u4F7F\u7528\u3002\u8ACB\u60A8\u4F7F\u7528 VPN\u3002",startGeneratingItems:"\u751F\u6210 {n} \u500B\u9805\u76EE\u4E2D...",finishGeneratingItems:"\u5DF2\u751F\u6210 {n} \u500B\u9805\u76EE."},settings:{title:"\u8A2D\u5B9A",languages:"\u8A9E\u8A00",login:{title:"\u767B\u5165",loggedIn:"\u76EE\u524D\u4EE5 {username} \u7684\u8EAB\u4EFD\u767B\u5165",arl:{question:"\u5982\u4F55\u53D6\u5F97\u81EA\u5DF1\u7684 ARL\uFF1F",update:"\u66F4\u65B0 ARL"},logout:"\u767B\u51FA",login:"\u900F\u904E deezer.com \u767B\u5165"},appearance:{title:"\u5916\u89C0",slimDownloadTab:"\u8584\u578B\u4E0B\u8F09\u5206\u9801",slimSidebar:"\u8584\u578B\u6E2C\u6B04"},downloadPath:{title:"\u4E0B\u8F09\u76EE\u9304"},templates:{title:"\u6A94\u6848\u540D\u7A31\u683C\u5F0F",tracknameTemplate:"\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",albumTracknameTemplate:"\u5C08\u8F2F\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",playlistTracknameTemplate:"\u64AD\u653E\u6E05\u55AE\u55AE\u66F2\u540D\u7A31\u683C\u5F0F"},folders:{title:"\u8CC7\u6599\u593E",createPlaylistFolder:"\u66FF\u64AD\u653E\u6E05\u55AE\u5EFA\u7ACB\u8CC7\u6599\u593E",playlistNameTemplate:"\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createArtistFolder:"\u66FF\u85DD\u4EBA\u5EFA\u7ACB\u8CC7\u6599\u593E",artistNameTemplate:"\u85DD\u4EBA\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createAlbumFolder:"\u66FF\u5C08\u8F2F\u5EFA\u7ACB\u8CC7\u6599\u593E",albumNameTemplate:"\u5C08\u8F2F\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createCDFolder:"\u66FF CD \u5EFA\u7ACB\u8CC7\u6599\u593E",createStructurePlaylist:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u7D50\u69CB",createSingleFolder:"\u5EFA\u7ACB\u55AE\u66F2\u8CC7\u6599\u593E\u7D50\u69CB"},trackTitles:{title:"\u55AE\u66F2\u540D\u7A31",padTracks:"\u6B4C\u66F2\u6578\u76EE\u5B57\u4E32\u586B\u5145",paddingSize:"\u8986\u84CB\u6578\u76EE\u5B57\u4E32\u586B\u5145\u9577\u5EA6",illegalCharacterReplacer:"\u66FF\u63DB\u975E\u6CD5\u5B57\u5143"},downloads:{title:"\u4E0B\u8F09",queueConcurrency:"\u4E26\u884C\u4E0B\u8F09",maxBitrate:{title:"\u504F\u597D\u4F4D\u5143\u7387",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u662F\u5426\u8981\u8986\u84CB\u6A94\u6848\uFF1F",y:"\u662F\uFF0C\u8986\u84CB\u6A94\u6848",n:"\u5426\uFF0C\u8ACB\u52FF\u8986\u84CB\u6A94\u6848",t:"\u50C5\u8986\u84CB\u6A19\u7C64",b:"\u5426\uFF0C\u4FDD\u7559\u5169\u500B\u6A94\u6848\u4E26\u5728\u91CD\u8907\u7684\u6A94\u540D\u4E2D\u52A0\u5165\u4E00\u500B\u6578\u5B57",e:"\u5426\uFF0C\u4E0D\u9867\u616E\u9644\u6A94\u540D"},fallbackBitrate:"\u7576\u504F\u597D\u4F4D\u5143\u7387\u7121\u6CD5\u4E0B\u8F09\u6642\uFF0C\u4E0B\u8F09\u5176\u4ED6\u7248\u672C",fallbackSearch:"\u7576\u641C\u5C0B\u7D50\u679C\u7121\u6CD5\u4F7F\u7528\u6642\uFF0C\u4F7F\u7528\u5176\u4ED6\u641C\u5C0B\u7D50\u679C",logErrors:"\u8A18\u9304\u932F\u8AA4\u81F3\u65E5\u8A8C",logSearched:"\u8A18\u9304\u641C\u5C0B\u6B4C\u66F2\u81F3\u65E5\u8A8C",createM3U8File:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u6A94\u6848",syncedLyrics:"\u5EFA\u7ACB .lyr \u6A94\u6848\uFF08\u540C\u6B65\u6B4C\u8A5E\uFF09",playlistFilenameTemplate:"\u64AD\u653E\u6E05\u55AE\u6A94\u540D\u683C\u5F0F",saveDownloadQueue:"\u95DC\u9589\u61C9\u7528\u7A0B\u5F0F\u6642\uFF0C\u4FDD\u5B58\u4E0B\u8F09\u6E05\u55AE"},covers:{title:"\u5C08\u8F2F\u5C01\u9762",saveArtwork:"\u4FDD\u5B58\u5C01\u9762",coverImageTemplate:"\u5C01\u9762\u6A94\u540D\u683C\u5F0F",saveArtworkArtist:"\u4FDD\u5B58\u85DD\u4EBA\u7167\u7247",artistImageTemplate:"\u85DD\u4EBA\u7167\u7247\u6A94\u540D\u683C\u5F0F",localArtworkSize:"\u672C\u5730\u5716\u7247\u5927\u5C0F",embeddedArtworkSize:"\u5D4C\u5165\u5716\u7247\u5927\u5C0F",localArtworkFormat:{title:"\u60A8\u5E0C\u671B\u672C\u5730\u5716\u7247\u63A1\u7528\u54EA\u7A2E\u683C\u5F0F\uFF1F",jpg:"JPEG",png:"PNG",both:"JPEG \u53CA PNG"},jpegImageQuality:"JPEG \u5F71\u50CF\u54C1\u8CEA",embeddedArtworkPNG:"\u5C07\u5D4C\u5165\u5F0F\u5716\u7247\u5B58\u70BA PNG",embeddedPNGWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u652F\u63F4 PNG\uFF0C\u7D50\u679C\u53EF\u80FD\u6709\u8AA4",imageSizeWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u4F7F\u7528\u9AD8\u65BC x1200 \u7684\u5716\u7247\uFF0C\u60A8\u53EF\u80FD\u6703\u9047\u5230\u554F\u984C",coverDescriptionUTF8:"\u4F7F\u7528 UTF8 \u4FDD\u5B58\u5C01\u9762\u6558\u8FF0\uFF08\u4FEE\u6B63 iTunes \u5C08\u8F2F\u5C01\u9762)"},tags:{head:"\u8981\u4FDD\u5B58\u54EA\u4E9B\u6A19\u7C64",title:"\u6A19\u984C",artist:"\u85DD\u4EBA",album:"\u5C08\u8F2F",cover:"\u5C08\u8F2F\u5C01\u9762",trackNumber:"\u55AE\u66F2\u7DE8\u865F",trackTotal:"\u7E3D\u8A08\u6B4C\u66F2",discNumber:"\u5149\u789F\u7DE8\u865F",discTotal:"\u5149\u789F\u7E3D\u6578",albumArtist:"\u5C08\u8F2F\u85DD\u4EBA",genre:"\u985E\u578B",year:"\u5E74",date:"\u65E5\u671F",explicit:"\u4E0D\u826F\u6B4C\u8A5E",isrc:"ISRC",length:"\u55AE\u66F2\u9577\u5EA6",barcode:"\u5C08\u8F2F\u689D\u78BC\uFF08UPC\uFF09",bpm:"BPM",replayGain:"\u91CD\u64AD\u589E\u76CA\uFF08Replay Gain\uFF09",label:"\u5C08\u8F2F\u6A19\u7C64",lyrics:"\u4E0D\u540C\u6B65\u7684\u6B4C\u8A5E",syncedLyrics:"\u540C\u6B65\u6B4C\u8A5E",copyright:"\u7248\u6B0A",composer:"\u4F5C\u66F2\u5BB6",involvedPeople:"\u76F8\u95DC\u85DD\u4EBA",source:"\u4F86\u6E90\u6B4C\u66F2 ID"},other:{title:"\u5176\u4ED6",savePlaylistAsCompilation:"\u5C07\u64AD\u653E\u6E05\u55AE\u5132\u5B58\u70BA\u5408\u8F2F",useNullSeparator:"\u4F7F\u7528\u7A7A\u5206\u9694\u7B26",saveID3v1:"\u4FDD\u5B58 ID3v1 \u6A19\u7C64",multiArtistSeparator:{title:"\u5982\u4F55\u9694\u958B\u4F5C\u8005\u540D\u7A31\uFF1F",nothing:"\u50C5\u4FDD\u7559\u4E3B\u4F5C\u8005",default:"\u4F7F\u7528\u6A19\u6E96\u898F\u683C",andFeat:"\u4F7F\u7528 & \u53CA feat.",using:'\u4F7F\u7528 "{separator}"'},singleAlbumArtist:"\u50C5\u5132\u5B58\u5C08\u8F2F\u4E3B\u4F5C\u8005\u540D\u7A31",albumVariousArtists:"\u65BC\u5C08\u8F2F\u4F5C\u8005\u6B04\u4F4D\u4E2D\u4FDD\u7559\u300C\u591A\u4F4D\u85DD\u4EBA (Various Artists)\u300D\u5B57\u6A23",removeAlbumVersion:"\u65BC\u55AE\u66F2\u540D\u7A31\u4E2D\u79FB\u9664\u300C\u5C08\u8F2F\u7248\u672C (Album Version)\u300D\u5B57\u6A23",removeDuplicateArtists:"\u79FB\u9664\u91CD\u8907\u7684\u4F5C\u8005\u540D\u7A31",dateFormat:{title:"FLAC \u6A94\u6848\u65E5\u671F\u683C\u5F0F",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u5982\u4F55\u8655\u7406\u5BA2\u4E32\u85DD\u4EBA\u540D\u7A31 (\u5982 feat. \u7B49\u5B57\u6A23) \uFF1F",0:"\u4EC0\u9EBC\u90FD\u4E0D\u505A",1:"\u5F9E\u6A19\u984C\u4E2D\u522A\u9664",3:"\u5F9E\u6A19\u984C\u548C\u5C08\u8F2F\u6A19\u984C\u4E2D\u522A\u9664",2:"\u5C07\u5176\u79FB\u81F3\u6A19\u984C"},titleCasing:"\u6B4C\u66F2\u540D\u7A31\u5927\u5C0F\u5BEB",artistCasing:"\u85DD\u4EBA\u540D\u7A31\u5927\u5C0F\u5BEB",casing:{nothing:"\u4FDD\u6301\u4E0D\u8B8A",lower:"\u5C0F\u5BEB",upper:"\u5927\u5BEB",start:"\u5B57\u8A5E\u958B\u982D\u5927\u5BEB",sentence:"\u53E5\u5B50\u5927\u5BEB"},previewVolume:"\u9810\u89BD\u97F3\u91CF",executeCommand:{title:"\u4E0B\u8F09\u5F8C\u57F7\u884C\u6307\u4EE4",description:"\u7559\u7A7A\u5247\u4E0D\u57F7\u884C"}},spotify:{title:"Spotify \u529F\u80FD",clientID:"Spotify \u5BA2\u6236\u7AEF ID",clientSecret:"Spotify \u5BA2\u6236\u7AEF\u5BC6\u78BC",username:"Spotify \u7528\u6236\u540D",question:"\u5982\u4F55\u555F\u7528 Spotify \u529F\u80FD\uFF1F"},reset:"\u91CD\u8A2D\u81F3\u9810\u8A2D",resetMessage:"\u4F60\u78BA\u5B9A\u8981\u91CD\u8A2D\u6240\u6709\u8A2D\u5B9A\u55CE\uFF1F",save:"\u5132\u5B58",toasts:{init:"\u5DF2\u8F09\u5165\u8A2D\u5B9A\uFF01",update:"\u5DF2\u66F4\u65B0\u8A2D\u5B9A\uFF01",reset:"\u5DF2\u91CD\u8A2D\u8A2D\u5B9A\uFF01",ARLcopied:"\u5DF2\u8907\u88FD ARL \u5230\u526A\u8CBC\u7C3F\u4E2D"}},sidebar:{home:"\u9996\u9801",search:"\u641C\u5C0B",charts:"\u6392\u884C\u699C",favorites:"\u6536\u85CF",linkAnalyzer:"\u9023\u7D50\u5206\u6790",settings:"\u8A2D\u5B9A",about:"\u95DC\u65BC"},tracklist:{downloadSelection:"\u4E0B\u8F09\u6240\u9078"}},pl={globals:{welcome:"Witaj w deemix",back:"wr\xF3\u0107",loading:"\u0142adowanie",download:"Pobierz {thing}",by:"od {artist}",in:"w {album}",download_hint:"Pobierz",play_hint:"Odtw\xF3rz",toggle_download_tab_hint:"Rozszerz/Zwi\u0144",clean_queue_hint:"Wyczy\u015B\u0107 uko\u0144czone",cancel_queue_hint:"Anuluj wszystkie",open_downloads_folder:"Otw\xF3rz pobrane",cut:"wytnij",copy:"kopiuj",copyLink:"kopiuj link",copyImageLink:"kopiuj link obrazu",copyDeezerLink:"kopiuj link deezera",paste:"wklej",listTabs:{empty:"",all:"wszystkie",top_result:"najlepszy wynik",album:"album | albumy",artist:"artysta | arty\u015Bci",single:"singiel | single",title:"tytu\u0142 | tytu\u0142y",track:"utw\xF3r | utwory",trackN:"0 utwor\xF3w | {n} utw\xF3r | {n} utwor\xF3w",releaseN:"0 wyda\u0144 | {n} wydanie | {n} wyda\u0144",playlist:"playlista | playlisty",compile:"kompilacja | kompilacje",ep:"ep | ep",bundle:"zestaw | zestawy",more:"Wi\u0119cej album\xF3w",featured:"Wyst\u0119puje w",spotifyPlaylist:"playlista spotify | playlisty spotify",releaseDate:"data wydania",error:"b\u0142\u0105d"}},about:{updates:{currentVersion:"Obecna wersja",versionNotAvailable:"N/A",updateAvailable:"Nie masz najnowszej dost\u0119pnej wersji: {version}",deemixVersion:"Wersja biblioteki deemix"},titles:{usefulLinks:"Przydatne linki",bugReports:"Zg\u0142oszenia b\u0142\u0119d\xF3w",contributing:"Wk\u0142ad",donations:"Dotacje",license:"Licencja"},subtitles:{bugReports:"Czy deemix dzia\u0142a inaczej ni\u017C powinien? Powiedz nam!",contributing:"Chcesz pom\xF3c w tym projekcie? Mo\u017Cesz to zrobi\u0107 na wiele sposob\xF3w!",donations:"Chcesz pom\xF3c finansowo? Mo\u017Cesz nas wesprze\u0107!"},usesLibrary:"Ten program u\u017Cywa biblioteki deemix, kt\xF3rej mo\u017Cesz u\u017Cy\u0107 do stworzenia w\u0142asnego interfejsu u\u017Cytkownika",thanks:"Podzi\u0119kowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.",upToDate:{text:"B\u0105d\u017A na bie\u017C\u0105co z aktualizacjami do\u0142\u0105czaj\u0105c do {newsChannel} na Telegramie.",newsChannel:"kana\u0142u wiadomo\u015Bci"},officialWebsite:"Oficjalna strona",officialRepo:"Oficjalne repozytorium biblioteki",officialWebuiRepo:"Oficjalne repozytorium WebUI",officialSubreddit:"Oficjalny subreddit",newsChannel:"Kana\u0142 wiadomo\u015Bci",questions:{text:"Je\u017Celi masz pytania lub problemy zwi\u0105zane z aplikacj\u0105, szukaj odpowiedzi na {subreddit}. Je\u017Celi niczego nie znajdziesz, stw\xF3rz post na subreddicie.",subreddit:"subreddicie"},beforeReporting:"Przed zg\u0142aszaniem b\u0142\u0119du upewnij si\u0119, \u017Ce masz najnowsz\u0105 wersje aplikacji i to, co chcesz zg\u0142osi\u0107 jest b\u0142\u0119dem, a nie usterk\u0105 z twojej strony.",beSure:"Upewnij si\u0119, \u017Ce b\u0142\u0105d mo\u017Cna odtworzy\u0107 na innych urz\u0105dzeniach i NIE ZG\u0141ASZAJ b\u0142\u0119d\xF3w, kt\xF3re zosta\u0142y ju\u017C zg\u0142oszone",duplicateReports:"Identyczne zg\u0142oszenia b\u0142\u0119d\xF3w b\u0119d\u0105 zamykane, wi\u0119c zwr\xF3\u0107 na to uwag\u0119.",dontOpenIssues:"NIE OTWIERAJ zg\u0142osze\u0144 do zadawania pyta\u0144, od tego jest subreddit.",newUI:{text:"Je\u017Celi dobrze znasz Pythona, mo\u017Cesz spr\xF3bowa\u0107 stworzy\u0107 nowy interfejs dla aplikacji u\u017Cywaj\u0105c bazowej biblioteki lub naprawia\u0107 b\u0142\u0119dy w bibliotece tworz\u0105c pull request w {repo}.",repo:"repozytorium"},acceptFeatures:"Przyjmuj\u0119 nowe funkcje, ale nic z\u0142o\u017Conego, co mog\u0142oby by\u0107 zaimplementowane w aplikacji, a nie w bibliotece.",otherLanguages:"Je\u017Celi dobrze znasz inny j\u0119zyk programowania, mo\u017Cesz spr\xF3bowa\u0107 przeportowa\u0107 deemix do innych j\u0119zyk\xF3w!",understandingCode:"Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.",contributeWebUI:{text:"Je\u017Celi znasz Vue.js (JavaScript), HTML lub CSS, mo\u017Cesz pom\xF3c w {webui}.",webui:"WebUI"},itsFree:"Pami\u0119taj, \u017Ce ten projekt jest darmowy i powiniene\u015B wspiera\u0107 artyst\xF3w przed tw\xF3rcami aplikacji.",notObligated:"Nie czuj potrzeby p\u0142acenia, i tak ci\u0119 doceniam!",lincensedUnder:{text:"Ten projekt jest chroniony licencj\u0105 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Wykresy",changeCountry:"Zmie\u0144 kraj",download:"Pobierz wykres"},errors:{title:"B\u0142\u0119dy dla {name}",ids:{invalidURL:"Nierozpoznany URL",unsupportedURL:"Niewspierany URL",ISRCnotOnDeezer:"ISRC nie jest dost\u0119pne na Deezerze",notYourPrivatePlaylist:"Nie mo\u017Cesz pobiera\u0107 czyich\u015B prywatnych playlist.",spotifyDisabled:"Funkcje Spotify nie s\u0105 poprawnie ustawione",trackNotOnDeezer:"Nie znaleziono utworu na Deezerze!",albumNotOnDeezer:"Nie znaleziono albumu na Deezerze!",notOnDeezer:"Utw\xF3r nie jest dost\u0119pny na Deezerze!",notEncoded:"Utw\xF3r nie jest jeszcze zakodowany!",notEncodedNoAlternative:"Utw\xF3r nie jest jeszcze zakodowany i nie mo\u017Cna znale\u017A\u0107 alternatywy!",wrongBitrate:"Nie znaleziono utworu w wybranym bitrate.",wrongBitrateNoAlternative:"Nie znaleziono utworu w wybranym bitrate i nie mozna znale\u017A\u0107 alternatywy!",no360RA:"Utw\xF3r nie jest dost\u0119pny w Reality Audio 360.",notAvailable:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera!",notAvailableNoAlternative:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera i nie mo\u017Cna znale\u017A\u0107 alternatywy!"}},favorites:{title:"Ulubione",noPlaylists:"Nie znaleziono playlist",noAlbums:"Nie znaleziono ulubionych album\xF3w",noArtists:"Nie znaleziono ulubionych artyst\xF3w",noTracks:"Nie znaleziono ulubonych utwor\xF3w"},home:{needTologin:"Musisz si\u0119 zalogwa\u0107 do konta na Deezerze zanim zaczniesz pobiera\u0107.",openSettings:"Otw\xF3rz ustawienia",sections:{popularPlaylists:"Popularne playlisty",popularAlbums:"Najpopularniejsze albumy"}},linkAnalyzer:{info:"Mo\u017Cesz u\u017Cy\u0107 tej sekcji, aby znale\u017A\u0107 wi\u0119cej informacji o linku, kt\xF3ry chcesz pobra\u0107.",useful:"Jest to przydatne na przyk\u0142ad gdy chcesz pobra\u0107 jakie\u015B utwory, kt\xF3re nie s\u0105 dost\u0119pne w twoim kraju i chcesz wiedzie\u0107 gdzie s\u0105 dost\u0119pne.",linkNotSupported:"Ten link nie jest jeszcze wspierany",linkNotSupportedYet:"Wygl\u0105da na to, \u017Ce ten link nie jest jeszcze wspierany. Spr\xF3buj przeanalizowa\u0107 inny.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Czas",diskNumber:"Numer p\u0142yty",trackNumber:"Numer utworu",releaseDate:"Data wydania",bpm:"BPM",label:"Wytw\xF3rnia",recordType:"Rodzaj wydania",genres:"Gatunki",tracklist:"Lista utwor\xF3w"}},search:{startSearching:"Zacznij szuka\u0107!",description:"Mo\u017Cesz wyszuka\u0107 utw\xF3r, album, artyst\u0119, playlist\u0119... wszystko! Mo\u017Cesz te\u017C wklei\u0107 link do Deezera",fans:"{n} fan\xF3w",noResults:"Brak wynik\xF3w",noResultsTrack:"Nie znaleziono utwor\xF3w",noResultsAlbum:"Nie znaleziono album\xF3w",noResultsArtist:"Nie znaleziono artyst\xF3w",noResultsPlaylist:"Nie znaleziono playlist"},searchbar:"Szukaj czego chcesz (lub wklej link)",downloads:"pobrane",toasts:{restoringQueue:"Przywracanie kolejki pobierania...",queueRestored:"Przywr\xF3cono kolejk\u0119 pobierania!",addedToQueue:"Dodano {item} do kolejki",addedMoreToQueue:"Dodano {n} przedmiot\xF3w do kolejki",alreadyInQueue:"{item} jest ju\u017C w kolejce!",finishDownload:"Uko\u0144czono pobieranie {item}.",allDownloaded:"Pobrano wszystkie!",refreshFavs:"Uko\u0144czono od\u015Bwie\u017Canie!",loggingIn:"Logowanie...",loggedIn:"Zalogowano",alreadyLogged:"Ju\u017C zalogowano",loginFailed:"Nie mo\u017Cna zalogowa\u0107",loggedOut:"Wylogowano",cancellingCurrentItem:"Anulowanie przedmiotu.",currentItemCancelled:"Anulowano przedmiot.",startAddingArtist:"Dodawanie {artist} album\xF3w do kolejki",finishAddingArtist:"Dodano {artist} album\xF3w do kolejki",startConvertingSpotifyPlaylist:"Konwertowanie utwor\xF3w Spotify na Deezer",finishConvertingSpotifyPlaylist:"Przekonwertowano playlist\u0119 Spotify",loginNeededToDownload:"Musisz si\u0119 zalogowa\u0107, aby pobiera\u0107 utwory!"},settings:{title:"Ustawienia",languages:"J\u0119zyki",login:{title:"Logowanie",loggedIn:"Zalogowano jako {username}",arl:{question:"Jak zdoby\u0107 sw\xF3j w\u0142asny ARL?",update:"Zakualizuj ARL"},logout:"Wyloguj",login:"Zaloguj przez deezer.com"},appearance:{title:"Wygl\u0105d",slimDownloadTab:"Cienka karta pobranych"},downloadPath:{title:"\u015Acie\u017Cka pobierania"},templates:{title:"Szablony",tracknameTemplate:"Szablon utworu",albumTracknameTemplate:"Szablon utworu z albumu",playlistTracknameTemplate:"Szablon utworu z playlisy"},folders:{title:"Foldery",createPlaylistFolder:"Utw\xF3rz foldery dla playlist",playlistNameTemplate:"Szablon folderu playlisty",createArtistFolder:"Utw\xF3rz foldery dla artyst\xF3w",artistNameTemplate:"Szablon folderu artysty",createAlbumFolder:"Utw\xF3rz foldery dla album\xF3w",albumNameTemplate:"Szablon folderu albumu",createCDFolder:"Utw\xF3rz foldery dla p\u0142yt",createStructurePlaylist:"Utw\xF3rz struktur\u0119 folder\xF3w dla playlist",createSingleFolder:"Utw\xF3rz struktur\u0119 folder\xF3w dla singli"},trackTitles:{title:"Tytu\u0142y utworow",padTracks:"Wypchaj utwory",paddingSize:"Rozmiar wypchania",illegalCharacterReplacer:"Zamiennik niedozwolonych znak\xF3w"},downloads:{title:"Pobrane",queueConcurrency:"R\xF3wnoleg\u0142e pobieranie",maxBitrate:{title:"Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Nadpisywa\u0107 pliki?",y:"Tak",n:"Nie",t:"Tylko tagi",b:"Nie, dodaj numer do drugiego pliku",e:"Nie, nie patrz na rozszerzenia"},fallbackBitrate:"Rezerwowy bitrate",fallbackSearch:"Rezerwowe wyszukiwanie",logErrors:"Utw\xF3rz plik dziennika b\u0142\u0119d\xF3w",logSearched:"Utw\xF3rz plik dziennika wyszukiwanych utwor\xF3w",createM3U8File:"Utw\xF3rz plik playlisty",syncedLyrics:"Utw\xF3rz plik .lyr (synchronizowany tekst)",playlistFilenameTemplate:"Szablon pliku playlisty",saveDownloadQueue:"Zapisz kolejk\u0119 pobierania przy zamykaniu aplikacji"},covers:{title:"Ok\u0142adki album\xF3w",saveArtwork:"Zapisz ok\u0142adki",coverImageTemplate:"Szablon nazwy ok\u0142adki",saveArtworkArtist:"Zapisz zdj\u0119cie artysty",artistImageTemplate:"Szablon zdj\u0119cia artysty",localArtworkSize:"Rozmiar lokalnej ok\u0142adki",embeddedArtworkSize:"Rozmiar osadzonej ok\u0142adki",localArtworkFormat:{title:"W jakim formacie ma zosta\u0107 zapisana ok\u0142adka?",jpg:"Plik JPEG",png:"Plik PNG",both:"Pliki JPEG i PNG"},jpegImageQuality:"Jako\u015B\u0107 JPEG",embeddedArtworkPNG:"Zapisz osadzon\u0105 ok\u0142adk\u0119 jako PNG",embeddedPNGWarning:"PNG nie jest oficjalnie wspierane przez Deezer i mo\u017Ce powodowa\u0107 b\u0142\u0119dy",imageSizeWarning:"Wszystko powy\u017Cej x1200 nie jest oficjalnie u\u017Cywane przez Deezera, wi\u0119c mog\u0105 wyst\u0105pi\u0107 problemy."},tags:{head:"Kt\xF3re tagi zapisa\u0107",title:"Tytu\u0142",artist:"Artysta",album:"Album",cover:"Ok\u0142adka",trackNumber:"Numer utworu",trackTotal:"Liczba utwor\xF3w",discNumber:"Numer p\u0142yty",discTotal:"Liczba p\u0142yt",albumArtist:"Album Artist",genre:"Gatunek",year:"Rok",date:"Data",explicit:"Wulgarny tekst",isrc:"ISRC",length:"D\u0142ugo\u015B\u0107",barcode:"Kod kreskowy albumu (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Wytw\xF3rnia",lyrics:"Niezsynchronizowany tekst",syncedLyrics:"Zsynchronizowany tekst",copyright:"Prawa autorskie",composer:"Kompozytor",involvedPeople:"Zaanga\u017Cowane osoby"},other:{title:"Inne",savePlaylistAsCompilation:"Zapisz playlisty jako kompilacje",useNullSeparator:"U\u017Cyj separatora null",saveID3v1:"Zapisz ID3v1",multiArtistSeparator:{title:"Jak oddzieli\u0107 artyst\xF3w?",nothing:"Zapisz tylko g\u0142\xF3wnego artyst\u0119",default:"Standardowa specyfikacja",andFeat:"& i feat.",using:'U\u017Cywa "{separator}"'},singleAlbumArtist:"Zapisz tylko g\u0142\xF3wnego autora albumu",albumVariousArtists:'Zostaw "Various Artists" w autorach albumu',removeAlbumVersion:'Usu\u0144 "Album Version" z tytu\u0142u utworu',removeDuplicateArtists:"Usu\u0144 kombinacje artyst\xF3w",dateFormat:{title:"Format daty dla plik\xF3w FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Co zrobi\u0107 z dodatkowymi artystami?",0:"Nic",1:"Usu\u0144 z tytu\u0142u",3:"Usu\u0144 z tytu\u0142u i tytu\u0142u albumu",2:"Przenie\u015B do tytu\u0142u"},titleCasing:"Rozmiar liter tytu\u0142u",artistCasing:"Rozmiar liter artysty",casing:{nothing:"Zostaw",lower:"ma\u0142e litery",upper:"DU\u017BE LITERY",start:"Na Pocz\u0105tku Ka\u017Cdego S\u0142owa",sentence:"Jak w zdaniu"},previewVolume:"G\u0142o\u015Bno\u015B\u0107 podgl\u0105du",executeCommand:{title:"Polecenie do wykonania po pobraniu",description:"Zostaw puste, aby nic nie robi\u0107"}},spotify:{title:"Funkcje Spotify",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Nazwa u\u017Cytkownika",question:"Jak w\u0142\u0105czy\u0107 funkcje Spotify?"},reset:"Przywr\xF3\u0107 domy\u015Blne",save:"Zapisz",toasts:{init:"Za\u0142adowano ustawienia!",update:"Zaktualizowano ustawienia!",ARLcopied:"Skopiowano ARL do schowka"}},sidebar:{home:"strona g\u0142\xF3wna",search:"szukaj",charts:"wykresy",favorites:"ulubione",linkAnalyzer:"analiza link\xF3w",settings:"ustawienia",about:"informacje"},tracklist:{downloadSelection:"Pobierz wybrane"}},locales={it,en,es,de,fr,id,pt,pt_br,ru,tr,vn,hr,ar,ko,ph,zh_tw,pl};Vue.use(VueI18n);const storedLocale=localStorage.getItem("locale"),DEFAULT_LANG=storedLocale||"en";document.querySelector("html").setAttribute("lang",DEFAULT_LANG);const i18n=new VueI18n({locale:DEFAULT_LANG,fallbackLocale:"en",messages:locales,pluralizationRules:{ru:function(e,a){var n=Math.abs(e)%100,i=n%10;return n>10&&n<20?2:i>1&&i<5?1:i==1?0:2}}});/*! - * vue-router v3.5.1 - * (c) 2021 Evan You + */var numberFormatKeys=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function warn$3(e,a){typeof console!="undefined"&&(console.warn("[vue-i18n] "+e),a&&console.warn(a.stack))}function error(e,a){typeof console!="undefined"&&(console.error("[vue-i18n] "+e),a&&console.error(a.stack))}var isArray$1=Array.isArray;function isObject$3(e){return e!==null&&typeof e=="object"}function isBoolean(e){return typeof e=="boolean"}function isString(e){return typeof e=="string"}var toString$2=Object.prototype.toString,OBJECT_STRING="[object Object]";function isPlainObject$2(e){return toString$2.call(e)===OBJECT_STRING}function isNull(e){return e==null}function isFunction$1(e){return typeof e=="function"}function parseArgs(){for(var e=[],a=arguments.length;a--;)e[a]=arguments[a];var n=null,r=null;return e.length===1?isObject$3(e[0])||isArray$1(e[0])?r=e[0]:typeof e[0]=="string"&&(n=e[0]):e.length===2&&(typeof e[0]=="string"&&(n=e[0]),(isObject$3(e[1])||isArray$1(e[1]))&&(r=e[1])),{locale:n,params:r}}function looseClone(e){return JSON.parse(JSON.stringify(e))}function remove$3(e,a){if(e.length){var n=e.indexOf(a);if(n>-1)return e.splice(n,1)}}function includes(e,a){return!!~e.indexOf(a)}var hasOwnProperty$1=Object.prototype.hasOwnProperty;function hasOwn$2(e,a){return hasOwnProperty$1.call(e,a)}function merge(e){for(var a=arguments,n=Object(e),r=1;r/g,">").replace(/"/g,""").replace(/'/g,"'")}function escapeParams(e){return e!=null&&Object.keys(e).forEach(function(a){typeof e[a]=="string"&&(e[a]=escapeHtml(e[a]))}),e}function extend$1(e){e.prototype.hasOwnProperty("$i18n")||Object.defineProperty(e.prototype,"$i18n",{get:function(){return this._i18n}}),e.prototype.$t=function(a){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.$i18n;return i._t.apply(i,[a,i.locale,i._getMessages(),this].concat(n))},e.prototype.$tc=function(a,n){for(var r=[],i=arguments.length-2;i-- >0;)r[i]=arguments[i+2];var s=this.$i18n;return s._tc.apply(s,[a,s.locale,s._getMessages(),this,n].concat(r))},e.prototype.$te=function(a,n){var r=this.$i18n;return r._te(a,r.locale,r._getMessages(),n)},e.prototype.$d=function(a){for(var n,r=[],i=arguments.length-1;i-- >0;)r[i]=arguments[i+1];return(n=this.$i18n).d.apply(n,[a].concat(r))},e.prototype.$n=function(a){for(var n,r=[],i=arguments.length-1;i-- >0;)r[i]=arguments[i+1];return(n=this.$i18n).n.apply(n,[a].concat(r))}}var mixin$1={beforeCreate:function(){var a=this.$options;if(a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n){if(a.i18n instanceof VueI18n){if(a.__i18n)try{var n=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(c){n=merge(n,JSON.parse(c))}),Object.keys(n).forEach(function(c){a.i18n.mergeLocaleMessage(c,n[c])})}catch(c){}this._i18n=a.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(isPlainObject$2(a.i18n)){var r=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this.$root.$i18n:null;if(r&&(a.i18n.root=this.$root,a.i18n.formatter=r.formatter,a.i18n.fallbackLocale=r.fallbackLocale,a.i18n.formatFallbackMessages=r.formatFallbackMessages,a.i18n.silentTranslationWarn=r.silentTranslationWarn,a.i18n.silentFallbackWarn=r.silentFallbackWarn,a.i18n.pluralizationRules=r.pluralizationRules,a.i18n.preserveDirectiveContent=r.preserveDirectiveContent),a.__i18n)try{var i=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(c){i=merge(i,JSON.parse(c))}),a.i18n.messages=i}catch(c){}var s=a.i18n,l=s.sharedMessages;l&&isPlainObject$2(l)&&(a.i18n.messages=merge(a.i18n.messages,l)),this._i18n=new VueI18n(a.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(a.i18n.sync===void 0||!!a.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),r&&r.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this._i18n=this.$root.$i18n:a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n=a.parent.$i18n)},beforeMount:function(){var a=this.$options;a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n?a.i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):isPlainObject$2(a.i18n)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){if(!this._i18n)return;var a=this;this.$nextTick(function(){a._subscribing&&(a._i18n.unsubscribeDataChanging(a),delete a._subscribing),a._i18nWatcher&&(a._i18nWatcher(),a._i18n.destroyVM(),delete a._i18nWatcher),a._localeWatcher&&(a._localeWatcher(),delete a._localeWatcher)})}},interpolationComponent={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(a,n){var r=n.data,i=n.parent,s=n.props,l=n.slots,c=i.$i18n;if(!c)return;var o=s.path,d=s.locale,u=s.places,f=l(),h=c.i(o,d,onlyHasDefaultPlace(f)||u?useLegacyPlaces(f.default,u):f),m=!!s.tag&&s.tag!==!0||s.tag===!1?s.tag:"span";return m?a(m,r,h):h}};function onlyHasDefaultPlace(e){var a;for(a in e)if(a!=="default")return!1;return Boolean(a)}function useLegacyPlaces(e,a){var n=a?createParamsFromPlaces(a):{};if(!e)return n;e=e.filter(function(i){return i.tag||i.text.trim()!==""});var r=e.every(vnodeHasPlaceAttribute);return e.reduce(r?assignChildPlace:assignChildIndex,n)}function createParamsFromPlaces(e){return Array.isArray(e)?e.reduce(assignChildIndex,{}):Object.assign({},e)}function assignChildPlace(e,a){return a.data&&a.data.attrs&&a.data.attrs.place&&(e[a.data.attrs.place]=a),e}function assignChildIndex(e,a,n){return e[n]=a,e}function vnodeHasPlaceAttribute(e){return Boolean(e.data&&e.data.attrs&&e.data.attrs.place)}var numberComponent={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(a,n){var r=n.props,i=n.parent,s=n.data,l=i.$i18n;if(!l)return null;var c=null,o=null;isString(r.format)?c=r.format:isObject$3(r.format)&&(r.format.key&&(c=r.format.key),o=Object.keys(r.format).reduce(function(m,v){var y;return includes(numberFormatKeys,v)?Object.assign({},m,(y={},y[v]=r.format[v],y)):m},null));var d=r.locale||l.locale,u=l._ntp(r.value,d,c,o),f=u.map(function(m,v){var y,k=s.scopedSlots&&s.scopedSlots[m.type];return k?k((y={},y[m.type]=m.value,y.index=v,y.parts=u,y)):m.value}),h=!!r.tag&&r.tag!==!0||r.tag===!1?r.tag:"span";return h?a(h,{attrs:s.attrs,class:s.class,staticClass:s.staticClass},f):f}};function bind$2(e,a,n){if(!assert$1(e,n))return;t(e,a,n)}function update$1(e,a,n,r){if(!assert$1(e,n))return;var i=n.context.$i18n;if(localeEqual(e,n)&&looseEqual$1(a.value,a.oldValue)&&looseEqual$1(e._localeMessage,i.getLocaleMessage(i.locale)))return;t(e,a,n)}function unbind(e,a,n,r){var i=n.context;if(!i){warn$3("Vue instance does not exists in VNode context");return}var s=n.context.$i18n||{};!a.modifiers.preserve&&!s.preserveDirectiveContent&&(e.textContent=""),e._vt=void 0,delete e._vt,e._locale=void 0,delete e._locale,e._localeMessage=void 0,delete e._localeMessage}function assert$1(e,a){var n=a.context;return n?n.$i18n?!0:(warn$3("VueI18n instance does not exists in Vue instance"),!1):(warn$3("Vue instance does not exists in VNode context"),!1)}function localeEqual(e,a){var n=a.context;return e._locale===n.$i18n.locale}function t(e,a,n){var r,i,s=a.value,l=parseValue(s),c=l.path,o=l.locale,d=l.args,u=l.choice;if(!c&&!o&&!d){warn$3("value type not supported");return}if(!c){warn$3("`path` is required in v-t directive");return}var f=n.context;u!=null?e._vt=e.textContent=(r=f.$i18n).tc.apply(r,[c,u].concat(makeParams(o,d))):e._vt=e.textContent=(i=f.$i18n).t.apply(i,[c].concat(makeParams(o,d))),e._locale=f.$i18n.locale,e._localeMessage=f.$i18n.getLocaleMessage(f.$i18n.locale)}function parseValue(e){var a,n,r,i;return isString(e)?a=e:isPlainObject$2(e)&&(a=e.path,n=e.locale,r=e.args,i=e.choice),{path:a,locale:n,args:r,choice:i}}function makeParams(e,a){var n=[];return e&&n.push(e),a&&(Array.isArray(a)||isPlainObject$2(a))&&n.push(a),n}var Vue$2;function install$2(e){install$2.installed=!0,Vue$2=e;var a=Vue$2.version&&Number(Vue$2.version.split(".")[0])||-1;extend$1(Vue$2),Vue$2.mixin(mixin$1),Vue$2.directive("t",{bind:bind$2,update:update$1,unbind}),Vue$2.component(interpolationComponent.name,interpolationComponent),Vue$2.component(numberComponent.name,numberComponent);var n=Vue$2.config.optionMergeStrategies;n.i18n=function(r,i){return i===void 0?r:i}}var BaseFormatter=function(){this._caches=Object.create(null)};BaseFormatter.prototype.interpolate=function(a,n){if(!n)return[a];var r=this._caches[a];return r||(r=parse$1(a),this._caches[a]=r),compile(r,n)};var RE_TOKEN_LIST_VALUE=/^(?:\d)+/,RE_TOKEN_NAMED_VALUE=/^(?:\w)+/;function parse$1(e){for(var a=[],n=0,r="";n0)i--,r=IN_SUB_PATH,h[APPEND]();else{if(i=0,l===void 0)return!1;if(l=formatSubPath(l),l===!1)return!1;h[PUSH]()}};function m(){var v=e[n+1];if(r===IN_SINGLE_QUOTE&&v==="'"||r===IN_DOUBLE_QUOTE&&v==='"')return n++,c="\\"+v,h[APPEND](),!0}for(;r!==null;){if(n++,s=e[n],s==="\\"&&m())continue;if(o=getPathCharType(s),f=pathStateMachine[r],d=f[o]||f.else||ERROR,d===ERROR)return;if(r=d[0],u=h[d[1]],u&&(c=d[2],c=c===void 0?s:c,u()===!1))return;if(r===AFTER_PATH)return a}}var I18nPath=function(){this._cache=Object.create(null)};I18nPath.prototype.parsePath=function(a){var n=this._cache[a];return n||(n=parse$1$1(a),n&&(this._cache[a]=n)),n||[]},I18nPath.prototype.getPathValue=function(a,n){if(!isObject$3(a))return null;var r=this.parsePath(n);if(r.length===0)return null;for(var i=r.length,s=a,l=0;l/,linkKeyMatcher=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,linkKeyPrefixMatcher=/^@(?:\.([a-z]+))?:/,bracketsMatcher=/[()]/g,defaultModifiers={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()},capitalize:function(e){return""+e.charAt(0).toLocaleUpperCase()+e.substr(1)}},defaultFormatter=new BaseFormatter,VueI18n=function(a){var n=this;a===void 0&&(a={}),!Vue$2&&typeof window!="undefined"&&window.Vue&&install$2(window.Vue);var r=a.locale||"en-US",i=a.fallbackLocale===!1?!1:a.fallbackLocale||"en-US",s=a.messages||{},l=a.dateTimeFormats||{},c=a.numberFormats||{};this._vm=null,this._formatter=a.formatter||defaultFormatter,this._modifiers=a.modifiers||{},this._missing=a.missing||null,this._root=a.root||null,this._sync=a.sync===void 0?!0:!!a.sync,this._fallbackRoot=a.fallbackRoot===void 0?!0:!!a.fallbackRoot,this._formatFallbackMessages=a.formatFallbackMessages===void 0?!1:!!a.formatFallbackMessages,this._silentTranslationWarn=a.silentTranslationWarn===void 0?!1:a.silentTranslationWarn,this._silentFallbackWarn=a.silentFallbackWarn===void 0?!1:!!a.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new I18nPath,this._dataListeners=[],this._componentInstanceCreatedListener=a.componentInstanceCreatedListener||null,this._preserveDirectiveContent=a.preserveDirectiveContent===void 0?!1:!!a.preserveDirectiveContent,this.pluralizationRules=a.pluralizationRules||{},this._warnHtmlInMessage=a.warnHtmlInMessage||"off",this._postTranslation=a.postTranslation||null,this._escapeParameterHtml=a.escapeParameterHtml||!1,this.getChoiceIndex=function(o,d){var u=Object.getPrototypeOf(n);if(u&&u.getChoiceIndex){var f=u.getChoiceIndex;return f.call(n,o,d)}var h=function(m,v){return m=Math.abs(m),v===2?m?m>1?1:0:1:m?Math.min(m,2):0};return n.locale in n.pluralizationRules?n.pluralizationRules[n.locale].apply(n,[o,d]):h(o,d)},this._exist=function(o,d){return!o||!d?!1:isNull(n._path.getPathValue(o,d))?!!o[d]:!0},(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&Object.keys(s).forEach(function(o){n._checkLocaleMessage(o,n._warnHtmlInMessage,s[o])}),this._initVM({locale:r,fallbackLocale:i,messages:s,dateTimeFormats:l,numberFormats:c})},prototypeAccessors$2={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0}};VueI18n.prototype._checkLocaleMessage=function(a,n,r){var i=[],s=function(l,c,o,d){if(isPlainObject$2(o))Object.keys(o).forEach(function(h){var m=o[h];isPlainObject$2(m)?(d.push(h),d.push("."),s(l,c,m,d),d.pop(),d.pop()):(d.push(h),s(l,c,m,d),d.pop())});else if(isArray$1(o))o.forEach(function(h,m){isPlainObject$2(h)?(d.push("["+m+"]"),d.push("."),s(l,c,h,d),d.pop(),d.pop()):(d.push("["+m+"]"),s(l,c,h,d),d.pop())});else if(isString(o)){var u=htmlTagMatcher.test(o);if(u){var f="Detected HTML in message '"+o+"' of keypath '"+d.join("")+"' at '"+c+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";l==="warn"?warn$3(f):l==="error"&&error(f)}}};s(n,a,r,i)},VueI18n.prototype._initVM=function(a){var n=Vue$2.config.silent;Vue$2.config.silent=!0,this._vm=new Vue$2({data:a}),Vue$2.config.silent=n},VueI18n.prototype.destroyVM=function(){this._vm.$destroy()},VueI18n.prototype.subscribeDataChanging=function(a){this._dataListeners.push(a)},VueI18n.prototype.unsubscribeDataChanging=function(a){remove$3(this._dataListeners,a)},VueI18n.prototype.watchI18nData=function(){var a=this;return this._vm.$watch("$data",function(){for(var n=a._dataListeners.length;n--;)Vue$2.nextTick(function(){a._dataListeners[n]&&a._dataListeners[n].$forceUpdate()})},{deep:!0})},VueI18n.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var a=this._vm;return this._root.$i18n.vm.$watch("locale",function(n){a.$set(a,"locale",n),a.$forceUpdate()},{immediate:!0})},VueI18n.prototype.onComponentInstanceCreated=function(a){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(a,this)},prototypeAccessors$2.vm.get=function(){return this._vm},prototypeAccessors$2.messages.get=function(){return looseClone(this._getMessages())},prototypeAccessors$2.dateTimeFormats.get=function(){return looseClone(this._getDateTimeFormats())},prototypeAccessors$2.numberFormats.get=function(){return looseClone(this._getNumberFormats())},prototypeAccessors$2.availableLocales.get=function(){return Object.keys(this.messages).sort()},prototypeAccessors$2.locale.get=function(){return this._vm.locale},prototypeAccessors$2.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},prototypeAccessors$2.fallbackLocale.get=function(){return this._vm.fallbackLocale},prototypeAccessors$2.fallbackLocale.set=function(e){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",e)},prototypeAccessors$2.formatFallbackMessages.get=function(){return this._formatFallbackMessages},prototypeAccessors$2.formatFallbackMessages.set=function(e){this._formatFallbackMessages=e},prototypeAccessors$2.missing.get=function(){return this._missing},prototypeAccessors$2.missing.set=function(e){this._missing=e},prototypeAccessors$2.formatter.get=function(){return this._formatter},prototypeAccessors$2.formatter.set=function(e){this._formatter=e},prototypeAccessors$2.silentTranslationWarn.get=function(){return this._silentTranslationWarn},prototypeAccessors$2.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},prototypeAccessors$2.silentFallbackWarn.get=function(){return this._silentFallbackWarn},prototypeAccessors$2.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},prototypeAccessors$2.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},prototypeAccessors$2.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},prototypeAccessors$2.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},prototypeAccessors$2.warnHtmlInMessage.set=function(e){var a=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,n!==e&&(e==="warn"||e==="error")){var r=this._getMessages();Object.keys(r).forEach(function(i){a._checkLocaleMessage(i,a._warnHtmlInMessage,r[i])})}},prototypeAccessors$2.postTranslation.get=function(){return this._postTranslation},prototypeAccessors$2.postTranslation.set=function(e){this._postTranslation=e},VueI18n.prototype._getMessages=function(){return this._vm.messages},VueI18n.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},VueI18n.prototype._getNumberFormats=function(){return this._vm.numberFormats},VueI18n.prototype._warnDefault=function(a,n,r,i,s,l){if(!isNull(r))return r;if(this._missing){var c=this._missing.apply(null,[a,n,i,s]);if(isString(c))return c}if(this._formatFallbackMessages){var o=parseArgs.apply(void 0,s);return this._render(n,l,o.params,n)}else return n},VueI18n.prototype._isFallbackRoot=function(a){return!a&&!isNull(this._root)&&this._fallbackRoot},VueI18n.prototype._isSilentFallbackWarn=function(a){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(a):this._silentFallbackWarn},VueI18n.prototype._isSilentFallback=function(a,n){return this._isSilentFallbackWarn(n)&&(this._isFallbackRoot()||a!==this.fallbackLocale)},VueI18n.prototype._isSilentTranslationWarn=function(a){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(a):this._silentTranslationWarn},VueI18n.prototype._interpolate=function(a,n,r,i,s,l,c){if(!n)return null;var o=this._path.getPathValue(n,r);if(isArray$1(o)||isPlainObject$2(o))return o;var d;if(isNull(o))if(isPlainObject$2(n)){if(d=n[r],!(isString(d)||isFunction$1(d)))return null}else return null;else if(isString(o)||isFunction$1(o))d=o;else return null;return isString(d)&&(d.indexOf("@:")>=0||d.indexOf("@.")>=0)&&(d=this._link(a,n,d,i,"raw",l,c)),this._render(d,s,l,r)},VueI18n.prototype._link=function(a,n,r,i,s,l,c){var o=r,d=o.match(linkKeyMatcher);for(var u in d){if(!d.hasOwnProperty(u))continue;var f=d[u],h=f.match(linkKeyPrefixMatcher),m=h[0],v=h[1],y=f.replace(m,"").replace(bracketsMatcher,"");if(includes(c,y))return o;c.push(y);var k=this._interpolate(a,n,y,i,s==="raw"?"string":s,s==="raw"?void 0:l,c);if(this._isFallbackRoot(k)){if(!this._root)throw Error("unexpected error");var w=this._root.$i18n;k=w._translate(w._getMessages(),w.locale,w.fallbackLocale,y,i,s,l)}k=this._warnDefault(a,y,k,i,isArray$1(l)?l:[l],s),this._modifiers.hasOwnProperty(v)?k=this._modifiers[v](k):defaultModifiers.hasOwnProperty(v)&&(k=defaultModifiers[v](k)),c.pop(),o=k?o.replace(f,k):o}return o},VueI18n.prototype._createMessageContext=function(a){var n=isArray$1(a)?a:[],r=isObject$3(a)?a:{},i=function(l){return n[l]},s=function(l){return r[l]};return{list:i,named:s}},VueI18n.prototype._render=function(a,n,r,i){if(isFunction$1(a))return a(this._createMessageContext(r));var s=this._formatter.interpolate(a,r,i);return s||(s=defaultFormatter.interpolate(a,r,i)),n==="string"&&!isString(s)?s.join(""):s},VueI18n.prototype._appendItemToChain=function(a,n,r){var i=!1;return includes(a,n)||(i=!0,n&&(i=n[n.length-1]!=="!",n=n.replace(/!/g,""),a.push(n),r&&r[n]&&(i=r[n]))),i},VueI18n.prototype._appendLocaleToChain=function(a,n,r){var i,s=n.split("-");do{var l=s.join("-");i=this._appendItemToChain(a,l,r),s.splice(-1,1)}while(s.length&&i===!0);return i},VueI18n.prototype._appendBlockToChain=function(a,n,r){for(var i=!0,s=0;s0;)l[c]=arguments[c+4];if(!a)return"";var o=parseArgs.apply(void 0,l);this._escapeParameterHtml&&(o.params=escapeParams(o.params));var d=o.locale||n,u=this._translate(r,d,this.fallbackLocale,a,i,"string",o.params);if(this._isFallbackRoot(u)){if(!this._root)throw Error("unexpected error");return(s=this._root).$t.apply(s,[a].concat(l))}else return u=this._warnDefault(d,a,u,i,l,"string"),this._postTranslation&&u!==null&&u!==void 0&&(u=this._postTranslation(u,a)),u},VueI18n.prototype.t=function(a){for(var n,r=[],i=arguments.length-1;i-- >0;)r[i]=arguments[i+1];return(n=this)._t.apply(n,[a,this.locale,this._getMessages(),null].concat(r))},VueI18n.prototype._i=function(a,n,r,i,s){var l=this._translate(r,n,this.fallbackLocale,a,i,"raw",s);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(a,n,s)}else return this._warnDefault(n,a,l,i,[s],"raw")},VueI18n.prototype.i=function(a,n,r){return a?(isString(n)||(n=this.locale),this._i(a,n,this._getMessages(),null,r)):""},VueI18n.prototype._tc=function(a,n,r,i,s){for(var l,c=[],o=arguments.length-5;o-- >0;)c[o]=arguments[o+5];if(!a)return"";s===void 0&&(s=1);var d={count:s,n:s},u=parseArgs.apply(void 0,c);return u.params=Object.assign(d,u.params),c=u.locale===null?[u.params]:[u.locale,u.params],this.fetchChoice((l=this)._t.apply(l,[a,n,r,i].concat(c)),s)},VueI18n.prototype.fetchChoice=function(a,n){if(!a||!isString(a))return null;var r=a.split("|");return n=this.getChoiceIndex(n,r.length),r[n]?r[n].trim():a},VueI18n.prototype.tc=function(a,n){for(var r,i=[],s=arguments.length-2;s-- >0;)i[s]=arguments[s+2];return(r=this)._tc.apply(r,[a,this.locale,this._getMessages(),null,n].concat(i))},VueI18n.prototype._te=function(a,n,r){for(var i=[],s=arguments.length-3;s-- >0;)i[s]=arguments[s+3];var l=parseArgs.apply(void 0,i).locale||n;return this._exist(r[l],a)},VueI18n.prototype.te=function(a,n){return this._te(a,this.locale,this._getMessages(),n)},VueI18n.prototype.getLocaleMessage=function(a){return looseClone(this._vm.messages[a]||{})},VueI18n.prototype.setLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,n)},VueI18n.prototype.mergeLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,merge({},this._vm.messages[a]||{},n))},VueI18n.prototype.getDateTimeFormat=function(a){return looseClone(this._vm.dateTimeFormats[a]||{})},VueI18n.prototype.setDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,n),this._clearDateTimeFormat(a,n)},VueI18n.prototype.mergeDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,merge(this._vm.dateTimeFormats[a]||{},n)),this._clearDateTimeFormat(a,n)},VueI18n.prototype._clearDateTimeFormat=function(a,n){for(var r in n){var i=a+"__"+r;if(!this._dateTimeFormatters.hasOwnProperty(i))continue;delete this._dateTimeFormatters[i]}},VueI18n.prototype._localizeDateTime=function(a,n,r,i,s){for(var l=n,c=i[l],o=this._getLocaleChain(n,r),d=0;d0;)n[r]=arguments[r+1];var i=this.locale,s=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(s=n[0].key)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(i=n[1])),this._d(a,i,s)},VueI18n.prototype.getNumberFormat=function(a){return looseClone(this._vm.numberFormats[a]||{})},VueI18n.prototype.setNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,n),this._clearNumberFormat(a,n)},VueI18n.prototype.mergeNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,merge(this._vm.numberFormats[a]||{},n)),this._clearNumberFormat(a,n)},VueI18n.prototype._clearNumberFormat=function(a,n){for(var r in n){var i=a+"__"+r;if(!this._numberFormatters.hasOwnProperty(i))continue;delete this._numberFormatters[i]}},VueI18n.prototype._getNumberFormatter=function(a,n,r,i,s,l){for(var c=n,o=i[c],d=this._getLocaleChain(n,r),u=0;u0;)n[r]=arguments[r+1];var i=this.locale,s=null,l=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(s=n[0].key),l=Object.keys(n[0]).reduce(function(c,o){var d;return includes(numberFormatKeys,o)?Object.assign({},c,(d={},d[o]=n[0][o],d)):c},null)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(i=n[1])),this._n(a,i,s,l)},VueI18n.prototype._ntp=function(a,n,r,i){if(!VueI18n.availabilities.numberFormat)return[];if(!r){var s=i?new Intl.NumberFormat(n,i):new Intl.NumberFormat(n);return s.formatToParts(a)}var l=this._getNumberFormatter(a,n,this.fallbackLocale,this._getNumberFormats(),r,i),c=l&&l.formatToParts(a);if(this._isFallbackRoot(c)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(a,n,r,i)}else return c||[]},Object.defineProperties(VueI18n.prototype,prototypeAccessors$2);var availabilities;Object.defineProperty(VueI18n,"availabilities",{get:function(){if(!availabilities){var a=typeof Intl!="undefined";availabilities={dateTimeFormat:a&&typeof Intl.DateTimeFormat!="undefined",numberFormat:a&&typeof Intl.NumberFormat!="undefined"}}return availabilities}}),VueI18n.install=install$2,VueI18n.version="8.22.2";const it={globals:{welcome:"Benvenuto su deemix",back:"indietro",loading:"caricamento",download:"Scarica {thing}",by:"di {artist}",in:"in {album}",download_hint:"Scarica",play_hint:"Riproduci",toggle_download_tab_hint:"Espandi/Riduci",clean_queue_hint:"Pulisci Lista",cancel_queue_hint:"Cancella tutti i download",open_downloads_folder:"Apri la cartella di download",cut:"taglia",copy:"copia",copyLink:"copia link",copyImageLink:"copia link immagine",copyDeezerLink:"copia link deezer",paste:"incolla",listTabs:{all:"tutto",top_result:"miglior risultato",album:"album",artist:"artista | artisti",single:"singolo | singoli",title:"titolo | titoli",track:"brano | brani",releaseN:"0 dischi | {n} disco | {n} dischi",playlist:"playlist",compile:"compilation",bundle:"collezione | collezioni",ep:"ep",more:"Altri album",featured:"Compare in",spotifyPlaylist:"playlist spotify",releaseDate:"data di uscita",error:"errore",empty:"",trackN:"0 brani | {n} brano | {n} brani",albumN:"{n} album",artistN:"0 artisti | {n} artista | {n} artisti",playlistN:"{n} playlist"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Versione attuale",currentWebuiVersion:"Versione WebUI attuale",versionNotAvailable:"N/A",updateAvailable:"Non stai usando l'ultima versione disponibile: {version}",deemixVersion:"Versione libreria deemix"},titles:{usefulLinks:"Link Utili",bugReports:"Segnalazione di bug",contributing:"Contribuire al progetto",donations:"Donazioni",license:"Licenza"},subtitles:{bugReports:"C'\xE8 qualcosa di deemix che non funziona? Faccelo sapere!",contributing:"Vuoi contribuire a questo progetto? Puoi farlo in pi\xF9 modi!",donations:"Vuoi dare una mano economicamente? Puoi fare una donazione!"},usesLibrary:"Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.",thanks:"Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.",upToDate:{text:"Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.",newsChannel:"canale delle news"},officialWebsite:"Sito Ufficiale",officialRepo:"Repository Ufficiale della Libreria",officialWebuiRepo:"Repository Ufficiale dell'Interfaccia Web",officialSubreddit:"Subreddit Ufficiale",newsChannel:"Canale delle news",questions:{text:"Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.",subreddit:"subreddit ufficiale"},beforeReporting:"Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ci\xF2 che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.",beSure:"Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che \xE8 gi\xE0 stato segnalato.",duplicateReports:"Le segnalazioni doppie verranno chiuse, tienilo presente.",dontOpenIssues:"NON aprire issues per porre domande, per quello esiste un subreddit.",newUI:{text:"Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.",repo:"repo"},acceptFeatures:"Accetto anche funzionalit\xE0, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.",otherLanguages:"Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!",understandingCode:"Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit",contributeWebUI:{text:"Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.",webui:"WebUI"},itsFree:"Ricordati che questo \xE8 un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.",notObligated:"Non sentirti obbligato a donare, mi stai simpatico lo stesso!",lincensedUnder:{text:"Questo progetto \xE8 sotto la licenza {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Classifiche",changeCountry:"Cambia Paese",download:"Scarica Classifica"},errors:{title:"Errori riguardanti {name}",ids:{invalidURL:"URL non riconosciuto",unsupportedURL:"URL non ancora supportato",ISRCnotOnDeezer:"Questo ISRC non \xE8 disponibile su Deezer",notYourPrivatePlaylist:"Non puoi scaricare le playlist private degli altri.",spotifyDisabled:"Spotify Features non \xE8 impostato correttamente.",trackNotOnDeezer:"Brano non trovato su Deezer!",albumNotOnDeezer:"Album non trovato su Deezer!",notOnDeezer:"Brano non disponibile su Deezer!",notEncoded:"Brano non ancora codificato!",notEncodedNoAlternative:"Brano non ancora codificato e nessuna alternativa trovata!",wrongBitrate:"Brano non trovato con il bitrate specificato.",wrongBitrateNoAlternative:"Brano non trovato con il bitrate specificato e nessuna alternativa trovata!",no360RA:"Brano non disponibile in Reality Audio 360.",notAvailable:"Brano non presente sui server di Deezer!",notAvailableNoAlternative:"Brano non presente sui server di Deezer e nessuna alternativa trovata!",noSpaceLeft:"Spazio su disco esaurito!",albumDoesntExists:"Il brano non ha nessun album, impossibile ottenere informazioni"}},favorites:{title:"Preferiti",noPlaylists:"Nessuna Playlist preferita trovata",noAlbums:"Nessun Album preferito trovato",noArtists:"Nessun Artista preferito trovato",noTracks:"Nessun Brano preferito trovato"},home:{needTologin:"Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.",openSettings:"Apri le impostazioni",sections:{popularPlaylists:"Playlist Popolari",popularAlbums:"Album pi\xF9 riprodotti"}},linkAnalyzer:{info:"Puoi utilizzare questa sezione per avere pi\xF9 informazioni riguardanti il link che stai cercando di scaricare.",useful:"Ci\xF2 pu\xF2 esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.",linkNotSupported:"Questo link non \xE8 ancora supportato",linkNotSupportedYet:"Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durata",diskNumber:"Numero Disco",trackNumber:"Numero Traccia",releaseDate:"Data di uscita",bpm:"BPM",label:"Etichetta",recordType:"Tipologia di registrazione",genres:"Generi",tracklist:"Lista tracce"}},search:{startSearching:"Inizia a cercare!",description:"Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer",fans:"{n} fan",noResults:"Nessun risultato",noResultsTrack:"Nessun brano trovato",noResultsAlbum:"Nessun album trovato",noResultsArtist:"Nessun artista trovato",noResultsPlaylist:"Nessuna playlist trovata"},searchbar:"Cerca qualsiasi cosa (o incolla semplicemente un link)",downloads:"download",toasts:{restoringQueue:"Ripristinando la coda di download...",queueRestored:"Coda di download ripristinata!",addedToQueue:"{item} aggiunto alla coda",addedMoreToQueue:"{n} oggetti aggiunti alla coda",alreadyInQueue:"{item} \xE8 gi\xE0 nella coda!",finishDownload:"{item} ha finito di scaricarsi.",allDownloaded:"Tutti i download completati!",refreshFavs:"Preferiti ricaricati!",loggingIn:"Effettuando il login...",loggedIn:"Login effettuato",alreadyLogged:"Sei gi\xE0 loggato",loginFailed:"Impossibile loggarsi",loggedOut:"Disconnesso",cancellingCurrentItem:"Cancellando download corrente.",currentItemCancelled:"Download corrente cancellato.",startAddingArtist:"Aggiungendo gli album di {artist} alla coda",finishAddingArtist:"Aggiunto gli album di {artist} alla coda",startConvertingSpotifyPlaylist:"Convertendo i brani da spotify a deezer",finishConvertingSpotifyPlaylist:"Playlist di spotify convertita",loginNeededToDownload:"Devi accedere prima di poter scaricare brani!",deezerNotAvailable:"Deezer non \xE8 disponibile nel tuo paese. Dovresti usare una VPN.",startGeneratingItems:"Elaborando {n} oggetti...",finishGeneratingItems:"{n} oggetti generati."},settings:{title:"Impostazioni",languages:"Lingue",login:{title:"Login",loggedIn:"Sei loggato come {username}",arl:{question:"Come ottengo il mio ARL?",update:"Aggiorna ARL"},logout:"Disconnettiti",login:"Accedi tramite deezer.com"},appearance:{title:"Aspetto",slimDownloadTab:"Tab dei download slim",slimSidebar:"Sidebar slim"},downloadPath:{title:"Cartella di download"},templates:{title:"Template",tracknameTemplate:"Template nome brano",tracknameAvailableVariables:"Variabili nome brano disponibili",albumTracknameTemplate:"Template nome brano negli Album",albumTracknameAvailableVariables:"Variabili nome brano negli Album disponibili",playlistTracknameTemplate:"Template nome brano nelle Playlist",playlistTracknameAvailableVariables:"Variabili nome brano nelle Playlist disponibili"},folders:{title:"Cartelle",createPlaylistFolder:"Crea cartelle per le Playlist",playlistNameTemplate:"Template nome della cartella Playlist",createArtistFolder:"Crea cartelle per gli Artisti",artistNameTemplate:"Template nome della cartella Artista",createAlbumFolder:"Crea cartelle per gli Album",albumNameTemplate:"Template nome della cartella Album",createCDFolder:"Crea cartelle per i CD",createStructurePlaylist:"Crea la struttura di cartelle per le Playlist",createSingleFolder:"Crea la struttura di cartelle per i brani singoli"},trackTitles:{title:"Titoli brani",padTracks:"Aggiungi zeri ai numeri di traccia",paddingSize:"Sovrascrivi il numero di zeri da aggiungere",illegalCharacterReplacer:"Rimpiazza caratteri illegali con"},downloads:{title:"Download",queueConcurrency:"Download simultanei",maxBitrate:{title:"Bitrate preferito",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dovrei sovrascrivere i file gi\xE0 scaricati?",y:"Si, sovrascrivi i file",n:"No, non sovrascrivere i file",t:"Sovrascrivi solo i tag",b:"No, mantieni entrambi i file e aggiungi un numero al duplicato",e:"No, e non tener conto della estensione del file"},fallbackBitrate:"Utilizza bitrate pi\xF9 bassi se il bitrate preferito non \xE8 disponibile",fallbackSearch:"Cerca il brano se il link originale non \xE8 disponibile",logErrors:"Crea file di log per gli errori",logSearched:"Crea file di log per le alternative cercate",syncedLyrics:"Crea i file .lyr (Testi Sincronizzati)",createM3U8File:"Crea i file playlist",playlistFilenameTemplate:"Template nome del file playlist",saveDownloadQueue:"Salva la coda di download quando chiudi l'app"},covers:{title:"Copertine",saveArtwork:"Salva copertina album",coverImageTemplate:"Template nome copertina album",saveArtworkArtist:"Salva copertina artista",artistImageTemplate:"Template nome copertina artista",localArtworkSize:"Dimensioni copertine locali",embeddedArtworkSize:"Dimensioni copertine incorporate",localArtworkFormat:{title:"Come vuoi salvare le copertine locali?",jpg:"In jpeg",png:"In png",both:"Sia in jpeg che in png"},jpegImageQuality:"Qualit\xE0 immagine JPEG",embeddedArtworkPNG:"Salva copertina incorporata come PNG",embeddedPNGWarning:"Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi",imageSizeWarning:"Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi",coverDescriptionUTF8:"Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)"},tags:{head:"Quali tag salvare",title:"Titolo",artist:"Artista",album:"Album",cover:"Copertina",trackNumber:"Numero Traccia",trackTotal:"Tracce Totali",discNumber:"Numero Disco",discTotal:"Dischi Totali",albumArtist:"Artista dell'album",genre:"Genere",year:"Anno",date:"Data",explicit:"Testo Esplicito",isrc:"ISRC",length:"Durata Traccia",barcode:"Barcode dell'album (UPC)",bpm:"BPM",replayGain:"Replay gain",label:"Casa Discografica",lyrics:"Testo non Sincronizzato",syncedLyrics:"Testo Sincronizzato",copyright:"Copyright",composer:"Compositori",involvedPeople:"Persone Coinvolte",source:"Sorgente e ID brano"},other:{title:"Altro",savePlaylistAsCompilation:"Salva le playlist come Compilation",useNullSeparator:"Usa il carattere NULL come separatore",saveID3v1:"Salva anche l'ID3v1",multiArtistSeparator:{title:"Come vuoi separare gli artisti?",nothing:"Salva solo l'artista principale",default:"Usando la specificazione standard",andFeat:"Usando & e feat.",using:'Usando "{separator}"'},singleAlbumArtist:"Salva solo l'artista dell'album principale",albumVariousArtists:`Lascia "Artisti Vari" negli artisti dell'album`,removeAlbumVersion:'Rimuovi "Album Version" dal titolo del brano',removeDuplicateArtists:"Rimuovi le combinazioni di artisti",dateFormat:{title:"Formato della data per i file FLAC",year:"AAAA",month:"MM",day:"GG"},featuredToTitle:{title:"Cosa dovrei fare con i feat?",0:"Niente",1:"Rimuovili dal titolo",3:"Rimuovili dal titolo e dal nome dell'album",2:"Spostali sul titolo"},titleCasing:"Formato testo dei titoli",artistCasing:"Formato testo degli artisti",casing:{nothing:"Non cambiare",upper:"TUTTO MAIUSCOLO",lower:"tutto minuscolo",start:"Prima Lettera Maiuscola",sentence:"Come una frase"},previewVolume:"Volume Anteprime",executeCommand:{title:"Comando da eseguire dopo il download",description:"Lascia vuoto per nessuna azione"}},spotify:{title:"Spotify Features",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"Come attivo le Spotify Features?"},reset:"Reimposta Default",resetMessage:"Sei sicuro di voler tornare alle impostazioni di default?",save:"Salva",toasts:{init:"Impostazioni caricate!",update:"Impostazioni aggiornate!",reset:"Impostazioni di default ripristinate!",ARLcopied:"ARL copiato negli appunti"}},sidebar:{home:"home",search:"ricerca",charts:"classifiche",favorites:"preferiti",linkAnalyzer:"analizza link",settings:"impostazioni",about:"info"},tracklist:{downloadSelection:"Scarica selezionati"}},en={globals:{welcome:"Welcome to deemix",back:"back",loading:"loading",download:"Download {thing}",by:"by {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Expand/Collapse",clean_queue_hint:"Clear Finished",cancel_queue_hint:"Cancel All",open_downloads_folder:"Open Downloads Folder",cut:"cut",copy:"copy",copyLink:"copy link",copyImageLink:"copy image link",copyDeezerLink:"copy deezer link",paste:"paste",listTabs:{empty:"",all:"all",top_result:"top result",album:"album | albums",artist:"artist | artists",single:"single | singles",title:"title | titles",track:"track | tracks",releaseN:"0 releases | {n} release | {n} releases",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"More albums",featured:"Featured in",spotifyPlaylist:"spotify playlist | spotify playlists",releaseDate:"release date",error:"error",trackN:"0 tracks | {n} track | {n} tracks",albumN:"0 albums | {n} album | {n} albums",artistN:"0 artists | {n} artist | {n} artists",playlistN:"0 playlists | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Current Version",currentWebuiVersion:"Current WebUI Version",versionNotAvailable:"N/A",updateAvailable:"You're not running the latest version available: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Useful Links",bugReports:"Bug Reports",contributing:"Contributing",donations:"Donations",license:"License"},subtitles:{bugReports:"Is there something that isn't working in deemix? Tell us!",contributing:"You want to contribute to this project? You can do it in different ways!",donations:"You want to contribute monetarily? You could make a donation!"},usesLibrary:"This app uses the deemix library, which you can use to make your own UI for deemix.",thanks:"Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.",upToDate:{text:"Stay up to date with the updates by following the {newsChannel} on Telegram.",newsChannel:"news channel"},officialWebsite:"Official Website",officialRepo:"Official Library Repository",officialWebuiRepo:"Official WebUI Repository",officialSubreddit:"Official Subreddit",newsChannel:"News Channel",questions:{text:"If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.",subreddit:"subreddit"},beforeReporting:"Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.",beSure:"Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.",duplicateReports:"Duplicate bug reports will be closed, so keep an eye out on that.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",newUI:{text:"If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.",repo:"repo"},acceptFeatures:"I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.",otherLanguages:"If you're fluent in another programming language you could try to port deemix into other programming languages!",understandingCode:"You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.",contributeWebUI:{text:"If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.",webui:"WebUI"},itsFree:"You should remember that this is a free project and you should support the artists you love before supporting the developers.",notObligated:"Don't feel obligated to donate, I appreciate you anyway!",lincensedUnder:{text:"This work is licensed under the {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Change Country",download:"Download Chart"},errors:{title:"Errors for {name}",ids:{invalidURL:"URL not recognized",unsupportedURL:"URL not supported yet",ISRCnotOnDeezer:"Track ISRC is not available on Deezer",notYourPrivatePlaylist:"You can't download others private playlists.",spotifyDisabled:"Spotify Features is not setted up correctly.",trackNotOnDeezer:"Track not found on Deezer!",albumNotOnDeezer:"Album not found on Deezer!",notOnDeezer:"Track not available on Deezer!",notEncoded:"Track not yet encoded!",notEncodedNoAlternative:"Track not yet encoded and no alternative found!",wrongBitrate:"Track not found at desired bitrate.",wrongBitrateNoAlternative:"Track not found at desired bitrate and no alternative found!",no360RA:"Track is not available in Reality Audio 360.",notAvailable:"Track not available on Deezer's servers!",notAvailableNoAlternative:"Track not available on Deezer's servers and no alternative found!",noSpaceLeft:"No space left on the device!",albumDoesntExists:"Track's album doesn't exist, failed to gather info"}},favorites:{title:"Favorites",noPlaylists:"No Playlists found",noAlbums:"No Favorite Albums found",noArtists:"No Favorite Artists found",noTracks:"No Favorite Tracks found"},home:{needTologin:"You need to log into your Deezer account before you can start downloading.",openSettings:"Open Settings",sections:{popularPlaylists:"Popular playlists",popularAlbums:"Most streamed albums"}},linkAnalyzer:{info:"You can use this section to find more information about the link you are trying to download.",useful:"This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.",linkNotSupported:"This link is not yet supported",linkNotSupportedYet:"Seems like this link is not yet supported, try analyzing another one.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duration",diskNumber:"Disk Number",trackNumber:"Track Number",releaseDate:"Release Date",bpm:"BPM",label:"Label",recordType:"Record Type",genres:"Genres",tracklist:"Tracklist"}},search:{startSearching:"Start searching!",description:"You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link",fans:"{n} fans",noResults:"No results",noResultsTrack:"No Tracks found",noResultsAlbum:"No Albums found",noResultsArtist:"No Artists found",noResultsPlaylist:"No Playlists found"},searchbar:"Search anything you want (or just paste a link)",downloads:"downloads",toasts:{restoringQueue:"Restoring download queue...",queueRestored:"Download queue restored!",addedToQueue:"{item} added to queue",addedMoreToQueue:"{n} items added to queue",alreadyInQueue:"{item} is already in queue!",finishDownload:"{item} finished downloading.",allDownloaded:"All downloads completed!",refreshFavs:"Refresh completed!",loggingIn:"Logging in...",loggedIn:"Logged in",alreadyLogged:"Already logged in",loginFailed:"Couldn't log in",loggedOut:"Logged out",cancellingCurrentItem:"Cancelling current item.",currentItemCancelled:"Current item cancelled.",startAddingArtist:"Adding {artist} albums to queue",finishAddingArtist:"Added {artist} albums to queue",startConvertingSpotifyPlaylist:"Converting spotify tracks to Deezer tracks",finishConvertingSpotifyPlaylist:"Spotify playlist converted",loginNeededToDownload:"You need to log in to download tracks!",deezerNotAvailable:"Deezer is not available in your country. You should use a VPN.",startGeneratingItems:"Processing {n} items...",finishGeneratingItems:"Generated {n} items."},settings:{title:"Settings",languages:"Languages",login:{title:"Login",loggedIn:"You are logged in as {username}",arl:{question:"How do I get my own ARL?",update:"Update ARL"},logout:"Logout",login:"Login via deezer.com"},appearance:{title:"Appearance",slimDownloadTab:"Slim download tab",slimSidebar:"Slim Sidebar"},downloadPath:{title:"Download Path"},templates:{title:"Templates",tracknameTemplate:"Trackname template",tracknameAvailableVariables:"Available trackname variables",albumTracknameTemplate:"Album track template",albumTracknameAvailableVariables:"Available album track variables",playlistTracknameTemplate:"Playlist track template",playlistTracknameAvailableVariables:"Available playlist track variables"},folders:{title:"Folders",createPlaylistFolder:"Create folder for playlists",playlistNameTemplate:"Playlist folder template",createArtistFolder:"Create folder for artist",artistNameTemplate:"Artist folder template",createAlbumFolder:"Create folder for album",albumNameTemplate:"Album folder template",createCDFolder:"Create folder for CDs",createStructurePlaylist:"Create folder structure for playlists",createSingleFolder:"Create folder structure for singles"},trackTitles:{title:"Track titles",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"Illegal Character replacer"},downloads:{title:"Downloads",queueConcurrency:"Concurrent Downloads",maxBitrate:{title:"Preferred Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Should I overwrite the files?",y:"Yes, overwrite the file",n:"No, don't overwrite the file",t:"Overwrite only the tags",b:"No, keep both files and add a number to the duplicate",e:"No, and don't look at the extensions"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Search fallback",logErrors:"Create log files for errors",logSearched:"Create log files for searched tracks",createM3U8File:"Create playlist file",syncedLyrics:"Create .lyr files (Sync Lyrics)",playlistFilenameTemplate:"Playlist filename template",saveDownloadQueue:"Save download queue when closing the app"},covers:{title:"Album covers",saveArtwork:"Save Covers",coverImageTemplate:"Cover name template",saveArtworkArtist:"Save artist image",artistImageTemplate:"Artist image template",localArtworkSize:"Local artwork size",embeddedArtworkSize:"Embedded artwork size",localArtworkFormat:{title:"What format do you want the local artwork to be?",jpg:"A jpeg image",png:"A png image",both:"Both a jpeg and a png"},jpegImageQuality:"JPEG image quality",embeddedArtworkPNG:"Save embedded artwork as PNG",embeddedPNGWarning:"PNGs are not officialy supported by Deezer and can be buggy",imageSizeWarning:"Anything above x1200 is not officialy used by Deezer, you may encounter issues",coverDescriptionUTF8:"Save cover description using UTF8 (iTunes Cover Fix)"},tags:{head:"Which tags to save",title:"Title",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Track Number",trackTotal:"Track Total",discNumber:"Disc Number",discTotal:"Disc Total",albumArtist:"Album Artist",genre:"Genre",year:"Year",date:"Date",explicit:"Explicit Lyrics",isrc:"ISRC",length:"Track Length",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"Unsynchronized Lyrics",syncedLyrics:"Synchronized Lyrics",copyright:"Copyright",composer:"Composer",involvedPeople:"Involved People",source:"Source and song ID"},other:{title:"Other",savePlaylistAsCompilation:"Save playlists as compilation",useNullSeparator:"Use null separator",saveID3v1:"Save ID3v1 as well",multiArtistSeparator:{title:"How would you like to separate your artists?",nothing:"Save only the main artist",default:"Using standard specification",andFeat:"Using & and feat.",using:'Using "{separator}"'},singleAlbumArtist:"Save only the main album artist",albumVariousArtists:'Keep "Various Artists" in the Album Artists',removeAlbumVersion:'Remove "Album Version" from track title',removeDuplicateArtists:"Remove combinations of artists",dateFormat:{title:"Date format for FLAC files",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"What should I do with featured artists?",0:"Nothing",1:"Remove it from the title",3:"Remove it from the title and the album title",2:"Move it to the title"},titleCasing:"Title casing",artistCasing:"Artist casing",casing:{nothing:"Keep unchanged",lower:"lowercase",upper:"UPPERCASE",start:"Start Of Each Word",sentence:"Like a sentence"},previewVolume:"Preview Volume",executeCommand:{title:"Command to execute after download",description:"Leave blank for no action"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"How do I enable Spotify Features?"},reset:"Reset to Default",resetMessage:"Are you sure you want to go back to default settings?",save:"Save",toasts:{init:"Settings loaded!",update:"Settings updated!",reset:"Settings reset to default!",ARLcopied:"ARL copied to clipboard"}},sidebar:{home:"home",search:"search",charts:"charts",favorites:"favorites",linkAnalyzer:"link analyzer",settings:"settings",about:"about"},tracklist:{downloadSelection:"Download selection"}},es={globals:{welcome:"Bienvenido a deemix",back:"atr\xE1s",loading:"cargando",download:"Descarga {thing}",by:"por {artist}",in:"en {album}",download_hint:"Descargar",play_hint:"Reproducir",toggle_download_tab_hint:"Expandir/Colapsar",clean_queue_hint:"Limpieza terminada",cancel_queue_hint:"Cancelar todo",open_downloads_folder:"Abrir la carpeta de descargas",cut:"cortar",copy:"copiar",copyLink:"copiar vinculo",copyImageLink:"copiar el v\xEDnculo de la imagen",copyDeezerLink:"copiar el v\xEDnculo de Deezer",paste:"pegar",listTabs:{empty:"",all:"todo",top_result:"mejor resultado",album:"\xE1lbum | \xE1lbumes",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"pista | pistas",trackN:"0 pistas | {n} pista | {n} pistas",releaseN:"0 entregas | {n} entrega | {n} entregas",playlist:"lista de reproducci\xF3n | listas de reproducci\xF3n",compile:"compilaci\xF3n | compilaciones",ep:"ep | eps",more:"M\xE1s \xE1lbumes",featured:"Aparece en",spotifyPlaylist:"lista de reproducci\xF3n spotify | listas de reproducci\xF3n spotify",releaseDate:"fecha de publicaci\xF3n",error:"error"}},about:{updates:{currentVersion:"Versi\xF3n actual",versionNotAvailable:"N/D",updateAvailable:"No est\xE1s ejecutando la \xFAltima versi\xF3n disponible: {versi\xF3n}",deemixVersion:"versi\xF3n de la biblioteca deemix"},titles:{usefulLinks:"Enlaces \xFAtiles",bugReports:"Reportar fallos",contributing:"Contribuye",donations:"Donaciones",license:"Licencia"},subtitles:{bugReports:"\xBFHay algo que no funcione en Deemix? \xA1D\xEDganoslo!",contributing:"\xBFQuieres contribuir a este proyecto? \xA1Puedes hacerlo de diferentes maneras!",donations:"\xBFQuiere contribuir monetariamente? \xA1Puedes hacer una donaci\xF3n!"},usesLibrary:"Esta aplicaci\xF3n usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.",thanks:"Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.",upToDate:{text:"Mantente al d\xEDa con las actualizaciones siguiendo el {newsChannel} en Telegram.",newsChannel:"canal de noticias"},officialWebsite:"P\xE1gina web oficial",officialRepo:"Repositorio de la biblioteca oficial",officialWebuiRepo:"Repositorio oficial de WebUI",officialSubreddit:"Subreddit oficial",newsChannel:"Canal de noticias",questions:{text:"Si tienes preguntas o problemas con la aplicaci\xF3n, busca una soluci\xF3n en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de informar de un error aseg\xFArese de que est\xE1 ejecutando la \xFAltima versi\xF3n de la aplicaci\xF3n y que lo que quiere informar es en realidad un error y no algo que est\xE1 mal s\xF3lo en su extremo.",beSure:"Aseg\xFArate de que el fallo es reproducible en otras m\xE1quinas y tambi\xE9n NO reporte un fallo si ya ha sido reportado.",duplicateReports:"Los informes de errores duplicados se cerrar\xE1n, as\xED que mant\xE9ngase al tanto de eso.",dontOpenIssues:"NO abra problemas para hacer preguntas, hay un subreddit para eso.",newUI:{text:"Si tienes fluidez en Python podr\xEDas intentar hacer una nueva interfaz de usuario para la aplicaci\xF3n usando la biblioteca base, o arreglar los errores de la biblioteca con una petici\xF3n pull en el {repo}.",repo:"repo"},acceptFeatures:"Tambi\xE9n acepto caracter\xEDsticas, pero no cosas complejas, ya que se pueden implementar directamente en la aplicaci\xF3n y no en la biblioteca.",otherLanguages:"\xA1Si dominas otro lenguaje de programaci\xF3n podr\xEDas intentar portar Deemix a otros lenguajes de programaci\xF3n!",understandingCode:"\xBFNecesitas ayuda para entender el c\xF3digo? S\xF3lo tienes que poner RemixDev en Telegram o Reddit.",contributeWebUI:{text:"Si conoces Vue.js (JavaScript), HTML o CSS podr\xEDas contribuir a la {webui}.",webui:"WebUI"},itsFree:"Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.",notObligated:"No te sientas obligado a donar, \xA1te aprecio de todas formas!",lincensedUnder:{text:"Esta obra est\xE1 autorizada bajo una {gpl3}.",gpl3:"GNU Licencia P\xFAblica General 3.0"}},charts:{title:"Listas",changeCountry:"Cambiar pa\xEDs",download:"Descargar la lista"},errors:{title:"Errores para {name}",ids:{invalidURL:"No se reconoce la URL",unsupportedURL:"La URL a\xFAn no est\xE1 soportada",ISRCnotOnDeezer:"La pista ISRC no est\xE1 disponible en Deezer",notYourPrivatePlaylist:"No puedes descargar otras listas de reproducci\xF3n privadas.",spotifyDisabled:"Las funciones de Spotify no est\xE1 configurado correctamente.",trackNotOnDeezer:"\xA1No se encontr\xF3 la pista en Deezer!",albumNotOnDeezer:"\xA1El \xE1lbum no se encuentra en Deezer!",notOnDeezer:"\xA1Pista no disponible en Deezer!",notEncoded:"\xA1Pista a\xFAn no codificada!",notEncodedNoAlternative:"\xA1Pista a\xFAn no codificada y no se ha encontrado ninguna alternativa!",wrongBitrate:"La pista no se encuentra a la velocidad de bitrate deseada.",wrongBitrateNoAlternative:"\xA1Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!",no360RA:"La pista no est\xE1 disponible en Reality Audio 360.",notAvailable:"\xA1La pista no est\xE1 disponible en los servidores de Deezer!",notAvailableNoAlternative:"\xA1La pista no est\xE1 disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!",noSpaceLeft:"\xA1No queda espacio en el dispositivo!"}},favorites:{title:"Favoritos",noPlaylists:"No se han encontrado listas de reproducci\xF3n",noAlbums:"No se han encontrado \xE1lbumes favoritos",noArtists:"No se han encontrado artistas favoritos",noTracks:"No se han encontrado pistas favoritas"},home:{needTologin:"Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.",openSettings:"Abrir la configuraci\xF3n",sections:{popularPlaylists:"Listas de reproducci\xF3n populares",popularAlbums:"Los \xE1lbumes m\xE1s stremeados"}},linkAnalyzer:{info:"Puedes usar esta secci\xF3n para encontrar m\xE1s informaci\xF3n sobre el enlace que est\xE1s tratando de descargar.",useful:"Esto es \xFAtil si est\xE1 tratando de descargar algunas pistas que no est\xE1n disponibles en su pa\xEDs y quiere saber d\xF3nde est\xE1n disponibles, por ejemplo.",linkNotSupported:"Este enlace a\xFAn no est\xE1 soportado",linkNotSupportedYet:"Parece que este enlace a\xFAn no est\xE1 soportado, intenta analizar otro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duraci\xF3n",diskNumber:"N\xFAmero del disco",trackNumber:"N\xFAmero de la pista",releaseDate:"Fecha de lanzamiento",bpm:"BPM",label:"Etiqueta",recordType:"Tipo de grabaci\xF3n",genres:"G\xE9neros",tracklist:"Lista de pista"}},search:{startSearching:"\xA1Comienza a buscar!",description:"Puedes buscar un tema, un \xE1lbum entero, un artista, una lista de reproducci\xF3n... \xA1todo! Tambi\xE9n puedes pegar un enlace de Deezer",fans:"{n} fans",noResults:"Ningun resultado",noResultsTrack:"No se encontraron pistas",noResultsAlbum:"No se encontraron \xE1lbumes",noResultsArtist:"No se encontraron artistas",noResultsPlaylist:"No se encontraron listas de reproducci\xF3n"},searchbar:"Busca lo que quieras (o simplemente pega un enlace)",downloads:"descargas",toasts:{restoringQueue:"Restaurando la cola de descarga...",queueRestored:"\xA1Cola de descarga restaurada!",addedToQueue:"{item} a\xF1adidos a la cola",addedMoreToQueue:"{n} elementos a\xF1adidos a la cola",alreadyInQueue:"\xA1{item} ya est\xE1 en la cola!",finishDownload:"{item} terminado de descargar.",allDownloaded:"\xA1Todas las descargas se han completado!",refreshFavs:"\xA1Actualizaci\xF3n completada!",loggingIn:"Conectando...",loggedIn:"Conectado",alreadyLogged:"Ya est\xE1 conectado",loginFailed:"No se puede conectar",loggedOut:"Desconectado",cancellingCurrentItem:"Cancelando el elemento actual.",currentItemCancelled:"El elemento actual se ha cancelado.",startAddingArtist:"A\xF1adiendo los \xE1lbumes de {artist} a la cola",finishAddingArtist:"Se ha a\xF1adido los \xE1lbumes de {artist} a la cola",startConvertingSpotifyPlaylist:"Convertir las pistas de Spotify en pistas de Deezer",finishConvertingSpotifyPlaylist:"Lista de reproducci\xF3n de Spotify convertida",loginNeededToDownload:"\xA1Necesitas iniciar sesi\xF3n para descargar t\xEDtulos!",deezerNotAvailable:"Deezer no est\xE1 disponible en su pa\xEDs. Deber\xEDas usar una VPN."},settings:{title:"Configuraci\xF3n",languages:"Idiomas",login:{title:"Iniciar Sesi\xF3n",loggedIn:"Usted est\xE1 conectado como {nombre de usuario}",arl:{question:"\xBFC\xF3mo consigo mi propio ARL?",update:"Actualiza la ARL"},logout:"Cerrar Sesi\xF3n",login:"Inicia sesi\xF3n a trav\xE9s de deezer.com"},appearance:{title:"Apariencia",slimDownloadTab:"Pesta\xF1a de descargas fina"},downloadPath:{title:"Ruta de descarga"},templates:{title:"Plantillas",tracknameTemplate:"Plantilla de nombres de pista",albumTracknameTemplate:"Plantilla de pista del \xE1lbum",playlistTracknameTemplate:"Plantilla de pista de la lista de reproducci\xF3n"},folders:{title:"Carpetas",createPlaylistFolder:"Crear una carpeta para las listas de reproducci\xF3n",playlistNameTemplate:"Plantilla de la carpeta de la lista de reproducci\xF3n",createArtistFolder:"Crear carpeta para el artista",artistNameTemplate:"Plantilla de la carpeta del artista",createAlbumFolder:"Crear carpeta para el \xE1lbum",albumNameTemplate:"Plantilla de la carpeta del \xE1lbum",createCDFolder:"Crear una carpeta para los CDs",createStructurePlaylist:"Crear una estructura de carpetas para las listas de reproducci\xF3n",createSingleFolder:"Crear una estructura de carpetas para individuales"},trackTitles:{title:"T\xEDtulos de las pistas",padTracks:"Pad de pistas",paddingSize:"Sobrescribir el tama\xF1o del pad",illegalCharacterReplacer:"Reemplazo del car\xE1cter ilegal"},downloads:{title:"Descargas",queueConcurrency:"Descargas simult\xE1neas",maxBitrate:{title:"Tasa de bits preferida",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\xBFDesea que se sobreescriban los archivos?",y:"S\xED, sobrescribir el archivo",n:"No, no sobrescribir el archivo",t:"Sobrescribir s\xF3lo las etiquetas",b:"No, mantener los dos archivos y agregar un n\xFAmero al archivo duplicado",e:"No, y no mirar las extensiones"},fallbackBitrate:"La soluci\xF3n alternativa de bitrate",fallbackSearch:"B\xFAsqueda de la segunda opci\xF3n",logErrors:"Crear archivos de registro de errores",logSearched:"Crear archivos de registro para las pistas buscadas",createM3U8File:"Crear archivo de la lista de reproducci\xF3n",syncedLyrics:"Crear archivos .lyr (lyrics sincronizadas)",playlistFilenameTemplate:"Plantilla de nombres de archivos de la lista de reproducci\xF3n",saveDownloadQueue:"Guardar la cola de descarga al cerrar la aplicaci\xF3n"},covers:{title:"Portadas de \xE1lbumes",saveArtwork:"Guardar las portadas",coverImageTemplate:"Plantilla de nombres de portada",saveArtworkArtist:"Guardar imagen de artista",artistImageTemplate:"Plantilla de imagen de artista",localArtworkSize:"El tama\xF1o de la portada local",embeddedArtworkSize:"El tama\xF1o de la portada incorporada",localArtworkFormat:{title:"\xBFQu\xE9 formato quieres que tenga la portada local?",jpg:"Una imagen jpeg",png:"Una imagen png",both:"Ambos, jpeg y png"},jpegImageQuality:"Calidad de la imagen JPEG",embeddedArtworkPNG:"Guardar las im\xE1genes incrustadas como PNG",embeddedPNGWarning:"Las PNG no est\xE1n oficialmente soportadas por Deezer y puedes encontrar errores.",imageSizeWarning:"Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes",coverDescriptionUTF8:"Guardar la descripci\xF3n de la portada usando UTF8 (arregla la portada de iTunes)"},tags:{head:"\xBFQu\xE9 etiquetas guardar?",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Portada",trackNumber:"N\xFAmero de pista",trackTotal:"Total de pistas",discNumber:"N\xFAmero del disco",discTotal:"Total del disco",albumArtist:"Artista del \xE1lbum",genre:"G\xE9nero",year:"A\xF1o",date:"Fecha",explicit:"Letras expl\xEDcitas",isrc:"ISRC",length:"Duraci\xF3n de la pista",barcode:"C\xF3digo de barras del \xE1lbum (UPC)",bpm:"BPM",replayGain:"Ganancia de la reproducci\xF3n",label:"Etiqueta del \xE1lbum",lyrics:"Lyrics no sincronizadas",syncedLyrics:"Lyrics sincronizadas",copyright:"Derechos de autor",composer:"Compositor",involvedPeople:"Personas involucradas"},other:{title:"Otro",savePlaylistAsCompilation:"Guardar las listas de reproducci\xF3n como una compilaci\xF3n",useNullSeparator:"Usar separador nulo",saveID3v1:"Guarda la ID3v1 tambi\xE9n",multiArtistSeparator:{title:"\xBFC\xF3mo le gustar\xEDa separar a sus artistas?",nothing:"Guardar s\xF3lo el artista principal",default:"Usar la especificaci\xF3n est\xE1ndar",andFeat:"Usar & y feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar s\xF3lo el artista principal del \xE1lbum",albumVariousArtists:'Mantener "Various Artists" en los artistas del \xE1lbum',removeAlbumVersion:'Eliminar "Album Version" del t\xEDtulo de la pista',removeDuplicateArtists:"Eliminar las combinaciones de artistas",dateFormat:{title:"Formato de fecha para los archivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"\xBFQu\xE9 debo hacer con los artistas destacados?",0:"Nada",1:"Quitarlo del t\xEDtulo",3:"Quitarlo del t\xEDtulo y del t\xEDtulo del \xE1lbum",2:"Moverlo al t\xEDtulo"},titleCasing:"Capitalizar t\xEDtulo",artistCasing:"Capitalizar artista",casing:{nothing:"Mant\xE9ner sin cambios",lower:"min\xFAsculas",upper:"MAY\xDASCULAS",start:"Al Principio De Cada Palabra",sentence:"Como una frase"},previewVolume:"Volumen de previsualizaci\xF3n",executeCommand:{title:"Comando a ejecutar despu\xE9s de la descarga",description:"Dejar en blanco para no hacer nada"}},spotify:{title:"Funciones de Spotify",clientID:"ID del cliente de Spotify",clientSecret:"Cliente Secreto Spotify",username:"Nombre de usuario de Spotify"},reset:"Restablecer el valor por defecto",save:"Guardar",toasts:{init:"\xA1Configuraciones cargadas!",update:"\xA1Ajustes actualizados!",ARLcopied:"ARL copiado al portapapeles"}},sidebar:{home:"inicio",search:"buscar",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizar enlaces",settings:"ajustes",about:"acerca de"},tracklist:{downloadSelection:"Descargar selecci\xF3n"}},de={globals:{welcome:"Willkommen bei deemix",back:"zur\xFCck",loading:"l\xE4dt",download:"Download {thing}",by:"von {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Erweitern/Minimieren",clean_queue_hint:"Entferne vollst\xE4ndige",cancel_queue_hint:"Alle abbrechen",listTabs:{empty:"",all:"alle",top_result:"Top Ergebnis",album:"Album | Alben",artist:"K\xFCnstler | K\xFCnstler",single:"Single | Singles",title:"Titel | Titel",track:"Track | Tracks",trackN:"0 Tracks | {n} Track | {n} Tracks",releaseN:"0 Releases | {n} Release | {n} Releases",playlist:"Playlist | Playlists",compile:"Sammlung | Sammlungen",ep:"EP | EPs",spotifyPlaylist:"Spotify Playlist | Spotify Playlists",releaseDate:"Ver\xF6ffentlichungsdatum",error:"Fehler"}},about:{titles:{usefulLinks:"N\xFCtzliche Links",bugReports:"Fehlermeldung",contributing:"Mitwirkende",donations:"Spenden",license:"Lizenz"},subtitles:{bugReports:"Funktioniert etwas in Deemix nicht? Sag uns bescheid!",contributing:"Du m\xF6chtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!",donations:"Du m\xF6chtest deemix finanziell unterst\xFCtzen? Dann lasse eine kleine Spende da!"},usesLibrary:"Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.",thanks:"Ein Dankesch\xF6n geht an rtonno, uhwot and lollilol f\xFCr die Hilfe bei diesem Projekt und an BasCurtiz f\xFCr die Erstellung des Logos.",upToDate:{text:"Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.",newsChannel:"News Channel"},officialWebsite:"Offizielle Website",officialRepo:"Offizielle Library Repository",officialWebuiRepo:"Offizielle WebUI Repository",officialSubreddit:"Offizieller Subreddit",newsChannel:"News Channel",questions:{text:"Bei Fragen oder Problemen mit der App, suche als erstes nach einer L\xF6sung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.",subreddit:"Subreddit"},beforeReporting:"Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden m\xF6chtest, tats\xE4chlich ein Bug ist und nicht nur bei dir falsch ist.",beSure:"Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.",duplicateReports:"Doppelte Fehlerberichte werden geschlossen, achte darauf.",dontOpenIssues:"ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit daf\xFCr.",newUI:{text:"Wenn du Python flie\xDFend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfl\xE4che f\xFCr die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.",repo:"deemix Repo"},acceptFeatures:"Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden k\xF6nnen.",otherLanguages:"Wenn du eine andere Programmiersprache flie\xDFend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!",understandingCode:"Du ben\xF6tigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.",contributeWebUI:{text:"Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, k\xF6nntest du etwas zum {webui} beitragen.",webui:"WebUI"},itsFree:"Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die K\xFCnstler unterst\xFCtzen, die du magst bevor du die Entwickler unterst\xFCtzt.",notObligated:"F\xFChle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!",lincensedUnder:{text:"Diese Arbeit ist lizensiert unter der {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Land wechseln",download:"Download Chart"},errors:{title:"Errors f\xFCr {name}",ids:{invalidURL:"URL nicht erkannt",unsupportedURL:"URL noch nicht unterst\xFCtzt",ISRCnotOnDeezer:"Track ISRC ist auf deezer nicht verf\xFCgbar",notYourPrivatePlaylist:"Du kannst keine privaten Playlisten anderer herunterladen.",spotifyDisabled:"Spotify-Funktionen sind nicht richtig eingerichtet",trackNotOnDeezer:"Track ist nicht verf\xFCgbar auf Deezer!",albumNotOnDeezer:"Album auf Deezer nicht gefunden!",notOnDeezer:"Track auf Deezer nicht verf\xFCgbar!",notEncoded:"Track noch nicht codiert!",notEncodedNoAlternative:"Track noch nicht codiert und keine Alternative gefunden!",wrongBitrate:"Track mit gew\xFCnschter Bitrate nicht gefunden.",wrongBitrateNoAlternative:"Track mit gew\xFCnschter Bitrate nicht gefunden und keine Alternative gefunden!",no360RA:"Track ist nicht verf\xFCgbar in Reality Audio 360.",notAvailable:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer!",notAvailableNoAlternative:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer und keine Alternativen gefunden!!"}},favorites:{title:"Favoriten",noPlaylists:"Keine Playlist gefunden",noAlbums:"Keine favorisierten Alben gefunden",noArtists:"Keine favorisierten K\xFCnstler gefunden",noTracks:"Keine favorisierten Tracks gefunden"},home:{needTologin:"Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.",openSettings:"Einstellungen \xF6ffnen",sections:{popularPlaylists:"Beliebte Playlists",popularAlbums:"Meistgestreamte Alben"}},linkAnalyzer:{info:"Diesen Abschnitt kannst du nutzen, um weitere Informationen \xFCber den gew\xFCnschten Link zu erhalten, den du herunterladen m\xF6chtest.",useful:"Dies ist z.B. n\xFCtzlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verf\xFCgbar sind, und du wissen m\xF6chtest, wo sie verf\xFCgbar sind.",linkNotSupported:"Dieser Link wird noch nicht unterst\xFCtzt",linkNotSupportedYet:"Es scheint so, als ob dieser Link noch nicht unterst\xFCtzt wird. Versuche einen anderen Link zu analysieren.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dauer",diskNumber:"CD Nummer",trackNumber:"Track Nummer",releaseDate:"Ver\xF6ffentlichungsdatum",bpm:"BPM",label:"Label",recordType:"Art der Aufnahme",genres:"Genres",tracklist:"Trackliste"}},search:{startSearching:"Suche starten!",description:"Du kannst einen Titel, ein ganzes Album, einen K\xFCnstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einf\xFCgen",fans:"{n} Fans",noResults:"Keine Ergebnisse",noResultsTrack:"Keine Tracks gefunden",noResultsAlbum:"Keine Alben gefunden",noResultsArtist:"Keinen K\xFCnstler gefunden",noResultsPlaylist:"Keine Playlist gefunden"},searchbar:"Suche nach allem, was dir gef\xE4llt (oder f\xFCge einfach einen Link ein)",downloads:"Downloads",toasts:{addedToQueue:"{item} zur Warteschlange hinzugef\xFCgt",alreadyInQueue:"{item} ist bereits in der Warteschlange!",finishDownload:"{item} vollst\xE4ndig heruntergeladen.",allDownloaded:"Alle Downloads abgeschlossen!",refreshFavs:"Abgeschlossene Downloads neu laden!",loggingIn:"Einloggen",loggedIn:"Eingeloggt",alreadyLogged:"Bereits eingeloggt",loginFailed:"Login fehlgeschlagen",loggedOut:"Ausgeloggt",cancellingCurrentItem:"Aktuelle Auswahl abbrechen.",currentItemCancelled:"Aktuelle Auswahl wurde abgebrochen",startAddingArtist:"{artist} Alben werden hinzugef\xFCgt",finishAddingArtist:"{artist} Alben wurden hinzugef\xFCgt",startConvertingSpotifyPlaylist:"Konvertierern von Spotify-Tracks zu Deezer-Tracks",finishConvertingSpotifyPlaylist:"Spotify Playlist convertiert"},settings:{title:"Einstellungen",languages:"Sprachen",login:{title:"Login",loggedIn:"Du bist eingeloggt als {username}",arl:{question:"Wie bekomme ich meine eigene ARL?",update:"Update ARL"},logout:"Logout"},appearance:{title:"Design",slimDownloadTab:"schmaler Download-Tab"},downloadPath:{title:"Download Pfad"},templates:{title:"Vorlagen",tracknameTemplate:"Vorlage f\xFCr den Tracknamen",albumTracknameTemplate:"Vorlage f\xFCr Tracks in einem Album",playlistTracknameTemplate:"Vorlage f\xFCr Tracks in einer Playlist"},folders:{title:"Folders",createPlaylistFolder:"Ordner f\xFCr Playlist erstellen",playlistNameTemplate:"Vorlage f\xFCr Playlist-Ordner",createArtistFolder:"Ordner f\xFCr K\xFCnstler erstellen",artistNameTemplate:"Vorlage f\xFCr K\xFCnstler-Ordner",createAlbumFolder:"Ordner f\xFCr Album erstellen",albumNameTemplate:"Vorlage f\xFCr Album-Ordner",createCDFolder:"Ordner f\xFCr CDs erstellen",createStructurePlaylist:"Erstellen von K\xFCnstler-, Alben- und CD-Ordnern auch f\xFCr Playlists",createSingleFolder:"Ordner f\xFCr einzelne Titel erstellen"},trackTitles:{title:"Songtitel",padTracks:"Einheitliche L\xE4nge der Titelnummern (voranstehende Nullen werden erg\xE4nzt)",paddingSize:"Innenabstand \xFCberschreiben",illegalCharacterReplacer:"Unzul\xE4ssige Zeichen ersetzen"},downloads:{title:"Downloads",queueConcurrency:"Gleichzeitige Downloads",maxBitrate:{title:"Bevorzugte Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Soll ich die Dateien \xFCberchreiben?",y:"Ja \xFCberschreibe die Dateien",n:"Nein \xFCberschreibe die Dateien nicht",t:"\xDCberschreibe nur die Tags",b:"Nein, behalte beide Dateien und f\xFCge der Kopie eine Nummer hinzu"},fallbackBitrate:"Falls gew\xFCnschte Bitrate nicht verf\xFCgbar, auf niedrigere Bitrate zur\xFCckgreifen",fallbackSearch:"Zur Suche zur\xFCckkehren, wenn der Song nicht verf\xFCgbar ist",logErrors:"Protokolldatei f\xFCr Fehler im Download-Ordner erstellen",logSearched:"Protokolldatei f\xFCr gesuchte Titel erstellen",createM3U8File:"Erstelle Playlist-Datei (M3U8)",syncedLyrics:"Erstelle synchrone Lyrics-Datei (.lyr)",playlistFilenameTemplate:"Vorlage f\xFCr den Namen der Playlist",saveDownloadQueue:"Download-Warteschlange beim Schlie\xDFen der App speichern"},covers:{title:"Album Cover",saveArtwork:"Cover speichern",coverImageTemplate:"Vorlage f\xFCr den Covernamen",saveArtworkArtist:"Speichere das K\xFCnstlerbild",artistImageTemplate:"Vorlage des K\xFCnstlerbildes",localArtworkSize:"Lokale Grafikgr\xF6\xDFe",embeddedArtworkSize:"Eingebettete Grafikgr\xF6\xDFe",localArtworkFormat:{title:"Welches Datei-Format soll das Cover haben?",jpg:"Ein jpg Bild",png:"Ein png Bild",both:"Beides (jpg + png)"},jpegImageQuality:"JPEG Qualit\xE4t"},tags:{head:"Welche Tags sollen gespeichert werden?",title:"Titel",artist:"K\xFCnstler",album:"Album",cover:"Cover",trackNumber:"Titelnummer",trackTotal:"Titelanzahl",discNumber:"CD Nummer",discTotal:"CDs insgesamt",albumArtist:"Album K\xFCnstler",genre:"Genre",year:"Jahr",date:"Datum",explicit:"Explizite Lyrics",isrc:"ISRC",length:"Titel L\xE4nge",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Wiedergabe Lautst\xE4rke",label:"Album Plattenlabel",lyrics:"Nicht synchronisierte Texte",copyright:"Copyright",composer:"Komponist",involvedPeople:"Mitwirkende Personen"},other:{title:"Sonstige",savePlaylistAsCompilation:"Speichere Playlist als Zusammenstellung",useNullSeparator:"Verwende Nulltrennzeichen",saveID3v1:"Speichere ID3v1 ebenfalls",multiArtistSeparator:{title:"Wie m\xF6chtest du die K\xFCnstler trennen?",nothing:"Speichere nur den Hauptk\xFCnstler",default:"Verwende Standard Spezifikationen",andFeat:"Verwende & und feat.",using:'Verwende "{separator}"'},singleAlbumArtist:"Nur den Hauptk\xFCnstler speichern",albumVariousArtists:'Verschiedene K\xFCnstler" im Album K\xFCnstler Tag behalten',removeAlbumVersion:'Entferne die "Album Version" vom Songtitel',removeDuplicateArtists:"Kombinationen von K\xFCnstlern entfernen",dateFormat:{title:"Datumsformatierung f\xFCr FLAC Dateien",year:"JJJJ",month:"MM",day:"TT"},featuredToTitle:{title:"Was soll ich mit featured Artists machen?",0:"Nichts",1:"Vom Titel entfernen",3:"Vom Titel und Albumtitel entfernen",2:"Zu dem Titel hinzuf\xFCgen"},titleCasing:"Titel-Schreibweise",artistCasing:"K\xFCnstler-Schreibweise",casing:{nothing:"Unbearbeitet lassen",lower:"klein",upper:"GROSS",start:"Wortanfang Gross",sentence:"Satzanfang gross"},previewVolume:"Vorschau der Lautst\xE4rke",executeCommand:{title:"Befehl, der nach dem Download ausgef\xFChrt werden soll",description:"Leer lassen ohne Aktion"}},spotify:{title:"Spotify Features",clientID:"Spotify Client ID",clientSecret:"Spotify Client Secret",username:"Spotify Benutzername"},reset:"Auf Standardwerte zur\xFCcksetzen",save:"Speichern",toasts:{init:"Einstellungen geladen!",update:"Einstellungen aktualisiert!",ARLcopied:"ARL wurde in die Zwischenablage kopiert"}},sidebar:{home:"Home",search:"Suche",charts:"Charts",favorites:"Favoriten",linkAnalyzer:"Link Analyse",settings:"Einstellungen",about:"Info"},tracklist:{downloadSelection:"Downloads"}},fr={globals:{welcome:"Bienvenue dans deemix",back:"retour",loading:"chargement en cours",download:"T\xE9l\xE9charger {thing}",by:"par {artist}",in:"dans {album}",download_hint:"T\xE9l\xE9charger",play_hint:"Lire",toggle_download_tab_hint:"D\xE9velopper/R\xE9duire",clean_queue_hint:"Retirer Les T\xE2ches Termin\xE9es",cancel_queue_hint:"Tout Annuler",open_downloads_folder:"Ouvrir Le Dossier De T\xE9l\xE9chargements",cut:"couper",copy:"copier",copyLink:"copier le lien",copyImageLink:"copier le lien de l'image",copyDeezerLink:"copier le lien deezer",paste:"coller",listTabs:{empty:"",all:"tout",top_result:"meilleur r\xE9sultat",album:"album | albums",artist:"artiste | artistes",single:"single | singles",title:"titre | titres",track:"piste | pistes",releaseN:"0 sortie | {n} sortie | {n} sorties",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"Plus d'albums",featured:"Appara\xEEt dans",spotifyPlaylist:"playlist spotify | playlists spotify",releaseDate:"date de sortie",error:"erreur",trackN:"0 piste | {n} piste | {n} pistes",albumN:"0 album | {n} album | {n} albums",artistN:"0 artiste | {n} artiste | {n} artistes",playlistN:"0 playlist | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app en ligne",offline:"app hors ligne"},updates:{currentVersion:"Version Actuelle",currentWebuiVersion:"Version Actuelle De La WebUI",versionNotAvailable:"N/A",updateAvailable:"Vous n'utilisez pas la derni\xE8re version disponible : {version}",deemixVersion:"Version de la biblioth\xE8que deemix"},titles:{usefulLinks:"Liens Utiles",bugReports:"Rapports De Bug",contributing:"Contribution",donations:"Dons",license:"Licence"},subtitles:{bugReports:"Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !",contributing:"Vous souhaitez contribuer \xE0 ce projet ? Vous pouvez le faire de diff\xE9rentes mani\xE8res !",donations:"Vous souhaitez contribuer financi\xE8rement ? Vous pouvez faire un don !"},usesLibrary:"Cette application utilise la biblioth\xE8que deemix, que vous pouvez exploiter afin de cr\xE9er votre propre interface utilisateur pour deemix.",thanks:"Merci \xE0 rtonno, uhwot et lollilol de m'avoir aid\xE9 dans ce projet ainsi qu'\xE0 BasCurtiz pour la cr\xE9ation de l'ic\xF4ne.",upToDate:{text:"Restez inform\xE9 des mises \xE0 jour en suivant le {newsChannel} sur Telegram.",newsChannel:"canal d'informations"},officialWebsite:"Site Officiel",officialRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La Biblioth\xE8que",officialWebuiRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La WebUI",officialSubreddit:"Subreddit Officiel",newsChannel:"Canal d'Informations",questions:{text:"Si vous avez des questions ou des probl\xE8mes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en d\xE9crivant votre probl\xE8me.",subreddit:"subreddit"},beforeReporting:"Avant de signaler un bug, assurez-vous que vous utilisez la version la plus r\xE9cente de l'application. V\xE9rifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre c\xF4t\xE9.",beSure:"Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a d\xE9j\xE0 \xE9t\xE9 recens\xE9.",duplicateReports:"Les rapports de bug r\xE9p\xE9titifs seront supprim\xE9s, merci d'en prendre bonne note.",dontOpenIssues:"NE PAS rapporter de probl\xE8me s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.",newUI:{text:"Si vous ma\xEEtrisez python, vous pouvez essayer de cr\xE9er une nouvelle interface utilisateur pour l'application \xE0 l'aide de la biblioth\xE8que de base, ou corriger des bugs dans la biblioth\xE8que \xE0 l'aide d'une demande de fusion de branches (pull request) sur le {repo}.",repo:"r\xE9pertoire de d\xE9p\xF4t"},acceptFeatures:"J'accepte \xE9galement les nouvelles fonctionnalit\xE9s, mais pas de choses complexes, dans la mesure o\xF9 elles peuvent \xEAtre impl\xE9ment\xE9es directement dans l'application et non dans la biblioth\xE8que.",otherLanguages:"Si vous ma\xEEtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !",understandingCode:"Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.",contributeWebUI:{text:"Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer \xE0 la {webui}.",webui:"WebUI"},itsFree:"N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes pr\xE9f\xE9r\xE9s avant de supporter les d\xE9veloppeurs.",notObligated:"Ne vous sentez pas oblig\xE9 de faire un don, vous \xEAtes tout de m\xEAme appr\xE9ci\xE9 !",lincensedUnder:{text:"Ce projet s'inscrit dans le cadre de la {gpl3}.",gpl3:"Licence publique g\xE9n\xE9rale GNU, version 3"}},charts:{title:"Classements",changeCountry:"Changer De Pays",download:"T\xE9l\xE9charger Le Classement"},errors:{title:"Erreurs pour {name}",ids:{invalidURL:"Cette URL n'est pas reconnue",unsupportedURL:"Cette URL n'est actuellement pas support\xE9e",ISRCnotOnDeezer:"L'ISRC de la piste est indisponible sur Deezer",notYourPrivatePlaylist:"Vous n'\xEAtes pas autoris\xE9 \xE0 t\xE9l\xE9charger les playlists priv\xE9es de quelqu'un d'autre.",spotifyDisabled:"Les Fonctionnalit\xE9s Spotify ne sont pas configur\xE9es correctement.",trackNotOnDeezer:"La piste est introuvable sur Deezer !",albumNotOnDeezer:"L'album est introuvable sur Deezer !",notOnDeezer:"La piste est indisponible sur Deezer !",notEncoded:"La piste n'a pas encore \xE9t\xE9 encod\xE9e !",notEncodedNoAlternative:"La piste n'a pas encore \xE9t\xE9 encod\xE9e et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",wrongBitrate:"La piste est introuvable au d\xE9bit souhait\xE9.",wrongBitrateNoAlternative:"La piste est introuvable au d\xE9bit souhait\xE9 et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",no360RA:"La piste est indisponible au format Reality Audio 360.",notAvailable:"La piste est indisponible sur les serveurs de Deezer !",notAvailableNoAlternative:"La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",noSpaceLeft:"L'espace disponible sur cet appareil est insuffisant !",albumDoesntExists:"Aucun album n'existe pour cette piste, impossible de collecter les informations n\xE9cessaires"}},favorites:{title:"Favoris",noPlaylists:"Aucune Playlist n'a \xE9t\xE9 trouv\xE9e",noAlbums:"Aucun Album Favori n'a \xE9t\xE9 trouv\xE9",noArtists:"Aucun Artiste Favori n'a \xE9t\xE9 trouv\xE9",noTracks:"Aucune Piste Favorite n'a \xE9t\xE9 trouv\xE9e"},home:{needTologin:"Vous devez vous connecter \xE0 votre compte Deezer avant de pouvoir d\xE9marrer un t\xE9l\xE9chargement.",openSettings:"Ouvrir Les Param\xE8tres",sections:{popularPlaylists:"Playlists les plus \xE9cout\xE9es",popularAlbums:"Albums les plus \xE9cout\xE9s"}},linkAnalyzer:{info:"Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de t\xE9l\xE9charger.",useful:"C'est utile si vous essayez, par exemple, de t\xE9l\xE9charger des pistes indisponibles dans votre pays et que vous souhaitez savoir o\xF9 elles sont disponibles.",linkNotSupported:"Ce lien n'est pas encore pris en charge",linkNotSupportedYet:"Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dur\xE9e",diskNumber:"Num\xE9ro De Disque",trackNumber:"Num\xE9ro De Piste",releaseDate:"Date De Sortie",bpm:"BPM",label:"Label",recordType:"Type d'Enregistrement",genres:"Genres",tracklist:"Liste Des Pistes"}},search:{startSearching:"D\xE9marrer une recherche !",description:"Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez \xE9galement coller un lien Deezer.",fans:"{n} fans",noResults:"Aucun r\xE9sultat",noResultsTrack:"Aucune piste n'a \xE9t\xE9 trouv\xE9e",noResultsAlbum:"Aucun album n'a \xE9t\xE9 trouv\xE9",noResultsArtist:"Aucun artiste n'a \xE9t\xE9 trouv\xE9",noResultsPlaylist:"Aucune playlist n'a \xE9t\xE9 trouv\xE9e"},searchbar:"Saisissez une requ\xEAte (ou collez simplement un lien)",downloads:"t\xE9l\xE9chargements",toasts:{restoringQueue:"Restauration de la file d'attente de t\xE9l\xE9chargement...",queueRestored:"La file d'attente de t\xE9l\xE9chargement a \xE9t\xE9 restaur\xE9e !",addedToQueue:"{item} ajout\xE9 \xE0 la file d'attente",addedMoreToQueue:"{n} \xE9l\xE9ments ajout\xE9s \xE0 la file d'attente",alreadyInQueue:"{item} est d\xE9j\xE0 dans la file d'attente !",finishDownload:"{item} a \xE9t\xE9 t\xE9l\xE9charg\xE9.",allDownloaded:"Tous les t\xE9l\xE9chargements sont termin\xE9s !",refreshFavs:"Actualisation termin\xE9e !",loggingIn:"Connexion en cours...",loggedIn:"Connect\xE9",alreadyLogged:"D\xE9j\xE0 connect\xE9",loginFailed:"Connexion impossible",loggedOut:"D\xE9connect\xE9",cancellingCurrentItem:"Annulation de l'\xE9l\xE9ment actuel.",currentItemCancelled:"\xC9l\xE9ment actuel annul\xE9.",startAddingArtist:"Ajout des albums de {artist} \xE0 la file d'attente",finishAddingArtist:"Les albums de {artist} ont \xE9t\xE9 ajout\xE9s \xE0 la file d'attente",startConvertingSpotifyPlaylist:"Conversion de pistes Spotify en \xE9quivalents Deezer",finishConvertingSpotifyPlaylist:"Playlist Spotify convertie",loginNeededToDownload:"Vous devez vous connecter pour pouvoir t\xE9l\xE9charger des pistes !",deezerNotAvailable:"Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.",startGeneratingItems:"Traitement de {n} \xE9l\xE9ments...",finishGeneratingItems:"{n} \xE9l\xE9ments ont \xE9t\xE9 g\xE9n\xE9r\xE9s."},settings:{title:"Param\xE8tres",languages:"Langues",login:{title:"Connexion",loggedIn:"Vous \xEAtes connect\xE9 en tant que {username}",arl:{question:"Comment obtenir mon ARL personnel ?",update:"Mettre \xE0 jour l'ARL"},logout:"D\xE9connexion",login:"Connexion via deezer.com"},appearance:{title:"Apparence",slimDownloadTab:"Onglet de t\xE9l\xE9chargement compact",slimSidebar:"Barre lat\xE9rale compacte"},downloadPath:{title:"Emplacement De T\xE9l\xE9chargement"},templates:{title:"Mod\xE8les",tracknameTemplate:"Mod\xE8le pour le nom de piste",tracknameAvailableVariables:"Variables disponibles pour le nom de piste",albumTracknameTemplate:"Mod\xE8le pour le nom de piste de l'album",albumTracknameAvailableVariables:"Variables disponibles pour le nom de piste de l'album",playlistTracknameTemplate:"Mod\xE8le pour le nom de piste de la playlist",playlistTracknameAvailableVariables:"Variables disponibles pour le nom de piste de la playlist"},folders:{title:"Dossiers",createPlaylistFolder:"G\xE9n\xE9rer des dossiers par playlist",playlistNameTemplate:"Mod\xE8le pour le nom du dossier de playlist",createArtistFolder:"G\xE9n\xE9rer des dossiers par artiste",artistNameTemplate:"Mod\xE8le pour le nom du dossier d'artiste",createAlbumFolder:"G\xE9n\xE9rer des dossiers par album",albumNameTemplate:"Mod\xE8le pour le nom du dossier d'album",createCDFolder:"G\xE9n\xE9rer des dossiers par CD",createStructurePlaylist:"G\xE9n\xE9rer une structure de dossiers pour les playlists",createSingleFolder:"G\xE9n\xE9rer une structure de dossiers pour les singles"},trackTitles:{title:"Titres des pistes",padTracks:"Longueur uniforme des num\xE9ros de piste (ajoute automatiquement des z\xE9ros devant le num\xE9ro initial de la piste)",paddingSize:"Nombre de z\xE9ros \xE0 ajouter en permanence devant le num\xE9ro initial de la piste",illegalCharacterReplacer:"Substitut aux caract\xE8res non autoris\xE9s (dans les noms de fichiers et de dossiers)"},downloads:{title:"T\xE9l\xE9chargements",queueConcurrency:"T\xE9l\xE9chargements Simultan\xE9s",maxBitrate:{title:"D\xE9bit Pr\xE9f\xE9r\xE9",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Les fichiers doivent-ils \xEAtre \xE9cras\xE9s ?",y:"Oui, \xE9craser le fichier",n:"Non, ne pas \xE9craser le fichier",t:"\xC9craser uniquement les m\xE9tadonn\xE9es",b:"Non, conserver les deux fichiers et ajouter un num\xE9ro au doublon",e:"Non, et ne pas tenir compte de l'extension du fichier"},fallbackBitrate:"Recourir \xE0 un d\xE9bit plus faible si le d\xE9bit pr\xE9f\xE9r\xE9 n'est pas disponible",fallbackSearch:"Rechercher la piste si le lien original n'est pas disponible",logErrors:"Cr\xE9er un fichier journal d'erreurs",logSearched:"Cr\xE9er un fichier journal des pistes recherch\xE9es",createM3U8File:"Cr\xE9er un fichier de playlist",syncedLyrics:"Cr\xE9er des fichiers .lyr (Paroles Synchronis\xE9es)",playlistFilenameTemplate:"Mod\xE8le du nom de fichier de la playlist",saveDownloadQueue:"Enregistrer la file d'attente de t\xE9l\xE9chargement \xE0 la fermeture de l'application"},covers:{title:"Pochettes d'albums",saveArtwork:"Enregistrer Les Pochettes",coverImageTemplate:"Mod\xE8le pour le nom de la pochette",saveArtworkArtist:"Enregistrer l'image de l'artiste",artistImageTemplate:"Mod\xE8le pour le nom de l'image de l'artiste",localArtworkSize:"Taille de l'illustration locale",embeddedArtworkSize:"Taille de l'illustration incorpor\xE9e aux fichiers audio",localArtworkFormat:{title:"Dans quel format souhaitez-vous l'illustration locale ?",jpg:"Une image jpeg",png:"Une image png",both:"\xC0 la fois jpeg et png"},jpegImageQuality:"Qualit\xE9 de l'image JPEG",embeddedArtworkPNG:"Enregistrer l'illustration incorpor\xE9e aux fichiers audio en tant que PNG",embeddedPNGWarning:"Les images PNG ne sont pas officiellement utilis\xE9es par Deezer et pourraient causer des probl\xE8mes.",imageSizeWarning:"Toute valeur sup\xE9rieure \xE0 x1200 n'est pas officiellement support\xE9e par Deezer, vous pourriez donc rencontrer des probl\xE8mes.",coverDescriptionUTF8:"Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)"},tags:{head:"M\xE9tadonn\xE9es \xE0 sauvegarder",title:"Titre",artist:"Artiste",album:"Album",cover:"Pochette",trackNumber:"Num\xE9ro De Piste",trackTotal:"Nombre De Pistes",discNumber:"Num\xE9ro Du Disque",discTotal:"Nombre De Disques",albumArtist:"Artiste De l'Album",genre:"Genre",year:"Ann\xE9e",date:"Date",explicit:"Paroles Explicites",isrc:"ISRC",length:"Longueur De La Piste",barcode:"Code-Barres De l'Album (UPC)",bpm:"BPM",replayGain:"Gain En Relecture (Replay Gain)",label:"Label De l'Album",lyrics:"Paroles Non-Synchronis\xE9es",syncedLyrics:"Paroles Synchronis\xE9es",copyright:"Droits d'Auteur (Copyright)",composer:"Compositeur",involvedPeople:"Personnes Impliqu\xE9es",source:"ID de la source et de la piste"},other:{title:"Autre",savePlaylistAsCompilation:"Enregistrer les playlists en tant que compilation",useNullSeparator:"Utiliser le caract\xE8re NULL comme s\xE9parateur",saveID3v1:"Enregistrer \xE9galement les m\xE9tadonn\xE9es ID3v1",multiArtistSeparator:{title:"Comment aimeriez-vous s\xE9parer les artistes ?",nothing:"Enregistrer uniquement l'artiste principal",default:"En utilisant la sp\xE9cification standard",andFeat:"En utilisant & et feat.",using:'En utilisant "{separator}"'},singleAlbumArtist:"Enregistrer uniquement l'artiste principal de l'album",albumVariousArtists:`Conserver "Various Artists" dans les Artistes de l'Album`,removeAlbumVersion:'Supprimer "Album Version" du titre de la piste',removeDuplicateArtists:"Supprimer les combinaisons d'artistes",dateFormat:{title:"Format de date pour les fichiers FLAC",year:"AAAA",month:"MM",day:"JJ"},featuredToTitle:{title:"Que faire des artistes participants (featuring) ?",0:"Ne rien faire",1:"Les retirer du titre de la piste",3:"Les supprimer du titre de la piste et du titre de l'album",2:"Les d\xE9placer vers le titre de la piste"},titleCasing:"Casse pour le titre",artistCasing:"Casse pour l'artiste",casing:{nothing:"Conserver inchang\xE9",lower:"minuscules",upper:"MAJUSCULES",start:"Majuscule Au D\xE9but De Chaque Mot",sentence:"Majuscule seulement au d\xE9but de la phrase"},previewVolume:"Volume sonore des aper\xE7us de pistes",executeCommand:{title:"Commande \xE0 ex\xE9cuter apr\xE8s le t\xE9l\xE9chargement",description:"Laisser vide pour qu'aucune action n'ait lieu"}},spotify:{title:"Fonctionnalit\xE9s Spotify",clientID:"clientID Spotify",clientSecret:"Client Secret Spotify",username:"Nom d'utilisateur Spotify",question:"Comment activer les Fonctionnalit\xE9s Spotify ?"},reset:"R\xE9tablir les valeurs par d\xE9faut",resetMessage:"Souhaitez-vous vraiment r\xE9tablir les param\xE8tres par d\xE9faut ?",save:"Sauvegarder",toasts:{init:"Param\xE8tres charg\xE9s !",update:"Param\xE8tres mis \xE0 jour !",reset:"Param\xE8tres r\xE9initialis\xE9s \xE0 leur valeur par d\xE9faut !",ARLcopied:"ARL copi\xE9 dans le presse-papier"}},sidebar:{home:"accueil",search:"recherche",charts:"classements",favorites:"favoris",linkAnalyzer:"analyseur de lien",settings:"param\xE8tres",about:"\xE0 propos"},tracklist:{downloadSelection:"T\xE9l\xE9charger la s\xE9lection"}},id={globals:{welcome:"Selamat datang di deemix",back:"kembali",loading:"memuat",download:"Mengunduh {thing}",by:"oleh {artist}",in:"di {album}",download_hint:"Unduh",play_hint:"Putar",toggle_download_tab_hint:"Buka/Tutup",clean_queue_hint:"Berhasil Mengosongkan",cancel_queue_hint:"Batalkan Semua",listTabs:{empty:"",all:"semua",top_result:"hasil teratas",album:"album | album",artist:"artis | artis",single:"singel | singel",title:"judul | judul",track:"lagu | lagu",trackN:"0 lagu | {n} lagu | {n} lagu",releaseN:"0 rilis | {n} rilis | {n} rilis",playlist:"daftar putar | daftar putar",compile:"kompilasi | kompilasi",ep:"ep | ep",spotifyPlaylist:"daftar putar spotify | daftar putar spotify",releaseDate:"tanggal rilis",error:"galat"}},about:{titles:{usefulLinks:"Tautan Berguna",bugReports:"Laporan Kesalahan",contributing:"Kontirbutor",donations:"Donasi",license:"Lisensi"},subtitles:{bugReports:"Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!",contributing:"Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!",donations:"Mau kontribusi secara finansial? Kamu bisa beri donasi!"},usesLibrary:"Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.",thanks:"Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.",upToDate:{text:"Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.",newsChannel:"kanal berita deemix"},officialWebsite:"Situs Web Resmi",officialRepo:"Repositori Pustaka Resmi",officialWebuiRepo:"Repositori WebUI Resmi",officialSubreddit:"Subreddit Resmi",newsChannel:"Kanal Berita",questions:{text:"Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.",subreddit:"subreddit"},beforeReporting:"Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.",beSure:"Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.",duplicateReports:"Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.",dontOpenIssues:"JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.",newUI:{text:"Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.",repo:"repo"},acceptFeatures:"Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.",otherLanguages:"Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!",understandingCode:"Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.",contributeWebUI:{text:"Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.",webui:"WebUI"},itsFree:"Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.",notObligated:"Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!",lincensedUnder:{text:"Pekerjaan ini ada di bawah lisensi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Tangga Lagu",changeCountry:"Ubah Negara",download:"Unduh Tangga Lagu"},errors:{title:"Galat untuk {name}",ids:{invalidURL:"URL tidak dikenal",unsupportedURL:"URL belum didukung",ISRCnotOnDeezer:"Lagu ISRC tidak tersedia di deezer",notYourPrivatePlaylist:"Kamu tidak bisa mengunduh daftar putar privat orang lain.",spotifyDisabled:"Fitur Spotify tidak diatur dengan benar.",trackNotOnDeezer:"Lagu tidak ditemukan di deezer!",albumNotOnDeezer:"Album tidak ditemukan di deezer!",notOnDeezer:"Lagu tidak ada di Deezer!",notEncoded:"Lagu belum di-encode!",notEncodedNoAlternative:"Lagu belum di-encode dan tidak ada alternatif lain!",wrongBitrate:"Lagu tidak tersedia pada bitrate yang diinginkan.",wrongBitrateNoAlternative:"Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!",no360RA:"Lagu tidak tersedia pada Reality Audio 360.",notAvailable:"Lagu tidak tersedia pada server deezer!",notAvailableNoAlternative:"Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!"}},favorites:{title:"Favorit",noPlaylists:"Daftar Putar kosong",noAlbums:"Album Favorit kosong",noArtists:"Artis Favorit kosong",noTracks:"Lagu Favorit kosong"},home:{needTologin:"Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.",openSettings:"Buka Pengaturan",sections:{popularPlaylists:"Daftar putar populer",popularAlbums:"Album paling banyak diputar"}},linkAnalyzer:{info:"Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.",useful:"Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.",linkNotSupported:"Tautan seperti ini belum didukung",linkNotSupportedYet:"Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durasi",diskNumber:"Nomor Disk",trackNumber:"Nomor Lagu",releaseDate:"Tanggal Rilis",bpm:"BPM",label:"Label",recordType:"Tipe Rekaman",genres:"Genre",tracklist:"Daftar Lagu"}},search:{startSearching:"Mulai cari!",description:"Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer",fans:"{n} fan",noResults:"Tak ada hasil",noResultsTrack:"Lagu tidak ditemukan",noResultsAlbum:"Album tidak ditemukan",noResultsArtist:"Artis tidak ditemukan",noResultsPlaylist:"Daftar putar tidak ditemukan"},searchbar:"Cari apa pun yang kamu mau (atau berikan tautannya saja)",downloads:"unduhan",toasts:{addedToQueue:"{item} ditambah ke antrian",alreadyInQueue:"{item} sudah ada di antrian!",finishDownload:"{item} selesai diunduh.",allDownloaded:"Seluruh unduhan selesai!",refreshFavs:"Penyegaran selesai!",loggingIn:"Masuk",loggedIn:"Telah masuk",alreadyLogged:"Telah masuk",loginFailed:"Tidak bisa masuk",loggedOut:"Belum masuk",cancellingCurrentItem:"Membatalkan item.",currentItemCancelled:"Item telah dibatalan.",startAddingArtist:"Menambahkan {artist} album ke antrian",finishAddingArtist:"{artist} album telah ditambahkan ke antrian",startConvertingSpotifyPlaylist:"Mengonversi lagu spotify ke deezer",finishConvertingSpotifyPlaylist:"Daftar putar Spotify selesai dikonversi"},settings:{title:"Pengaturan",languages:"Bahasa",login:{title:"Masuk",loggedIn:"Kamu telah masuk sebagai {username}",arl:{question:"Bagaimana cara mendapat ARL?",update:"Perbarui ARL"},logout:"Keluar"},appearance:{title:"Tampilan",slimDownloadTab:"Tab unduhan ramping"},downloadPath:{title:"Direktori Unduhan"},templates:{title:"Templat",tracknameTemplate:"Templat judul lagu",albumTracknameTemplate:"Templat judul album",playlistTracknameTemplate:"Templat judul daftar putar"},folders:{title:"Folders",createPlaylistFolder:"Buat folder untuk daftar putar",playlistNameTemplate:"Templat folder daftar putar",createArtistFolder:"Buat folder untuk artis",artistNameTemplate:"Templat folder artis",createAlbumFolder:"Buat folder untuk album",albumNameTemplate:"Templat folder album",createCDFolder:"Buat folder untuk CD",createStructurePlaylist:"Buat struktur folder untuk daftar putar",createSingleFolder:"Buat struktur folder untuk singel"},trackTitles:{title:"Judul lagu",padTracks:"Judul pad",paddingSize:"Timpa ukuran padding",illegalCharacterReplacer:"Pengubah Simbol Tak Terdukung"},downloads:{title:"Unduhan",queueConcurrency:"Unduhan Bersamaan",maxBitrate:{title:"Bitrate Prioritas",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Apakah file mau ditimpa?",y:"Ya, silakan",n:"Tidak, jangan ditimpa",t:"Timpa tag-nya saja"},fallbackBitrate:"Rendahkan bitrate",fallbackSearch:"Cari bitrate lebih rendah",logErrors:"Buat file log untuk galat",logSearched:"Buat file log untuk lagu yang dicari",createM3U8File:"Buat file daftar putar",syncedLyrics:"Buat file .lyr (Sinkronisasikan Lirik)",playlistFilenameTemplate:"Templat nama file untuk daftar putar",saveDownloadQueue:"Simpan antrian pengunduhan saat menutup aplikasi"},covers:{title:"Sampul album",saveArtwork:"Simpan Sampul",coverImageTemplate:"Templat nama sampul",saveArtworkArtist:"Simpan gambar artis",artistImageTemplate:"Templat gambar artis",localArtworkSize:"Ukuran sampul lokal",embeddedArtworkSize:"Ukuran sampul tertanam",localArtworkFormat:{title:"Format gambar apa yang kamu mau untuk sampul lokal?",jpg:"Gambar JPEG",png:"Gambar PNG",both:"Keduanya"},jpegImageQuality:"Kualitas gambar JPEG"},tags:{head:"Tag apa saja yang disimpan?",title:"Judul",artist:"Artis",album:"Album",cover:"Sampul",trackNumber:"Nomor Lagu",trackTotal:"Jumlah Lagu",discNumber:"Nomor Disk",discTotal:"Jumlah Disk",albumArtist:"Artis pada Album",genre:"Genre",year:"Tahun",date:"Tanggal",explicit:"Lirik Eksplisit",isrc:"ISRC",length:"Durasi",barcode:"Barcode Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label Album",lyrics:"Lirik Tak Tersinkronisasi",copyright:"Hak Cipta",composer:"Komposer",involvedPeople:"Orang-Orang Terlibat"},other:{title:"Lainnya",savePlaylistAsCompilation:"Simpan daftar putar sebagai kompilasi",useNullSeparator:"Gunakan separator null",saveID3v1:"Simpan juga ID3v1",multiArtistSeparator:{title:"Bagaimana kamu mau memisahkan nama artis?",nothing:"Simpan artis utamanya saja",default:"Gunakan spesifikasi standard",andFeat:"Gunakan & dan feat.",using:'Gunakan "{separator}"'},singleAlbumArtist:"Simpan artis utama saja",albumVariousArtists:'Simpan "Various Artists" sebagai artis',removeAlbumVersion:'Hapus "Versi Album" dari judul lagu',removeDuplicateArtists:"Hapus kombinasi artis",dateFormat:{title:"Format tanggal untuk file FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Apa yang harus dilakukan jika ada artis kedua?",0:"Biarkan saja",1:"Hapus dari judul lagu",3:"Hapus dari judul lagu dan judul album",2:"Pindahkan ke judul lagu"},titleCasing:"Kapitalisasi judul",artistCasing:"Kapitalisasi album",casing:{nothing:"Biarkan seadanya",lower:"huruf kecil",upper:"HURUF KAPITAL",start:"Setiap Awal Kata",sentence:"Huruf pertama saja"},previewVolume:"Pratinjau volume",executeCommand:{title:"Perintah yang dijalankan setelah pengunduhan",description:"Biarkan kosong jika tidak ada"}},spotify:{title:"Fitur Spotify",clientID:"clientID Spotify ",clientSecret:"Client Secret Spotify ",username:"Username Spotify"},reset:"Kembalikan ke Awal",save:"Simpan",toasts:{init:"Pengaturan dimuat!",update:"Pengaturan diperbarui!",ARLcopied:"ARL tersalin ke papan klip"}},sidebar:{home:"utama",search:"cari",charts:"tangga lagu",favorites:"favorit",linkAnalyzer:"penganalisa tautan",settings:"pengaturan",about:"tentang"},tracklist:{downloadSelection:"Seleksi unduhan"}},pt={globals:{welcome:"Bem-vindo ao deemix",back:"voltar",loading:"A carregar",download:"Transferir {thing}",by:"por {artist}",in:"em {album}",download_hint:"Transferir",play_hint:"Tocar",toggle_download_tab_hint:"Expandir/Recolher",clean_queue_hint:"Limpar Finalizados",cancel_queue_hint:"Cancelar Tudo",listTabs:{empty:"",all:"Tudo",top_result:"melhor resultado",album:"\xE1lbum | \xE1lbums",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amentos | {n} lan\xE7amento | {n} lan\xE7amento",playlist:"lista de reprodu\xE7\xE3o | listas de reprodu\xE7\xE3o",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"lista de reprodu\xE7\xE3o spotify | listas de reprodu\xE7\xE3o spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relat\xF3rio de erros",contributing:"Contribuir",donations:"Doa\xE7\xF5es",license:"Licen\xE7as"},subtitles:{bugReports:"Existe alguma coisa que n\xE3o funciona no deemix? Informa-nos!",contributing:"Queres contribuir para o projecto? Podes faz\xEA-lo de diferentes formas!",donations:"Desejas contribuir monetariamente? Faz uma doa\xE7\xE3o!"},usesLibrary:"Esta aplica\xE7\xE3o usa a biblioteca deemix, que poder\xE1s usar para desenvolver o teu proprio UI para o deemix.",thanks:"Agrade\xE7o a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o \xEDcone.",upToDate:{text:"Mantem-te atualizado seguindo o {newsChannel} no Telegram.",newsChannel:"canal de not\xEDcias"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio Oficial da Biblioteca",officialWebuiRepo:"Reposit\xF3rio Oficial WebUI",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solu\xE7\xE3o no {subreddit}. Caso n\xE3o encontres nada podes criar um post com a tua quest\xE3o no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportares um bug certifica-te que est\xE1s a correr a vers\xE3o mais recente e que o que queres reportar \xE9 mesmo um bug e n\xE3o algo que apenas n\xE3o funciona do teu lado.",beSure:"Certifica-te que o erro \xE9 reprodutivel noutros dispositivos e N\xC3O reportes um bug que j\xE1 tenha sido reportado.",duplicateReports:"Bug reports duplicados ser\xE3o fechados, mant\xE9m-te atento a isso.",dontOpenIssues:"N\xC3O abras issues para colocar quest\xF5es, existe um subreddit para isso.",newUI:{text:"Caso sejas fluente em python podes tentar criar um novo UI para a aplica\xE7\xE3o recorrendo \xE0 biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.",repo:"reposit\xF3rio"},acceptFeatures:"Tamb\xE9m aceito funcionalidades n\xE3o complexas caso possam ser implementadas directamente na app e n\xE3o na biblioteca.",otherLanguages:"Caso sejas fluente noutra linguagem de programa\xE7\xE3o podes tentar migrar o deemix para outra linguagem de programa\xE7\xE3o!",understandingCode:"Precisas de ajuda a entender o c\xF3digo? Acede a RemixDev no Telegram ou no Reddit.",contributeWebUI:{text:"Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.",webui:"WebUI"},itsFree:"Deves ter em conta que que este projecto \xE9 gratuito e dever\xE1s apoiar os artistas que aprecias antes de apoiares os programadores.",notObligated:"N\xE3o te sintas obrigado a doar, agrade\xE7o-te na mesma!",lincensedUnder:{text:"Este trabalho esta licenciado sobre a {gpl3}.",gpl3:"GNU Licen\xE7a publica geral 3.0"}},charts:{title:"Tabelas",changeCountry:"Alterar pa\xEDs",download:"Transferir tabela"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL n\xE3o reconhecido",unsupportedURL:"URL ainda n\xE3o suportado",ISRCnotOnDeezer:"Faixa ISRC n\xE3o dispon\xEDvel no deezer",notYourPrivatePlaylist:"Nao podes baixar listas de reprodu\xE7\xE3o privadas de outros.",spotifyDisabled:"Funcionalidades do Spotify n\xE3o est\xE3o definidas corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"\xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa n\xE3o encontrada no Deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e n\xE3o foi encontrada alternativa!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e n\xE3o foi encontrada alternativa!",no360RA:"Faixa n\xE3o dispon\xEDvel em Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e n\xE3o foi encontrada alternativa!"}},favorites:{title:"Favoritos",noPlaylists:"Listas de reprodu\xE7\xE3o n\xE3o encontradas",noAlbums:"\xC1lbuns favoritos n\xE3o encontrados",noArtists:"Artistas favoritos n\xE3o encontrados",noTracks:"Faixas favoritas n\xE3o encontradas"},home:{needTologin:"Antes de iniciar transfer\xEAncias \xE9 necess\xE1rio efectuar autentica\xE7\xE3o na conta Deezer.",openSettings:"Abrir Defini\xE7\xF5es",sections:{popularPlaylists:"Listas de reprodu\xE7\xE3o populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Podes usar esta sec\xE7\xE3o para obteres mais informa\xE7\xE3o sobre o link que est\xE1s a tentar transferir.",useful:"Isto \xE9 \xFAtil caso estejas a tentar transferir faixas que n\xE3o est\xE3o dispon\xEDveis no teu pa\xEDs e queres saber onde est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Este link ainda n\xE3o \xE9 suportado",linkNotSupportedYet:"Parece que este link ainda n\xE3o \xE9 suportado, tenta analisar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do disco",trackNumber:"N\xFAmero da faixa",releaseDate:"Data de lan\xE7amento",bpm:"BPM",label:"Editora",recordType:"Tipo de Disco",genres:"G\xE9neros",tracklist:"Lista de faixas"}},search:{startSearching:"Come\xE7a a pesquisar!",description:"Podes perquisar uma m\xFAsica, um \xE1lbum inteiro, um artista, uma lista de reprodu\xE7\xE3o... tudo! Tamb\xE9m podes colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Faixa n\xE3o encontrada",noResultsAlbum:"\xC1lbum n\xE3o encontrado",noResultsArtist:"Artista n\xE3o encontrado",noResultsPlaylist:"Lista de reprodu\xE7\xE3o n\xE3o encontrada"},searchbar:"Pesquisa o que quiseres (ou cola um link)",downloads:"transfer\xEAncias",toasts:{addedToQueue:"{item} adicionados \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} foi transferido.",allDownloaded:"Todas as transfer\xEAncias terminadas!",refreshFavs:"Actualizar terminados!",loggingIn:"A autenticar",loggedIn:"Autenticado",alreadyLogged:"J\xE1 est\xE1s autenticado",loginFailed:"Nao foi possivel iniciar sess\xE3o",loggedOut:"Desconectado",cancellingCurrentItem:"A cancelar item actual.",currentItemCancelled:"Item actual cancelado.",startAddingArtist:"A adicionar {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"Adicionados {artist} \xE1lbuns \xE0 fila",startConvertingSpotifyPlaylist:"A converter faixas do spotify em faixas do deezer",finishConvertingSpotifyPlaylist:"Lista de reprodu\xE7\xE3o do Spotify convertida."},settings:{title:"Defini\xE7\xF5es",languages:"Idioma",login:{title:"Inicio de Sess\xE3o",loggedIn:"Est\xE1s autenticado como {username}",arl:{question:"Como obter o meu ARL?",update:"Actualizar ARL"},logout:"Sair"},appearance:{title:"Aspecto",slimDownloadTab:"Aba de transfer\xEAncias estreita"},downloadPath:{title:"Caminho das transfer\xEAncias"},templates:{title:"Formatos",tracknameTemplate:"Formato do nome de faixa",albumTracknameTemplate:"Formato do nome de \xC1lbum",playlistTracknameTemplate:"Formato do nome de lista de reprodu\xE7\xE3o"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para lista de reprodu\xE7\xE3o",playlistNameTemplate:"Formato da pasta de lista de reprodu\xE7\xE3o",createArtistFolder:"Criar pasta para artista",artistNameTemplate:"Formato da pasta de artista",createAlbumFolder:"Criar pasta para \xE1lbum",albumNameTemplate:"Formato da pasta de \xE1lbum",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para listas reprodu\xE7\xE3o",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo",padTracks:"Bloco de Faixas",paddingSize:"Substituir tamanho do preenchimento",illegalCharacterReplacer:"Substituir caractere inv\xE1lido"},downloads:{title:"Transfer\xEAncias",queueConcurrency:"Transfer\xEAncias concorrentes",maxBitrate:{title:"Bitrate preferencial",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Ficheiros existentes. Substituir?",y:"Sim, substituir o ficheiro",n:"N\xE3o substituir o ficheiro",t:"Subescrever apenas as etiquetas"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Fallback de pesquisa",logErrors:"Criar hist\xF3rico para erros",logSearched:"Criar hist\xF3rico para faixas pesquisadas",createM3U8File:"Criar ficheiro de lista de reprodu\xE7\xE3o",syncedLyrics:"Criar ficheiro .lyr (Letra Sincronizada)",playlistFilenameTemplate:"Formato do nome de ficheiro da lista de reprodu\xE7\xE3o",saveDownloadQueue:"Guardar fila de transfer\xEAncias ao fechar a aplica\xE7\xE3o"},covers:{title:"Capas do \xC1lbum",saveArtwork:"Guardar capas",coverImageTemplate:"Modelo do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Modelo de imagem do artista",localArtworkSize:"Tamanho do trabalho art\xEDstico local",embeddedArtworkSize:"Tamanho do trabalho art\xEDstico incorporado",localArtworkFormat:{title:"Em que formato desejas o trabalho art\xEDstico local?",jpg:"Em imagem jpeg",png:"Em imagem png",both:"Em jpeg e em png"},jpegImageQuality:"Qualidade de imagem JPEG"},tags:{head:"Etiquetas a guardar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero de faixa",trackTotal:"Total de faixas",discNumber:"N\xFAmero do Disco",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xE9nero",year:"Ano",date:"Data",explicit:"Letra Expl\xEDcita",isrc:"ISRC",length:"Dura\xE7\xE3o da faixa",barcode:"C\xF3digo de barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Editora do \xE1lbum",lyrics:"Letra da m\xFAsica n\xE3o sincronizada",copyright:"Direitos de Autor",composer:"Compositor",involvedPeople:"Pessoas envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Guardar listas de reprodu\xE7\xE3o como compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Tamb\xE9m guardar ID3v1",multiArtistSeparator:{title:"Como queres separarar os artistas?",nothing:"Guardar apenas o artista principal",default:"Usar especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar apenas o artista principal do \xE1lbum",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato de data nos ficheiros FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas convidados/participa\xE7\xF5es?",0:"Nada",1:"Remover do t\xEDtulo",3:"Remover do t\xEDtulo e do t\xEDtulo do album",2:"Mov\xEA-lo para o t\xEDtulo"},titleCasing:"Caixa do T\xEDtulo",artistCasing:"Caixa do Artista",casing:{nothing:"Manter inalterado",lower:"minusculas",upper:"MAI\xDASCULAS",start:"In\xEDcio De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Volume de Pr\xE9-visualiza\xE7\xE3o",executeCommand:{title:"Comando a executar ap\xF3s transferir",description:"Deixar em branco para nenhuma ac\xE7\xE3o"}},spotify:{title:"Funcionalidades Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"nome de utilizador Spotify"},reset:"Repor configura\xE7\xF5es padr\xE3o",save:"Guardar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es actualizadas",ARLcopied:"ARL copiado para area de transferencia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"tabelas",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"defini\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Transferir seleccionados"}},pt_br={globals:{welcome:"bem vindo ao deemix",back:"voltar",loading:"carregando",download:"Baixar {thing}",by:"por {artist}",in:"em {album}",download_hint:"Baixar",play_hint:"Reproduzir",toggle_download_tab_hint:"Expandir/Diminuir",clean_queue_hint:"Limpar",cancel_queue_hint:"Cancelar Todos",listTabs:{empty:"",all:"todos",top_result:"resultado principal",album:"\xE1lbum | \xE1lbuns",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amento | {n} lan\xE7amento | {n} lan\xE7amentos",playlist:"playlist | playlists",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"playlist do spotify | playlists do spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relatar Bugs",contributing:"Contribui\xE7\xF5es",donations:"Doa\xE7\xF5es",license:"Licen\xE7a"},subtitles:{bugReports:"H\xE1 algo n\xE3o funcionando no deemix? Nos diga!",contributing:"Voc\xEA quer contribuir para este projeto? Voc\xEA pode fazer isso de diferentes maneiras!",donations:"Voc\xEA quer contribuir monetariamente? Voc\xEA pode fazer uma doa\xE7\xE3o!"},usesLibrary:"Esse app usa a biblioteca do deemix, no qual voc\xEA pode usar para criar sua pr\xF3pria UI para o deemix",thanks:"Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o \xEDcone",upToDate:{text:"Para mais novidades siga o {newsChannel} no Telegram.",newsChannel:"news channel"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio da Biblioteca Oficial",officialWebuiRepo:"Reposit\xF3rio da WebUI Oficial",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Se voc\xEA tiver d\xFAvidas ou problemas com o app, procure uma solu\xE7\xE3o em {subreddit} primeiro. Caso voc\xEA n\xE3o encontre, voc\xEA pode fazer um post explicando seu problema no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportar um bug, tenha certeza que voc\xEA est\xE1 rodando a vers\xE3o mais recente do app, e o que voc\xEA quer reportar seja realmente um bug e n\xE3o algo que esteja acontecendo especialmente com voc\xEA.",beSure:"Certifique-se que o bug \xE9 reproduzivel em outras m\xE1quinas e tamb\xE9m N\xC3O reporte um bug se ele j\xE1 foi reportado.",duplicateReports:"Reportes de bugs duplicados ser\xE3o fechados, ent\xE3o fique atento a isso.",dontOpenIssues:"N\xC3O abra t\xF3picos para fazer perguntas, h\xE1 o subreddit para isso.",newUI:{text:"Se voc\xEA \xE9 fluente em Phython, voc\xEA pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.",repo:"repo"},acceptFeatures:"Eu aceito funcionalidades extras tamb\xE9m, mas nada de coisas complexas, desde que ela possa ser implementada no app, e n\xE3o na biblioteca.",otherLanguages:"Se voc\xEA for fluente em outra linguagem de programa\xE7\xE3o, voc\xEA pode tentar portar o deemix para outra linguagem!",understandingCode:"Voc\xEA precisa de ajuda para entender o c\xF3digo? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.",contributeWebUI:{text:"Se voc\xEA souber Vue.js (JavaScript), HTML ou CSS voc\xEA pode contribuir para o {webui}.",webui:"WebUI"},itsFree:"Lembre-se que este projeto \xE9 livre e voc\xEA deve dar suporte aos artistas que voc\xEA ama antes de dar suporte aos desenvolvedores.",notObligated:"N\xE3o se sinta na obriga\xE7\xE3o de doar, eu agrade\xE7o de qualquer maneira!",lincensedUnder:{text:"Esse \xE9 um projeto licenciado atrav\xE9s da {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Mudar Pa\xEDs",download:"Download Chart"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL inv\xE1lida",unsupportedURL:"URL n\xE3o suportada ainda",ISRCnotOnDeezer:"Faixa ISRC n\xE3o est\xE1 dispon\xEDvel ainda no deezer",notYourPrivatePlaylist:"Voc\xEA n\xE3o pode baixar playlists privadas.",spotifyDisabled:"Os Recursos do Spotify n\xE3o foram configurados corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"Album not found on deezer! \xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa indispon\xEDvel no deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e sem alternativas encontradas!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e nenhuma outra alternativa encontrada!",no360RA:"Faixa n\xE3o dispon\xEDvel na qualidade Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e nenhuma outra alternativa encontrada!"}},favorites:{title:"Favoritos",noPlaylists:"Nenhuma Playlist encontrada",noAlbums:"Nenhum \xC1lbum Favorito encontrado",noArtists:"Nenhum Artista Favorito encontrado",noTracks:"Nenhuma Faixa Favorita encontrada"},home:{needTologin:"Voc\xEA precisa logar na sua conta do deezer antes de come\xE7ar a baixar m\xFAsicas.",openSettings:"Abrir Configura\xE7\xF5es",sections:{popularPlaylists:"Playlists Populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Voc\xEA pode usar essa se\xE7\xE3o para encontrar mais informa\xE7\xF5es sobre o link que voc\xEA quer baixar.",useful:"Isso \xE9 \xFAtil se voc\xEA est\xE1 tentando baixar algumas faixas que n\xE3o est\xE3o dispon\xEDveis no seu pa\xEDs, e quer saber onde elas est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Esse link n\xE3o \xE9 suportado ainda",linkNotSupportedYet:"Parece que esse link n\xE3o \xE9 suportado ainda, tente analizar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do Disco",trackNumber:"N\xFAmero da Faixa",releaseDate:"Data de Lan\xE7amento",bpm:"BPM",label:"Gravadora",recordType:"Tipo de Grava\xE7\xE3o",genres:"G\xEAneros",tracklist:"Tracklist"}},search:{startSearching:"Comece pesquisando!",description:"Voc\xEA pode pesquisar uma m\xFAsica, um \xE1lbum, um artista, uma playlist.... tudo! Voc\xEA tamb\xE9m pode colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Nenhuma Faixa encontrada",noResultsAlbum:"Nenhum \xC1lbum encontrado",noResultsArtist:"Nenhum Artista encontrado",noResultsPlaylist:"Nenhuma Playlist encontrada"},searchbar:"Pesquise algo (ou apenas cole um link)",downloads:"downloads",toasts:{addedToQueue:"{item} adicionado \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} download terminado.",allDownloaded:"Todos os downloads foram feitos!",refreshFavs:"Atualiza\xE7\xE3o completa!",loggingIn:"Logando",loggedIn:"Logado",alreadyLogged:"Voc\xEA j\xE1 est\xE1 logado",loginFailed:"N\xE3o foi possivel entrar",loggedOut:"Desconectando",cancellingCurrentItem:"Cancelando item atual.",currentItemCancelled:"Item atual cancelado.",startAddingArtist:"Adicionando {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"{artist} \xE1lbuns adicionados a fila",startConvertingSpotifyPlaylist:"Convertendo faixas do spotify para faixas do deezer",finishConvertingSpotifyPlaylist:"Playlists do Spotify convertidas"},settings:{title:"Configura\xE7\xF5es",languages:"Idiomas",login:{title:"Login",loggedIn:"Voc\xEA est\xE1 logado como {username}",arl:{question:"Como eu consigo o meu ARL?",update:"Atualizar ARL"},logout:"Sair"},appearance:{title:"Apar\xEAncia",slimDownloadTab:"Aba de download slim"},downloadPath:{title:"Diret\xF3rio de Downloads"},templates:{title:"Templates",tracknameTemplate:"Template do nome da faixa",albumTracknameTemplate:"Template da faixa do \xE1lbum",playlistTracknameTemplate:"Template da faixa da playlist"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para playlists",playlistNameTemplate:"Template da pasta de playlist",createArtistFolder:"Criar pasta para os artistas",artistNameTemplate:"Template da pasta de artistas",createAlbumFolder:"Criar pasta para \xE1lbuns",albumNameTemplate:"Template da pasta de \xE1lbuns",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para playlists",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo das faixas",padTracks:"Faixas com pad",paddingSize:"Sobrescrever tamanho do padding",illegalCharacterReplacer:"Substituir caracteres inv\xE1lidos"},downloads:{title:"Downloads",queueConcurrency:"Downloads Simult\xE2neos",maxBitrate:{title:"Escolher Taxa de Bits",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Sobrescrever arquivos?",y:"Sim, sobrescrever arquivos",n:"N\xE3o, n\xE3o sobrescrever arquivos",t:"Sobrescrever apenas as tags"},fallbackBitrate:"Taxa de bits reserva",fallbackSearch:"Procurar reserva",logErrors:"Criar arquivos de log para erros",logSearched:"Criar arquivos de log para faixas pesquisadas",createM3U8File:"Criar arquivo de playlist",syncedLyrics:"Criar arquivos .lyr (Letras)",playlistFilenameTemplate:"Template do nome do arquivo da playlist",saveDownloadQueue:"Salvar a fila de downloads quando fechar o app"},covers:{title:"Capa dos \xE1lbuns",saveArtwork:"Salvar capas",coverImageTemplate:"Template do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Template da imagem do artista",localArtworkSize:"Tamanho da capa local",embeddedArtworkSize:"Tamanho da capa embutida",localArtworkFormat:{title:"Qual o formato da imagem que voc\xEA quer para a capa local?",jpg:".jpeg",png:".png",both:"Ambas, .jpeg e .png"},jpegImageQuality:"Qualidade da imagem JPEG"},tags:{head:"Quais tags salvar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero da Faixa",trackTotal:"Total de Faixas",discNumber:"N\xFAmero de Discos",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xEAnero",year:"Ano",date:"Data",explicit:"Letras Expl\xEDcitas",isrc:"ISRC",length:"Tamanho da Faixa",barcode:"C\xF3digo de Barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Gravadora",lyrics:"Letras Dessincronizadas",copyright:"Copyright",composer:"Compositor",involvedPeople:"Pessoas Envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Salvar playlists como uma compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Salvar ID3v1",multiArtistSeparator:{title:"Como voc\xEA gostaria de separar os artistas?",nothing:"Salvar apenas o artista principal",default:"Usar a especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Salvar apenas o artista principal",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato da data para arquivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas participantes?",0:"Nada",1:"Remova do t\xEDtulo da faixa",3:"Remova do t\xEDtulo da faixa e do \xE1lbum",2:"Mover para o t\xEDtulo da faixa"},titleCasing:"Formata\xE7\xE3o do t\xEDtulo",artistCasing:"Formata\xE7\xE3o do artista",casing:{nothing:"Manter inalterado",lower:"min\xFAsculo",upper:"MAI\xDASCULO",start:"Come\xE7o De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Pr\xE9via do Volume",executeCommand:{title:"Comando para executar depois de baixar",description:"Deixe em branco para nenhuma a\xE7\xE3o"}},spotify:{title:"Recursos do Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"usu\xE1rio do Spotify"},reset:"Restaurar para o padr\xE3o",save:"Salvar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es atualizadas!",ARLcopied:"ARL copiada para a \xE1rea de transfer\xEAncia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"configura\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Baixar sele\xE7\xE3o"}},ru={globals:{welcome:"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 deemix",back:"\u043D\u0430\u0437\u0430\u0434",loading:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C {thing}",by:"{artist}",in:"\u0438\u0437 {album}",download_hint:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C",play_hint:"\u041F\u0440\u043E\u0441\u043B\u0443\u0448\u0430\u0442\u044C",toggle_download_tab_hint:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0421\u043A\u0440\u044B\u0442\u044C",clean_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u044B\u0435",cancel_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0451",open_downloads_folder:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043F\u043A\u0443 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",cut:"\u0432\u044B\u0440\u0435\u0437\u0430\u0442\u044C",copy:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",copyLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443",copyImageLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",copyDeezerLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 deezer",paste:"\u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C",listTabs:{empty:"",all:"\u0432\u0441\u0435",top_result:"\u043B\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",album:"\u0430\u043B\u044C\u0431\u043E\u043C | \u0430\u043B\u044C\u0431\u043E\u043C\u044B | \u0430\u043B\u044C\u0431\u043E\u043C\u044B",artist:"\u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438",single:"\u0441\u0438\u043D\u0433\u043B | \u0441\u0438\u043D\u0433\u043B\u044B | \u0441\u0438\u043D\u0433\u043B\u044B",title:"\u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",track:"\u0442\u0440\u0435\u043A | \u0442\u0440\u0435\u043A\u0438 | \u0442\u0440\u0435\u043A\u0438",trackN:"{n} \u0442\u0440\u0435\u043A | {n} \u0442\u0440\u0435\u043A\u0430 | {n} \u0442\u0440\u0435\u043A\u043E\u0432",releaseN:"{n} \u0440\u0435\u043B\u0438\u0437 | {n} \u0440\u0435\u043B\u0438\u0437\u0430 | {n} \u0440\u0435\u043B\u0438\u0437\u043E\u0432",playlist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",compile:"\u0441\u043F\u043B\u0438\u0442 | \u0441\u043F\u043B\u0438\u0442\u044B | \u0441\u043F\u043B\u0438\u0442\u044B",ep:"ep",bundle:"\u0431\u0430\u043D\u0434\u043B | \u0431\u0430\u043D\u0434\u043B\u044B | \u0431\u0430\u043D\u0434\u043B\u044B",more:"\u0411\u043E\u043B\u044C\u0448\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",featured:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0432",spotifyPlaylist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",error:"\u043E\u0448\u0438\u0431\u043A\u0430",albumN:"{n} \u0430\u043B\u044C\u0431\u043E\u043C | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u0430 | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",artistN:"{n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",playlistN:"{n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432"}},about:{updates:{currentVersion:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionNotAvailable:"\u041D/\u0414",updateAvailable:"\u0412\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043D\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E: {version}",deemixVersion:"\u0412\u0435\u0440\u0441\u0438\u044F \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 deemix"},titles:{usefulLinks:"\u041F\u043E\u043B\u0435\u0437\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438",bugReports:"\u041E\u0442\u0447\u0451\u0442\u044B \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445",contributing:"\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u0440\u043E\u0435\u043A\u0442\u0443",donations:"\u041F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F",license:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F"},subtitles:{bugReports:"\u0427\u0442\u043E-\u0442\u043E \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442? \u0421\u043E\u043E\u0431\u0449\u0438\u0442\u0435 \u043D\u0430\u043C!",contributing:"\u0425\u043E\u0442\u0438\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u0430\u043C\u0438!",donations:"\u0425\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u043E? \u041C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u0435!"},usesLibrary:"\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 deemix, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 UI \u0434\u043B\u044F deemix.",thanks:"\u0421\u043F\u0430\u0441\u0438\u0431\u043E rtonno, uhwot \u0438 lollilol \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u044C \u0441 \u044D\u0442\u0438\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u043C, \u0430 \u0442\u0430\u043A\u0436\u0435 BasCurtiz \u0437\u0430 \u0438\u043A\u043E\u043D\u043A\u0443.",upToDate:{text:"\u0421\u043B\u0435\u0434\u0438\u0442\u0435 \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u043C\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F\u043C\u0438 \u043D\u0430 {newsChannel} \u0432 Telegram.",newsChannel:"\u043A\u0430\u043D\u0430\u043B\u0435"},officialWebsite:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0439\u0442",officialRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438",officialWebuiRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 WebUI",officialSubreddit:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442",newsChannel:"\u041A\u0430\u043D\u0430\u043B \u043D\u043E\u0432\u043E\u0441\u0442\u0435\u0439",questions:{text:"\u0415\u0441\u043B\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043E\u0437\u043D\u0438\u043A\u043B\u0438 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0441 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u0438\u0449\u0438\u0442\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 {subreddit}. \u0415\u0441\u043B\u0438 \u043D\u0435 \u043D\u0430\u0448\u043B\u0438 \u0440\u0435\u0448\u0435\u043D\u0438\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u043E\u0441\u0442 \u0438 \u043E\u043F\u0438\u0441\u0430\u0442\u044C \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443.",subreddit:"\u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442\u0435"},beforeReporting:"\u041F\u0435\u0440\u0435\u0434 \u0442\u0435\u043C, \u043A\u0430\u043A \u0441\u043E\u043E\u0431\u0449\u0430\u0442\u044C \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0438 \u0447\u0442\u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043D\u0435 \u043D\u0430 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435.",beSure:"\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E\u0437\u043D\u0438\u043A\u0430\u0435\u0442 \u0438 \u043D\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u0445. \u0422\u0430\u043A\u0436\u0435 \u041D\u0415 \u0441\u043E\u043E\u0431\u0449\u0430\u0439\u0442\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435, \u0435\u0441\u043B\u0438 \u043F\u0440\u043E \u043D\u0435\u0451 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E.",duplicateReports:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445 \u0440\u0430\u0441\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435 \u0431\u0443\u0434\u0443\u0442.",dontOpenIssues:"\u041D\u0415 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0434\u043B\u044F \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0430\u0432\u0442\u043E\u0440\u0443, \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0435\u0441\u0442\u044C \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442.",newUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 python, \u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 UI \u0434\u043B\u044F \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0438\u043B\u0438 \u043F\u043E\u0444\u0438\u043A\u0441\u0438\u0442\u044C \u0432 \u043D\u0435\u0439 \u0431\u0430\u0433\u0438 \u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C pull request \u0432 {repo}.",repo:"\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438"},acceptFeatures:"\u041C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438, \u043D\u043E \u043D\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0441\u043B\u043E\u0436\u043D\u044B\u0435, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435, \u0430 \u043D\u0435 \u0432 \u0441\u0430\u043C\u0443 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443.",otherLanguages:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u043D\u0451\u043C deemix!",understandingCode:"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u0442\u044C\u0441\u044F \u0432 \u043A\u043E\u0434\u0435? \u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 RemixDev \u0432 Telegram \u0438\u043B\u0438 \u043D\u0430 Reddit.",contributeWebUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0437\u043D\u0430\u0435\u0442\u0435 Vue.js (JavaScript), HTML \u0438\u043B\u0438 CSS, \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 {webui}.",webui:"WebUI"},itsFree:"\u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0432\u0430\u043C \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u043F\u043E\u043D\u0440\u0430\u0432\u0438\u0432\u0448\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043F\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043C \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u043E\u0432.",notObligated:"\u0412\u044B \u043D\u0435 \u043E\u0431\u044F\u0437\u0430\u043D\u044B \u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F, \u044F \u0432\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0432\u0430\u0441 \u0446\u0435\u043D\u044E!",lincensedUnder:{text:"\u041F\u0440\u043E\u0435\u043A\u0442 \u0440\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0434 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u0427\u0430\u0440\u0442\u044B",changeCountry:"\u0421\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0443",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0440\u0442"},errors:{title:"\u041E\u0448\u0438\u0431\u043A\u0438 {name}",ids:{invalidURL:"URL \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D",unsupportedURL:"URL \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",ISRCnotOnDeezer:"ISRC \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer",notYourPrivatePlaylist:"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0447\u0443\u0436\u0438\u0435 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B.",spotifyDisabled:"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B Spotify.",trackNotOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",albumNotOnDeezer:"\u0410\u043B\u044C\u0431\u043E\u043C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",notOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer!",notEncoded:"\u0422\u0440\u0435\u043A \u0435\u0449\u0451 \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D!",notEncodedNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D, \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",wrongBitrate:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435.",wrongBitrateNoAlternative:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",no360RA:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 Reality Audio 360.",notAvailable:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer!",notAvailableNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",noSpaceLeft:"\u041D\u0430 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u043D\u0435 \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430!",albumDoesntExists:"\u0410\u043B\u044C\u0431\u043E\u043C\u0430 \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043D\u0435 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0430"}},favorites:{title:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",noPlaylists:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noAlbums:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noArtists:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noTracks:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0442\u0440\u0435\u043A\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B"},home:{needTologin:"\u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u043E\u0439\u0442\u0438 \u043F\u043E\u0434 \u0441\u0432\u043E\u0435\u0439 \u0443\u0447\u0435\u0442\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u044C\u044E Deezer, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C.",openSettings:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",sections:{popularPlaylists:"\u041F\u043E\u043F\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",popularAlbums:"\u0421\u0430\u043C\u044B\u0435 \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B"}},linkAnalyzer:{info:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u044D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B, \u0447\u0442\u043E\u0431\u044B \u0443\u0437\u043D\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043E \u0441\u0441\u044B\u043B\u043A\u0435, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0441\u043A\u0430\u0447\u0430\u0442\u044C.",useful:"\u042D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B \u043D\u0443\u0436\u0435\u043D, \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0442\u0440\u0435\u043A\u0438, \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C, \u0433\u0434\u0435 \u043E\u043D\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B.",linkNotSupported:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",linkNotSupportedYet:"\u042D\u0442\u0430 \u0441\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0434\u0440\u0443\u0433\u0443\u044E.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",diskNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",bpm:"BPM",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",recordType:"\u0422\u0438\u043F",genres:"\u0416\u0430\u043D\u0440",tracklist:"\u0422\u0440\u0435\u043A\u043B\u0438\u0441\u0442"}},search:{startSearching:"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0438\u0441\u043A\u0430\u0442\u044C!",description:"\u0417\u0434\u0435\u0441\u044C \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0439\u0442\u0438 \u0442\u0440\u0435\u043A, \u0430\u043B\u044C\u0431\u043E\u043C, \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F, \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442... \u0432\u0441\u0451! \u041C\u043E\u0436\u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 Deezer",fans:"{n} \u043F\u043E\u043A\u043B\u043E\u043D\u043D\u0438\u043A\u043E\u0432",noResults:"\u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432",noResultsTrack:"\u0422\u0440\u0435\u043A\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsAlbum:"\u0410\u043B\u044C\u0431\u043E\u043C\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsPlaylist:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E"},searchbar:"\u0418\u0449\u0438\u0442\u0435, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 (\u0438\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0441\u0441\u044B\u043B\u043A\u0443)",downloads:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",toasts:{restoringQueue:"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0447\u0435\u0440\u0435\u0434\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",queueRestored:"\u041E\u0447\u0435\u0440\u0435\u0434\u044C \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430!",addedToQueue:"{item} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",addedMoreToQueue:"{n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",alreadyInQueue:"{item} \u0443\u0436\u0435 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u0438!",finishDownload:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 {item} \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430.",allDownloaded:"\u0412\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u044B!",refreshFavs:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E!",loggingIn:"\u0412\u0445\u043E\u0434...",loggedIn:"\u0412\u0445\u043E\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",alreadyLogged:"\u0412\u0445\u043E\u0434 \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loginFailed:"\u0412\u0445\u043E\u0434 \u043D\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loggedOut:"\u0412\u044B \u0432\u044B\u0448\u043B\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430",cancellingCurrentItem:"\u041E\u0442\u043C\u0435\u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",currentItemCancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E.",startAddingArtist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432 {artist} \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishAddingArtist:"\u0410\u043B\u044C\u0431\u043E\u043C\u044B {artist} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",startConvertingSpotifyPlaylist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 Spotify \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishConvertingSpotifyPlaylist:"Spotify \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",loginNeededToDownload:"\u0412\u043E\u0439\u0434\u0438\u0442\u0435 \u0432 \u0430\u043A\u043A\u0430\u0443\u043D\u0442, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0442\u0440\u0435\u043A\u0438!",deezerNotAvailable:"Deezer \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 VPN.",startGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",finishGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A."},settings:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",languages:"\u042F\u0437\u044B\u043A",login:{title:"\u0412\u0445\u043E\u0434",loggedIn:"\u0412\u044B \u0432\u043E\u0448\u043B\u0438 \u043A\u0430\u043A {username}",arl:{question:"\u041A\u0430\u043A \u0443\u0437\u043D\u0430\u0442\u044C \u0441\u0432\u043E\u0439 ARL?",update:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C ARL"},logout:"\u0412\u044B\u0439\u0442\u0438",login:"\u0412\u043E\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 deezer.com"},appearance:{title:"\u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434",slimDownloadTab:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",slimSidebar:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u043B\u0435\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C"},downloadPath:{title:"\u041F\u0443\u0442\u044C \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F"},templates:{title:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B",tracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",albumTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",playlistTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430"},folders:{title:"\u041F\u0430\u043F\u043A\u0438",createPlaylistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",playlistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",createArtistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",createAlbumFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",createCDFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F CD",createStructurePlaylist:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",createSingleFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u0441\u0438\u043D\u0433\u043B\u043E\u0432"},trackTitles:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u043E\u0432",padTracks:"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043D\u043E\u043B\u044C \u043A \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0442\u0440\u0435\u043A\u043E\u0432 (01, 02, ...)",paddingSize:"\u041A\u043E\u043B-\u0432\u043E \u0446\u0438\u0444\u0440 \u0432 \u043D\u043E\u043C\u0435\u0440\u0435",illegalCharacterReplacer:"\u0417\u0430\u043C\u0435\u043D\u0430 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u0438\u043C\u0435\u043D\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},downloads:{title:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0438",queueConcurrency:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",maxBitrate:{title:"\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u0439 \u0431\u0438\u0442\u0440\u0435\u0439\u0442",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u041D\u0443\u0436\u043D\u043E \u043B\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B?",y:"\u0414\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0444\u0430\u0439\u043B",n:"\u041D\u0435\u0442, \u043D\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C",t:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u0433\u0438",b:"\u041D\u0435\u0442, \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0430 \u0444\u0430\u0439\u043B\u0430 \u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u043C\u0435\u0440 \u043A \u0434\u0443\u0431\u043B\u0438\u043A\u0430\u0442\u0443",e:"\u041D\u0435\u0442, \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F"},fallbackBitrate:"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441 \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u043E\u043C \u043D\u0438\u0436\u0435, \u0435\u0441\u043B\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",fallbackSearch:"\u0418\u0441\u043A\u0430\u0442\u044C \u043F\u043E\u0445\u043E\u0436\u0438\u0439 \u0442\u0440\u0435\u043A, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",logErrors:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433\u0438 \u043E\u0448\u0438\u0431\u043E\u043A",logSearched:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430",createM3U8File:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",syncedLyrics:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C .lyr \u0444\u0430\u0439\u043B\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u043B\u0438\u0440\u0438\u043A\u0430)",playlistFilenameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",saveDownloadQueue:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043E\u0447\u0435\u0440\u0435\u0434\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u043F\u0440\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},covers:{title:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtwork:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u043E\u0431\u043B\u043E\u0436\u043A\u0438",coverImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtworkArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",localArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",embeddedArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0439 \u0432 \u0442\u0435\u0433\u0438 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",localArtworkFormat:{title:"\u0412 \u043A\u0430\u043A\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0431\u043B\u043E\u0436\u043A\u0438?",jpg:"jpeg",png:"png",both:"jpeg \u0438 png"},jpegImageQuality:"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E JPEG",embeddedArtworkPNG:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0443\u044E \u043E\u0431\u043B\u043E\u0436\u043A\u0443 \u0432 PNG",embeddedPNGWarning:"PNG \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0431\u0430\u0433\u0438",imageSizeWarning:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438 \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0432\u044B\u0448\u0435 x1200 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",coverDescriptionUTF8:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043E\u0431\u043B\u043E\u0436\u043A\u0438 \u0432 UTF8 (iTunes Fix)"},tags:{head:"\u041A\u0430\u043A\u0438\u0435 \u0442\u0435\u0433\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C",title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",artist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C",album:"\u0410\u043B\u044C\u0431\u043E\u043C",cover:"\u041E\u0431\u043B\u043E\u0436\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",trackTotal:"\u041A\u043E\u043B-\u0432\u043E \u0442\u0440\u0435\u043A\u043E\u0432",discNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",discTotal:"\u041A\u043E\u043B-\u0432\u043E \u0434\u0438\u0441\u043A\u043E\u0432",albumArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0430\u043B\u044C\u0431\u043E\u043C\u0430",genre:"\u0416\u0430\u043D\u0440",year:"\u0413\u043E\u0434",date:"\u0414\u0430\u0442\u0430",explicit:"\u041C\u0435\u0442\u043A\u0430 \u043E \u043D\u0435\u0446\u0435\u043D\u0437\u0443\u0440\u043D\u043E\u0439 \u043B\u0435\u043A\u0441\u0438\u043A\u0435",isrc:"\u041D\u043E\u043C\u0435\u0440 \u0437\u0430\u043F\u0438\u0441\u0438 (ISRC)",length:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",barcode:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u0434 \u0430\u043B\u044C\u0431\u043E\u043C\u0430 (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",lyrics:"\u0422\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",syncedLyrics:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D. \u0442\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",copyright:"\u041F\u0440\u0430\u0432\u0430 (\u043A\u043E\u043F\u0438\u0440\u0430\u0439\u0442)",composer:"\u041A\u043E\u043C\u043F\u043E\u0437\u0438\u0442\u043E\u0440",involvedPeople:"\u0412\u043E\u0432\u043B\u0435\u0447\u0451\u043D\u043D\u044B\u0435 \u043B\u044E\u0434\u0438",source:"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438 ID \u043F\u0435\u0441\u043D\u0438"},other:{title:"\u0420\u0430\u0437\u043D\u043E\u0435",savePlaylistAsCompilation:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043A\u0430\u043A \u0441\u0431\u043E\u0440\u043D\u0438\u043A\u0438",useNullSeparator:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C null \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044F",saveID3v1:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C ID3v1",multiArtistSeparator:{title:"\u041A\u0430\u043A \u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439?",nothing:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E",default:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0443\u044E \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044E",andFeat:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F & \u0438 feat.",using:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F "{separator}"'},singleAlbumArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumVariousArtists:'\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C "Various Artists" \u0432 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u0445 \u0430\u043B\u044C\u0431\u043E\u043C\u0430',removeAlbumVersion:'\u0423\u0434\u0430\u043B\u0438\u0442\u044C "Album Version" \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430',removeDuplicateArtists:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",dateFormat:{title:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B \u0434\u043B\u044F FLAC \u0444\u0430\u0439\u043B\u043E\u0432",year:"\u0413\u0413\u0413\u0413",month:"\u041C\u041C",day:"\u0414\u0414"},featuredToTitle:{title:"\u0427\u0442\u043E \u0434\u0435\u043B\u0430\u0442\u044C \u0441 \u043F\u0440\u0438\u0433\u043B\u0430\u0448\u0451\u043D\u043D\u044B\u043C\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u043C\u0438 (feat.)?",0:"\u041D\u0438\u0447\u0435\u0433\u043E",1:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",3:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",2:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0442\u0440\u0435\u043A\u0430"},titleCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F",artistCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",casing:{nothing:"\u041D\u0435 \u043C\u0435\u043D\u044F\u0442\u044C",lower:"\u0432 \u043D\u0438\u0436\u043D\u0435\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435",upper:"\u0412 \u0412\u0415\u0420\u0425\u041D\u0415\u041C \u0420\u0415\u0413\u0418\u0421\u0422\u0420\u0415",start:"\u041A\u0430\u0436\u0434\u043E\u0435 \u0421\u043B\u043E\u0432\u043E \u0421 \u0417\u0430\u0433\u043B\u0430\u0432\u043D\u043E\u0439 \u0411\u0443\u043A\u0432\u044B",sentence:"\u041A\u0430\u043A \u0432 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0438"},previewVolume:"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u043D\u0438\u044F",executeCommand:{title:"\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",description:"\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0435\u0441\u043B\u0438 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F"}},spotify:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"\u041A\u0430\u043A \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438 Spotify?"},reset:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",toasts:{init:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B!",update:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B!",ARLcopied:"ARL \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430"}},sidebar:{home:"\u0433\u043B\u0430\u0432\u043D\u0430\u044F",search:"\u043F\u043E\u0438\u0441\u043A",charts:"\u0447\u0430\u0440\u0442\u044B",favorites:"\u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",linkAnalyzer:"\u0430\u043D\u0430\u043B\u0438\u0437 \u0441\u0441\u044B\u043B\u043E\u043A",settings:"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",about:"\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0435"},tracklist:{downloadSelection:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435"}},tr={globals:{welcome:"Deemix'e ho\u015F geldin.",back:"geri",loading:"y\xFCkleniyor",download:"\u0130ndir {thing}",by:"{artist} taraf\u0131ndan",in:"{album} i\xE7inde",download_hint:"\u0130ndir",play_hint:"Oynat",toggle_download_tab_hint:"Geni\u015Flet/Daralt",clean_queue_hint:"Tamamlananlar\u0131 Temizle",cancel_queue_hint:"Hepsini ",listTabs:{empty:"",all:"T\xFCm\xFC",top_result:"top result",album:"alb\xFCm | alb\xFCmler",artist:"sanat\xE7\u0131 | sanat\xE7\u0131lar",single:"single | singlelar",title:"ba\u015Fl\u0131k | ba\u015Fl\u0131klar",track:"Par\xE7a | Par\xE7alar",trackN:"0 par\xE7a | {n} par\xE7a | {n} par\xE7a",releaseN:"0 yay\u0131nlanan | {n} yay\u0131nlanan | {n} yay\u0131nlanan",playlist:"oynatma listesi | oynatma listeleri",compile:"derleme | derlemeler",ep:"kay\u0131t | kay\u0131tlar",spotifyPlaylist:"spotify oynatma listesi | oynatma listeleri",releaseDate:"yay\u0131nlanma tarihi",error:"hata"}},about:{titles:{usefulLinks:"Yararl\u0131 Ba\u011Flant\u0131lar",bugReports:"Hata Raporlar\u0131",contributing:"Katk\u0131 Sa\u011Flayanlar",donations:"Ba\u011F\u0131\u015Flar",license:"Lisans"},subtitles:{bugReports:"Deemix'te \xE7al\u0131\u015Fmayan bir \u015Fey mi var?, Bize bildirin!",contributing:"Projeye katk\u0131 sa\u011Flamak m\u0131 istiyorsun? Farkl\u0131 yollardan sa\u011Flayabilirsin!",donations:"B\xFCt\xE7e yard\u0131m\u0131 m\u0131 yapmak istiyorsun? Ba\u011F\u0131\u015F yapabilirsin!"},usesLibrary:"deemix kendi kullan\u0131c\u0131 arabiriminizi olu\u015Fturabilece\u011Finiz, kendine \xF6zg\xFC k\xFCt\xFCphanesini kullan\u0131yor.",thanks:" rtonno, uhwot ve lollilol'a bu projeye yapt\u0131\u011F\u0131 katk\u0131lardan ve BasCurtiz'e ikonlardan dolay\u0131 te\u015Fekk\xFCr ederim.",upToDate:{text:"{newsChannel} takip ederek g\xFCncellemelerden haberdar olun.",newsChannel:"Telegramdaki haber kanal\u0131n\u0131"},officialWebsite:"\u0130lgili \u0130nternet Sitemiz",officialRepo:"\u0130lgili K\xFCt\xFCphanemiz",officialWebuiRepo:"\u0130lgili Web Kullan\u0131c\u0131 Aray\xFCz\xFC K\xFCt\xFCphanemiz.",officialSubreddit:"\u0130lgili Subreddit adresimiz",newsChannel:"Haber Kanal\u0131",questions:{text:"E\u011Fer uygulama ile ilgili sorular\u0131n\u0131z veya bir probleminiz varsa,ilk \xF6nce {subreddit} sorununuzu aray\u0131n. E\u011Fer bir \u015Fey bulamazsan\u0131z, sorununuz ile ilgili bir g\xF6nderi payla\u015Fabilirsiniz.",subreddit:"subreddit adresinden"},beforeReporting:"Bir hatay\u0131 bildirmeden \xF6nce, uygulaman\u0131n son s\xFCr\xFCm\xFCnde oldu\u011Funuza veya sorunun sizden kaynakl\u0131 olmay\u0131p bir hata oldu\u011Funa emin olduktan sonra emin olun.",beSure:"Hatan\u0131n ba\u015Fka cihazlarda da oldu\u011Funu do\u011Frulay\u0131n ve Bildirilen bir hatay\u0131 tekrar bildirmeyin.",duplicateReports:"Birbirinin ayn\u0131s\u0131 olan hata bildirileri kapat\u0131lacakt\u0131r, o y\xFCzden dikkatli olun.",dontOpenIssues:"Soru sormak i\xE7in hata bildirisi yollamay\u0131n, bunun i\xE7in bir subreddit adresimiz var.",newUI:{text:"E\u011Fer Phython kullanmakta iyiysen, ana k\xFCt\xFCphaneyi kullanan bir kullan\u0131c\u0131 aray\xFCz\xFC yapmay\u0131 deneyebilir, veya k\xFCt\xFCphanedeki hatalar\u0131 d\xFCzeltmek i\xE7in {repo}.",repo:"deposuna de\u011Fi\u015Fiklik iste\u011Fi yollayabilirsin"},acceptFeatures:"Yeni \xF6zellikleri de kabul ediyorum, fakat kar\u0131\u015F\u0131k \u015Feyleri k\xFCt\xFCphaneye de\u011Fil uygulamaya eklendi\u011Fi i\xE7in kabul edemiyorum.",otherLanguages:"E\u011Fer di\u011Fer programlama dillerinde kendine g\xFCveniyorsan, deemix'i farkl\u0131 dillere port etmeye \xE7al\u0131\u015Fabilirsin!",understandingCode:"Kodu anlamak i\xE7in yard\u0131m m\u0131 laz\u0131m? Reddit \xFCzerinden veya Telegramdan RemixDev'e ula\u015F.",contributeWebUI:{text:"E\u011Fer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.",webui:"Web Kullan\u0131c\u0131 Aray\xFCz\xFCne katk\u0131da bulanabilirsin"},itsFree:"Bunun \xFCcretsiz bir proje oldu\u011Funu ve geli\u015Ftiricilerden \xF6nce sevdi\u011Finiz sanat\xE7\u0131lar\u0131 desteklemeniz gerekti\u011Fini unutmay\u0131n.",notObligated:"Kendinizi ba\u011F\u0131\u015F yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!",lincensedUnder:{text:"Bu \xE7al\u0131\u015Fma lisansl\u0131d\u0131r: {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Grafikler",changeCountry:"\xDClke De\u011Fi\u015Ftir",download:"Grafi\u011Fi \u0130ndir"},errors:{title:"{name} Hatal\u0131 bulundu",ids:{invalidURL:"URL ge\xE7ersiz.",unsupportedURL:"URL \u015Fimdilik desteklenmiyor",ISRCnotOnDeezer:"ISRC par\xE7a deezerda bulunmuyor",notYourPrivatePlaylist:"Ba\u015Fkalar\u0131n\u0131n \xF6zel oynatma listelerini indiremezsin.",spotifyDisabled:"Spotify \xD6zellikleri do\u011Fru \u015Fekilde ayarlanmam\u0131\u015F.",trackNotOnDeezer:"Par\xE7a Deezer'da bulunamad\u0131!",albumNotOnDeezer:"Alb\xFCm Deezer'da bulunamad\u0131!",notOnDeezer:"Par\xE7a Deezer'da yok!",notEncoded:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi!",notEncodedNoAlternative:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi ve alternatifi bulunamad\u0131!",wrongBitrate:"Par\xE7a, istenen kalitede bulunamad\u0131!",wrongBitrateNoAlternative:"Par\xE7a veya alternatifler istenen kalitede bulunamad\u0131!",no360RA:"Par\xE7a 360 Derece ger\xE7ek\xE7i ses olarak bulunamad\u0131!",notAvailable:"Par\xE7a Deezer sunucular\u0131nda bulunamad\u0131!",notAvailableNoAlternative:"Par\xE7a veya Alternatifleri Deezer sunucular\u0131nda bulunamad\u0131.!"}},favorites:{title:"Favoriler",noPlaylists:"Oynatma listesi bulunamad\u0131.",noAlbums:"Favori alb\xFCmler bulunamad\u0131.",noArtists:"Favori sanat\xE7\u0131lar bulunamad\u0131.",noTracks:"Favori par\xE7alar bulunamad\u0131."},home:{needTologin:"\u0130ndirmeden \xF6nce Deezer hesab\u0131na giri\u015F yapmal\u0131s\u0131n.",openSettings:"Ayarlar\u0131 A\xE7",sections:{popularPlaylists:"Pop\xFCler Oynatma Listeleri",popularAlbums:"En \xE7ok dinlenen alb\xFCmler"}},linkAnalyzer:{info:"\u0130ndirmeye \xE7al\u0131\u015Ft\u0131\u011F\u0131n link hakk\u0131nda daha fazla bilgi i\xE7in buray\u0131 kullanabilirsin.",useful:"Mesela, \xFClkende dinlenebilir olmayan par\xE7alar\u0131n nerelerde var oldu\u011Funu bulmak i\xE7in kullanabilirsin.",linkNotSupported:"Bu link \u015Fimdilik desteklenmemektedir.",linkNotSupportedYet:"Bu link \u015Fimdilik desteklenmiyor gibi duruyor, ba\u015Fkas\u0131n\u0131 analiz etmeyi dene.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"S\xFCre",diskNumber:"S\u0131ra numaras\u0131",trackNumber:"Par\xE7a numaras\u0131",releaseDate:"Yay\u0131nlanma tarihi",bpm:"BPM",label:"Etiketi",recordType:"Kay\u0131t \u015Eekli",genres:"T\xFCr\xFC",tracklist:"Par\xE7a listesi"}},search:{startSearching:"Aramay\u0131 Ba\u015Flat!",description:"Bir par\xE7ay\u0131, t\xFCm alb\xFCm\xFC, bir sanat\xE7\u0131y\u0131, bir oynatma listesini... k\u0131saca her \u015Feyi aratabilirsin! Ayr\u0131ca Deezer Linki de yap\u0131\u015Ft\u0131rabilirsin!",fans:"{n} Hayranlar",noResults:"Sonu\xE7 Bulunamad\u0131",noResultsTrack:"Par\xE7a bulunamad\u0131",noResultsAlbum:"Alb\xFCm bulunamad\u0131",noResultsArtist:"Sanat\xE7\u0131 bulunamad\u0131",noResultsPlaylist:"Oynatma Listesi bulunamad\u0131"},searchbar:"\u0130stedi\u011Fin bir \u015Feyi arat (ya da bir link yap\u0131\u015Ft\u0131r.)",downloads:"\u0130ndirilenler",toasts:{addedToQueue:"{item} kuyru\u011Fa eklendi",alreadyInQueue:"{item} \xE7oktan kuyrukta!",finishDownload:"{item} indirmesi tamamland\u0131.",allDownloaded:"T\xFCm indirmeler tamamland\u0131!",refreshFavs:"Yenileme tamamland\u0131.!",loggingIn:"Giri\u015F yap\u0131l\u0131yor",loggedIn:"Giri\u015F yap\u0131ld\u0131",alreadyLogged:"\xC7oktan giri\u015F yap\u0131ld\u0131",loginFailed:"Giri\u015F yap\u0131lamad\u0131",loggedOut:"Oturum kapat\u0131ld\u0131.",cancellingCurrentItem:"Ge\xE7erli \xF6\u011Fe iptal ediliyor.",currentItemCancelled:"Ge\xE7erli \xF6\u011Fe iptal edildi.",startAddingArtist:"{artist} alb\xFCm kuyru\u011Fa ekleniyor",finishAddingArtist:"{artist} alb\xFCm kuyru\u011Fa eklendi.",startConvertingSpotifyPlaylist:"Spotify par\xE7alar\u0131 deezer par\xE7alar\u0131na d\xF6n\xFC\u015Ft\xFCr\xFCl\xFCyor.",finishConvertingSpotifyPlaylist:"Spotify oynatma listesi d\xF6n\xFC\u015Ft\xFCr\xFCld\xFC."},settings:{title:"Ayarlar",languages:"Diller",login:{title:"Giri\u015F",loggedIn:"{username} olarak giri\u015F yapt\u0131n.",arl:{question:"Kendi ARL'mi nas\u0131l al\u0131r\u0131m?",update:"ARL g\xFCncelle."},logout:"\xC7\u0131k\u0131\u015F"},appearance:{title:"G\xF6r\xFCn\xFCm",slimDownloadTab:"\u0130nce indirme sekmesi"},downloadPath:{title:"\u0130ndirilen dizin"},templates:{title:"\u015Eablonlar",tracknameTemplate:"Par\xE7a ismi \u015Fablonu",albumTracknameTemplate:"Alb\xFCm par\xE7as\u0131 \u015Fablonu",playlistTracknameTemplate:"Oynatma listesi par\xE7a \u015Fablonu"},folders:{title:"Dosyalar",createPlaylistFolder:"Oynatma listesi i\xE7in dosya olu\u015Ftur",playlistNameTemplate:"Oynatma listesi dosyas\u0131 \u015Fablonu",createArtistFolder:"Sanat\xE7\u0131 i\xE7in dosya olu\u015Ftur",artistNameTemplate:"Sanat\xE7\u0131 dosyas\u0131 \u015Fablonu",createAlbumFolder:"Alb\xFCm i\xE7in dosya olu\u015Ftur",albumNameTemplate:"Alb\xFCm dosyas\u0131 \u015Fablonu",createCDFolder:"CDler i\xE7in dosya olu\u015Ftur",createStructurePlaylist:"Oynatma listeleri i\xE7in dosya k\xF6k\xFC olu\u015Ftur",createSingleFolder:"Singlelar i\xE7in dosya k\xF6k\xFC olu\u015Ftur"},trackTitles:{title:"Par\xE7a ba\u015Fl\u0131klar\u0131",padTracks:"\u0130z Numaralar\u0131",paddingSize:"\u0130z Numaralar\u0131n\u0131 de\u011Fi\u015Ftir",illegalCharacterReplacer:"Illegal Karakter D\xFCzenleyici"},downloads:{title:"\u0130ndirilenler",queueConcurrency:"Devam eden indirmeler",maxBitrate:{title:"Tercih edilmi\u015F Bitrateler (kaliteler)",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dosyalar\u0131n \xFCst\xFCne yazmal\u0131 m\u0131y\u0131m?",y:"Evet, \xFCst\xFCne yaz",n:"Hay\u0131r, \xFCst\xFCne yazma",t:"Sadece izleri \xFCst\xFCne yaz"},fallbackBitrate:"Bitrate d\xFC\u015F\xFCrme",fallbackSearch:"D\xFC\u015F\xFCrme ara",logErrors:"Hatalar i\xE7in g\xFCnl\xFCk tut",logSearched:"Aranm\u0131\u015F par\xE7alar i\xE7in g\xFCnl\xFCk tut",createM3U8File:"Oynatma s\u0131ra listesi olu\u015Ftur",syncedLyrics:".lyr dosyalar\u0131 olu\u015Ftur (Senkronize \u015Fark\u0131 s\xF6zleri)",playlistFilenameTemplate:"Oynatma listesi \u015Fablonu",saveDownloadQueue:"Uygulamay\u0131 kapat\u0131rken indirme kuyru\u011Funu kaydet"},covers:{title:"Alb\xFCm kapaklar\u0131",saveArtwork:"Kapaklar\u0131 kaydet",coverImageTemplate:"Kapak ismi \u015Fablonu",saveArtworkArtist:"Sanat\xE7\u0131 foto\u011Fraf\u0131n\u0131 kaydet",artistImageTemplate:"\u015Eark\u0131c\u0131 foto\u011Fraf \u015Fablonu",localArtworkSize:"Yerel foto\u011Fraf boyutu",embeddedArtworkSize:"G\xF6m\xFCl\xFC foto\u011Fraf boyutu",localArtworkFormat:{title:"Yerel foto\u011Fraf\u0131n hangi formatta olmas\u0131n\u0131 istersin?",jpg:"Jpeg dosyas\u0131",png:"Png dosyas\u0131",both:"Her ikisi"},jpegImageQuality:"JPEG g\xF6r\xFCnt\xFC kalitesi"},tags:{head:"Hangi izler kay\u0131t edilsin?",title:"Ba\u015Fl\u0131k",artist:"Sanat\xE7\u0131",album:"Alb\xFCm",cover:"Kapak",trackNumber:"Par\xE7a Numaras\u0131",trackTotal:"T\xFCm Par\xE7a",discNumber:"Plak Say\u0131s\u0131",discTotal:"T\xFCm Plak",albumArtist:"Sanat\xE7\u0131 Alb\xFCm\xFC",genre:"T\xFCr",year:"Y\u0131l",date:"Tarih",explicit:"Cinsel i\xE7erikli \u015Fark\u0131 s\xF6zleri",isrc:"ISRC",length:"Par\xE7a Uzunlu\u011Fu",barcode:"Alb\xFCm Barkodu (UPC)",bpm:"BPM",replayGain:"Ses Y\xFCksekli\u011Fi Normalle\u015Ftirici",label:"Alb\xFCm Etiketi",lyrics:"Senkronize edilmemi\u015F \u015Fark\u0131 s\xF6zleri",copyright:"Telif hakk\u0131",composer:"Besteleyen",involvedPeople:"Alakal\u0131 Ki\u015Filer"},other:{title:"Di\u011Fer",savePlaylistAsCompilation:"Oynatma listelerini derleme olarak kaydet",useNullSeparator:"Bo\u015Fluk ay\u0131r\u0131c\u0131 kullan",saveID3v1:"ID3v1 dosyas\u0131n\u0131 da kaydet",multiArtistSeparator:{title:"Sanat\xE7\u0131lar\u0131n\u0131z\u0131 nas\u0131l ay\u0131rmak istersiniz?",nothing:"Sadece ana sanat\xE7\u0131y\u0131 kaydet",default:"Genel prosed\xFCr uygulans\u0131n",andFeat:"Kullan\u0131lanlar & ve Feat.",using:'Kullan\u0131lan "{separator}"'},singleAlbumArtist:"Sadece ana alb\xFCm sanat\xE7\u0131s\u0131n\u0131 kaydet",albumVariousArtists:'"\xC7e\u015Fitli sanat\xE7\u0131lar"\u0131 sanat\xE7\u0131 alb\xFCmlerinde tut',removeAlbumVersion:'"Alb\xFCm S\xFCr\xFCm\xFC"n\xFC par\xE7a ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart',removeDuplicateArtists:"Sanat\xE7\u0131 toplulu\u011Funu \xE7\u0131kart",dateFormat:{title:"FLAC dosyalar i\xE7in zaman format\u0131",year:"YYYY",month:"AA",day:"GG"},featuredToTitle:{title:"\xD6ne \xE7\u0131kan sanat\xE7\u0131lar\u0131 ne yapmal\u0131y\u0131m?",0:"Elleme",1:"Ba\u015Fl\u0131ktan \xE7\u0131kart",3:"Ba\u015Fl\u0131ktan ve alb\xFCm ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart",2:"Ba\u015Fl\u0131\u011Fa ta\u015F\u0131"},titleCasing:"Alb\xFCm harfi",artistCasing:"Sanat\xE7\u0131 harfi",casing:{nothing:"De\u011Fi\u015Ftirmeden b\u0131rak",lower:"k\xFC\xE7\xFCk harf",upper:"B\xDCY\xDCK HARF",start:"Kelimenin ba\u015F\u0131 ile ba\u015Fla",sentence:"C\xFCmle gibi yap"},previewVolume:"Ses \xF6nizlemesi",executeCommand:{title:"\u0130ndirdikten sonra komut uygula",description:"Bir \u015Fey yapmamak i\xE7in bo\u015F b\u0131rak"}},spotify:{title:"Spotify \xD6zelli\u011Fi",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify Kullan\u0131c\u0131 Ad\u0131"},reset:"Varsay\u0131lana s\u0131f\u0131rla",save:"Kaydet",toasts:{init:"Ayarlar y\xFCklendi!",update:"Ayarlar g\xFCncellendi!",ARLcopied:"ARL panoya kopyaland\u0131!"}},sidebar:{home:"Ana sayfa",search:"Ara",charts:"Grafikler",favorites:"Favoriler",linkAnalyzer:"Link Analiz\xF6r\xFC",settings:"Ayarlar",about:"Hakk\u0131nda"},tracklist:{downloadSelection:"\u0130ndirme b\xF6l\xFCm\xFC"}},vn={globals:{welcome:"Ch\xE0o m\u1EEBng \u0111\u1EBFn v\u1EDBi deemix",back:"tr\u1EDF l\u1EA1i",loading:"\u0111ang t\u1EA3i",download:"T\u1EA3i xu\u1ED1ng {thing}",by:"b\u1EDFi {artist}",in:"trong {album}",download_hint:"T\u1EA3i xu\u1ED1ng",play_hint:"Ph\xE1t",toggle_download_tab_hint:"M\u1EDF r\u1ED9ng/Gi\u1EA5u",clean_queue_hint:"X\xF3a nh\u1EEFng file \u0111\xE3 t\u1EA3i xong",cancel_queue_hint:"H\u1EE7y t\u1EA5t c\u1EA3",listTabs:{empty:"",all:"t\u1EA5t c\u1EA3",top_result:"k\u1EBFt qu\u1EA3 h\xE0ng \u0111\u1EA7u",album:"album | album",artist:"Ngh\u1EC7 s\u0129 | Ngh\u1EC7 s\u0129",single:"\u0111\u01A1n | \u0111\u01A1n",title:"ti\xEAu \u0111\u1EC1 | ti\xEAu \u0111\u1EC1",track:"B\xE0i h\xE1t | B\xE0i h\xE1t",trackN:"0 B\xE0i h\xE1t | {n} B\xE0i h\xE1t | {n} B\xE0i h\xE1t",releaseN:"0 s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m",playlist:"playlist | playlist",compile:"t\u1ED5ng h\u1EE3p | t\u1ED5ng h\u1EE3p",ep:"ep | ep",spotifyPlaylist:"playlist c\u1EE7a spotify | playlist c\u1EE7a spotify",releaseDate:"ng\xE0y ph\xE1t h\xE0nh",error:"l\u1ED7i"}},about:{titles:{usefulLinks:"Link h\u1EEFu d\u1EE5ng",bugReports:"B\xE1o l\u1ED7i",contributing:"\u0110\xF3ng g\xF3p",donations:"Quy\xEAn g\xF3p",license:"B\u1EB1ng ph\xE9p"},subtitles:{bugReports:"B\u1EA1n th\u1EA5y c\xF3 g\xEC \u0111\xF3 kh\xF4ng ho\u1EA1t \u0111\u1ED9ng trong deemix? Xin h\xE3y b\xE1o v\u1EDBi ch\xFAng t\xF4i!",contributing:"B\u1EA1n mu\u1ED1n \u0111\xF3ng g\xF3p cho d\u1EF1 \xE1n n\xE0y? B\u1EA1n c\xF3 th\u1EC3 l\xE0m \u0111i\u1EC1u \u0111\xF3 v\u1EDBi nhi\u1EC1u c\xE1ch kh\xE1c nhau!",donations:"B\u1EA1n mu\u1ED1n \u1EE7ng h\u1ED9 kinh ph\xED? B\u1EA1n c\xF3 th\u1EC3 quy\xEAn g\xF3p t\u1EA1i \u0111\xE2y!"},usesLibrary:"\u1EE8ng d\u1EE5ng n\xE0y s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n deemix, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng n\xF3 \u0111\u1EC3 t\u1EA1o m\u1ED9t UI ri\xEAng cho deemix.",thanks:"C\u1EA3m \u01A1n rtonno, uhwot v\xE0 lollilol \u0111\xE3 gi\xFAp t\xF4i v\u1EDBi d\u1EF1 \xE1n n\xE0y v\xE0 BasCurtiz v\u1EDBi vi\u1EC7c thi\u1EBFt k\u1EBF bi\u1EC3u t\u01B0\u1EE3ng.",upToDate:{text:"C\u1EADp nh\u1EADt app b\u1EB1ng c\xE1ch theo d\xF5i {newsChannel} tr\xEAn Telegram.",newsChannel:"k\xEAnh tin t\u1EE9c"},officialWebsite:"Website ch\xEDnh th\u1EE9c",officialRepo:"Repo th\u01B0 vi\u1EC7n ch\xEDnh th\u1EE9c",officialWebuiRepo:"Repo WebUI ch\xEDnh th\u1EE9c",officialSubreddit:"Subreddit ch\xEDnh th\u1EE9c",newsChannel:"K\xEAnh tin t\u1EE9c",questions:{text:"N\u1EBFu b\u1EA1n c\xF3 c\xE2u h\u1ECFi ho\u1EB7c v\u1EA5n \u0111\u1EC1 v\u1EC1 \u1EE9ng d\u1EE5ng n\xE0y, xin h\xE3y t\xECm gi\u1EA3i ph\xE1p tr\xEAn {subreddit} tr\u01B0\u1EDBc. Sau \u0111\xF3, n\u1EBFu b\u1EA1n kh\xF4ng t\xECm \u0111\u01B0\u1EE3c g\xEC th\xEC b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t b\xE0i \u0111\u0103ng v\u1EC1 v\u1EA5n \u0111\u1EC1 c\u1EE7a b\u1EA1n tr\xEAn subreddit d\xF3.",subreddit:"subreddit"},beforeReporting:"Tr\u01B0\u1EDBc khi b\xE1o l\u1ED7i h\xE3y \u0111\u1EA3m b\u1EA3o b\u1EA1n \u0111ang s\u1EED d\u1EE5ng phi\xEAn b\u1EA3n m\u1EDBi nh\u1EA5t c\u1EE7a \u1EE9ng d\u1EE5ng v\xE0 l\u1ED7i b\u1EA1n \u0111ang g\u1EB7p kh\xF4ng ph\u1EA3i l\xE0 do b\u1EA1n.",beSure:"H\xE3y \u0111\u1EA3m b\u1EA3o l\xE0 l\u1ED7i n\xE0y v\u1EABn c\xF3 th\u1EC3 x\u1EA3y ra tr\xEAn c\xE1c thi\u1EBFt b\u1ECB kh\xE1c v\xE0 XIN \u0110\u1EEANG b\xE1o l\u1ED7i \u0111\xE3 \u0111\u01B0\u1EE3c b\xE1o r\u1ED3i.",duplicateReports:"Nh\u1EEFng b\u1EA3n b\xE1o l\u1ED7i tr\xF9ng nhau s\u1EBD b\u1ECB \u0111\xF3ng, xin b\u1EA1n h\xE3y \u0111\u1EC3 \xFD \u0111i\u1EC1u n\xE0y.",dontOpenIssues:"XIN \u0110\u1EEANG m\u1EDF v\u1EA5n \u0111\u1EC1 \u0111\u1EC3 h\u1ECFi, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng subreddit tr\xEAn cho vi\u1EC7c \u0111\xF3.",newUI:{text:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi python b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t UI m\u1EDBi b\u1EB1ng c\xE1ch s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n g\u1ED1c, ho\u1EB7c s\u1EEDa l\u1ED7i trong th\u01B0 vi\u1EC7n \u0111\xF3 v\u1EDBi m\u1ED9t pull request tr\xEAn {repo}.",repo:"repo n\xE0y"},acceptFeatures:"T\xF4i c\xF3 ch\u1EA5p nh\u1EADn y\xEAu c\u1EA7u v\u1EC1 t\xEDnh n\u0103ng m\u1EDBi nh\u01B0ng kh\xF4ng qu\xE1 ph\u1EE9c t\u1EA1p b\u1EDFi v\xEC ch\xFAng c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c tri\u1EC3n khai tr\u1EF1c ti\u1EBFp v\xE0o \u1EE9ng d\u1EE5ng thay v\xEC v\xE0o th\u01B0 vi\u1EC7n.",otherLanguages:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi m\u1ED9t ng\xF4n ng\u1EEF kh\xE1c, b\u1EA1n c\xF3 th\u1EC3 port deemix sang ng\xF4n ng\u1EEF \u0111\xF3!",understandingCode:"B\u1EA1n mu\u1ED1n hi\u1EC3u code c\u1EE7a deemix? Xin h\xE3y li\xEAn l\u1EA1c RemixDev tr\xEAn Telegram ho\u1EB7c Reddit.",contributeWebUI:{text:"N\u1EBFu b\u1EA1n bi\u1EBFt Vue.js (JavaScript), HTML ho\u1EB7c CSS, b\u1EA1n c\xF3 th\u1EC3 g\xF3p ph\u1EA7n ph\xE1t tri\u1EC3n {webui}.",webui:"WebUI"},itsFree:"B\u1EA1n n\xEAn nh\u1EDB r\u1EB1ng \u0111\xE2y l\xE0 m\u1ED9t d\u1EF1 \xE1n phi l\u1EE3i nhu\u1EADn v\xE0 b\u1EA1n n\xEAn \u1EE7ng h\u1ED9 nh\u1EEFng Ngh\u1EC7 s\u0129 y\xEAu th\xEDch c\u1EE7a b\u1EA1n tr\u01B0\u1EDBc khi \u1EE7ng h\u1ED9 nh\xE0 ph\xE1t tri\u1EC3n.",notObligated:"\u0110\u1EEBng ngh\u0129 r\u1EB1ng b\u1EA1n ph\u1EA3i \u0111\xF3ng g\xF3p ti\u1EC1n, t\xF4i v\u1EABn s\u1EBD r\u1EA5t bi\u1EBFt \u01A1n b\u1EA1n!",lincensedUnder:{text:"D\u1EF1 \xE1n n\xE0y \u0111\u01B0\u1EE3c c\u1EA5p ph\xE9p b\u1EDFi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"B\u1EA3ng x\u1EBFp h\u1EA1ng",changeCountry:"Thay \u0111\u1ED5i qu\u1ED1c gia",download:"T\u1EA3i xu\u1ED1ng b\u1EA3ng x\u1EBFp h\u1EA1ng n\xE0y"},errors:{title:"L\u1ED7i {name}",ids:{invalidURL:"Kh\xF4ng nh\u1EADn di\u1EC7n \u0111\u01B0\u1EE3c URL",unsupportedURL:"URL n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",ISRCnotOnDeezer:"ISRC c\u1EE7a b\xE0i h\xE1t n\xE0y hi\u1EC7n kh\xF4ng c\xF3 tr\xEAn Deezer",notYourPrivatePlaylist:"B\u1EA1n kh\xF4ng th\u1EC3 t\u1EA3i xu\u1ED1ng playlist ri\xEAng c\u1EE7a ng\u01B0\u1EDDi kh\xE1c.",spotifyDisabled:"Ch\u1EE9c n\u0103ng Spotify ch\u01B0a \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp \u0111\xFAng c\xE1ch.",trackNotOnDeezer:"B\xE0i h\xE1t kh\xF4ng c\xF3 tr\xEAn Deezer!",albumNotOnDeezer:"Album kh\xF4ng c\xF3 tr\xEAn Deezer!",notOnDeezer:"B\xE0i h\xE1t ch\u01B0a c\xF3 tr\xEAn Deezer!",notEncoded:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode!",notEncodedNoAlternative:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",wrongBitrate:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n.",wrongBitrateNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",no360RA:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF d\u1EA1ng Reality Audio 360.",notAvailable:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer!",notAvailableNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!"}},favorites:{title:"Y\xEAu th\xEDch",noPlaylists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Playlist",noAlbums:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Album Y\xEAu th\xEDch",noArtists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Ngh\u1EC7 s\u0129 Y\xEAu th\xEDch",noTracks:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c B\xE0i h\xE1t Y\xEAu th\xEDch"},home:{needTologin:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Deezer tr\u01B0\u1EDBc khi b\u1EAFt \u0111\u1EA7u t\u1EA3i xu\u1ED1ng.",openSettings:"M\u1EDF C\xE0i \u0111\u1EB7t",sections:{popularPlaylists:"Playlist N\u1ED5i ti\u1EBFng",popularAlbums:"Album \u0111\u01B0\u1EE3c stream nhi\u1EC1u nh\u1EA5t"}},linkAnalyzer:{info:"B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng ch\u1EE9c n\u0103ng n\xE0y \u0111\u1EC3 ki\u1EBFm th\xEAm th\xF4ng tin v\u1EC1 \u0111\u01B0\u1EDDng link m\xE0 b\u1EA1n mu\u1ED1n t\u1EA3i xu\u1ED1ng.",useful:"Ch\u1EE9c n\u0103ng n\xE0y r\u1EA5t h\u1EEFu d\u1EE5ng n\u1EBFu b\u1EA1n mu\u1ED1n t\u1EA3i c\xE1c b\xE0i h\xE1t hi\u1EC7n kh\xF4ng c\xF3 s\u1EB5n \u1EDF qu\u1ED1c gia c\u1EE7a b\u1EA1n v\xE0 mu\u1ED1n bi\u1EBFt c\xE1c qu\u1ED1c gia \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3.",linkNotSupported:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",linkNotSupportedYet:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3, xin h\xE3y th\u1EED l\u1EA1i v\u1EDBi m\u1ED9t \u0111\u01B0\u1EDDng link kh\xE1c.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Th\u1EDDi l\u01B0\u1EE3ng",diskNumber:"S\u1ED1 \u0111\u0129a",trackNumber:"S\u1ED1 b\xE0i h\xE1t",releaseDate:"Ng\xE0y ph\xE1t h\xE0nh",bpm:"BPM",label:"H\xE3ng",recordType:"Lo\u1EA1i Thu \xE2m",genres:"Th\u1EC3 lo\u1EA1i",tracklist:"Danh s\xE1ch c\xE1c b\xE0i h\xE1t"}},search:{startSearching:"B\u1EAFt \u0111\u1EA7u t\xECm ki\u1EBFm!",description:"B\u1EA1n c\xF3 th\u1EC3 t\xECm m\u1ED9t b\xE0i h\xE1t, album, ngh\u1EC7 s\u0129, playlist, v.v...! B\u1EA1n c\u0169ng c\xF3 th\u1EC3 d\xF9ng link c\u1EE7a Deezer",fans:"{n} ng\u01B0\u1EDDi h\xE2m m\u1ED9",noResults:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",noResultsTrack:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c b\xE0i h\xE1t n\xE0o",noResultsAlbum:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c album n\xE0o",noResultsArtist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c ngh\u1EC7 s\u0129 n\xE0o",noResultsPlaylist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c playlist n\xE0o"},searchbar:"T\xECm nh\u1EEFng g\xEC b\u1EA1n mu\u1ED1n (b\u1EA1n c\u0169ng c\xF3 th\u1EC3 s\u1EEF d\u1EE5ng m\u1ED9t \u0111\u01B0\u1EDDng link)",downloads:"T\u1EA3i xu\u1ED1ng",toasts:{addedToQueue:"{item} \u0111\xE3 \u0111\u01B0\u1EE3c \u0111\u01B0a v\xE0o h\xE0ng ch\u1EDD",alreadyInQueue:"{item} \u0111\xE3 \u0111ang trong h\xE0ng ch\u1EDD!",finishDownload:"{item} \u0111\xE3 t\u1EA3i xong.",allDownloaded:"T\u1EA5t c\u1EA3 c\xE1c b\xE0i h\xE1t \u0111\xE3 \u0111\u01B0\u1EE3c t\u1EA3i xu\u1ED1ng!",refreshFavs:"T\u1EA3i l\u1EA1i ho\xE0n t\u1EA5t!",loggingIn:"\u0110ang \u0111\u0103ng nh\u1EADp",loggedIn:"\u0110\u0103ng nh\u1EADp th\xE0nh c\xF4ng",alreadyLogged:"\u0110\xE3 \u0111\u0103ng nh\u1EADp",loginFailed:"Kh\xF4ng th\u1EC3 \u0111\u0103ng nh\u1EADp",loggedOut:"\u0110\u0103ng xu\u1EA5t",cancellingCurrentItem:"\u0110ang h\u1EE7y file hi\u1EC7n t\u1EA1i.",currentItemCancelled:"File hi\u1EC7n t\u1EA1i \u0111\xE3 b\u1ECB h\u1EE7y.",startAddingArtist:"\u0110ang \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",finishAddingArtist:"\u0110\xE3 \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",startConvertingSpotifyPlaylist:"\u0110ang chuy\u1EC3n \u0111\u1ED5i c\xE1c b\xE0i h\xE1t t\u1EEB Spotify sang Deezer",finishConvertingSpotifyPlaylist:"Playlist c\u1EE7a Spotify \u0111\xE3 \u0111\u01B0\u1EE3c chuy\u1EC3n \u0111\u1ED5i",loginNeededToDownload:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111ang nh\u1EADp \u0111\u1EC3 t\u1EA3i nh\u1EA1c!"},settings:{title:"C\xE0i \u0111\u1EB7t",languages:"Ng\xF4n ng\u1EEF",login:{title:"\u0110\u0103ng nh\u1EADp",loggedIn:"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp v\u1EDBi t\xEAn {username}",arl:{question:"L\xE0m c\xE1ch n\xE0o \u0111\u1EC3 c\xF3 ARL c\u1EE7a t\xF4i?",update:"C\u1EADp nh\u1EADt ARL"},logout:"\u0110\u0103ng xu\u1EA5t"},appearance:{title:"Giao di\u1EC7n",slimDownloadTab:"Thanh t\u1EA3i xu\u1ED1ng nh\u1ECF"},downloadPath:{title:"N\u01A1i t\u1EA3i xu\u1ED1ng"},templates:{title:"B\u1EA3n m\u1EABu",tracknameTemplate:"B\xE0i h\xE1t m\u1EABu",albumTracknameTemplate:"B\xE0i h\xE1t trong album m\u1EABu",playlistTracknameTemplate:"B\xE0i h\xE1t trong playlist m\u1EABu"},folders:{title:"Th\u01B0 m\u1EE5c",createPlaylistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho playlist",playlistNameTemplate:"Th\u01B0 m\u1EE5c playlist m\u1EABu",createArtistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho ngh\u1EC7 s\u0129",artistNameTemplate:"Th\u01B0 m\u1EE5c Ngh\u1EC7 s\u0129 m\u1EABu",createAlbumFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho album",albumNameTemplate:"Th\u01B0 m\u1EE5c cho album m\u1EABu",createCDFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho \u0111\u0129a CD",createStructurePlaylist:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho playlist",createSingleFolder:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho \u0111\u0129a \u0111\u01A1n"},trackTitles:{title:"T\xEAn b\xE0i h\xE1t",padTracks:"\u0110\u1EC7m t\xEAn b\xE0i h\xE1t",paddingSize:"Gh\xEC \u0111\xE8 k\xEDch c\u1EE1 ph\u1EA7n \u0111\u1EC7m",illegalCharacterReplacer:"Thay c\xE1c k\xED t\u1EF1 kh\xF4ng h\u1EE3p l\u1EC7 v\u1EDBi"},downloads:{title:"T\u1EA3i xu\u1ED1ng",queueConcurrency:"S\u1ED1 l\u01B0\u1EE3ng t\u1EA3i xu\u1ED1ng c\xF9ng l\xFAc",maxBitrate:{title:"Bitrate \u01B0a th\xEDch",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"T\xF4i c\xF3 n\xEAn ghi \u0111\xE8 file n\xE0y kh\xF4ng?",y:"C\xF3, h\xE3y ghi \u0111\xE8 file n\xE0y",n:"Kh\xF4ng, \u0111\u1EEBng ghi \u0111\xE8 file n\xE0y",t:"Ch\u1EC9 ghi \u0111\xE8 c\xE1c tag"},fallbackBitrate:"Bitrate d\u1EF1 ph\xF2ng",fallbackSearch:"Search d\u1EF1 ph\xF2ng",logErrors:"T\u1EA1o file log khi c\xF3 l\u1ED7i",logSearched:"T\u1EA1o file log khi b\u1EA1n t\xECm B\xE0i h\xE1t",createM3U8File:"T\u1EA1o file playlist",syncedLyrics:"T\u1EA1o file .lyr (L\u1EDDi B\xE0i h\xE1t)",playlistFilenameTemplate:"T\xEAn playlist m\u1EABu",saveDownloadQueue:"L\u01B0u h\xE0ng ch\u1EDD download khi \u0111\xF3ng \u1EE9ng d\u1EE5ng"},covers:{title:"B\xECa album",saveArtwork:"L\u01B0u b\xECa",coverImageTemplate:"T\xEAn b\xECa m\u1EABu",saveArtworkArtist:"L\u01B0u h\xECnh Ngh\u1EC7 s\u0129",artistImageTemplate:"H\xECnh ngh\u1EC7 s\u0129 m\u1EABu",localArtworkSize:"K\xEDch c\u1EE1 file b\xECa",embeddedArtworkSize:"K\xEDch c\u1EE1 b\xECa trong file b\xE0i h\xE1t",localArtworkFormat:{title:"B\u1EA1n mu\u1ED1n file b\xECa \u1EDF \u0111\u1ECBnh d\u1EA1ng n\xE0o?",jpg:"jpg",png:"png",both:"C\u1EA3 jpg v\xE0 png"},jpegImageQuality:"Ch\u1EA5t l\u01B0\u1EE3ng file JPEG"},tags:{head:"Nh\u1EEFng tag s\u1EBD \u0111\u01B0\u1EE3c l\u01B0u",title:"Ti\xEAu \u0111\u1EC1",artist:"Ngh\u1EC7 s\u0129",album:"Album",cover:"B\xECa",trackNumber:"S\u1ED1 b\xE0i h\xE1t",trackTotal:"T\u1ED5ng s\u1ED1 b\xE0i h\xE1t",discNumber:"S\u1ED1 \u0111\u0129a",discTotal:"T\u1ED5ng s\u1ED1 \u0111\u0129a",albumArtist:"Ngh\u1EC7 s\u0129 c\u1EE7a album",genre:"Th\u1EC3 lo\u1EA1i",year:"N\u0103m",date:"Ng\xE0y",explicit:"L\u1EDDi explicit",isrc:"ISRC",length:"Th\u1EDDi l\u01B0\u1EE3ng",barcode:"M\xE3 v\u1EA1ch c\u1EE7a album (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Nh\xE3n hi\u1EC7u album",lyrics:"L\u1EDDi",copyright:"B\u1EA3n quy\u1EC1n",composer:"Nh\xE0 so\u1EA1n nh\u1EA1c",involvedPeople:"Nh\u1EEFng ng\u01B0\u1EDDi li\xEAn quan"},other:{title:"Kh\xE1c",savePlaylistAsCompilation:"L\u01B0u playlist d\u01B0\u1EDBi d\u1EA1ng tuy\u1EC3n t\u1EADp",useNullSeparator:"D\xF9ng d\u1EA3i ph\xE2n c\xE1ch null",saveID3v1:"L\u01B0u ID3v1",multiArtistSeparator:{title:"B\u1EA1n mu\u1ED1n ph\xE2n c\xE1ch c\xE1c ngh\u1EC7 s\u0129 nh\u01B0 th\u1EBF n\xE0o?",nothing:"Ch\u1EC9 l\u01B0u ngh\u1EC7 s\u0129 ch\xEDnh",default:"D\xF9ng quy c\xE1ch ti\xEAu chu\u1EA9n",andFeat:"D\xF9ng & v\xE0 feat.",using:'D\xF9ng "{separator}"'},singleAlbumArtist:"Ch\u1EC9 l\u01B0u Ngh\u1EC7 s\u0129 Album ch\xEDnh",albumVariousArtists:'Gi\u1EEF nguy\xEAn "Nhi\u1EC1u Ngh\u1EC7 s\u0129" trong Ngh\u1EC7 s\u0129 Album',removeAlbumVersion:'B\u1ECF "Phi\xEAn b\u1EA3n Album" kh\u1ECFi t\xEAn b\xE0i h\xE1t',removeDuplicateArtists:"B\u1ECF c\xE1c t\xEAn ngh\u1EC7 s\u0129 ph\u1ED1i h\u1EE3p",dateFormat:{title:"\u0110\u1ECBnh d\u1EA1ng ng\xE0y cho file FLAC ",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"T\xF4i n\xEAn l\xE0m g\xEC v\u1EDBi c\xE1c ngh\u1EC7 s\u0129 \u0111\xF3ng g\xF3p?",0:"Kh\xF4ng l\xE0m g\xEC c\u1EA3",1:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t",3:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t v\xE0 t\xEAn album",2:"\u0110\u01B0a ch\xFAng v\xE0o t\xEAn b\xE0i h\xE1t"},titleCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn b\xE0i h\xE1t",artistCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn ngh\u1EC7 s\u0129",casing:{nothing:"Kh\xF4ng \u0111\u1ED5i",lower:"ch\u1EEF th\u01B0\u1EDDng",upper:"CH\u1EEE HOA",start:"Vi\u1EBFt Hoa \u1EDE Ch\u1EEF C\xE1i \u0110\u1EA7u Ti\xEAn C\u1EE7a M\u1ED7i T\u1EEB",sentence:"Nh\u01B0 m\u1ED9t c\xE2u"},previewVolume:"\xC2m l\u01B0\u1EE3ng nghe th\u1EED",executeCommand:{title:"Th\u1EF1c hi\u1EC7n nh\u1EEFng l\u1EC7nh n\xE0y khi \u0111\xE3 t\u1EA3i xu\u1ED1ng xong",description:"\u0110\u1EC3 tr\u1ED1ng n\u1EBFu b\u1EA1n kh\xF4ng mu\u1ED1n th\u1EF1c hi\u1EC7n l\u1EC7nh n\xE0o"}},spotify:{title:"Ch\u1EE9c n\u0103ng Spotify",clientID:"ClientID c\u1EE7a Spotify",clientSecret:"Client Secret c\u1EE7a Spotify",username:"T\xEAn t\xE0i kho\u1EA3n c\u1EE7a Spotify"},reset:"Quay tr\u1EDF l\u1EA1i c\xE0i \u0111\u1EB7t m\u1EB7c \u0111\u1ECBnh",save:"L\u01B0u",toasts:{init:"C\xE0i \u0111\u1EB7t \u0111\xE3 \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp!",update:"C\xE0i \u0111\u1EB7t c\u1EADp nh\u1EADt th\xE0nh c\xF4ng!",ARLcopied:"ARL \u0111\xE3 \u0111\u01B0\u1EE3c sao ch\xE9p v\xE0o clipboard"}},sidebar:{home:"trang ch\u1EE7",search:"t\xECm ki\u1EBFm",charts:"b\u1EA3ng x\u1EBFp h\u1EA1ng",favorites:"y\xEAu th\xEDch",linkAnalyzer:"ph\xE2n t\xEDch link",settings:"c\xE0i \u0111\u1EB7t",about:"th\xF4ng tin"},tracklist:{downloadSelection:"T\u1EA3i xu\u1ED1ng nh\u1EEFng m\u1EE5c \u0111\xE3 ch\u1ECDn"}},hr={globals:{welcome:"Dobrodo\u0161li u deemix",back:"nazad",loading:"u\u010Ditavanje",download:"Preuzmi {thing}",by:"by {artist}",in:"u {album}",download_hint:"Preuzmi",play_hint:"Play",toggle_download_tab_hint:"Pro\u0161iri/Smanji",clean_queue_hint:"\u010Ci\u0161\u0107enje zavr\u0161eno",cancel_queue_hint:"Zaustavi sve",listTabs:{empty:"",all:"sve",top_result:"Najbolji rezultat",album:"album | albumi",artist:"izvo\u0111a\u010D | izvo\u0111a\u010Di",single:"singl | singlovi",title:"naslov | naslovi",track:"pjesma | pjesme",trackN:"0 pjesmi | {n} pjesma | {n} pjesme",releaseN:"0 izdanja | {n} izdanje | {n} izdanja",playlist:"playlista | playliste",compile:"kompilacija | kompilacije",ep:"ep | eps",spotifyPlaylist:"spotify playlista | spotify playliste",releaseDate:"datum izdavanja",error:"gre\u0161ka"}},about:{titles:{usefulLinks:"Korisne poveznice",bugReports:"Prijave gre\u0161aka",contributing:"Doprinosi",donations:"Donacije",license:"Licenca"},subtitles:{bugReports:"Postoji ne\u0161to \u0161to ne radi u deemixu? Reci nam!",contributing:"\u017Deli\u0161 doprinijeti ovom projektu? Mo\u017Ee\u0161 i to \u010Dak u vi\u0161e na\u010Dina!",donations:"\u017Deli\u0161 doprijeniti odmah? Mo\u017Ee\u0161 donirati!"},usesLibrary:"Ova aplikacija koristi deemix biblioteku, koju mo\u017Ee\u0161 koristiti i ti kako bi napravio svoj UI za demix.",thanks:"Hvala rtonno, uhwot i lollilol \u0161to su mi pomogli s ovim projektom te BasCurtiz \u0161to su napravili ikonu.",upToDate:{text:"Ostani u tijeku s nadogradnjama prate\u0107i {newsChannel} na Telegramu.",newsChannel:"kanal s novostima"},officialWebsite:"Slu\u017Ebena web stranica",officialRepo:"Slu\u017Ebeni repozitorij biblioteke",officialWebuiRepo:"Slu\u017Ebeni WebUI repozitorij",officialSubreddit:"Slu\u017Ebeni subreddit",newsChannel:"Kanal s novostima",questions:{text:"Ukoliko imate pitanja o aplikaciji, prvo potra\u017Eite rije\u0161enje na {subreddit}. Tada, ako ne prona\u0111ete ni\u0161ta, mo\u017Eete objaviti svoj problem na subredditu.",subreddit:"subreddit"},beforeReporting:"Prije prijavljivanja gre\u0161ke provjerite imate li instaliranu zadnju verziju aplikacije i da to \u0161to \u017Eelite prijaviti je ustvari pogre\u0161ka, a ne ne\u0161to \u0161to samo vama ne radi.",beSure:"Provjerite mo\u017Ee li se pogre\u0161ka reproducirati i na drugim ure\u0111ajima i tako\u0111er NEMOJTE prijavljivati gre\u0161ku ako je ve\u0107 prijavljena.",duplicateReports:"Duplicirane prijave o gre\u0161ki bit \u0107e zatvorene, tako da pripazite na to.",dontOpenIssues:"NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.",newUI:{text:"Ako ste vje\u0161ti u pythonu mo\u017Eete probati napraviti novi UI za aplikaciju koriste\u0107i osnovnu biblioteku ili ispraviti pogre\u0161ku u biblioteci sa pull zahtjevom na {repo}.",repo:"repozitoriju"},acceptFeatures:"Prihava\u0107am i zna\u010Dajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.",otherLanguages:"Ako ste vje\u0161ti u drugom programskom jezikumo\u017Eete probati portati deemix u drugi programski jezik!",understandingCode:"Trebate pomo\u0107 s razumijevanjem koda? Samo potra\u017Ei RemixDev na Telegramu ili Redditu.",contributeWebUI:{text:"Ako zna\u0161 Vue.js (JavaScript), HTML ili CSS mo\u017Eete doprinijeti za {webui}.",webui:"WebUI"},itsFree:"Trebate zapamtiti da je ovo besplatni projekt i trebali biste podr\u017Eati autore koje volite prije podr\u017Eavanja developera.",notObligated:"Nemojte se osje\u0107ati obveznim darivati, svejedno vas cijenim!",lincensedUnder:{text:"Ovaj rad licenciran je unutar {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Ljestvice",changeCountry:"Promijeni dr\u017Eavu",download:"Preuzmi ljestvicu"},errors:{title:"Gre\u0161ke za {name}",ids:{invalidURL:"URL nije prepoznat",unsupportedURL:"URL jo\u0161 nije podr\u017Ean",ISRCnotOnDeezer:"Zapis ISRC jo\u0161 nije podr\u017Ean na Deezeru",notYourPrivatePlaylist:"Ne mo\u017Eete preuzeti tu\u0111e privatne playliste.",spotifyDisabled:"Spotify zna\u010Dajke nisu pode\u0161ene ispravno.",trackNotOnDeezer:"Pjesma nije prona\u0111ena na Deezeru!",albumNotOnDeezer:"Album nije prona\u0111en na Deezeru!",notOnDeezer:"Pjesma nije dostupna na Deezeru!",notEncoded:"Pjesma jo\u0161 nije enkodirana!",notEncodedNoAlternative:"Pjesma jo\u0161 nije enkodirana i nije prona\u0111ena alternativa!",wrongBitrate:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu.",wrongBitrateNoAlternative:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu i nije prona\u0111ena alternativa!",no360RA:"Pjesma nije dostupna u Reality Audio 360.",notAvailable:"Pjesma nije dostupna na Deezerovim serverima!",notAvailableNoAlternative:"Pjesma nije dostupna na Deezerovim serverima i alternativa nije prona\u0111ena!"}},favorites:{title:"Favoriti",noPlaylists:"Nisu prona\u0111ene playliste",noAlbums:"Omiljeni albumi nisu prona\u0111eni",noArtists:"Omiljeni glazbenici nisu prona\u0111eni",noTracks:"Omiljene pjesme nisu prona\u0111ene"},home:{needTologin:"Trebate se prijaviti sa svojim Deezer ra\u010Dunom kako biste mogli po\u010Deti preuzimati pjesme.",openSettings:"Otvori postavke",sections:{popularPlaylists:"Popularne playliste",popularAlbums:"Najpreslu\u0161aniji album"}},linkAnalyzer:{info:"Ovu sekciju mo\u017Eete koristiti kako biste saznali vi\u0161e informacija o linku koji poku\u0161avate preuzeti.",useful:"Ovo je korisno ako poku\u0161avate preuzeti pjesme koje jo\u0161 nisu dostupne u va\u0161oj zemlji i \u017Eelite, na primjer, znati gdje su dostupne.",linkNotSupported:"Ovaj link jo\u0161 nije podr\u017Ean",linkNotSupportedYet:"\u010Cini se da ovaj link jo\u0161 nije podr\u017Ean, poku\u0161aj analizirati neki drugi.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Trajanje",diskNumber:"Broj diska",trackNumber:"Broj pjesme",releaseDate:"Datum izadavanja",bpm:"BPM",label:"Izdava\u010Dka ku\u0107a",recordType:"Vrsta zapisa",genres:"\u017Danrovi",tracklist:"Popis pjesama"}},search:{startSearching:"Po\u010Dni pretra\u017Eivati!",description:"Mo\u017Eete pretra\u017Eiti pjesmu, cijeli album, izvo\u0111a\u010Da, playlistu... sve! Tako\u0111er, mo\u017Eete i zalijepiti Deezer link",fans:"{n} obo\u017Eavatelja",noResults:"Nema rezultata",noResultsTrack:"Pjesme nisu prona\u0111ene",noResultsAlbum:"Albumi nisu prona\u0111eni",noResultsArtist:"Izvo\u0111a\u010Di nisu prona\u0111eni",noResultsPlaylist:"Playliste nisu prona\u0111ene"},searchbar:"Pretra\u017Ei bilo \u0161to (ili samo zalijepi link)",downloads:"preuzimanja",toasts:{addedToQueue:"{item} dodan u red",alreadyInQueue:"{item} je ve\u0107 u redu!",finishDownload:"{item} zavr\u0161eno preuzimanje.",allDownloaded:"Sva preuzimanja zavr\u0161ena!",refreshFavs:"Osvje\u017Eavanje zavr\u0161eno!",loggingIn:"Prijavljivanje...",loggedIn:"Prijavljeni",alreadyLogged:"Ve\u0107 prijavljeni",loginFailed:"Prijava nije bila mogu\u0107a",loggedOut:"Odjavljeni",cancellingCurrentItem:"Otkazujem trenutnu stavku.",currentItemCancelled:"Trenutna stavka otkazana.",startAddingArtist:"Dodajem {artist} album u red",finishAddingArtist:"Dodan {artist} album u red",startConvertingSpotifyPlaylist:"Pretvaram Spotify pjesme u Deezer pjesme",finishConvertingSpotifyPlaylist:"Spotify playlista pretvorena",loginNeededToDownload:"Trebate se prijaviti kako bi preuzeli pjesme!"},settings:{title:"Postavke",languages:"Jezici",login:{title:"Prijava",loggedIn:"Prijavljeni ste kao {username}",arl:{question:"Kako da dobijem svoj ARL?",update:"A\u017Euriraj ARL"},logout:"Odjavi se"},appearance:{title:"Izgled",slimDownloadTab:"Tanka kartica za preuzimanje"},downloadPath:{title:"Putanja za preuzimanja"},templates:{title:"Predlo\u0161ci",tracknameTemplate:"Naziv pjesme predlo\u017Eak",albumTracknameTemplate:"Pjesma albuma predlo\u017Eak",playlistTracknameTemplate:"Pjesma playliste predlo\u017Eak"},folders:{title:"Mape",createPlaylistFolder:"Izradi mapu za playliste",playlistNameTemplate:"Mapa za playliste predlo\u017Eak",createArtistFolder:"Izradi mapu za izvo\u0111a\u010Da",artistNameTemplate:"Izvo\u0111a\u010D mapa predlo\u017Eak",createAlbumFolder:"Izradi mapu za album",albumNameTemplate:"Album mapa predlo\u017Eak",createCDFolder:"Izradi mapu za CD",createStructurePlaylist:"Strkturiraj mape za playliste",createSingleFolder:"Strukturiraj mape za singlove"},trackTitles:{title:"Naslovi pjesama",padTracks:"Pad tracks",paddingSize:"Prepi\u0161i veli\u010Dinu paddinga",illegalCharacterReplacer:"Zamjena za nedozvoljeni znak"},downloads:{title:"Preuzimanja",queueConcurrency:"Istovremena preuzimanja",maxBitrate:{title:"\u017Deljeni bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Trebam li prepisati datoteke?",y:"Da, prepi\u0161i datoteke",n:"Ne, nemoj prepisati datoteke",t:"Prepi\u0161i samo oznake",b:"Ne, zadr\u017Ei obje datoteke i dodaj broj duplikatu"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Pretra\u017Eivanje fallback",logErrors:"Izradi zapisnik datoteku za gre\u0161ke",logSearched:"Izradi zapisnik datoteku za pretra\u017Eene pjesme",createM3U8File:"Izradi playlist datoteku",syncedLyrics:"Izradi .lyr datoteke (sinkronizirani lyrics)",playlistFilenameTemplate:"Naziv playliste predlo\u017Eak",saveDownloadQueue:"Spremi red za preuzimanje prilikom zatvaranja aplikacije"},covers:{title:"Omoti albuma",saveArtwork:"Spremi omote",coverImageTemplate:"Naziv omota predlo\u017Eak",saveArtworkArtist:"Spremi sliku izvo\u0111a\u010Da",artistImageTemplate:"Slika izvo\u0111a\u010Da predlo\u017Eak",localArtworkSize:"Veli\u010Dina lokalnog omota",embeddedArtworkSize:"Veli\u010Dina ugra\u0111enog omota",localArtworkFormat:{title:"U kojem formatu \u017Eelite lokalni omot?",jpg:"Jpeg slika",png:"Png slika",both:"I jpeg i png"},jpegImageQuality:"JPEG kvaliteta slike"},tags:{head:"Koja oznake spremam",title:"Naslovi",artist:"Izvo\u0111a\u010D",album:"Album",cover:"Omot",trackNumber:"Broj pjesme",trackTotal:"Ukupno pjesama",discNumber:"Broj diska",discTotal:"Ukupno diskova",albumArtist:"Izvo\u0111a\u010D albuma",genre:"\u017Danr",year:"Godina",date:"Datum",explicit:"Eksplicitni lyrics",isrc:"ISRC",length:"Du\u017Eina pjesme",barcode:"Album barkod (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Izdava\u010Dka ku\u0107a albuma",lyrics:"Nesinkronizirani lyrics",copyright:"Autorska prava",composer:"Skladatelj",involvedPeople:"Uklju\u010Deni ljudi"},other:{title:"Ostalo",savePlaylistAsCompilation:"Spremi playliste kao kompilacije",useNullSeparator:"Koristi null razdvojnik",saveID3v1:"Spremi i ID3v1 tako\u0111er",multiArtistSeparator:{title:"Kako biste \u017Eeljeli razdvojiti izvo\u0111a\u010De?",nothing:"Spremi samo glavnog izvo\u0111a\u010Da",default:"Koriste\u0107i standardnu specifikaciju",andFeat:"Koriste\u0107i & i feat.",using:'Koriste\u0107i "{separator}"'},singleAlbumArtist:"Spremi samo izvo\u0111a\u010Da glavnog albuma",albumVariousArtists:'Zadr\u017Ei "Various Artists" u Izvo\u0111a\u010Dima albuma',removeAlbumVersion:'Izbri\u0161i "Album Version" iz naziva pjesme',removeDuplicateArtists:"Izbri\u0161i kombinacije izvo\u0111a\u010Da",dateFormat:{title:"Format datuma za FLAC datoteke",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u0160to trebam napraviti s istaknutim izvo\u0111a\u010Dima? (feat. i ft.)",0:"Ni\u0161ta",1:"Izbri\u0161i ih iz naziva",3:"Izbri\u0161i ih iz naziva i iz naziva albuma",2:"Premjesti ih u naziv"},titleCasing:"Veli\u010Dina slova naslova",artistCasing:"Veli\u010Dina slova izvo\u0111a\u010Da",casing:{nothing:"Zadr\u017Ei nepromijenjeno",lower:"sve malo",upper:"sve VELIKO",start:"Po\u010Detak Svake Rije\u010Di",sentence:"Kao re\u010Denica"},previewVolume:"Volumen pregleda",executeCommand:{title:"Naredba za izvr\u0161enje nakon preuzimanja",description:"Ostavi prazno za bez akcije"}},spotify:{title:"Spotify zna\u010Dajke",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify korisni\u010Dko ime"},reset:"Resetiraj na zadano",save:"Spremi",toasts:{init:"Postavke u\u010Ditane!",update:"Postavke a\u017Eurirane!",ARLcopied:"ARL kopiran u me\u0111uspremnik"}},sidebar:{home:"po\u010Detna",search:"pretra\u017Eivanje",charts:"ljestvice",favorites:"favoriti",linkAnalyzer:"analizator linka",settings:"postavke",about:"o programu"},tracklist:{downloadSelection:"Preuzmi selekciju"}},ar={globals:{welcome:"\u0645\u0631\u062D\u0628\u0623 \u0628\u0643 \u0641\u064A \u062F\u064A\u0645\u0643\u0633",back:"\u0631\u062C\u0648\u0639",loading:"\u062C\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",download:"\u062A\u062D\u0645\u064A\u0644 {thing}",by:"\u0628\u0648\u0627\u0633\u0637\u0629 {artist}",in:"\u0641\u064A {album}",download_hint:"\u062A\u062D\u0645\u064A\u0644",play_hint:"\u062A\u0634\u063A\u064A\u0644",toggle_download_tab_hint:"\u0639\u0631\u0636/\u0627\u062E\u0641\u0627\u0621",clean_queue_hint:"\u062A\u0645 \u0627\u0644\u0645\u0633\u062D",cancel_queue_hint:"\u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0643\u0644",listTabs:{empty:"",all:"\u0627\u0644\u0643\u0644",top_result:"\u0627\u0641\u0636\u0644 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",album:"\u0627\u0644\u0628\u0648\u0645 | \u0627\u0644\u0628\u0648\u0645\u0627\u062A",artist:"\u0641\u0646\u0627\u0646 | \u0641\u0646\u0627\u0646\u0648\u0646",single:"\u0627\u063A\u0646\u064A\u0629 | \u0627\u063A\u0646\u064A\u0629",title:"\u0639\u0646\u0648\u0627\u0646 | \u0639\u0646\u0627\u0648\u064A\u0646",track:"\u0645\u0642\u0637\u0639 | \u0645\u0642\u0627\u0637\u0639",trackN:"0 \u0645\u0642\u0627\u0637\u0639 | {n} \u0645\u0642\u0637\u0639 | {n} \u0645\u0642\u0637\u0639",releaseN:"0 \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631",playlist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",compile:"\u0645\u062C\u0645\u0648\u0639\u0629 | \u0645\u062C\u0645\u0648\u0639\u0627\u062A",ep:"ep | eps",spotifyPlaylist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",error:"\u062E\u0637\u0623"}},about:{titles:{usefulLinks:"\u0631\u0648\u0627\u0628\u0637 \u0645\u0647\u0645\u0629",bugReports:"\u0627\u0628\u0644\u0627\u063A \u0639\u0646 \u0645\u0634\u0643\u0644\u0629",contributing:"\u0645\u0633\u0627\u0647\u0645\u0629",donations:"\u0627\u0644\u062A\u0628\u0631\u0639",license:"\u0627\u0644\u0631\u062E\u0635\u0629"},subtitles:{bugReports:"\u0647\u0644 \u0647\u0646\u0627\u0643 \u0634\u064A\u0621 \u0644\u0627 \u064A\u0639\u0645\u0644 \u0641\u064A \u062F\u064A\u0645\u0643\u0633\u061F \u0623\u062E\u0628\u0631\u0646\u0627",contributing:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0642\u064A\u0627\u0645 \u0628\u0630\u0644\u0643 \u0628\u0639\u062F\u0629 \u0637\u0631\u0642",donations:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0645\u0627\u062F\u064A\u0627\u064B\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062A\u0628\u0631\u0639"},usesLibrary:"\u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u064A\u0633\u062A\u062E\u062F\u0645 \u0645\u0643\u062A\u0628\u0629 \u062F\u064A\u0645\u0643\u0633 \u0648\u0627\u0644\u062A\u064A \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u062C\u0647\u0629 \u0645\u0633\u062A\u062E\u062F\u0645 \u062E\u0627\u0635\u0629 \u0628\u0643 \u0644\u062F\u064A\u0645\u0643\u0633.",thanks:"\u0634\u0643\u0631\u0627 \u0644\u0640 rtonno, \u0648 uhwot \u0648 lollilol \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u064A \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648 \u0644\u0640 BasCurtiz \u0644\u0635\u0646\u0639 \u0627\u0644\u0627\u064A\u0642\u0648\u0646\u0629.",officialWebsite:"\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0631\u0633\u0645\u064A",officialRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0627\u0644\u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0631\u0633\u0645\u064A",officialWebuiRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0648\u0627\u062C\u0647\u0629 \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u0631\u0633\u0645\u064A",officialSubreddit:"\u0627\u0644\u0633\u0628 \u0631\u064A\u062F\u062A \u0627\u0644\u0631\u0633\u0645\u064A",newsChannel:"\u0642\u0646\u0627\u0629 \u0627\u0644\u0627\u062E\u0628\u0627\u0631",beforeReporting:"\u0642\u0628\u0644 \u0627\u0646 \u062A\u0628\u0644\u063A \u0639\u0646 \u062E\u0637\u0623\u060C \u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646\u0643 \u062A\u0634\u063A\u0644 \u0623\u062D\u062F\u062B \u0625\u0635\u062F\u0627\u0631 \u0645\u0646 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0623\u0646 \u0645\u0627 \u062A\u0631\u064A\u062F \u0627\u0644\u0625\u0628\u0644\u0627\u063A \u0639\u0646\u0647 \u0647\u0648 \u0641\u064A \u0627\u0644\u0648\u0627\u0642\u0639 \u062E\u0637\u0623 \u0648\u0644\u064A\u0633 \u0645\u0634\u0643\u0644\u0629 \u0645\u0646 \u062C\u0647\u062A\u0643.",beSure:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646 \u0627\u0644\u062E\u0637\u0623 \u064A\u0645\u0643\u0646 \u0625\u0639\u0627\u062F\u0629 \u0625\u0646\u062A\u0627\u062C\u0647 \u0639\u0644\u0649 \u0623\u062C\u0647\u0632\u0629 \u0623\u062E\u0631\u0649 \u0648 \u0627\u064A\u0636\u0627\u064B \u0644\u0627 \u062A\u0628\u0644\u063A \u0639\u0644\u0629 \u062E\u0637\u0623 \u062A\u0645 \u0627\u0644\u062A\u0628\u0644\u064A\u063A \u0639\u0646\u0647 \u0633\u0627\u0628\u0642\u0627\u064B.",duplicateReports:"\u0633\u064A\u062A\u0645 \u0625\u063A\u0644\u0627\u0642 \u062A\u0642\u0627\u0631\u064A\u0631 \u0627\u0644\u0623\u062E\u0637\u0627\u0621 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u060C \u0644\u0630\u0644\u0643 \u062A\u0631\u0642\u0628 \u0630\u0644\u0643.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",acceptFeatures:"\u0623\u0642\u0628\u0644 \u0627\u0642\u062A\u0631\u0627\u062D\u0627\u062A \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0623\u064A\u0636\u064B\u0627 \u060C \u0648\u0644\u0643\u0646 \u0644\u0627 \u0623\u0634\u064A\u0627\u0621 \u0645\u0639\u0642\u062F\u0629 \u060C \u0641\u0642\u0637 \u0627\u0634\u064A\u0627\u0621 \u064A\u0645\u0643\u0646\u0646\u064A \u062A\u0646\u0641\u064A\u0630\u0647\u0627 \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0644\u064A\u0633 \u0641\u064A \u0627\u0644\u0645\u0643\u062A\u0628\u0629.",otherLanguages:"\u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062C\u064A\u062F \u0644\u063A\u0629 \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649 \u060C \u064A\u0645\u0643\u0646\u0643 \u0645\u062D\u0627\u0648\u0644\u0629 \u062A\u062D\u0648\u064A\u0644 \u062F\u064A\u0645\u0643\u0633 \u0625\u0644\u0649 \u0644\u063A\u0627\u062A \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649!",understandingCode:"\u0623\u0646\u062A \u0628\u062D\u0627\u062C\u0629 \u0625\u0644\u0649 \u0645\u0633\u0627\u0639\u062F\u0629 \u0641\u064A \u0641\u0647\u0645 \u0627\u0644\u0643\u0648\u062F\u061F \u0641\u0642\u0637 \u0627\u062A\u0635\u0644 \u0628\u0640 RemixDev \u0639\u0644\u0649 \u062A\u064A\u0644\u064A\u0643\u0631\u0627\u0645 \u0627\u0648 \u0631\u064A\u062F\u064A\u062A.",itsFree:"\u064A\u062C\u0628 \u0627\u0646 \u062A\u062A\u0630\u0643\u0631 \u0627\u0646 \u0647\u0630\u0627 \u0647\u0648 \u0645\u0634\u0631\u0648\u0639 \u0645\u062C\u0627\u0646\u064A \u0648 \u0639\u0644\u064A\u0643 \u062F\u0639\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u064A\u0646 \u0644\u0643 \u0642\u0628\u0644 \u0627\u0646 \u062A\u062F\u0639\u0645 \u0645\u0637\u0648\u0631\u064A\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C.",notObligated:"\u0644\u0627 \u062A\u0634\u0639\u0631 \u0628\u0627\u0644\u0627\u0644\u062A\u0632\u0627\u0645 \u0628\u0627\u0644\u062A\u0628\u0631\u0639 \u060C \u0644\u0643\u0646\u064A \u0623\u0642\u062F\u0631 \u0630\u0644\u0643 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644!"},charts:{title:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",changeCountry:"\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062F\u0648\u0644\u0629",download:"\u062A\u062D\u0645\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0648\u0644"},errors:{title:"\u062E\u0637\u0623 \u0641\u064A {name}",ids:{invalidURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D",unsupportedURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B",ISRCnotOnDeezer:"\u0631\u0645\u0632 \u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u062F\u064A\u0632\u0631",notYourPrivatePlaylist:"\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u062A\u062D\u0645\u064A\u0644 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u062E\u0627\u0635\u0629 \u0648 \u0627\u0644\u0645\u062E\u0641\u064A\u0629.",spotifyDisabled:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0639\u062F\u0627\u062F \u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0628\u0627\u0644\u0637\u0631\u0642\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629 .",trackNotOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",albumNotOnDeezer:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notEncoded:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B!",notEncodedNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u0648\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u062F\u064A\u0644!",wrongBitrate:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629.",wrongBitrateNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0648 \u0644\u0627 \u062A\u0648\u062C\u062F \u062F\u0642\u0629 \u0628\u062F\u064A\u0644\u0629!",no360RA:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A Reality Audio 360.",notAvailable:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631!",notAvailableNoAlternative:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631 \u0648 \u0644\u0627 \u064A\u0648\u062C\u062F \u0628\u062F\u064A\u0644 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646!"}},favorites:{title:"\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A",noPlaylists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",noAlbums:"\u0644\u0645 \u0644\u0627 \u062A\u0648\u062C\u062F \u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0645\u0641\u0636\u0644\u0629",noArtists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u0641\u0636\u0644\u064A\u0646",noTracks:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u0642\u0627\u0637\u0639 \u0645\u0641\u0636\u0644\u0629"},home:{needTologin:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u0627\u0644\u062A\u0633\u062C\u064A\u0644 \u0641\u064A \u062D\u0633\u0627\u0628 \u062F\u064A\u0632\u0631 \u0642\u0628\u0644 \u0628\u062F\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644.",openSettings:"\u0641\u062A\u062D \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",sections:{popularPlaylists:"\u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0645\u0634\u0647\u0648\u0631\u0629",popularAlbums:"\u0627\u0643\u062B\u0631 \u0627\u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0633\u0645\u0627\u0639\u0623"}},linkAnalyzer:{info:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0647\u0630\u0627 \u0627\u0644\u0642\u0633\u0645 \u0644\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062D\u0648\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644\u0647.",useful:" \u0643\u0645\u062B\u0627\u0644 \u0647\u0630\u0627 \u0645\u0641\u064A\u062F \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644 \u0628\u0639\u0636 \u0627\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629 \u0641\u064A \u0628\u0644\u062F\u0643 \u0648\u062A\u0631\u064A\u062F \u0645\u0639\u0631\u0641\u0629 \u0645\u0643\u0627\u0646 \u062A\u0648\u0641\u0631\u0647\u0627 .",linkNotSupported:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646",linkNotSupportedYet:"\u064A\u0628\u062F\u0648 \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u060C \u062D\u0627\u0648\u0644 \u062A\u062D\u0644\u064A\u0644 \u0631\u0627\u0628\u0637 \u0622\u062E\u0631.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u0627\u0644\u0645\u062F\u0629 \u0627\u0644\u0632\u0645\u0646\u064A\u0629",diskNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",bpm:"BPM",label:"Label",recordType:"\u0646\u0648\u0639 \u0627\u0644\u062A\u0633\u062C\u064A\u0644",genres:"\u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0641\u0646\u064A",tracklist:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0642\u0627\u0637\u0639"}},search:{startSearching:"\u0627\u0628\u062F\u0623 \u0627\u0644\u0628\u062D\u062B!",description:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0645\u0642\u0637\u0639 \u060C \u0623\u0644\u0628\u0648\u0645 \u0643\u0627\u0645\u0644 \u060C \u0641\u0646\u0627\u0646 \u060C \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 .... \u0643\u0644 \u0634\u064A\u0621! \u064A\u0645\u0643\u0646\u0643 \u0623\u064A\u0636\u064B\u0627 \u0644\u0635\u0642 \u0631\u0627\u0628\u0637 \u062F\u064A\u0632\u0631",fans:"{n} \u0645\u062A\u0627\u0628\u0639\u0648\u0646",noResults:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",noResultsTrack:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0642\u0627\u0637\u0639",noResultsAlbum:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0628\u0648\u0645\u0627\u062A",noResultsArtist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0641\u0646\u0627\u0646\u064A\u0646",noResultsPlaylist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644"},searchbar:"\u0627\u0628\u062D\u062B \u0639\u0646 \u0623\u064A \u0634\u064A\u0621 \u062A\u0631\u064A\u062F\u0647 (\u0623\u0648 \u0627\u0644\u0635\u0642 \u0631\u0627\u0628\u0637)",downloads:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",toasts:{addedToQueue:"{item} \u062A\u0645\u062A \u0625\u0644\u0623\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631",alreadyInQueue:"{item} \u062D\u0627\u0644\u064A\u0627\u064B \u0641\u064A \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631!",finishDownload:"{item} \u0627\u0646\u062A\u0647\u0649 \u062A\u062D\u0645\u064A\u0644.",allDownloaded:"\u0627\u0643\u062A\u0645\u0644\u062A \u062C\u0645\u064A\u0639 \u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A!",refreshFavs:"\u0627\u0643\u062A\u0645\u0644 \u0627\u0644\u062A\u062D\u062F\u064A\u062B!",loggingIn:"\u062C\u0627\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644...",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",alreadyLogged:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0644\u0641\u0639\u0644",loginFailed:"\u062A\u0639\u0630\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedOut:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C",cancellingCurrentItem:"\u062C\u0627\u0631 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",currentItemCancelled:"\u062A\u0645 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",startAddingArtist:"\u062C\u0627\u0631 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",finishAddingArtist:"\u062A\u0645 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",startConvertingSpotifyPlaylist:"\u062C\u0627\u0631 \u062A\u062D\u0648\u064A\u0644 \u0645\u0642\u0627\u0637\u0639 \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0627\u0644\u0649 \u0645\u0642\u0627\u0637\u0639 \u062F\u064A\u0632\u0631",finishConvertingSpotifyPlaylist:"\u062A\u0645 \u062A\u062D\u0648\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",loginNeededToDownload:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0642\u0627\u0637\u0639!"},settings:{title:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",languages:"\u0627\u0644\u0644\u063A\u0627\u062A",login:{title:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0643\u0640 {username}",arl:{question:"\u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0629 ARL",update:"\u0627\u0631\u0641\u0639 \u0627\u0644 ARL"},logout:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C"},appearance:{title:"\u0627\u0644\u0645\u0638\u0647\u0631",slimDownloadTab:"\u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0631\u0641\u064A\u0639\u0629"},downloadPath:{title:"\u0645\u0633\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644"},templates:{title:"\u0627\u0644\u0642\u0648\u0627\u0644\u0628",tracknameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",albumTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",playlistTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644"},folders:{title:"\u0627\u0644\u0645\u0644\u0641\u0627\u062A",createPlaylistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",playlistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createArtistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0641\u0646\u0627\u0646",artistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0641\u0646\u0627\u0646",createAlbumFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0644\u0628\u0648\u0645",albumNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",createCDFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0642\u0631\u0627\u0635",createStructurePlaylist:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createSingleFolder:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0627\u0644\u0648\u0627\u062D\u062F\u0629"},trackTitles:{title:"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0642\u0637\u0639",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"\u0645\u062D\u0648\u0644 \u0627\u0644\u0643\u062A\u0627\u0628\u0627\u062A \u0627\u0644\u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627"},downloads:{title:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",queueConcurrency:"\u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0632\u0627\u0645\u0646\u0629",maxBitrate:{title:"\u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0641\u0636\u0644\u0629",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u0647\u0644 \u064A\u0645\u0643\u0646\u0646\u064A \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A?",y:"\u0646\u0639\u0645, \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",n:"\u0644\u0627, \u0644\u0627 \u062A\u0628\u062F\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",t:"\u0627\u0633\u062A\u0628\u062F\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0641\u0642\u0637",b:"\u0644\u0627 \u060C \u0627\u062D\u062A\u0641\u0638 \u0628\u0627\u0644\u0645\u0644\u0641\u064A\u0646 \u0648\u0623\u0636\u0641 \u0631\u0642\u0645\u064B\u0627 \u0625\u0644\u0649 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0643\u0631\u0631"},fallbackBitrate:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u062F\u0642\u0629",fallbackSearch:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u0628\u062D\u062B",logErrors:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0623\u062E\u0637\u0627\u0621",logSearched:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u062A\u064A \u062A\u0645 \u0627\u0644\u0628\u062D\u062B \u0639\u0646\u0647\u0627",createM3U8File:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",syncedLyrics:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0643\u0644\u0645\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629",playlistFilenameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",saveDownloadQueue:"\u062D\u0641\u0638 \u0642\u0627\u0626\u0645\u0629 \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062A\u0646\u0632\u064A\u0644 \u0639\u0646\u062F \u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062A\u0637\u0628\u064A\u0642"},covers:{title:"\u063A\u0644\u0627\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",saveArtwork:"\u0627\u062D\u0641\u0638 \u0627\u0644\u063A\u0644\u0627\u0641",coverImageTemplate:"\u062A\u063A\u0637\u064A\u0629 \u0642\u0627\u0644\u0628 \u0627\u0644\u0627\u0633\u0645",saveArtworkArtist:"\u0627\u062D\u0641\u0638 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",artistImageTemplate:"\u0642\u0627\u0644\u0628 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",localArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629",embeddedArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u062F\u0645\u062C\u0629",localArtworkFormat:{title:"\u0628\u0623\u064A \u0635\u064A\u063A\u0629 \u062A\u0631\u064A\u062F \u062D\u0641\u0638 \u0627\u0644\u0635\u0648\u0631\u0629?",jpg:"jpeg \u0635\u0648\u0631\u0629",png:"png \u0635\u0648\u0631\u0629",both:"\u0627\u0644\u0627\u062B\u0646\u064A\u0646 png \u0648 jpeg"},jpegImageQuality:"JPEG \u062F\u0642\u0629 \u0635\u0648\u0631\u0629"},tags:{head:"\u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u062A\u0645 \u062D\u0641\u0638\u0647\u0627",title:"\u0627\u0644\u0639\u0646\u0648\u0627\u0646",artist:"\u0627\u0644\u0641\u0646\u0627\u0646",album:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645",cover:"\u0627\u0644\u063A\u0644\u0627\u0641",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",trackTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0645\u0642\u0627\u0637\u0639",discNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",discTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0627\u0642\u0631\u0627\u0635",albumArtist:"\u0641\u0646\u0627\u0646 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",genre:"Genre",year:"\u0627\u0644\u0633\u0646\u0629",date:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E",explicit:"\u0643\u0644\u0645\u0627\u062A \u0627\u063A\u0646\u064A\u0629 \u0635\u0631\u064A\u062D\u0629 \u0644\u0644\u0643\u0628\u0627\u0631",isrc:"ISRC",length:"\u0637\u0648\u0644 \u0627\u0644\u0645\u0642\u0637\u0639",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"\u0643\u0644\u0645\u0627\u062A \u063A\u064A\u0631 \u0645\u062A\u0632\u0627\u0645\u0646\u0629",copyright:"\u062D\u0642\u0648\u0642 \u0627\u0644\u0646\u0634\u0631",composer:"\u0645\u0644\u062D\u0646",involvedPeople:"\u0627\u0644\u0646\u0627\u0633 \u0627\u0644\u0645\u0634\u062A\u0631\u0643\u0648\u0646"},other:{title:"\u063A\u064A\u0631",savePlaylistAsCompilation:"\u062D\u0641\u0638 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0643\u0645\u062C\u0645\u0648\u0639\u0629",useNullSeparator:"\u0627\u0633\u062A\u062E\u062F\u0645 \u0641\u0627\u0635\u0644 \u0641\u0627\u0631\u063A",saveID3v1:"\u0627\u062D\u0641\u0638 \u0645\u0644\u0641 ID3v1",multiArtistSeparator:{title:"\u0643\u064A\u0641 \u062A\u0631\u064A\u062F \u0641\u0635\u0644 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646?",nothing:"\u0627\u062D\u0641\u0638 \u0627\u0644\u0641\u0646\u0627\u0646 \u0627\u0644\u0631\u0626\u064A\u0633\u064A \u0641\u0642\u0637",default:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u0642\u064A\u0627\u0633\u064A\u0629",andFeat:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645& \u0648 feat.",using:'\u0627\u0633\u062A\u062E\u062F\u0627\u0645 "{separator}"'},singleAlbumArtist:"\u0627\u062D\u0641\u0638 \u0641\u0642\u0637 \u0641\u0646\u0627\u0646 \u0627\u0644\u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0631\u0626\u064A\u0633\u064A",albumVariousArtists:'\u0627\u062D\u062A\u0641\u0638 \u0628\u0640 "\u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u062A\u0646\u0648\u0639\u064A\u0646" \u0641\u064A \u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646',removeAlbumVersion:'\u0625\u0632\u0627\u0644\u0629 "\u0625\u0635\u062F\u0627\u0631 \u0627\u0644\u0623\u0644\u0628\u0648\u0645" \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0633\u0627\u0631',removeDuplicateArtists:"\u0625\u0632\u0627\u0644\u0629 \u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646",dateFormat:{title:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0644\u0645\u0644\u0641\u0627\u062A flac",year:"\u0633 \u0633 \u0633 \u0633",month:"\u0634 \u0634",day:"\u064A \u064A"},featuredToTitle:{title:"\u0645\u0627\u0630\u0627 \u0639\u0644\u064A \u0623\u0646 \u0623\u0641\u0639\u0644 \u0645\u0639 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u063A\u064A\u0631 \u0631\u0626\u064A\u0633\u064A\u064A\u0646 ?",0:"\u0644\u0627 \u0634\u064A\u0621",1:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0627\u0644\u0639\u0646\u0648\u0627\u0646",3:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0648 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",2:"\u0648\u0636\u0639\u0647 \u0641\u064A \u0627\u0644\u0639\u0646\u0648\u0627\u0646"},titleCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0639\u0646\u0627\u0648\u0646",artistCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",casing:{nothing:"\u0628\u062F\u0648\u0646 \u062A\u063A\u064A\u064A\u0631",lower:"\u0627\u062D\u0631\u0641 \u0635\u063A\u064A\u0631\u0629",upper:"\u0627\u062D\u0631\u0641 \u0643\u0628\u064A\u0631\u0629",start:"\u062D\u0631\u0641 \u0643\u0628\u064A\u0631 \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0643\u0644 \u0643\u0644\u0645\u0629",sentence:"\u0645\u062B\u0644 \u062C\u0645\u0644\u0629"},previewVolume:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u062D\u062C\u0645",executeCommand:{title:"\u0627\u0644\u0623\u0645\u0631 \u0644\u0644\u062A\u0646\u0641\u064A\u0630 \u0628\u0639\u062F \u0627\u0644\u062A\u0646\u0632\u064A\u0644",description:"\u0627\u062A\u0631\u0643\u0647 \u0641\u0627\u0631\u063A\u064B\u0627 \u0628\u062F\u0648\u0646 \u0625\u062C\u0631\u0627\u0621"}},spotify:{title:"\u0645\u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientID:"\u0645\u0639\u0631\u0641 \u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientSecret:"\u0627\u0644\u0643\u0648\u062F \u0627\u0644\u0633\u0631\u064A \u0644\u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",username:"\u0627\u0633\u0645 \u0645\u0633\u062A\u062E\u062F\u0645 \u0633\u0628\u0648\u062A\u0641\u0627\u064A"},reset:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646 \u0625\u0644\u0649 \u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u064A",save:"\u062D\u0641\u0638",toasts:{init:"\u062A\u0645 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A!",update:"\u062A\u0645 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A!",ARLcopied:"\u062A\u0645 \u0646\u0633\u062E ARL \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629"}},sidebar:{home:"\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",search:"\u0628\u062D\u062B",charts:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",favorites:"\u0627\u0644\u0645\u0641\u0636\u0644\u0629",linkAnalyzer:"\u0645\u062D\u0644\u0644 \u0627\u0644\u0631\u0648\u0627\u0628\u0637",settings:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",about:"\u062D\u0648\u0644"},tracklist:{downloadSelection:"\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0627\u062E\u062A\u064A\u0627\u0631"}},ko={globals:{welcome:"\uC798\uC654\uB2E4, deemix\uC5D0",back:"\uB4A4\uB85C",loading:"\uBD88\uB7EC\uC624\uB294 \uC911",download:"{thing} \uB2E4\uC6B4\uB85C\uB4DC",by:"by {artist}",in:"in {album}",download_hint:"\uB2E4\uC6B4\uB85C\uB4DC",play_hint:"\uC7AC\uC0DD",toggle_download_tab_hint:"\uD3BC\uCE58\uAE30/\uC811\uAE30",clean_queue_hint:"\uBE44\uC6B0\uAE30 \uC644\uB8CC",cancel_queue_hint:"\uBAA8\uB450 \uCDE8\uC18C",open_downloads_folder:"\uB2E4\uC6B4\uB85C\uB4DC \uD3F4\uB354 \uC5F4\uAE30",cut:"\uC798\uB77C\uB0B4\uAE30",copy:"\uBCF5\uC0AC",copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",copyImageLink:"\uC774\uBBF8\uC9C0 \uB9C1\uD06C \uBCF5\uC0AC",copyDeezerLink:"deezer \uB9C1\uD06C \uBCF5\uC0AC",paste:"\uBD99\uC5EC\uB123\uAE30",listTabs:{empty:"",all:"\uC804\uCCB4",top_result:"\uAC00\uC7A5 \uC77C\uCE58\uD558\uB294 \uACB0\uACFC",album:"\uC568\uBC94 | \uC568\uBC94",artist:"\uC544\uD2F0\uC2A4\uD2B8 | \uC544\uD2F0\uC2A4\uD2B8",single:"\uC2F1\uAE00 | \uC2F1\uAE00",title:"\uC81C\uBAA9 | \uC81C\uBAA9",track:"\uD2B8\uB799 | \uD2B8\uB799",releaseN:"0 \uBC1C\uB9E4 | {n} \uBC1C\uB9E4 | {n} \uBC1C\uB9E4",playlist:"\uC7AC\uC0DD\uBAA9\uB85D | \uC7AC\uC0DD\uBAA9\uB85D",compile:"\uD3B8\uCC2C\uBB3C | \uD3B8\uCC2C\uBB3C",ep:"ep | eps",bundle:"\uBC88\uB4E4 | \uBC88\uB4E4",more:"\uB354 \uB9CE\uC740 \uC568\uBC94",featured:"\uD2B9\uC9D1",spotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D | \uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",error:"\uC624\uB958",trackN:"0 \uD2B8\uB799 | {n} \uD2B8\uB799 | {n} \uD2B8\uB799",albumN:"0 \uC568\uBC94 | {n} \uC568\uBC94 | {n} \uC568\uBC94",artistN:"0 \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8",playlistN:"0 \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D"}},about:{appStatus:{online:"\uD504\uB85C\uADF8\uB7A8 \uC628\uB77C\uC778",offline:"\uD504\uB85C\uADF8\uB7A8 \uC624\uD504\uB77C\uC778"},updates:{currentVersion:"\uD604\uC7AC \uBC84\uC804",currentWebuiVersion:"\uD604\uC7AC WebUI \uBC84\uC804",versionNotAvailable:"N/A",updateAvailable:"\uCD5C\uC2E0\uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4: {version}",deemixVersion:"deemix lib \uBC84\uC804"},titles:{usefulLinks:"\uC720\uC6A9\uD55C \uB9C1\uD06C",bugReports:"\uBC84\uADF8 \uC81C\uBCF4",contributing:"\uAE30\uC5EC\uC790",donations:"\uD6C4\uC6D0",license:"\uC774\uC6A9\uC815\uCC45"},subtitles:{bugReports:"\uBB34\uC5B8\uAC00 \uC548\uB418\uB294 \uAC83\uC774 \uC788\uB2E4\uACE0\uC694? \uB9D0\uD574\uC8FC\uC138\uC694!",contributing:"\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uAE30\uC5EC\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uC5B4\uB835\uC9C0 \uC54A\uC544\uC694!",donations:"\uAE08\uC804\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uD6C4\uC6D0\uD558\uC138\uC694!"},usesLibrary:"\uC774 \uD504\uB85C\uADF8\uB7A8\uC740 deemix \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4, \uD574\uB2F9 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB85C \uC790\uC2E0\uB9CC\uC758 deemix\uB97C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",thanks:"\uC774 \uD504\uB85C\uC81D\uD2B8\uB97C \uB3C4\uC640\uC900 rtonno, uhwot \uADF8\uB9AC\uACE0 lollilol\uB2D8\uACFC \uC544\uC774\uCF58\uC744 \uB9CC\uB4E4\uC5B4\uC900 BasCurtiz \uADF8\uB9AC\uACE0 scarvimane\uB2D8\uC5D0\uAC8C \uAC10\uC0AC\uB97C.",upToDate:{text:"\uC0C8\uB85C\uC6B4 \uC5C5\uB370\uC774\uD2B8 \uC18C\uC2DD\uC744 \uB4E3\uACE0 \uC2F6\uC73C\uBA74 \uD154\uB808\uADF8\uB7A8 {newsChannel}\uC744 \uCC38\uACE0\uD558\uC138\uC694.",newsChannel:"\uC0C8\uC18C\uC2DD \uC815\uBCF4\uD1B5"},officialWebsite:"\uACF5\uC2DD \uC6F9\uC0AC\uC774\uD2B8",officialRepo:"\uACF5\uC2DD \uB77C\uC774\uBE0C\uB7EC\uB9AC \uC800\uC7A5\uC18C",officialWebuiRepo:"\uACF5\uC2DD WebUI \uC800\uC7A5\uC18C",officialSubreddit:"\uACF5\uC2DD \uC11C\uBE0C\uB808\uB527",newsChannel:"\uC0C8 \uC18C\uC2DD \uC54C\uB9AC\uBBF8",questions:{text:"\uD504\uB85C\uADF8\uB7A8\uC5D0 \uB300\uD55C \uC9C8\uBB38\uC774\uB098 \uBB38\uC81C\uC5D0 \uAD00\uD55C \uAC83\uC740, \uBA3C\uC800 {subreddit}\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uAC80\uC0C9\uD574\uBCF4\uC138\uC694. \uADF8\uB9AC\uACE0, \uC11C\uBE0C\uB808\uB527\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uCC3E\uAE30 \uBABB\uD55C \uACBD\uC6B0\uC5D0 \uB2E4\uC74C \uC21C\uC11C\uB97C \uC774\uC6A9\uD574\uC8FC\uC138\uC694.",subreddit:"\uC11C\uBE0C\uB808\uB527"},beforeReporting:"\uBC84\uADF8 \uC81C\uBCF4\uB97C \uD558\uAE30 \uC804\uC5D0 \uBA3C\uC800 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uD504\uB85C\uADF8\uB7A8\uC744 \uC2E4\uD589\uD558\uACE0 \uC788\uB294\uC9C0, \uC81C\uBCF4\uD558\uACE0\uC790 \uD558\uB294 \uAC83\uC774 \uBC84\uADF8\uC774\uC9C0 \uC624\uB85C\uC9C0 \uB2F9\uC2E0\uC758 \uBAA9\uC801\uC744 \uC774\uB8E8\uAE30 \uC704\uD55C \uC694\uAD6C\uAC00 \uC544\uB2D8\uC744 \uD655\uC778\uD574\uC8FC\uC138\uC694.",beSure:"\uD574\uB2F9 \uBC84\uADF8\uAC00 \uB2E4\uB978 \uC7A5\uCE58\uC5D0\uC11C\uB3C4 \uC7AC\uD604\uC774 \uAC00\uB2A5\uD55C\uC9C0 \uD655\uC778\uD558\uACE0 \uC774\uBBF8 \uC81C\uBCF4\uB41C \uBC84\uADF8\uC758 \uACBD\uC6B0\uC5D0\uB294 \uC911\uBCF5\uD574\uC11C \uBCF4\uACE0\uD558\uC9C0 \uB9C8\uC138\uC694.",duplicateReports:"\uC911\uBCF5\uB41C \uBC84\uADF8 \uC81C\uBCF4\uC758 \uACBD\uC6B0\uB294 \uD574\uB2F9 \uC694\uCCAD\uC744 \uB2EB\uC744 \uAC83\uC774\uB2C8, \uB450 \uB208 \uB728\uACE0 \uC9C0\uCF1C\uBCF4\uC138\uC694.",dontOpenIssues:"\uC9C8\uBB38\uC5D0 \uAD00\uD55C \uAC83\uC740 \uC774\uC288\uB97C \uC5F4\uC9C0 \uB9C8\uC138\uC694, \uC11C\uBE0C\uB808\uB527\uC774 \uC788\uC2B5\uB2C8\uB2E4.",newUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 \uD30C\uC774\uC36C\uC5D0 \uB2A5\uD1B5\uD558\uACE0 \uAE30\uBCF8\uC801\uC778 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC774\uC6A9\uD558\uC5EC \uC0C8\uB85C\uC6B4 UI\uB97C \uB9CC\uB4E4\uC5C8\uAC70\uB098, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC758 \uBC84\uADF8\uB97C \uC218\uC815\uD558\uC600\uB2E4\uBA74 {repo}\uC5D0 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uD574\uC8FC\uC138\uC694.",repo:"\uC800\uC7A5\uC18C"},acceptFeatures:"\uBCF5\uC7A1\uD558\uC9C0 \uC54A\uC740 \uAE30\uB2A5 \uCD94\uAC00\uB3C4 \uBC1B\uC2B5\uB2C8\uB2E4, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uAC00 \uC544\uB2CC \uC571\uC5D0\uC11C \uC9C1\uC811 \uAD6C\uD604\uD560 \uC218 \uC788\uB294 \uAC83\uC73C\uB85C\uC694.",otherLanguages:"\uB2F9\uC2E0\uC774 \uB2E4\uB978 \uD504\uB85C\uADF8\uB7A8 \uC5B8\uC5B4\uC5D0 \uB2A5\uD1B5\uD558\uBA74, \uC774 deemix \uD504\uB85C\uADF8\uB7A8\uC744 \uB2E4\uB978 \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4\uB85C \uD3EC\uD305\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4!",understandingCode:"\uCF54\uB4DC\uB97C \uC774\uD574\uD558\uB294 \uB370 \uB3C4\uC6C0\uC774 \uD544\uC694\uD569\uB2C8\uAE4C? \uC704\uC5D0 \uC788\uB294 RemixDev, \uD154\uB808\uADF8\uB7A8, \uC11C\uBE0C\uB808\uB527 \uB9C1\uD06C\uB97C \uB204\uB974\uC138\uC694.",contributeWebUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 Vue.js (JavaScript), HTML \uB610\uB294 CSS \uAC1C\uBC1C\uC790\uB77C\uBA74 {webui}\uC5D0 \uB3C4\uC6C0\uC744 \uC8FC\uC138\uC694.",webui:"WebUI"},itsFree:"\uC0AC\uC6A9\uD558\uAE30 \uC804\uC5D0 \uC774 \uD504\uB85C\uADF8\uB7A8\uC774 \uBB34\uB8CC \uD504\uB85C\uC81D\uD2B8\uC774\uACE0 \uAC1C\uBC1C\uC790\uB97C \uC9C0\uC6D0\uD558\uAE30 \uC804\uC5D0 \uC608\uC220\uAC00\uB4E4\uC744 \uBA3C\uC800 \uC9C0\uC6D0\uD574\uC57C \uD568\uC744 \uAE30\uC5B5\uD558\uC138\uC694.",notObligated:"\uAE30\uBD80\uB294 \uD504\uB85C\uC81D\uD2B8\uB97C \uC9C0\uC18D\uD560 \uC218 \uC788\uB294 \uB3D9\uB825\uC774 \uB429\uB2C8\uB2E4!",lincensedUnder:{text:"\uC774 \uC791\uC5C5\uC774 \uC694\uAD6C\uD558\uACE0 \uC788\uB294 \uB77C\uC774\uC13C\uC2A4\uB294 \uC544\uB798\uC640 \uAC19\uC2B5\uB2C8\uB2E4 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\uCC28\uD2B8",changeCountry:"\uAD6D\uAC00 \uBCC0\uACBD",download:"\uCC28\uD2B8 \uB2E4\uC6B4\uB85C\uB4DC"},errors:{title:"\uC624\uB958 \uBC1C\uC0DD: {name}",ids:{unsupportedURL:"URL \uC9C0\uC6D0 \uB204\uB77D",invalidURL:"URL \uC778\uC2DD \uC2E4\uD328",ISRCnotOnDeezer:"\uD2B8\uB799 \uCF54\uB4DC \uC2DD\uBCC4\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4",notYourPrivatePlaylist:"\uB2E4\uB978 \uC0AC\uB78C\uC758 \uBE44\uACF5\uAC1C \uC7AC\uC0DD \uBAA9\uB85D\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",spotifyDisabled:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uC774 \uC62C\uBC14\uB974\uAC8C \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",trackNotOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",albumNotOnDeezer:"Deezer\uC5D0\uC11C \uC568\uBC94\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notEncoded:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4!",notEncodedNoAlternative:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",wrongBitrate:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uC758 \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",wrongBitrateNoAlternative:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",no360RA:"\uD574\uB2F9 \uD2B8\uB799\uC740 360 \uB9AC\uC5BC\uB9AC\uD2F0 \uC624\uB514\uC624\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",notAvailable:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4!",notAvailableNoAlternative:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",noSpaceLeft:"\uC7A5\uCE58\uC5D0 \uC5EC\uC720 \uACF5\uAC04\uC774 \uC5C6\uC2B5\uB2C8\uB2E4!",albumDoesntExists:"\uD2B8\uB799\uC758 \uC568\uBC94\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uC815\uBCF4 \uC218\uC9D1\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."}},favorites:{title:"\uC990\uACA8\uB4E3\uB294 \uC74C\uC545",noPlaylists:"\uC990\uACA8\uB4E3\uB294 \uC7AC\uC0DD\uBAA9\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noAlbums:"\uC990\uACA8\uB4E3\uB294 \uC568\uBC94\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noArtists:"\uC990\uACA8\uB4E3\uB294 \uC544\uD2F0\uC2A4\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",noTracks:"\uC990\uACA8\uB4E3\uB294 \uD2B8\uB799\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},home:{needTologin:"\uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uC791\uD558\uAE30 \uC804\uC5D0 Deezer \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uC744 \uD574\uC57C\uD569\uB2C8\uB2E4.",openSettings:"\uC124\uC815 \uC5F4\uAE30",sections:{popularPlaylists:"\uC778\uAE30\uC788\uB294 \uC7AC\uC0DD\uBAA9\uB85D",popularAlbums:"\uAC00\uC7A5 \uB9CE\uC774 \uC7AC\uC0DD\uB41C \uC568\uBC94"}},linkAnalyzer:{info:"\uC774 \uD56D\uBAA9\uC5D0\uC11C\uB294 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uB3C4\uD560 \uB9C1\uD06C\uC5D0 \uB300\uD55C \uB354 \uB9CE\uC740 \uC815\uBCF4\uB97C \uCC3E\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",useful:"\uC811\uC18D\uD55C \uAD6D\uAC00\uC5D0\uC11C\uB294 \uC7AC\uC0DD\uD560 \uC218 \uC5C6\uB294 \uD2B9\uC815 \uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD558\uAE30 \uC704\uD574\uC11C \uAC00\uB2A5\uD55C \uAD6D\uAC00\uB97C \uCC3E\uB294\uB370 \uC720\uC6A9\uD558\uAC8C \uC4F0\uC785\uB2C8\uB2E4.",linkNotSupported:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",linkNotSupportedYet:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uB2E4\uB978 \uB9C1\uD06C\uB85C \uC2DC\uB3C4\uD574\uBCF4\uC138\uC694.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\uAE38\uC774",diskNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",trackNumber:"\uD2B8\uB799 \uBC88\uD638",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",bpm:"BPM",label:"\uB77C\uBCA8",recordType:"\uB179\uC74C \uC885\uB958",genres:"\uC7A5\uB974",tracklist:"\uD2B8\uB799\uBAA9\uB85D"}},search:{startSearching:"\uAC80\uC0C9\uC744 \uD574\uBCF4\uC138\uC694!",description:"\uD2B8\uB799, \uC544\uD2F0\uC2A4\uD2B8, \uC7AC\uC0DD\uBAA9\uB85D, Deezer \uB9C1\uD06C \uB4F1\uC73C\uB85C \uAC80\uC0C9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!",fans:"{n}\uBA85\uC758 \uD32C\uB4E4",noResults:"\uACB0\uACFC \uC5C6\uC74C",noResultsTrack:"\uBC1C\uACAC\uB41C \uD2B8\uB799 \uC5C6\uC74C",noResultsAlbum:"\uBC1C\uACAC\uB41C \uC568\uBC94 \uC5C6\uC74C",noResultsArtist:"\uBC1C\uACAC\uB41C \uC544\uD2F0\uC2A4\uD2B8 \uC5C6\uC74C",noResultsPlaylist:"\uBC1C\uACAC\uB41C \uC7AC\uC0DD\uBAA9\uB85D \uC5C6\uC74C"},searchbar:"\uC6D0\uD558\uB294 \uAC83\uC744 \uAC80\uC0C9\uD558\uC138\uC694 (\uB9C1\uD06C\uB97C \uBD99\uC5EC\uB123\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4)",downloads:"\uB2E4\uC6B4\uB85C\uB4DC\uB4E4",toasts:{restoringQueue:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4 \uBCF5\uC6D0\uC911...",queueRestored:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4\uC774 \uBCF5\uC6D0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",addedToQueue:"\uB300\uAE30\uC5F4\uC5D0 {item}(\uC774)\uAC00 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",addedMoreToQueue:"\uB300\uAE30\uC5F4\uC5D0 {n} \uD56D\uBAA9\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyInQueue:"{item}(\uC774)\uAC00 \uC774\uBBF8 \uB300\uAE30\uC5F4\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4!",finishDownload:"{item} \uD56D\uBAA9\uC774 \uB2E4\uC6B4\uB85C\uB4DC \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",allDownloaded:"\uBAA8\uB4E0 \uB2E4\uC6B4\uB85C\uB4DC\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",refreshFavs:"\uC0C8\uB85C\uACE0\uCE68\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",loggingIn:"\uB85C\uADF8\uC778 \uD558\uB294 \uC911...",loggedIn:"\uB85C\uADF8\uC778 \uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyLogged:"\uC774\uBBF8 \uB85C\uADF8\uC778\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4",loginFailed:"\uB85C\uADF8\uC778 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",loggedOut:"\uB85C\uADF8\uC544\uC6C3 \uD558\uC600\uC2B5\uB2C8\uB2E4",cancellingCurrentItem:"\uD604\uC7AC \uD56D\uBAA9\uC744 \uCDE8\uC18C \uC911\uC785\uB2C8\uB2E4.",currentItemCancelled:"\uD56D\uBAA9\uC774 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",startAddingArtist:"{artist} \uC568\uBC94\uC744 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00 \uC911\uC785\uB2C8\uB2E4",finishAddingArtist:"{artist} \uC568\uBC94\uC774 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",startConvertingSpotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uD2B8\uB799\uC744 Deezer \uD2B8\uB799\uC73C\uB85C \uC804\uD658 \uC911\uC785\uB2C8\uB2E4",finishConvertingSpotifyPlaylist:"\uC2A4\uD504\uD1A0\uD30C\uC774 \uC7AC\uC0DD \uBAA9\uB85D\uC774 \uC804\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4",loginNeededToDownload:"\uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB824\uBA74 \uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4!",deezerNotAvailable:"Deezer \uC0AC\uC774\uD2B8\uB294 \uD604\uC7AC \uADC0\uD558\uC758 \uAD6D\uAC00\uC5D0\uC11C \uC0AC\uC6A9\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4. VPN\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.",startGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC9C4\uD589\uC911...",finishGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC0DD\uC131."},settings:{title:"\uC124\uC815",languages:"\uC5B8\uC5B4",login:{title:"\uB85C\uADF8\uC778",loggedIn:"{username}(\uC73C)\uB85C \uB85C\uADF8\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4",arl:{question:"ARL\uC744 \uC5B4\uB5BB\uAC8C \uD655\uC778\uD569\uB2C8\uAE4C?",update:"ARL \uC5C5\uB370\uC774\uD2B8"},logout:"\uB85C\uADF8\uC544\uC6C3",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC4F0\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C\uD569\uB2C8\uAE4C?"},appearance:{title:"\uC678\uAD00",slimDownloadTab:"\uC587\uC740 \uB2E4\uC6B4\uB85C\uB4DC \uD0ED",slimSidebar:"\uC587\uC740 \uC0AC\uC774\uB4DC\uBC14"},downloadPath:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uACBD\uB85C"},templates:{title:"\uD15C\uD50C\uB9BF",tracknameTemplate:"\uD2B8\uB799\uC774\uB984 \uD15C\uD50C\uB9BF",tracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uD2B8\uB799\uC774\uB984 \uBCC0\uC218 \uBAA9\uB85D",albumTracknameTemplate:"\uC568\uBC94 \uD2B8\uB799 \uD15C\uD50C\uB9BF",albumTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC568\uBC94 \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D",playlistTracknameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD2B8\uB799 \uD15C\uD50C\uB9BF",playlistTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC7AC\uC0DD \uBAA9\uB85D \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D"},folders:{title:"\uD3F4\uB354",createPlaylistFolder:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",playlistNameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD3F4\uB354 \uD15C\uD50C\uB9BF",createArtistFolder:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",artistNameTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createAlbumFolder:"\uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",albumNameTemplate:"\uC568\uBC94 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createCDFolder:"CD\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",createStructurePlaylist:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131",createSingleFolder:"\uC2F1\uAE00 \uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131"},trackTitles:{title:"\uD2B8\uB799 \uC81C\uBAA9",padTracks:"\uD2B8\uB799 \uCC44\uC6CC\uB123\uAE30",paddingSize:"\uCC44\uC6CC\uB123\uC744 \uD06C\uAE30",illegalCharacterReplacer:"\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAE00\uC790 \uB300\uCCB4"},downloads:{title:"\uB2E4\uC6B4\uB85C\uB4DC",queueConcurrency:"\uB3D9\uC2DC \uB2E4\uC6B4\uB85C\uB4DC",maxBitrate:{title:"\uC120\uD638\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F8\uAE4C\uC694?",y:"\uB124, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC138\uC694",n:"\uC544\uB1E8, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC9C0 \uB9C8\uC138\uC694",t:"\uD0DC\uADF8\uB9CC \uB36E\uC5B4\uC4F0\uC138\uC694",b:"\uC544\uB1E8, \uC591\uCABD \uB2E4 \uB194\uB450\uACE0 \uC911\uBCF5\uB418\uB294 \uD30C\uC77C\uC5D0 \uBC88\uD638\uB97C \uCD94\uAC00\uD558\uC138\uC694",e:"\uC544\uB1E8, \uD655\uC7A5\uBA85\uC744 \uBCC0\uACBD\uD558\uC138\uC694"},fallbackBitrate:"\uBE44\uD2B8\uB808\uC774\uD2B8 \uB300\uBE44\uCC45",fallbackSearch:"\uAC80\uC0C9 \uB300\uBE44\uCC45",logErrors:"\uC624\uB958 \uBC1C\uC0DD\uC2DC \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",logSearched:"\uAC80\uC0C9\uD55C \uD2B8\uB799\uC5D0 \uB300\uD55C \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",createM3U8File:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C \uC0DD\uC131",syncedLyrics:".lyr \uD30C\uC77C \uC0DD\uC131 (\uAC00\uC0AC \uB3D9\uAE30\uD654)",playlistFilenameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C\uC774\uB984 \uD15C\uD50C\uB9BF",saveDownloadQueue:"\uD504\uB85C\uADF8\uB7A8\uC744 \uB2EB\uC744 \uB54C \uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30\uC5F4 \uC800\uC7A5"},covers:{title:"\uC568\uBC94 \uCEE4\uBC84",saveArtwork:"\uCEE4\uBC84 \uC800\uC7A5",coverImageTemplate:"\uCEE4\uBC84 \uC774\uB984 \uD15C\uD50C\uB9BF",saveArtworkArtist:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uC800\uC7A5",artistImageTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uD15C\uD50C\uB9BF",localArtworkSize:"\uC678\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",embeddedArtworkSize:"\uB0B4\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",localArtworkFormat:{title:"\uBCC4\uB3C4\uB85C \uC800\uC7A5\uD560 \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 \uBB34\uC5C7\uC73C\uB85C \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",jpg:"jpeg \uC774\uBBF8\uC9C0",png:"png \uC774\uBBF8\uC9C0",both:"jpeg\uC640 png \uB458 \uB2E4"},jpegImageQuality:"JPEG \uC774\uBBF8\uC9C0 \uD488\uC9C8",embeddedArtworkPNG:"\uD3EC\uD568\uB41C \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 PNG\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4",embeddedPNGWarning:"PNG\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBC84\uADF8\uAC00 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4",imageSizeWarning:"x1200 \uD06C\uAE30\uB97C \uCD08\uACFC\uD574\uC11C\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBB38\uC81C\uAC00 \uC0DD\uAE38 \uC218 \uC788\uC2B5\uB2C8\uB2E4",coverDescriptionUTF8:"\uCEE4\uBC84 \uC124\uBA85\uC744 UTF8 \uD3EC\uB9F7\uC744 \uC774\uC6A9\uD574 \uC800\uC7A5\uD569\uB2C8\uB2E4 (iTunes \uCEE4\uBC84 \uC624\uB958 \uD574\uACB0)"},tags:{head:"\uC800\uC7A5\uD560 \uD0DC\uADF8\uB97C \uC120\uD0DD\uD558\uC138\uC694",title:"\uC81C\uBAA9",artist:"\uC544\uD2F0\uC2A4\uD2B8",album:"\uC568\uBC94",cover:"\uCEE4\uBC84",trackNumber:"\uD2B8\uB799 \uBC88\uD638",trackTotal:"\uC804\uCCB4 \uD2B8\uB799 \uD06C\uAE30",discNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",discTotal:"\uC804\uCCB4 \uB514\uC2A4\uD06C \uC218",albumArtist:"\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8",genre:"\uC7A5\uB974",year:"\uC5F0\uB3C4",date:"\uC77C\uC790",explicit:"\uB178\uACE8\uC801 \uAC00\uC0AC",isrc:"ISRC",length:"\uD2B8\uB799 \uAE38\uC774",barcode:"\uC568\uBC94 \uBC14\uCF54\uB4DC (UPC)",bpm:"BPM",replayGain:"\uB9AC\uD50C\uB808\uC774 \uAC8C\uC778",label:"\uC568\uBC94 \uB77C\uBCA8",lyrics:"\uBE44\uB3D9\uAE30 \uAC00\uC0AC",copyright:"\uC800\uC791\uAD8C",composer:"\uC791\uACE1\uAC00",involvedPeople:"\uAD00\uB828\uC788\uB294 \uC0AC\uB78C\uB4E4",source:"\uC18C\uC2A4\uC640 \uC74C\uC545 ID"},other:{title:"\uAE30\uD0C0",savePlaylistAsCompilation:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uD3B8\uCC2C\uBB3C\uB85C \uC800\uC7A5",useNullSeparator:"null \uAD6C\uBD84\uC790 \uC0AC\uC6A9",saveID3v1:"ID3v1 \uD0DC\uADF8 \uD615\uC2DD\uC73C\uB85C \uC800\uC7A5",multiArtistSeparator:{title:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC5B4\uB5BB\uAC8C \uAD6C\uBD84\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",nothing:"\uC8FC\uC694 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",default:"\uD45C\uC900 \uC2A4\uD399\uC744 \uC0AC\uC6A9",andFeat:"& \uAE30\uD638\uC640 feat \uC0AC\uC6A9.",using:'"{separator}" \uC0AC\uC6A9'},singleAlbumArtist:"\uC8FC\uC694 \uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",albumVariousArtists:'\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uC5D0 "Various Artists"(\uB2E4\uC591\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4) \uC720\uC9C0',removeAlbumVersion:'\uD2B8\uB799 \uC81C\uBAA9\uC5D0 "Album Version"(\uC568\uBC94 \uBC84\uC804) \uC81C\uAC70',removeDuplicateArtists:"\uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC758 \uD611\uC5C5 \uC81C\uAC70",dateFormat:{title:"FLAC \uD30C\uC77C\uC758 \uB0A0\uC9DC \uD615\uC2DD",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\uD2B9\uC9D1\uC5D0 \uCC38\uC5EC\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC5D0 \uD560 \uC218 \uC788\uB294 \uAC83\uC774 \uBB34\uC5C7\uC774 \uC788\uB098\uC694?",0:"\uC544\uBB34\uAC83\uB3C4 \uD558\uC9C0 \uC54A\uC74C",1:"\uC81C\uBAA9\uC5D0\uC11C \uC81C\uAC70",3:"\uC568\uBC94 \uC81C\uBAA9\uACFC \uD2B8\uB799\uC5D0\uC11C \uC81C\uAC70",2:"\uC81C\uBAA9\uC73C\uB85C \uC774\uB3D9"},titleCasing:"\uC81C\uBAA9 \uCF00\uC774\uC2F1",artistCasing:"\uC544\uD2F0\uC2A4\uD2B8 \uCF00\uC774\uC2F1",casing:{nothing:"\uBCC0\uD568\uC5C6\uC774 \uC720\uC9C0",lower:"\uC18C\uBB38\uC790\uB85C",upper:"\uB300\uBB38\uC790\uB85C",start:"\uAC01 \uB2E8\uC5B4 \uC55E \uAE00\uC790\uB97C \uB300\uBB38\uC790\uB85C",sentence:"\uBB38\uC7A5\uCC98\uB7FC"},previewVolume:"\uBBF8\uB9AC\uB4E3\uAE30 \uBCFC\uB968",executeCommand:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uD6C4 \uC2E4\uD589\uD560 \uBA85\uB839\uC5B4",description:"\uBE48\uCE78\uC73C\uB85C \uB450\uBA74 \uC544\uBB34 \uC77C\uB3C4 \uC5C6\uC2B5\uB2C8\uB2E4"}},spotify:{title:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify \uC0AC\uC6A9\uC790\uC774\uB984",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C \uD569\uB2C8\uAE4C?"},reset:"\uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uCD08\uAE30\uD654",resetMessage:"\uC815\uB9D0 \uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uB3CC\uC544\uAC00\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",save:"\uC800\uC7A5",toasts:{init:"\uC124\uC815\uC744 \uBD88\uB7EC\uC654\uC2B5\uB2C8\uB2E4!",update:"\uC0C8\uB85C\uC6B4 \uC124\uC815\uC73C\uB85C \uAC31\uC2E0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",reset:"\uC124\uC815\uC774 \uC6D0\uB798\uB300\uB85C \uCD08\uAE30\uD654 \uB418\uC5C8\uC2B5\uB2C8\uB2E4!",ARLcopied:"ARL\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},sidebar:{home:"\uD648",search:"\uAC80\uC0C9",charts:"\uCC28\uD2B8",favorites:"\uC990\uACA8\uCC3E\uAE30",linkAnalyzer:"\uB9C1\uD06C \uBD84\uC11D\uAE30",settings:"\uC124\uC815",about:"\uC815\uBCF4"},tracklist:{downloadSelection:"\uC120\uD0DD \uB2E4\uC6B4\uB85C\uB4DC"}},ph={globals:{welcome:"Welcome sa deemix",back:"bumalik",loading:"kumakarga",download:"I-download {thing}",by:"ayon sa {artist}",in:"sa {album}",download_hint:"I-download",play_hint:"I-play",toggle_download_tab_hint:"Palakihin/Paliitan",clean_queue_hint:"Natapos na ang Pag-alis",cancel_queue_hint:"Ikansel Lahat",open_downloads_folder:"Buksan ang Polder ng Download",cut:"i-cut",copy:"kopyahin",copyLink:"kopyahin ang link",copyImageLink:"kopyahin ang imahe sa link",copyDeezerLink:"kopyahin ang link ng deezer",paste:"idikit",listTabs:{empty:"",all:"lahat",top_result:"nangungunang resulta",album:"album | mga album",artist:"artist | mga artist",single:"single | mga single",title:"pamagat | mga pamagat",track:"track | mga track",trackN:"0 mga track | {n} track | {n} mga track",releaseN:"0 mga release | {n} release | {n} mga release",playlist:"playlist | mga playlist",compile:"pinagsama | mga pinagsama",ep:"ep | mga ep",bundle:"bundle | mga bundle",more:"Iba pang mga album",featured:"Ibinida sa",spotifyPlaylist:"playlist sa spotify | mga playlist sa spotify",releaseDate:"petsa ng paglabas",error:"error"}},about:{updates:{currentVersion:"Kasalukuyang version",versionNotAvailable:"H/P",updateAvailable:"Hindi mo ginagamit ang pinakabagong version: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Nakatutulong na mga Link",bugReports:"Report sa Bug",contributing:"Pagtulong",donations:"Mga donasiyon",license:"Lisensiya"},subtitles:{bugReports:"Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!",contributing:"Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!",donations:"Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!"},usesLibrary:"Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.",thanks:"Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.",upToDate:{text:"Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.",newsChannel:"news channel"},officialWebsite:"Opisyal na Website",officialRepo:"Opisyal na Library Repository",officialWebuiRepo:"Opisyal na Repository ng WebUI",officialSubreddit:"Opisyal na Subreddit",newsChannel:"News Channel",questions:{text:"Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.",subreddit:"subreddit"},beforeReporting:"Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.",beSure:"Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.",duplicateReports:"Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.",dontOpenIssues:"HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.",newUI:{text:"Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.",repo:"repo"},acceptFeatures:"Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.",otherLanguages:"Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!",understandingCode:"Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.",contributeWebUI:{text:"Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.",webui:"WebUI"},itsFree:"Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.",notObligated:"Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!",lincensedUnder:{text:"Ang aktibidad na ito ay lisensiyado sa {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Mga Chart",changeCountry:"Palitan ang Country",download:"I-download ang Chart"},errors:{title:"Mga error sa {name}",ids:{invalidURL:"Hindi makilala ang URL",unsupportedURL:"Hindi pa suportado ang URL",ISRCnotOnDeezer:"Ang Track ISRC ay hindi pwede sa Deezer",notYourPrivatePlaylist:"Hindi pwedeng i-download ang mga pribadong playlist ng iba.",spotifyDisabled:"Hindi mo nai-set nang tama ang Spotify Features.",trackNotOnDeezer:"Hindi mahanap ang track sa Deezer!",albumNotOnDeezer:"Hindi mahanap ang album sa Deezer!",notOnDeezer:"Hindi available ang track sa Deezer!",notEncoded:"Hindi pa nae-encode ang track!",notEncodedNoAlternative:"Hindi pa nae-encode ang track at walang mahanap na iba!",wrongBitrate:"Hindi mahanap ang track sa gusto mong bitrate.",wrongBitrateNoAlternative:"Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!",no360RA:"Hindi pwede ang track para sa Reality Audio 360.",notAvailable:"Walang available na track sa server ng Deezer!",notAvailableNoAlternative:"Walang available na track sa server ng Deezer at walang mahanap na iba!",noSpaceLeft:"Wala nang natitirang space sa iyong device!"}},favorites:{title:"Mga Paborito",noPlaylists:"Walang makitang mga Playlist",noAlbums:"Walang makitang mga Paboritong Album",noArtists:"Walang makitang mga Paboritong Artist",noTracks:"Walang makitang mga Paboritong Track"},home:{needTologin:"Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.",openSettings:"Buksan ang Mga Setting",sections:{popularPlaylists:"Mga sikat na playlist",popularAlbums:"Pinakamaraming pinakikinggang mga album"}},linkAnalyzer:{info:"Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.",useful:"Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.",linkNotSupported:"Hindi pa suportado ang link",linkNotSupportedYet:"Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Haba",diskNumber:"Bilang ng Disk",trackNumber:"Bilang ng Track",releaseDate:"Petsa ng Release",bpm:"BPM",label:"Label",recordType:"Uri ng Rekord",genres:"Mga Genre",tracklist:"Listahan ng Track"}},search:{startSearching:"Simulang Maghanap!",description:"Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer",fans:"{n} mga fan",noResults:"Walang resulta",noResultsTrack:"Walang mahanap na mga Track",noResultsAlbum:"Walang mahanap na mga Album",noResultsArtist:"Walang mahanap na mga Artist",noResultsPlaylist:"Walang mahanap na mga Playlist"},searchbar:"Maghanap ka ng gusto mo (o mag-paste ka ng link)",downloads:"mga download",toasts:{restoringQueue:"Binabalik ang download queue...",queueRestored:"Naibalik na ang download queue!",addedToQueue:"{item} ay naidagdag sa queue",addedMoreToQueue:"{n} naidagdag rin sa queue",alreadyInQueue:"{item} ay meron na sa queue!",finishDownload:"{item} ay natapos nang i-download.",allDownloaded:"Nadownload na lahat!",refreshFavs:"Narefresh na!",loggingIn:"Nagla-log in...",loggedIn:"Na-login na",alreadyLogged:"Nakalogin ka na",loginFailed:"Hindi maka-log in",loggedOut:"Na-logout na",cancellingCurrentItem:"Kinakansel ang item.",currentItemCancelled:"Nakansel na ang item.",startAddingArtist:"Idinadagdag si {artist} sa queue ng mga album",finishAddingArtist:"Naidagdag na si {artist} sa queue ng mga album",startConvertingSpotifyPlaylist:"Kino-convert ang mga track sa spotify papuntang Deezer",finishConvertingSpotifyPlaylist:"Naconvert na ang playlist sa Spotify",loginNeededToDownload:"Kailangan mong mag-login para madownload ang mga track!",deezerNotAvailable:"Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN."},settings:{title:"Mga Setting",languages:"Mga Wika",login:{title:"Login",loggedIn:"Ikaw ay naka-login sa pangalang {username}",arl:{question:"Paano ako makakuha ng sariling ARL?",update:"I-update ang ARL"},logout:"Logout",login:"Mag-login gamit ng deezer.com"},appearance:{title:"Hitsura",slimDownloadTab:"Pinaliit na download tab"},downloadPath:{title:"Paglalagyan ng Download"},templates:{title:"Mga Template",tracknameTemplate:"Template sa pangalan ng Track",albumTracknameTemplate:"Template sa track ng Album",playlistTracknameTemplate:"Template sa track ng Playlist"},folders:{title:"Mga Folder",createPlaylistFolder:"Gumawa ng folder para sa mga playlist",playlistNameTemplate:"Template sa folder ng Playlist",createArtistFolder:"Gumawa ng folder para sa artist",artistNameTemplate:"Template sa folder ng Artist",createAlbumFolder:"Gumawa ng folder para sa album",albumNameTemplate:"Template sa folder ng Album",createCDFolder:"Gumawa ng folder para sa mga CD",createStructurePlaylist:"Gumawa ng istraktura ng folder para sa mga playlist",createSingleFolder:"Gumawa ng istraktura ng folder para sa mga single"},trackTitles:{title:"Pamagat sa mga track",padTracks:"Mga track ng Pad",paddingSize:"Patungan ang laki ng padding",illegalCharacterReplacer:"Pamalit sa ilegal na Karakter"},downloads:{title:"Mga Download",queueConcurrency:"Mga Kasabay na Download",maxBitrate:{title:"Gustong Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Papatungan ko ba ang file?",y:"Oo, patungan mo ang file",n:"Hindi, huwag mong patungan ang file",t:"Patungan mo lang ang mga tag",b:"Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya",e:"Hindi, at huwag mong tignan ang mga extension"},fallbackBitrate:"Binabaang bitrate",fallbackSearch:"Maghanap para sa binabaan",logErrors:"Gumawa ng log file para sa mga error",logSearched:"Gumawa ng log file para sa mga hinanap na track",createM3U8File:"Gumawa ng file sa playlist",syncedLyrics:"Gumawa ng mga .lyr file (Mga Sync Lyric)",playlistFilenameTemplate:"Template sa pangalan ng Playlist file",saveDownloadQueue:"I-save ang download queue kapag isasara the app"},covers:{title:"Mga cover ng album",saveArtwork:"I-save ang mga Cover",coverImageTemplate:"Template ng pangalan ng cover",saveArtworkArtist:"I-save ang imahe ng artist",artistImageTemplate:"Template ng imahe ng artist",localArtworkSize:"Laki ng lokal na artwork",embeddedArtworkSize:"Laki ng Nakadikit na artwork",localArtworkFormat:{title:"Anong gusto mong format para sa mga lokal na artwork?",jpg:"jpeg na imahe",png:"png na imahe",both:"Parehong jpeg at png"},jpegImageQuality:"Kalidad ng JPEG na imahe",embeddedArtworkPNG:"I-save ang nakadikit na artwork bilang PNG",embeddedPNGWarning:"Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug",imageSizeWarning:"Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu",coverDescriptionUTF8:"I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)"},tags:{head:"Aling tag ang ise-save",title:"Pamagat",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Bilang ng Track",trackTotal:"Kabuuang Track",discNumber:"Bilang ng Disk",discTotal:"Kabuuang Disk",albumArtist:"Album Artist",genre:"Genre",year:"Taon",date:"Petsa",explicit:"Mga Explicit na Lyric",isrc:"ISRC",length:"Haba ng Track",barcode:"Barcode ng Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label ng Album",lyrics:"Unsynchronized na mga Lyric",syncedLyrics:"Synchronized na mga Lyric",copyright:"Karapatang Ari",composer:"Komposer",involvedPeople:"Mga Kasamang Tao"},other:{title:"Iba pa",savePlaylistAsCompilation:"I-save ang mga playlist bilang compilation",useNullSeparator:"Gumamit ng panghiwalay sa null",saveID3v1:"I-save rin ang ID3v1",multiArtistSeparator:{title:"Anong gusto mo para maihanay mga artist?",nothing:"I-save lang ang pangunahing artist",default:"Gamit ng standard na specification",andFeat:"Gamit ng & at feat.",using:'Gamit ng "{separator}"'},singleAlbumArtist:"I-save lang ang pangunahing album ng artist",albumVariousArtists:'Isama ang "Various Artists" sa mga Album Artist',removeAlbumVersion:'Tanggalin ang "Album Version" sa pamagat ng track',removeDuplicateArtists:"Tanggalin ang kombinasyon ng mga artist",dateFormat:{title:"Format ng petsa para sa mga FLAC file",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Anong gagawin ko sa mga itinampok na artist",0:"Wala",1:"Tanggalin mo sila sa Pamagat",3:"Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album",2:"Ilipat mo sila sa pamagat"},titleCasing:"Pagleletra sa Pamagat",artistCasing:"Pagleletra sa Artist",casing:{nothing:"Walang babaguhin",lower:"maliliit",upper:"MALALAKI",start:"Simula Ng Bawata Salita",sentence:"Kagaya ng pangungusap"},previewVolume:"Volume ng Preview",executeCommand:{title:"Mga gagawin pagkatapos ng download",description:"Hayaan lang na blangko kung wala"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"Paano ma-enable ang Spotify Features?"},reset:"Ibalik sa Dati",save:"I-save",toasts:{init:"Ikinarga ang mga Setting!",update:"In-update ang mga Setting!",ARLcopied:"Kinopya ang ARL sa clipboard"}},sidebar:{home:"tahanan",search:"maghanap",charts:"mga chart",favorites:"mga paborito",linkAnalyzer:"tagasuri ng link",settings:"mga setting",about:"tungkol sa"},tracklist:{downloadSelection:"Pagpipili ng download"}},zh_tw={globals:{welcome:"\u6B61\u8FCE\u4F7F\u7528 deemix",back:"\u8FD4\u56DE",loading:"\u8F09\u5165\u4E2D",download:"\u4E0B\u8F09 {thing}",by:"{artist}",in:"\u65BC {album}",download_hint:"\u4E0B\u8F09",play_hint:"\u64AD\u653E",toggle_download_tab_hint:"\u5C55\u958B/\u6298\u758A",clean_queue_hint:"\u6E05\u9664\u5B8C\u6210",cancel_queue_hint:"\u53D6\u6D88\u5168\u90E8",open_downloads_folder:"\u958B\u555F\u4E0B\u8F09\u8CC7\u6599\u593E",cut:"\u526A\u4E0B",copy:"\u8907\u88FD",copyLink:"\u8907\u88FD\u9023\u7D50",copyImageLink:"\u8907\u88FD\u5716\u7247\u9023\u7D50",copyDeezerLink:"\u8907\u88FD deezer \u9023\u7D50",paste:"\u8CBC\u4E0A",listTabs:{empty:"",all:"\u6240\u6709",top_result:"\u6700\u4F73\u7D50\u679C",album:"\u5C08\u8F2F|\u5C08\u8F2F",artist:"\u85DD\u4EBA|\u85DD\u4EBA",single:"\u55AE\u66F2",title:"\u6A19\u984C|\u6A19\u984C",track:"\u6B4C\u66F2|\u6B4C\u66F2",releaseN:"0 \u767C\u884C| {n} \u767C\u884C| {n} \u767C\u884C",playlist:"\u64AD\u653E\u6E05\u55AE|\u64AD\u653E\u6E05\u55AE",compile:"\u5408\u8F2F|\u5408\u8F2F",ep:"\u8FF7\u4F60\u5C08\u8F2F | \u8FF7\u4F60\u5C08\u8F2F",bundle:"bundle | bundles",more:"\u66F4\u591A\u5C08\u8F2F",featured:"\u51FA\u73FE\u65BC",spotifyPlaylist:"Spotify \u64AD\u653E\u6E05\u55AE | Spotify \u64AD\u653E\u6E05\u55AE",releaseDate:"\u767C\u5E03\u65E5\u671F",error:"\u932F\u8AA4",trackN:"0 \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2",albumN:"0 \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F",artistN:"0 \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA",playlistN:"0 \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE"}},about:{appStatus:{online:"\u4E0A\u7DDA\u4E2D",offline:"\u96E2\u7DDA\u4E2D"},updates:{currentVersion:"\u76EE\u524D\u7248\u672C",currentWebuiVersion:"\u76EE\u524D\u524D\u7AEF\u7248\u672C",versionNotAvailable:"N/A",updateAvailable:"\u60A8\u5C1A\u672A\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF1A{version}",deemixVersion:"deemix \u51FD\u793A\u5EAB\u7248\u672C"},titles:{usefulLinks:"\u5BE6\u7528\u9023\u7D50",bugReports:"\u932F\u8AA4\u5831\u544A",contributing:"\u8CA2\u737B",donations:"\u8D0A\u52A9",license:"\u4F7F\u7528\u8A31\u53EF"},subtitles:{bugReports:"\u4F7F\u7528 deemix \u6642\uFF0C\u9047\u5230\u4E86\u4EC0\u9EBC\u554F\u984C\u55CE\uFF1F\u6B61\u8FCE\u56DE\u5831\u932F\u8AA4\uFF01",contributing:"\u60A8\u60F3\u66FF\u9019\u500B\u5C08\u6848\u63D0\u51FA\u8CA2\u737B\u55CE\uFF1F\u60A8\u53EF\u4EE5\u900F\u904E\u8A31\u591A\u4E0D\u540C\u7684\u65B9\u5F0F\u4F86\u5E6B\u5FD9\uFF01",donations:"\u60A8\u60F3\u8981\u6350\u6B3E\u55CE\uFF1F\u53EF\u4EE5\u8D0A\u52A9\u6211\u5011\uFF01"},usesLibrary:"\u672C\u7A0B\u5F0F\u57FA\u65BC deemix \u51FD\u793A\u5EAB\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u8A72\u51FD\u793A\u5EAB\u4F86\u88FD\u4F5C\u81EA\u5DF1\u7684\u524D\u7AEF\u3002",thanks:"\u611F\u8B1D rtonno\u3001uhwot \u53CA lollilol \u5C0D\u65BC\u672C\u5C08\u6848\u7684\u8CA2\u737B\uFF0C\u53E6\u5916\u4E5F\u611F\u8B1D BasCurtiz \u5E6B\u5FD9\u88FD\u4F5C\u672C\u5C08\u6848\u7684\u5716\u793A",upToDate:{text:"\u60A8\u53EF\u65BC Telegram \u4E0A\u95DC\u6CE8{newsChannel}\u4EE5\u53D6\u5F97\u6700\u65B0\u52D5\u614B\u3002",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053"},officialWebsite:"\u5B98\u65B9\u7DB2\u7AD9",officialRepo:"\u5B98\u65B9\u51FD\u793A\u7248\u672C\u5EAB",officialWebuiRepo:"\u5B98\u65B9 WebUI \u7248\u672C\u5EAB",officialSubreddit:"\u5B98\u65B9 Subreddit",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053",questions:{text:"\u5982\u679C\u60A8\u5C0D\u672C\u7A0B\u5F0F\u6709\u7591\u554F\u6216\u554F\u984C\uFF0C\u8ACB\u5148\u5728{subreddit}\u4E0A\u641C\u5C0B\u89E3\u6C7A\u65B9\u6848\u3002\u5982\u679C\u627E\u4E0D\u5230\u4EFB\u4F55\u89E3\u6C7A\u65B9\u6CD5\uFF0C\u5247\u53EF\u4EE5\u5728\u6211\u5011\u7684 subreddit \u4E0A\u767C\u5E03\u8207\u60A8\u554F\u984C\u76F8\u95DC\u7684\u6587\u7AE0\u3002",subreddit:" subreddit "},beforeReporting:"\u5728\u5831\u544A\u932F\u8AA4\u4E4B\u524D\uFF0C\u8ACB\u78BA\u4FDD\u60A8\u6B63\u5728\u904B\u884C\u6700\u65B0\u7248\u672C\u7684\u7A0B\u5F0F\uFF0C\u4E26\u4E14\u8981\u5831\u544A\u7684\u5167\u5BB9\u771F\u7684\u662F\u4E00\u500B\u932F\u8AA4\uFF0C\u800C\u4E0D\u50C5\u662F\u60A8\u81EA\u5DF1\u9047\u5230\u7684\u554F\u984C\u3002",beSure:"\u8ACB\u78BA\u4FDD\u60A8\u6240\u60F3\u56DE\u5831\u7684\u932F\u8AA4\u53EF\u5728\u5176\u4ED6\u53F0\u88DD\u7F6E\u4E0A\u518D\u73FE\u7684\uFF0C\u4E26\u4E14\u8ACB\u52FF\u56DE\u5831\u5DF2\u77E5\u932F\u8AA4\u3002",duplicateReports:"\u8ACB\u6CE8\u610F\uFF0C\u91CD\u8907\u7684\u932F\u8AA4\u5831\u544A\u5C07\u88AB\u79FB\u9664\u3002",dontOpenIssues:"\u8ACB\u52FF\u900F\u904E\u672C\u7248\u672C\u5EAB\u7684 Issues \u554F\u554F\u984C\uFF0C\u6211\u5011\u958B subreddit \u662F\u6709\u539F\u56E0\u7684\u3002",newUI:{text:"\u5982\u679C\u60A8\u7CBE\u901A Python\uFF0C\u5247\u53EF\u4EE5\u5617\u8A66\u4F7F\u7528\u6211\u5011\u7684\u51FD\u793A\u5EAB\u4F86\u5EFA\u7ACB\u65B0\u7684 UI\uFF0C\u6216\u8005\u900F\u904E{repo}\u63D0\u51FA\u932F\u8AA4\u76F8\u95DC\u7684 PR\u3002",repo:"\u6211\u5011\u7684\u7248\u672C\u5EAB"},acceptFeatures:"\u6211\u4E5F\u6B61\u8FCE\u4F60\u63D0\u4EA4\u65B0\u7684\u529F\u80FD\uFF0D\u4F46\u524D\u63D0\u662F\u9019\u500B\u529F\u80FD\u4E0D\u80FD\u904E\u65BC\u8907\u96DC\uFF0D\u904E\u65BC\u8907\u96DC\u7684\u529F\u80FD\uFF0C\u61C9\u88AB\u65B0\u589E\u81F3\u7A0B\u5F0F\u5167\u800C\u975E\u51FD\u793A\u5EAB\u5167\u3002",otherLanguages:"\u5982\u679C\u60A8\u7CBE\u901A\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u5617\u8A66\u5C07 deemix \u79FB\u690D\u5230\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\u4E2D\uFF01",understandingCode:"\u4F60\u9700\u8981\u5E6B\u52A9\u4E86\u89E3\u672C\u5C08\u6848\u7684\u7A0B\u5F0F\u78BC\u55CE\uFF1F\u53EA\u9700\u5728 Telegram \u6216 Reddit \u4E0A\u6309\u4E00\u4E0B RemixDev\u3002",contributeWebUI:{text:"\u5982\u679C\u4F60\u719F\u6089 Vue.js\uFF08JavaScript\uFF09\u3001HTML \u6216 CSS\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u53C3\u8207 {webui} \u524D\u7AEF\u7684\u8CA2\u737B\u3002",webui:"WebUI"},itsFree:"\u8A18\u5F97\uFF0C\u9019\u662F\u4E00\u500B\u514D\u8CBB\u7684\u5C08\u6848\uFF0C\u5728\u652F\u6301\u958B\u767C\u4EBA\u54E1\u4E4B\u524D\uFF0C\u61C9\u8A72\u5148\u652F\u6301\u4F60\u559C\u6B61\u7684\u6B4C\u624B\u6216\u85DD\u4EBA\u3002",notObligated:"\u5225\u8A8D\u70BA\u4F60\u6709\u7FA9\u52D9\u6350\u6B3E\uFF0C\u7121\u8AD6\u5982\u4F55\u6211\u5011\u90FD\u611F\u8B1D\u60A8\uFF01",lincensedUnder:{text:"\u672C\u4F5C\u54C1\u4F7F\u7528 {gpl3} \u8A31\u53EF\u6388\u6B0A\u3002",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u6392\u884C\u699C",changeCountry:"\u6539\u8B8A\u570B\u5BB6",download:"\u4E0B\u8F09\u6392\u884C\u699C"},errors:{title:"{name} \u7684\u932F\u8AA4",ids:{invalidURL:"\u7121\u6CD5\u8B58\u5225\u7DB2\u5740",unsupportedURL:"\u5C1A\u4E0D\u652F\u6301\u6B64\u7DB2\u5740",ISRCnotOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u4F7F\u7528\u55AE\u66F2 ISRC",notYourPrivatePlaylist:"\u60A8\u7121\u6CD5\u4E0B\u8F09\u4ED6\u4EBA\u7684\u79C1\u4EBA\u64AD\u653E\u6E05\u55AE\u3002",spotifyDisabled:"Spotify \u529F\u80FD\u672A\u6B63\u78BA\u8A2D\u5B9A\u3002",trackNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u6B4C\u66F2\uFF01",albumNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u5C08\u8F2F\uFF01",notOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notEncoded:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF01",notEncodedNoAlternative:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",wrongBitrate:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\u3002",wrongBitrateNoAlternative:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",no360RA:"\u672C\u6B4C\u66F2\u4E26\u4E0D\u652F\u63F4 Reality Audio 360\u3002",notAvailable:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notAvailableNoAlternative:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",noSpaceLeft:"\u672C\u88DD\u7F6E\u53EF\u7528\u7A7A\u9593\u5DF2\u7528\u76E1\uFF01",albumDoesntExists:"\u672C\u6B4C\u66F2\u7684\u5C08\u8F2F\u4E0D\u5B58\u5728\uFF0C\u7121\u6CD5\u53D6\u5F97\u8CC7\u8A0A"}},favorites:{title:"\u6536\u85CF",noPlaylists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u64AD\u653E\u6E05\u55AE",noAlbums:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u5C08\u8F2F",noArtists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u85DD\u4EBA",noTracks:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u6B4C\u66F2"},home:{needTologin:"\u60A8\u9700\u8981\u5148\u767B\u5165 Deezer \u5E33\u6236\uFF0C\u7136\u5F8C\u624D\u80FD\u958B\u59CB\u4E0B\u8F09\u3002",openSettings:"\u958B\u555F\u8A2D\u5B9A",sections:{popularPlaylists:"\u71B1\u9580\u64AD\u653E\u6E05\u55AE",popularAlbums:"\u71B1\u9580\u5C08\u8F2F"}},linkAnalyzer:{info:"\u60A8\u53EF\u4EE5\u900F\u904E\u6B64\u5DE5\u5177\u53D6\u5F97\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u9023\u7D50\u7684\u76F8\u95DC\u8CC7\u8A0A\u3002",useful:"\u6BD4\u5982\uFF0C\u7576\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u6B4C\u66F2\u7121\u6CD5\u5728\u60A8\u7684\u570B\u5BB6\u64AD\u653E\uFF0C\u4E14\u60A8\u60F3\u77E5\u9053\u54EA\u4E9B\u570B\u5BB6\u53EF\u4EE5\u64AD\u653E\u6B64\u6B4C\u66F2\u6642\uFF0C\u60A8\u53EF\u4F7F\u7528\u6B64\u5DE5\u5177\u3002",linkNotSupported:"\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50",linkNotSupportedYet:"\u6211\u5011\u4F3C\u4E4E\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50\uFF0C\u8ACB\u6539\u7528\u5176\u4ED6\u9023\u7D50\u3002",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u9577\u5EA6",diskNumber:"\u5149\u789F\u7DE8\u865F",trackNumber:"\u6B4C\u66F2\u7DE8\u865F",releaseDate:"\u767C\u5E03\u65E5\u671F",bpm:"BPM",label:"\u6A19\u7C64",recordType:"\u5A92\u9AD4\u985E\u578B",genres:"\u985E\u578B",tracklist:"\u6B4C\u66F2\u6E05\u55AE"}},search:{startSearching:"\u958B\u59CB\u641C\u5C0B\uFF01",description:"\u60A8\u53EF\u4EE5\u641C\u7D22\u6B4C\u66F2\u540D\u7A31\u3001\u5C08\u8F2F\u3001\u85DD\u4EBA\u3001\u64AD\u653E\u6E05\u55AE...\u7B49\u7B49\u3002\u60A8\u4E5F\u53EF\u4EE5\u76F4\u63A5\u8CBC\u4E0A Deezer \u7DB2\u5740\u3002",fans:"{n} \u500B\u7C89\u7D72",noResults:"\u7121\u641C\u5C0B\u7D50\u679C",noResultsTrack:"\u627E\u4E0D\u5230\u6B4C\u66F2",noResultsAlbum:"\u627E\u4E0D\u5230\u5C08\u8F2F",noResultsArtist:"\u627E\u4E0D\u5230\u85DD\u4EBA",noResultsPlaylist:"\u627E\u4E0D\u5230\u64AD\u653E\u6E05\u55AE"},searchbar:"\u641C\u5C0B\u4EFB\u4F55\u95DC\u9375\u5B57\uFF08\u6216\u8CBC\u4E0A\u9023\u7D50\uFF09",downloads:"\u4E0B\u8F09",toasts:{restoringQueue:"\u6B63\u5728\u6062\u5FA9\u4E0B\u8F09\u6E05\u55AE...",queueRestored:"\u4E0B\u8F09\u6E05\u55AE\u5DF2\u6062\u5FA9\uFF01",addedToQueue:"\u5DF2\u65B0\u589E {item} \u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",addedMoreToQueue:"\u5DF2\u65B0\u589E {n} \u500B\u9805\u76EE\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",alreadyInQueue:"{item} \u5DF2\u5728\u4E0B\u8F09\u6E05\u55AE\u4E2D\uFF01",finishDownload:"{item} \u5DF2\u5B8C\u6210\u4E0B\u8F09\u3002",allDownloaded:"\u5168\u90E8\u4E0B\u8F09\u5B8C\u6210\uFF01",refreshFavs:"\u5237\u65B0\u5B8C\u6210\uFF01",loggingIn:"\u767B\u5165\u4E2D...",loggedIn:"\u767B\u5165",alreadyLogged:"\u5DF2\u767B\u5165",loginFailed:"\u7121\u6CD5\u767B\u5165",loggedOut:"\u767B\u51FA",cancellingCurrentItem:"\u53D6\u6D88\u7576\u524D\u9805\u76EE\u3002",currentItemCancelled:"\u7576\u524D\u9805\u76EE\u5DF2\u53D6\u6D88\u3002",startAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",finishAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",startConvertingSpotifyPlaylist:"\u5C07 Spotify \u6B4C\u66F2\u8F49\u63DB\u70BA Deezer \u6B4C\u66F2\u4E2D",finishConvertingSpotifyPlaylist:"\u5DF2\u8F49\u63DB Spotify \u64AD\u653E\u6E05\u55AE",loginNeededToDownload:"\u60A8\u9700\u8981\u767B\u5165\u624D\u80FD\u4E0B\u8F09\u6B4C\u66F2\uFF01",deezerNotAvailable:"Deezer \u5728\u60A8\u6240\u5728\u7684\u570B\u5BB6/\u5730\u5340\u7121\u6CD5\u4F7F\u7528\u3002\u8ACB\u60A8\u4F7F\u7528 VPN\u3002",startGeneratingItems:"\u751F\u6210 {n} \u500B\u9805\u76EE\u4E2D...",finishGeneratingItems:"\u5DF2\u751F\u6210 {n} \u500B\u9805\u76EE."},settings:{title:"\u8A2D\u5B9A",languages:"\u8A9E\u8A00",login:{title:"\u767B\u5165",loggedIn:"\u76EE\u524D\u4EE5 {username} \u7684\u8EAB\u4EFD\u767B\u5165",arl:{question:"\u5982\u4F55\u53D6\u5F97\u81EA\u5DF1\u7684 ARL\uFF1F",update:"\u66F4\u65B0 ARL"},logout:"\u767B\u51FA",login:"\u900F\u904E deezer.com \u767B\u5165"},appearance:{title:"\u5916\u89C0",slimDownloadTab:"\u8584\u578B\u4E0B\u8F09\u5206\u9801",slimSidebar:"\u8584\u578B\u6E2C\u6B04"},downloadPath:{title:"\u4E0B\u8F09\u76EE\u9304"},templates:{title:"\u6A94\u6848\u540D\u7A31\u683C\u5F0F",tracknameTemplate:"\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",albumTracknameTemplate:"\u5C08\u8F2F\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",playlistTracknameTemplate:"\u64AD\u653E\u6E05\u55AE\u55AE\u66F2\u540D\u7A31\u683C\u5F0F"},folders:{title:"\u8CC7\u6599\u593E",createPlaylistFolder:"\u66FF\u64AD\u653E\u6E05\u55AE\u5EFA\u7ACB\u8CC7\u6599\u593E",playlistNameTemplate:"\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createArtistFolder:"\u66FF\u85DD\u4EBA\u5EFA\u7ACB\u8CC7\u6599\u593E",artistNameTemplate:"\u85DD\u4EBA\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createAlbumFolder:"\u66FF\u5C08\u8F2F\u5EFA\u7ACB\u8CC7\u6599\u593E",albumNameTemplate:"\u5C08\u8F2F\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createCDFolder:"\u66FF CD \u5EFA\u7ACB\u8CC7\u6599\u593E",createStructurePlaylist:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u7D50\u69CB",createSingleFolder:"\u5EFA\u7ACB\u55AE\u66F2\u8CC7\u6599\u593E\u7D50\u69CB"},trackTitles:{title:"\u55AE\u66F2\u540D\u7A31",padTracks:"\u6B4C\u66F2\u6578\u76EE\u5B57\u4E32\u586B\u5145",paddingSize:"\u8986\u84CB\u6578\u76EE\u5B57\u4E32\u586B\u5145\u9577\u5EA6",illegalCharacterReplacer:"\u66FF\u63DB\u975E\u6CD5\u5B57\u5143"},downloads:{title:"\u4E0B\u8F09",queueConcurrency:"\u4E26\u884C\u4E0B\u8F09",maxBitrate:{title:"\u504F\u597D\u4F4D\u5143\u7387",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u662F\u5426\u8981\u8986\u84CB\u6A94\u6848\uFF1F",y:"\u662F\uFF0C\u8986\u84CB\u6A94\u6848",n:"\u5426\uFF0C\u8ACB\u52FF\u8986\u84CB\u6A94\u6848",t:"\u50C5\u8986\u84CB\u6A19\u7C64",b:"\u5426\uFF0C\u4FDD\u7559\u5169\u500B\u6A94\u6848\u4E26\u5728\u91CD\u8907\u7684\u6A94\u540D\u4E2D\u52A0\u5165\u4E00\u500B\u6578\u5B57",e:"\u5426\uFF0C\u4E0D\u9867\u616E\u9644\u6A94\u540D"},fallbackBitrate:"\u7576\u504F\u597D\u4F4D\u5143\u7387\u7121\u6CD5\u4E0B\u8F09\u6642\uFF0C\u4E0B\u8F09\u5176\u4ED6\u7248\u672C",fallbackSearch:"\u7576\u641C\u5C0B\u7D50\u679C\u7121\u6CD5\u4F7F\u7528\u6642\uFF0C\u4F7F\u7528\u5176\u4ED6\u641C\u5C0B\u7D50\u679C",logErrors:"\u8A18\u9304\u932F\u8AA4\u81F3\u65E5\u8A8C",logSearched:"\u8A18\u9304\u641C\u5C0B\u6B4C\u66F2\u81F3\u65E5\u8A8C",createM3U8File:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u6A94\u6848",syncedLyrics:"\u5EFA\u7ACB .lyr \u6A94\u6848\uFF08\u540C\u6B65\u6B4C\u8A5E\uFF09",playlistFilenameTemplate:"\u64AD\u653E\u6E05\u55AE\u6A94\u540D\u683C\u5F0F",saveDownloadQueue:"\u95DC\u9589\u61C9\u7528\u7A0B\u5F0F\u6642\uFF0C\u4FDD\u5B58\u4E0B\u8F09\u6E05\u55AE"},covers:{title:"\u5C08\u8F2F\u5C01\u9762",saveArtwork:"\u4FDD\u5B58\u5C01\u9762",coverImageTemplate:"\u5C01\u9762\u6A94\u540D\u683C\u5F0F",saveArtworkArtist:"\u4FDD\u5B58\u85DD\u4EBA\u7167\u7247",artistImageTemplate:"\u85DD\u4EBA\u7167\u7247\u6A94\u540D\u683C\u5F0F",localArtworkSize:"\u672C\u5730\u5716\u7247\u5927\u5C0F",embeddedArtworkSize:"\u5D4C\u5165\u5716\u7247\u5927\u5C0F",localArtworkFormat:{title:"\u60A8\u5E0C\u671B\u672C\u5730\u5716\u7247\u63A1\u7528\u54EA\u7A2E\u683C\u5F0F\uFF1F",jpg:"JPEG",png:"PNG",both:"JPEG \u53CA PNG"},jpegImageQuality:"JPEG \u5F71\u50CF\u54C1\u8CEA",embeddedArtworkPNG:"\u5C07\u5D4C\u5165\u5F0F\u5716\u7247\u5B58\u70BA PNG",embeddedPNGWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u652F\u63F4 PNG\uFF0C\u7D50\u679C\u53EF\u80FD\u6709\u8AA4",imageSizeWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u4F7F\u7528\u9AD8\u65BC x1200 \u7684\u5716\u7247\uFF0C\u60A8\u53EF\u80FD\u6703\u9047\u5230\u554F\u984C",coverDescriptionUTF8:"\u4F7F\u7528 UTF8 \u4FDD\u5B58\u5C01\u9762\u6558\u8FF0\uFF08\u4FEE\u6B63 iTunes \u5C08\u8F2F\u5C01\u9762)"},tags:{head:"\u8981\u4FDD\u5B58\u54EA\u4E9B\u6A19\u7C64",title:"\u6A19\u984C",artist:"\u85DD\u4EBA",album:"\u5C08\u8F2F",cover:"\u5C08\u8F2F\u5C01\u9762",trackNumber:"\u55AE\u66F2\u7DE8\u865F",trackTotal:"\u7E3D\u8A08\u6B4C\u66F2",discNumber:"\u5149\u789F\u7DE8\u865F",discTotal:"\u5149\u789F\u7E3D\u6578",albumArtist:"\u5C08\u8F2F\u85DD\u4EBA",genre:"\u985E\u578B",year:"\u5E74",date:"\u65E5\u671F",explicit:"\u4E0D\u826F\u6B4C\u8A5E",isrc:"ISRC",length:"\u55AE\u66F2\u9577\u5EA6",barcode:"\u5C08\u8F2F\u689D\u78BC\uFF08UPC\uFF09",bpm:"BPM",replayGain:"\u91CD\u64AD\u589E\u76CA\uFF08Replay Gain\uFF09",label:"\u5C08\u8F2F\u6A19\u7C64",lyrics:"\u4E0D\u540C\u6B65\u7684\u6B4C\u8A5E",syncedLyrics:"\u540C\u6B65\u6B4C\u8A5E",copyright:"\u7248\u6B0A",composer:"\u4F5C\u66F2\u5BB6",involvedPeople:"\u76F8\u95DC\u85DD\u4EBA",source:"\u4F86\u6E90\u6B4C\u66F2 ID"},other:{title:"\u5176\u4ED6",savePlaylistAsCompilation:"\u5C07\u64AD\u653E\u6E05\u55AE\u5132\u5B58\u70BA\u5408\u8F2F",useNullSeparator:"\u4F7F\u7528\u7A7A\u5206\u9694\u7B26",saveID3v1:"\u4FDD\u5B58 ID3v1 \u6A19\u7C64",multiArtistSeparator:{title:"\u5982\u4F55\u9694\u958B\u4F5C\u8005\u540D\u7A31\uFF1F",nothing:"\u50C5\u4FDD\u7559\u4E3B\u4F5C\u8005",default:"\u4F7F\u7528\u6A19\u6E96\u898F\u683C",andFeat:"\u4F7F\u7528 & \u53CA feat.",using:'\u4F7F\u7528 "{separator}"'},singleAlbumArtist:"\u50C5\u5132\u5B58\u5C08\u8F2F\u4E3B\u4F5C\u8005\u540D\u7A31",albumVariousArtists:"\u65BC\u5C08\u8F2F\u4F5C\u8005\u6B04\u4F4D\u4E2D\u4FDD\u7559\u300C\u591A\u4F4D\u85DD\u4EBA (Various Artists)\u300D\u5B57\u6A23",removeAlbumVersion:"\u65BC\u55AE\u66F2\u540D\u7A31\u4E2D\u79FB\u9664\u300C\u5C08\u8F2F\u7248\u672C (Album Version)\u300D\u5B57\u6A23",removeDuplicateArtists:"\u79FB\u9664\u91CD\u8907\u7684\u4F5C\u8005\u540D\u7A31",dateFormat:{title:"FLAC \u6A94\u6848\u65E5\u671F\u683C\u5F0F",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u5982\u4F55\u8655\u7406\u5BA2\u4E32\u85DD\u4EBA\u540D\u7A31 (\u5982 feat. \u7B49\u5B57\u6A23) \uFF1F",0:"\u4EC0\u9EBC\u90FD\u4E0D\u505A",1:"\u5F9E\u6A19\u984C\u4E2D\u522A\u9664",3:"\u5F9E\u6A19\u984C\u548C\u5C08\u8F2F\u6A19\u984C\u4E2D\u522A\u9664",2:"\u5C07\u5176\u79FB\u81F3\u6A19\u984C"},titleCasing:"\u6B4C\u66F2\u540D\u7A31\u5927\u5C0F\u5BEB",artistCasing:"\u85DD\u4EBA\u540D\u7A31\u5927\u5C0F\u5BEB",casing:{nothing:"\u4FDD\u6301\u4E0D\u8B8A",lower:"\u5C0F\u5BEB",upper:"\u5927\u5BEB",start:"\u5B57\u8A5E\u958B\u982D\u5927\u5BEB",sentence:"\u53E5\u5B50\u5927\u5BEB"},previewVolume:"\u9810\u89BD\u97F3\u91CF",executeCommand:{title:"\u4E0B\u8F09\u5F8C\u57F7\u884C\u6307\u4EE4",description:"\u7559\u7A7A\u5247\u4E0D\u57F7\u884C"}},spotify:{title:"Spotify \u529F\u80FD",clientID:"Spotify \u5BA2\u6236\u7AEF ID",clientSecret:"Spotify \u5BA2\u6236\u7AEF\u5BC6\u78BC",username:"Spotify \u7528\u6236\u540D",question:"\u5982\u4F55\u555F\u7528 Spotify \u529F\u80FD\uFF1F"},reset:"\u91CD\u8A2D\u81F3\u9810\u8A2D",resetMessage:"\u4F60\u78BA\u5B9A\u8981\u91CD\u8A2D\u6240\u6709\u8A2D\u5B9A\u55CE\uFF1F",save:"\u5132\u5B58",toasts:{init:"\u5DF2\u8F09\u5165\u8A2D\u5B9A\uFF01",update:"\u5DF2\u66F4\u65B0\u8A2D\u5B9A\uFF01",reset:"\u5DF2\u91CD\u8A2D\u8A2D\u5B9A\uFF01",ARLcopied:"\u5DF2\u8907\u88FD ARL \u5230\u526A\u8CBC\u7C3F\u4E2D"}},sidebar:{home:"\u9996\u9801",search:"\u641C\u5C0B",charts:"\u6392\u884C\u699C",favorites:"\u6536\u85CF",linkAnalyzer:"\u9023\u7D50\u5206\u6790",settings:"\u8A2D\u5B9A",about:"\u95DC\u65BC"},tracklist:{downloadSelection:"\u4E0B\u8F09\u6240\u9078"}},pl={globals:{welcome:"Witaj w deemix",back:"wr\xF3\u0107",loading:"\u0142adowanie",download:"Pobierz {thing}",by:"od {artist}",in:"w {album}",download_hint:"Pobierz",play_hint:"Odtw\xF3rz",toggle_download_tab_hint:"Rozszerz/Zwi\u0144",clean_queue_hint:"Wyczy\u015B\u0107 uko\u0144czone",cancel_queue_hint:"Anuluj wszystkie",open_downloads_folder:"Otw\xF3rz pobrane",cut:"wytnij",copy:"kopiuj",copyLink:"kopiuj link",copyImageLink:"kopiuj link obrazu",copyDeezerLink:"kopiuj link deezera",paste:"wklej",listTabs:{empty:"",all:"wszystkie",top_result:"najlepszy wynik",album:"album | albumy",artist:"artysta | arty\u015Bci",single:"singiel | single",title:"tytu\u0142 | tytu\u0142y",track:"utw\xF3r | utwory",trackN:"0 utwor\xF3w | {n} utw\xF3r | {n} utwor\xF3w",releaseN:"0 wyda\u0144 | {n} wydanie | {n} wyda\u0144",playlist:"playlista | playlisty",compile:"kompilacja | kompilacje",ep:"ep | ep",bundle:"zestaw | zestawy",more:"Wi\u0119cej album\xF3w",featured:"Wyst\u0119puje w",spotifyPlaylist:"playlista spotify | playlisty spotify",releaseDate:"data wydania",error:"b\u0142\u0105d"}},about:{updates:{currentVersion:"Obecna wersja",versionNotAvailable:"N/A",updateAvailable:"Nie masz najnowszej dost\u0119pnej wersji: {version}",deemixVersion:"Wersja biblioteki deemix"},titles:{usefulLinks:"Przydatne linki",bugReports:"Zg\u0142oszenia b\u0142\u0119d\xF3w",contributing:"Wk\u0142ad",donations:"Dotacje",license:"Licencja"},subtitles:{bugReports:"Czy deemix dzia\u0142a inaczej ni\u017C powinien? Powiedz nam!",contributing:"Chcesz pom\xF3c w tym projekcie? Mo\u017Cesz to zrobi\u0107 na wiele sposob\xF3w!",donations:"Chcesz pom\xF3c finansowo? Mo\u017Cesz nas wesprze\u0107!"},usesLibrary:"Ten program u\u017Cywa biblioteki deemix, kt\xF3rej mo\u017Cesz u\u017Cy\u0107 do stworzenia w\u0142asnego interfejsu u\u017Cytkownika",thanks:"Podzi\u0119kowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.",upToDate:{text:"B\u0105d\u017A na bie\u017C\u0105co z aktualizacjami do\u0142\u0105czaj\u0105c do {newsChannel} na Telegramie.",newsChannel:"kana\u0142u wiadomo\u015Bci"},officialWebsite:"Oficjalna strona",officialRepo:"Oficjalne repozytorium biblioteki",officialWebuiRepo:"Oficjalne repozytorium WebUI",officialSubreddit:"Oficjalny subreddit",newsChannel:"Kana\u0142 wiadomo\u015Bci",questions:{text:"Je\u017Celi masz pytania lub problemy zwi\u0105zane z aplikacj\u0105, szukaj odpowiedzi na {subreddit}. Je\u017Celi niczego nie znajdziesz, stw\xF3rz post na subreddicie.",subreddit:"subreddicie"},beforeReporting:"Przed zg\u0142aszaniem b\u0142\u0119du upewnij si\u0119, \u017Ce masz najnowsz\u0105 wersje aplikacji i to, co chcesz zg\u0142osi\u0107 jest b\u0142\u0119dem, a nie usterk\u0105 z twojej strony.",beSure:"Upewnij si\u0119, \u017Ce b\u0142\u0105d mo\u017Cna odtworzy\u0107 na innych urz\u0105dzeniach i NIE ZG\u0141ASZAJ b\u0142\u0119d\xF3w, kt\xF3re zosta\u0142y ju\u017C zg\u0142oszone",duplicateReports:"Identyczne zg\u0142oszenia b\u0142\u0119d\xF3w b\u0119d\u0105 zamykane, wi\u0119c zwr\xF3\u0107 na to uwag\u0119.",dontOpenIssues:"NIE OTWIERAJ zg\u0142osze\u0144 do zadawania pyta\u0144, od tego jest subreddit.",newUI:{text:"Je\u017Celi dobrze znasz Pythona, mo\u017Cesz spr\xF3bowa\u0107 stworzy\u0107 nowy interfejs dla aplikacji u\u017Cywaj\u0105c bazowej biblioteki lub naprawia\u0107 b\u0142\u0119dy w bibliotece tworz\u0105c pull request w {repo}.",repo:"repozytorium"},acceptFeatures:"Przyjmuj\u0119 nowe funkcje, ale nic z\u0142o\u017Conego, co mog\u0142oby by\u0107 zaimplementowane w aplikacji, a nie w bibliotece.",otherLanguages:"Je\u017Celi dobrze znasz inny j\u0119zyk programowania, mo\u017Cesz spr\xF3bowa\u0107 przeportowa\u0107 deemix do innych j\u0119zyk\xF3w!",understandingCode:"Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.",contributeWebUI:{text:"Je\u017Celi znasz Vue.js (JavaScript), HTML lub CSS, mo\u017Cesz pom\xF3c w {webui}.",webui:"WebUI"},itsFree:"Pami\u0119taj, \u017Ce ten projekt jest darmowy i powiniene\u015B wspiera\u0107 artyst\xF3w przed tw\xF3rcami aplikacji.",notObligated:"Nie czuj potrzeby p\u0142acenia, i tak ci\u0119 doceniam!",lincensedUnder:{text:"Ten projekt jest chroniony licencj\u0105 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Wykresy",changeCountry:"Zmie\u0144 kraj",download:"Pobierz wykres"},errors:{title:"B\u0142\u0119dy dla {name}",ids:{invalidURL:"Nierozpoznany URL",unsupportedURL:"Niewspierany URL",ISRCnotOnDeezer:"ISRC nie jest dost\u0119pne na Deezerze",notYourPrivatePlaylist:"Nie mo\u017Cesz pobiera\u0107 czyich\u015B prywatnych playlist.",spotifyDisabled:"Funkcje Spotify nie s\u0105 poprawnie ustawione",trackNotOnDeezer:"Nie znaleziono utworu na Deezerze!",albumNotOnDeezer:"Nie znaleziono albumu na Deezerze!",notOnDeezer:"Utw\xF3r nie jest dost\u0119pny na Deezerze!",notEncoded:"Utw\xF3r nie jest jeszcze zakodowany!",notEncodedNoAlternative:"Utw\xF3r nie jest jeszcze zakodowany i nie mo\u017Cna znale\u017A\u0107 alternatywy!",wrongBitrate:"Nie znaleziono utworu w wybranym bitrate.",wrongBitrateNoAlternative:"Nie znaleziono utworu w wybranym bitrate i nie mozna znale\u017A\u0107 alternatywy!",no360RA:"Utw\xF3r nie jest dost\u0119pny w Reality Audio 360.",notAvailable:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera!",notAvailableNoAlternative:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera i nie mo\u017Cna znale\u017A\u0107 alternatywy!"}},favorites:{title:"Ulubione",noPlaylists:"Nie znaleziono playlist",noAlbums:"Nie znaleziono ulubionych album\xF3w",noArtists:"Nie znaleziono ulubionych artyst\xF3w",noTracks:"Nie znaleziono ulubonych utwor\xF3w"},home:{needTologin:"Musisz si\u0119 zalogwa\u0107 do konta na Deezerze zanim zaczniesz pobiera\u0107.",openSettings:"Otw\xF3rz ustawienia",sections:{popularPlaylists:"Popularne playlisty",popularAlbums:"Najpopularniejsze albumy"}},linkAnalyzer:{info:"Mo\u017Cesz u\u017Cy\u0107 tej sekcji, aby znale\u017A\u0107 wi\u0119cej informacji o linku, kt\xF3ry chcesz pobra\u0107.",useful:"Jest to przydatne na przyk\u0142ad gdy chcesz pobra\u0107 jakie\u015B utwory, kt\xF3re nie s\u0105 dost\u0119pne w twoim kraju i chcesz wiedzie\u0107 gdzie s\u0105 dost\u0119pne.",linkNotSupported:"Ten link nie jest jeszcze wspierany",linkNotSupportedYet:"Wygl\u0105da na to, \u017Ce ten link nie jest jeszcze wspierany. Spr\xF3buj przeanalizowa\u0107 inny.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Czas",diskNumber:"Numer p\u0142yty",trackNumber:"Numer utworu",releaseDate:"Data wydania",bpm:"BPM",label:"Wytw\xF3rnia",recordType:"Rodzaj wydania",genres:"Gatunki",tracklist:"Lista utwor\xF3w"}},search:{startSearching:"Zacznij szuka\u0107!",description:"Mo\u017Cesz wyszuka\u0107 utw\xF3r, album, artyst\u0119, playlist\u0119... wszystko! Mo\u017Cesz te\u017C wklei\u0107 link do Deezera",fans:"{n} fan\xF3w",noResults:"Brak wynik\xF3w",noResultsTrack:"Nie znaleziono utwor\xF3w",noResultsAlbum:"Nie znaleziono album\xF3w",noResultsArtist:"Nie znaleziono artyst\xF3w",noResultsPlaylist:"Nie znaleziono playlist"},searchbar:"Szukaj czego chcesz (lub wklej link)",downloads:"pobrane",toasts:{restoringQueue:"Przywracanie kolejki pobierania...",queueRestored:"Przywr\xF3cono kolejk\u0119 pobierania!",addedToQueue:"Dodano {item} do kolejki",addedMoreToQueue:"Dodano {n} przedmiot\xF3w do kolejki",alreadyInQueue:"{item} jest ju\u017C w kolejce!",finishDownload:"Uko\u0144czono pobieranie {item}.",allDownloaded:"Pobrano wszystkie!",refreshFavs:"Uko\u0144czono od\u015Bwie\u017Canie!",loggingIn:"Logowanie...",loggedIn:"Zalogowano",alreadyLogged:"Ju\u017C zalogowano",loginFailed:"Nie mo\u017Cna zalogowa\u0107",loggedOut:"Wylogowano",cancellingCurrentItem:"Anulowanie przedmiotu.",currentItemCancelled:"Anulowano przedmiot.",startAddingArtist:"Dodawanie {artist} album\xF3w do kolejki",finishAddingArtist:"Dodano {artist} album\xF3w do kolejki",startConvertingSpotifyPlaylist:"Konwertowanie utwor\xF3w Spotify na Deezer",finishConvertingSpotifyPlaylist:"Przekonwertowano playlist\u0119 Spotify",loginNeededToDownload:"Musisz si\u0119 zalogowa\u0107, aby pobiera\u0107 utwory!"},settings:{title:"Ustawienia",languages:"J\u0119zyki",login:{title:"Logowanie",loggedIn:"Zalogowano jako {username}",arl:{question:"Jak zdoby\u0107 sw\xF3j w\u0142asny ARL?",update:"Zakualizuj ARL"},logout:"Wyloguj",login:"Zaloguj przez deezer.com"},appearance:{title:"Wygl\u0105d",slimDownloadTab:"Cienka karta pobranych"},downloadPath:{title:"\u015Acie\u017Cka pobierania"},templates:{title:"Szablony",tracknameTemplate:"Szablon utworu",albumTracknameTemplate:"Szablon utworu z albumu",playlistTracknameTemplate:"Szablon utworu z playlisy"},folders:{title:"Foldery",createPlaylistFolder:"Utw\xF3rz foldery dla playlist",playlistNameTemplate:"Szablon folderu playlisty",createArtistFolder:"Utw\xF3rz foldery dla artyst\xF3w",artistNameTemplate:"Szablon folderu artysty",createAlbumFolder:"Utw\xF3rz foldery dla album\xF3w",albumNameTemplate:"Szablon folderu albumu",createCDFolder:"Utw\xF3rz foldery dla p\u0142yt",createStructurePlaylist:"Utw\xF3rz struktur\u0119 folder\xF3w dla playlist",createSingleFolder:"Utw\xF3rz struktur\u0119 folder\xF3w dla singli"},trackTitles:{title:"Tytu\u0142y utworow",padTracks:"Wypchaj utwory",paddingSize:"Rozmiar wypchania",illegalCharacterReplacer:"Zamiennik niedozwolonych znak\xF3w"},downloads:{title:"Pobrane",queueConcurrency:"R\xF3wnoleg\u0142e pobieranie",maxBitrate:{title:"Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Nadpisywa\u0107 pliki?",y:"Tak",n:"Nie",t:"Tylko tagi",b:"Nie, dodaj numer do drugiego pliku",e:"Nie, nie patrz na rozszerzenia"},fallbackBitrate:"Rezerwowy bitrate",fallbackSearch:"Rezerwowe wyszukiwanie",logErrors:"Utw\xF3rz plik dziennika b\u0142\u0119d\xF3w",logSearched:"Utw\xF3rz plik dziennika wyszukiwanych utwor\xF3w",createM3U8File:"Utw\xF3rz plik playlisty",syncedLyrics:"Utw\xF3rz plik .lyr (synchronizowany tekst)",playlistFilenameTemplate:"Szablon pliku playlisty",saveDownloadQueue:"Zapisz kolejk\u0119 pobierania przy zamykaniu aplikacji"},covers:{title:"Ok\u0142adki album\xF3w",saveArtwork:"Zapisz ok\u0142adki",coverImageTemplate:"Szablon nazwy ok\u0142adki",saveArtworkArtist:"Zapisz zdj\u0119cie artysty",artistImageTemplate:"Szablon zdj\u0119cia artysty",localArtworkSize:"Rozmiar lokalnej ok\u0142adki",embeddedArtworkSize:"Rozmiar osadzonej ok\u0142adki",localArtworkFormat:{title:"W jakim formacie ma zosta\u0107 zapisana ok\u0142adka?",jpg:"Plik JPEG",png:"Plik PNG",both:"Pliki JPEG i PNG"},jpegImageQuality:"Jako\u015B\u0107 JPEG",embeddedArtworkPNG:"Zapisz osadzon\u0105 ok\u0142adk\u0119 jako PNG",embeddedPNGWarning:"PNG nie jest oficjalnie wspierane przez Deezer i mo\u017Ce powodowa\u0107 b\u0142\u0119dy",imageSizeWarning:"Wszystko powy\u017Cej x1200 nie jest oficjalnie u\u017Cywane przez Deezera, wi\u0119c mog\u0105 wyst\u0105pi\u0107 problemy."},tags:{head:"Kt\xF3re tagi zapisa\u0107",title:"Tytu\u0142",artist:"Artysta",album:"Album",cover:"Ok\u0142adka",trackNumber:"Numer utworu",trackTotal:"Liczba utwor\xF3w",discNumber:"Numer p\u0142yty",discTotal:"Liczba p\u0142yt",albumArtist:"Album Artist",genre:"Gatunek",year:"Rok",date:"Data",explicit:"Wulgarny tekst",isrc:"ISRC",length:"D\u0142ugo\u015B\u0107",barcode:"Kod kreskowy albumu (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Wytw\xF3rnia",lyrics:"Niezsynchronizowany tekst",syncedLyrics:"Zsynchronizowany tekst",copyright:"Prawa autorskie",composer:"Kompozytor",involvedPeople:"Zaanga\u017Cowane osoby"},other:{title:"Inne",savePlaylistAsCompilation:"Zapisz playlisty jako kompilacje",useNullSeparator:"U\u017Cyj separatora null",saveID3v1:"Zapisz ID3v1",multiArtistSeparator:{title:"Jak oddzieli\u0107 artyst\xF3w?",nothing:"Zapisz tylko g\u0142\xF3wnego artyst\u0119",default:"Standardowa specyfikacja",andFeat:"& i feat.",using:'U\u017Cywa "{separator}"'},singleAlbumArtist:"Zapisz tylko g\u0142\xF3wnego autora albumu",albumVariousArtists:'Zostaw "Various Artists" w autorach albumu',removeAlbumVersion:'Usu\u0144 "Album Version" z tytu\u0142u utworu',removeDuplicateArtists:"Usu\u0144 kombinacje artyst\xF3w",dateFormat:{title:"Format daty dla plik\xF3w FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Co zrobi\u0107 z dodatkowymi artystami?",0:"Nic",1:"Usu\u0144 z tytu\u0142u",3:"Usu\u0144 z tytu\u0142u i tytu\u0142u albumu",2:"Przenie\u015B do tytu\u0142u"},titleCasing:"Rozmiar liter tytu\u0142u",artistCasing:"Rozmiar liter artysty",casing:{nothing:"Zostaw",lower:"ma\u0142e litery",upper:"DU\u017BE LITERY",start:"Na Pocz\u0105tku Ka\u017Cdego S\u0142owa",sentence:"Jak w zdaniu"},previewVolume:"G\u0142o\u015Bno\u015B\u0107 podgl\u0105du",executeCommand:{title:"Polecenie do wykonania po pobraniu",description:"Zostaw puste, aby nic nie robi\u0107"}},spotify:{title:"Funkcje Spotify",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Nazwa u\u017Cytkownika",question:"Jak w\u0142\u0105czy\u0107 funkcje Spotify?"},reset:"Przywr\xF3\u0107 domy\u015Blne",save:"Zapisz",toasts:{init:"Za\u0142adowano ustawienia!",update:"Zaktualizowano ustawienia!",ARLcopied:"Skopiowano ARL do schowka"}},sidebar:{home:"strona g\u0142\xF3wna",search:"szukaj",charts:"wykresy",favorites:"ulubione",linkAnalyzer:"analiza link\xF3w",settings:"ustawienia",about:"informacje"},tracklist:{downloadSelection:"Pobierz wybrane"}},locales={it,en,es,de,fr,id,pt,pt_br,ru,tr,vn,hr,ar,ko,ph,zh_tw,pl};Vue.use(VueI18n);const storedLocale=localStorage.getItem("locale"),DEFAULT_LANG=storedLocale||"en";document.querySelector("html").setAttribute("lang",DEFAULT_LANG);const i18n=new VueI18n({locale:DEFAULT_LANG,fallbackLocale:"en",messages:locales,pluralizationRules:{ru:function(e,a){var n=Math.abs(e)%100,r=n%10;return n>10&&n<20?2:r>1&&r<5?1:r==1?0:2}}});/*! + * vue-router v3.4.9 + * (c) 2020 Evan You * @license MIT - */function extend$2(e,a){for(var n in a)e[n]=a[n];return e}var encodeReserveRE=/[!'()*]/g,encodeReserveReplacer=function(e){return"%"+e.charCodeAt(0).toString(16)},commaRE=/%2C/g,encode=function(e){return encodeURIComponent(e).replace(encodeReserveRE,encodeReserveReplacer).replace(commaRE,",")};function decode(e){try{return decodeURIComponent(e)}catch(a){}return e}function resolveQuery(e,a,n){a===void 0&&(a={});var i=n||parseQuery,r;try{r=i(e||"")}catch(l){r={}}for(var s in a){var o=a[s];r[s]=Array.isArray(o)?o.map(castQueryParamValue):castQueryParamValue(o)}return r}var castQueryParamValue=function(e){return e==null||typeof e=="object"?e:String(e)};function parseQuery(e){var a={};return e=e.trim().replace(/^(\?|#|&)/,""),e&&e.split("&").forEach(function(n){var i=n.replace(/\+/g," ").split("="),r=decode(i.shift()),s=i.length>0?decode(i.join("=")):null;a[r]===void 0?a[r]=s:Array.isArray(a[r])?a[r].push(s):a[r]=[a[r],s]}),a}function stringifyQuery(e){var a=e?Object.keys(e).map(function(n){var i=e[n];if(i===void 0)return"";if(i===null)return encode(n);if(Array.isArray(i)){var r=[];return i.forEach(function(s){s!==void 0&&(s===null?r.push(encode(n)):r.push(encode(n)+"="+encode(s)))}),r.join("&")}return encode(n)+"="+encode(i)}).filter(function(n){return n.length>0}).join("&"):null;return a?"?"+a:""}var trailingSlashRE=/\/?$/;function createRoute(e,a,n,i){var r=i&&i.options.stringifyQuery,s=a.query||{};try{s=clone(s)}catch(l){}var o={name:a.name||e&&e.name,meta:e&&e.meta||{},path:a.path||"/",hash:a.hash||"",query:s,params:a.params||{},fullPath:getFullPath(a,r),matched:e?formatMatch(e):[]};return n&&(o.redirectedFrom=getFullPath(n,r)),Object.freeze(o)}function clone(e){if(Array.isArray(e))return e.map(clone);if(e&&typeof e=="object"){var a={};for(var n in e)a[n]=clone(e[n]);return a}else return e}var START=createRoute(null,{path:"/"});function formatMatch(e){for(var a=[];e;)a.unshift(e),e=e.parent;return a}function getFullPath(e,a){var n=e.path,i=e.query;i===void 0&&(i={});var r=e.hash;r===void 0&&(r="");var s=a||stringifyQuery;return(n||"/")+s(i)+r}function isSameRoute(e,a,n){return a===START?e===a:a?e.path&&a.path?e.path.replace(trailingSlashRE,"")===a.path.replace(trailingSlashRE,"")&&(n||e.hash===a.hash&&isObjectEqual(e.query,a.query)):e.name&&a.name?e.name===a.name&&(n||e.hash===a.hash&&isObjectEqual(e.query,a.query)&&isObjectEqual(e.params,a.params)):!1:!1}function isObjectEqual(e,a){if(e===void 0&&(e={}),a===void 0&&(a={}),!e||!a)return e===a;var n=Object.keys(e).sort(),i=Object.keys(a).sort();return n.length!==i.length?!1:n.every(function(r,s){var o=e[r],l=i[s];if(l!==r)return!1;var c=a[r];return o==null||c==null?o===c:typeof o=="object"&&typeof c=="object"?isObjectEqual(o,c):String(o)===String(c)})}function isIncludedRoute(e,a){return e.path.replace(trailingSlashRE,"/").indexOf(a.path.replace(trailingSlashRE,"/"))===0&&(!a.hash||e.hash===a.hash)&&queryIncludes(e.query,a.query)}function queryIncludes(e,a){for(var n in a)if(!(n in e))return!1;return!0}function handleRouteEntered(e){for(var a=0;a=0&&(a=e.slice(i),e=e.slice(0,i));var r=e.indexOf("?");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{path:e,query:n,hash:a}}function cleanPath(e){return e.replace(/\/\//g,"/")}var isarray=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"},pathToRegexp_1=pathToRegexp,parse_1=parse$2,compile_1=compile$1,tokensToFunction_1=tokensToFunction,tokensToRegExp_1=tokensToRegExp,PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$2(e,a){for(var n=[],i=0,r=0,s="",o=a&&a.delimiter||"/",l;(l=PATH_REGEXP.exec(e))!=null;){var c=l[0],u=l[1],d=l.index;if(s+=e.slice(r,d),r=d+c.length,u){s+=u[1];continue}var f=e[r],h=l[2],m=l[3],v=l[4],y=l[5],_=l[6],w=l[7];s&&(n.push(s),s="");var A=h!=null&&f!=null&&f!==h,S=_==="+"||_==="*",M=_==="?"||_==="*",P=l[2]||o,z=v||y;n.push({name:m||i++,prefix:h||"",delimiter:P,optional:M,repeat:S,partial:A,asterisk:!!w,pattern:z?escapeGroup(z):w?".*":"[^"+escapeString(P)+"]+?"})}return r1||!P.length)return P.length===0?a():a("span",{},P)}if(this.tag==="a")M.on=S,M.attrs={href:c,"aria-current":w};else{var z=findAnchor(this.$slots.default);if(z){z.isStatic=!1;var C=z.data=extend$2({},z.data);C.on=C.on||{};for(var N in C.on){var j=C.on[N];N in S&&(C.on[N]=Array.isArray(j)?j:[j])}for(var E in S)E in C.on?C.on[E].push(S[E]):C.on[E]=A;var L=z.data.attrs=extend$2({},z.data.attrs);L.href=c,L["aria-current"]=w}else M.on=S}return a(this.tag,M,this.$slots.default)}};function guardEvent(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){var a=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(a))return}return e.preventDefault&&e.preventDefault(),!0}}function findAnchor(e){if(e){for(var a,n=0;n-1&&(_.params[M]=v.params[M]);return _.path=fillParams(A.path,_.params),h(A,_,y)}else if(_.path){_.params={};for(var P=0;P=e.length?n():e[r]?a(e[r],function(){i(r+1)}):i(r+1)};i(0)}var NavigationFailureType={redirected:2,aborted:4,cancelled:8,duplicated:16};function createNavigationRedirectedError(e,a){return createRouterError(e,a,NavigationFailureType.redirected,'Redirected when going from "'+e.fullPath+'" to "'+stringifyRoute(a)+'" via a navigation guard.')}function createNavigationDuplicatedError(e,a){var n=createRouterError(e,a,NavigationFailureType.duplicated,'Avoided redundant navigation to current location: "'+e.fullPath+'".');return n.name="NavigationDuplicated",n}function createNavigationCancelledError(e,a){return createRouterError(e,a,NavigationFailureType.cancelled,'Navigation cancelled from "'+e.fullPath+'" to "'+a.fullPath+'" with a new navigation.')}function createNavigationAbortedError(e,a){return createRouterError(e,a,NavigationFailureType.aborted,'Navigation aborted from "'+e.fullPath+'" to "'+a.fullPath+'" via a navigation guard.')}function createRouterError(e,a,n,i){var r=new Error(i);return r._isRouter=!0,r.from=e,r.to=a,r.type=n,r}var propertiesToLog=["params","query","hash"];function stringifyRoute(e){if(typeof e=="string")return e;if("path"in e)return e.path;var a={};return propertiesToLog.forEach(function(n){n in e&&(a[n]=e[n])}),JSON.stringify(a,null,2)}function isError(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function isNavigationFailure(e,a){return isError(e)&&e._isRouter&&(a==null||e.type===a)}function resolveAsyncComponents(e){return function(a,n,i){var r=!1,s=0,o=null;flatMapComponents(e,function(l,c,u,d){if(typeof l=="function"&&l.cid===void 0){r=!0,s++;var f=once$1(function(y){isESModule(y)&&(y=y.default),l.resolved=typeof y=="function"?y:_Vue.extend(y),u.components[d]=y,s--,s<=0&&i()}),h=once$1(function(y){var _="Failed to resolve async component "+d+": "+y;o||(o=isError(y)?y:new Error(_),i(o))}),m;try{m=l(f,h)}catch(y){h(y)}if(m)if(typeof m.then=="function")m.then(f,h);else{var v=m.component;v&&typeof v.then=="function"&&v.then(f,h)}}}),r||i()}}function flatMapComponents(e,a){return flatten(e.map(function(n){return Object.keys(n.components).map(function(i){return a(n.components[i],n.instances[i],n,i)})}))}function flatten(e){return Array.prototype.concat.apply([],e)}var hasSymbol$2=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function isESModule(e){return e.__esModule||hasSymbol$2&&e[Symbol.toStringTag]==="Module"}function once$1(e){var a=!1;return function(){for(var n=[],i=arguments.length;i--;)n[i]=arguments[i];if(!a)return a=!0,e.apply(this,n)}}var History=function(a,n){this.router=a,this.base=normalizeBase(n),this.current=START,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};History.prototype.listen=function(a){this.cb=a},History.prototype.onReady=function(a,n){this.ready?a():(this.readyCbs.push(a),n&&this.readyErrorCbs.push(n))},History.prototype.onError=function(a){this.errorCbs.push(a)},History.prototype.transitionTo=function(a,n,i){var r=this,s;try{s=this.router.match(a,this.current)}catch(l){throw this.errorCbs.forEach(function(c){c(l)}),l}var o=this.current;this.confirmTransition(s,function(){r.updateRoute(s),n&&n(s),r.ensureURL(),r.router.afterHooks.forEach(function(l){l&&l(s,o)}),r.ready||(r.ready=!0,r.readyCbs.forEach(function(l){l(s)}))},function(l){i&&i(l),l&&!r.ready&&(!isNavigationFailure(l,NavigationFailureType.redirected)||o!==START)&&(r.ready=!0,r.readyErrorCbs.forEach(function(c){c(l)}))})},History.prototype.confirmTransition=function(a,n,i){var r=this,s=this.current;this.pending=a;var o=function(y){!isNavigationFailure(y)&&isError(y)&&(r.errorCbs.length?r.errorCbs.forEach(function(_){_(y)}):console.error(y)),i&&i(y)},l=a.matched.length-1,c=s.matched.length-1;if(isSameRoute(a,s)&&l===c&&a.matched[l]===s.matched[c])return this.ensureURL(),o(createNavigationDuplicatedError(s,a));var u=resolveQueue(this.current.matched,a.matched),d=u.updated,f=u.deactivated,h=u.activated,m=[].concat(extractLeaveGuards(f),this.router.beforeHooks,extractUpdateHooks(d),h.map(function(y){return y.beforeEnter}),resolveAsyncComponents(h)),v=function(y,_){if(r.pending!==a)return o(createNavigationCancelledError(s,a));try{y(a,s,function(w){w===!1?(r.ensureURL(!0),o(createNavigationAbortedError(s,a))):isError(w)?(r.ensureURL(!0),o(w)):typeof w=="string"||typeof w=="object"&&(typeof w.path=="string"||typeof w.name=="string")?(o(createNavigationRedirectedError(s,a)),typeof w=="object"&&w.replace?r.replace(w):r.push(w)):_(w)})}catch(w){o(w)}};runQueue(m,v,function(){var y=extractEnterGuards(h),_=y.concat(r.router.resolveHooks);runQueue(_,v,function(){if(r.pending!==a)return o(createNavigationCancelledError(s,a));r.pending=null,n(a),r.router.app&&r.router.app.$nextTick(function(){handleRouteEntered(a)})})})},History.prototype.updateRoute=function(a){this.current=a,this.cb&&this.cb(a)},History.prototype.setupListeners=function(){},History.prototype.teardown=function(){this.listeners.forEach(function(a){a()}),this.listeners=[],this.current=START,this.pending=null};function normalizeBase(e){if(!e)if(inBrowser$1){var a=document.querySelector("base");e=a&&a.getAttribute("href")||"/",e=e.replace(/^https?:\/\/[^\/]+/,"")}else e="/";return e.charAt(0)!=="/"&&(e="/"+e),e.replace(/\/$/,"")}function resolveQueue(e,a){var n,i=Math.max(e.length,a.length);for(n=0;n0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var c=i.current,u=getLocation(i.base);i.current===START&&u===i._startLocation||i.transitionTo(u,function(d){o&&handleScroll(r,d,c,!0)})};window.addEventListener("popstate",l),this.listeners.push(function(){window.removeEventListener("popstate",l)})}},a.prototype.go=function(i){window.history.go(i)},a.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.ensureURL=function(i){if(getLocation(this.base)!==this.current.fullPath){var r=cleanPath(this.base+this.current.fullPath);i?pushState(r):replaceState(r)}},a.prototype.getCurrentLocation=function(){return getLocation(this.base)},a}(History);function getLocation(e){var a=window.location.pathname;return e&&a.toLowerCase().indexOf(e.toLowerCase())===0&&(a=a.slice(e.length)),(a||"/")+window.location.search+window.location.hash}var HashHistory=function(e){function a(n,i,r){e.call(this,n,i),!(r&&checkFallback(this.base))&&ensureSlash()}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.setupListeners=function(){var i=this;if(!(this.listeners.length>0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var u=i.current;!ensureSlash()||i.transitionTo(getHash(),function(d){o&&handleScroll(i.router,d,u,!0),supportsPushState||replaceHash(d.fullPath)})},c=supportsPushState?"popstate":"hashchange";window.addEventListener(c,l),this.listeners.push(function(){window.removeEventListener(c,l)})}},a.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.go=function(i){window.history.go(i)},a.prototype.ensureURL=function(i){var r=this.current.fullPath;getHash()!==r&&(i?pushHash(r):replaceHash(r))},a.prototype.getCurrentLocation=function(){return getHash()},a}(History);function checkFallback(e){var a=getLocation(e);if(!/^\/#/.test(a))return window.location.replace(cleanPath(e+"/#"+a)),!0}function ensureSlash(){var e=getHash();return e.charAt(0)==="/"?!0:(replaceHash("/"+e),!1)}function getHash(){var e=window.location.href,a=e.indexOf("#");return a<0?"":(e=e.slice(a+1),e)}function getUrl(e){var a=window.location.href,n=a.indexOf("#"),i=n>=0?a.slice(0,n):a;return i+"#"+e}function pushHash(e){supportsPushState?pushState(getUrl(e)):window.location.hash=e}function replaceHash(e){supportsPushState?replaceState(getUrl(e)):window.location.replace(getUrl(e))}var AbstractHistory=function(e){function a(n,i){e.call(this,n,i),this.stack=[],this.index=-1}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.push=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index+1).concat(l),o.index++,r&&r(l)},s)},a.prototype.replace=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index).concat(l),r&&r(l)},s)},a.prototype.go=function(i){var r=this,s=this.index+i;if(!(s<0||s>=this.stack.length)){var o=this.stack[s];this.confirmTransition(o,function(){var l=r.current;r.index=s,r.updateRoute(o),r.router.afterHooks.forEach(function(c){c&&c(o,l)})},function(l){isNavigationFailure(l,NavigationFailureType.duplicated)&&(r.index=s)})}},a.prototype.getCurrentLocation=function(){var i=this.stack[this.stack.length-1];return i?i.fullPath:"/"},a.prototype.ensureURL=function(){},a}(History),VueRouter=function(a){a===void 0&&(a={}),this.app=null,this.apps=[],this.options=a,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=createMatcher(a.routes||[],this);var n=a.mode||"hash";switch(this.fallback=n==="history"&&!supportsPushState&&a.fallback!==!1,this.fallback&&(n="hash"),inBrowser$1||(n="abstract"),this.mode=n,n){case"history":this.history=new HTML5History(this,a.base);break;case"hash":this.history=new HashHistory(this,a.base,this.fallback);break;case"abstract":this.history=new AbstractHistory(this,a.base);break}},prototypeAccessors$3={currentRoute:{configurable:!0}};VueRouter.prototype.match=function(a,n,i){return this.matcher.match(a,n,i)},prototypeAccessors$3.currentRoute.get=function(){return this.history&&this.history.current},VueRouter.prototype.init=function(a){var n=this;if(this.apps.push(a),a.$once("hook:destroyed",function(){var o=n.apps.indexOf(a);o>-1&&n.apps.splice(o,1),n.app===a&&(n.app=n.apps[0]||null),n.app||n.history.teardown()}),!this.app){this.app=a;var i=this.history;if(i instanceof HTML5History||i instanceof HashHistory){var r=function(o){var l=i.current,c=n.options.scrollBehavior,u=supportsPushState&&c;u&&"fullPath"in o&&handleScroll(n,o,l,!1)},s=function(o){i.setupListeners(),r(o)};i.transitionTo(i.getCurrentLocation(),s,s)}i.listen(function(o){n.apps.forEach(function(l){l._route=o})})}},VueRouter.prototype.beforeEach=function(a){return registerHook(this.beforeHooks,a)},VueRouter.prototype.beforeResolve=function(a){return registerHook(this.resolveHooks,a)},VueRouter.prototype.afterEach=function(a){return registerHook(this.afterHooks,a)},VueRouter.prototype.onReady=function(a,n){this.history.onReady(a,n)},VueRouter.prototype.onError=function(a){this.history.onError(a)},VueRouter.prototype.push=function(a,n,i){var r=this;if(!n&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.push(a,s,o)});this.history.push(a,n,i)},VueRouter.prototype.replace=function(a,n,i){var r=this;if(!n&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.replace(a,s,o)});this.history.replace(a,n,i)},VueRouter.prototype.go=function(a){this.history.go(a)},VueRouter.prototype.back=function(){this.go(-1)},VueRouter.prototype.forward=function(){this.go(1)},VueRouter.prototype.getMatchedComponents=function(a){var n=a?a.matched?a:this.resolve(a).route:this.currentRoute;return n?[].concat.apply([],n.matched.map(function(i){return Object.keys(i.components).map(function(r){return i.components[r]})})):[]},VueRouter.prototype.resolve=function(a,n,i){n=n||this.history.current;var r=normalizeLocation(a,n,i,this),s=this.match(r,n),o=s.redirectedFrom||s.fullPath,l=this.history.base,c=createHref(l,o,this.mode);return{location:r,route:s,href:c,normalizedTo:r,resolved:s}},VueRouter.prototype.getRoutes=function(){return this.matcher.getRoutes()},VueRouter.prototype.addRoute=function(a,n){this.matcher.addRoute(a,n),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},VueRouter.prototype.addRoutes=function(a){this.matcher.addRoutes(a),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(VueRouter.prototype,prototypeAccessors$3);function registerHook(e,a){return e.push(a),function(){var n=e.indexOf(a);n>-1&&e.splice(n,1)}}function createHref(e,a,n){var i=n==="hash"?"#"+a:a;return e?cleanPath(e+"/"+i):i}VueRouter.install=install$3,VueRouter.version="3.5.1",VueRouter.isNavigationFailure=isNavigationFailure,VueRouter.NavigationFailureType=NavigationFailureType,VueRouter.START_LOCATION=START,inBrowser$1&&window.Vue&&window.Vue.use(VueRouter);var script$9={};const __vue_script__$9=script$9;var __vue_render__$b=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.login.arl.question")))]),e._v(" "),e._m(0),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome (Easy way)")]),e._v(" "),e._m(1),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome")]),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Firefox")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$b=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` + */function extend$2(e,a){for(var n in a)e[n]=a[n];return e}var encodeReserveRE=/[!'()*]/g,encodeReserveReplacer=function(e){return"%"+e.charCodeAt(0).toString(16)},commaRE=/%2C/g,encode=function(e){return encodeURIComponent(e).replace(encodeReserveRE,encodeReserveReplacer).replace(commaRE,",")};function decode(e){try{return decodeURIComponent(e)}catch(a){}return e}function resolveQuery(e,a,n){a===void 0&&(a={});var r=n||parseQuery,i;try{i=r(e||"")}catch(c){i={}}for(var s in a){var l=a[s];i[s]=Array.isArray(l)?l.map(castQueryParamValue):castQueryParamValue(l)}return i}var castQueryParamValue=function(e){return e==null||typeof e=="object"?e:String(e)};function parseQuery(e){var a={};return e=e.trim().replace(/^(\?|#|&)/,""),e&&e.split("&").forEach(function(n){var r=n.replace(/\+/g," ").split("="),i=decode(r.shift()),s=r.length>0?decode(r.join("=")):null;a[i]===void 0?a[i]=s:Array.isArray(a[i])?a[i].push(s):a[i]=[a[i],s]}),a}function stringifyQuery(e){var a=e?Object.keys(e).map(function(n){var r=e[n];if(r===void 0)return"";if(r===null)return encode(n);if(Array.isArray(r)){var i=[];return r.forEach(function(s){if(s===void 0)return;s===null?i.push(encode(n)):i.push(encode(n)+"="+encode(s))}),i.join("&")}return encode(n)+"="+encode(r)}).filter(function(n){return n.length>0}).join("&"):null;return a?"?"+a:""}var trailingSlashRE=/\/?$/;function createRoute(e,a,n,r){var i=r&&r.options.stringifyQuery,s=a.query||{};try{s=clone(s)}catch(c){}var l={name:a.name||e&&e.name,meta:e&&e.meta||{},path:a.path||"/",hash:a.hash||"",query:s,params:a.params||{},fullPath:getFullPath(a,i),matched:e?formatMatch(e):[]};return n&&(l.redirectedFrom=getFullPath(n,i)),Object.freeze(l)}function clone(e){if(Array.isArray(e))return e.map(clone);if(e&&typeof e=="object"){var a={};for(var n in e)a[n]=clone(e[n]);return a}else return e}var START=createRoute(null,{path:"/"});function formatMatch(e){for(var a=[];e;)a.unshift(e),e=e.parent;return a}function getFullPath(e,a){var n=e.path,r=e.query;r===void 0&&(r={});var i=e.hash;i===void 0&&(i="");var s=a||stringifyQuery;return(n||"/")+s(r)+i}function isSameRoute(e,a){return a===START?e===a:a?e.path&&a.path?e.path.replace(trailingSlashRE,"")===a.path.replace(trailingSlashRE,"")&&e.hash===a.hash&&isObjectEqual(e.query,a.query):e.name&&a.name?e.name===a.name&&e.hash===a.hash&&isObjectEqual(e.query,a.query)&&isObjectEqual(e.params,a.params):!1:!1}function isObjectEqual(e,a){if(e===void 0&&(e={}),a===void 0&&(a={}),!e||!a)return e===a;var n=Object.keys(e).sort(),r=Object.keys(a).sort();return n.length!==r.length?!1:n.every(function(i,s){var l=e[i],c=r[s];if(c!==i)return!1;var o=a[i];return l==null||o==null?l===o:typeof l=="object"&&typeof o=="object"?isObjectEqual(l,o):String(l)===String(o)})}function isIncludedRoute(e,a){return e.path.replace(trailingSlashRE,"/").indexOf(a.path.replace(trailingSlashRE,"/"))===0&&(!a.hash||e.hash===a.hash)&&queryIncludes(e.query,a.query)}function queryIncludes(e,a){for(var n in a)if(!(n in e))return!1;return!0}function handleRouteEntered(e){for(var a=0;a=0&&(a=e.slice(r),e=e.slice(0,r));var i=e.indexOf("?");return i>=0&&(n=e.slice(i+1),e=e.slice(0,i)),{path:e,query:n,hash:a}}function cleanPath(e){return e.replace(/\/\//g,"/")}var isarray=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"},pathToRegexp_1=pathToRegexp,parse_1=parse$2,compile_1=compile$1,tokensToFunction_1=tokensToFunction,tokensToRegExp_1=tokensToRegExp,PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$2(e,a){for(var n=[],r=0,i=0,s="",l=a&&a.delimiter||"/",c;(c=PATH_REGEXP.exec(e))!=null;){var o=c[0],d=c[1],u=c.index;if(s+=e.slice(i,u),i=u+o.length,d){s+=d[1];continue}var f=e[i],h=c[2],m=c[3],v=c[4],y=c[5],k=c[6],w=c[7];s&&(n.push(s),s="");var x=h!=null&&f!=null&&f!==h,A=k==="+"||k==="*",M=k==="?"||k==="*",D=c[2]||l,T=v||y;n.push({name:m||r++,prefix:h||"",delimiter:D,optional:M,repeat:A,partial:x,asterisk:!!w,pattern:T?escapeGroup(T):w?".*":"[^"+escapeString(D)+"]+?"})}return i1||!D.length)return D.length===0?a():a("span",{},D)}if(this.tag==="a")M.on=A,M.attrs={href:o,"aria-current":w};else{var T=findAnchor(this.$slots.default);if(T){T.isStatic=!1;var C=T.data=extend$2({},T.data);C.on=C.on||{};for(var R in C.on){var U=C.on[R];R in A&&(C.on[R]=Array.isArray(U)?U:[U])}for(var E in A)E in C.on?C.on[E].push(A[E]):C.on[E]=x;var I=T.data.attrs=extend$2({},T.data.attrs);I.href=o,I["aria-current"]=w}else M.on=A}return a(this.tag,M,this.$slots.default)}};function guardEvent(e){if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;if(e.defaultPrevented)return;if(e.button!==void 0&&e.button!==0)return;if(e.currentTarget&&e.currentTarget.getAttribute){var a=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(a))return}return e.preventDefault&&e.preventDefault(),!0}function findAnchor(e){if(e)for(var a,n=0;n-1&&(v.params[x]=h.params[x]);return v.path=fillParams(k.path,v.params),u(k,v,m)}else if(v.path){v.params={};for(var A=0;A=e.length?n():e[i]?a(e[i],function(){r(i+1)}):r(i+1)};r(0)}var NavigationFailureType={redirected:2,aborted:4,cancelled:8,duplicated:16};function createNavigationRedirectedError(e,a){return createRouterError(e,a,NavigationFailureType.redirected,'Redirected when going from "'+e.fullPath+'" to "'+stringifyRoute(a)+'" via a navigation guard.')}function createNavigationDuplicatedError(e,a){var n=createRouterError(e,a,NavigationFailureType.duplicated,'Avoided redundant navigation to current location: "'+e.fullPath+'".');return n.name="NavigationDuplicated",n}function createNavigationCancelledError(e,a){return createRouterError(e,a,NavigationFailureType.cancelled,'Navigation cancelled from "'+e.fullPath+'" to "'+a.fullPath+'" with a new navigation.')}function createNavigationAbortedError(e,a){return createRouterError(e,a,NavigationFailureType.aborted,'Navigation aborted from "'+e.fullPath+'" to "'+a.fullPath+'" via a navigation guard.')}function createRouterError(e,a,n,r){var i=new Error(r);return i._isRouter=!0,i.from=e,i.to=a,i.type=n,i}var propertiesToLog=["params","query","hash"];function stringifyRoute(e){if(typeof e=="string")return e;if("path"in e)return e.path;var a={};return propertiesToLog.forEach(function(n){n in e&&(a[n]=e[n])}),JSON.stringify(a,null,2)}function isError(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function isNavigationFailure(e,a){return isError(e)&&e._isRouter&&(a==null||e.type===a)}function resolveAsyncComponents(e){return function(a,n,r){var i=!1,s=0,l=null;flatMapComponents(e,function(c,o,d,u){if(typeof c=="function"&&c.cid===void 0){i=!0,s++;var f=once$1(function(y){isESModule(y)&&(y=y.default),c.resolved=typeof y=="function"?y:_Vue.extend(y),d.components[u]=y,s--,s<=0&&r()}),h=once$1(function(y){var k="Failed to resolve async component "+u+": "+y;l||(l=isError(y)?y:new Error(k),r(l))}),m;try{m=c(f,h)}catch(y){h(y)}if(m)if(typeof m.then=="function")m.then(f,h);else{var v=m.component;v&&typeof v.then=="function"&&v.then(f,h)}}}),i||r()}}function flatMapComponents(e,a){return flatten(e.map(function(n){return Object.keys(n.components).map(function(r){return a(n.components[r],n.instances[r],n,r)})}))}function flatten(e){return Array.prototype.concat.apply([],e)}var hasSymbol$2=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function isESModule(e){return e.__esModule||hasSymbol$2&&e[Symbol.toStringTag]==="Module"}function once$1(e){var a=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];return a?void 0:(a=!0,e.apply(this,n))}}var History=function(a,n){this.router=a,this.base=normalizeBase(n),this.current=START,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};History.prototype.listen=function(a){this.cb=a},History.prototype.onReady=function(a,n){this.ready?a():(this.readyCbs.push(a),n&&this.readyErrorCbs.push(n))},History.prototype.onError=function(a){this.errorCbs.push(a)},History.prototype.transitionTo=function(a,n,r){var i=this,s;try{s=this.router.match(a,this.current)}catch(c){throw this.errorCbs.forEach(function(o){o(c)}),c}var l=this.current;this.confirmTransition(s,function(){i.updateRoute(s),n&&n(s),i.ensureURL(),i.router.afterHooks.forEach(function(c){c&&c(s,l)}),i.ready||(i.ready=!0,i.readyCbs.forEach(function(c){c(s)}))},function(c){r&&r(c),c&&!i.ready&&((!isNavigationFailure(c,NavigationFailureType.redirected)||l!==START)&&(i.ready=!0,i.readyErrorCbs.forEach(function(o){o(c)})))})},History.prototype.confirmTransition=function(a,n,r){var i=this,s=this.current;this.pending=a;var l=function(y){!isNavigationFailure(y)&&isError(y)&&(i.errorCbs.length?i.errorCbs.forEach(function(k){k(y)}):console.error(y)),r&&r(y)},c=a.matched.length-1,o=s.matched.length-1;if(isSameRoute(a,s)&&c===o&&a.matched[c]===s.matched[o])return this.ensureURL(),l(createNavigationDuplicatedError(s,a));var d=resolveQueue(this.current.matched,a.matched),u=d.updated,f=d.deactivated,h=d.activated,m=[].concat(extractLeaveGuards(f),this.router.beforeHooks,extractUpdateHooks(u),h.map(function(y){return y.beforeEnter}),resolveAsyncComponents(h)),v=function(y,k){if(i.pending!==a)return l(createNavigationCancelledError(s,a));try{y(a,s,function(w){w===!1?(i.ensureURL(!0),l(createNavigationAbortedError(s,a))):isError(w)?(i.ensureURL(!0),l(w)):typeof w=="string"||typeof w=="object"&&(typeof w.path=="string"||typeof w.name=="string")?(l(createNavigationRedirectedError(s,a)),typeof w=="object"&&w.replace?i.replace(w):i.push(w)):k(w)})}catch(w){l(w)}};runQueue(m,v,function(){var y=extractEnterGuards(h),k=y.concat(i.router.resolveHooks);runQueue(k,v,function(){if(i.pending!==a)return l(createNavigationCancelledError(s,a));i.pending=null,n(a),i.router.app&&i.router.app.$nextTick(function(){handleRouteEntered(a)})})})},History.prototype.updateRoute=function(a){this.current=a,this.cb&&this.cb(a)},History.prototype.setupListeners=function(){},History.prototype.teardown=function(){this.listeners.forEach(function(a){a()}),this.listeners=[],this.current=START,this.pending=null};function normalizeBase(e){if(!e)if(inBrowser$1){var a=document.querySelector("base");e=a&&a.getAttribute("href")||"/",e=e.replace(/^https?:\/\/[^\/]+/,"")}else e="/";return e.charAt(0)!=="/"&&(e="/"+e),e.replace(/\/$/,"")}function resolveQueue(e,a){var n,r=Math.max(e.length,a.length);for(n=0;n0)return;var i=this.router,s=i.options.scrollBehavior,l=supportsPushState&&s;l&&this.listeners.push(setupScroll());var c=function(){var o=r.current,d=getLocation(r.base);if(r.current===START&&d===r._startLocation)return;r.transitionTo(d,function(u){l&&handleScroll(i,u,o,!0)})};window.addEventListener("popstate",c),this.listeners.push(function(){window.removeEventListener("popstate",c)})},a.prototype.go=function(r){window.history.go(r)},a.prototype.push=function(r,i,s){var l=this,c=this,o=c.current;this.transitionTo(r,function(d){pushState(cleanPath(l.base+d.fullPath)),handleScroll(l.router,d,o,!1),i&&i(d)},s)},a.prototype.replace=function(r,i,s){var l=this,c=this,o=c.current;this.transitionTo(r,function(d){replaceState(cleanPath(l.base+d.fullPath)),handleScroll(l.router,d,o,!1),i&&i(d)},s)},a.prototype.ensureURL=function(r){if(getLocation(this.base)!==this.current.fullPath){var i=cleanPath(this.base+this.current.fullPath);r?pushState(i):replaceState(i)}},a.prototype.getCurrentLocation=function(){return getLocation(this.base)},a}(History);function getLocation(e){var a=window.location.pathname;return e&&a.toLowerCase().indexOf(e.toLowerCase())===0&&(a=a.slice(e.length)),(a||"/")+window.location.search+window.location.hash}var HashHistory=function(e){function a(n,r,i){if(e.call(this,n,r),i&&checkFallback(this.base))return;ensureSlash()}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.setupListeners=function(){var r=this;if(this.listeners.length>0)return;var i=this.router,s=i.options.scrollBehavior,l=supportsPushState&&s;l&&this.listeners.push(setupScroll());var c=function(){var d=r.current;if(!ensureSlash())return;r.transitionTo(getHash(),function(u){l&&handleScroll(r.router,u,d,!0),supportsPushState||replaceHash(u.fullPath)})},o=supportsPushState?"popstate":"hashchange";window.addEventListener(o,c),this.listeners.push(function(){window.removeEventListener(o,c)})},a.prototype.push=function(r,i,s){var l=this,c=this,o=c.current;this.transitionTo(r,function(d){pushHash(d.fullPath),handleScroll(l.router,d,o,!1),i&&i(d)},s)},a.prototype.replace=function(r,i,s){var l=this,c=this,o=c.current;this.transitionTo(r,function(d){replaceHash(d.fullPath),handleScroll(l.router,d,o,!1),i&&i(d)},s)},a.prototype.go=function(r){window.history.go(r)},a.prototype.ensureURL=function(r){var i=this.current.fullPath;getHash()!==i&&(r?pushHash(i):replaceHash(i))},a.prototype.getCurrentLocation=function(){return getHash()},a}(History);function checkFallback(e){var a=getLocation(e);if(!/^\/#/.test(a))return window.location.replace(cleanPath(e+"/#"+a)),!0}function ensureSlash(){var e=getHash();return e.charAt(0)==="/"?!0:(replaceHash("/"+e),!1)}function getHash(){var e=window.location.href,a=e.indexOf("#");return a<0?"":(e=e.slice(a+1),e)}function getUrl(e){var a=window.location.href,n=a.indexOf("#"),r=n>=0?a.slice(0,n):a;return r+"#"+e}function pushHash(e){supportsPushState?pushState(getUrl(e)):window.location.hash=e}function replaceHash(e){supportsPushState?replaceState(getUrl(e)):window.location.replace(getUrl(e))}var AbstractHistory=function(e){function a(n,r){e.call(this,n,r),this.stack=[],this.index=-1}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.push=function(r,i,s){var l=this;this.transitionTo(r,function(c){l.stack=l.stack.slice(0,l.index+1).concat(c),l.index++,i&&i(c)},s)},a.prototype.replace=function(r,i,s){var l=this;this.transitionTo(r,function(c){l.stack=l.stack.slice(0,l.index).concat(c),i&&i(c)},s)},a.prototype.go=function(r){var i=this,s=this.index+r;if(s<0||s>=this.stack.length)return;var l=this.stack[s];this.confirmTransition(l,function(){var c=i.current;i.index=s,i.updateRoute(l),i.router.afterHooks.forEach(function(o){o&&o(l,c)})},function(c){isNavigationFailure(c,NavigationFailureType.duplicated)&&(i.index=s)})},a.prototype.getCurrentLocation=function(){var r=this.stack[this.stack.length-1];return r?r.fullPath:"/"},a.prototype.ensureURL=function(){},a}(History),VueRouter=function(a){a===void 0&&(a={}),this.app=null,this.apps=[],this.options=a,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=createMatcher(a.routes||[],this);var n=a.mode||"hash";this.fallback=n==="history"&&!supportsPushState&&a.fallback!==!1,this.fallback&&(n="hash"),inBrowser$1||(n="abstract"),this.mode=n;switch(n){case"history":this.history=new HTML5History(this,a.base);break;case"hash":this.history=new HashHistory(this,a.base,this.fallback);break;case"abstract":this.history=new AbstractHistory(this,a.base);break}},prototypeAccessors$3={currentRoute:{configurable:!0}};VueRouter.prototype.match=function(a,n,r){return this.matcher.match(a,n,r)},prototypeAccessors$3.currentRoute.get=function(){return this.history&&this.history.current},VueRouter.prototype.init=function(a){var n=this;if(this.apps.push(a),a.$once("hook:destroyed",function(){var l=n.apps.indexOf(a);l>-1&&n.apps.splice(l,1),n.app===a&&(n.app=n.apps[0]||null),n.app||n.history.teardown()}),this.app)return;this.app=a;var r=this.history;if(r instanceof HTML5History||r instanceof HashHistory){var i=function(l){var c=r.current,o=n.options.scrollBehavior,d=supportsPushState&&o;d&&"fullPath"in l&&handleScroll(n,l,c,!1)},s=function(l){r.setupListeners(),i(l)};r.transitionTo(r.getCurrentLocation(),s,s)}r.listen(function(l){n.apps.forEach(function(c){c._route=l})})},VueRouter.prototype.beforeEach=function(a){return registerHook(this.beforeHooks,a)},VueRouter.prototype.beforeResolve=function(a){return registerHook(this.resolveHooks,a)},VueRouter.prototype.afterEach=function(a){return registerHook(this.afterHooks,a)},VueRouter.prototype.onReady=function(a,n){this.history.onReady(a,n)},VueRouter.prototype.onError=function(a){this.history.onError(a)},VueRouter.prototype.push=function(a,n,r){var i=this;if(!n&&!r&&typeof Promise!="undefined")return new Promise(function(s,l){i.history.push(a,s,l)});this.history.push(a,n,r)},VueRouter.prototype.replace=function(a,n,r){var i=this;if(!n&&!r&&typeof Promise!="undefined")return new Promise(function(s,l){i.history.replace(a,s,l)});this.history.replace(a,n,r)},VueRouter.prototype.go=function(a){this.history.go(a)},VueRouter.prototype.back=function(){this.go(-1)},VueRouter.prototype.forward=function(){this.go(1)},VueRouter.prototype.getMatchedComponents=function(a){var n=a?a.matched?a:this.resolve(a).route:this.currentRoute;return n?[].concat.apply([],n.matched.map(function(r){return Object.keys(r.components).map(function(i){return r.components[i]})})):[]},VueRouter.prototype.resolve=function(a,n,r){n=n||this.history.current;var i=normalizeLocation(a,n,r,this),s=this.match(i,n),l=s.redirectedFrom||s.fullPath,c=this.history.base,o=createHref(c,l,this.mode);return{location:i,route:s,href:o,normalizedTo:i,resolved:s}},VueRouter.prototype.addRoutes=function(a){this.matcher.addRoutes(a),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(VueRouter.prototype,prototypeAccessors$3);function registerHook(e,a){return e.push(a),function(){var n=e.indexOf(a);n>-1&&e.splice(n,1)}}function createHref(e,a,n){var r=n==="hash"?"#"+a:a;return e?cleanPath(e+"/"+r):r}VueRouter.install=install$3,VueRouter.version="3.4.9",VueRouter.isNavigationFailure=isNavigationFailure,VueRouter.NavigationFailureType=NavigationFailureType,inBrowser$1&&window.Vue&&window.Vue.use(VueRouter);var script$9={};const __vue_script__$9=script$9;var __vue_render__$b=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.login.arl.question")))]),e._v(" "),e._m(0),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome (Easy way)")]),e._v(" "),e._m(1),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome")]),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Firefox")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$b=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` Deezer keeps track of login session by using a cookie called ARL.`),n("br"),e._v(` deemix uses that cookie to get the metadata that it needs to download the tracks from Deezer.`),n("br"),e._v(` ARLs last for 3 months, after that Deezer asks you to log in again. The same method is used in deemix`),n("br"),e._v(` Following one of the guides below you can get your own account ARL. - `)])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v('Click on the little "lock" icon next the URL')]),e._v(" "),n("li",[e._v("Click on Cookies > deezer.com > cookies > arl")]),e._v(" "),n("li",[e._v("Select the string next to Content, and Copy")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("After logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Application tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long) ")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Here's a "),n("a",{attrs:{href:"https://youtu.be/O6PRT47_yds",target:"_blank"}},[e._v("video guide")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Firefox")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("Afer logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Storage tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long)")]),e._v(" "),n("li",[e._v("Make sure only copy the value and not the entire cookie")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])}];const __vue_inject_styles__$b=void 0,__vue_scope_id__$b=void 0,__vue_module_identifier__$b=void 0,__vue_is_functional_template__$b=!1;var InfoArl=normalizeComponent_1({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$9,__vue_scope_id__$b,__vue_is_functional_template__$b,__vue_module_identifier__$b,void 0,void 0),script$a={};const __vue_script__$a=script$a;var __vue_render__$c=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.spotify.question")))]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v(` + `)])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v('Click on the little "lock" icon next the URL')]),e._v(" "),n("li",[e._v("Click on Cookies > deezer.com > cookies > arl")]),e._v(" "),n("li",[e._v("Select the string next to Content, and Copy")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("After logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Application tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long) ")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Here's a "),n("a",{attrs:{href:"https://youtu.be/O6PRT47_yds",target:"_blank"}},[e._v("video guide")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Firefox")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("Afer logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Storage tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long)")]),e._v(" "),n("li",[e._v("Make sure only copy the value and not the entire cookie")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])}];const __vue_inject_styles__$b=void 0,__vue_scope_id__$b=void 0,__vue_is_functional_template__$b=!1;function __vue_normalize__$b(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="InfoArl.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var InfoArl=__vue_normalize__$b({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$9,__vue_scope_id__$b,__vue_is_functional_template__$b),script$a={};const __vue_script__$a=script$a;var __vue_render__$c=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.spotify.question")))]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v(` "Spotify Features" is a set of features that lets you convert Spotify tracks and albums links into Deezer ones. If you provide a Spotify Playlist link the app will autmatically convert all the links of the tracks inside it into deezer tracks. Enabling this set of features will let you see your public Spotify playlists in the favorites tab as well. `)]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("For security reasons you will need to provide your own Client ID and Secret")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Client ID and Secret?")]),e._v(" "),e._m(0),e._v(" "),e._m(1),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("Now you can copy-paste those results in the appropriate fields in the settings.")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Spotify Username?")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$c=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Connect to "),n("a",{attrs:{href:"https://developer.spotify.com/dashboard",target:"_blank"}},[e._v("Spotify for Developers's Dashboard")]),e._v(" and login with your Spotify account.")])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` Click on "Create an App".`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/YFz7rHj.png",alt:"Create an App button on Spotify for Developers's Dashboard"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` Fill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/A9cvDkK.png",alt:"Create an app form"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),n("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_module_identifier__$c=void 0,__vue_is_functional_template__$c=!1;var InfoSpotifyFeatures=normalizeComponent_1({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,void 0,void 0),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var a=hasOwnProperty$2.call(e,symToStringTag),n=e[symToStringTag];try{e[symToStringTag]=void 0;var i=!0}catch(s){}var r=nativeObjectToString.call(e);return i&&(a?e[symToStringTag]=n:delete e[symToStringTag]),r}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,a){for(var n=-1,i=e==null?0:e.length,r=Array(i);++n-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,a){var n=typeof e;return a=a??MAX_SAFE_INTEGER,!!a&&(n=="number"||n!="symbol"&&reIsUint.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var a=e&&e.constructor,n=typeof a=="function"&&a.prototype||objectProto$3;return e===n}function baseTimes(e,a){for(var n=-1,i=Array(e);++n-1}function listCacheSet(e,a){var n=this.__data__,i=assocIndexOf(n,e);return i<0?(++this.size,n.push([e,a])):n[i][1]=a,this}function ListCache(e){var a=-1,n=e==null?0:e.length;for(this.clear();++al))return!1;var u=s.get(e),d=s.get(a);if(u&&d)return u==a&&d==e;var f=-1,h=!0,m=n&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,a),s.set(a,e);++f=a||C<0||f&&N>=s}function w(){var z=now();if(_(z))return A(z);l=setTimeout(w,y(z))}function A(z){return l=void 0,h&&i?m(z):(i=r=void 0,o)}function S(){l!==void 0&&clearTimeout(l),u=0,i=c=r=l=void 0}function M(){return l===void 0?o:A(now())}function P(){var z=now(),C=_(z);if(i=arguments,r=this,c=z,C){if(l===void 0)return v(c);if(f)return clearTimeout(l),l=setTimeout(w,a),m(c)}return l===void 0&&(l=setTimeout(w,a)),o}return P.cancel=S,P.flush=M,P}function arrayIncludesWith(e,a,n){for(var i=-1,r=e==null?0:e.length;++ia||s&&o&&c&&!l&&!u||i&&o&&c||!n&&c||!r)return 1;if(!i&&!s&&!u&&e=l)return c;var u=n[i];return c*(u=="desc"?-1:1)}}return e.index-a.index}function baseOrderBy(e,a,n){a.length?a=arrayMap(a,function(s){return isArray$2(s)?function(o){return baseGet(o,s.length===1?s[0]:s)}:s}):a=[identity$1];var i=-1;a=arrayMap(a,baseUnary(baseIteratee));var r=baseMap(e,function(s,o,l){var c=arrayMap(a,function(u){return u(s)});return{criteria:c,index:++i,value:s}});return baseSortBy(r,function(s,o){return compareMultiple(s,o,n)})}function orderBy(e,a,n,i){return e==null?[]:(isArray$2(a)||(a=a==null?[]:[a]),n=i?void 0:n,isArray$2(n)||(n=n==null?[]:[n]),baseOrderBy(e,a,n))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,a,n){var i=-1,r=arrayIncludes,s=e.length,o=!0,l=[],c=l;if(n)o=!1,r=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var u=a?null:createSet(e);if(u)return setToArray(u);o=!1,r=cacheHas,c=new SetCache}else c=a?[]:l;e:for(;++i{socket.on("show_artist",i=>{socket.off("show_artist"),a(i)})})}function standardizeData(e,a){if(e.hasLoaded){const{data:n}=e,i=[];for(const r of n){let s=a(r);i.push(s)}return{data:i,hasLoaded:e.hasLoaded}}else return null}var script$b=defineComponent({components:{BaseTabs,BaseTab},setup(e,a){const n=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>n.artistReleases[n.currentTab])}),i=computed(()=>a.root.$router.currentRoute.params.id),r=ref$2(!1);getArtistData(unref(i)).then(o=>{r.value=!0;const l={data:[o],hasLoaded:unref(r)},{data:[{artistName:c,artistPictureXL:u,artistReleases:d}]}=standardizeData(l,formatArtistData);Object.assign(n,{artistName:c,artistPicture:u,artistReleases:d,currentTab:Object.keys(d)[0]})}).catch(o=>console.error(o));const s=computed(()=>{if(!unref(r))return[];let o=n.sortKey;return o==="releaseTracksNumber"&&(o=l=>new Number(l.releaseTracksNumber)),orderBy(n.currentRelease,o,n.sortOrder)});return{...toRefs(n),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(i)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${n.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),a=this.$tc.bind(this);return{head:[{title:a("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:a("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative image-header"},[n("header",{staticClass:"flex items-center",style:e.headerStyle},[n("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("BaseTabs",e._l(e.artistReleases,function(i,r){return n("BaseTab",{key:r,class:{active:e.currentTab===r},on:{click:function(s){e.currentTab=r}}},[e._v(` - `+e._s(e.$tc("globals.listTabs."+r,2))+` - `)])}),1),e._v(" "),n("table",{staticClass:"table"},[n("thead",[n("tr",e._l(e.head,function(i){return n("th",{key:i.title,staticClass:"uppercase-first-letter",class:{"sort-asc":i.sortKey===e.sortKey&&e.sortOrder=="asc","sort-desc":i.sortKey===e.sortKey&&e.sortOrder=="desc",sortable:i.sortKey,clickable:i.sortKey},style:{width:i.width?i.width:"auto"},on:{click:function(r){i.sortKey&&e.sortBy(i.sortKey)}}},[e._v(` - `+e._s(i.title)+` - `)])}),0)]),e._v(" "),n("tbody",e._l(e.sortedData,function(i){return n("tr",{key:i.releaseID},[n("RouterLink",{staticClass:"flex items-center clickable",attrs:{tag:"td","data-cm-link":i.releaseLink,to:{name:"Album",params:{id:i.releaseID}}}},[n("img",{staticClass:"mr-4 rounded coverart",staticStyle:{width:"56px",height:"56px"},attrs:{src:i.releaseCover}}),e._v(" "),i.isReleaseExplicit?n("i",{staticClass:"material-icons title-icon title-icon--explicit"},[e._v("explicit")]):e._e(),e._v(" "),n("div",[n("span",{staticClass:"flex hover:text-primary"},[e._v(` - `+e._s(i.releaseTitle)+` - `),e.checkNewRelease(i.releaseDate)?n("i",{staticClass:"material-icons title-icon title-icon--right title-icon--new"},[e._v(` + Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),n("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_is_functional_template__$c=!1;function __vue_normalize__$c(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="InfoSpotifyFeatures.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var InfoSpotifyFeatures=__vue_normalize__$c({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var a=hasOwnProperty$2.call(e,symToStringTag),n=e[symToStringTag];try{e[symToStringTag]=void 0;var r=!0}catch(s){}var i=nativeObjectToString.call(e);return r&&(a?e[symToStringTag]=n:delete e[symToStringTag]),i}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,a){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,a){var n=typeof e;return a=a??MAX_SAFE_INTEGER,!!a&&(n=="number"||n!="symbol"&&reIsUint.test(e))&&(e>-1&&e%1==0)&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var a=e&&e.constructor,n=typeof a=="function"&&a.prototype||objectProto$3;return e===n}function baseTimes(e,a){for(var n=-1,r=Array(e);++n-1}function listCacheSet(e,a){var n=this.__data__,r=assocIndexOf(n,e);return r<0?(++this.size,n.push([e,a])):n[r][1]=a,this}function ListCache(e){var a=-1,n=e==null?0:e.length;for(this.clear();++ac))return!1;var d=s.get(e);if(d&&s.get(a))return d==a;var u=-1,f=!0,h=n&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,a),s.set(a,e);++u=a||C<0||f&&R>=s}function w(){var T=now();if(k(T))return x(T);c=setTimeout(w,y(T))}function x(T){return c=void 0,h&&r?m(T):(r=i=void 0,l)}function A(){c!==void 0&&clearTimeout(c),d=0,r=o=i=c=void 0}function M(){return c===void 0?l:x(now())}function D(){var T=now(),C=k(T);if(r=arguments,i=this,o=T,C){if(c===void 0)return v(o);if(f)return clearTimeout(c),c=setTimeout(w,a),m(o)}return c===void 0&&(c=setTimeout(w,a)),l}return D.cancel=A,D.flush=M,D}function arrayIncludesWith(e,a,n){for(var r=-1,i=e==null?0:e.length;++ra||s&&l&&o&&!c&&!d||r&&l&&o||!n&&o||!i)return 1;if(!r&&!s&&!d&&e=c)return o;var d=n[r];return o*(d=="desc"?-1:1)}}return e.index-a.index}function baseOrderBy(e,a,n){var r=-1;a=arrayMap(a.length?a:[identity$1],baseUnary(baseIteratee));var i=baseMap(e,function(s,l,c){var o=arrayMap(a,function(d){return d(s)});return{criteria:o,index:++r,value:s}});return baseSortBy(i,function(s,l){return compareMultiple(s,l,n)})}function orderBy(e,a,n,r){return e==null?[]:(isArray$2(a)||(a=a==null?[]:[a]),n=r?void 0:n,isArray$2(n)||(n=n==null?[]:[n]),baseOrderBy(e,a,n))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,a,n){var r=-1,i=arrayIncludes,s=e.length,l=!0,c=[],o=c;if(n)l=!1,i=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var d=a?null:createSet(e);if(d)return setToArray(d);l=!1,i=cacheHas,o=new SetCache}else o=a?[]:c;e:for(;++r{socket.on("show_artist",r=>{socket.off("show_artist"),a(r)})})}function standardizeData(e,a){if(e.hasLoaded){const{data:n}=e,r=[];for(const i of n){let s=a(i);r.push(s)}return{data:r,hasLoaded:e.hasLoaded}}else return null}var script$b=defineComponent({components:{BaseTabs,BaseTab},setup(e,a){const n=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>n.artistReleases[n.currentTab])}),r=computed(()=>a.root.$router.currentRoute.params.id),i=ref$2(!1);getArtistData(unref(r)).then(l=>{i.value=!0;const c={data:[l],hasLoaded:unref(i)},{data:[{artistName:o,artistPictureXL:d,artistReleases:u}]}=standardizeData(c,formatArtistData);Object.assign(n,{artistName:o,artistPicture:d,artistReleases:u,currentTab:Object.keys(u)[0]})}).catch(l=>console.error(l));const s=computed(()=>{if(!unref(i))return[];let l=n.sortKey;return l==="releaseTracksNumber"&&(l=c=>new Number(c.releaseTracksNumber)),orderBy(n.currentRelease,l,n.sortOrder)});return{...toRefs(n),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(r)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${n.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),a=this.$tc.bind(this);return{head:[{title:a("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:a("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative image-header"},[n("header",{staticClass:"flex items-center",style:e.headerStyle},[n("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(r){return r.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("BaseTabs",e._l(e.artistReleases,function(r,i){return n("BaseTab",{key:i,class:{active:e.currentTab===i},on:{click:function(s){e.currentTab=i}}},[e._v(` + `+e._s(e.$tc("globals.listTabs."+i,2))+` + `)])}),1),e._v(" "),n("table",{staticClass:"table"},[n("thead",[n("tr",e._l(e.head,function(r){return n("th",{key:r.title,staticClass:"uppercase-first-letter",class:{"sort-asc":r.sortKey===e.sortKey&&e.sortOrder=="asc","sort-desc":r.sortKey===e.sortKey&&e.sortOrder=="desc",sortable:r.sortKey,clickable:r.sortKey},style:{width:r.width?r.width:"auto"},on:{click:function(i){r.sortKey&&e.sortBy(r.sortKey)}}},[e._v(` + `+e._s(r.title)+` + `)])}),0)]),e._v(" "),n("tbody",e._l(e.sortedData,function(r){return n("tr",{key:r.releaseID},[n("RouterLink",{staticClass:"flex items-center clickable",attrs:{tag:"td","data-cm-link":r.releaseLink,to:{name:"Album",params:{id:r.releaseID}}}},[n("img",{staticClass:"mr-4 rounded coverart",staticStyle:{width:"56px",height:"56px"},attrs:{src:r.releaseCover}}),e._v(" "),r.isReleaseExplicit?n("i",{staticClass:"material-icons title-icon title-icon--explicit"},[e._v("explicit")]):e._e(),e._v(" "),n("div",[n("span",{staticClass:"flex hover:text-primary"},[e._v(` + `+e._s(r.releaseTitle)+` + `),e.checkNewRelease(r.releaseDate)?n("i",{staticClass:"material-icons title-icon title-icon--right title-icon--new"},[e._v(` fiber_new `)]):e._e()]),e._v(" "),n("span",{directives:[{name:"show",rawName:"v-show",value:e.currentTab==="all",expression:"currentTab === 'all'"}],staticClass:"block text-xs opacity-50 uppercase-first-letter"},[e._v(` - `+e._s(e.$tc("globals.listTabs."+i.releaseType))+` - `)])])]),e._v(" "),n("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(i.releaseDate))]),e._v(" "),n("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(i.releaseTracksNumber))]),e._v(" "),n("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":i.releaseLink},on:{click:function(r){return r.stopPropagation(),e.sendAddToQueue(i.releaseLink)}}},[n("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)}),0)])],1)},__vue_staticRenderFns__$d=[];const __vue_inject_styles__$d=void 0,__vue_scope_id__$d=void 0,__vue_module_identifier__$d=void 0,__vue_is_functional_template__$d=!1;var Artist=normalizeComponent_1({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$b,__vue_scope_id__$d,__vue_is_functional_template__$d,__vue_module_identifier__$d,void 0,void 0);let chartsData={},cached$1=!1;function getChartsData(){return cached$1?chartsData:(socket.emit("get_charts_data"),new Promise((e,a)=>{socket.on("init_charts",n=>{chartsData=n,cached$1=!0,socket.off("init_charts"),e(n)})}))}var script$c={methods:{previewMouseEnter,previewMouseLeave}};const __vue_script__$c=script$c;var __vue_render__$e=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(` + `+e._s(e.$tc("globals.listTabs."+r.releaseType))+` + `)])])]),e._v(" "),n("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(r.releaseDate))]),e._v(" "),n("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(r.releaseTracksNumber))]),e._v(" "),n("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":r.releaseLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(r.releaseLink)}}},[n("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)}),0)])],1)},__vue_staticRenderFns__$d=[];const __vue_inject_styles__$d=void 0,__vue_scope_id__$d=void 0,__vue_is_functional_template__$d=!1;function __vue_normalize__$d(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Artist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Artist=__vue_normalize__$d({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$b,__vue_scope_id__$d,__vue_is_functional_template__$d);let chartsData={},cached$1=!1;function getChartsData(){return cached$1?chartsData:(socket.emit("get_charts_data"),new Promise((e,a)=>{socket.on("init_charts",n=>{chartsData=n,cached$1=!0,socket.off("init_charts"),e(n)})}))}var script$c={methods:{previewMouseEnter,previewMouseLeave}};const __vue_script__$c=script$c;var __vue_render__$e=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(` play_arrow -`)])},__vue_staticRenderFns__$e=[];const __vue_inject_styles__$e=void 0,__vue_scope_id__$e=void 0,__vue_module_identifier__$e=void 0,__vue_is_functional_template__$e=!1;var PreviewControls=normalizeComponent_1({render:__vue_render__$e,staticRenderFns:__vue_staticRenderFns__$e},__vue_inject_styles__$e,__vue_script__$c,__vue_scope_id__$e,__vue_is_functional_template__$e,__vue_module_identifier__$e,void 0,void 0),script$d={components:{PreviewControls},data(){return{country:"",id:0,countries:[],chart:[]}},computed:{worldwideRelease(){return this.countries.filter(a=>a.title==="Worldwide")[0]}},async created(){socket.on("setChartTracks",this.setTracklist),this.$on("hook:destroyed",()=>{socket.off("setChartTracks")});let e=await getChartsData(),a;e=e.filter(n=>(n.title==="Worldwide"&&(a=n),n.title!=="Worldwide")),e.unshift(a),this.initCharts(e)},methods:{convertDuration,playPausePreview,addToQueue(e){e.stopPropagation(),sendAddToQueue(e.currentTarget.dataset.link)},getTrackList(e){document.getElementById("content").scrollTo(0,0);const{currentTarget:{dataset:{title:a}},currentTarget:{dataset:{id:n}}}=e;this.country=a,localStorage.setItem("chart",this.country),this.id=n,socket.emit("getChartTracks",this.id)},setTracklist(e){this.chart=e},onChangeCountry(){this.country="",this.id=0},initCharts(e){if(this.countries=e,this.country=localStorage.getItem("chart")||"",!this.country)return;let a=0;for(;aa.title==="Worldwide");return e[0]}},async created(){socket.on("setChartTracks",this.setTracklist),this.$on("hook:destroyed",()=>{socket.off("setChartTracks")});let e=await getChartsData(),a;e=e.filter(n=>(n.title==="Worldwide"&&(a=n),n.title!=="Worldwide")),e.unshift(a),this.initCharts(e)},methods:{convertDuration,playPausePreview,addToQueue(e){e.stopPropagation(),sendAddToQueue(e.currentTarget.dataset.link)},getTrackList(e){document.getElementById("content").scrollTo(0,0);const{currentTarget:{dataset:{title:a}},currentTarget:{dataset:{id:n}}}=e;this.country=a,localStorage.setItem("chart",this.country),this.id=n,socket.emit("getChartTracks",this.id)},setTracklist(e){this.chart=e},onChangeCountry(){this.country="",this.id=0},initCharts(e){if(this.countries=e,this.country=localStorage.getItem("chart")||"",!this.country)return;let a=0;for(;a{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$g=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,a){const n=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:i,favoriteAlbums:r,favoriteSpotifyPlaylists:s,favoritePlaylists:o,favoriteTracks:l,isRefreshingFavorites:c,refreshFavorites:u}=useFavorites();return computed(()=>a.refs.reloadButton),watch(c,(d,f)=>{!(f&&!d)||toast(a.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(n),tracks:l,albums:r,artists:i,playlists:o,spotifyPlaylists:s,refreshFavorites:u,isRefreshingFavorites:c}},computed:{activeTabEmpty(){return this.getActiveRelease()?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let a=this.getLovedTracksPlaylist();sendAddToQueue(a.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let a;switch(e){case"playlist":a=this.playlists;break;case"album":a=this.albums;break;case"artist":a=this.artists;break;case"track":a=this.tracks;break}return a},getTabLength(e=this.activeTab){return this[`${e}s`]?.length||0},getLovedTracksPlaylist(){let e=this.playlists.filter(a=>a.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$g=script$g;var __vue_render__$i=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(` + `)])])],1)}),0)])])])},__vue_staticRenderFns__$f=[];const __vue_inject_styles__$f=void 0,__vue_scope_id__$f=void 0,__vue_is_functional_template__$f=!1;function __vue_normalize__$f(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Charts.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Charts=__vue_normalize__$f({render:__vue_render__$f,staticRenderFns:__vue_staticRenderFns__$f},__vue_inject_styles__$f,__vue_script__$d,__vue_scope_id__$f,__vue_is_functional_template__$f),script$e={computed:{...mapGetters(["getErrors"]),title(){return`${this.getErrors.artist} - ${this.getErrors.title}`},errors(){return this.getErrors.errors}}};const __vue_script__$e=script$e;var __vue_render__$g=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("errors.title",{name:e.title})))]),e._v(" "),n("table",{staticClass:"table table--tracklist"},[n("tr",[n("th",[e._v("ID")]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.error",1)))])]),e._v(" "),e._l(e.errors,function(r){return n("tr",{key:r.data.id},[n("td",[e._v(e._s(r.data.id))]),e._v(" "),n("td",[e._v(e._s(r.data.artist))]),e._v(" "),n("td",[e._v(e._s(r.data.title))]),e._v(" "),n("td",[e._v(e._s(r.errid?e.$t("errors.ids."+r.errid):r.message))])])})],2)])},__vue_staticRenderFns__$g=[];const __vue_inject_styles__$g=void 0,__vue_scope_id__$g=void 0,__vue_is_functional_template__$g=!1;function __vue_normalize__$g(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Errors.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Errors=__vue_normalize__$g({render:__vue_render__$g,staticRenderFns:__vue_staticRenderFns__$g},__vue_inject_styles__$g,__vue_script__$e,__vue_scope_id__$g,__vue_is_functional_template__$g),script$f={inheritAttrs:!1,props:{cover:{type:String,reqired:!0},isRounded:{type:Boolean,required:!1},isCircle:{type:Boolean,required:!1},link:{type:String,reqired:!0}}};const __vue_script__$f=script$f;var __vue_render__$h=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative cover-container group"},[n("img",{staticClass:"block w-full opacity-100 coverart",class:{rounded:e.isRounded,"rounded-full":e.isCircle},attrs:{"aria-hidden":"true",src:e.cover}}),e._v(" "),n("button",e._g({staticClass:"absolute p-0 text-center bg-black border-0 rounded-full opacity-0 download_overlay hover:bg-primary",attrs:{role:"button","aria-label":"download","data-link":e.link,tabindex:"0"}},e.$listeners),[n("i",{staticClass:"text-white cursor-pointer material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])])},__vue_staticRenderFns__$h=[];const __vue_inject_styles__$h=function(e){if(!e)return;e("data-v-5a73b889_0",{source:".cover-container[data-v-5a73b889]{width:156px;height:156px;margin-bottom:10px}.cover-container .coverart[data-v-5a73b889]{backface-visibility:hidden;transition:.5s ease;height:auto}.cover-container .download_overlay[data-v-5a73b889]{top:50%;left:50%;transform:translate(-50%,-50%);transition:.5s ease;opacity:0;min-width:2rem;height:2.75rem;text-align:center}.cover-container .download_overlay i[data-v-5a73b889]{padding:.625rem}.cover-container .download_overlay[data-v-5a73b889]:focus{opacity:1}.cover-container:hover .coverart[data-v-5a73b889]{opacity:.75}.cover-container:hover .download_overlay[data-v-5a73b889]{opacity:1;border:0}",map:void 0,media:void 0})},__vue_scope_id__$h="data-v-5a73b889",__vue_module_identifier__$a=void 0,__vue_is_functional_template__$h=!1;function __vue_normalize__$h(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="CoverContainer.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$a(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$a.styles||(__vue_create_injector__$a.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var CoverContainer=__vue_normalize__$h({render:__vue_render__$h,staticRenderFns:__vue_staticRenderFns__$h},__vue_inject_styles__$h,__vue_script__$f,__vue_scope_id__$h,__vue_is_functional_template__$h,__vue_module_identifier__$a,__vue_create_injector__$a);const favoriteArtists=ref$2([]),favoriteAlbums=ref$2([]),favoriteSpotifyPlaylists=ref$2([]),favoritePlaylists=ref$2([]),favoriteTracks=ref$2([]),isRefreshingFavorites=ref$2(!1);store.getters.isLoggedIn&&refreshFavorites({isInitial:!0});function refreshFavorites({isInitial:e=!1}){e||(isRefreshingFavorites.value=!0),socket.emit("get_favorites_data"),store.getters.isLoggedWithSpotify&&socket.emit("update_userSpotifyPlaylists",store.getters.getSpotifyUser.id)}function useFavorites(){return{favoriteArtists,favoriteAlbums,favoriteSpotifyPlaylists,favoritePlaylists,favoriteTracks,isRefreshingFavorites,refreshFavorites}}function setAllFavorites(e){const{tracks:a,albums:n,artists:r,playlists:i}=e;favoriteArtists.value=r,favoriteAlbums.value=n,favoritePlaylists.value=i,favoriteTracks.value=a}socket.on("updated_userFavorites",e=>{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$g=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,a){const n=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:r,favoriteAlbums:i,favoriteSpotifyPlaylists:s,favoritePlaylists:l,favoriteTracks:c,isRefreshingFavorites:o,refreshFavorites:d}=useFavorites(),u=computed(()=>a.refs.reloadButton);return watch(o,(f,h)=>{const m=h&&!f;if(!m)return;toast(a.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(n),tracks:c,albums:i,artists:r,playlists:l,spotifyPlaylists:s,refreshFavorites:d,isRefreshingFavorites:o}},computed:{activeTabEmpty(){let e=this.getActiveRelease();return e?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let a=this.getLovedTracksPlaylist();sendAddToQueue(a.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let a;switch(e){case"playlist":a=this.playlists;break;case"album":a=this.albums;break;case"artist":a=this.artists;break;case"track":a=this.tracks;break}return a},getTabLength(e=this.activeTab){let a=this[`${e}s`]?.length;return a||0},getLovedTracksPlaylist(){let e=this.playlists.filter(a=>a.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$g=script$g;var __vue_render__$i=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(` `+e._s(e.$t("favorites.title"))+` - `),n("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{role:"button","aria-label":"reload"},on:{click:e.refreshFavorites}},[n("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),n("BaseTabs",e._l(e.tabs,function(i){return n("BaseTab",{key:i,class:{active:e.activeTab===i},on:{click:function(r){e.activeTab=i}}},[e._v(` - `+e._s(e.$tc("globals.listTabs."+i,2))+` + `),n("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{role:"button","aria-label":"reload"},on:{click:e.refreshFavorites}},[n("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),n("BaseTabs",e._l(e.tabs,function(r){return n("BaseTab",{key:r,class:{active:e.activeTab===r},on:{click:function(i){e.activeTab=r}}},[e._v(` + `+e._s(e.$tc("globals.listTabs."+r,2))+` `)])}),1),e._v(" "),e.activeTabEmpty?e._e():n("button",{staticClass:"btn btn-primary",staticStyle:{"margin-bottom":"2rem"},on:{click:e.downloadAllOfType}},[e._v(` `+e._s(e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.activeTab+"N",e.getTabLength())}))+` - `)]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="playlist",expression:"activeTab === 'playlist'"}]},[e.playlists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e._v(" "),e.playlists.length>0||e.spotifyPlaylists>0?n("div",{staticClass:"release-grid"},[e._l(e.playlists,function(i){return n("div",{key:i.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.creator.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` - `)])],1)}),e._v(" "),e._l(e.spotifyPlaylists,function(i){return n("div",{key:i.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Spotify Playlist",params:{id:i.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.creator.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` - `)])],1)})],2):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="album",expression:"activeTab === 'album'"}]},[e.albums.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e._v(" "),e.albums.length>0?n("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:i.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.cover_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="artist",expression:"activeTab === 'artist'"}]},[e.artists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e._v(" "),e.artists.length>0?n("div",{staticClass:"release-grid"},e._l(e.artists,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Artist",params:{id:i.id}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.name))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="track",expression:"activeTab === 'track'"}]},[e.tracks.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e._v(" "),e.tracks.length>0?n("table",{staticClass:"table"},e._l(e.tracks,function(i){return n("tr",{staticClass:"track_row"},[n("td",{staticClass:"p-3 text-center cursor-default",class:{first:i.position===1}},[e._v(` - `+e._s(i.position)+` - `)]),e._v(" "),n("td",[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.preview},on:{click:e.playPausePreview}},[i.preview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:i.album.cover_small}})],1)]),e._v(" "),n("td",{staticClass:"table__cell--large"},[e._v(` - `+e._s(i.title+(i.title_version&&i.title.indexOf(i.title_version)==-1?" "+i.title_version:""))+` - `)]),e._v(" "),n("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artist.id}}}},[e._v(` - `+e._s(i.artist.name)+` - `)]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:i.album.id}}}},[e._v(` - `+e._s(i.album.title)+` + `)]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="playlist",expression:"activeTab === 'playlist'"}]},[e.playlists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e._v(" "),e.playlists.length>0||e.spotifyPlaylists>0?n("div",{staticClass:"release-grid"},[e._l(e.playlists,function(r){return n("div",{key:r.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` + `+e._s(e.$t("globals.by",{artist:r.creator.name})+" - "+e.$tc("globals.listTabs.trackN",r.nb_tracks))+` + `)])],1)}),e._v(" "),e._l(e.spotifyPlaylists,function(r){return n("div",{key:r.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Spotify Playlist",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` + `+e._s(e.$t("globals.by",{artist:r.creator.name})+" - "+e.$tc("globals.listTabs.trackN",r.nb_tracks))+` + `)])],1)})],2):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="album",expression:"activeTab === 'album'"}]},[e.albums.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e._v(" "),e.albums.length>0?n("div",{staticClass:"release-grid"},e._l(e.albums,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.cover_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:r.artist.name})))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="artist",expression:"activeTab === 'artist'"}]},[e.artists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e._v(" "),e.artists.length>0?n("div",{staticClass:"release-grid"},e._l(e.artists,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Artist",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.name))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="track",expression:"activeTab === 'track'"}]},[e.tracks.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e._v(" "),e.tracks.length>0?n("table",{staticClass:"table"},e._l(e.tracks,function(r){return n("tr",{staticClass:"track_row"},[n("td",{staticClass:"p-3 text-center cursor-default",class:{first:r.position===1}},[e._v(` + `+e._s(r.position)+` + `)]),e._v(" "),n("td",[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":r.preview},on:{click:e.playPausePreview}},[r.preview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:r.album.cover_small}})],1)]),e._v(" "),n("td",{staticClass:"table__cell--large"},[e._v(` + `+e._s(r.title+(r.title_version&&r.title.indexOf(r.title_version)==-1?" "+r.title_version:""))+` + `)]),e._v(" "),n("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:r.artist.id}}}},[e._v(` + `+e._s(r.artist.name)+` + `)]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:r.album.id}}}},[e._v(` + `+e._s(r.album.title)+` `)]),e._v(" "),n("td",{staticClass:"table__cell--small"},[e._v(` - `+e._s(e.convertDuration(i.duration))+` - `)]),e._v(" "),n("td",{staticClass:"cursor-pointer group",attrs:{"data-link":i.link,role:"button","aria-label":"download"},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` + `+e._s(e.convertDuration(r.duration))+` + `)]),e._v(" "),n("td",{staticClass:"cursor-pointer group",attrs:{"data-link":r.link,role:"button","aria-label":"download"},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` get_app - `)])])])],1)}),0):e._e()])],1)},__vue_staticRenderFns__$i=[];const __vue_inject_styles__$i=void 0,__vue_scope_id__$i=void 0,__vue_module_identifier__$i=void 0,__vue_is_functional_template__$i=!1;var Favorites=normalizeComponent_1({render:__vue_render__$i,staticRenderFns:__vue_staticRenderFns__$i},__vue_inject_styles__$i,__vue_script__$g,__vue_scope_id__$i,__vue_is_functional_template__$i,__vue_module_identifier__$i,void 0,void 0);let homeData={},cached$2=!1;function getHomeData(){return cached$2?homeData:(socket.emit("get_home_data"),new Promise((e,a)=>{socket.on("init_home",n=>{homeData=n,cached$2=!0,socket.off("init_home"),e(n)})}))}var script$h={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:a},albums:{data:n}}=e;this.playlists=a,this.albums=n}}};const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"home_tab"}},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():n("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` + `)])])])],1)}),0):e._e()])],1)},__vue_staticRenderFns__$i=[];const __vue_inject_styles__$i=void 0,__vue_scope_id__$i=void 0,__vue_is_functional_template__$i=!1;function __vue_normalize__$i(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Favorites.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Favorites=__vue_normalize__$i({render:__vue_render__$i,staticRenderFns:__vue_staticRenderFns__$i},__vue_inject_styles__$i,__vue_script__$g,__vue_scope_id__$i,__vue_is_functional_template__$i);let homeData={},cached$2=!1;function getHomeData(){return cached$2?homeData:(socket.emit("get_home_data"),new Promise((e,a)=>{socket.on("init_home",n=>{homeData=n,cached$2=!0,socket.off("init_home"),e(n)})}))}var script$h={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:a},albums:{data:n}}=e;this.playlists=a,this.albums=n}}};const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"home_tab"}},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():n("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` `+e._s(e.$t("home.openSettings"))+` - `)])],1),e._v(" "),e.playlists.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularPlaylists")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.playlists,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.id}},tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Playlist",params:{id:i.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.user.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` - `)])],1)}),1)]):e._e(),e._v(" "),e.albums.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularAlbums")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:i.id}},"data-id":i.id,tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Album",params:{id:i.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.cover_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1)]):e._e()])},__vue_staticRenderFns__$j=[];const __vue_inject_styles__$j=void 0,__vue_scope_id__$j=void 0,__vue_module_identifier__$j=void 0,__vue_is_functional_template__$j=!1;var Home=normalizeComponent_1({render:__vue_render__$j,staticRenderFns:__vue_staticRenderFns__$j},__vue_inject_styles__$j,__vue_script__$h,__vue_scope_id__$j,__vue_is_functional_template__$j,__vue_module_identifier__$j,void 0,void 0);const COUNTRIES={AF:"Afghanistan",AX:"\xC5land Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia, Plurinational State of",BQ:"Bonaire, Sint Eustatius and Saba",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, the Democratic Republic of the",CK:"Cook Islands",CR:"Costa Rica",CI:"C\xF4te d'Ivoire",HR:"Croatia",CU:"Cuba",CW:"Cura\xE7ao",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran, Islamic Republic of",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea, Democratic People's Republic of",KR:"Korea, Republic of",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Lao People's Democratic Republic",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia, the Former Yugoslav Republic of",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia, Federated States of",MD:"Moldova, Republic of",MC:"Monaco",MN:"Mongolia",ME:"Montenegro",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine, State of",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"R\xE9union",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",BL:"Saint Barth\xE9lemy",SH:"Saint Helena, Ascension and Tristan da Cunha",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",MF:"Saint Martin (French part)",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SX:"Sint Maarten (Dutch part)",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",SS:"South Sudan",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania, United Republic of",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela, Bolivarian Republic of",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe"};var script$i={data(){return{link:"",title:"",subtitle:"",image:"",data:{},type:"",id:"0",countries:[]}},methods:{convertDuration,reset(){this.title="Loading...",this.subtitle="",this.image="",this.data={},this.type="",this.link="",this.countries=[]},showTrack(e){this.reset();const{title:a,title_version:n,album:{cover_xl:i},link:r,available_countries:s,id:o}=e;this.title=a+(n&&a.indexOf(n)==-1?" "+n:""),this.image=i,this.type="track",this.link=r,this.id=o,s.forEach(l=>{let c=[],u=[...l].map(d=>d.charCodeAt()+127397);c.push(String.fromCodePoint(...u)),c.push(COUNTRIES[l]),this.countries.push(c)}),this.data=e},showAlbum(e){this.reset();const{title:a,cover_xl:n,link:i,id:r}=e;this.title=a,this.image=n,this.type="album",this.link=i,this.data=e,this.id=r},notSupported(){this.link="error"},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)}},mounted(){socket.on("analyze_track",this.showTrack),socket.on("analyze_album",this.showAlbum),socket.on("analyze_notSupported",this.notSupported)}};const __vue_script__$i=script$i;var __vue_render__$k=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"image-header",attrs:{id:"analyzer_tab"}},[n("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.linkAnalyzer")))]),e._v(" "),e.link===""?n("div",[n("p",[e._v(` + `)])],1),e._v(" "),e.playlists.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularPlaylists")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.playlists,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Playlist",params:{id:r.id}},tabindex:"0"},nativeOn:{keyup:function(i){return!i.type.indexOf("key")&&e._k(i.keyCode,"enter",13,i.key,"Enter")?null:e.$router.push({name:"Playlist",params:{id:r.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` + `+e._s(e.$t("globals.by",{artist:r.user.name})+" - "+e.$tc("globals.listTabs.trackN",r.nb_tracks))+` + `)])],1)}),1)]):e._e(),e._v(" "),e.albums.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularAlbums")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.albums,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:r.id}},"data-id":r.id,tabindex:"0"},nativeOn:{keyup:function(i){return!i.type.indexOf("key")&&e._k(i.keyCode,"enter",13,i.key,"Enter")?null:e.$router.push({name:"Album",params:{id:r.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.cover_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:r.artist.name})))])],1)}),1)]):e._e()])},__vue_staticRenderFns__$j=[];const __vue_inject_styles__$j=void 0,__vue_scope_id__$j=void 0,__vue_is_functional_template__$j=!1;function __vue_normalize__$j(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Home.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Home=__vue_normalize__$j({render:__vue_render__$j,staticRenderFns:__vue_staticRenderFns__$j},__vue_inject_styles__$j,__vue_script__$h,__vue_scope_id__$j,__vue_is_functional_template__$j);const COUNTRIES={AF:"Afghanistan",AX:"\xC5land Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia, Plurinational State of",BQ:"Bonaire, Sint Eustatius and Saba",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, the Democratic Republic of the",CK:"Cook Islands",CR:"Costa Rica",CI:"C\xF4te d'Ivoire",HR:"Croatia",CU:"Cuba",CW:"Cura\xE7ao",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran, Islamic Republic of",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea, Democratic People's Republic of",KR:"Korea, Republic of",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Lao People's Democratic Republic",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia, the Former Yugoslav Republic of",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia, Federated States of",MD:"Moldova, Republic of",MC:"Monaco",MN:"Mongolia",ME:"Montenegro",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine, State of",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"R\xE9union",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",BL:"Saint Barth\xE9lemy",SH:"Saint Helena, Ascension and Tristan da Cunha",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",MF:"Saint Martin (French part)",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SX:"Sint Maarten (Dutch part)",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",SS:"South Sudan",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania, United Republic of",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela, Bolivarian Republic of",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe"};var script$i={data(){return{link:"",title:"",subtitle:"",image:"",data:{},type:"",id:"0",countries:[]}},methods:{convertDuration,reset(){this.title="Loading...",this.subtitle="",this.image="",this.data={},this.type="",this.link="",this.countries=[]},showTrack(e){this.reset();const{title:a,title_version:n,album:{cover_xl:r},link:i,available_countries:s,id:l}=e;this.title=a+(n&&a.indexOf(n)==-1?" "+n:""),this.image=r,this.type="track",this.link=i,this.id=l,s.forEach(c=>{let o=[],d=[...c].map(u=>u.charCodeAt()+127397);o.push(String.fromCodePoint(...d)),o.push(COUNTRIES[c]),this.countries.push(o)}),this.data=e},showAlbum(e){this.reset();const{title:a,cover_xl:n,link:r,id:i}=e;this.title=a,this.image=n,this.type="album",this.link=r,this.data=e,this.id=i},notSupported(){this.link="error"},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)}},mounted(){socket.on("analyze_track",this.showTrack),socket.on("analyze_album",this.showAlbum),socket.on("analyze_notSupported",this.notSupported)}};const __vue_script__$i=script$i;var __vue_render__$k=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"image-header",attrs:{id:"analyzer_tab"}},[n("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.linkAnalyzer")))]),e._v(" "),e.link===""?n("div",[n("p",[e._v(` `+e._s(e.$t("linkAnalyzer.info"))+` `)]),e._v(" "),n("p",[e._v(` `+e._s(e.$t("linkAnalyzer.useful"))+` @@ -2978,41 +3008,41 @@ PERFORMANCE OF THIS SOFTWARE. `+e._s(e.data.artist.name)+` `)])],1),e._v(` `+e._s(" \u2022 "+e.$tc("globals.listTabs.trackN",e.data.nb_tracks))+` - `)],1):e._e()]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{role:"button","aria-label":"download","data-link":e.link},on:{contextmenu:function(i){return i.preventDefault(),e.openQualityModal(i)},click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("table",{staticClass:"table"},[e.data.id?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.id")))]),e._v(" "),n("td",[e._v(e._s(e.data.id))])]):e._e(),e._v(" "),e.data.isrc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.isrc")))]),e._v(" "),n("td",[e._v(e._s(e.data.isrc))])]):e._e(),e._v(" "),e.data.upc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.upc")))]),e._v(" "),n("td",[e._v(e._s(e.data.upc))])]):e._e(),e._v(" "),e.data.duration?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.duration")))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(e.data.duration)))])]):e._e(),e._v(" "),e.data.disk_number?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.diskNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.disk_number))])]):e._e(),e._v(" "),e.data.track_position?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.trackNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.track_position))])]):e._e(),e._v(" "),e.data.release_date?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.releaseDate")))]),e._v(" "),n("td",[e._v(e._s(e.data.release_date))])]):e._e(),e._v(" "),e.data.bpm?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.bpm")))]),e._v(" "),n("td",[e._v(e._s(e.data.bpm))])]):e._e(),e._v(" "),e.data.label?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.label")))]),e._v(" "),n("td",[e._v(e._s(e.data.label))])]):e._e(),e._v(" "),e.data.record_type?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.recordType")))]),e._v(" "),n("td",[e._v(e._s(e.$tc("globals.listTabs."+e.data.record_type,1)))])]):e._e(),e._v(" "),e.data.genres&&e.data.genres.data.length?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.genres")))]),e._v(" "),n("td",[e._v(e._s(e.data.genres.data.map(function(i){return i.name}).join("; ")))])]):e._e()]),e._v(" "),e.type=="album"?n("div",[n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Album",params:{id:e.id}}}},[e._v(` + `)],1):e._e()]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{role:"button","aria-label":"download","data-link":e.link},on:{contextmenu:function(r){return r.preventDefault(),e.openQualityModal(r)},click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("table",{staticClass:"table"},[e.data.id?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.id")))]),e._v(" "),n("td",[e._v(e._s(e.data.id))])]):e._e(),e._v(" "),e.data.isrc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.isrc")))]),e._v(" "),n("td",[e._v(e._s(e.data.isrc))])]):e._e(),e._v(" "),e.data.upc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.upc")))]),e._v(" "),n("td",[e._v(e._s(e.data.upc))])]):e._e(),e._v(" "),e.data.duration?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.duration")))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(e.data.duration)))])]):e._e(),e._v(" "),e.data.disk_number?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.diskNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.disk_number))])]):e._e(),e._v(" "),e.data.track_position?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.trackNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.track_position))])]):e._e(),e._v(" "),e.data.release_date?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.releaseDate")))]),e._v(" "),n("td",[e._v(e._s(e.data.release_date))])]):e._e(),e._v(" "),e.data.bpm?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.bpm")))]),e._v(" "),n("td",[e._v(e._s(e.data.bpm))])]):e._e(),e._v(" "),e.data.label?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.label")))]),e._v(" "),n("td",[e._v(e._s(e.data.label))])]):e._e(),e._v(" "),e.data.record_type?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.recordType")))]),e._v(" "),n("td",[e._v(e._s(e.$tc("globals.listTabs."+e.data.record_type,1)))])]):e._e(),e._v(" "),e.data.genres&&e.data.genres.data.length?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.genres")))]),e._v(" "),n("td",[e._v(e._s(e.data.genres.data.map(function(r){return r.name}).join("; ")))])]):e._e()]),e._v(" "),e.type=="album"?n("div",[n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Album",params:{id:e.id}}}},[e._v(` `+e._s(e.$t("linkAnalyzer.table.tracklist"))+` - `)])],1):e._e(),e._v(" "),e.countries.length?n("div",e._l(e.countries,function(i){return n("p",[e._v(e._s(i[0])+" - "+e._s(i[1]))])}),0):e._e()])])},__vue_staticRenderFns__$k=[];const __vue_inject_styles__$k=void 0,__vue_scope_id__$k=void 0,__vue_module_identifier__$k=void 0,__vue_is_functional_template__$k=!1;var LinkAnalyzer=normalizeComponent_1({render:__vue_render__$k,staticRenderFns:__vue_staticRenderFns__$k},__vue_inject_styles__$k,__vue_script__$i,__vue_scope_id__$k,__vue_is_functional_template__$k,__vue_module_identifier__$k,void 0,void 0);const upperCaseFirstLowerCaseRest=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();var script$j={components:{CoverContainer},methods:{upperCaseFirstLowerCaseRest},computed:{fansNumber(){let e;try{e=this.$n(this.$attrs.info.nb_fan)}catch(a){e=this.$n(this.$attrs.info.nb_fan,{locale:"en"})}return this.$attrs.info.type=="artist"?this.$t("search.fans",{n:e}):this.$t("globals.by",{artist:this.$attrs.info.artist})+" - "+this.$tc("globals.listTabs.trackN",this.$attrs.info.nb_song)}}};const __vue_script__$j=script$j;var __vue_render__$l=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"flex flex-col items-center justify-center"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:e.upperCaseFirstLowerCaseRest(e.$attrs.info.type),params:{id:e.$attrs.info.id}}}},[n("CoverContainer",{staticClass:"w-40 h-40",attrs:{"is-rounded":e.$attrs.info.type!=="artist","is-circle":e.$attrs.info.type==="artist",cover:e.$attrs.info.picture,link:e.$attrs.info.link},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),n("p",{staticClass:"mt-4 mb-1 text-xl text-center transition-colors duration-200 ease-in-out hover:text-primary"},[e._v(` + `)])],1):e._e(),e._v(" "),e.countries.length?n("div",e._l(e.countries,function(r){return n("p",[e._v(e._s(r[0])+" - "+e._s(r[1]))])}),0):e._e()])])},__vue_staticRenderFns__$k=[];const __vue_inject_styles__$k=void 0,__vue_scope_id__$k=void 0,__vue_is_functional_template__$k=!1;function __vue_normalize__$k(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="LinkAnalyzer.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var LinkAnalyzer=__vue_normalize__$k({render:__vue_render__$k,staticRenderFns:__vue_staticRenderFns__$k},__vue_inject_styles__$k,__vue_script__$i,__vue_scope_id__$k,__vue_is_functional_template__$k);const upperCaseFirstLowerCaseRest=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();var script$j={components:{CoverContainer},methods:{upperCaseFirstLowerCaseRest},computed:{fansNumber(){let e;try{e=this.$n(this.$attrs.info.nb_fan)}catch(a){e=this.$n(this.$attrs.info.nb_fan,{locale:"en"})}return this.$attrs.info.type=="artist"?this.$t("search.fans",{n:e}):this.$t("globals.by",{artist:this.$attrs.info.artist})+" - "+this.$tc("globals.listTabs.trackN",this.$attrs.info.nb_song)}}};const __vue_script__$j=script$j;var __vue_render__$l=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"flex flex-col items-center justify-center"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:e.upperCaseFirstLowerCaseRest(e.$attrs.info.type),params:{id:e.$attrs.info.id}}}},[n("CoverContainer",{staticClass:"w-40 h-40",attrs:{"is-rounded":e.$attrs.info.type!=="artist","is-circle":e.$attrs.info.type==="artist",cover:e.$attrs.info.picture,link:e.$attrs.info.link},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("p",{staticClass:"mt-4 mb-1 text-xl text-center transition-colors duration-200 ease-in-out hover:text-primary"},[e._v(` `+e._s(e.$attrs.info.title)+` `)])],1),e._v(" "),n("p",{staticClass:"mb-3 text-center secondary-text"},[e._v(` `+e._s(e.fansNumber)+` `)]),e._v(" "),n("span",{staticClass:"p-1 px-2 text-xs text-center capitalize bg-primary rounded-xl"},[e._v(` `+e._s(e.$tc("globals.listTabs."+e.$attrs.info.type,1))+` - `)])],1)},__vue_staticRenderFns__$l=[];const __vue_inject_styles__$l=void 0,__vue_scope_id__$l=void 0,__vue_module_identifier__$l=void 0,__vue_is_functional_template__$l=!1;var TopResult=normalizeComponent_1({render:__vue_render__$l,staticRenderFns:__vue_staticRenderFns__$l},__vue_inject_styles__$l,__vue_script__$j,__vue_scope_id__$l,__vue_is_functional_template__$l,__vue_module_identifier__$l,void 0,void 0);function formatSingleTrack(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_LYRICS");return typeof a=="string"&&(a=a!=="0"),{trackTitle:getPropertyWithFallback(e,"title","SNG_TITLE"),trackTitleVersion:getPropertyWithFallback(e,"title_version","VERSION"),trackPreview:getPropertyWithFallback(e,"preview","MEDIA.0.HREF"),trackDuration:getPropertyWithFallback(e,"duration","DURATION"),trackLink:getPropertyWithFallback(e,"link")||`https://www.deezer.com/track/${e.SNG_ID}`,isTrackExplicit:a,artistID:getPropertyWithFallback(e,"artist.id","ART_ID"),artistName:getPropertyWithFallback(e,"artist.name","ART_NAME"),albumID:getPropertyWithFallback(e,"album.id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"album.title","ALB_TITLE"),albumPicture:getPropertyWithFallback(e,"album.cover_small")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/56x56-000000-80-0-0.jpg`}}function formatAlbums(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS");return typeof a=="number"&&(a=a===1),{albumID:getPropertyWithFallback(e,"id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"title","ALB_TITLE"),albumCoverMedium:getPropertyWithFallback(e,"cover_medium")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/156x156-000000-80-0-0.jpg`,albumLink:getPropertyWithFallback(e,"link")||`https://deezer.com/album/${e.ALB_ID}`,albumTracks:getPropertyWithFallback(e,"nb_tracks","NUMBER_TRACK"),isAlbumExplicit:a,artistName:getPropertyWithFallback(e,"artist.name","ART_NAME")}}function formatArtist(e){return{artistID:getPropertyWithFallback(e,"id","ART_ID"),artistName:getPropertyWithFallback(e,"name","ART_NAME"),artistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/artist/${e.ART_PICTURE}/156x156-000000-80-0-0.jpg`,artistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/artist/${e.ART_ID}`,artistAlbumsNumber:getPropertyWithFallback(e,"nb_album","NB_FAN")}}function formatPlaylist(e){return{playlistID:getPropertyWithFallback(e,"id","PLAYLIST_ID"),playlistTitle:getPropertyWithFallback(e,"title","TITLE"),playlistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/${e.PICTURE_TYPE}/${e.PLAYLIST_PICTURE}/156x156-000000-80-0-0.jpg`,playlistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/playlist/${e.PLAYLIST_ID}`,playlistTracksNumber:getPropertyWithFallback(e,"nb_tracks","NB_SONG"),artistName:getPropertyWithFallback(e,"user.name")}}function formatTitle(e){const a=e.trackTitleVersion&&e.trackTitle.indexOf(e.trackTitleVersion)===-1;return`${e.trackTitle}${a?` ${e.trackTitleVersion}`:""}`}var script$k={components:{BaseLoadingPlaceholder,PreviewControls},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}},methods:{convertDuration,formatTitle,playPausePreview}};const __vue_script__$k=script$k;var __vue_render__$m=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsTrack")))])]):n("table",{staticClass:"table w-full table--tracks"},[e.wantHeaders?n("thead",[n("tr",{staticClass:"capitalize"},[n("th",{staticClass:"h-12 pb-3",attrs:{colspan:"2"}},[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.album",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[n("i",{staticClass:"material-icons"},[e._v("timer")])]),e._v(" "),n("th",{staticClass:"h-12 pb-3",staticStyle:{width:"3.5rem"}})])]):e._e(),e._v(" "),n("tbody",e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("tr",{key:i.trackLink},[n("td",{staticClass:"table__icon table__icon--big"},[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.trackPreview},on:{click:function(r){return e.playPausePreview(r)}}},[i.trackPreview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:i.albumPicture}})],1)]),e._v(" "),n("td",{staticClass:"table__cell table__cell--large"},[n("div",{staticClass:"break-words table__cell-content table__cell-content--vertical-center"},[i.isTrackExplicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` - `+e._s(e.formatTitle(i))+` - `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artistID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` - `+e._s(i.artistName)+` - `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Album",params:{id:i.albumID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` - `+e._s(i.albumTitle)+` + `)])],1)},__vue_staticRenderFns__$l=[];const __vue_inject_styles__$l=void 0,__vue_scope_id__$l=void 0,__vue_is_functional_template__$l=!1;function __vue_normalize__$l(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TopResult.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TopResult=__vue_normalize__$l({render:__vue_render__$l,staticRenderFns:__vue_staticRenderFns__$l},__vue_inject_styles__$l,__vue_script__$j,__vue_scope_id__$l,__vue_is_functional_template__$l);function formatSingleTrack(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_LYRICS");return typeof a=="string"&&(a=a!=="0"),{trackTitle:getPropertyWithFallback(e,"title","SNG_TITLE"),trackTitleVersion:getPropertyWithFallback(e,"title_version","VERSION"),trackPreview:getPropertyWithFallback(e,"preview","MEDIA.0.HREF"),trackDuration:getPropertyWithFallback(e,"duration","DURATION"),trackLink:getPropertyWithFallback(e,"link")||`https://www.deezer.com/track/${e.SNG_ID}`,isTrackExplicit:a,artistID:getPropertyWithFallback(e,"artist.id","ART_ID"),artistName:getPropertyWithFallback(e,"artist.name","ART_NAME"),albumID:getPropertyWithFallback(e,"album.id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"album.title","ALB_TITLE"),albumPicture:getPropertyWithFallback(e,"album.cover_small")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/56x56-000000-80-0-0.jpg`}}function formatAlbums(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS");return typeof a=="number"&&(a=a===1),{albumID:getPropertyWithFallback(e,"id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"title","ALB_TITLE"),albumCoverMedium:getPropertyWithFallback(e,"cover_medium")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/156x156-000000-80-0-0.jpg`,albumLink:getPropertyWithFallback(e,"link")||`https://deezer.com/album/${e.ALB_ID}`,albumTracks:getPropertyWithFallback(e,"nb_tracks","NUMBER_TRACK"),isAlbumExplicit:a,artistName:getPropertyWithFallback(e,"artist.name","ART_NAME")}}function formatArtist(e){return{artistID:getPropertyWithFallback(e,"id","ART_ID"),artistName:getPropertyWithFallback(e,"name","ART_NAME"),artistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/artist/${e.ART_PICTURE}/156x156-000000-80-0-0.jpg`,artistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/artist/${e.ART_ID}`,artistAlbumsNumber:getPropertyWithFallback(e,"nb_album","NB_FAN")}}function formatPlaylist(e){return{playlistID:getPropertyWithFallback(e,"id","PLAYLIST_ID"),playlistTitle:getPropertyWithFallback(e,"title","TITLE"),playlistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/${e.PICTURE_TYPE}/${e.PLAYLIST_PICTURE}/156x156-000000-80-0-0.jpg`,playlistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/playlist/${e.PLAYLIST_ID}`,playlistTracksNumber:getPropertyWithFallback(e,"nb_tracks","NB_SONG"),artistName:getPropertyWithFallback(e,"user.name")}}function formatTitle(e){const a=e.trackTitleVersion&&e.trackTitle.indexOf(e.trackTitleVersion)===-1;return`${e.trackTitle}${a?` ${e.trackTitleVersion}`:""}`}var script$k={components:{BaseLoadingPlaceholder,PreviewControls},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}},methods:{convertDuration,formatTitle,playPausePreview}};const __vue_script__$k=script$k;var __vue_render__$m=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsTrack")))])]):n("table",{staticClass:"table w-full table--tracks"},[e.wantHeaders?n("thead",[n("tr",{staticClass:"capitalize"},[n("th",{staticClass:"h-12 pb-3",attrs:{colspan:"2"}},[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.album",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[n("i",{staticClass:"material-icons"},[e._v("timer")])]),e._v(" "),n("th",{staticClass:"h-12 pb-3",staticStyle:{width:"3.5rem"}})])]):e._e(),e._v(" "),n("tbody",e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(r){return n("tr",{key:r.trackLink},[n("td",{staticClass:"table__icon table__icon--big"},[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":r.trackPreview},on:{click:function(i){return e.playPausePreview(i)}}},[r.trackPreview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:r.albumPicture}})],1)]),e._v(" "),n("td",{staticClass:"table__cell table__cell--large"},[n("div",{staticClass:"break-words table__cell-content table__cell-content--vertical-center"},[r.isTrackExplicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` + `+e._s(e.formatTitle(r))+` + `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Artist",params:{id:r.artistID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` + `+e._s(r.artistName)+` + `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Album",params:{id:r.albumID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` + `+e._s(r.albumTitle)+` `)])]),e._v(" "),n("td",{staticClass:"table__cell table__cell--small table__cell--center"},[e._v(` - `+e._s(e.convertDuration(i.trackDuration))+` - `)]),e._v(" "),n("td",{staticClass:"cursor-pointer table__cell--center group",attrs:{"data-link":i.trackLink,"aria-label":"download"},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` + `+e._s(e.convertDuration(r.trackDuration))+` + `)]),e._v(" "),n("td",{staticClass:"cursor-pointer table__cell--center group",attrs:{"data-link":r.trackLink,"aria-label":"download"},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` get_app - `)])])],1)}),0)])]],2)},__vue_staticRenderFns__$m=[];const __vue_inject_styles__$m=void 0,__vue_scope_id__$m=void 0,__vue_module_identifier__$m=void 0,__vue_is_functional_template__$m=!1;var ResultsTracks=normalizeComponent_1({render:__vue_render__$m,staticRenderFns:__vue_staticRenderFns__$m},__vue_inject_styles__$m,__vue_script__$k,__vue_scope_id__$m,__vue_is_functional_template__$m,__vue_module_identifier__$m,void 0,void 0),script$l={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$l=script$l;var __vue_render__$n=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsAlbum")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("div",{key:i.albumID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Album",params:{id:i.albumID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.albumCoverMedium,link:i.albumLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[i.isAlbumExplicit?n("i",{staticClass:"material-icons title-icon",staticStyle:{"font-size":"1.0625rem !important"}},[e._v(` + `)])])],1)}),0)])]],2)},__vue_staticRenderFns__$m=[];const __vue_inject_styles__$m=void 0,__vue_scope_id__$m=void 0,__vue_is_functional_template__$m=!1;function __vue_normalize__$m(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsTracks.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsTracks=__vue_normalize__$m({render:__vue_render__$m,staticRenderFns:__vue_staticRenderFns__$m},__vue_inject_styles__$m,__vue_script__$k,__vue_scope_id__$m,__vue_is_functional_template__$m),script$l={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$l=script$l;var __vue_render__$n=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsAlbum")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(r){return n("div",{key:r.albumID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Album",params:{id:r.albumID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.albumCoverMedium,link:r.albumLink},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[r.isAlbumExplicit?n("i",{staticClass:"material-icons title-icon",staticStyle:{"font-size":"1.0625rem !important"}},[e._v(` explicit `)]):e._e(),e._v(` - `+e._s(i.albumTitle)+` + `+e._s(r.albumTitle)+` `)])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.artistName})+" - "+e.$tc("globals.listTabs.trackN",i.albumTracks))+` - `)])],1)}),0)]],2)},__vue_staticRenderFns__$n=[];const __vue_inject_styles__$n=void 0,__vue_scope_id__$n=void 0,__vue_module_identifier__$n=void 0,__vue_is_functional_template__$n=!1;var ResultsAlbums=normalizeComponent_1({render:__vue_render__$n,staticRenderFns:__vue_staticRenderFns__$n},__vue_inject_styles__$n,__vue_script__$l,__vue_scope_id__$n,__vue_is_functional_template__$n,__vue_module_identifier__$n,void 0,void 0),script$m={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$m=script$m;var __vue_render__$o=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsArtist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("div",{key:i.artistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Artist",params:{id:i.artistID}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:i.artistPictureMedium,link:i.artistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` - `+e._s(i.artistName)+` - `)])],1)],1)}),0)]],2)},__vue_staticRenderFns__$o=[];const __vue_inject_styles__$o=void 0,__vue_scope_id__$o=void 0,__vue_module_identifier__$o=void 0,__vue_is_functional_template__$o=!1;var ResultsArtists=normalizeComponent_1({render:__vue_render__$o,staticRenderFns:__vue_staticRenderFns__$o},__vue_inject_styles__$o,__vue_script__$m,__vue_scope_id__$o,__vue_is_functional_template__$o,__vue_module_identifier__$o,void 0,void 0),script$n={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$n=script$n;var __vue_render__$p=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsPlaylist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("div",{key:i.playlistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.playlistID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.playlistPictureMedium,link:i.playlistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` - `+e._s(i.playlistTitle)+` + `+e._s(e.$t("globals.by",{artist:r.artistName})+" - "+e.$tc("globals.listTabs.trackN",r.albumTracks))+` + `)])],1)}),0)]],2)},__vue_staticRenderFns__$n=[];const __vue_inject_styles__$n=void 0,__vue_scope_id__$n=void 0,__vue_is_functional_template__$n=!1;function __vue_normalize__$n(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsAlbums.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsAlbums=__vue_normalize__$n({render:__vue_render__$n,staticRenderFns:__vue_staticRenderFns__$n},__vue_inject_styles__$n,__vue_script__$l,__vue_scope_id__$n,__vue_is_functional_template__$n),script$m={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$m=script$m;var __vue_render__$o=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsArtist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(r){return n("div",{key:r.artistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Artist",params:{id:r.artistID}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:r.artistPictureMedium,link:r.artistLink},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` + `+e._s(r.artistName)+` + `)])],1)],1)}),0)]],2)},__vue_staticRenderFns__$o=[];const __vue_inject_styles__$o=void 0,__vue_scope_id__$o=void 0,__vue_is_functional_template__$o=!1;function __vue_normalize__$o(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsArtists.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsArtists=__vue_normalize__$o({render:__vue_render__$o,staticRenderFns:__vue_staticRenderFns__$o},__vue_inject_styles__$o,__vue_script__$m,__vue_scope_id__$o,__vue_is_functional_template__$o),script$n={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$n=script$n;var __vue_render__$p=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsPlaylist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(r){return n("div",{key:r.playlistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:r.playlistID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.playlistPictureMedium,link:r.playlistLink},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` + `+e._s(r.playlistTitle)+` `)])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.artistName})+" - "+e.$tc("globals.listTabs.trackN",i.playlistTracksNumber))+` - `)])],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_module_identifier__$p=void 0,__vue_is_functional_template__$p=!1;var ResultsPlaylists=normalizeComponent_1({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p,__vue_module_identifier__$p,void 0,void 0),script$o={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){return!this.viewInfo?!1:!this.viewInfo.ORDER.every(n=>n==="TOP_RESULT"?this.viewInfo[n].length===0:this.viewInfo[n].data.length===0)}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(i){return n("section",{key:i,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(i)?[n("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":i==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":i!=="TOP_RESULT"},on:{click:function(r){return e.$emit("change-search-tab",i)}}},[e._v(` - `+e._s(e.$tc("globals.listTabs."+i.toLowerCase(),2))+` - `)]),e._v(" "),i==="TOP_RESULT"?n("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="TRACK"?n("ResultsTracks",{attrs:{viewInfo:e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="ALBUM"?n("ResultsAlbums",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="PLAYLIST"?n("ResultsPlaylists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="ARTIST"?n("ResultsArtists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ARTIST,e.formatArtist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):e._e()]:e._e()],2)}):n("div",[n("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)},__vue_staticRenderFns__$q=[];const __vue_inject_styles__$q=void 0,__vue_scope_id__$q=void 0,__vue_module_identifier__$q=void 0,__vue_is_functional_template__$q=!1;var ResultsAll=normalizeComponent_1({render:__vue_render__$q,staticRenderFns:__vue_staticRenderFns__$q},__vue_inject_styles__$q,__vue_script__$o,__vue_scope_id__$q,__vue_is_functional_template__$q,__vue_module_identifier__$q,void 0,void 0);const searchResult=ref$2({});function performMainSearch(e){get("mainSearch",{term:e}).then(a=>{searchResult.value=a})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:i=30}){get("search",{term:e,type:a,start:n,nb:i}).then(r=>{result.value=r})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:i,performMainSearch:r}=useMainSearch(),{result:s,performSearch:o}=useSearch(),l=computed(()=>a.root.$route.query.term),c=computed(()=>n.results.query===""),u=ref$2(!1),d=computed(()=>Object.keys(i.value).length!==0),f=computed(()=>i.value.QUERY!==l.value);d.value&&!f.value&&onMounted(()=>{h(i.value)}),l.value&&(!d.value||f.value)&&(r(l.value),u.value=!0);function h(m){u.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,o({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(i,h),watch(s,m=>{const{next:v,total:y,type:_,data:w}=m,A=`${_}Tab`;let S=y;if(v&&(S=parseInt(v.match(/index=(\d*)/)[1])),n.results[A].total!==y&&(n.results[A].total=y),n.results[A].next!==S){n.results[A].next=S;const M=n.results[A].data.concat(w),P=uniqWith(M,(z,C)=>z.id===C.id);n.results[A].data=P}n.results[A].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:u,isQueryEmpty:c,searchResult:i,performMainSearch:r,performSearch:o}},computed:{loadedTabs(){const e=[];for(const a in this.results)this.results.hasOwnProperty(a)&&a!=="query"&&this.results[a].hasLoaded&&e.push(a.replace(/Tab/g,""));return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`;this.results[e].next + `+e._s(e.$t("globals.by",{artist:r.artistName})+" - "+e.$tc("globals.listTabs.trackN",r.playlistTracksNumber))+` + `)])],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_is_functional_template__$p=!1;function __vue_normalize__$p(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsPlaylists.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsPlaylists=__vue_normalize__$p({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p),script$o={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){let e=!!this.viewInfo;if(!e)return!1;let a=this.viewInfo.ORDER.every(n=>n==="TOP_RESULT"?this.viewInfo[n].length===0:this.viewInfo[n].data.length===0);return!a}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(r){return n("section",{key:r,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(r)?[n("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":r==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":r!=="TOP_RESULT"},on:{click:function(i){return e.$emit("change-search-tab",r)}}},[e._v(` + `+e._s(e.$tc("globals.listTabs."+r.toLowerCase(),2))+` + `)]),e._v(" "),r==="TOP_RESULT"?n("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r==="TRACK"?n("ResultsTracks",{attrs:{viewInfo:e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r=="ALBUM"?n("ResultsAlbums",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r=="PLAYLIST"?n("ResultsPlaylists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r==="ARTIST"?n("ResultsArtists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ARTIST,e.formatArtist),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):e._e()]:e._e()],2)}):n("div",[n("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)},__vue_staticRenderFns__$q=[];const __vue_inject_styles__$q=void 0,__vue_scope_id__$q=void 0,__vue_is_functional_template__$q=!1;function __vue_normalize__$q(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsAll.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsAll=__vue_normalize__$q({render:__vue_render__$q,staticRenderFns:__vue_staticRenderFns__$q},__vue_inject_styles__$q,__vue_script__$o,__vue_scope_id__$q,__vue_is_functional_template__$q);const searchResult=ref$2({});function performMainSearch(e){get("mainSearch",{term:e}).then(a=>{searchResult.value=a})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:r=30}){get("search",{term:e,type:a,start:n,nb:r}).then(i=>{result.value=i})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:r,performMainSearch:i}=useMainSearch(),{result:s,performSearch:l}=useSearch(),c=computed(()=>a.root.$route.query.term),o=computed(()=>n.results.query===""),d=ref$2(!1),u=computed(()=>Object.keys(r.value).length!==0),f=computed(()=>r.value.QUERY!==c.value);u.value&&!f.value&&onMounted(()=>{h(r.value)}),c.value&&(!u.value||f.value)&&(i(c.value),d.value=!0);function h(m){d.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,l({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(r,h),watch(s,m=>{const{next:v,total:y,type:k,data:w}=m,x=`${k}Tab`;let A=y;if(v&&(A=parseInt(v.match(/index=(\d*)/)[1])),n.results[x].total!==y&&(n.results[x].total=y),n.results[x].next!==A){n.results[x].next=A;const M=n.results[x].data.concat(w),D=uniqWith(M,(T,C)=>T.id===C.id);n.results[x].data=D}n.results[x].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:d,isQueryEmpty:o,searchResult:r,performMainSearch:i,performSearch:l}},computed:{loadedTabs(){const e=[];for(const a in this.results)if(this.results.hasOwnProperty(a)&&a!=="query"){const n=this.results[a];n.hasLoaded&&e.push(a.replace(/Tab/g,""))}return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`,a=this.results[e].next @@ -3762,920 +3792,920 @@ PERFORMANCE OF THIS SOFTWARE. -`,ar$1=` - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +`,ar$1=`\r +\r + \r + \r + \r + image/svg+xml\r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r + \r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r + \r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r +\r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r + \r `,ko$1=` @@ -4725,39 +4755,42 @@ PERFORMANCE OF THIS SOFTWARE. -`;const flags$1={it:it$1,en:gb,es:es$1,de:de$1,fr:fr$1,id:id$1,pt:pt$1,pt_br:br,ru:ru$1,tr:tr$1,vn:vn$1,hr:hr$1,ar:ar$1,ko:ko$1,ph:ph$1,zh_tw:tw,pl:pl$1};var script$q={props:{withArrow:{type:Boolean,default:!0}}};const __vue_script__$q=script$q;var __vue_render__$s=function(e,a){var n=a._c;return n("details",{class:[a.data.staticClass,{"with-arrow":a.props.withArrow}],style:a.data.staticStyle},[n("summary",{staticClass:"cursor-pointer"},[a._t("title",[a._v("Setting")])],2),a._v(" "),n("div",{staticClass:"my-5 space-y-5"},[a._t("default")],2)])},__vue_staticRenderFns__$s=[];const __vue_inject_styles__$s=function(e){!e||e("data-v-2eaecb1a_0",{source:"details>summary::-webkit-details-marker{display:none}details.with-arrow>summary::-webkit-details-marker{display:initial;vertical-align:var(--arrow-v-align,super)}",map:void 0,media:void 0})},__vue_scope_id__$s=void 0,__vue_module_identifier__$s=void 0,__vue_is_functional_template__$s=!0;var BaseAccordion=normalizeComponent_1({render:__vue_render__$s,staticRenderFns:__vue_staticRenderFns__$s},__vue_inject_styles__$s,__vue_script__$q,__vue_scope_id__$s,__vue_is_functional_template__$s,__vue_module_identifier__$s,browser,void 0),script$r={components:{BaseAccordion},props:{templateVariables:{type:Array,required:!0}}};const __vue_script__$r=script$r;var __vue_render__$t=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("BaseAccordion",{staticStyle:{"--arrow-v-align":"baseline","margin-bottom":"3rem"},scopedSlots:e._u([{key:"title",fn:function(){return[e._t("title")]},proxy:!0}],null,!0)},[e._v(" "),n("div",{staticClass:"flex flex-wrap p-4 space-x-2 rounded-2xl bg-background-secondary"},e._l(e.templateVariables,function(i){return n("span",{staticClass:"inline-block p-2 mt-2 tracking-wider rounded cursor-pointer bg-panels-bg first:ml-2 hover:shadow-outline",on:{click:function(r){return e.$emit("variable-click",i)}}},[e._v(` - `+e._s(i)+` - `)])}),0)])},__vue_staticRenderFns__$t=[];const __vue_inject_styles__$t=void 0,__vue_scope_id__$t=void 0,__vue_module_identifier__$t=void 0,__vue_is_functional_template__$t=!1;var TemplateVariablesList=normalizeComponent_1({render:__vue_render__$t,staticRenderFns:__vue_staticRenderFns__$t},__vue_inject_styles__$t,__vue_script__$r,__vue_scope_id__$t,__vue_is_functional_template__$t,__vue_module_identifier__$t,void 0,void 0),script$s={components:{BaseAccordion,TemplateVariablesList},data(){return{flags:flags$1,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables}},computed:{...mapGetters({arl:"getARL",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"}),needToWait(){return Object.keys(this.getSettings).length===0},modelVolume:{get(){return this.previewVolume},set:debounce$1(function(e){this.setPreviewVolume(e)},20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}},async mounted(){const{settingsData:e,defaultSettingsData:a,spotifyCredentials:n}=await getSettingsData();this.defaultSettings=a,this.initSettings(e,n);let i=localStorage.getItem("accountNum");i&&(this.accountNum=i);let r=localStorage.getItem("spotifyUser");r&&(this.lastUser=r,this.spotifyUser=r,socket.emit("update_userSpotifyPlaylists",r)),socket.on("updateSettings",this.updateSettings),socket.on("accountChanged",this.accountChanged),socket.on("familyAccounts",this.initAccounts),socket.on("downloadFolderSelected",this.downloadFolderSelected),socket.on("applogin_arl",this.loggedInViaDeezer),this.$on("hook:destroyed",()=>{socket.off("updateSettings"),socket.off("accountChanged"),socket.off("familyAccounts"),socket.off("downloadFolderSelected"),socket.off("applogin_arl")})},methods:{...mapActions({dispatchARL:"setARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar"}),onTemplateVariableClick(e){copyToClipboard(e),toast(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){let e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),toast(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),socket.emit("saveSettings",this.lastSettings,this.lastCredentials,e?this.lastUser:!1)},selectDownloadFolder(){socket.emit("selectDownloadFolder")},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},loggedInViaDeezer(e){this.dispatchARL({arl:e}),socket.emit("login",e,!0,this.accountNum)},login(){let e=this.$refs.loginInput.value.trim();e&&e!==this.arl&&socket.emit("login",e,!0,this.accountNum)},appLogin(e){socket.emit("applogin")},changeAccount(){socket.emit("changeAccount",this.accountNum)},accountChanged(e,a){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=a,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},logout(){socket.emit("logout")},initSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.init"),"settings")},updateSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.update"),"settings")},resetToDefault(){!confirm(this.$t("settings.resetMessage"))||(this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),toast(this.$t("settings.toasts.reset"),"settings"))}}};const __vue_script__$s=script$s;var __vue_render__$u=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"fixed-footer"},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.title")))]),e._v(" "),e.isLoggedIn?n("div",{ref:"loggedInInfo",attrs:{id:"logged_in_info"}},[n("img",{ref:"userpicture",staticClass:"w-32 h-32 rounded-full",attrs:{id:"settings_picture",src:e.pictureHref,alt:"Profile Picture"}}),e._v(" "),n("i18n",{attrs:{path:"settings.login.loggedIn",tag:"p"},scopedSlots:e._u([{key:"username",fn:function(){return[n("strong",{ref:"username",attrs:{id:"settings_username"}},[e._v(e._s(e.user.name||"not logged"))])]},proxy:!0}],null,!1,2821744753)}),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.logout}},[e._v(` +`;const flags$1={it:it$1,en:gb,es:es$1,de:de$1,fr:fr$1,id:id$1,pt:pt$1,pt_br:br,ru:ru$1,tr:tr$1,vn:vn$1,hr:hr$1,ar:ar$1,ko:ko$1,ph:ph$1,zh_tw:tw,pl:pl$1};var script$q={props:{withArrow:{type:Boolean,default:!0}}};const __vue_script__$q=script$q;var __vue_render__$s=function(e,a){var n=a._c;return n("details",{class:[a.data.staticClass,{"with-arrow":a.props.withArrow}],style:a.data.staticStyle},[n("summary",{staticClass:"cursor-pointer"},[a._t("title",[a._v("Setting")])],2),a._v(" "),n("div",{staticClass:"my-5 space-y-5"},[a._t("default")],2)])},__vue_staticRenderFns__$s=[];const __vue_inject_styles__$s=function(e){if(!e)return;e("data-v-2eaecb1a_0",{source:"details>summary::-webkit-details-marker{display:none}details.with-arrow>summary::-webkit-details-marker{display:initial;vertical-align:var(--arrow-v-align,super)}",map:void 0,media:void 0})},__vue_scope_id__$s=void 0,__vue_module_identifier__$b=void 0,__vue_is_functional_template__$s=!0;function __vue_normalize__$s(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BaseAccordion.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$b(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$b.styles||(__vue_create_injector__$b.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var BaseAccordion=__vue_normalize__$s({render:__vue_render__$s,staticRenderFns:__vue_staticRenderFns__$s},__vue_inject_styles__$s,__vue_script__$q,__vue_scope_id__$s,__vue_is_functional_template__$s,__vue_module_identifier__$b,__vue_create_injector__$b),script$r={components:{BaseAccordion},props:{templateVariables:{type:Array,required:!0}}};const __vue_script__$r=script$r;var __vue_render__$t=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("BaseAccordion",{staticStyle:{"--arrow-v-align":"baseline","margin-bottom":"3rem"},scopedSlots:e._u([{key:"title",fn:function(){return[e._t("title")]},proxy:!0}],null,!0)},[e._v(" "),n("div",{staticClass:"flex flex-wrap p-4 space-x-2 rounded-2xl bg-background-secondary"},e._l(e.templateVariables,function(r){return n("span",{staticClass:"inline-block p-2 mt-2 tracking-wider rounded cursor-pointer bg-panels-bg first:ml-2 hover:shadow-outline",on:{click:function(i){return e.$emit("variable-click",r)}}},[e._v(` + `+e._s(r)+` + `)])}),0)])},__vue_staticRenderFns__$t=[];const __vue_inject_styles__$t=void 0,__vue_scope_id__$t=void 0,__vue_is_functional_template__$t=!1;function __vue_normalize__$t(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TemplateVariablesList.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TemplateVariablesList=__vue_normalize__$t({render:__vue_render__$t,staticRenderFns:__vue_staticRenderFns__$t},__vue_inject_styles__$t,__vue_script__$r,__vue_scope_id__$t,__vue_is_functional_template__$t),script$s={components:{BaseAccordion,TemplateVariablesList},data(){return{flags:flags$1,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables}},computed:{...mapGetters({arl:"getARL",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"}),needToWait(){return Object.keys(this.getSettings).length===0},modelVolume:{get(){return this.previewVolume},set:debounce$1(function(e){this.setPreviewVolume(e)},20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}},async mounted(){const{settingsData:e,defaultSettingsData:a,spotifyCredentials:n}=await getSettingsData();this.defaultSettings=a,this.initSettings(e,n);let r=localStorage.getItem("accountNum");r&&(this.accountNum=r);let i=localStorage.getItem("spotifyUser");i&&(this.lastUser=i,this.spotifyUser=i,socket.emit("update_userSpotifyPlaylists",i)),socket.on("updateSettings",this.updateSettings),socket.on("accountChanged",this.accountChanged),socket.on("familyAccounts",this.initAccounts),socket.on("downloadFolderSelected",this.downloadFolderSelected),socket.on("applogin_arl",this.loggedInViaDeezer),this.$on("hook:destroyed",()=>{socket.off("updateSettings"),socket.off("accountChanged"),socket.off("familyAccounts"),socket.off("downloadFolderSelected"),socket.off("applogin_arl")})},methods:{...mapActions({dispatchARL:"setARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar"}),onTemplateVariableClick(e){copyToClipboard(e),toast(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){let e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),toast(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),socket.emit("saveSettings",this.lastSettings,this.lastCredentials,e?this.lastUser:!1)},selectDownloadFolder(){socket.emit("selectDownloadFolder")},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},loggedInViaDeezer(e){this.dispatchARL({arl:e}),socket.emit("login",e,!0,this.accountNum)},login(){let e=this.$refs.loginInput.value.trim();e&&e!==this.arl&&socket.emit("login",e,!0,this.accountNum)},appLogin(e){socket.emit("applogin")},changeAccount(){socket.emit("changeAccount",this.accountNum)},accountChanged(e,a){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=a,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},logout(){socket.emit("logout")},initSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.init"),"settings")},updateSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.update"),"settings")},resetToDefault(){const e=confirm(this.$t("settings.resetMessage"));if(!e)return;this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),toast(this.$t("settings.toasts.reset"),"settings")}}};const __vue_script__$s=script$s;var __vue_render__$u=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"fixed-footer"},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.title")))]),e._v(" "),e.isLoggedIn?n("div",{ref:"loggedInInfo",attrs:{id:"logged_in_info"}},[n("img",{ref:"userpicture",staticClass:"w-32 h-32 rounded-full",attrs:{id:"settings_picture",src:e.pictureHref,alt:"Profile Picture"}}),e._v(" "),n("i18n",{attrs:{path:"settings.login.loggedIn",tag:"p"},scopedSlots:e._u([{key:"username",fn:function(){return[n("strong",{ref:"username",attrs:{id:"settings_username"}},[e._v(e._s(e.user.name||"not logged"))])]},proxy:!0}],null,!1,2821744753)}),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.logout}},[e._v(` `+e._s(e.$t("settings.login.logout"))+` - `)]),e._v(" "),e.accounts.length>1?n("select",{directives:[{name:"model",rawName:"v-model",value:e.accountNum,expression:"accountNum"}],attrs:{id:"family_account"},on:{change:[function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.accountNum=i.target.multiple?r:r[0]},e.changeAccount]}},e._l(e.accounts,function(i,r){return n("option",{key:i,domProps:{value:r.toString()}},[e._v(` - `+e._s(i.name)+` + `)]),e._v(" "),e.accounts.length>1?n("select",{directives:[{name:"model",rawName:"v-model",value:e.accountNum,expression:"accountNum"}],attrs:{id:"family_account"},on:{change:[function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.accountNum=r.target.multiple?i:i[0]},e.changeAccount]}},e._l(e.accounts,function(r,i){return n("option",{key:r,domProps:{value:i.toString()}},[e._v(` + `+e._s(r.name)+` `)])}),0):e._e()],1):e._e(),e._v(" "),n("div",{staticClass:"settings-group"},[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("person")]),e._v(e._s(e.$t("settings.login.title")))]),e._v(" "),n("div",{staticClass:"my-5 space-y-5"},[n("div",{staticClass:"flex items-center"},[n("input",{ref:"loginInput",attrs:{id:"login_input_arl",autocomplete:"off",placeholder:"ARL",type:"password"},domProps:{value:e.arl}}),e._v(" "),n("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.copyARLtoClipboard}},[n("i",{staticClass:"material-icons"},[e._v("assignment")])])]),e._v(" "),n("RouterLink",{staticClass:"block",attrs:{to:{name:"ARL"}}},[e._v(` `+e._s(e.$t("settings.login.arl.question"))+` `)]),e._v(" "),e.clientMode?n("a",{staticClass:"block",attrs:{href:"#"},on:{click:e.appLogin}},[e._v(` `+e._s(e.$t("settings.login.login"))+` `)]):e._e(),e._v(" "),n("button",{staticClass:"btn btn-primary",staticStyle:{width:"100%"},on:{click:e.login}},[e._v(` `+e._s(e.$t("settings.login.arl.update"))+` - `)])],1)]),e._v(" "),n("div",{staticClass:"settings-group"},[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("language")]),e._v(e._s(e.$t("settings.languages")))]),e._v(" "),n("ul",{staticClass:"my-5"},e._l(e.locales,function(i){return n("li",{key:i,staticClass:"inline-flex items-center locale-flag",class:{"locale-flag--current":e.currentLocale===i},attrs:{title:i},domProps:{innerHTML:e._s(e.flags[i])},on:{click:function(r){return e.changeLocale(i)}}})}),0)]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("web")]),e._v(` + `)])],1)]),e._v(" "),n("div",{staticClass:"settings-group"},[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("language")]),e._v(e._s(e.$t("settings.languages")))]),e._v(" "),n("ul",{staticClass:"my-5"},e._l(e.locales,function(r){return n("li",{key:r,staticClass:"inline-flex items-center locale-flag",class:{"locale-flag--current":e.currentLocale===r},attrs:{title:r},domProps:{innerHTML:e._s(e.flags[r])},on:{click:function(i){return e.changeLocale(r)}}})}),0)]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("web")]),e._v(` `+e._s(e.$t("settings.appearance.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimDownloads,expression:"modelSlimDownloads"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimDownloads)?e._i(e.modelSlimDownloads,null)>-1:e.modelSlimDownloads},on:{change:function(i){var r=e.modelSlimDownloads,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimDownloads=r.concat([l])):c>-1&&(e.modelSlimDownloads=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimDownloads=o}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimDownloadTab")))])]),e._v(" "),n("label",{staticClass:"mb-4 with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimSidebar,expression:"modelSlimSidebar"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimSidebar)?e._i(e.modelSlimSidebar,null)>-1:e.modelSlimSidebar},on:{change:function(i){var r=e.modelSlimSidebar,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimSidebar=r.concat([l])):c>-1&&(e.modelSlimSidebar=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimSidebar=o}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimSidebar")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("folder")]),e._v(e._s(e.$t("settings.downloadPath.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"flex items-center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.downloadLocation,expression:"settings.downloadLocation"}],attrs:{autocomplete:"off",type:"text"},domProps:{value:e.settings.downloadLocation},on:{input:function(i){i.target.composing||e.$set(e.settings,"downloadLocation",i.target.value)}}}),e._v(" "),e.clientMode?n("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.selectDownloadFolder}},[n("i",{staticClass:"material-icons"},[e._v("folder")])]):e._e()])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("font_download")]),e._v(e._s(e.$t("settings.templates.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.tracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tracknameTemplate,expression:"settings.tracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.tracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"tracknameTemplate",i.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` + `)])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimDownloads,expression:"modelSlimDownloads"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimDownloads)?e._i(e.modelSlimDownloads,null)>-1:e.modelSlimDownloads},on:{change:function(r){var i=e.modelSlimDownloads,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&(e.modelSlimDownloads=i.concat([c])):o>-1&&(e.modelSlimDownloads=i.slice(0,o).concat(i.slice(o+1)))}else e.modelSlimDownloads=l}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimDownloadTab")))])]),e._v(" "),n("label",{staticClass:"mb-4 with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimSidebar,expression:"modelSlimSidebar"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimSidebar)?e._i(e.modelSlimSidebar,null)>-1:e.modelSlimSidebar},on:{change:function(r){var i=e.modelSlimSidebar,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&(e.modelSlimSidebar=i.concat([c])):o>-1&&(e.modelSlimSidebar=i.slice(0,o).concat(i.slice(o+1)))}else e.modelSlimSidebar=l}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimSidebar")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("folder")]),e._v(e._s(e.$t("settings.downloadPath.title"))+` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"flex items-center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.downloadLocation,expression:"settings.downloadLocation"}],attrs:{autocomplete:"off",type:"text"},domProps:{value:e.settings.downloadLocation},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"downloadLocation",r.target.value)}}}),e._v(" "),e.clientMode?n("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.selectDownloadFolder}},[n("i",{staticClass:"material-icons"},[e._v("folder")])]):e._e()])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("font_download")]),e._v(e._s(e.$t("settings.templates.title"))+` + `)])]},proxy:!0}])},[e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.tracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tracknameTemplate,expression:"settings.tracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.tracknameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"tracknameTemplate",r.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` `+e._s(e.$t("settings.templates.tracknameAvailableVariables"))+` - `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.albumTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumTracknameTemplate,expression:"settings.albumTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumTracknameTemplate",i.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` + `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.albumTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumTracknameTemplate,expression:"settings.albumTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumTracknameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"albumTracknameTemplate",r.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` `+e._s(e.$t("settings.templates.albumTracknameAvailableVariables"))+` - `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.playlistTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistTracknameTemplate,expression:"settings.playlistTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistTracknameTemplate",i.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` + `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.playlistTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistTracknameTemplate,expression:"settings.playlistTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistTracknameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"playlistTracknameTemplate",r.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` `+e._s(e.$t("settings.templates.playlistTracknameAvailableVariables"))+` `)]},proxy:!0}])})],1),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("create_new_folder")]),e._v(e._s(e.$t("settings.folders.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createPlaylistFolder,expression:"settings.createPlaylistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createPlaylistFolder)?e._i(e.settings.createPlaylistFolder,null)>-1:e.settings.createPlaylistFolder},on:{change:function(i){var r=e.settings.createPlaylistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createPlaylistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createPlaylistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createPlaylistFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createPlaylistFolder")))])]),e._v(" "),e.settings.createPlaylistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.playlistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistNameTemplate,expression:"settings.playlistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createArtistFolder,expression:"settings.createArtistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createArtistFolder)?e._i(e.settings.createArtistFolder,null)>-1:e.settings.createArtistFolder},on:{change:function(i){var r=e.settings.createArtistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createArtistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createArtistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createArtistFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createArtistFolder")))])]),e._v(" "),e.settings.createArtistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.artistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistNameTemplate,expression:"settings.artistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createAlbumFolder,expression:"settings.createAlbumFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createAlbumFolder)?e._i(e.settings.createAlbumFolder,null)>-1:e.settings.createAlbumFolder},on:{change:function(i){var r=e.settings.createAlbumFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createAlbumFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createAlbumFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createAlbumFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createAlbumFolder")))])]),e._v(" "),e.settings.createAlbumFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.albumNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumNameTemplate,expression:"settings.albumNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumNameTemplate",i.target.value)}}})]):e._e()])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createCDFolder,expression:"settings.createCDFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createCDFolder)?e._i(e.settings.createCDFolder,null)>-1:e.settings.createCDFolder},on:{change:function(i){var r=e.settings.createCDFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createCDFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createCDFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createCDFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createCDFolder")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createStructurePlaylist,expression:"settings.createStructurePlaylist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createStructurePlaylist)?e._i(e.settings.createStructurePlaylist,null)>-1:e.settings.createStructurePlaylist},on:{change:function(i){var r=e.settings.createStructurePlaylist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createStructurePlaylist",r.concat([l])):c>-1&&e.$set(e.settings,"createStructurePlaylist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createStructurePlaylist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createStructurePlaylist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createSingleFolder,expression:"settings.createSingleFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createSingleFolder)?e._i(e.settings.createSingleFolder,null)>-1:e.settings.createSingleFolder},on:{change:function(i){var r=e.settings.createSingleFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createSingleFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createSingleFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createSingleFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createSingleFolder")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("title")]),e._v(e._s(e.$t("settings.trackTitles.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.padTracks,expression:"settings.padTracks"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.padTracks)?e._i(e.settings.padTracks,null)>-1:e.settings.padTracks},on:{change:function(i){var r=e.settings.padTracks,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"padTracks",r.concat([l])):c>-1&&e.$set(e.settings,"padTracks",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"padTracks",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.trackTitles.padTracks")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.paddingSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.paddingSize,expression:"settings.paddingSize"}],attrs:{max:"10",type:"number"},domProps:{value:e.settings.paddingSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"paddingSize",i.target.value)}}})])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.illegalCharacterReplacer")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.illegalCharacterReplacer,expression:"settings.illegalCharacterReplacer"}],attrs:{type:"text"},domProps:{value:e.settings.illegalCharacterReplacer},on:{input:function(i){i.target.composing||e.$set(e.settings,"illegalCharacterReplacer",i.target.value)}}})])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("album")]),e._v(e._s(e.$t("settings.covers.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtwork,expression:"settings.saveArtwork"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtwork)?e._i(e.settings.saveArtwork,null)>-1:e.settings.saveArtwork},on:{change:function(i){var r=e.settings.saveArtwork,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtwork",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtwork",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtwork",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtwork")))])]),e._v(" "),e.settings.saveArtwork?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.coverImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.coverImageTemplate,expression:"settings.coverImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.coverImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"coverImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtworkArtist,expression:"settings.saveArtworkArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtworkArtist)?e._i(e.settings.saveArtworkArtist,null)>-1:e.settings.saveArtworkArtist},on:{change:function(i){var r=e.settings.saveArtworkArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtworkArtist",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtworkArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtworkArtist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtworkArtist")))])]),e._v(" "),e.settings.saveArtworkArtist?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.artistImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistImageTemplate,expression:"settings.artistImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.localArtworkSize,expression:"settings.localArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.localArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"localArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.localArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createPlaylistFolder,expression:"settings.createPlaylistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createPlaylistFolder)?e._i(e.settings.createPlaylistFolder,null)>-1:e.settings.createPlaylistFolder},on:{change:function(r){var i=e.settings.createPlaylistFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createPlaylistFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createPlaylistFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createPlaylistFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createPlaylistFolder")))])]),e._v(" "),e.settings.createPlaylistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.playlistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistNameTemplate,expression:"settings.playlistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistNameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"playlistNameTemplate",r.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createArtistFolder,expression:"settings.createArtistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createArtistFolder)?e._i(e.settings.createArtistFolder,null)>-1:e.settings.createArtistFolder},on:{change:function(r){var i=e.settings.createArtistFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createArtistFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createArtistFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createArtistFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createArtistFolder")))])]),e._v(" "),e.settings.createArtistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.artistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistNameTemplate,expression:"settings.artistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistNameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"artistNameTemplate",r.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createAlbumFolder,expression:"settings.createAlbumFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createAlbumFolder)?e._i(e.settings.createAlbumFolder,null)>-1:e.settings.createAlbumFolder},on:{change:function(r){var i=e.settings.createAlbumFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createAlbumFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createAlbumFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createAlbumFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createAlbumFolder")))])]),e._v(" "),e.settings.createAlbumFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.albumNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumNameTemplate,expression:"settings.albumNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumNameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"albumNameTemplate",r.target.value)}}})]):e._e()])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createCDFolder,expression:"settings.createCDFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createCDFolder)?e._i(e.settings.createCDFolder,null)>-1:e.settings.createCDFolder},on:{change:function(r){var i=e.settings.createCDFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createCDFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createCDFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createCDFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createCDFolder")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createStructurePlaylist,expression:"settings.createStructurePlaylist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createStructurePlaylist)?e._i(e.settings.createStructurePlaylist,null)>-1:e.settings.createStructurePlaylist},on:{change:function(r){var i=e.settings.createStructurePlaylist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createStructurePlaylist",i.concat([c])):o>-1&&e.$set(e.settings,"createStructurePlaylist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createStructurePlaylist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createStructurePlaylist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createSingleFolder,expression:"settings.createSingleFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createSingleFolder)?e._i(e.settings.createSingleFolder,null)>-1:e.settings.createSingleFolder},on:{change:function(r){var i=e.settings.createSingleFolder,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createSingleFolder",i.concat([c])):o>-1&&e.$set(e.settings,"createSingleFolder",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createSingleFolder",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createSingleFolder")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("title")]),e._v(e._s(e.$t("settings.trackTitles.title"))+` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.padTracks,expression:"settings.padTracks"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.padTracks)?e._i(e.settings.padTracks,null)>-1:e.settings.padTracks},on:{change:function(r){var i=e.settings.padTracks,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"padTracks",i.concat([c])):o>-1&&e.$set(e.settings,"padTracks",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"padTracks",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.trackTitles.padTracks")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.paddingSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.paddingSize,expression:"settings.paddingSize"}],attrs:{max:"10",type:"number"},domProps:{value:e.settings.paddingSize},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"paddingSize",r.target.value)}}})])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.illegalCharacterReplacer")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.illegalCharacterReplacer,expression:"settings.illegalCharacterReplacer"}],attrs:{type:"text"},domProps:{value:e.settings.illegalCharacterReplacer},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"illegalCharacterReplacer",r.target.value)}}})])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("album")]),e._v(e._s(e.$t("settings.covers.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtwork,expression:"settings.saveArtwork"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtwork)?e._i(e.settings.saveArtwork,null)>-1:e.settings.saveArtwork},on:{change:function(r){var i=e.settings.saveArtwork,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"saveArtwork",i.concat([c])):o>-1&&e.$set(e.settings,"saveArtwork",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"saveArtwork",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtwork")))])]),e._v(" "),e.settings.saveArtwork?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.coverImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.coverImageTemplate,expression:"settings.coverImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.coverImageTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"coverImageTemplate",r.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtworkArtist,expression:"settings.saveArtworkArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtworkArtist)?e._i(e.settings.saveArtworkArtist,null)>-1:e.settings.saveArtworkArtist},on:{change:function(r){var i=e.settings.saveArtworkArtist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"saveArtworkArtist",i.concat([c])):o>-1&&e.$set(e.settings,"saveArtworkArtist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"saveArtworkArtist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtworkArtist")))])]),e._v(" "),e.settings.saveArtworkArtist?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.artistImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistImageTemplate,expression:"settings.artistImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistImageTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"artistImageTemplate",r.target.value)}}})]):e._e(),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.localArtworkSize,expression:"settings.localArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.localArtworkSize},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"localArtworkSize",e._n(r.target.value))},blur:function(r){return e.$forceUpdate()}}}),e._v(" "),e.settings.localArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` \u26A0\uFE0F `+e._s(e.$t("settings.covers.imageSizeWarning"))+` - `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.embeddedArtworkSize,expression:"settings.embeddedArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.embeddedArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"embeddedArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.embeddedArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` + `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.embeddedArtworkSize,expression:"settings.embeddedArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.embeddedArtworkSize},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"embeddedArtworkSize",e._n(r.target.value))},blur:function(r){return e.$forceUpdate()}}}),e._v(" "),e.settings.embeddedArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` \u26A0\uFE0F `+e._s(e.$t("settings.covers.imageSizeWarning"))+` - `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.localArtworkFormat,expression:"settings.localArtworkFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"localArtworkFormat",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"jpg"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.jpg")))]),e._v(" "),n("option",{attrs:{value:"png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.png")))]),e._v(" "),n("option",{attrs:{value:"jpg,png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.both")))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.embeddedArtworkPNG,expression:"settings.embeddedArtworkPNG"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.embeddedArtworkPNG)?e._i(e.settings.embeddedArtworkPNG,null)>-1:e.settings.embeddedArtworkPNG},on:{change:function(i){var r=e.settings.embeddedArtworkPNG,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"embeddedArtworkPNG",r.concat([l])):c>-1&&e.$set(e.settings,"embeddedArtworkPNG",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"embeddedArtworkPNG",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkPNG")))])]),e._v(" "),e.settings.embeddedArtworkPNG?n("p",{staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` + `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.localArtworkFormat,expression:"settings.localArtworkFormat"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"localArtworkFormat",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"jpg"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.jpg")))]),e._v(" "),n("option",{attrs:{value:"png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.png")))]),e._v(" "),n("option",{attrs:{value:"jpg,png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.both")))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.embeddedArtworkPNG,expression:"settings.embeddedArtworkPNG"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.embeddedArtworkPNG)?e._i(e.settings.embeddedArtworkPNG,null)>-1:e.settings.embeddedArtworkPNG},on:{change:function(r){var i=e.settings.embeddedArtworkPNG,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"embeddedArtworkPNG",i.concat([c])):o>-1&&e.$set(e.settings,"embeddedArtworkPNG",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"embeddedArtworkPNG",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkPNG")))])]),e._v(" "),e.settings.embeddedArtworkPNG?n("p",{staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` \u26A0\uFE0F `+e._s(e.$t("settings.covers.embeddedPNGWarning"))+` - `)]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.coverDescriptionUTF8,expression:"settings.tags.coverDescriptionUTF8"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.coverDescriptionUTF8)?e._i(e.settings.tags.coverDescriptionUTF8,null)>-1:e.settings.tags.coverDescriptionUTF8},on:{change:function(i){var r=e.settings.tags.coverDescriptionUTF8,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.concat([l])):c>-1&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"coverDescriptionUTF8",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.coverDescriptionUTF8")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.jpegImageQuality")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.jpegImageQuality,expression:"settings.jpegImageQuality",modifiers:{number:!0}}],attrs:{max:"100",min:"1",type:"number"},domProps:{value:e.settings.jpegImageQuality},on:{input:function(i){i.target.composing||e.$set(e.settings,"jpegImageQuality",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons",staticStyle:{width:"1em",height:"1em"}},[e._v("bookmarks")]),e._v(e._s(e.$t("settings.tags.head"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.title,expression:"settings.tags.title"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.title)?e._i(e.settings.tags.title,null)>-1:e.settings.tags.title},on:{change:function(i){var r=e.settings.tags.title,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"title",r.concat([l])):c>-1&&e.$set(e.settings.tags,"title",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"title",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.title")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.artist,expression:"settings.tags.artist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.artist)?e._i(e.settings.tags.artist,null)>-1:e.settings.tags.artist},on:{change:function(i){var r=e.settings.tags.artist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"artist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"artist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"artist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.artist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.album,expression:"settings.tags.album"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.album)?e._i(e.settings.tags.album,null)>-1:e.settings.tags.album},on:{change:function(i){var r=e.settings.tags.album,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"album",r.concat([l])):c>-1&&e.$set(e.settings.tags,"album",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"album",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.album")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.cover,expression:"settings.tags.cover"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.cover)?e._i(e.settings.tags.cover,null)>-1:e.settings.tags.cover},on:{change:function(i){var r=e.settings.tags.cover,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"cover",r.concat([l])):c>-1&&e.$set(e.settings.tags,"cover",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"cover",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.cover")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackNumber,expression:"settings.tags.trackNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackNumber)?e._i(e.settings.tags.trackNumber,null)>-1:e.settings.tags.trackNumber},on:{change:function(i){var r=e.settings.tags.trackNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackNumber",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackTotal,expression:"settings.tags.trackTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackTotal)?e._i(e.settings.tags.trackTotal,null)>-1:e.settings.tags.trackTotal},on:{change:function(i){var r=e.settings.tags.trackTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackTotal",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discNumber,expression:"settings.tags.discNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discNumber)?e._i(e.settings.tags.discNumber,null)>-1:e.settings.tags.discNumber},on:{change:function(i){var r=e.settings.tags.discNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discNumber",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discTotal,expression:"settings.tags.discTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discTotal)?e._i(e.settings.tags.discTotal,null)>-1:e.settings.tags.discTotal},on:{change:function(i){var r=e.settings.tags.discTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discTotal",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.albumArtist,expression:"settings.tags.albumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.albumArtist)?e._i(e.settings.tags.albumArtist,null)>-1:e.settings.tags.albumArtist},on:{change:function(i){var r=e.settings.tags.albumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"albumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"albumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"albumArtist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.albumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.genre,expression:"settings.tags.genre"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.genre)?e._i(e.settings.tags.genre,null)>-1:e.settings.tags.genre},on:{change:function(i){var r=e.settings.tags.genre,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"genre",r.concat([l])):c>-1&&e.$set(e.settings.tags,"genre",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"genre",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.genre")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.year,expression:"settings.tags.year"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.year)?e._i(e.settings.tags.year,null)>-1:e.settings.tags.year},on:{change:function(i){var r=e.settings.tags.year,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"year",r.concat([l])):c>-1&&e.$set(e.settings.tags,"year",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"year",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.year")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.date,expression:"settings.tags.date"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.date)?e._i(e.settings.tags.date,null)>-1:e.settings.tags.date},on:{change:function(i){var r=e.settings.tags.date,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"date",r.concat([l])):c>-1&&e.$set(e.settings.tags,"date",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"date",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.date")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.explicit,expression:"settings.tags.explicit"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.explicit)?e._i(e.settings.tags.explicit,null)>-1:e.settings.tags.explicit},on:{change:function(i){var r=e.settings.tags.explicit,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"explicit",r.concat([l])):c>-1&&e.$set(e.settings.tags,"explicit",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"explicit",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.explicit")))])])]),e._v(" "),n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.isrc,expression:"settings.tags.isrc"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.isrc)?e._i(e.settings.tags.isrc,null)>-1:e.settings.tags.isrc},on:{change:function(i){var r=e.settings.tags.isrc,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"isrc",r.concat([l])):c>-1&&e.$set(e.settings.tags,"isrc",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"isrc",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.isrc")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.length,expression:"settings.tags.length"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.length)?e._i(e.settings.tags.length,null)>-1:e.settings.tags.length},on:{change:function(i){var r=e.settings.tags.length,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"length",r.concat([l])):c>-1&&e.$set(e.settings.tags,"length",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"length",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.length")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.barcode,expression:"settings.tags.barcode"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.barcode)?e._i(e.settings.tags.barcode,null)>-1:e.settings.tags.barcode},on:{change:function(i){var r=e.settings.tags.barcode,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"barcode",r.concat([l])):c>-1&&e.$set(e.settings.tags,"barcode",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"barcode",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.barcode")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.bpm,expression:"settings.tags.bpm"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.bpm)?e._i(e.settings.tags.bpm,null)>-1:e.settings.tags.bpm},on:{change:function(i){var r=e.settings.tags.bpm,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"bpm",r.concat([l])):c>-1&&e.$set(e.settings.tags,"bpm",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"bpm",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.bpm")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.replayGain,expression:"settings.tags.replayGain"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.replayGain)?e._i(e.settings.tags.replayGain,null)>-1:e.settings.tags.replayGain},on:{change:function(i){var r=e.settings.tags.replayGain,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"replayGain",r.concat([l])):c>-1&&e.$set(e.settings.tags,"replayGain",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"replayGain",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.replayGain")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.label,expression:"settings.tags.label"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.label)?e._i(e.settings.tags.label,null)>-1:e.settings.tags.label},on:{change:function(i){var r=e.settings.tags.label,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"label",r.concat([l])):c>-1&&e.$set(e.settings.tags,"label",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"label",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.label")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.lyrics,expression:"settings.tags.lyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.lyrics)?e._i(e.settings.tags.lyrics,null)>-1:e.settings.tags.lyrics},on:{change:function(i){var r=e.settings.tags.lyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"lyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"lyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"lyrics",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.lyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.syncedLyrics,expression:"settings.tags.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.syncedLyrics)?e._i(e.settings.tags.syncedLyrics,null)>-1:e.settings.tags.syncedLyrics},on:{change:function(i){var r=e.settings.tags.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"syncedLyrics",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.copyright,expression:"settings.tags.copyright"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.copyright)?e._i(e.settings.tags.copyright,null)>-1:e.settings.tags.copyright},on:{change:function(i){var r=e.settings.tags.copyright,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"copyright",r.concat([l])):c>-1&&e.$set(e.settings.tags,"copyright",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"copyright",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.copyright")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.composer,expression:"settings.tags.composer"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.composer)?e._i(e.settings.tags.composer,null)>-1:e.settings.tags.composer},on:{change:function(i){var r=e.settings.tags.composer,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"composer",r.concat([l])):c>-1&&e.$set(e.settings.tags,"composer",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"composer",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.composer")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.involvedPeople,expression:"settings.tags.involvedPeople"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.involvedPeople)?e._i(e.settings.tags.involvedPeople,null)>-1:e.settings.tags.involvedPeople},on:{change:function(i){var r=e.settings.tags.involvedPeople,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"involvedPeople",r.concat([l])):c>-1&&e.$set(e.settings.tags,"involvedPeople",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"involvedPeople",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.involvedPeople")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.source,expression:"settings.tags.source"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.source)?e._i(e.settings.tags.source,null)>-1:e.settings.tags.source},on:{change:function(i){var r=e.settings.tags.source,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"source",r.concat([l])):c>-1&&e.$set(e.settings.tags,"source",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"source",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.source")))])])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("get_app")]),e._v(e._s(e.$t("settings.downloads.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.queueConcurrency")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.queueConcurrency,expression:"settings.queueConcurrency",modifiers:{number:!0}}],attrs:{min:"1",type:"number"},domProps:{value:e.settings.queueConcurrency},on:{input:function(i){i.target.composing||e.$set(e.settings,"queueConcurrency",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.maxBitrate.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.maxBitrate,expression:"settings.maxBitrate"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"maxBitrate",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"9"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.9")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.3")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.1")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.overwriteFile.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.overwriteFile,expression:"settings.overwriteFile"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"overwriteFile",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"y"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.y")))]),e._v(" "),n("option",{attrs:{value:"n"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.n")))]),e._v(" "),n("option",{attrs:{value:"e"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.e")))]),e._v(" "),n("option",{attrs:{value:"b"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.b")))]),e._v(" "),n("option",{attrs:{value:"t"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.t")))])])]),e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackBitrate,expression:"settings.fallbackBitrate"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackBitrate)?e._i(e.settings.fallbackBitrate,null)>-1:e.settings.fallbackBitrate},on:{change:function(i){var r=e.settings.fallbackBitrate,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackBitrate",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackBitrate",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackBitrate",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackBitrate")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackSearch,expression:"settings.fallbackSearch"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackSearch)?e._i(e.settings.fallbackSearch,null)>-1:e.settings.fallbackSearch},on:{change:function(i){var r=e.settings.fallbackSearch,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackSearch",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackSearch",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackSearch",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackSearch")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logErrors,expression:"settings.logErrors"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logErrors)?e._i(e.settings.logErrors,null)>-1:e.settings.logErrors},on:{change:function(i){var r=e.settings.logErrors,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logErrors",r.concat([l])):c>-1&&e.$set(e.settings,"logErrors",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logErrors",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logErrors")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logSearched,expression:"settings.logSearched"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logSearched)?e._i(e.settings.logSearched,null)>-1:e.settings.logSearched},on:{change:function(i){var r=e.settings.logSearched,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logSearched",r.concat([l])):c>-1&&e.$set(e.settings,"logSearched",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logSearched",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logSearched")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.syncedLyrics,expression:"settings.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.syncedLyrics)?e._i(e.settings.syncedLyrics,null)>-1:e.settings.syncedLyrics},on:{change:function(i){var r=e.settings.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"syncedLyrics",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createM3U8File,expression:"settings.createM3U8File"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createM3U8File)?e._i(e.settings.createM3U8File,null)>-1:e.settings.createM3U8File},on:{change:function(i){var r=e.settings.createM3U8File,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createM3U8File",r.concat([l])):c>-1&&e.$set(e.settings,"createM3U8File",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createM3U8File",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.createM3U8File")))])])])]),e._v(" "),e.settings.createM3U8File?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.playlistFilenameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistFilenameTemplate,expression:"settings.playlistFilenameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistFilenameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistFilenameTemplate",i.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveDownloadQueue,expression:"settings.saveDownloadQueue"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveDownloadQueue)?e._i(e.settings.saveDownloadQueue,null)>-1:e.settings.saveDownloadQueue},on:{change:function(i){var r=e.settings.saveDownloadQueue,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveDownloadQueue",r.concat([l])):c>-1&&e.$set(e.settings,"saveDownloadQueue",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveDownloadQueue",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.saveDownloadQueue")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("list")]),e._v(e._s(e.$t("settings.other.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.savePlaylistAsCompilation,expression:"settings.tags.savePlaylistAsCompilation"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.savePlaylistAsCompilation)?e._i(e.settings.tags.savePlaylistAsCompilation,null)>-1:e.settings.tags.savePlaylistAsCompilation},on:{change:function(i){var r=e.settings.tags.savePlaylistAsCompilation,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.concat([l])):c>-1&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"savePlaylistAsCompilation",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.savePlaylistAsCompilation")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.useNullSeparator,expression:"settings.tags.useNullSeparator"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.useNullSeparator)?e._i(e.settings.tags.useNullSeparator,null)>-1:e.settings.tags.useNullSeparator},on:{change:function(i){var r=e.settings.tags.useNullSeparator,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"useNullSeparator",r.concat([l])):c>-1&&e.$set(e.settings.tags,"useNullSeparator",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"useNullSeparator",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.useNullSeparator")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.saveID3v1,expression:"settings.tags.saveID3v1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.saveID3v1)?e._i(e.settings.tags.saveID3v1,null)>-1:e.settings.tags.saveID3v1},on:{change:function(i){var r=e.settings.tags.saveID3v1,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"saveID3v1",r.concat([l])):c>-1&&e.$set(e.settings.tags,"saveID3v1",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"saveID3v1",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.saveID3v1")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.multiArtistSeparator,expression:"settings.tags.multiArtistSeparator"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings.tags,"multiArtistSeparator",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.nothing")))]),e._v(" "),n("option",{attrs:{value:"default"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.default")))]),e._v(" "),n("option",{attrs:{value:"andFeat"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.andFeat")))]),e._v(" "),n("option",{attrs:{value:" & "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" & "})))]),e._v(" "),n("option",{attrs:{value:","}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:","})))]),e._v(" "),n("option",{attrs:{value:", "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:", "})))]),e._v(" "),n("option",{attrs:{value:"/"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"/"})))]),e._v(" "),n("option",{attrs:{value:" / "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" / "})))]),e._v(" "),n("option",{attrs:{value:";"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:";"})))]),e._v(" "),n("option",{attrs:{value:"; "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"; "})))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.singleAlbumArtist,expression:"settings.tags.singleAlbumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.singleAlbumArtist)?e._i(e.settings.tags.singleAlbumArtist,null)>-1:e.settings.tags.singleAlbumArtist},on:{change:function(i){var r=e.settings.tags.singleAlbumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"singleAlbumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"singleAlbumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"singleAlbumArtist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.singleAlbumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumVariousArtists,expression:"settings.albumVariousArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.albumVariousArtists)?e._i(e.settings.albumVariousArtists,null)>-1:e.settings.albumVariousArtists},on:{change:function(i){var r=e.settings.albumVariousArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"albumVariousArtists",r.concat([l])):c>-1&&e.$set(e.settings,"albumVariousArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"albumVariousArtists",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.albumVariousArtists")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeAlbumVersion,expression:"settings.removeAlbumVersion"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeAlbumVersion)?e._i(e.settings.removeAlbumVersion,null)>-1:e.settings.removeAlbumVersion},on:{change:function(i){var r=e.settings.removeAlbumVersion,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeAlbumVersion",r.concat([l])):c>-1&&e.$set(e.settings,"removeAlbumVersion",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeAlbumVersion",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeAlbumVersion")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeDuplicateArtists,expression:"settings.removeDuplicateArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeDuplicateArtists)?e._i(e.settings.removeDuplicateArtists,null)>-1:e.settings.removeDuplicateArtists},on:{change:function(i){var r=e.settings.removeDuplicateArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeDuplicateArtists",r.concat([l])):c>-1&&e.$set(e.settings,"removeDuplicateArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeDuplicateArtists",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeDuplicateArtists")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.dateFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.dateFormat,expression:"settings.dateFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"dateFormat",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"Y-M-D"}},[e._v(` + `)]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.coverDescriptionUTF8,expression:"settings.tags.coverDescriptionUTF8"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.coverDescriptionUTF8)?e._i(e.settings.tags.coverDescriptionUTF8,null)>-1:e.settings.tags.coverDescriptionUTF8},on:{change:function(r){var i=e.settings.tags.coverDescriptionUTF8,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"coverDescriptionUTF8",i.concat([c])):o>-1&&e.$set(e.settings.tags,"coverDescriptionUTF8",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"coverDescriptionUTF8",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.coverDescriptionUTF8")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.jpegImageQuality")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.jpegImageQuality,expression:"settings.jpegImageQuality",modifiers:{number:!0}}],attrs:{max:"100",min:"1",type:"number"},domProps:{value:e.settings.jpegImageQuality},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"jpegImageQuality",e._n(r.target.value))},blur:function(r){return e.$forceUpdate()}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons",staticStyle:{width:"1em",height:"1em"}},[e._v("bookmarks")]),e._v(e._s(e.$t("settings.tags.head"))+` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.title,expression:"settings.tags.title"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.title)?e._i(e.settings.tags.title,null)>-1:e.settings.tags.title},on:{change:function(r){var i=e.settings.tags.title,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"title",i.concat([c])):o>-1&&e.$set(e.settings.tags,"title",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"title",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.title")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.artist,expression:"settings.tags.artist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.artist)?e._i(e.settings.tags.artist,null)>-1:e.settings.tags.artist},on:{change:function(r){var i=e.settings.tags.artist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"artist",i.concat([c])):o>-1&&e.$set(e.settings.tags,"artist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"artist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.artist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.album,expression:"settings.tags.album"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.album)?e._i(e.settings.tags.album,null)>-1:e.settings.tags.album},on:{change:function(r){var i=e.settings.tags.album,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"album",i.concat([c])):o>-1&&e.$set(e.settings.tags,"album",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"album",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.album")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.cover,expression:"settings.tags.cover"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.cover)?e._i(e.settings.tags.cover,null)>-1:e.settings.tags.cover},on:{change:function(r){var i=e.settings.tags.cover,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"cover",i.concat([c])):o>-1&&e.$set(e.settings.tags,"cover",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"cover",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.cover")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackNumber,expression:"settings.tags.trackNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackNumber)?e._i(e.settings.tags.trackNumber,null)>-1:e.settings.tags.trackNumber},on:{change:function(r){var i=e.settings.tags.trackNumber,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"trackNumber",i.concat([c])):o>-1&&e.$set(e.settings.tags,"trackNumber",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"trackNumber",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackTotal,expression:"settings.tags.trackTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackTotal)?e._i(e.settings.tags.trackTotal,null)>-1:e.settings.tags.trackTotal},on:{change:function(r){var i=e.settings.tags.trackTotal,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"trackTotal",i.concat([c])):o>-1&&e.$set(e.settings.tags,"trackTotal",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"trackTotal",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discNumber,expression:"settings.tags.discNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discNumber)?e._i(e.settings.tags.discNumber,null)>-1:e.settings.tags.discNumber},on:{change:function(r){var i=e.settings.tags.discNumber,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"discNumber",i.concat([c])):o>-1&&e.$set(e.settings.tags,"discNumber",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"discNumber",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discTotal,expression:"settings.tags.discTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discTotal)?e._i(e.settings.tags.discTotal,null)>-1:e.settings.tags.discTotal},on:{change:function(r){var i=e.settings.tags.discTotal,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"discTotal",i.concat([c])):o>-1&&e.$set(e.settings.tags,"discTotal",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"discTotal",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.albumArtist,expression:"settings.tags.albumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.albumArtist)?e._i(e.settings.tags.albumArtist,null)>-1:e.settings.tags.albumArtist},on:{change:function(r){var i=e.settings.tags.albumArtist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"albumArtist",i.concat([c])):o>-1&&e.$set(e.settings.tags,"albumArtist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"albumArtist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.albumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.genre,expression:"settings.tags.genre"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.genre)?e._i(e.settings.tags.genre,null)>-1:e.settings.tags.genre},on:{change:function(r){var i=e.settings.tags.genre,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"genre",i.concat([c])):o>-1&&e.$set(e.settings.tags,"genre",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"genre",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.genre")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.year,expression:"settings.tags.year"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.year)?e._i(e.settings.tags.year,null)>-1:e.settings.tags.year},on:{change:function(r){var i=e.settings.tags.year,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"year",i.concat([c])):o>-1&&e.$set(e.settings.tags,"year",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"year",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.year")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.date,expression:"settings.tags.date"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.date)?e._i(e.settings.tags.date,null)>-1:e.settings.tags.date},on:{change:function(r){var i=e.settings.tags.date,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"date",i.concat([c])):o>-1&&e.$set(e.settings.tags,"date",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"date",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.date")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.explicit,expression:"settings.tags.explicit"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.explicit)?e._i(e.settings.tags.explicit,null)>-1:e.settings.tags.explicit},on:{change:function(r){var i=e.settings.tags.explicit,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"explicit",i.concat([c])):o>-1&&e.$set(e.settings.tags,"explicit",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"explicit",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.explicit")))])])]),e._v(" "),n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.isrc,expression:"settings.tags.isrc"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.isrc)?e._i(e.settings.tags.isrc,null)>-1:e.settings.tags.isrc},on:{change:function(r){var i=e.settings.tags.isrc,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"isrc",i.concat([c])):o>-1&&e.$set(e.settings.tags,"isrc",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"isrc",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.isrc")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.length,expression:"settings.tags.length"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.length)?e._i(e.settings.tags.length,null)>-1:e.settings.tags.length},on:{change:function(r){var i=e.settings.tags.length,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"length",i.concat([c])):o>-1&&e.$set(e.settings.tags,"length",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"length",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.length")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.barcode,expression:"settings.tags.barcode"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.barcode)?e._i(e.settings.tags.barcode,null)>-1:e.settings.tags.barcode},on:{change:function(r){var i=e.settings.tags.barcode,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"barcode",i.concat([c])):o>-1&&e.$set(e.settings.tags,"barcode",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"barcode",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.barcode")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.bpm,expression:"settings.tags.bpm"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.bpm)?e._i(e.settings.tags.bpm,null)>-1:e.settings.tags.bpm},on:{change:function(r){var i=e.settings.tags.bpm,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"bpm",i.concat([c])):o>-1&&e.$set(e.settings.tags,"bpm",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"bpm",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.bpm")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.replayGain,expression:"settings.tags.replayGain"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.replayGain)?e._i(e.settings.tags.replayGain,null)>-1:e.settings.tags.replayGain},on:{change:function(r){var i=e.settings.tags.replayGain,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"replayGain",i.concat([c])):o>-1&&e.$set(e.settings.tags,"replayGain",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"replayGain",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.replayGain")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.label,expression:"settings.tags.label"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.label)?e._i(e.settings.tags.label,null)>-1:e.settings.tags.label},on:{change:function(r){var i=e.settings.tags.label,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"label",i.concat([c])):o>-1&&e.$set(e.settings.tags,"label",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"label",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.label")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.lyrics,expression:"settings.tags.lyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.lyrics)?e._i(e.settings.tags.lyrics,null)>-1:e.settings.tags.lyrics},on:{change:function(r){var i=e.settings.tags.lyrics,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"lyrics",i.concat([c])):o>-1&&e.$set(e.settings.tags,"lyrics",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"lyrics",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.lyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.syncedLyrics,expression:"settings.tags.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.syncedLyrics)?e._i(e.settings.tags.syncedLyrics,null)>-1:e.settings.tags.syncedLyrics},on:{change:function(r){var i=e.settings.tags.syncedLyrics,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"syncedLyrics",i.concat([c])):o>-1&&e.$set(e.settings.tags,"syncedLyrics",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"syncedLyrics",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.copyright,expression:"settings.tags.copyright"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.copyright)?e._i(e.settings.tags.copyright,null)>-1:e.settings.tags.copyright},on:{change:function(r){var i=e.settings.tags.copyright,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"copyright",i.concat([c])):o>-1&&e.$set(e.settings.tags,"copyright",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"copyright",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.copyright")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.composer,expression:"settings.tags.composer"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.composer)?e._i(e.settings.tags.composer,null)>-1:e.settings.tags.composer},on:{change:function(r){var i=e.settings.tags.composer,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"composer",i.concat([c])):o>-1&&e.$set(e.settings.tags,"composer",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"composer",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.composer")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.involvedPeople,expression:"settings.tags.involvedPeople"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.involvedPeople)?e._i(e.settings.tags.involvedPeople,null)>-1:e.settings.tags.involvedPeople},on:{change:function(r){var i=e.settings.tags.involvedPeople,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"involvedPeople",i.concat([c])):o>-1&&e.$set(e.settings.tags,"involvedPeople",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"involvedPeople",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.involvedPeople")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.source,expression:"settings.tags.source"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.source)?e._i(e.settings.tags.source,null)>-1:e.settings.tags.source},on:{change:function(r){var i=e.settings.tags.source,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"source",i.concat([c])):o>-1&&e.$set(e.settings.tags,"source",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"source",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.source")))])])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("get_app")]),e._v(e._s(e.$t("settings.downloads.title"))+` + `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.queueConcurrency")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.queueConcurrency,expression:"settings.queueConcurrency",modifiers:{number:!0}}],attrs:{min:"1",type:"number"},domProps:{value:e.settings.queueConcurrency},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"queueConcurrency",e._n(r.target.value))},blur:function(r){return e.$forceUpdate()}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.maxBitrate.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.maxBitrate,expression:"settings.maxBitrate"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"maxBitrate",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"9"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.9")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.3")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.1")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.overwriteFile.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.overwriteFile,expression:"settings.overwriteFile"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"overwriteFile",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"y"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.y")))]),e._v(" "),n("option",{attrs:{value:"n"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.n")))]),e._v(" "),n("option",{attrs:{value:"e"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.e")))]),e._v(" "),n("option",{attrs:{value:"b"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.b")))]),e._v(" "),n("option",{attrs:{value:"t"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.t")))])])]),e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackBitrate,expression:"settings.fallbackBitrate"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackBitrate)?e._i(e.settings.fallbackBitrate,null)>-1:e.settings.fallbackBitrate},on:{change:function(r){var i=e.settings.fallbackBitrate,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"fallbackBitrate",i.concat([c])):o>-1&&e.$set(e.settings,"fallbackBitrate",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"fallbackBitrate",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackBitrate")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackSearch,expression:"settings.fallbackSearch"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackSearch)?e._i(e.settings.fallbackSearch,null)>-1:e.settings.fallbackSearch},on:{change:function(r){var i=e.settings.fallbackSearch,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"fallbackSearch",i.concat([c])):o>-1&&e.$set(e.settings,"fallbackSearch",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"fallbackSearch",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackSearch")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logErrors,expression:"settings.logErrors"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logErrors)?e._i(e.settings.logErrors,null)>-1:e.settings.logErrors},on:{change:function(r){var i=e.settings.logErrors,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"logErrors",i.concat([c])):o>-1&&e.$set(e.settings,"logErrors",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"logErrors",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logErrors")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logSearched,expression:"settings.logSearched"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logSearched)?e._i(e.settings.logSearched,null)>-1:e.settings.logSearched},on:{change:function(r){var i=e.settings.logSearched,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"logSearched",i.concat([c])):o>-1&&e.$set(e.settings,"logSearched",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"logSearched",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logSearched")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.syncedLyrics,expression:"settings.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.syncedLyrics)?e._i(e.settings.syncedLyrics,null)>-1:e.settings.syncedLyrics},on:{change:function(r){var i=e.settings.syncedLyrics,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"syncedLyrics",i.concat([c])):o>-1&&e.$set(e.settings,"syncedLyrics",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"syncedLyrics",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createM3U8File,expression:"settings.createM3U8File"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createM3U8File)?e._i(e.settings.createM3U8File,null)>-1:e.settings.createM3U8File},on:{change:function(r){var i=e.settings.createM3U8File,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"createM3U8File",i.concat([c])):o>-1&&e.$set(e.settings,"createM3U8File",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"createM3U8File",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.createM3U8File")))])])])]),e._v(" "),e.settings.createM3U8File?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.playlistFilenameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistFilenameTemplate,expression:"settings.playlistFilenameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistFilenameTemplate},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"playlistFilenameTemplate",r.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveDownloadQueue,expression:"settings.saveDownloadQueue"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveDownloadQueue)?e._i(e.settings.saveDownloadQueue,null)>-1:e.settings.saveDownloadQueue},on:{change:function(r){var i=e.settings.saveDownloadQueue,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"saveDownloadQueue",i.concat([c])):o>-1&&e.$set(e.settings,"saveDownloadQueue",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"saveDownloadQueue",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.saveDownloadQueue")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("list")]),e._v(e._s(e.$t("settings.other.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.savePlaylistAsCompilation,expression:"settings.tags.savePlaylistAsCompilation"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.savePlaylistAsCompilation)?e._i(e.settings.tags.savePlaylistAsCompilation,null)>-1:e.settings.tags.savePlaylistAsCompilation},on:{change:function(r){var i=e.settings.tags.savePlaylistAsCompilation,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"savePlaylistAsCompilation",i.concat([c])):o>-1&&e.$set(e.settings.tags,"savePlaylistAsCompilation",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"savePlaylistAsCompilation",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.savePlaylistAsCompilation")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.useNullSeparator,expression:"settings.tags.useNullSeparator"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.useNullSeparator)?e._i(e.settings.tags.useNullSeparator,null)>-1:e.settings.tags.useNullSeparator},on:{change:function(r){var i=e.settings.tags.useNullSeparator,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"useNullSeparator",i.concat([c])):o>-1&&e.$set(e.settings.tags,"useNullSeparator",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"useNullSeparator",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.useNullSeparator")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.saveID3v1,expression:"settings.tags.saveID3v1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.saveID3v1)?e._i(e.settings.tags.saveID3v1,null)>-1:e.settings.tags.saveID3v1},on:{change:function(r){var i=e.settings.tags.saveID3v1,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"saveID3v1",i.concat([c])):o>-1&&e.$set(e.settings.tags,"saveID3v1",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"saveID3v1",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.saveID3v1")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.multiArtistSeparator,expression:"settings.tags.multiArtistSeparator"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings.tags,"multiArtistSeparator",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.nothing")))]),e._v(" "),n("option",{attrs:{value:"default"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.default")))]),e._v(" "),n("option",{attrs:{value:"andFeat"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.andFeat")))]),e._v(" "),n("option",{attrs:{value:" & "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" & "})))]),e._v(" "),n("option",{attrs:{value:","}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:","})))]),e._v(" "),n("option",{attrs:{value:", "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:", "})))]),e._v(" "),n("option",{attrs:{value:"/"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"/"})))]),e._v(" "),n("option",{attrs:{value:" / "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" / "})))]),e._v(" "),n("option",{attrs:{value:";"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:";"})))]),e._v(" "),n("option",{attrs:{value:"; "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"; "})))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.singleAlbumArtist,expression:"settings.tags.singleAlbumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.singleAlbumArtist)?e._i(e.settings.tags.singleAlbumArtist,null)>-1:e.settings.tags.singleAlbumArtist},on:{change:function(r){var i=e.settings.tags.singleAlbumArtist,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings.tags,"singleAlbumArtist",i.concat([c])):o>-1&&e.$set(e.settings.tags,"singleAlbumArtist",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings.tags,"singleAlbumArtist",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.singleAlbumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumVariousArtists,expression:"settings.albumVariousArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.albumVariousArtists)?e._i(e.settings.albumVariousArtists,null)>-1:e.settings.albumVariousArtists},on:{change:function(r){var i=e.settings.albumVariousArtists,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"albumVariousArtists",i.concat([c])):o>-1&&e.$set(e.settings,"albumVariousArtists",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"albumVariousArtists",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.albumVariousArtists")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeAlbumVersion,expression:"settings.removeAlbumVersion"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeAlbumVersion)?e._i(e.settings.removeAlbumVersion,null)>-1:e.settings.removeAlbumVersion},on:{change:function(r){var i=e.settings.removeAlbumVersion,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"removeAlbumVersion",i.concat([c])):o>-1&&e.$set(e.settings,"removeAlbumVersion",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"removeAlbumVersion",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeAlbumVersion")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeDuplicateArtists,expression:"settings.removeDuplicateArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeDuplicateArtists)?e._i(e.settings.removeDuplicateArtists,null)>-1:e.settings.removeDuplicateArtists},on:{change:function(r){var i=e.settings.removeDuplicateArtists,s=r.target,l=!!s.checked;if(Array.isArray(i)){var c=null,o=e._i(i,c);s.checked?o<0&&e.$set(e.settings,"removeDuplicateArtists",i.concat([c])):o>-1&&e.$set(e.settings,"removeDuplicateArtists",i.slice(0,o).concat(i.slice(o+1)))}else e.$set(e.settings,"removeDuplicateArtists",l)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeDuplicateArtists")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.dateFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.dateFormat,expression:"settings.dateFormat"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"dateFormat",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"Y-M-D"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day"))+` `)]),e._v(" "),n("option",{attrs:{value:"Y-D-M"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month"))+` @@ -4765,31 +4798,34 @@ PERFORMANCE OF THIS SOFTWARE. `+e._s(e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.year"))+` `)]),e._v(" "),n("option",{attrs:{value:"M-D-Y"}},[e._v(` `+e._s(e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.year"))+` - `)]),e._v(" "),n("option",{attrs:{value:"Y"}},[e._v(e._s(e.$t("settings.other.dateFormat.year")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.featuredToTitle.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.featuredToTitle,expression:"settings.featuredToTitle"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"featuredToTitle",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"0"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.0")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.1")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.3")))]),e._v(" "),n("option",{attrs:{value:"2"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.2")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.titleCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.titleCasing,expression:"settings.titleCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"titleCasing",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.artistCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistCasing,expression:"settings.artistCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"artistCasing",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.previewVolume")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.modelVolume,expression:"modelVolume",modifiers:{number:!0}}],staticClass:"slider",attrs:{max:"100",min:"0",step:"1",type:"range"},domProps:{value:e.modelVolume},on:{__r:function(i){e.modelVolume=e._n(i.target.value)},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),n("span",[e._v(e._s(e.previewVolume)+"%")])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.executeCommand.title")))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(e.$t("settings.other.executeCommand.description")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.executeCommand,expression:"settings.executeCommand"}],attrs:{type:"text"},domProps:{value:e.settings.executeCommand},on:{input:function(i){i.target.composing||e.$set(e.settings,"executeCommand",i.target.value)}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("svg",{staticClass:"mr-4 w-6 h-6",staticStyle:{fill:"#1db954"},attrs:{"enable-background":"new 0 0 24 24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"m12 24c6.624 0 12-5.376 12-12s-5.376-12-12-12-12 5.376-12 12 5.376 12 12 12zm4.872-6.344v.001c-.807 0-3.356-2.828-10.52-1.36-.189.049-.436.126-.576.126-.915 0-1.09-1.369-.106-1.578 3.963-.875 8.013-.798 11.467 1.268.824.526.474 1.543-.265 1.543zm1.303-3.173c-.113-.03-.08.069-.597-.203-3.025-1.79-7.533-2.512-11.545-1.423-.232.063-.358.126-.576.126-1.071 0-1.355-1.611-.188-1.94 4.716-1.325 9.775-.552 13.297 1.543.392.232.547.533.547.953-.005.522-.411.944-.938.944zm-13.627-7.485c4.523-1.324 11.368-.906 15.624 1.578 1.091.629.662 2.22-.498 2.22l-.001-.001c-.252 0-.407-.063-.625-.189-3.443-2.056-9.604-2.549-13.59-1.436-.175.048-.393.125-.625.125-.639 0-1.127-.499-1.127-1.142 0-.657.407-1.029.842-1.155z"}})]),e._v(` + `)]),e._v(" "),n("option",{attrs:{value:"Y"}},[e._v(e._s(e.$t("settings.other.dateFormat.year")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.featuredToTitle.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.featuredToTitle,expression:"settings.featuredToTitle"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"featuredToTitle",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"0"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.0")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.1")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.3")))]),e._v(" "),n("option",{attrs:{value:"2"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.2")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.titleCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.titleCasing,expression:"settings.titleCasing"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"titleCasing",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.artistCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistCasing,expression:"settings.artistCasing"}],on:{change:function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.$set(e.settings,"artistCasing",r.target.multiple?i:i[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.previewVolume")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.modelVolume,expression:"modelVolume",modifiers:{number:!0}}],staticClass:"slider",attrs:{max:"100",min:"0",step:"1",type:"range"},domProps:{value:e.modelVolume},on:{__r:function(r){e.modelVolume=e._n(r.target.value)},blur:function(r){return e.$forceUpdate()}}}),e._v(" "),n("span",[e._v(e._s(e.previewVolume)+"%")])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.executeCommand.title")))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(e.$t("settings.other.executeCommand.description")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.executeCommand,expression:"settings.executeCommand"}],attrs:{type:"text"},domProps:{value:e.settings.executeCommand},on:{input:function(r){if(r.target.composing)return;e.$set(e.settings,"executeCommand",r.target.value)}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("svg",{staticClass:"mr-4 w-6 h-6",staticStyle:{fill:"#1db954"},attrs:{"enable-background":"new 0 0 24 24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"m12 24c6.624 0 12-5.376 12-12s-5.376-12-12-12-12 5.376-12 12 5.376 12 12 12zm4.872-6.344v.001c-.807 0-3.356-2.828-10.52-1.36-.189.049-.436.126-.576.126-.915 0-1.09-1.369-.106-1.578 3.963-.875 8.013-.798 11.467 1.268.824.526.474 1.543-.265 1.543zm1.303-3.173c-.113-.03-.08.069-.597-.203-3.025-1.79-7.533-2.512-11.545-1.423-.232.063-.358.126-.576.126-1.071 0-1.355-1.611-.188-1.94 4.716-1.325 9.775-.552 13.297 1.543.392.232.547.533.547.953-.005.522-.411.944-.938.944zm-13.627-7.485c4.523-1.324 11.368-.906 15.624 1.578 1.091.629.662 2.22-.498 2.22l-.001-.001c-.252 0-.407-.063-.625-.189-3.443-2.056-9.604-2.549-13.59-1.436-.175.048-.393.125-.625.125-.639 0-1.127-.499-1.127-1.142 0-.657.407-1.029.842-1.155z"}})]),e._v(` `+e._s(e.$t("settings.spotify.title"))+` `)])]},proxy:!0}])},[e._v(" "),n("RouterLink",{attrs:{to:{name:"Spotify Features"}}},[e._v(` `+e._s(e.$t("settings.spotify.question"))+` - `)]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientId",i.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientSecret",i.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(i){i.target.composing||(e.spotifyUser=i.target.value)}}})])],1),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},__vue_staticRenderFns__$u=[];const __vue_inject_styles__$u=function(e){!e||e("data-v-6ae1bcdc_0",{source:"#logged_in_info[data-v-6ae1bcdc]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-6ae1bcdc]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-6ae1bcdc]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current svg[data-v-6ae1bcdc]{filter:brightness(1)}.locale-flag[data-v-6ae1bcdc] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-6ae1bcdc]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-6ae1bcdc]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-6ae1bcdc]{margin-right:1rem}.settings-container[data-v-6ae1bcdc]{display:flex}.settings-container__half[data-v-6ae1bcdc]{width:50%}.settings-container__third[data-v-6ae1bcdc]{width:33%}.settings-container__third--only-checkbox[data-v-6ae1bcdc]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>*[data-v-6ae1bcdc],.settings-container__third>*[data-v-6ae1bcdc]{margin-bottom:1rem}.with-checkbox[data-v-6ae1bcdc]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-6ae1bcdc]{cursor:pointer}.with-checkbox .checkbox-text[data-v-6ae1bcdc]{margin-left:10px;cursor:pointer;user-select:none}.input-group .input-group-text[data-v-6ae1bcdc]{margin-bottom:.5rem}",map:void 0,media:void 0})},__vue_scope_id__$u="data-v-6ae1bcdc",__vue_module_identifier__$u=void 0,__vue_is_functional_template__$u=!1;var Settings=normalizeComponent_1({render:__vue_render__$u,staticRenderFns:__vue_staticRenderFns__$u},__vue_inject_styles__$u,__vue_script__$s,__vue_scope_id__$u,__vue_is_functional_template__$u,__vue_module_identifier__$u,browser,void 0),script$t={data(){return{title:"",metadata:"",release_date:"",label:"",explicit:!1,image:"",type:"empty",link:"",body:[]}},mounted(){socket.on("show_album",this.showAlbum),socket.on("show_playlist",this.showPlaylist),socket.on("show_spotifyplaylist",this.showSpotifyPlaylist)},methods:{playPausePreview,reset(){this.title="Loading...",this.image="",this.metadata="",this.label="",this.release_date="",this.explicit=!1,this.type="empty",this.body=[]},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},toggleAll(e){this.body.forEach(a=>{a.type=="track"&&(a.selected=e.currentTarget.checked)})},selectedLinks(){var e=[];return this.body&&this.body.forEach(a=>{a.type=="track"&&a.selected&&e.push(this.type=="spotifyPlaylist"?a.uri:a.link)}),e.join(";")},convertDuration:Utils.convertDuration,showAlbum(e){this.reset();const{id:a,title:n,explicit_lyrics:i,label:r,artist:{name:s},tracks:o,tracks:{length:l},release_date:c,cover_xl:u}=e;this.type="album",this.link=`https://www.deezer.com/album/${a}`,this.title=n,this.explicit=i,this.label=r,this.metadata=`${s} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,this.release_date=c.substring(0,10),this.image=u,isEmpty(o)?this.body=null:this.body=o},showPlaylist(e){this.reset();const{id:a,title:n,picture_xl:i,creation_date:r,creator:{name:s},tracks:o,tracks:{length:l}}=e;this.type="playlist",this.link=`https://www.deezer.com/playlist/${a}`,this.title=n,this.image=i,this.release_date=r.substring(0,10),this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},showSpotifyPlaylist(e){this.reset();const{uri:a,name:n,images:i,images:{length:r},owner:{display_name:s},tracks:o,tracks:{length:l}}=e;this.type="spotifyPlaylist",this.link=a,this.title=n,this.image=r?i[0].url:"https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg",this.release_date="",this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},selectRow(e,a){a.selected=!a.selected}}};const __vue_script__$t=script$t;var __vue_render__$v=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{ref:"root",staticClass:"relative fixed-footer bg-background-main image-header"},[n("header",{style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[n("h1",{staticClass:"flex items-center m-0 text-5xl"},[e._v(` - `+e._s(e.title)+" "),e.explicit?n("i",{staticClass:"material-icons title-icon title-icon--right"},[e._v("explicit")]):e._e()]),e._v(" "),n("h2",{staticClass:"m-0 mb-3 text-lg"},[e.metadata?n("p",[e._v(e._s(e.metadata))]):e._e(),e._v(" "),e.release_date?n("p",[e._v(e._s(e.release_date))]):e._e()])]),e._v(" "),n("table",{staticClass:"table table--tracklist"},[n("thead",[n("tr",[e._m(0),e._v(" "),n("th",[e._v("#")]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),e.type==="playlist"?n("th",[e._v(e._s(e.$tc("globals.listTabs.album",1)))]):e._e(),e._v(" "),e._m(1),e._v(" "),n("th",{staticClass:"table__icon table__cell--center clickable"},[n("input",{staticClass:"selectAll",attrs:{type:"checkbox"},on:{click:e.toggleAll}})])])]),e._v(" "),n("tbody",[e.type!=="spotifyPlaylist"?[e._l(e.body,function(i,r){return[i.type=="track"?n("tr",{on:{click:function(s){return e.selectRow(r,i)}}},[n("td",{staticClass:"table__cell--x-small table__cell--center"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",e._g({staticClass:"material-icons",class:{preview_playlist_controls:i.preview,"cursor-pointer":i.preview,disabled:!i.preview},attrs:{"data-preview":i.preview,title:e.$t("globals.play_hint")}},{click:i.preview?e.playPausePreview:!1}),[e._v(` + `)]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(r){if(r.target.composing)return;e.$set(e.spotifyFeatures,"clientId",r.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(r){if(r.target.composing)return;e.$set(e.spotifyFeatures,"clientSecret",r.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(r){if(r.target.composing)return;e.spotifyUser=r.target.value}}})])],1),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},__vue_staticRenderFns__$u=[];const __vue_inject_styles__$u=function(e){if(!e)return;e("data-v-580f260e_0",{source:"#logged_in_info[data-v-580f260e]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-580f260e]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-580f260e]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current svg[data-v-580f260e]{filter:brightness(1)}.locale-flag[data-v-580f260e] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-580f260e]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-580f260e]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-580f260e]{margin-right:1rem}.settings-container[data-v-580f260e]{display:flex}.settings-container__half[data-v-580f260e]{width:50%}.settings-container__third[data-v-580f260e]{width:33%}.settings-container__third--only-checkbox[data-v-580f260e]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>*[data-v-580f260e],.settings-container__third>*[data-v-580f260e]{margin-bottom:1rem}.with-checkbox[data-v-580f260e]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-580f260e]{cursor:pointer}.with-checkbox .checkbox-text[data-v-580f260e]{margin-left:10px;cursor:pointer;user-select:none}.input-group .input-group-text[data-v-580f260e]{margin-bottom:.5rem}",map:void 0,media:void 0})},__vue_scope_id__$u="data-v-580f260e",__vue_module_identifier__$c=void 0,__vue_is_functional_template__$u=!1;function __vue_normalize__$u(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="Settings.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$c(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$c.styles||(__vue_create_injector__$c.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +/*# sourceURL=`+s.map.sources[0]+" */",o+=` +/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var Settings=__vue_normalize__$u({render:__vue_render__$u,staticRenderFns:__vue_staticRenderFns__$u},__vue_inject_styles__$u,__vue_script__$s,__vue_scope_id__$u,__vue_is_functional_template__$u,__vue_module_identifier__$c,__vue_create_injector__$c),script$t={data(){return{title:"",metadata:"",release_date:"",label:"",explicit:!1,image:"",type:"empty",link:"",body:[]}},mounted(){socket.on("show_album",this.showAlbum),socket.on("show_playlist",this.showPlaylist),socket.on("show_spotifyplaylist",this.showSpotifyPlaylist)},methods:{playPausePreview,reset(){this.title="Loading...",this.image="",this.metadata="",this.label="",this.release_date="",this.explicit=!1,this.type="empty",this.body=[]},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},toggleAll(e){this.body.forEach(a=>{a.type=="track"&&(a.selected=e.currentTarget.checked)})},selectedLinks(){var e=[];return this.body&&this.body.forEach(a=>{a.type=="track"&&a.selected&&e.push(this.type=="spotifyPlaylist"?a.uri:a.link)}),e.join(";")},convertDuration:Utils.convertDuration,showAlbum(e){this.reset();const{id:a,title:n,explicit_lyrics:r,label:i,artist:{name:s},tracks:l,tracks:{length:c},release_date:o,cover_xl:d}=e;this.type="album",this.link=`https://www.deezer.com/album/${a}`,this.title=n,this.explicit=r,this.label=i,this.metadata=`${s} \u2022 ${this.$tc("globals.listTabs.trackN",c)}`,this.release_date=o.substring(0,10),this.image=d,isEmpty(l)?this.body=null:this.body=l},showPlaylist(e){this.reset();const{id:a,title:n,picture_xl:r,creation_date:i,creator:{name:s},tracks:l,tracks:{length:c}}=e;this.type="playlist",this.link=`https://www.deezer.com/playlist/${a}`,this.title=n,this.image=r,this.release_date=i.substring(0,10),this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",c)}`,isEmpty(l)?this.body=null:this.body=l},showSpotifyPlaylist(e){this.reset();const{uri:a,name:n,images:r,images:{length:i},owner:{display_name:s},tracks:l,tracks:{length:c}}=e;this.type="spotifyPlaylist",this.link=a,this.title=n,this.image=i?r[0].url:"https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg",this.release_date="",this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",c)}`,isEmpty(l)?this.body=null:this.body=l},selectRow(e,a){a.selected=!a.selected}}};const __vue_script__$t=script$t;var __vue_render__$v=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{ref:"root",staticClass:"relative fixed-footer bg-background-main image-header"},[n("header",{style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[n("h1",{staticClass:"flex items-center m-0 text-5xl"},[e._v(` + `+e._s(e.title)+" "),e.explicit?n("i",{staticClass:"material-icons title-icon title-icon--right"},[e._v("explicit")]):e._e()]),e._v(" "),n("h2",{staticClass:"m-0 mb-3 text-lg"},[e.metadata?n("p",[e._v(e._s(e.metadata))]):e._e(),e._v(" "),e.release_date?n("p",[e._v(e._s(e.release_date))]):e._e()])]),e._v(" "),n("table",{staticClass:"table table--tracklist"},[n("thead",[n("tr",[e._m(0),e._v(" "),n("th",[e._v("#")]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),e.type==="playlist"?n("th",[e._v(e._s(e.$tc("globals.listTabs.album",1)))]):e._e(),e._v(" "),e._m(1),e._v(" "),n("th",{staticClass:"table__icon table__cell--center clickable"},[n("input",{staticClass:"selectAll",attrs:{type:"checkbox"},on:{click:e.toggleAll}})])])]),e._v(" "),n("tbody",[e.type!=="spotifyPlaylist"?[e._l(e.body,function(r,i){return[r.type=="track"?n("tr",{on:{click:function(s){return e.selectRow(i,r)}}},[n("td",{staticClass:"table__cell--x-small table__cell--center"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",e._g({staticClass:"material-icons",class:{preview_playlist_controls:r.preview,"cursor-pointer":r.preview,disabled:!r.preview},attrs:{"data-preview":r.preview,title:e.$t("globals.play_hint")}},{click:r.preview?e.playPausePreview:!1}),[e._v(` play_arrow `)])])]),e._v(" "),n("td",{staticClass:"table__cell--small table__cell--center track_position"},[e._v(` - `+e._s(e.type==="album"?i.track_position:e.body.indexOf(i)+1)+` - `)]),e._v(" "),n("td",{staticClass:"table__cell--large table__cell--with-icon"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[i.explicit_lyrics?n("i",{staticClass:"material-icons title-icon"},[e._v(" explicit ")]):e._e(),e._v(` - `+e._s(i.title+(i.title_version&&i.title.indexOf(i.title_version)==-1?" "+i.title_version:""))+` - `)])]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artist.id}}}},[e._v(` - `+e._s(i.artist.name)+` - `)]),e._v(" "),e.type==="playlist"?n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:i.album.id}}}},[e._v(` - `+e._s(i.album.title)+` + `+e._s(e.type==="album"?r.track_position:e.body.indexOf(r)+1)+` + `)]),e._v(" "),n("td",{staticClass:"table__cell--large table__cell--with-icon"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[r.explicit_lyrics?n("i",{staticClass:"material-icons title-icon"},[e._v(" explicit ")]):e._e(),e._v(` + `+e._s(r.title+(r.title_version&&r.title.indexOf(r.title_version)==-1?" "+r.title_version:""))+` + `)])]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:r.artist.id}}}},[e._v(` + `+e._s(r.artist.name)+` + `)]),e._v(" "),e.type==="playlist"?n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:r.album.id}}}},[e._v(` + `+e._s(r.album.title)+` `)]):e._e(),e._v(" "),n("td",{staticClass:"table__cell--center",class:{"table__cell--small":e.type==="album","table__cell--x-small":e.type==="playlist"}},[e._v(` - `+e._s(e.convertDuration(i.duration))+` - `)]),e._v(" "),n("td",{staticClass:"table__icon table__cell--center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])],1):i.type=="disc_separator"?n("tr",{staticClass:"table__row-no-highlight",staticStyle:{opacity:"0.54"}},[e._m(2,!0),e._v(" "),n("td",{staticClass:"table__cell--center"},[e._v(` - `+e._s(i.number)+` - `)]),e._v(" "),n("td",{attrs:{colspan:"4"}})]):e._e()]})]:e._l(e.body,function(i,r){return n("tr",[n("td",[i.preview_url?n("i",{staticClass:"material-icons",class:{preview_playlist_controls:i.preview_url,"cursor-pointer":i.preview_url},attrs:{"data-preview":i.preview_url,title:e.$t("globals.play_hint")},on:{click:e.playPausePreview}},[e._v(` + `+e._s(e.convertDuration(r.duration))+` + `)]),e._v(" "),n("td",{staticClass:"table__icon table__cell--center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:r.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(r.selected)?e._i(r.selected,null)>-1:r.selected},on:{change:function(s){var l=r.selected,c=s.target,o=!!c.checked;if(Array.isArray(l)){var d=null,u=e._i(l,d);c.checked?u<0&&e.$set(r,"selected",l.concat([d])):u>-1&&e.$set(r,"selected",l.slice(0,u).concat(l.slice(u+1)))}else e.$set(r,"selected",o)}}})])],1):r.type=="disc_separator"?n("tr",{staticClass:"table__row-no-highlight",staticStyle:{opacity:"0.54"}},[e._m(2,!0),e._v(" "),n("td",{staticClass:"table__cell--center"},[e._v(` + `+e._s(r.number)+` + `)]),e._v(" "),n("td",{attrs:{colspan:"4"}})]):e._e()]})]:e._l(e.body,function(r,i){return n("tr",[n("td",[r.preview_url?n("i",{staticClass:"material-icons",class:{preview_playlist_controls:r.preview_url,"cursor-pointer":r.preview_url},attrs:{"data-preview":r.preview_url,title:e.$t("globals.play_hint")},on:{click:e.playPausePreview}},[e._v(` play_arrow - `)]):n("i",{staticClass:"material-icons disabled"},[e._v("play_arrow")])]),e._v(" "),n("td",[e._v(e._s(r+1))]),e._v(" "),n("td",{staticClass:"flex items-center"},[i.explicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` - `+e._s(i.name)+` - `)]),e._v(" "),n("td",[e._v(e._s(i.artists[0].name))]),e._v(" "),n("td",[e._v(e._s(i.album.name))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(Math.floor(i.duration_ms/1e3))))]),e._v(" "),n("td",[n("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])])})],2)]),e._v(" "),e.label?n("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` + `)]):n("i",{staticClass:"material-icons disabled"},[e._v("play_arrow")])]),e._v(" "),n("td",[e._v(e._s(i+1))]),e._v(" "),n("td",{staticClass:"flex items-center"},[r.explicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` + `+e._s(r.name)+` + `)]),e._v(" "),n("td",[e._v(e._s(r.artists[0].name))]),e._v(" "),n("td",[e._v(e._s(r.album.name))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(Math.floor(r.duration_ms/1e3))))]),e._v(" "),n("td",[n("input",{directives:[{name:"model",rawName:"v-model",value:r.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(r.selected)?e._i(r.selected,null)>-1:r.selected},on:{change:function(s){var l=r.selected,c=s.target,o=!!c.checked;if(Array.isArray(l)){var d=null,u=e._i(l,d);c.checked?u<0&&e.$set(r,"selected",l.concat([d])):u>-1&&e.$set(r,"selected",l.slice(0,u).concat(l.slice(u+1)))}else e.$set(r,"selected",o)}}})])])})],2)]),e._v(" "),e.label?n("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` `+e._s(""+e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.type,1)}))+` - `)]),e._v(" "),n("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` - `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_module_identifier__$v=void 0,__vue_is_functional_template__$v=!1;var Tracklist=normalizeComponent_1({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v,__vue_module_identifier__$v,void 0,void 0);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let i=null;switch(e.name){case"Tracklist":i={type:e.params.type,id:e.params.id};break;case"Album":i={type:"album",id:e.params.id};break;case"Playlist":i={type:"playlist",id:e.params.id};break;case"Spotify Playlist":i={type:"spotifyplaylist",id:e.params.id};break}i&&socket.emit("getTracklist",i),n()});function startApp(){new Vue({store,router,i18n,render:e=>e(App)}).$mount("#app")}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` -`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}fetch("connect").then(e=>e.json()).then(e=>{if(store.dispatch("setAppInfo",e.update),e.autologin){console.log("Autologin");let a=localStorage.getItem("arl"),n=localStorage.getItem("accountNum");if(a){a=a.trim();let i;n!=0?i=get("login",{arl:a,force:!0,child:n||0}):i=get("login",{arl:a}),i.then(loggedIn)}}}),socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); + `)]),e._v(" "),n("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` + `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_is_functional_template__$v=!1;function __vue_normalize__$v(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Tracklist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Tracklist=__vue_normalize__$v({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let r=null;switch(e.name){case"Tracklist":r={type:e.params.type,id:e.params.id};break;case"Album":r={type:"album",id:e.params.id};break;case"Playlist":r={type:"playlist",id:e.params.id};break;case"Spotify Playlist":r={type:"spotifyplaylist",id:e.params.id};break}r&&socket.emit("getTracklist",r),n()});function startApp(){new Vue({store,router,i18n,render:e=>e(App)}).$mount("#app"),fetch("connect").then(e=>e.json()).then(e=>{if(store.dispatch("setAppInfo",e.update),e.autologin){console.log("Autologin");let a=localStorage.getItem("arl"),n=localStorage.getItem("accountNum");if(a){a=a.trim();let r;n!=0?r=get("login",{arl:a,force:!0,child:n||0}):r=get("login",{arl:a}),r.then(loggedIn)}}})}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` +`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); diff --git a/src/app.js b/src/app.js index 8f242a4..1825583 100644 --- a/src/app.js +++ b/src/app.js @@ -32,6 +32,30 @@ function startApp() { i18n, render: h => h(App) }).$mount('#app') + + fetch('connect') + .then(response => response.json()) + .then(data => { + store.dispatch('setAppInfo', data.update) + + if (data.autologin) { + console.log('Autologin') + let arl = localStorage.getItem('arl') + let accountNum = localStorage.getItem('accountNum') + + if (arl) { + arl = arl.trim() + let result + + if (accountNum != 0) { + result = get('login', { arl: arl, force: true, child: accountNum || 0 }) + } else { + result = get('login', { arl }) + } + result.then(loggedIn) + } + } + }) } function initClient() { @@ -53,7 +77,7 @@ document.addEventListener('paste', pasteEvent => { if (router.currentRoute.name === 'Link Analyzer') { socket.emit('analyzeLink', pastedText) } else { - if (pastedText.indexOf("\n") != -1) pastedText = pastedText.replace(/\n/g, ';'); + if (pastedText.indexOf('\n') != -1) pastedText = pastedText.replace(/\n/g, ';') sendAddToQueue(pastedText) } } else { @@ -83,11 +107,11 @@ function setClientModeKeyBindings() { /* ===== Socketio listeners ===== */ // Debug messages for socketio -socket.on('message', function(msg) { +socket.on('message', function (msg) { console.log(msg) }) -function loggedIn(data){ +function loggedIn(data) { const { status, user } = data switch (status) { @@ -122,27 +146,6 @@ function loggedIn(data){ } } -fetch('connect').then(response => response.json()).then(data => { - store.dispatch('setAppInfo', data.update ) - if (data.autologin) { - console.log("Autologin") - let arl = localStorage.getItem('arl') - let accountNum = localStorage.getItem('accountNum') - - if (arl) { - arl = arl.trim() - let result - - if (accountNum != 0) { - result = get('login', {arl: arl, force:true, child:accountNum || 0}) - } else { - result = get('login', {arl}) - } - result.then(loggedIn) - } - } -}) - /* socket.on('logging_in', function() { toast(i18n.t('toasts.loggingIn'), 'loading', false, 'login-toast') @@ -159,39 +162,39 @@ socket.on('logged_out', function() { }) */ -socket.on('restoringQueue', function() { +socket.on('restoringQueue', function () { toast(i18n.t('toasts.restoringQueue'), 'loading', false, 'restoring_queue') }) -socket.on('cancellingCurrentItem', function(uuid) { +socket.on('cancellingCurrentItem', function (uuid) { toast(i18n.t('toasts.cancellingCurrentItem'), 'loading', false, 'cancelling_' + uuid) }) -socket.on('currentItemCancelled', function(uuid) { +socket.on('currentItemCancelled', function (uuid) { toast(i18n.t('toasts.currentItemCancelled'), 'done', true, 'cancelling_' + uuid) }) -socket.on('startAddingArtist', function(data) { +socket.on('startAddingArtist', function (data) { toast(i18n.t('toasts.startAddingArtist', { artist: data.name }), 'loading', false, 'artist_' + data.id) }) -socket.on('finishAddingArtist', function(data) { +socket.on('finishAddingArtist', function (data) { toast(i18n.t('toasts.finishAddingArtist', { artist: data.name }), 'done', true, 'artist_' + data.id) }) -socket.on('startConvertingSpotifyPlaylist', function(id) { +socket.on('startConvertingSpotifyPlaylist', function (id) { toast(i18n.t('toasts.startConvertingSpotifyPlaylist'), 'loading', false, 'spotifyplaylist_' + id) }) -socket.on('finishConvertingSpotifyPlaylist', function(id) { +socket.on('finishConvertingSpotifyPlaylist', function (id) { toast(i18n.t('toasts.finishConvertingSpotifyPlaylist'), 'done', true, 'spotifyplaylist_' + id) }) -socket.on('errorMessage', function(error) { +socket.on('errorMessage', function (error) { toast(error, 'error') }) -socket.on('queueError', function(queueItem) { +socket.on('queueError', function (queueItem) { if (queueItem.errid) { toast(queueItem.link + ' - ' + i18n.t(`errors.ids.${queueItem.errid}`), 'error') } else { @@ -199,18 +202,18 @@ socket.on('queueError', function(queueItem) { } }) -socket.on('alreadyInQueue', function(data) { +socket.on('alreadyInQueue', function (data) { toast(i18n.t('toasts.alreadyInQueue', { item: data.title }), 'playlist_add_check') }) -socket.on('loginNeededToDownload', function(data) { +socket.on('loginNeededToDownload', function (data) { toast(i18n.t('toasts.loginNeededToDownload'), 'report') }) -socket.on('startGeneratingItems', function(data) { +socket.on('startGeneratingItems', function (data) { toast(i18n.t('toasts.startGeneratingItems', { n: data.total }), 'loading', false, 'batch_' + data.uuid) }) -socket.on('finishGeneratingItems', function(data) { +socket.on('finishGeneratingItems', function (data) { toast(i18n.t('toasts.finishGeneratingItems', { n: data.total }), 'done', true, 'batch_' + data.uuid) }) diff --git a/src/utils/socket.js b/src/utils/socket.js index 9fc2c65..e4e4ae1 100644 --- a/src/utils/socket.js +++ b/src/utils/socket.js @@ -1,21 +1,31 @@ import store from '@/store' +let wasEventListenerAdded = false + class CustomSocket extends WebSocket { - constructor(args) { - super(args) - } - - emit(key, data) { - if (this.readyState != WebSocket.OPEN) return false - this.send(JSON.stringify({key:key, data:data})) + constructor(args) { + super(args) } + emit(key, data) { + if (this.readyState !== WebSocket.OPEN) return false + this.send(JSON.stringify({ key: key, data: data })) + } + on(key, cb) { + if (!wasEventListenerAdded) { + wasEventListenerAdded = true - on(key, callback) { - this.addEventListener('message', function(event){ - let data = JSON.parse(event.data) - console.log(data) - if (data.key == key) callback(data.data) - }) + this.addEventListener('message', event => { + const messageData = JSON.parse(event.data) + + if (messageData.key === key) { + cb(messageData.data) + } + }) + } + } + off() { + console.log('off!') + // this.removeEventListener('message') } } From efefa7bbf751e47f18c516892776bab4ca075eaa Mon Sep 17 00:00:00 2001 From: Roberto Tonino Date: Mon, 1 Mar 2021 21:25:59 +0100 Subject: [PATCH 05/17] refactor: CustomWebsocket --- public/js/bundle.js | 14 +++++++------- src/utils/socket.js | 5 ++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/public/js/bundle.js b/public/js/bundle.js index 4a0e30d..d9f8df3 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -2491,17 +2491,17 @@ a { .table--charts .clickable:hover { text-decoration: underline; } -`;styleInject(css_248z$8);/*! - * vuex v3.6.0 - * (c) 2020 Evan You - * @license MIT - */function applyMixin(e){var a=Number(e.version.split(".")[0]);if(a>=2)e.mixin({beforeCreate:r});else{var n=e.prototype._init;e.prototype._init=function(i){i===void 0&&(i={}),i.init=i.init?[r].concat(i.init):r,n.call(this,i)}}function r(){var i=this.$options;i.store?this.$store=typeof i.store=="function"?i.store():i.store:i.parent&&i.parent.$store&&(this.$store=i.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){if(!devtoolHook)return;e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(a){e.replaceState(a)}),e.subscribe(function(a,n){devtoolHook.emit("vuex:mutation",a,n)},{prepend:!0}),e.subscribeAction(function(a,n){devtoolHook.emit("vuex:action",a,n)},{prepend:!0})}function find(e,a){return e.filter(a)[0]}function deepCopy(e,a){if(a===void 0&&(a=[]),e===null||typeof e!="object")return e;var n=find(a,function(i){return i.original===e});if(n)return n.copy;var r=Array.isArray(e)?[]:{};return a.push({original:e,copy:r}),Object.keys(e).forEach(function(i){r[i]=deepCopy(e[i],a)}),r}function forEachValue(e,a){Object.keys(e).forEach(function(n){return a(e[n],n)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,a){return function(){return e(a)}}var Module=function(a,n){this.runtime=n,this._children=Object.create(null),this._rawModule=a;var r=a.state;this.state=(typeof r=="function"?r():r)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(a,n){this._children[a]=n},Module.prototype.removeChild=function(a){delete this._children[a]},Module.prototype.getChild=function(a){return this._children[a]},Module.prototype.hasChild=function(a){return a in this._children},Module.prototype.update=function(a){this._rawModule.namespaced=a.namespaced,a.actions&&(this._rawModule.actions=a.actions),a.mutations&&(this._rawModule.mutations=a.mutations),a.getters&&(this._rawModule.getters=a.getters)},Module.prototype.forEachChild=function(a){forEachValue(this._children,a)},Module.prototype.forEachGetter=function(a){this._rawModule.getters&&forEachValue(this._rawModule.getters,a)},Module.prototype.forEachAction=function(a){this._rawModule.actions&&forEachValue(this._rawModule.actions,a)},Module.prototype.forEachMutation=function(a){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,a)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(a){this.register([],a,!1)};ModuleCollection.prototype.get=function(a){return a.reduce(function(n,r){return n.getChild(r)},this.root)},ModuleCollection.prototype.getNamespace=function(a){var n=this.root;return a.reduce(function(r,i){return n=n.getChild(i),r+(n.namespaced?i+"/":"")},"")},ModuleCollection.prototype.update=function(a){update([],this.root,a)},ModuleCollection.prototype.register=function(a,n,r){var i=this;r===void 0&&(r=!0);var s=new Module(n,r);if(a.length===0)this.root=s;else{var l=this.get(a.slice(0,-1));l.addChild(a[a.length-1],s)}n.modules&&forEachValue(n.modules,function(c,o){i.register(a.concat(o),c,r)})},ModuleCollection.prototype.unregister=function(a){var n=this.get(a.slice(0,-1)),r=a[a.length-1],i=n.getChild(r);if(!i)return;if(!i.runtime)return;n.removeChild(r)},ModuleCollection.prototype.isRegistered=function(a){var n=this.get(a.slice(0,-1)),r=a[a.length-1];return n?n.hasChild(r):!1};function update(e,a,n){if(a.update(n),n.modules)for(var r in n.modules){if(!a.getChild(r))return;update(e.concat(r),a.getChild(r),n.modules[r])}}var Vue$1,Store=function(a){var n=this;a===void 0&&(a={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var r=a.plugins;r===void 0&&(r=[]);var i=a.strict;i===void 0&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(a),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,l=this,c=l.dispatch,o=l.commit;this.dispatch=function(h,m){return c.call(s,h,m)},this.commit=function(h,m,v){return o.call(s,h,m,v)},this.strict=i;var d=this._modules.root.state;installModule(this,d,[],this._modules.root),resetStoreVM(this,d),r.forEach(function(f){return f(n)});var u=a.devtools!==void 0?a.devtools:Vue$1.config.devtools;u&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(a,n,r){var i=this,s=unifyObjectStyle(a,n,r),l=s.type,c=s.payload,o={type:l,payload:c},d=this._mutations[l];if(!d)return;this._withCommit(function(){d.forEach(function(f){f(c)})}),this._subscribers.slice().forEach(function(u){return u(o,i.state)})},Store.prototype.dispatch=function(a,n){var r=this,i=unifyObjectStyle(a,n),s=i.type,l=i.payload,c={type:s,payload:l},o=this._actions[s];if(!o)return;try{this._actionSubscribers.slice().filter(function(u){return u.before}).forEach(function(u){return u.before(c,r.state)})}catch(u){}var d=o.length>1?Promise.all(o.map(function(u){return u(l)})):o[0](l);return new Promise(function(u,f){d.then(function(h){try{r._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(c,r.state)})}catch(m){}u(h)},function(h){try{r._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(c,r.state,h)})}catch(m){}f(h)})})},Store.prototype.subscribe=function(a,n){return genericSubscribe(a,this._subscribers,n)},Store.prototype.subscribeAction=function(a,n){var r=typeof a=="function"?{before:a}:a;return genericSubscribe(r,this._actionSubscribers,n)},Store.prototype.watch=function(a,n,r){var i=this;return this._watcherVM.$watch(function(){return a(i.state,i.getters)},n,r)},Store.prototype.replaceState=function(a){var n=this;this._withCommit(function(){n._vm._data.$$state=a})},Store.prototype.registerModule=function(a,n,r){r===void 0&&(r={}),typeof a=="string"&&(a=[a]),this._modules.register(a,n),installModule(this,this.state,a,this._modules.get(a),r.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(a){var n=this;typeof a=="string"&&(a=[a]),this._modules.unregister(a),this._withCommit(function(){var r=getNestedState(n.state,a.slice(0,-1));Vue$1.delete(r,a[a.length-1])}),resetStore(this)},Store.prototype.hasModule=function(a){return typeof a=="string"&&(a=[a]),this._modules.isRegistered(a)},Store.prototype.hotUpdate=function(a){this._modules.update(a),resetStore(this,!0)},Store.prototype._withCommit=function(a){var n=this._committing;this._committing=!0,a(),this._committing=n},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,a,n){return a.indexOf(e)<0&&(n&&n.prepend?a.unshift(e):a.push(e)),function(){var r=a.indexOf(e);r>-1&&a.splice(r,1)}}function resetStore(e,a){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;installModule(e,n,[],e._modules.root,!0),resetStoreVM(e,n,a)}function resetStoreVM(e,a,n){var r=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var i=e._wrappedGetters,s={};forEachValue(i,function(c,o){s[o]=partial(c,e),Object.defineProperty(e.getters,o,{get:function(){return e._vm[o]},enumerable:!0})});var l=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:a},computed:s}),Vue$1.config.silent=l,e.strict&&enableStrictMode(e),r&&(n&&e._withCommit(function(){r._data.$$state=null}),Vue$1.nextTick(function(){return r.$destroy()}))}function installModule(e,a,n,r,i){var s=!n.length,l=e._modules.getNamespace(n);if(r.namespaced&&(e._modulesNamespaceMap[l]&&!1&&console.error("[vuex] duplicate namespace "+l+" for the namespaced module "+n.join("/")),e._modulesNamespaceMap[l]=r),!s&&!i){var c=getNestedState(a,n.slice(0,-1)),o=n[n.length-1];e._withCommit(function(){Vue$1.set(c,o,r.state)})}var d=r.context=makeLocalContext(e,l,n);r.forEachMutation(function(u,f){var h=l+f;registerMutation(e,h,u,d)}),r.forEachAction(function(u,f){var h=u.root?f:l+f,m=u.handler||u;registerAction(e,h,m,d)}),r.forEachGetter(function(u,f){var h=l+f;registerGetter(e,h,u,d)}),r.forEachChild(function(u,f){installModule(e,a,n.concat(f),u,i)})}function makeLocalContext(e,a,n){var r=a==="",i={dispatch:r?e.dispatch:function(s,l,c){var o=unifyObjectStyle(s,l,c),d=o.payload,u=o.options,f=o.type;return(!u||!u.root)&&(f=a+f),e.dispatch(f,d)},commit:r?e.commit:function(s,l,c){var o=unifyObjectStyle(s,l,c),d=o.payload,u=o.options,f=o.type;(!u||!u.root)&&(f=a+f),e.commit(f,d,u)}};return Object.defineProperties(i,{getters:{get:r?function(){return e.getters}:function(){return makeLocalGetters(e,a)}},state:{get:function(){return getNestedState(e.state,n)}}}),i}function makeLocalGetters(e,a){if(!e._makeLocalGettersCache[a]){var n={},r=a.length;Object.keys(e.getters).forEach(function(i){if(i.slice(0,r)!==a)return;var s=i.slice(r);Object.defineProperty(n,s,{get:function(){return e.getters[i]},enumerable:!0})}),e._makeLocalGettersCache[a]=n}return e._makeLocalGettersCache[a]}function registerMutation(e,a,n,r){var i=e._mutations[a]||(e._mutations[a]=[]);i.push(function(l){n.call(e,r.state,l)})}function registerAction(e,a,n,r){var i=e._actions[a]||(e._actions[a]=[]);i.push(function(l){var c=n.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},l);return isPromise$1(c)||(c=Promise.resolve(c)),e._devtoolHook?c.catch(function(o){throw e._devtoolHook.emit("vuex:error",o),o}):c})}function registerGetter(e,a,n,r){if(e._wrappedGetters[a])return;e._wrappedGetters[a]=function(s){return n(r.state,r.getters,s.state,s.getters)}}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,a){return a.reduce(function(n,r){return n[r]},e)}function unifyObjectStyle(e,a,n){return isObject$1(e)&&e.type&&(n=a,a=e,e=e.type),{type:e,payload:a,options:n}}function install(e){if(Vue$1&&e===Vue$1)return;Vue$1=e,applyMixin(Vue$1)}var mapState=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){var c=this.$store.state,o=this.$store.getters;if(e){var d=getModuleByNamespace(this.$store,"mapState",e);if(!d)return;c=d.context.state,o=d.context.getters}return typeof s=="function"?s.call(this,c,o):c[s]},n[i].vuex=!0}),n}),mapMutations=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){for(var c=[],o=arguments.length;o--;)c[o]=arguments[o];var d=this.$store.commit;if(e){var u=getModuleByNamespace(this.$store,"mapMutations",e);if(!u)return;d=u.context.commit}return typeof s=="function"?s.apply(this,[d].concat(c)):d.apply(this.$store,[s].concat(c))}}),n}),mapGetters=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;s=e+s,n[i]=function(){return e&&!getModuleByNamespace(this.$store,"mapGetters",e)?void 0:this.$store.getters[s]},n[i].vuex=!0}),n}),mapActions=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){for(var c=[],o=arguments.length;o--;)c[o]=arguments[o];var d=this.$store.dispatch;if(e){var u=getModuleByNamespace(this.$store,"mapActions",e);if(!u)return;d=u.context.dispatch}return typeof s=="function"?s.apply(this,[d].concat(c)):d.apply(this.$store,[s].concat(c))}}),n}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(a){return{key:a,val:a}}):Object.keys(e).map(function(a){return{key:a,val:e[a]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(a,n){return typeof a!="string"?(n=a,a=""):a.charAt(a.length-1)!=="/"&&(a+="/"),e(a,n)}}function getModuleByNamespace(e,a,n){var r=e._modulesNamespaceMap[n];return r}function createLogger(e){e===void 0&&(e={});var a=e.collapsed;a===void 0&&(a=!0);var n=e.filter;n===void 0&&(n=function(u,f,h){return!0});var r=e.transformer;r===void 0&&(r=function(u){return u});var i=e.mutationTransformer;i===void 0&&(i=function(u){return u});var s=e.actionFilter;s===void 0&&(s=function(u,f){return!0});var l=e.actionTransformer;l===void 0&&(l=function(u){return u});var c=e.logMutations;c===void 0&&(c=!0);var o=e.logActions;o===void 0&&(o=!0);var d=e.logger;return d===void 0&&(d=console),function(u){var f=deepCopy(u.state);if(typeof d=="undefined")return;c&&u.subscribe(function(h,m){var v=deepCopy(m);if(n(h,f,v)){var y=getFormattedTime(),k=i(h),w="mutation "+h.type+y;startMessage(d,w,a),d.log("%c prev state","color: #9E9E9E; font-weight: bold",r(f)),d.log("%c mutation","color: #03A9F4; font-weight: bold",k),d.log("%c next state","color: #4CAF50; font-weight: bold",r(v)),endMessage(d)}f=v}),o&&u.subscribeAction(function(h,m){if(s(h,m)){var v=getFormattedTime(),y=l(h),k="action "+h.type+v;startMessage(d,k,a),d.log("%c action","color: #03A9F4; font-weight: bold",y),endMessage(d)}})}}function startMessage(e,a,n){var r=n?e.groupCollapsed:e.group;try{r.call(e,a)}catch(i){e.log(a)}}function endMessage(e){try{e.groupEnd()}catch(a){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,a){return new Array(a+1).join(e)}function pad(e,a){return repeat("0",a-e.toString().length)+e}var index$2={Store,install,version:"3.6.0",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger};let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,a)=>{socket.on("init_settings",(n,r,i)=>{settingsData=n,defaultSettingsData=i,spotifyCredentials=r,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:r,user:i,status:s}=n;a("setARL",{arl:r}),e("SET_USER",i),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:r}=a;r=typeof r=="undefined"?!0:r,e("SET_ARL",n),r&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const r=a[n];e[n]=r}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});let wasEventListenerAdded=!1;class CustomSocket extends WebSocket{constructor(a){super(a)}emit(a,n){if(this.readyState!==WebSocket.OPEN)return!1;this.send(JSON.stringify({key:a,data:n}))}on(a,n){wasEventListenerAdded||(wasEventListenerAdded=!0,this.addEventListener("message",r=>{const i=JSON.parse(r.data);i.key===a&&n(i.data)}))}off(){console.log("off!")}}const socket=new CustomSocket("ws://"+location.host+"/");var __vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){if(!e)return;e("data-v-20045564_0",{source:".lds-ring[data-v-20045564]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-20045564]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-20045564 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-20045564]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-20045564]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-20045564]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-20045564{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-20045564",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;function __vue_normalize__(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BaseLoadingPlaceholder.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__.styles||(__vue_create_injector__.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +`;styleInject(css_248z$8);let wasEventListenerAdded=!1;class CustomSocket extends WebSocket{constructor(a){super(a)}emit(a,n){if(this.readyState!==WebSocket.OPEN)return!1;this.send(JSON.stringify({key:a,data:n}))}on(a,n){wasEventListenerAdded||(wasEventListenerAdded=!0,this.addEventListener("message",r=>{const i=JSON.parse(r.data);i.key===a&&n(i.data)}))}off(){console.log("off!")}}const socket=new CustomSocket("ws://"+location.host+"/");var __vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){if(!e)return;e("data-v-20045564_0",{source:".lds-ring[data-v-20045564]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-20045564]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-20045564 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-20045564]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-20045564]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-20045564]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-20045564{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-20045564",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;function __vue_normalize__(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BaseLoadingPlaceholder.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__.styles||(__vue_create_injector__.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` /*# sourceURL=`+s.map.sources[0]+" */",o+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` `);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var BaseLoadingPlaceholder=__vue_normalize__({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,__vue_create_injector__);const get=function(e,a){let n=`/api/${e}`;if(a){let r=Object.keys(a).map(i=>encodeURIComponent(i)+"="+encodeURIComponent(a[i])).join("&");n+="?"+r}return fetch(n).then(r=>r.json())};function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");get("addToQueue",{url:e,bitrate:a})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,r;return n=Math.floor(e/60),a=Math.floor(n/60),r=e-n*60,n-=a*60,[a,n,r]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var r;return function(){var i=this,s=arguments,l=function(){r=null,n||e.apply(i,s)},c=n&&!r;clearTimeout(r),r=setTimeout(l,a),c&&e.apply(i,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n),i=r?n.split(".").reduce((s,l)=>{if(s)return s[l]},e):e[n];if(typeof i!="undefined")return i}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,r)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+r,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:r}=window,i=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(i>r){const l=i-r+15;this.xPos=`${e-l}px`}if(s>n){const l=s-n+15;this.yPos=`${a-l}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(r){return n("button",{directives:[{name:"show",rawName:"v-show",value:r.show,expression:"option.show"}],key:r.label,staticClass:"btn menu-option",on:{click:function(i){return i.preventDefault(),r.action(i)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(r.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){if(!e)return;e("data-v-ce73bd68_0",{source:".context-menu[data-v-ce73bd68]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-ce73bd68]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-ce73bd68]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-ce73bd68]{text-transform:capitalize}button[data-v-ce73bd68]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-ce73bd68]:focus{outline:0}button[data-v-ce73bd68]:active{background-color:unset;transform:unset}button[data-v-ce73bd68]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-ce73bd68",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;function __vue_normalize__$1(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheContextMenu.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$1(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$1.styles||(__vue_create_injector__$1.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` /*# sourceURL=`+s.map.sources[0]+" */",o+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var TheContextMenu=__vue_normalize__$1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,__vue_create_injector__$1),EventBus=new Vue;async function adjustVolume(e,a,{duration:n=1e3,easing:r=swing,interval:i=13}={}){const s=e.volume,l=a-s;if(!l||!n||!r||!i)return e.volume=a,Promise.resolve();const c=Math.floor(n/i);let o=1;return new Promise(d=>{const u=setInterval(()=>{e.volume=s+r(o/c)*l,++o===c&&(clearInterval(u),d())},i)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,a,n)=>{this.stopStackedTabsPreview(),n()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;if(isFinite(e)||(e=30),e-this.$refs.preview.currentTime>=1)return;if(this.previewStopped)return;await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(a=>{a.style.opacity=0}),document.querySelectorAll("*").forEach(a=>{a.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(a=>{a.textContent="play_arrow"})},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:a}=e;var n=a.tagName=="I"?a:a.querySelector("i");a.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,n.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,n.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(r=>{r.removeAttribute("playing")}),a.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(r=>{r.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(r=>{r.style.opacity=0}),n.innerText="pause",n.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=a.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));if(e.length===0)return;await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(a=>{a.removeAttribute("playing"),a.innerText="play_arrow"})},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:a}=e,n=a.parentElement.hasAttribute("playing");(n&&this.previewStopped||!n)&&(a.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[n("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_is_functional_template__$2=!1;function __vue_normalize__$2(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TheTrackPreview.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TheTrackPreview=__vue_normalize__$2({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:a}=e;if(this.$refs.modal.classList.add("animated","fadeOut"),!a.matches(".quality-button"))return;sendAddToQueue(this.url,a.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:a}=e;if(this.$refs.modal.classList.remove("animated",a),a==="fadeIn")return;this.open=!1}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(r){return e.tryToDownloadTrack(r)}}},[n("div",{staticClass:"smallmodal-content"},[n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var TheContextMenu=__vue_normalize__$1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,__vue_create_injector__$1);/*! + * vuex v3.6.0 + * (c) 2020 Evan You + * @license MIT + */function applyMixin(e){var a=Number(e.version.split(".")[0]);if(a>=2)e.mixin({beforeCreate:r});else{var n=e.prototype._init;e.prototype._init=function(i){i===void 0&&(i={}),i.init=i.init?[r].concat(i.init):r,n.call(this,i)}}function r(){var i=this.$options;i.store?this.$store=typeof i.store=="function"?i.store():i.store:i.parent&&i.parent.$store&&(this.$store=i.parent.$store)}}var target$2=typeof window!="undefined"?window:typeof global!="undefined"?global:{},devtoolHook=target$2.__VUE_DEVTOOLS_GLOBAL_HOOK__;function devtoolPlugin(e){if(!devtoolHook)return;e._devtoolHook=devtoolHook,devtoolHook.emit("vuex:init",e),devtoolHook.on("vuex:travel-to-state",function(a){e.replaceState(a)}),e.subscribe(function(a,n){devtoolHook.emit("vuex:mutation",a,n)},{prepend:!0}),e.subscribeAction(function(a,n){devtoolHook.emit("vuex:action",a,n)},{prepend:!0})}function find(e,a){return e.filter(a)[0]}function deepCopy(e,a){if(a===void 0&&(a=[]),e===null||typeof e!="object")return e;var n=find(a,function(i){return i.original===e});if(n)return n.copy;var r=Array.isArray(e)?[]:{};return a.push({original:e,copy:r}),Object.keys(e).forEach(function(i){r[i]=deepCopy(e[i],a)}),r}function forEachValue(e,a){Object.keys(e).forEach(function(n){return a(e[n],n)})}function isObject$1(e){return e!==null&&typeof e=="object"}function isPromise$1(e){return e&&typeof e.then=="function"}function partial(e,a){return function(){return e(a)}}var Module=function(a,n){this.runtime=n,this._children=Object.create(null),this._rawModule=a;var r=a.state;this.state=(typeof r=="function"?r():r)||{}},prototypeAccessors$1={namespaced:{configurable:!0}};prototypeAccessors$1.namespaced.get=function(){return!!this._rawModule.namespaced},Module.prototype.addChild=function(a,n){this._children[a]=n},Module.prototype.removeChild=function(a){delete this._children[a]},Module.prototype.getChild=function(a){return this._children[a]},Module.prototype.hasChild=function(a){return a in this._children},Module.prototype.update=function(a){this._rawModule.namespaced=a.namespaced,a.actions&&(this._rawModule.actions=a.actions),a.mutations&&(this._rawModule.mutations=a.mutations),a.getters&&(this._rawModule.getters=a.getters)},Module.prototype.forEachChild=function(a){forEachValue(this._children,a)},Module.prototype.forEachGetter=function(a){this._rawModule.getters&&forEachValue(this._rawModule.getters,a)},Module.prototype.forEachAction=function(a){this._rawModule.actions&&forEachValue(this._rawModule.actions,a)},Module.prototype.forEachMutation=function(a){this._rawModule.mutations&&forEachValue(this._rawModule.mutations,a)},Object.defineProperties(Module.prototype,prototypeAccessors$1);var ModuleCollection=function(a){this.register([],a,!1)};ModuleCollection.prototype.get=function(a){return a.reduce(function(n,r){return n.getChild(r)},this.root)},ModuleCollection.prototype.getNamespace=function(a){var n=this.root;return a.reduce(function(r,i){return n=n.getChild(i),r+(n.namespaced?i+"/":"")},"")},ModuleCollection.prototype.update=function(a){update([],this.root,a)},ModuleCollection.prototype.register=function(a,n,r){var i=this;r===void 0&&(r=!0);var s=new Module(n,r);if(a.length===0)this.root=s;else{var l=this.get(a.slice(0,-1));l.addChild(a[a.length-1],s)}n.modules&&forEachValue(n.modules,function(c,o){i.register(a.concat(o),c,r)})},ModuleCollection.prototype.unregister=function(a){var n=this.get(a.slice(0,-1)),r=a[a.length-1],i=n.getChild(r);if(!i)return;if(!i.runtime)return;n.removeChild(r)},ModuleCollection.prototype.isRegistered=function(a){var n=this.get(a.slice(0,-1)),r=a[a.length-1];return n?n.hasChild(r):!1};function update(e,a,n){if(a.update(n),n.modules)for(var r in n.modules){if(!a.getChild(r))return;update(e.concat(r),a.getChild(r),n.modules[r])}}var Vue$1,Store=function(a){var n=this;a===void 0&&(a={}),!Vue$1&&typeof window!="undefined"&&window.Vue&&install(window.Vue);var r=a.plugins;r===void 0&&(r=[]);var i=a.strict;i===void 0&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new ModuleCollection(a),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new Vue$1,this._makeLocalGettersCache=Object.create(null);var s=this,l=this,c=l.dispatch,o=l.commit;this.dispatch=function(h,m){return c.call(s,h,m)},this.commit=function(h,m,v){return o.call(s,h,m,v)},this.strict=i;var d=this._modules.root.state;installModule(this,d,[],this._modules.root),resetStoreVM(this,d),r.forEach(function(f){return f(n)});var u=a.devtools!==void 0?a.devtools:Vue$1.config.devtools;u&&devtoolPlugin(this)},prototypeAccessors$1$1={state:{configurable:!0}};prototypeAccessors$1$1.state.get=function(){return this._vm._data.$$state},prototypeAccessors$1$1.state.set=function(e){},Store.prototype.commit=function(a,n,r){var i=this,s=unifyObjectStyle(a,n,r),l=s.type,c=s.payload,o={type:l,payload:c},d=this._mutations[l];if(!d)return;this._withCommit(function(){d.forEach(function(f){f(c)})}),this._subscribers.slice().forEach(function(u){return u(o,i.state)})},Store.prototype.dispatch=function(a,n){var r=this,i=unifyObjectStyle(a,n),s=i.type,l=i.payload,c={type:s,payload:l},o=this._actions[s];if(!o)return;try{this._actionSubscribers.slice().filter(function(u){return u.before}).forEach(function(u){return u.before(c,r.state)})}catch(u){}var d=o.length>1?Promise.all(o.map(function(u){return u(l)})):o[0](l);return new Promise(function(u,f){d.then(function(h){try{r._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(c,r.state)})}catch(m){}u(h)},function(h){try{r._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(c,r.state,h)})}catch(m){}f(h)})})},Store.prototype.subscribe=function(a,n){return genericSubscribe(a,this._subscribers,n)},Store.prototype.subscribeAction=function(a,n){var r=typeof a=="function"?{before:a}:a;return genericSubscribe(r,this._actionSubscribers,n)},Store.prototype.watch=function(a,n,r){var i=this;return this._watcherVM.$watch(function(){return a(i.state,i.getters)},n,r)},Store.prototype.replaceState=function(a){var n=this;this._withCommit(function(){n._vm._data.$$state=a})},Store.prototype.registerModule=function(a,n,r){r===void 0&&(r={}),typeof a=="string"&&(a=[a]),this._modules.register(a,n),installModule(this,this.state,a,this._modules.get(a),r.preserveState),resetStoreVM(this,this.state)},Store.prototype.unregisterModule=function(a){var n=this;typeof a=="string"&&(a=[a]),this._modules.unregister(a),this._withCommit(function(){var r=getNestedState(n.state,a.slice(0,-1));Vue$1.delete(r,a[a.length-1])}),resetStore(this)},Store.prototype.hasModule=function(a){return typeof a=="string"&&(a=[a]),this._modules.isRegistered(a)},Store.prototype.hotUpdate=function(a){this._modules.update(a),resetStore(this,!0)},Store.prototype._withCommit=function(a){var n=this._committing;this._committing=!0,a(),this._committing=n},Object.defineProperties(Store.prototype,prototypeAccessors$1$1);function genericSubscribe(e,a,n){return a.indexOf(e)<0&&(n&&n.prepend?a.unshift(e):a.push(e)),function(){var r=a.indexOf(e);r>-1&&a.splice(r,1)}}function resetStore(e,a){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;installModule(e,n,[],e._modules.root,!0),resetStoreVM(e,n,a)}function resetStoreVM(e,a,n){var r=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var i=e._wrappedGetters,s={};forEachValue(i,function(c,o){s[o]=partial(c,e),Object.defineProperty(e.getters,o,{get:function(){return e._vm[o]},enumerable:!0})});var l=Vue$1.config.silent;Vue$1.config.silent=!0,e._vm=new Vue$1({data:{$$state:a},computed:s}),Vue$1.config.silent=l,e.strict&&enableStrictMode(e),r&&(n&&e._withCommit(function(){r._data.$$state=null}),Vue$1.nextTick(function(){return r.$destroy()}))}function installModule(e,a,n,r,i){var s=!n.length,l=e._modules.getNamespace(n);if(r.namespaced&&(e._modulesNamespaceMap[l]&&!1&&console.error("[vuex] duplicate namespace "+l+" for the namespaced module "+n.join("/")),e._modulesNamespaceMap[l]=r),!s&&!i){var c=getNestedState(a,n.slice(0,-1)),o=n[n.length-1];e._withCommit(function(){Vue$1.set(c,o,r.state)})}var d=r.context=makeLocalContext(e,l,n);r.forEachMutation(function(u,f){var h=l+f;registerMutation(e,h,u,d)}),r.forEachAction(function(u,f){var h=u.root?f:l+f,m=u.handler||u;registerAction(e,h,m,d)}),r.forEachGetter(function(u,f){var h=l+f;registerGetter(e,h,u,d)}),r.forEachChild(function(u,f){installModule(e,a,n.concat(f),u,i)})}function makeLocalContext(e,a,n){var r=a==="",i={dispatch:r?e.dispatch:function(s,l,c){var o=unifyObjectStyle(s,l,c),d=o.payload,u=o.options,f=o.type;return(!u||!u.root)&&(f=a+f),e.dispatch(f,d)},commit:r?e.commit:function(s,l,c){var o=unifyObjectStyle(s,l,c),d=o.payload,u=o.options,f=o.type;(!u||!u.root)&&(f=a+f),e.commit(f,d,u)}};return Object.defineProperties(i,{getters:{get:r?function(){return e.getters}:function(){return makeLocalGetters(e,a)}},state:{get:function(){return getNestedState(e.state,n)}}}),i}function makeLocalGetters(e,a){if(!e._makeLocalGettersCache[a]){var n={},r=a.length;Object.keys(e.getters).forEach(function(i){if(i.slice(0,r)!==a)return;var s=i.slice(r);Object.defineProperty(n,s,{get:function(){return e.getters[i]},enumerable:!0})}),e._makeLocalGettersCache[a]=n}return e._makeLocalGettersCache[a]}function registerMutation(e,a,n,r){var i=e._mutations[a]||(e._mutations[a]=[]);i.push(function(l){n.call(e,r.state,l)})}function registerAction(e,a,n,r){var i=e._actions[a]||(e._actions[a]=[]);i.push(function(l){var c=n.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},l);return isPromise$1(c)||(c=Promise.resolve(c)),e._devtoolHook?c.catch(function(o){throw e._devtoolHook.emit("vuex:error",o),o}):c})}function registerGetter(e,a,n,r){if(e._wrappedGetters[a])return;e._wrappedGetters[a]=function(s){return n(r.state,r.getters,s.state,s.getters)}}function enableStrictMode(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function getNestedState(e,a){return a.reduce(function(n,r){return n[r]},e)}function unifyObjectStyle(e,a,n){return isObject$1(e)&&e.type&&(n=a,a=e,e=e.type),{type:e,payload:a,options:n}}function install(e){if(Vue$1&&e===Vue$1)return;Vue$1=e,applyMixin(Vue$1)}var mapState=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){var c=this.$store.state,o=this.$store.getters;if(e){var d=getModuleByNamespace(this.$store,"mapState",e);if(!d)return;c=d.context.state,o=d.context.getters}return typeof s=="function"?s.call(this,c,o):c[s]},n[i].vuex=!0}),n}),mapMutations=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){for(var c=[],o=arguments.length;o--;)c[o]=arguments[o];var d=this.$store.commit;if(e){var u=getModuleByNamespace(this.$store,"mapMutations",e);if(!u)return;d=u.context.commit}return typeof s=="function"?s.apply(this,[d].concat(c)):d.apply(this.$store,[s].concat(c))}}),n}),mapGetters=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;s=e+s,n[i]=function(){return e&&!getModuleByNamespace(this.$store,"mapGetters",e)?void 0:this.$store.getters[s]},n[i].vuex=!0}),n}),mapActions=normalizeNamespace(function(e,a){var n={};return normalizeMap(a).forEach(function(r){var i=r.key,s=r.val;n[i]=function(){for(var c=[],o=arguments.length;o--;)c[o]=arguments[o];var d=this.$store.dispatch;if(e){var u=getModuleByNamespace(this.$store,"mapActions",e);if(!u)return;d=u.context.dispatch}return typeof s=="function"?s.apply(this,[d].concat(c)):d.apply(this.$store,[s].concat(c))}}),n}),createNamespacedHelpers=function(e){return{mapState:mapState.bind(null,e),mapGetters:mapGetters.bind(null,e),mapMutations:mapMutations.bind(null,e),mapActions:mapActions.bind(null,e)}};function normalizeMap(e){return isValidMap(e)?Array.isArray(e)?e.map(function(a){return{key:a,val:a}}):Object.keys(e).map(function(a){return{key:a,val:e[a]}}):[]}function isValidMap(e){return Array.isArray(e)||isObject$1(e)}function normalizeNamespace(e){return function(a,n){return typeof a!="string"?(n=a,a=""):a.charAt(a.length-1)!=="/"&&(a+="/"),e(a,n)}}function getModuleByNamespace(e,a,n){var r=e._modulesNamespaceMap[n];return r}function createLogger(e){e===void 0&&(e={});var a=e.collapsed;a===void 0&&(a=!0);var n=e.filter;n===void 0&&(n=function(u,f,h){return!0});var r=e.transformer;r===void 0&&(r=function(u){return u});var i=e.mutationTransformer;i===void 0&&(i=function(u){return u});var s=e.actionFilter;s===void 0&&(s=function(u,f){return!0});var l=e.actionTransformer;l===void 0&&(l=function(u){return u});var c=e.logMutations;c===void 0&&(c=!0);var o=e.logActions;o===void 0&&(o=!0);var d=e.logger;return d===void 0&&(d=console),function(u){var f=deepCopy(u.state);if(typeof d=="undefined")return;c&&u.subscribe(function(h,m){var v=deepCopy(m);if(n(h,f,v)){var y=getFormattedTime(),k=i(h),w="mutation "+h.type+y;startMessage(d,w,a),d.log("%c prev state","color: #9E9E9E; font-weight: bold",r(f)),d.log("%c mutation","color: #03A9F4; font-weight: bold",k),d.log("%c next state","color: #4CAF50; font-weight: bold",r(v)),endMessage(d)}f=v}),o&&u.subscribeAction(function(h,m){if(s(h,m)){var v=getFormattedTime(),y=l(h),k="action "+h.type+v;startMessage(d,k,a),d.log("%c action","color: #03A9F4; font-weight: bold",y),endMessage(d)}})}}function startMessage(e,a,n){var r=n?e.groupCollapsed:e.group;try{r.call(e,a)}catch(i){e.log(a)}}function endMessage(e){try{e.groupEnd()}catch(a){e.log("\u2014\u2014 log end \u2014\u2014")}}function getFormattedTime(){var e=new Date;return" @ "+pad(e.getHours(),2)+":"+pad(e.getMinutes(),2)+":"+pad(e.getSeconds(),2)+"."+pad(e.getMilliseconds(),3)}function repeat(e,a){return new Array(a+1).join(e)}function pad(e,a){return repeat("0",a-e.toString().length)+e}var index$2={Store,install,version:"3.6.0",mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers,createLogger},EventBus=new Vue;async function adjustVolume(e,a,{duration:n=1e3,easing:r=swing,interval:i=13}={}){const s=e.volume,l=a-s;if(!l||!n||!r||!i)return e.volume=a,Promise.resolve();const c=Math.floor(n/i);let o=1;return new Promise(d=>{const u=setInterval(()=>{e.volume=s+r(o/c)*l,++o===c&&(clearInterval(u),d())},i)})}function swing(e){return .5-Math.cos(e*Math.PI)/2}function playPausePreview(e){EventBus.$emit("trackPreview:playPausePreview",e)}function previewMouseEnter(e){EventBus.$emit("trackPreview:previewMouseEnter",e)}function previewMouseLeave(e){EventBus.$emit("trackPreview:previewMouseLeave",e)}var script$1={data:()=>({previewStopped:!1}),computed:{...mapGetters({previewVolume:"getPreviewVolume"})},mounted(){this.$refs.preview.volume=1,this.$router.beforeEach((e,a,n)=>{this.stopStackedTabsPreview(),n()}),EventBus.$on("trackPreview:playPausePreview",this.playPausePreview),EventBus.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),EventBus.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;if(isFinite(e)||(e=30),e-this.$refs.preview.currentTime>=1)return;if(this.previewStopped)return;await adjustVolume(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach(a=>{a.style.opacity=0}),document.querySelectorAll("*").forEach(a=>{a.removeAttribute("playing")}),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(a=>{a.textContent="play_arrow"})},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:a}=e;var n=a.tagName=="I"?a:a.querySelector("i");a.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,n.innerText="pause",await adjustVolume(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,n.innerText="play_arrow",await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach(r=>{r.removeAttribute("playing")}),a.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach(r=>{r.textContent="play_arrow"}),document.querySelectorAll(".preview_controls").forEach(r=>{r.style.opacity=0}),n.innerText="pause",n.style.opacity=1,this.previewStopped=!1,await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=a.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){let e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));if(e.length===0)return;await adjustVolume(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach(a=>{a.removeAttribute("playing"),a.innerText="play_arrow"})},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:a}=e,n=a.parentElement.hasAttribute("playing");(n&&this.previewStopped||!n)&&(a.style.opacity=0)}}};const __vue_script__$1=script$1;var __vue_render__$2=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[n("source",{attrs:{id:"preview-track_source",src:"",type:"audio/mpeg"}})])},__vue_staticRenderFns__$2=[];const __vue_inject_styles__$2=void 0,__vue_scope_id__$2=void 0,__vue_is_functional_template__$2=!1;function __vue_normalize__$2(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TheTrackPreview.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TheTrackPreview=__vue_normalize__$2({render:__vue_render__$2,staticRenderFns:__vue_staticRenderFns__$2},__vue_inject_styles__$2,__vue_script__$1,__vue_scope_id__$2,__vue_is_functional_template__$2),script$2={data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:a}=e;if(this.$refs.modal.classList.add("animated","fadeOut"),!a.matches(".quality-button"))return;sendAddToQueue(this.url,a.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:a}=e;if(this.$refs.modal.classList.remove("animated",a),a==="fadeIn")return;this.open=!1}}};const __vue_script__$2=script$2;var __vue_render__$3=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(r){return e.tryToDownloadTrack(r)}}},[n("div",{staticClass:"smallmodal-content"},[n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"FLAC"}))+` `)]),e._v(" "),n("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"3"}},[e._v(` `+e._s(e.$t("globals.download",{thing:"MP3 320kbps"}))+` @@ -2968,7 +2968,7 @@ PERFORMANCE OF THIS SOFTWARE. `)])])],1)}),0)])])])},__vue_staticRenderFns__$f=[];const __vue_inject_styles__$f=void 0,__vue_scope_id__$f=void 0,__vue_is_functional_template__$f=!1;function __vue_normalize__$f(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Charts.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Charts=__vue_normalize__$f({render:__vue_render__$f,staticRenderFns:__vue_staticRenderFns__$f},__vue_inject_styles__$f,__vue_script__$d,__vue_scope_id__$f,__vue_is_functional_template__$f),script$e={computed:{...mapGetters(["getErrors"]),title(){return`${this.getErrors.artist} - ${this.getErrors.title}`},errors(){return this.getErrors.errors}}};const __vue_script__$e=script$e;var __vue_render__$g=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("errors.title",{name:e.title})))]),e._v(" "),n("table",{staticClass:"table table--tracklist"},[n("tr",[n("th",[e._v("ID")]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.error",1)))])]),e._v(" "),e._l(e.errors,function(r){return n("tr",{key:r.data.id},[n("td",[e._v(e._s(r.data.id))]),e._v(" "),n("td",[e._v(e._s(r.data.artist))]),e._v(" "),n("td",[e._v(e._s(r.data.title))]),e._v(" "),n("td",[e._v(e._s(r.errid?e.$t("errors.ids."+r.errid):r.message))])])})],2)])},__vue_staticRenderFns__$g=[];const __vue_inject_styles__$g=void 0,__vue_scope_id__$g=void 0,__vue_is_functional_template__$g=!1;function __vue_normalize__$g(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Errors.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Errors=__vue_normalize__$g({render:__vue_render__$g,staticRenderFns:__vue_staticRenderFns__$g},__vue_inject_styles__$g,__vue_script__$e,__vue_scope_id__$g,__vue_is_functional_template__$g),script$f={inheritAttrs:!1,props:{cover:{type:String,reqired:!0},isRounded:{type:Boolean,required:!1},isCircle:{type:Boolean,required:!1},link:{type:String,reqired:!0}}};const __vue_script__$f=script$f;var __vue_render__$h=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative cover-container group"},[n("img",{staticClass:"block w-full opacity-100 coverart",class:{rounded:e.isRounded,"rounded-full":e.isCircle},attrs:{"aria-hidden":"true",src:e.cover}}),e._v(" "),n("button",e._g({staticClass:"absolute p-0 text-center bg-black border-0 rounded-full opacity-0 download_overlay hover:bg-primary",attrs:{role:"button","aria-label":"download","data-link":e.link,tabindex:"0"}},e.$listeners),[n("i",{staticClass:"text-white cursor-pointer material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])])},__vue_staticRenderFns__$h=[];const __vue_inject_styles__$h=function(e){if(!e)return;e("data-v-5a73b889_0",{source:".cover-container[data-v-5a73b889]{width:156px;height:156px;margin-bottom:10px}.cover-container .coverart[data-v-5a73b889]{backface-visibility:hidden;transition:.5s ease;height:auto}.cover-container .download_overlay[data-v-5a73b889]{top:50%;left:50%;transform:translate(-50%,-50%);transition:.5s ease;opacity:0;min-width:2rem;height:2.75rem;text-align:center}.cover-container .download_overlay i[data-v-5a73b889]{padding:.625rem}.cover-container .download_overlay[data-v-5a73b889]:focus{opacity:1}.cover-container:hover .coverart[data-v-5a73b889]{opacity:.75}.cover-container:hover .download_overlay[data-v-5a73b889]{opacity:1;border:0}",map:void 0,media:void 0})},__vue_scope_id__$h="data-v-5a73b889",__vue_module_identifier__$a=void 0,__vue_is_functional_template__$h=!1;function __vue_normalize__$h(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="CoverContainer.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$a(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$a.styles||(__vue_create_injector__$a.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` /*# sourceURL=`+s.map.sources[0]+" */",o+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var CoverContainer=__vue_normalize__$h({render:__vue_render__$h,staticRenderFns:__vue_staticRenderFns__$h},__vue_inject_styles__$h,__vue_script__$f,__vue_scope_id__$h,__vue_is_functional_template__$h,__vue_module_identifier__$a,__vue_create_injector__$a);const favoriteArtists=ref$2([]),favoriteAlbums=ref$2([]),favoriteSpotifyPlaylists=ref$2([]),favoritePlaylists=ref$2([]),favoriteTracks=ref$2([]),isRefreshingFavorites=ref$2(!1);store.getters.isLoggedIn&&refreshFavorites({isInitial:!0});function refreshFavorites({isInitial:e=!1}){e||(isRefreshingFavorites.value=!0),socket.emit("get_favorites_data"),store.getters.isLoggedWithSpotify&&socket.emit("update_userSpotifyPlaylists",store.getters.getSpotifyUser.id)}function useFavorites(){return{favoriteArtists,favoriteAlbums,favoriteSpotifyPlaylists,favoritePlaylists,favoriteTracks,isRefreshingFavorites,refreshFavorites}}function setAllFavorites(e){const{tracks:a,albums:n,artists:r,playlists:i}=e;favoriteArtists.value=r,favoriteAlbums.value=n,favoritePlaylists.value=i,favoriteTracks.value=a}socket.on("updated_userFavorites",e=>{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$g=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,a){const n=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:r,favoriteAlbums:i,favoriteSpotifyPlaylists:s,favoritePlaylists:l,favoriteTracks:c,isRefreshingFavorites:o,refreshFavorites:d}=useFavorites(),u=computed(()=>a.refs.reloadButton);return watch(o,(f,h)=>{const m=h&&!f;if(!m)return;toast(a.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(n),tracks:c,albums:i,artists:r,playlists:l,spotifyPlaylists:s,refreshFavorites:d,isRefreshingFavorites:o}},computed:{activeTabEmpty(){let e=this.getActiveRelease();return e?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let a=this.getLovedTracksPlaylist();sendAddToQueue(a.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let a;switch(e){case"playlist":a=this.playlists;break;case"album":a=this.albums;break;case"artist":a=this.artists;break;case"track":a=this.tracks;break}return a},getTabLength(e=this.activeTab){let a=this[`${e}s`]?.length;return a||0},getLovedTracksPlaylist(){let e=this.playlists.filter(a=>a.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$g=script$g;var __vue_render__$i=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var CoverContainer=__vue_normalize__$h({render:__vue_render__$h,staticRenderFns:__vue_staticRenderFns__$h},__vue_inject_styles__$h,__vue_script__$f,__vue_scope_id__$h,__vue_is_functional_template__$h,__vue_module_identifier__$a,__vue_create_injector__$a);let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,a)=>{socket.on("init_settings",(n,r,i)=>{settingsData=n,defaultSettingsData=i,spotifyCredentials=r,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:r,user:i,status:s}=n;a("setARL",{arl:r}),e("SET_USER",i),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:r}=a;r=typeof r=="undefined"?!0:r,e("SET_ARL",n),r&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const r=a[n];e[n]=r}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});const favoriteArtists=ref$2([]),favoriteAlbums=ref$2([]),favoriteSpotifyPlaylists=ref$2([]),favoritePlaylists=ref$2([]),favoriteTracks=ref$2([]),isRefreshingFavorites=ref$2(!1);store.getters.isLoggedIn&&refreshFavorites({isInitial:!0});function refreshFavorites({isInitial:e=!1}){e||(isRefreshingFavorites.value=!0),socket.emit("get_favorites_data"),store.getters.isLoggedWithSpotify&&socket.emit("update_userSpotifyPlaylists",store.getters.getSpotifyUser.id)}function useFavorites(){return{favoriteArtists,favoriteAlbums,favoriteSpotifyPlaylists,favoritePlaylists,favoriteTracks,isRefreshingFavorites,refreshFavorites}}function setAllFavorites(e){const{tracks:a,albums:n,artists:r,playlists:i}=e;favoriteArtists.value=r,favoriteAlbums.value=n,favoritePlaylists.value=i,favoriteTracks.value=a}socket.on("updated_userFavorites",e=>{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$g=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,a){const n=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:r,favoriteAlbums:i,favoriteSpotifyPlaylists:s,favoritePlaylists:l,favoriteTracks:c,isRefreshingFavorites:o,refreshFavorites:d}=useFavorites(),u=computed(()=>a.refs.reloadButton);return watch(o,(f,h)=>{const m=h&&!f;if(!m)return;toast(a.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(n),tracks:c,albums:i,artists:r,playlists:l,spotifyPlaylists:s,refreshFavorites:d,isRefreshingFavorites:o}},computed:{activeTabEmpty(){let e=this.getActiveRelease();return e?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let a=this.getLovedTracksPlaylist();sendAddToQueue(a.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let a;switch(e){case"playlist":a=this.playlists;break;case"album":a=this.albums;break;case"artist":a=this.artists;break;case"track":a=this.tracks;break}return a},getTabLength(e=this.activeTab){let a=this[`${e}s`]?.length;return a||0},getLovedTracksPlaylist(){let e=this.playlists.filter(a=>a.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$g=script$g;var __vue_render__$i=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(` `+e._s(e.$t("favorites.title"))+` `),n("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{role:"button","aria-label":"reload"},on:{click:e.refreshFavorites}},[n("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),n("BaseTabs",e._l(e.tabs,function(r){return n("BaseTab",{key:r,class:{active:e.activeTab===r},on:{click:function(i){e.activeTab=r}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+r,2))+` diff --git a/src/utils/socket.js b/src/utils/socket.js index e4e4ae1..285ec99 100644 --- a/src/utils/socket.js +++ b/src/utils/socket.js @@ -1,5 +1,3 @@ -import store from '@/store' - let wasEventListenerAdded = false class CustomSocket extends WebSocket { @@ -8,7 +6,8 @@ class CustomSocket extends WebSocket { } emit(key, data) { if (this.readyState !== WebSocket.OPEN) return false - this.send(JSON.stringify({ key: key, data: data })) + + this.send(JSON.stringify({ key, data })) } on(key, cb) { if (!wasEventListenerAdded) { From b846b96f7a860f49fcd72f595cf22c7ea144de78 Mon Sep 17 00:00:00 2001 From: Roberto Tonino Date: Mon, 1 Mar 2021 21:58:43 +0100 Subject: [PATCH 06/17] refactor: simplified and renamed get function --- public/js/bundle.js | 10 +++++----- src/app.js | 41 ++++++++++++++++++++--------------------- src/use/main-search.js | 5 ++--- src/use/search.js | 4 ++-- src/utils/api.js | 17 ++++++++--------- src/utils/downloads.js | 4 ++-- 6 files changed, 39 insertions(+), 42 deletions(-) diff --git a/public/js/bundle.js b/public/js/bundle.js index d9f8df3..8f2ec1e 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -2494,7 +2494,7 @@ a { `;styleInject(css_248z$8);let wasEventListenerAdded=!1;class CustomSocket extends WebSocket{constructor(a){super(a)}emit(a,n){if(this.readyState!==WebSocket.OPEN)return!1;this.send(JSON.stringify({key:a,data:n}))}on(a,n){wasEventListenerAdded||(wasEventListenerAdded=!0,this.addEventListener("message",r=>{const i=JSON.parse(r.data);i.key===a&&n(i.data)}))}off(){console.log("off!")}}const socket=new CustomSocket("ws://"+location.host+"/");var __vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){if(!e)return;e("data-v-20045564_0",{source:".lds-ring[data-v-20045564]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-20045564]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-20045564 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-20045564]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-20045564]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-20045564]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-20045564{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-20045564",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;function __vue_normalize__(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BaseLoadingPlaceholder.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__.styles||(__vue_create_injector__.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` /*# sourceURL=`+s.map.sources[0]+" */",o+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var BaseLoadingPlaceholder=__vue_normalize__({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,__vue_create_injector__);const get=function(e,a){let n=`/api/${e}`;if(a){let r=Object.keys(a).map(i=>encodeURIComponent(i)+"="+encodeURIComponent(a[i])).join("&");n+="?"+r}return fetch(n).then(r=>r.json())};function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");get("addToQueue",{url:e,bitrate:a})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,r;return n=Math.floor(e/60),a=Math.floor(n/60),r=e-n*60,n-=a*60,[a,n,r]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var r;return function(){var i=this,s=arguments,l=function(){r=null,n||e.apply(i,s)},c=n&&!r;clearTimeout(r),r=setTimeout(l,a),c&&e.apply(i,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n),i=r?n.split(".").reduce((s,l)=>{if(s)return s[l]},e):e[n];if(typeof i!="undefined")return i}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,r)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+r,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:r}=window,i=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(i>r){const l=i-r+15;this.xPos=`${e-l}px`}if(s>n){const l=s-n+15;this.yPos=`${a-l}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(r){return n("button",{directives:[{name:"show",rawName:"v-show",value:r.show,expression:"option.show"}],key:r.label,staticClass:"btn menu-option",on:{click:function(i){return i.preventDefault(),r.action(i)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(r.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){if(!e)return;e("data-v-ce73bd68_0",{source:".context-menu[data-v-ce73bd68]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-ce73bd68]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-ce73bd68]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-ce73bd68]{text-transform:capitalize}button[data-v-ce73bd68]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-ce73bd68]:focus{outline:0}button[data-v-ce73bd68]:active{background-color:unset;transform:unset}button[data-v-ce73bd68]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-ce73bd68",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;function __vue_normalize__$1(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheContextMenu.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$1(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$1.styles||(__vue_create_injector__$1.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var BaseLoadingPlaceholder=__vue_normalize__({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,__vue_create_injector__);function fetchApi(e,a){const n=new URL(`${window.location.origin}/api/${e}`);return Object.keys(a).forEach(r=>{n.searchParams.append(r,a[r])}),fetch(n.href).then(r=>r.json())}function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");fetchApi("addToQueue",{url:e,bitrate:a})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,r;return n=Math.floor(e/60),a=Math.floor(n/60),r=e-n*60,n-=a*60,[a,n,r]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var r;return function(){var i=this,s=arguments,l=function(){r=null,n||e.apply(i,s)},c=n&&!r;clearTimeout(r),r=setTimeout(l,a),c&&e.apply(i,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n),i=r?n.split(".").reduce((s,l)=>{if(s)return s[l]},e):e[n];if(typeof i!="undefined")return i}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,r)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+r,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:r}=window,i=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(i>r){const l=i-r+15;this.xPos=`${e-l}px`}if(s>n){const l=s-n+15;this.yPos=`${a-l}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(r){return n("button",{directives:[{name:"show",rawName:"v-show",value:r.show,expression:"option.show"}],key:r.label,staticClass:"btn menu-option",on:{click:function(i){return i.preventDefault(),r.action(i)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(r.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){if(!e)return;e("data-v-ce73bd68_0",{source:".context-menu[data-v-ce73bd68]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-ce73bd68]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-ce73bd68]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-ce73bd68]{text-transform:capitalize}button[data-v-ce73bd68]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-ce73bd68]:focus{outline:0}button[data-v-ce73bd68]:active{background-color:unset;transform:unset}button[data-v-ce73bd68]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-ce73bd68",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;function __vue_normalize__$1(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheContextMenu.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$1(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$1.styles||(__vue_create_injector__$1.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` /*# sourceURL=`+s.map.sources[0]+" */",o+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` `);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var TheContextMenu=__vue_normalize__$1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,__vue_create_injector__$1);/*! @@ -2530,7 +2530,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */var __assign=function(){return __assign=Object.assign||function(a){for(var n,r=1,i=arguments.length;r=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,a){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],l;try{for(;(a===void 0||a-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(c){l={error:c}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(l)throw l.error}}return s}function __spread(){for(var e=[],a=0;a{if(a===e)return;localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements()});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(a=>{a.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function a(){e.forEach(n=>{n.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",a)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=`\r + A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`,e));var w=function(C,R){d(),n(C,R,o)},x=u(w);if(r.immediate){var A=x,M=function(C,R){M=A,w(C,R)};x=function(C,R){M(C,R)}}var D=e.$watch(k,x,{immediate:r.immediate,deep:y,sync:l}),T=e._watchers[e._watchers.length-1];return isReactive(T.value)&&((i=T.value.__ob__)===null||i===void 0?void 0:i.dep)&&y&&T.value.__ob__.dep.addSub({update:function(){T.run()}}),patchWatcherTeardown(T,d),function(){D()}}function watch(e,a,n){var r=null;typeof a=="function"?r=a:(n=a,r=null);var i=getWatcherOption(n),s=getWatcherVM();return createWatcher$1(s,e,r,i)}function computed(e){var a,n=(a=getCurrentInstance())===null||a===void 0?void 0:a.proxy,r,i;typeof e=="function"?r=e:(r=e.get,i=e.set);var s,l;if(n&&!n.$isServer){var c=getVueInternalClasses(),o=c.Watcher,d=c.Dep,u;l=function(){return u||(u=new o(n,r,noopFn,{lazy:!0})),u.dirty&&u.evaluate(),d.target&&u.depend(),u.value},s=function(h){i&&i(h)}}else{var f=defineComponentInstance(getVueConstructor(),{computed:{$$state:{get:r,set:i}}});n&&n.$on("hook:destroyed",function(){return f.$destroy()}),l=function(){return f.$$state},s=function(h){f.$$state=h}}return createRef({get:l,set:s})}function set$1(e,a,n){var r=e.__composition_api_state__=e.__composition_api_state__||{};r[a]=n}function get(e,a){return(e.__composition_api_state__||{})[a]}var vmStateManager={set:set$1,get};function asVmProperty(e,a,n){var r=e.$options.props;!(a in e)&&!(r&&hasOwn$1(r,a))&&(isRef(n)?proxy$1(e,a,{get:function(){return n.value},set:function(i){n.value=i}}):e[a]=n)}function updateTemplateRef(e){var a=vmStateManager.get(e,"rawBindings")||{};if(!a||!Object.keys(a).length)return;for(var n=e.$refs,r=vmStateManager.get(e,"refs")||[],i=0;i{if(a===e)return;localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,animateAllElements()});function animateAllElements(){const e=document.querySelectorAll("*");e.forEach(a=>{a.classList.add("changing-theme")}),document.documentElement.addEventListener("transitionend",function a(){e.forEach(n=>{n.classList.remove("changing-theme")}),document.documentElement.removeEventListener("transitionend",a)})}const useTheme=()=>({THEMES,currentTheme});var deemixIcon=`\r \r \r \r @@ -2939,7 +2939,7 @@ PERFORMANCE OF THIS SOFTWARE. `)]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("For security reasons you will need to provide your own Client ID and Secret")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Client ID and Secret?")]),e._v(" "),e._m(0),e._v(" "),e._m(1),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("Now you can copy-paste those results in the appropriate fields in the settings.")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Spotify Username?")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$c=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Connect to "),n("a",{attrs:{href:"https://developer.spotify.com/dashboard",target:"_blank"}},[e._v("Spotify for Developers's Dashboard")]),e._v(" and login with your Spotify account.")])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` Click on "Create an App".`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/YFz7rHj.png",alt:"Create an App button on Spotify for Developers's Dashboard"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` Fill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/A9cvDkK.png",alt:"Create an app form"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),n("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_is_functional_template__$c=!1;function __vue_normalize__$c(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="InfoSpotifyFeatures.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var InfoSpotifyFeatures=__vue_normalize__$c({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var a=hasOwnProperty$2.call(e,symToStringTag),n=e[symToStringTag];try{e[symToStringTag]=void 0;var r=!0}catch(s){}var i=nativeObjectToString.call(e);return r&&(a?e[symToStringTag]=n:delete e[symToStringTag]),i}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,a){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,a){var n=typeof e;return a=a??MAX_SAFE_INTEGER,!!a&&(n=="number"||n!="symbol"&&reIsUint.test(e))&&(e>-1&&e%1==0)&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var a=e&&e.constructor,n=typeof a=="function"&&a.prototype||objectProto$3;return e===n}function baseTimes(e,a){for(var n=-1,r=Array(e);++n-1}function listCacheSet(e,a){var n=this.__data__,r=assocIndexOf(n,e);return r<0?(++this.size,n.push([e,a])):n[r][1]=a,this}function ListCache(e){var a=-1,n=e==null?0:e.length;for(this.clear();++ac))return!1;var d=s.get(e);if(d&&s.get(a))return d==a;var u=-1,f=!0,h=n&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,a),s.set(a,e);++u=a||C<0||f&&R>=s}function w(){var T=now();if(k(T))return x(T);c=setTimeout(w,y(T))}function x(T){return c=void 0,h&&r?m(T):(r=i=void 0,l)}function A(){c!==void 0&&clearTimeout(c),d=0,r=o=i=c=void 0}function M(){return c===void 0?l:x(now())}function D(){var T=now(),C=k(T);if(r=arguments,i=this,o=T,C){if(c===void 0)return v(o);if(f)return clearTimeout(c),c=setTimeout(w,a),m(o)}return c===void 0&&(c=setTimeout(w,a)),l}return D.cancel=A,D.flush=M,D}function arrayIncludesWith(e,a,n){for(var r=-1,i=e==null?0:e.length;++ra||s&&l&&o&&!c&&!d||r&&l&&o||!n&&o||!i)return 1;if(!r&&!s&&!d&&e=c)return o;var d=n[r];return o*(d=="desc"?-1:1)}}return e.index-a.index}function baseOrderBy(e,a,n){var r=-1;a=arrayMap(a.length?a:[identity$1],baseUnary(baseIteratee));var i=baseMap(e,function(s,l,c){var o=arrayMap(a,function(d){return d(s)});return{criteria:o,index:++r,value:s}});return baseSortBy(i,function(s,l){return compareMultiple(s,l,n)})}function orderBy(e,a,n,r){return e==null?[]:(isArray$2(a)||(a=a==null?[]:[a]),n=r?void 0:n,isArray$2(n)||(n=n==null?[]:[n]),baseOrderBy(e,a,n))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,a,n){var r=-1,i=arrayIncludes,s=e.length,l=!0,c=[],o=c;if(n)l=!1,i=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var d=a?null:createSet(e);if(d)return setToArray(d);l=!1,i=cacheHas,o=new SetCache}else o=a?[]:c;e:for(;++r{socket.on("show_artist",r=>{socket.off("show_artist"),a(r)})})}function standardizeData(e,a){if(e.hasLoaded){const{data:n}=e,r=[];for(const i of n){let s=a(i);r.push(s)}return{data:r,hasLoaded:e.hasLoaded}}else return null}var script$b=defineComponent({components:{BaseTabs,BaseTab},setup(e,a){const n=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>n.artistReleases[n.currentTab])}),r=computed(()=>a.root.$router.currentRoute.params.id),i=ref$2(!1);getArtistData(unref(r)).then(l=>{i.value=!0;const c={data:[l],hasLoaded:unref(i)},{data:[{artistName:o,artistPictureXL:d,artistReleases:u}]}=standardizeData(c,formatArtistData);Object.assign(n,{artistName:o,artistPicture:d,artistReleases:u,currentTab:Object.keys(u)[0]})}).catch(l=>console.error(l));const s=computed(()=>{if(!unref(i))return[];let l=n.sortKey;return l==="releaseTracksNumber"&&(l=c=>new Number(c.releaseTracksNumber)),orderBy(n.currentRelease,l,n.sortOrder)});return{...toRefs(n),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(r)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${n.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),a=this.$tc.bind(this);return{head:[{title:a("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:a("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative image-header"},[n("header",{staticClass:"flex items-center",style:e.headerStyle},[n("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(r){return r.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("BaseTabs",e._l(e.artistReleases,function(r,i){return n("BaseTab",{key:i,class:{active:e.currentTab===i},on:{click:function(s){e.currentTab=i}}},[e._v(` + Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),n("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_is_functional_template__$c=!1;function __vue_normalize__$c(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="InfoSpotifyFeatures.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var InfoSpotifyFeatures=__vue_normalize__$c({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var a=hasOwnProperty$2.call(e,symToStringTag),n=e[symToStringTag];try{e[symToStringTag]=void 0;var r=!0}catch(s){}var i=nativeObjectToString.call(e);return r&&(a?e[symToStringTag]=n:delete e[symToStringTag]),i}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,a){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,a){var n=typeof e;return a=a??MAX_SAFE_INTEGER,!!a&&(n=="number"||n!="symbol"&&reIsUint.test(e))&&(e>-1&&e%1==0)&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var a=e&&e.constructor,n=typeof a=="function"&&a.prototype||objectProto$3;return e===n}function baseTimes(e,a){for(var n=-1,r=Array(e);++n-1}function listCacheSet(e,a){var n=this.__data__,r=assocIndexOf(n,e);return r<0?(++this.size,n.push([e,a])):n[r][1]=a,this}function ListCache(e){var a=-1,n=e==null?0:e.length;for(this.clear();++ac))return!1;var d=s.get(e);if(d&&s.get(a))return d==a;var u=-1,f=!0,h=n&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,a),s.set(a,e);++u=a||C<0||f&&R>=s}function w(){var T=now();if(k(T))return x(T);c=setTimeout(w,y(T))}function x(T){return c=void 0,h&&r?m(T):(r=i=void 0,l)}function A(){c!==void 0&&clearTimeout(c),d=0,r=o=i=c=void 0}function M(){return c===void 0?l:x(now())}function D(){var T=now(),C=k(T);if(r=arguments,i=this,o=T,C){if(c===void 0)return v(o);if(f)return clearTimeout(c),c=setTimeout(w,a),m(o)}return c===void 0&&(c=setTimeout(w,a)),l}return D.cancel=A,D.flush=M,D}function arrayIncludesWith(e,a,n){for(var r=-1,i=e==null?0:e.length;++ra||s&&l&&o&&!c&&!d||r&&l&&o||!n&&o||!i)return 1;if(!r&&!s&&!d&&e=c)return o;var d=n[r];return o*(d=="desc"?-1:1)}}return e.index-a.index}function baseOrderBy(e,a,n){var r=-1;a=arrayMap(a.length?a:[identity$1],baseUnary(baseIteratee));var i=baseMap(e,function(s,l,c){var o=arrayMap(a,function(d){return d(s)});return{criteria:o,index:++r,value:s}});return baseSortBy(i,function(s,l){return compareMultiple(s,l,n)})}function orderBy(e,a,n,r){return e==null?[]:(isArray$2(a)||(a=a==null?[]:[a]),n=r?void 0:n,isArray$2(n)||(n=n==null?[]:[n]),baseOrderBy(e,a,n))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,a,n){var r=-1,i=arrayIncludes,s=e.length,l=!0,c=[],o=c;if(n)l=!1,i=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var d=a?null:createSet(e);if(d)return setToArray(d);l=!1,i=cacheHas,o=new SetCache}else o=a?[]:c;e:for(;++r{socket.on("show_artist",r=>{socket.off("show_artist"),a(r)})})}function standardizeData(e,a){if(e.hasLoaded){const{data:n}=e,r=[];for(const i of n){let s=a(i);r.push(s)}return{data:r,hasLoaded:e.hasLoaded}}else return null}var script$b=defineComponent({components:{BaseTabs,BaseTab},setup(e,a){const n=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>n.artistReleases[n.currentTab])}),r=computed(()=>a.root.$router.currentRoute.params.id),i=ref$2(!1);getArtistData(unref(r)).then(l=>{i.value=!0;const c={data:[l],hasLoaded:unref(i)},{data:[{artistName:o,artistPictureXL:d,artistReleases:u}]}=standardizeData(c,formatArtistData);Object.assign(n,{artistName:o,artistPicture:d,artistReleases:u,currentTab:Object.keys(u)[0]})}).catch(l=>console.error(l));const s=computed(()=>{if(!unref(i))return[];let l=n.sortKey;return l==="releaseTracksNumber"&&(l=c=>new Number(c.releaseTracksNumber)),orderBy(n.currentRelease,l,n.sortOrder)});return{...toRefs(n),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(r)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${n.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),a=this.$tc.bind(this);return{head:[{title:a("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:a("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative image-header"},[n("header",{staticClass:"flex items-center",style:e.headerStyle},[n("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(r){return r.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("BaseTabs",e._l(e.artistReleases,function(r,i){return n("BaseTab",{key:i,class:{active:e.currentTab===i},on:{click:function(s){e.currentTab=i}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+i,2))+` `)])}),1),e._v(" "),n("table",{staticClass:"table"},[n("thead",[n("tr",e._l(e.head,function(r){return n("th",{key:r.title,staticClass:"uppercase-first-letter",class:{"sort-asc":r.sortKey===e.sortKey&&e.sortOrder=="asc","sort-desc":r.sortKey===e.sortKey&&e.sortOrder=="desc",sortable:r.sortKey,clickable:r.sortKey},style:{width:r.width?r.width:"auto"},on:{click:function(i){r.sortKey&&e.sortBy(r.sortKey)}}},[e._v(` `+e._s(r.title)+` @@ -3040,7 +3040,7 @@ PERFORMANCE OF THIS SOFTWARE. `+e._s(e.$t("globals.by",{artist:r.artistName})+" - "+e.$tc("globals.listTabs.trackN",r.playlistTracksNumber))+` `)])],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_is_functional_template__$p=!1;function __vue_normalize__$p(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsPlaylists.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsPlaylists=__vue_normalize__$p({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p),script$o={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){let e=!!this.viewInfo;if(!e)return!1;let a=this.viewInfo.ORDER.every(n=>n==="TOP_RESULT"?this.viewInfo[n].length===0:this.viewInfo[n].data.length===0);return!a}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(r){return n("section",{key:r,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(r)?[n("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":r==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":r!=="TOP_RESULT"},on:{click:function(i){return e.$emit("change-search-tab",r)}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+r.toLowerCase(),2))+` - `)]),e._v(" "),r==="TOP_RESULT"?n("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r==="TRACK"?n("ResultsTracks",{attrs:{viewInfo:e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r=="ALBUM"?n("ResultsAlbums",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r=="PLAYLIST"?n("ResultsPlaylists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r==="ARTIST"?n("ResultsArtists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ARTIST,e.formatArtist),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):e._e()]:e._e()],2)}):n("div",[n("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)},__vue_staticRenderFns__$q=[];const __vue_inject_styles__$q=void 0,__vue_scope_id__$q=void 0,__vue_is_functional_template__$q=!1;function __vue_normalize__$q(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsAll.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsAll=__vue_normalize__$q({render:__vue_render__$q,staticRenderFns:__vue_staticRenderFns__$q},__vue_inject_styles__$q,__vue_script__$o,__vue_scope_id__$q,__vue_is_functional_template__$q);const searchResult=ref$2({});function performMainSearch(e){get("mainSearch",{term:e}).then(a=>{searchResult.value=a})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:r=30}){get("search",{term:e,type:a,start:n,nb:r}).then(i=>{result.value=i})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:r,performMainSearch:i}=useMainSearch(),{result:s,performSearch:l}=useSearch(),c=computed(()=>a.root.$route.query.term),o=computed(()=>n.results.query===""),d=ref$2(!1),u=computed(()=>Object.keys(r.value).length!==0),f=computed(()=>r.value.QUERY!==c.value);u.value&&!f.value&&onMounted(()=>{h(r.value)}),c.value&&(!u.value||f.value)&&(i(c.value),d.value=!0);function h(m){d.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,l({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(r,h),watch(s,m=>{const{next:v,total:y,type:k,data:w}=m,x=`${k}Tab`;let A=y;if(v&&(A=parseInt(v.match(/index=(\d*)/)[1])),n.results[x].total!==y&&(n.results[x].total=y),n.results[x].next!==A){n.results[x].next=A;const M=n.results[x].data.concat(w),D=uniqWith(M,(T,C)=>T.id===C.id);n.results[x].data=D}n.results[x].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:d,isQueryEmpty:o,searchResult:r,performMainSearch:i,performSearch:l}},computed:{loadedTabs(){const e=[];for(const a in this.results)if(this.results.hasOwnProperty(a)&&a!=="query"){const n=this.results[a];n.hasLoaded&&e.push(a.replace(/Tab/g,""))}return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`,a=this.results[e].next{searchResult.value=a})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:r=30}){fetchApi("search",{term:e,type:a,start:n,nb:r}).then(i=>{result.value=i})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:r,performMainSearch:i}=useMainSearch(),{result:s,performSearch:l}=useSearch(),c=computed(()=>a.root.$route.query.term),o=computed(()=>n.results.query===""),d=ref$2(!1),u=computed(()=>Object.keys(r.value).length!==0),f=computed(()=>r.value.QUERY!==c.value);u.value&&!f.value&&onMounted(()=>{h(r.value)}),c.value&&(!u.value||f.value)&&(i(c.value),d.value=!0);function h(m){d.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,l({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(r,h),watch(s,m=>{const{next:v,total:y,type:k,data:w}=m,x=`${k}Tab`;let A=y;if(v&&(A=parseInt(v.match(/index=(\d*)/)[1])),n.results[x].total!==y&&(n.results[x].total=y),n.results[x].next!==A){n.results[x].next=A;const M=n.results[x].data.concat(w),D=uniqWith(M,(T,C)=>T.id===C.id);n.results[x].data=D}n.results[x].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:d,isQueryEmpty:o,searchResult:r,performMainSearch:i,performSearch:l}},computed:{loadedTabs(){const e=[];for(const a in this.results)if(this.results.hasOwnProperty(a)&&a!=="query"){const n=this.results[a];n.hasLoaded&&e.push(a.replace(/Tab/g,""))}return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`,a=this.results[e].next @@ -4827,5 +4827,5 @@ PERFORMANCE OF THIS SOFTWARE. `)]),e._v(" "),n("td",[e._v(e._s(r.artists[0].name))]),e._v(" "),n("td",[e._v(e._s(r.album.name))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(Math.floor(r.duration_ms/1e3))))]),e._v(" "),n("td",[n("input",{directives:[{name:"model",rawName:"v-model",value:r.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(r.selected)?e._i(r.selected,null)>-1:r.selected},on:{change:function(s){var l=r.selected,c=s.target,o=!!c.checked;if(Array.isArray(l)){var d=null,u=e._i(l,d);c.checked?u<0&&e.$set(r,"selected",l.concat([d])):u>-1&&e.$set(r,"selected",l.slice(0,u).concat(l.slice(u+1)))}else e.$set(r,"selected",o)}}})])])})],2)]),e._v(" "),e.label?n("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` `+e._s(""+e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.type,1)}))+` `)]),e._v(" "),n("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` - `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_is_functional_template__$v=!1;function __vue_normalize__$v(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Tracklist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Tracklist=__vue_normalize__$v({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let r=null;switch(e.name){case"Tracklist":r={type:e.params.type,id:e.params.id};break;case"Album":r={type:"album",id:e.params.id};break;case"Playlist":r={type:"playlist",id:e.params.id};break;case"Spotify Playlist":r={type:"spotifyplaylist",id:e.params.id};break}r&&socket.emit("getTracklist",r),n()});function startApp(){new Vue({store,router,i18n,render:e=>e(App)}).$mount("#app"),fetch("connect").then(e=>e.json()).then(e=>{if(store.dispatch("setAppInfo",e.update),e.autologin){console.log("Autologin");let a=localStorage.getItem("arl"),n=localStorage.getItem("accountNum");if(a){a=a.trim();let r;n!=0?r=get("login",{arl:a,force:!0,child:n||0}):r=get("login",{arl:a}),r.then(loggedIn)}}})}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` + `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_is_functional_template__$v=!1;function __vue_normalize__$v(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Tracklist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Tracklist=__vue_normalize__$v({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let r=null;switch(e.name){case"Tracklist":r={type:e.params.type,id:e.params.id};break;case"Album":r={type:"album",id:e.params.id};break;case"Playlist":r={type:"playlist",id:e.params.id};break;case"Spotify Playlist":r={type:"spotifyplaylist",id:e.params.id};break}r&&socket.emit("getTracklist",r),n()});async function startApp(){new Vue({store,router,i18n,render:a=>a(App)}).$mount("#app");const e=await(await fetch("connect")).json();if(store.dispatch("setAppInfo",e.update),e.autologin){console.info("Autologin successful");let a=localStorage.getItem("arl");const n=localStorage.getItem("accountNum");if(a){a=a.trim();let r;n!==0?r=fetchApi("login",{arl:a,force:!0,child:n||0}):r=fetchApi("login",{arl:a}),r.then(loggedIn)}}}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` `)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); diff --git a/src/app.js b/src/app.js index 1825583..a26873a 100644 --- a/src/app.js +++ b/src/app.js @@ -19,13 +19,13 @@ import router from '@/router' import store from '@/store' import { socket } from '@/utils/socket' -import { get } from '@/utils/api' +import { fetchApi } from '@/utils/api' import { toast } from '@/utils/toasts' import { isValidURL } from '@/utils/utils' import { sendAddToQueue } from '@/utils/downloads' /* ===== App initialization ===== */ -function startApp() { +async function startApp() { new Vue({ store, router, @@ -33,29 +33,28 @@ function startApp() { render: h => h(App) }).$mount('#app') - fetch('connect') - .then(response => response.json()) - .then(data => { - store.dispatch('setAppInfo', data.update) + const connectResponse = await (await fetch('connect')).json() - if (data.autologin) { - console.log('Autologin') - let arl = localStorage.getItem('arl') - let accountNum = localStorage.getItem('accountNum') + store.dispatch('setAppInfo', connectResponse.update) - if (arl) { - arl = arl.trim() - let result + if (connectResponse.autologin) { + console.info('Autologin successful') + let arl = localStorage.getItem('arl') + const accountNum = localStorage.getItem('accountNum') - if (accountNum != 0) { - result = get('login', { arl: arl, force: true, child: accountNum || 0 }) - } else { - result = get('login', { arl }) - } - result.then(loggedIn) - } + if (arl) { + arl = arl.trim() + let result + + if (accountNum !== 0) { + result = fetchApi('login', { arl, force: true, child: accountNum || 0 }) + } else { + result = fetchApi('login', { arl }) } - }) + + result.then(loggedIn) + } + } } function initClient() { diff --git a/src/use/main-search.js b/src/use/main-search.js index e10d076..a850b70 100644 --- a/src/use/main-search.js +++ b/src/use/main-search.js @@ -1,11 +1,10 @@ import { ref } from '@vue/composition-api' -import { get } from '@/utils/api' +import { fetchApi } from '@/utils/api' const searchResult = ref({}) function performMainSearch(searchTerm) { - get('mainSearch', { term: searchTerm }) - .then(data => { + fetchApi('mainSearch', { term: searchTerm }).then(data => { searchResult.value = data }) } diff --git a/src/use/search.js b/src/use/search.js index 299dfa6..7cdef54 100644 --- a/src/use/search.js +++ b/src/use/search.js @@ -1,10 +1,10 @@ import { ref } from '@vue/composition-api' -import { get } from '@/utils/api' +import { fetchApi } from '@/utils/api' const result = ref({}) function performSearch({ term, type, start = 0, nb = 30 }) { - get('search', { + fetchApi('search', { term, type, start, diff --git a/src/utils/api.js b/src/utils/api.js index 22ba66d..7e537e0 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -1,10 +1,9 @@ -export const get = function(key, data){ - let url = `/api/${key}` - if (data){ - let query = Object.keys(data) - .map(k => encodeURIComponent(k) + '=' + encodeURIComponent(data[k])) - .join('&') - url += '?'+query - } - return fetch(url).then(response => response.json()) +export function fetchApi(key, data) { + const url = new URL(`${window.location.origin}/api/${key}`) + + Object.keys(data).forEach(key => { + url.searchParams.append(key, data[key]) + }) + + return fetch(url.href).then(response => response.json()) } diff --git a/src/utils/downloads.js b/src/utils/downloads.js index f6216fe..c74a98a 100644 --- a/src/utils/downloads.js +++ b/src/utils/downloads.js @@ -1,4 +1,4 @@ -import { get } from '@/utils/api' +import { fetchApi } from '@/utils/api' /** * @param {string} url @@ -7,7 +7,7 @@ import { get } from '@/utils/api' export function sendAddToQueue(url, bitrate = null) { if (!url) throw new Error('No URL given to sendAddToQueue function!') - get('addToQueue', { url, bitrate }) + fetchApi('addToQueue', { url, bitrate }) } export function aggregateDownloadLinks(releases) { From 079fd8ad64eee481543a7b68e05853db44341a81 Mon Sep 17 00:00:00 2001 From: Roberto Tonino Date: Mon, 1 Mar 2021 22:32:35 +0100 Subject: [PATCH 07/17] feat: fetching home data with rest APIs; refactor: renamed fetch functions --- public/js/bundle.js | 14 +++++++------- src/app.js | 9 +++++---- src/data/home.js | 17 ++++++----------- src/use/main-search.js | 4 ++-- src/use/search.js | 4 ++-- src/utils/api.js | 12 +++++++++++- src/utils/downloads.js | 6 +++--- 7 files changed, 36 insertions(+), 30 deletions(-) diff --git a/public/js/bundle.js b/public/js/bundle.js index 8f2ec1e..16641e0 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -2,9 +2,9 @@ * Vue.js v2.6.12 * (c) 2014-2020 Evan You * Released under the MIT License. - */var emptyObject=Object.freeze({});function isUndef(e){return e==null}function isDef(e){return e!=null}function isTrue(e){return e===!0}function isFalse(e){return e===!1}function isPrimitive(e){return typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="boolean"}function isObject(e){return e!==null&&typeof e=="object"}var _toString=Object.prototype.toString;function toRawType(e){return _toString.call(e).slice(8,-1)}function isPlainObject(e){return _toString.call(e)==="[object Object]"}function isRegExp(e){return _toString.call(e)==="[object RegExp]"}function isValidArrayIndex(e){var a=parseFloat(String(e));return a>=0&&Math.floor(a)===a&&isFinite(e)}function isPromise(e){return isDef(e)&&typeof e.then=="function"&&typeof e.catch=="function"}function toString(e){return e==null?"":Array.isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function toNumber(e){var a=parseFloat(e);return isNaN(a)?e:a}function makeMap(e,a){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,a){return hasOwnProperty.call(e,a)}function cached(e){var a=Object.create(null);return function(r){var i=a[r];return i||(a[r]=e(r))}}var camelizeRE=/-(\w)/g,camelize=cached(function(e){return e.replace(camelizeRE,function(a,n){return n?n.toUpperCase():""})}),capitalize=cached(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(function(e){return e.replace(hyphenateRE,"-$1").toLowerCase()});function polyfillBind(e,a){function n(r){var i=arguments.length;return i?i>1?e.apply(a,arguments):e.call(a,r):e.call(a)}return n._length=e.length,n}function nativeBind(e,a){return e.bind(a)}var bind=Function.prototype.bind?nativeBind:polyfillBind;function toArray(e,a){a=a||0;for(var n=e.length-a,r=new Array(n);n--;)r[n]=e[n+a];return r}function extend(e,a){for(var n in a)e[n]=a[n];return e}function toObject(e){for(var a={},n=0;n0,isEdge=UA&&UA.indexOf("edge/")>0,isAndroid=UA&&UA.indexOf("android")>0||weexPlatform==="android",isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==="ios",isChrome=UA&&/chrome\/\d+/.test(UA)&&!isEdge,isPhantomJS=UA&&/phantomjs/.test(UA),isFF=UA&&UA.match(/firefox\/(\d+)/),nativeWatch={}.watch,supportsPassive=!1;if(inBrowser)try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener("test-passive",null,opts)}catch(e){}var _isServer,isServerRendering=function(){return _isServer===void 0&&(!inBrowser&&!inWeex&&typeof global!="undefined"?_isServer=global.process&&global.process.env.VUE_ENV==="server":_isServer=!1),_isServer},devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function isNative(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol=typeof Symbol!="undefined"&&isNative(Symbol)&&typeof Reflect!="undefined"&&isNative(Reflect.ownKeys),_Set;typeof Set!="undefined"&&isNative(Set)?_Set=Set:_Set=function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(n){return this.set[n]===!0},e.prototype.add=function(n){this.set[n]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var warn=noop,uid=0,Dep=function(){this.id=uid++,this.subs=[]};Dep.prototype.addSub=function(a){this.subs.push(a)},Dep.prototype.removeSub=function(a){remove(this.subs,a)},Dep.prototype.depend=function(){Dep.target&&Dep.target.addDep(this)},Dep.prototype.notify=function(){for(var a=this.subs.slice(),n=0,r=a.length;n-1){if(s&&!hasOwn(i,"default"))l=!1;else if(l===""||l===hyphenate(e)){var o=getTypeIndex(String,i.type);(o<0||c0&&(i=normalizeArrayChildren(i,(a||"")+"_"+r),isTextNode(i[0])&&isTextNode(l)&&(n[s]=createTextVNode(l.text+i[0].text),i.shift()),n.push.apply(n,i)):isPrimitive(i)?isTextNode(l)?n[s]=createTextVNode(l.text+i):i!==""&&n.push(createTextVNode(i)):isTextNode(i)&&isTextNode(l)?n[s]=createTextVNode(l.text+i.text):(isTrue(e._isVList)&&isDef(i.tag)&&isUndef(i.key)&&isDef(a)&&(i.key="__vlist"+a+"_"+r+"__"),n.push(i))}return n}function initProvide(e){var a=e.$options.provide;a&&(e._provided=typeof a=="function"?a.call(e):a)}function initInjections(e){var a=resolveInject(e.$options.inject,e);a&&(toggleObserving(!1),Object.keys(a).forEach(function(n){defineReactive$$1(e,n,a[n])}),toggleObserving(!0))}function resolveInject(e,a){if(e){for(var n=Object.create(null),r=hasSymbol?Reflect.ownKeys(e):Object.keys(e),i=0;i0,s=e?!!e.$stable:!i,l=e&&e.$key;if(!e)r={};else{if(e._normalized)return e._normalized;if(s&&n&&n!==emptyObject&&l===n.$key&&!i&&!n.$hasNormal)return n;r={};for(var c in e)e[c]&&c[0]!=="$"&&(r[c]=normalizeScopedSlot(a,c,e[c]))}for(var o in a)o in r||(r[o]=proxyNormalSlot(a,o));return e&&Object.isExtensible(e)&&(e._normalized=r),def(r,"$stable",s),def(r,"$key",l),def(r,"$hasNormal",i),r}function normalizeScopedSlot(e,a,n){var r=function(){var i=arguments.length?n.apply(null,arguments):n({});return i=i&&typeof i=="object"&&!Array.isArray(i)?[i]:normalizeChildren(i),i&&(i.length===0||i.length===1&&i[0].isComment)?void 0:i};return n.proxy&&Object.defineProperty(e,a,{get:r,enumerable:!0,configurable:!0}),r}function proxyNormalSlot(e,a){return function(){return e[a]}}function renderList(e,a){var n,r,i,s,l;if(Array.isArray(e)||typeof e=="string")for(n=new Array(e.length),r=0,i=e.length;r1?toArray(i):i;for(var s=toArray(arguments,1),l='event handler for "'+n+'"',c=0,o=i.length;cdocument.createEvent("Event").timeStamp&&(getNow=function(){return performance.now()})}function flushSchedulerQueue(){currentFlushTimestamp=getNow(),flushing=!0;var e,a;for(queue.sort(function(i,s){return i.id-s.id}),index=0;indexindex&&queue[n].id>e.id;)n--;queue.splice(n+1,0,e)}waiting||(waiting=!0,nextTick(flushSchedulerQueue))}}var uid$2=0,Watcher=function(a,n,r,i,s){this.vm=a,s&&(a._watcher=this),a._watchers.push(this),i?(this.deep=!!i.deep,this.user=!!i.user,this.lazy=!!i.lazy,this.sync=!!i.sync,this.before=i.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++uid$2,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new _Set,this.newDepIds=new _Set,this.expression="",typeof n=="function"?this.getter=n:(this.getter=parsePath(n),this.getter||(this.getter=noop)),this.value=this.lazy?void 0:this.get()};Watcher.prototype.get=function(){pushTarget(this);var a,n=this.vm;try{a=this.getter.call(n,n)}catch(r){if(this.user)handleError(r,n,'getter for watcher "'+this.expression+'"');else throw r}finally{this.deep&&traverse(a),popTarget(),this.cleanupDeps()}return a},Watcher.prototype.addDep=function(a){var n=a.id;this.newDepIds.has(n)||(this.newDepIds.add(n),this.newDeps.push(a),this.depIds.has(n)||a.addSub(this))},Watcher.prototype.cleanupDeps=function(){for(var a=this.deps.length;a--;){var n=this.deps[a];this.newDepIds.has(n.id)||n.removeSub(this)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Watcher.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():queueWatcher(this)},Watcher.prototype.run=function(){if(this.active){var a=this.get();if(a!==this.value||isObject(a)||this.deep){var n=this.value;if(this.value=a,this.user)try{this.cb.call(this.vm,a,n)}catch(r){handleError(r,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,a,n)}}},Watcher.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Watcher.prototype.depend=function(){for(var a=this.deps.length;a--;)this.deps[a].depend()},Watcher.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||remove(this.vm._watchers,this);for(var a=this.deps.length;a--;)this.deps[a].removeSub(this);this.active=!1}};var sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop,set:noop};function proxy(e,a,n){sharedPropertyDefinition.get=function(){return this[a][n]},sharedPropertyDefinition.set=function(i){this[a][n]=i},Object.defineProperty(e,n,sharedPropertyDefinition)}function initState(e){e._watchers=[];var a=e.$options;a.props&&initProps(e,a.props),a.methods&&initMethods(e,a.methods),a.data?initData(e):observe(e._data={},!0),a.computed&&initComputed(e,a.computed),a.watch&&a.watch!==nativeWatch&&initWatch(e,a.watch)}function initProps(e,a){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],s=!e.$parent;s||toggleObserving(!1);var l=function(o){i.push(o);var d=validateProp(o,a,n,e);defineReactive$$1(r,o,d),o in e||proxy(e,"_props",o)};for(var c in a)l(c);toggleObserving(!0)}function initData(e){var a=e.$options.data;a=e._data=typeof a=="function"?getData(a,e):a||{},isPlainObject(a)||(a={});for(var n=Object.keys(a),r=e.$options.props,i=e.$options.methods,s=n.length;s--;){var l=n[s];r&&hasOwn(r,l)||(isReserved(l)||proxy(e,"_data",l))}observe(a,!0)}function getData(e,a){pushTarget();try{return e.call(a,a)}catch(n){return handleError(n,a,"data()"),{}}finally{popTarget()}}var computedWatcherOptions={lazy:!0};function initComputed(e,a){var n=e._computedWatchers=Object.create(null),r=isServerRendering();for(var i in a){var s=a[i],l=typeof s=="function"?s:s.get;r||(n[i]=new Watcher(e,l||noop,noop,computedWatcherOptions)),i in e||defineComputed(e,i,s)}}function defineComputed(e,a,n){var r=!isServerRendering();typeof n=="function"?(sharedPropertyDefinition.get=r?createComputedGetter(a):createGetterInvoker(n),sharedPropertyDefinition.set=noop):(sharedPropertyDefinition.get=n.get?r&&n.cache!==!1?createComputedGetter(a):createGetterInvoker(n.get):noop,sharedPropertyDefinition.set=n.set||noop),Object.defineProperty(e,a,sharedPropertyDefinition)}function createComputedGetter(e){return function(){var n=this._computedWatchers&&this._computedWatchers[e];if(n)return n.dirty&&n.evaluate(),Dep.target&&n.depend(),n.value}}function createGetterInvoker(e){return function(){return e.call(this,this)}}function initMethods(e,a){var n=e.$options.props;for(var r in a)e[r]=typeof a[r]!="function"?noop:bind(a[r],e)}function initWatch(e,a){for(var n in a){var r=a[n];if(Array.isArray(r))for(var i=0;i-1)return this;var r=toArray(arguments,1);return r.unshift(this),typeof a.install=="function"?a.install.apply(a,r):typeof a=="function"&&a.apply(null,r),n.push(a),this}}function initMixin$1(e){e.mixin=function(a){return this.options=mergeOptions(this.options,a),this}}function initExtend(e){e.cid=0;var a=1;e.extend=function(n){n=n||{};var r=this,i=r.cid,s=n._Ctor||(n._Ctor={});if(s[i])return s[i];var l=n.name||r.options.name,c=function(d){this._init(d)};return c.prototype=Object.create(r.prototype),c.prototype.constructor=c,c.cid=a++,c.options=mergeOptions(r.options,n),c.super=r,c.options.props&&initProps$1(c),c.options.computed&&initComputed$1(c),c.extend=r.extend,c.mixin=r.mixin,c.use=r.use,ASSET_TYPES.forEach(function(o){c[o]=r[o]}),l&&(c.options.components[l]=c),c.superOptions=r.options,c.extendOptions=n,c.sealedOptions=extend({},c.options),s[i]=c,c}}function initProps$1(e){var a=e.options.props;for(var n in a)proxy(e.prototype,"_props",n)}function initComputed$1(e){var a=e.options.computed;for(var n in a)defineComputed(e.prototype,n,a[n])}function initAssetRegisters(e){ASSET_TYPES.forEach(function(a){e[a]=function(n,r){return r?(a==="component"&&isPlainObject(r)&&(r.name=r.name||n,r=this.options._base.extend(r)),a==="directive"&&typeof r=="function"&&(r={bind:r,update:r}),this.options[a+"s"][n]=r,r):this.options[a+"s"][n]}})}function getComponentName(e){return e&&(e.Ctor.options.name||e.tag)}function matches(e,a){return Array.isArray(e)?e.indexOf(a)>-1:typeof e=="string"?e.split(",").indexOf(a)>-1:isRegExp(e)?e.test(a):!1}function pruneCache(e,a){var n=e.cache,r=e.keys,i=e._vnode;for(var s in n){var l=n[s];if(l){var c=getComponentName(l.componentOptions);c&&!a(c)&&pruneCacheEntry(n,s,r,i)}}}function pruneCacheEntry(e,a,n,r){var i=e[a];i&&(!r||i.tag!==r.tag)&&i.componentInstance.$destroy(),e[a]=null,remove(n,a)}var patternTypes=[String,RegExp,Array],KeepAlive={name:"keep-alive",abstract:!0,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var a in this.cache)pruneCacheEntry(this.cache,a,this.keys)},mounted:function(){var a=this;this.$watch("include",function(n){pruneCache(a,function(r){return matches(n,r)})}),this.$watch("exclude",function(n){pruneCache(a,function(r){return!matches(n,r)})})},render:function(){var a=this.$slots.default,n=getFirstComponentChild(a),r=n&&n.componentOptions;if(r){var i=getComponentName(r),s=this,l=s.include,c=s.exclude;if(l&&(!i||!matches(l,i))||c&&i&&matches(c,i))return n;var o=this,d=o.cache,u=o.keys,f=n.key==null?r.Ctor.cid+(r.tag?"::"+r.tag:""):n.key;d[f]?(n.componentInstance=d[f].componentInstance,remove(u,f),u.push(f)):(d[f]=n,u.push(f),this.max&&u.length>parseInt(this.max)&&pruneCacheEntry(d,u[0],u,this._vnode)),n.data.keepAlive=!0}return n||a&&a[0]}},builtInComponents={KeepAlive};function initGlobalAPI(e){var a={};a.get=function(){return config},Object.defineProperty(e,"config",a),e.util={warn,extend,mergeOptions,defineReactive:defineReactive$$1},e.set=set,e.delete=del,e.nextTick=nextTick,e.observable=function(n){return observe(n),n},e.options=Object.create(null),ASSET_TYPES.forEach(function(n){e.options[n+"s"]=Object.create(null)}),e.options._base=e,extend(e.options.components,builtInComponents),initUse(e),initMixin$1(e),initExtend(e),initAssetRegisters(e)}initGlobalAPI(Vue),Object.defineProperty(Vue.prototype,"$isServer",{get:isServerRendering}),Object.defineProperty(Vue.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vue,"FunctionalRenderContext",{value:FunctionalRenderContext}),Vue.version="2.6.12";var isReservedAttr=makeMap("style,class"),acceptValue=makeMap("input,textarea,option,select,progress"),mustUseProp=function(e,a,n){return n==="value"&&acceptValue(e)&&a!=="button"||n==="selected"&&e==="option"||n==="checked"&&e==="input"||n==="muted"&&e==="video"},isEnumeratedAttr=makeMap("contenteditable,draggable,spellcheck"),isValidContentEditableValue=makeMap("events,caret,typing,plaintext-only"),convertEnumeratedValue=function(e,a){return isFalsyAttrValue(a)||a==="false"?"false":e==="contenteditable"&&isValidContentEditableValue(a)?a:"true"},isBooleanAttr=makeMap("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),xlinkNS="http://www.w3.org/1999/xlink",isXlink=function(e){return e.charAt(5)===":"&&e.slice(0,5)==="xlink"},getXlinkProp=function(e){return isXlink(e)?e.slice(6,e.length):""},isFalsyAttrValue=function(e){return e==null||e===!1};function genClassForVnode(e){for(var a=e.data,n=e,r=e;isDef(r.componentInstance);)r=r.componentInstance._vnode,r&&r.data&&(a=mergeClassData(r.data,a));for(;isDef(n=n.parent);)n&&n.data&&(a=mergeClassData(a,n.data));return renderClass(a.staticClass,a.class)}function mergeClassData(e,a){return{staticClass:concat(e.staticClass,a.staticClass),class:isDef(e.class)?[e.class,a.class]:a.class}}function renderClass(e,a){return isDef(e)||isDef(a)?concat(e,stringifyClass(a)):""}function concat(e,a){return e?a?e+" "+a:e:a||""}function stringifyClass(e){return Array.isArray(e)?stringifyArray(e):isObject(e)?stringifyObject(e):typeof e=="string"?e:""}function stringifyArray(e){for(var a="",n,r=0,i=e.length;r-1?unknownElementCache[e]=a.constructor===window.HTMLUnknownElement||a.constructor===window.HTMLElement:unknownElementCache[e]=/HTMLUnknownElement/.test(a.toString())}var isTextInputType=makeMap("text,number,password,search,email,tel,url");function query(e){if(typeof e=="string"){var a=document.querySelector(e);return a||document.createElement("div")}else return e}function createElement$1(e,a){var n=document.createElement(e);return e!=="select"||a.data&&a.data.attrs&&a.data.attrs.multiple!==void 0&&n.setAttribute("multiple","multiple"),n}function createElementNS(e,a){return document.createElementNS(namespaceMap[e],a)}function createTextNode(e){return document.createTextNode(e)}function createComment(e){return document.createComment(e)}function insertBefore(e,a,n){e.insertBefore(a,n)}function removeChild(e,a){e.removeChild(a)}function appendChild(e,a){e.appendChild(a)}function parentNode(e){return e.parentNode}function nextSibling(e){return e.nextSibling}function tagName(e){return e.tagName}function setTextContent(e,a){e.textContent=a}function setStyleScope(e,a){e.setAttribute(a,"")}var nodeOps=Object.freeze({createElement:createElement$1,createElementNS,createTextNode,createComment,insertBefore,removeChild,appendChild,parentNode,nextSibling,tagName,setTextContent,setStyleScope}),ref={create:function(a,n){registerRef(n)},update:function(a,n){a.data.ref!==n.data.ref&&(registerRef(a,!0),registerRef(n))},destroy:function(a){registerRef(a,!0)}};function registerRef(e,a){var n=e.data.ref;if(!isDef(n))return;var r=e.context,i=e.componentInstance||e.elm,s=r.$refs;a?Array.isArray(s[n])?remove(s[n],i):s[n]===i&&(s[n]=void 0):e.data.refInFor?Array.isArray(s[n])?s[n].indexOf(i)<0&&s[n].push(i):s[n]=[i]:s[n]=i}var emptyNode=new VNode("",{},[]),hooks=["create","activate","update","remove","destroy"];function sameVnode(e,a){return e.key===a.key&&(e.tag===a.tag&&e.isComment===a.isComment&&isDef(e.data)===isDef(a.data)&&sameInputType(e,a)||isTrue(e.isAsyncPlaceholder)&&e.asyncFactory===a.asyncFactory&&isUndef(a.asyncFactory.error))}function sameInputType(e,a){if(e.tag!=="input")return!0;var n,r=isDef(n=e.data)&&isDef(n=n.attrs)&&n.type,i=isDef(n=a.data)&&isDef(n=n.attrs)&&n.type;return r===i||isTextInputType(r)&&isTextInputType(i)}function createKeyToOldIdx(e,a,n){var r,i,s={};for(r=a;r<=n;++r)i=e[r].key,isDef(i)&&(s[i]=r);return s}function createPatchFunction(e){var a,n,r={},i=e.modules,s=e.nodeOps;for(a=0;a$?(W=isUndef(_[j+1])?null:_[j+1].elm,x(g,W,_,F,j,S)):F>j&&M(b,P,$)}function C(g,b,_,S){for(var z=_;z-1?baseSetAttr(e,a,n):isBooleanAttr(a)?isFalsyAttrValue(n)?e.removeAttribute(a):(n=a==="allowfullscreen"&&e.tagName==="EMBED"?"true":a,e.setAttribute(a,n)):isEnumeratedAttr(a)?e.setAttribute(a,convertEnumeratedValue(a,n)):isXlink(a)?isFalsyAttrValue(n)?e.removeAttributeNS(xlinkNS,getXlinkProp(a)):e.setAttributeNS(xlinkNS,a,n):baseSetAttr(e,a,n)}function baseSetAttr(e,a,n){if(isFalsyAttrValue(n))e.removeAttribute(a);else{if(isIE&&!isIE9&&e.tagName==="TEXTAREA"&&a==="placeholder"&&n!==""&&!e.__ieph){var r=function(i){i.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(a,n)}}var attrs={create:updateAttrs,update:updateAttrs};function updateClass(e,a){var n=a.elm,r=a.data,i=e.data;if(isUndef(r.staticClass)&&isUndef(r.class)&&(isUndef(i)||isUndef(i.staticClass)&&isUndef(i.class)))return;var s=genClassForVnode(a),l=n._transitionClasses;isDef(l)&&(s=concat(s,stringifyClass(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}var klass={create:updateClass,update:updateClass},validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){var a=!1,n=!1,r=!1,i=!1,s=0,l=0,c=0,o=0,d,u,f,h,m;for(f=0;f=0&&!(y=e.charAt(v),y!==" ");v--);(!y||!validDivisionCharRE.test(y))&&(i=!0)}}h===void 0?h=e.slice(0,f).trim():o!==0&&k();function k(){(m||(m=[])).push(e.slice(o,f).trim()),o=f+1}if(m)for(f=0;f-1?{exp:e.slice(0,index$1),key:'"'+e.slice(index$1+1)+'"'}:{exp:e,key:null};for(str=e,index$1=expressionPos=expressionEndPos=0;!eof();)chr=next(),isStringStart(chr)?parseString(chr):chr===91&&parseBracket(chr);return{exp:e.slice(0,expressionPos),key:e.slice(expressionPos+1,expressionEndPos)}}function next(){return str.charCodeAt(++index$1)}function eof(){return index$1>=len}function isStringStart(e){return e===34||e===39}function parseBracket(e){var a=1;for(expressionPos=index$1;!eof();){if(e=next(),isStringStart(e)){parseString(e);continue}if(e===91&&a++,e===93&&a--,a===0){expressionEndPos=index$1;break}}}function parseString(e){for(var a=e;!eof()&&!(e=next(),e===a););}var RANGE_TOKEN="__r",CHECKBOX_RADIO_TOKEN="__c";function model(e,a,n){var r=a.value,i=a.modifiers,s=e.tag,l=e.attrsMap.type;if(e.component)return genComponentModel(e,r,i),!1;if(s==="select")genSelect(e,r,i);else if(s==="input"&&l==="checkbox")genCheckboxModel(e,r,i);else if(s==="input"&&l==="radio")genRadioModel(e,r,i);else if(s==="input"||s==="textarea")genDefaultModel(e,r,i);else if(!config.isReservedTag(s))return genComponentModel(e,r,i),!1;return!0}function genCheckboxModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null",s=getBindingAttr(e,"true-value")||"true",l=getBindingAttr(e,"false-value")||"false";addProp(e,"checked","Array.isArray("+a+")?_i("+a+","+i+")>-1"+(s==="true"?":("+a+")":":_q("+a+","+s+")")),addHandler(e,"change","var $$a="+a+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+l+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+genAssignmentCode(a,"$$a.concat([$$v])")+")}else{$$i>-1&&("+genAssignmentCode(a,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+genAssignmentCode(a,"$$c")+"}",null,!0)}function genRadioModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null";i=r?"_n("+i+")":i,addProp(e,"checked","_q("+a+","+i+")"),addHandler(e,"change",genAssignmentCode(a,i),null,!0)}function genSelect(e,a,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",s="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",l="var $$selectedVal = "+i+";";l=l+" "+genAssignmentCode(a,s),addHandler(e,"change",l,null,!0)}function genDefaultModel(e,a,n){var r=e.attrsMap.type,i=n||{},s=i.lazy,l=i.number,c=i.trim,o=!s&&r!=="range",d=s?"change":r==="range"?RANGE_TOKEN:"input",u="$event.target.value";c&&(u="$event.target.value.trim()"),l&&(u="_n("+u+")");var f=genAssignmentCode(a,u);o&&(f="if($event.target.composing)return;"+f),addProp(e,"value","("+a+")"),addHandler(e,d,f,null,!0),(c||l)&&addHandler(e,"blur","$forceUpdate()")}function normalizeEvents(e){if(isDef(e[RANGE_TOKEN])){var a=isIE?"change":"input";e[a]=[].concat(e[RANGE_TOKEN],e[a]||[]),delete e[RANGE_TOKEN]}isDef(e[CHECKBOX_RADIO_TOKEN])&&(e.change=[].concat(e[CHECKBOX_RADIO_TOKEN],e.change||[]),delete e[CHECKBOX_RADIO_TOKEN])}var target$1;function createOnceHandler$1(e,a,n){var r=target$1;return function i(){var s=a.apply(null,arguments);s!==null&&remove$2(e,i,n,r)}}var useMicrotaskFix=isUsingMicroTask&&!(isFF&&Number(isFF[1])<=53);function add$1(e,a,n,r){if(useMicrotaskFix){var i=currentFlushTimestamp,s=a;a=s._wrapper=function(l){if(l.target===l.currentTarget||l.timeStamp>=i||l.timeStamp<=0||l.target.ownerDocument!==document)return s.apply(this,arguments)}}target$1.addEventListener(e,a,supportsPassive?{capture:n,passive:r}:n)}function remove$2(e,a,n,r){(r||target$1).removeEventListener(e,a._wrapper||a,n)}function updateDOMListeners(e,a){if(isUndef(e.data.on)&&isUndef(a.data.on))return;var n=a.data.on||{},r=e.data.on||{};target$1=a.elm,normalizeEvents(n),updateListeners(n,r,add$1,remove$2,createOnceHandler$1,a.context),target$1=void 0}var events={create:updateDOMListeners,update:updateDOMListeners},svgContainer;function updateDOMProps(e,a){if(isUndef(e.data.domProps)&&isUndef(a.data.domProps))return;var n,r,i=a.elm,s=e.data.domProps||{},l=a.data.domProps||{};isDef(l.__ob__)&&(l=a.data.domProps=extend({},l));for(n in s)n in l||(i[n]="");for(n in l){if(r=l[n],n==="textContent"||n==="innerHTML"){if(a.children&&(a.children.length=0),r===s[n])continue;i.childNodes.length===1&&i.removeChild(i.childNodes[0])}if(n==="value"&&i.tagName!=="PROGRESS"){i._value=r;var c=isUndef(r)?"":String(r);shouldUpdateValue(i,c)&&(i.value=c)}else if(n==="innerHTML"&&isSVG(i.tagName)&&isUndef(i.innerHTML)){svgContainer=svgContainer||document.createElement("div"),svgContainer.innerHTML=""+r+"";for(var o=svgContainer.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;o.firstChild;)i.appendChild(o.firstChild)}else if(r!==s[n])try{i[n]=r}catch(d){}}}function shouldUpdateValue(e,a){return!e.composing&&(e.tagName==="OPTION"||isNotInFocusAndDirty(e,a)||isDirtyWithModifiers(e,a))}function isNotInFocusAndDirty(e,a){var n=!0;try{n=document.activeElement!==e}catch(r){}return n&&e.value!==a}function isDirtyWithModifiers(e,a){var n=e.value,r=e._vModifiers;if(isDef(r)){if(r.number)return toNumber(n)!==toNumber(a);if(r.trim)return n.trim()!==a.trim()}return n!==a}var domProps={create:updateDOMProps,update:updateDOMProps},parseStyleText=cached(function(e){var a={},n=/;(?![^(]*\))/g,r=/:(.+)/;return e.split(n).forEach(function(i){if(i){var s=i.split(r);s.length>1&&(a[s[0].trim()]=s[1].trim())}}),a});function normalizeStyleData(e){var a=normalizeStyleBinding(e.style);return e.staticStyle?extend(e.staticStyle,a):a}function normalizeStyleBinding(e){return Array.isArray(e)?toObject(e):typeof e=="string"?parseStyleText(e):e}function getStyle(e,a){var n={},r;if(a)for(var i=e;i.componentInstance;)i=i.componentInstance._vnode,i&&i.data&&(r=normalizeStyleData(i.data))&&extend(n,r);(r=normalizeStyleData(e.data))&&extend(n,r);for(var s=e;s=s.parent;)s.data&&(r=normalizeStyleData(s.data))&&extend(n,r);return n}var cssVarRE=/^--/,importantRE=/\s*!important$/,setProp=function(e,a,n){if(cssVarRE.test(a))e.style.setProperty(a,n);else if(importantRE.test(n))e.style.setProperty(hyphenate(a),n.replace(importantRE,""),"important");else{var r=normalize(a);if(Array.isArray(n))for(var i=0,s=n.length;i-1?a.split(whitespaceRE).forEach(function(r){return e.classList.add(r)}):e.classList.add(a);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+a+" ")<0&&e.setAttribute("class",(n+a).trim())}}function removeClass(e,a){if(!a||!(a=a.trim()))return;if(e.classList)a.indexOf(" ")>-1?a.split(whitespaceRE).forEach(function(i){return e.classList.remove(i)}):e.classList.remove(a),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+a+" ";n.indexOf(r)>=0;)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function resolveTransition(e){if(!e)return;if(typeof e=="object"){var a={};return e.css!==!1&&extend(a,autoCssTransition(e.name||"v")),extend(a,e),a}else if(typeof e=="string")return autoCssTransition(e)}var autoCssTransition=cached(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),hasTransition=inBrowser&&!isIE9,TRANSITION="transition",ANIMATION="animation",transitionProp="transition",transitionEndEvent="transitionend",animationProp="animation",animationEndEvent="animationend";hasTransition&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(transitionProp="WebkitTransition",transitionEndEvent="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(animationProp="WebkitAnimation",animationEndEvent="webkitAnimationEnd"));var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function nextFrame(e){raf(function(){raf(e)})}function addTransitionClass(e,a){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(a)<0&&(n.push(a),addClass(e,a))}function removeTransitionClass(e,a){e._transitionClasses&&remove(e._transitionClasses,a),removeClass(e,a)}function whenTransitionEnds(e,a,n){var r=getTransitionInfo(e,a),i=r.type,s=r.timeout,l=r.propCount;if(!i)return n();var c=i===TRANSITION?transitionEndEvent:animationEndEvent,o=0,d=function(){e.removeEventListener(c,u),n()},u=function(f){f.target===e&&(++o>=l&&d())};setTimeout(function(){o0&&(d=TRANSITION,u=s,f=i.length):a===ANIMATION?o>0&&(d=ANIMATION,u=o,f=c.length):(u=Math.max(s,o),d=u>0?s>o?TRANSITION:ANIMATION:null,f=d?d===TRANSITION?i.length:c.length:0);var h=d===TRANSITION&&transformRE.test(n[transitionProp+"Property"]);return{type:d,timeout:u,propCount:f,hasTransform:h}}function getTimeout(e,a){for(;e.length1}function _enter(e,a){a.data.show!==!0&&enter(a)}var transition=inBrowser?{create:_enter,activate:_enter,remove:function(a,n){a.data.show!==!0?leave(a,n):n()}}:{},platformModules=[attrs,klass,events,domProps,style,transition],modules=platformModules.concat(baseModules),patch=createPatchFunction({nodeOps,modules});isIE9&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&trigger(e,"input")});var directive={inserted:function(a,n,r,i){r.tag==="select"?(i.elm&&!i.elm._vOptions?mergeVNodeHook(r,"postpatch",function(){directive.componentUpdated(a,n,r)}):setSelected(a,n,r.context),a._vOptions=[].map.call(a.options,getValue)):(r.tag==="textarea"||isTextInputType(a.type))&&(a._vModifiers=n.modifiers,n.modifiers.lazy||(a.addEventListener("compositionstart",onCompositionStart),a.addEventListener("compositionend",onCompositionEnd),a.addEventListener("change",onCompositionEnd),isIE9&&(a.vmodel=!0)))},componentUpdated:function(a,n,r){if(r.tag==="select"){setSelected(a,n,r.context);var i=a._vOptions,s=a._vOptions=[].map.call(a.options,getValue);if(s.some(function(c,o){return!looseEqual(c,i[o])})){var l=a.multiple?n.value.some(function(c){return hasNoMatchingOption(c,s)}):n.value!==n.oldValue&&hasNoMatchingOption(n.value,s);l&&trigger(a,"change")}}}};function setSelected(e,a,n){actuallySetSelected(e,a),(isIE||isEdge)&&setTimeout(function(){actuallySetSelected(e,a)},0)}function actuallySetSelected(e,a,n){var r=a.value,i=e.multiple;if(i&&!Array.isArray(r))return;for(var s,l,c=0,o=e.options.length;c-1,l.selected!==s&&(l.selected=s);else if(looseEqual(getValue(l),r)){e.selectedIndex!==c&&(e.selectedIndex=c);return}i||(e.selectedIndex=-1)}function hasNoMatchingOption(e,a){return a.every(function(n){return!looseEqual(n,e)})}function getValue(e){return"_value"in e?e._value:e.value}function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){if(!e.target.composing)return;e.target.composing=!1,trigger(e.target,"input")}function trigger(e,a){var n=document.createEvent("HTMLEvents");n.initEvent(a,!0,!0),e.dispatchEvent(n)}function locateNode(e){return e.componentInstance&&(!e.data||!e.data.transition)?locateNode(e.componentInstance._vnode):e}var show={bind:function(a,n,r){var i=n.value;r=locateNode(r);var s=r.data&&r.data.transition,l=a.__vOriginalDisplay=a.style.display==="none"?"":a.style.display;i&&s?(r.data.show=!0,enter(r,function(){a.style.display=l})):a.style.display=i?l:"none"},update:function(a,n,r){var i=n.value,s=n.oldValue;if(!i===!s)return;r=locateNode(r);var l=r.data&&r.data.transition;l?(r.data.show=!0,i?enter(r,function(){a.style.display=a.__vOriginalDisplay}):leave(r,function(){a.style.display="none"})):a.style.display=i?a.__vOriginalDisplay:"none"},unbind:function(a,n,r,i,s){s||(a.style.display=a.__vOriginalDisplay)}},platformDirectives={model:directive,show},transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function getRealChild(e){var a=e&&e.componentOptions;return a&&a.Ctor.options.abstract?getRealChild(getFirstComponentChild(a.children)):e}function extractTransitionData(e){var a={},n=e.$options;for(var r in n.propsData)a[r]=e[r];var i=n._parentListeners;for(var s in i)a[camelize(s)]=i[s];return a}function placeholder(e,a){if(/\d-keep-alive$/.test(a.tag))return e("keep-alive",{props:a.componentOptions.propsData})}function hasParentTransition(e){for(;e=e.parent;)if(e.data.transition)return!0}function isSameChild(e,a){return a.key===e.key&&a.tag===e.tag}var isNotTextNode=function(e){return e.tag||isAsyncPlaceholder(e)},isVShowDirective=function(e){return e.name==="show"},Transition={name:"transition",props:transitionProps,abstract:!0,render:function(a){var n=this,r=this.$slots.default;if(!r)return;if(r=r.filter(isNotTextNode),!r.length)return;var i=this.mode,s=r[0];if(hasParentTransition(this.$vnode))return s;var l=getRealChild(s);if(!l)return s;if(this._leaving)return placeholder(a,s);var c="__transition-"+this._uid+"-";l.key=l.key==null?l.isComment?c+"comment":c+l.tag:isPrimitive(l.key)?String(l.key).indexOf(c)===0?l.key:c+l.key:l.key;var o=(l.data||(l.data={})).transition=extractTransitionData(this),d=this._vnode,u=getRealChild(d);if(l.data.directives&&l.data.directives.some(isVShowDirective)&&(l.data.show=!0),u&&u.data&&!isSameChild(l,u)&&!isAsyncPlaceholder(u)&&!(u.componentInstance&&u.componentInstance._vnode.isComment)){var f=u.data.transition=extend({},o);if(i==="out-in")return this._leaving=!0,mergeVNodeHook(f,"afterLeave",function(){n._leaving=!1,n.$forceUpdate()}),placeholder(a,s);if(i==="in-out"){if(isAsyncPlaceholder(l))return d;var h,m=function(){h()};mergeVNodeHook(o,"afterEnter",m),mergeVNodeHook(o,"enterCancelled",m),mergeVNodeHook(f,"delayLeave",function(v){h=v})}}return s}},props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props,beforeMount:function(){var a=this,n=this._update;this._update=function(r,i){var s=setActiveInstance(a);a.__patch__(a._vnode,a.kept,!1,!0),a._vnode=a.kept,s(),n.call(a,r,i)}},render:function(a){for(var n=this.tag||this.$vnode.data.tag||"span",r=Object.create(null),i=this.prevChildren=this.children,s=this.$slots.default||[],l=this.children=[],c=extractTransitionData(this),o=0;os&&(i.push(o=e.slice(s,c)),r.push(JSON.stringify(o)));var d=parseFilters(l[1].trim());r.push("_s("+d+")"),i.push({"@binding":d}),s=c+l[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ncname="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+unicodeRegExp.source+"]*",qnameCapture="((?:"+ncname+"\\:)?"+ncname+")",startTagOpen=new RegExp("^<"+qnameCapture),startTagClose=/^\s*(\/?)>/,endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>"),doctype=/^]+>/i,comment=/^",""":'"',"&":"&"," ":` + */var emptyObject=Object.freeze({});function isUndef(e){return e==null}function isDef(e){return e!=null}function isTrue(e){return e===!0}function isFalse(e){return e===!1}function isPrimitive(e){return typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="boolean"}function isObject(e){return e!==null&&typeof e=="object"}var _toString=Object.prototype.toString;function toRawType(e){return _toString.call(e).slice(8,-1)}function isPlainObject(e){return _toString.call(e)==="[object Object]"}function isRegExp(e){return _toString.call(e)==="[object RegExp]"}function isValidArrayIndex(e){var a=parseFloat(String(e));return a>=0&&Math.floor(a)===a&&isFinite(e)}function isPromise(e){return isDef(e)&&typeof e.then=="function"&&typeof e.catch=="function"}function toString(e){return e==null?"":Array.isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function toNumber(e){var a=parseFloat(e);return isNaN(a)?e:a}function makeMap(e,a){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,a){return hasOwnProperty.call(e,a)}function cached(e){var a=Object.create(null);return function(r){var i=a[r];return i||(a[r]=e(r))}}var camelizeRE=/-(\w)/g,camelize=cached(function(e){return e.replace(camelizeRE,function(a,n){return n?n.toUpperCase():""})}),capitalize=cached(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(function(e){return e.replace(hyphenateRE,"-$1").toLowerCase()});function polyfillBind(e,a){function n(r){var i=arguments.length;return i?i>1?e.apply(a,arguments):e.call(a,r):e.call(a)}return n._length=e.length,n}function nativeBind(e,a){return e.bind(a)}var bind=Function.prototype.bind?nativeBind:polyfillBind;function toArray(e,a){a=a||0;for(var n=e.length-a,r=new Array(n);n--;)r[n]=e[n+a];return r}function extend(e,a){for(var n in a)e[n]=a[n];return e}function toObject(e){for(var a={},n=0;n0,isEdge=UA&&UA.indexOf("edge/")>0,isAndroid=UA&&UA.indexOf("android")>0||weexPlatform==="android",isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==="ios",isChrome=UA&&/chrome\/\d+/.test(UA)&&!isEdge,isPhantomJS=UA&&/phantomjs/.test(UA),isFF=UA&&UA.match(/firefox\/(\d+)/),nativeWatch={}.watch,supportsPassive=!1;if(inBrowser)try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener("test-passive",null,opts)}catch(e){}var _isServer,isServerRendering=function(){return _isServer===void 0&&(!inBrowser&&!inWeex&&typeof global!="undefined"?_isServer=global.process&&global.process.env.VUE_ENV==="server":_isServer=!1),_isServer},devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function isNative(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol=typeof Symbol!="undefined"&&isNative(Symbol)&&typeof Reflect!="undefined"&&isNative(Reflect.ownKeys),_Set;typeof Set!="undefined"&&isNative(Set)?_Set=Set:_Set=function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(n){return this.set[n]===!0},e.prototype.add=function(n){this.set[n]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var warn=noop,uid=0,Dep=function(){this.id=uid++,this.subs=[]};Dep.prototype.addSub=function(a){this.subs.push(a)},Dep.prototype.removeSub=function(a){remove(this.subs,a)},Dep.prototype.depend=function(){Dep.target&&Dep.target.addDep(this)},Dep.prototype.notify=function(){for(var a=this.subs.slice(),n=0,r=a.length;n-1){if(s&&!hasOwn(i,"default"))l=!1;else if(l===""||l===hyphenate(e)){var o=getTypeIndex(String,i.type);(o<0||c0&&(i=normalizeArrayChildren(i,(a||"")+"_"+r),isTextNode(i[0])&&isTextNode(l)&&(n[s]=createTextVNode(l.text+i[0].text),i.shift()),n.push.apply(n,i)):isPrimitive(i)?isTextNode(l)?n[s]=createTextVNode(l.text+i):i!==""&&n.push(createTextVNode(i)):isTextNode(i)&&isTextNode(l)?n[s]=createTextVNode(l.text+i.text):(isTrue(e._isVList)&&isDef(i.tag)&&isUndef(i.key)&&isDef(a)&&(i.key="__vlist"+a+"_"+r+"__"),n.push(i))}return n}function initProvide(e){var a=e.$options.provide;a&&(e._provided=typeof a=="function"?a.call(e):a)}function initInjections(e){var a=resolveInject(e.$options.inject,e);a&&(toggleObserving(!1),Object.keys(a).forEach(function(n){defineReactive$$1(e,n,a[n])}),toggleObserving(!0))}function resolveInject(e,a){if(e){for(var n=Object.create(null),r=hasSymbol?Reflect.ownKeys(e):Object.keys(e),i=0;i0,s=e?!!e.$stable:!i,l=e&&e.$key;if(!e)r={};else{if(e._normalized)return e._normalized;if(s&&n&&n!==emptyObject&&l===n.$key&&!i&&!n.$hasNormal)return n;r={};for(var c in e)e[c]&&c[0]!=="$"&&(r[c]=normalizeScopedSlot(a,c,e[c]))}for(var o in a)o in r||(r[o]=proxyNormalSlot(a,o));return e&&Object.isExtensible(e)&&(e._normalized=r),def(r,"$stable",s),def(r,"$key",l),def(r,"$hasNormal",i),r}function normalizeScopedSlot(e,a,n){var r=function(){var i=arguments.length?n.apply(null,arguments):n({});return i=i&&typeof i=="object"&&!Array.isArray(i)?[i]:normalizeChildren(i),i&&(i.length===0||i.length===1&&i[0].isComment)?void 0:i};return n.proxy&&Object.defineProperty(e,a,{get:r,enumerable:!0,configurable:!0}),r}function proxyNormalSlot(e,a){return function(){return e[a]}}function renderList(e,a){var n,r,i,s,l;if(Array.isArray(e)||typeof e=="string")for(n=new Array(e.length),r=0,i=e.length;r1?toArray(i):i;for(var s=toArray(arguments,1),l='event handler for "'+n+'"',c=0,o=i.length;cdocument.createEvent("Event").timeStamp&&(getNow=function(){return performance.now()})}function flushSchedulerQueue(){currentFlushTimestamp=getNow(),flushing=!0;var e,a;for(queue.sort(function(i,s){return i.id-s.id}),index=0;indexindex&&queue[n].id>e.id;)n--;queue.splice(n+1,0,e)}waiting||(waiting=!0,nextTick(flushSchedulerQueue))}}var uid$2=0,Watcher=function(a,n,r,i,s){this.vm=a,s&&(a._watcher=this),a._watchers.push(this),i?(this.deep=!!i.deep,this.user=!!i.user,this.lazy=!!i.lazy,this.sync=!!i.sync,this.before=i.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++uid$2,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new _Set,this.newDepIds=new _Set,this.expression="",typeof n=="function"?this.getter=n:(this.getter=parsePath(n),this.getter||(this.getter=noop)),this.value=this.lazy?void 0:this.get()};Watcher.prototype.get=function(){pushTarget(this);var a,n=this.vm;try{a=this.getter.call(n,n)}catch(r){if(this.user)handleError(r,n,'getter for watcher "'+this.expression+'"');else throw r}finally{this.deep&&traverse(a),popTarget(),this.cleanupDeps()}return a},Watcher.prototype.addDep=function(a){var n=a.id;this.newDepIds.has(n)||(this.newDepIds.add(n),this.newDeps.push(a),this.depIds.has(n)||a.addSub(this))},Watcher.prototype.cleanupDeps=function(){for(var a=this.deps.length;a--;){var n=this.deps[a];this.newDepIds.has(n.id)||n.removeSub(this)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Watcher.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():queueWatcher(this)},Watcher.prototype.run=function(){if(this.active){var a=this.get();if(a!==this.value||isObject(a)||this.deep){var n=this.value;if(this.value=a,this.user)try{this.cb.call(this.vm,a,n)}catch(r){handleError(r,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,a,n)}}},Watcher.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Watcher.prototype.depend=function(){for(var a=this.deps.length;a--;)this.deps[a].depend()},Watcher.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||remove(this.vm._watchers,this);for(var a=this.deps.length;a--;)this.deps[a].removeSub(this);this.active=!1}};var sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop,set:noop};function proxy(e,a,n){sharedPropertyDefinition.get=function(){return this[a][n]},sharedPropertyDefinition.set=function(i){this[a][n]=i},Object.defineProperty(e,n,sharedPropertyDefinition)}function initState(e){e._watchers=[];var a=e.$options;a.props&&initProps(e,a.props),a.methods&&initMethods(e,a.methods),a.data?initData(e):observe(e._data={},!0),a.computed&&initComputed(e,a.computed),a.watch&&a.watch!==nativeWatch&&initWatch(e,a.watch)}function initProps(e,a){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],s=!e.$parent;s||toggleObserving(!1);var l=function(o){i.push(o);var d=validateProp(o,a,n,e);defineReactive$$1(r,o,d),o in e||proxy(e,"_props",o)};for(var c in a)l(c);toggleObserving(!0)}function initData(e){var a=e.$options.data;a=e._data=typeof a=="function"?getData(a,e):a||{},isPlainObject(a)||(a={});for(var n=Object.keys(a),r=e.$options.props,i=e.$options.methods,s=n.length;s--;){var l=n[s];r&&hasOwn(r,l)||(isReserved(l)||proxy(e,"_data",l))}observe(a,!0)}function getData(e,a){pushTarget();try{return e.call(a,a)}catch(n){return handleError(n,a,"data()"),{}}finally{popTarget()}}var computedWatcherOptions={lazy:!0};function initComputed(e,a){var n=e._computedWatchers=Object.create(null),r=isServerRendering();for(var i in a){var s=a[i],l=typeof s=="function"?s:s.get;r||(n[i]=new Watcher(e,l||noop,noop,computedWatcherOptions)),i in e||defineComputed(e,i,s)}}function defineComputed(e,a,n){var r=!isServerRendering();typeof n=="function"?(sharedPropertyDefinition.get=r?createComputedGetter(a):createGetterInvoker(n),sharedPropertyDefinition.set=noop):(sharedPropertyDefinition.get=n.get?r&&n.cache!==!1?createComputedGetter(a):createGetterInvoker(n.get):noop,sharedPropertyDefinition.set=n.set||noop),Object.defineProperty(e,a,sharedPropertyDefinition)}function createComputedGetter(e){return function(){var n=this._computedWatchers&&this._computedWatchers[e];if(n)return n.dirty&&n.evaluate(),Dep.target&&n.depend(),n.value}}function createGetterInvoker(e){return function(){return e.call(this,this)}}function initMethods(e,a){var n=e.$options.props;for(var r in a)e[r]=typeof a[r]!="function"?noop:bind(a[r],e)}function initWatch(e,a){for(var n in a){var r=a[n];if(Array.isArray(r))for(var i=0;i-1)return this;var r=toArray(arguments,1);return r.unshift(this),typeof a.install=="function"?a.install.apply(a,r):typeof a=="function"&&a.apply(null,r),n.push(a),this}}function initMixin$1(e){e.mixin=function(a){return this.options=mergeOptions(this.options,a),this}}function initExtend(e){e.cid=0;var a=1;e.extend=function(n){n=n||{};var r=this,i=r.cid,s=n._Ctor||(n._Ctor={});if(s[i])return s[i];var l=n.name||r.options.name,c=function(d){this._init(d)};return c.prototype=Object.create(r.prototype),c.prototype.constructor=c,c.cid=a++,c.options=mergeOptions(r.options,n),c.super=r,c.options.props&&initProps$1(c),c.options.computed&&initComputed$1(c),c.extend=r.extend,c.mixin=r.mixin,c.use=r.use,ASSET_TYPES.forEach(function(o){c[o]=r[o]}),l&&(c.options.components[l]=c),c.superOptions=r.options,c.extendOptions=n,c.sealedOptions=extend({},c.options),s[i]=c,c}}function initProps$1(e){var a=e.options.props;for(var n in a)proxy(e.prototype,"_props",n)}function initComputed$1(e){var a=e.options.computed;for(var n in a)defineComputed(e.prototype,n,a[n])}function initAssetRegisters(e){ASSET_TYPES.forEach(function(a){e[a]=function(n,r){return r?(a==="component"&&isPlainObject(r)&&(r.name=r.name||n,r=this.options._base.extend(r)),a==="directive"&&typeof r=="function"&&(r={bind:r,update:r}),this.options[a+"s"][n]=r,r):this.options[a+"s"][n]}})}function getComponentName(e){return e&&(e.Ctor.options.name||e.tag)}function matches(e,a){return Array.isArray(e)?e.indexOf(a)>-1:typeof e=="string"?e.split(",").indexOf(a)>-1:isRegExp(e)?e.test(a):!1}function pruneCache(e,a){var n=e.cache,r=e.keys,i=e._vnode;for(var s in n){var l=n[s];if(l){var c=getComponentName(l.componentOptions);c&&!a(c)&&pruneCacheEntry(n,s,r,i)}}}function pruneCacheEntry(e,a,n,r){var i=e[a];i&&(!r||i.tag!==r.tag)&&i.componentInstance.$destroy(),e[a]=null,remove(n,a)}var patternTypes=[String,RegExp,Array],KeepAlive={name:"keep-alive",abstract:!0,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var a in this.cache)pruneCacheEntry(this.cache,a,this.keys)},mounted:function(){var a=this;this.$watch("include",function(n){pruneCache(a,function(r){return matches(n,r)})}),this.$watch("exclude",function(n){pruneCache(a,function(r){return!matches(n,r)})})},render:function(){var a=this.$slots.default,n=getFirstComponentChild(a),r=n&&n.componentOptions;if(r){var i=getComponentName(r),s=this,l=s.include,c=s.exclude;if(l&&(!i||!matches(l,i))||c&&i&&matches(c,i))return n;var o=this,d=o.cache,u=o.keys,f=n.key==null?r.Ctor.cid+(r.tag?"::"+r.tag:""):n.key;d[f]?(n.componentInstance=d[f].componentInstance,remove(u,f),u.push(f)):(d[f]=n,u.push(f),this.max&&u.length>parseInt(this.max)&&pruneCacheEntry(d,u[0],u,this._vnode)),n.data.keepAlive=!0}return n||a&&a[0]}},builtInComponents={KeepAlive};function initGlobalAPI(e){var a={};a.get=function(){return config},Object.defineProperty(e,"config",a),e.util={warn,extend,mergeOptions,defineReactive:defineReactive$$1},e.set=set,e.delete=del,e.nextTick=nextTick,e.observable=function(n){return observe(n),n},e.options=Object.create(null),ASSET_TYPES.forEach(function(n){e.options[n+"s"]=Object.create(null)}),e.options._base=e,extend(e.options.components,builtInComponents),initUse(e),initMixin$1(e),initExtend(e),initAssetRegisters(e)}initGlobalAPI(Vue),Object.defineProperty(Vue.prototype,"$isServer",{get:isServerRendering}),Object.defineProperty(Vue.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vue,"FunctionalRenderContext",{value:FunctionalRenderContext}),Vue.version="2.6.12";var isReservedAttr=makeMap("style,class"),acceptValue=makeMap("input,textarea,option,select,progress"),mustUseProp=function(e,a,n){return n==="value"&&acceptValue(e)&&a!=="button"||n==="selected"&&e==="option"||n==="checked"&&e==="input"||n==="muted"&&e==="video"},isEnumeratedAttr=makeMap("contenteditable,draggable,spellcheck"),isValidContentEditableValue=makeMap("events,caret,typing,plaintext-only"),convertEnumeratedValue=function(e,a){return isFalsyAttrValue(a)||a==="false"?"false":e==="contenteditable"&&isValidContentEditableValue(a)?a:"true"},isBooleanAttr=makeMap("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),xlinkNS="http://www.w3.org/1999/xlink",isXlink=function(e){return e.charAt(5)===":"&&e.slice(0,5)==="xlink"},getXlinkProp=function(e){return isXlink(e)?e.slice(6,e.length):""},isFalsyAttrValue=function(e){return e==null||e===!1};function genClassForVnode(e){for(var a=e.data,n=e,r=e;isDef(r.componentInstance);)r=r.componentInstance._vnode,r&&r.data&&(a=mergeClassData(r.data,a));for(;isDef(n=n.parent);)n&&n.data&&(a=mergeClassData(a,n.data));return renderClass(a.staticClass,a.class)}function mergeClassData(e,a){return{staticClass:concat(e.staticClass,a.staticClass),class:isDef(e.class)?[e.class,a.class]:a.class}}function renderClass(e,a){return isDef(e)||isDef(a)?concat(e,stringifyClass(a)):""}function concat(e,a){return e?a?e+" "+a:e:a||""}function stringifyClass(e){return Array.isArray(e)?stringifyArray(e):isObject(e)?stringifyObject(e):typeof e=="string"?e:""}function stringifyArray(e){for(var a="",n,r=0,i=e.length;r-1?unknownElementCache[e]=a.constructor===window.HTMLUnknownElement||a.constructor===window.HTMLElement:unknownElementCache[e]=/HTMLUnknownElement/.test(a.toString())}var isTextInputType=makeMap("text,number,password,search,email,tel,url");function query(e){if(typeof e=="string"){var a=document.querySelector(e);return a||document.createElement("div")}else return e}function createElement$1(e,a){var n=document.createElement(e);return e!=="select"||a.data&&a.data.attrs&&a.data.attrs.multiple!==void 0&&n.setAttribute("multiple","multiple"),n}function createElementNS(e,a){return document.createElementNS(namespaceMap[e],a)}function createTextNode(e){return document.createTextNode(e)}function createComment(e){return document.createComment(e)}function insertBefore(e,a,n){e.insertBefore(a,n)}function removeChild(e,a){e.removeChild(a)}function appendChild(e,a){e.appendChild(a)}function parentNode(e){return e.parentNode}function nextSibling(e){return e.nextSibling}function tagName(e){return e.tagName}function setTextContent(e,a){e.textContent=a}function setStyleScope(e,a){e.setAttribute(a,"")}var nodeOps=Object.freeze({createElement:createElement$1,createElementNS,createTextNode,createComment,insertBefore,removeChild,appendChild,parentNode,nextSibling,tagName,setTextContent,setStyleScope}),ref={create:function(a,n){registerRef(n)},update:function(a,n){a.data.ref!==n.data.ref&&(registerRef(a,!0),registerRef(n))},destroy:function(a){registerRef(a,!0)}};function registerRef(e,a){var n=e.data.ref;if(!isDef(n))return;var r=e.context,i=e.componentInstance||e.elm,s=r.$refs;a?Array.isArray(s[n])?remove(s[n],i):s[n]===i&&(s[n]=void 0):e.data.refInFor?Array.isArray(s[n])?s[n].indexOf(i)<0&&s[n].push(i):s[n]=[i]:s[n]=i}var emptyNode=new VNode("",{},[]),hooks=["create","activate","update","remove","destroy"];function sameVnode(e,a){return e.key===a.key&&(e.tag===a.tag&&e.isComment===a.isComment&&isDef(e.data)===isDef(a.data)&&sameInputType(e,a)||isTrue(e.isAsyncPlaceholder)&&e.asyncFactory===a.asyncFactory&&isUndef(a.asyncFactory.error))}function sameInputType(e,a){if(e.tag!=="input")return!0;var n,r=isDef(n=e.data)&&isDef(n=n.attrs)&&n.type,i=isDef(n=a.data)&&isDef(n=n.attrs)&&n.type;return r===i||isTextInputType(r)&&isTextInputType(i)}function createKeyToOldIdx(e,a,n){var r,i,s={};for(r=a;r<=n;++r)i=e[r].key,isDef(i)&&(s[i]=r);return s}function createPatchFunction(e){var a,n,r={},i=e.modules,s=e.nodeOps;for(a=0;aF?(W=isUndef(_[j+1])?null:_[j+1].elm,x(g,W,_,$,j,S)):$>j&&M(b,P,F)}function C(g,b,_,S){for(var z=_;z-1?baseSetAttr(e,a,n):isBooleanAttr(a)?isFalsyAttrValue(n)?e.removeAttribute(a):(n=a==="allowfullscreen"&&e.tagName==="EMBED"?"true":a,e.setAttribute(a,n)):isEnumeratedAttr(a)?e.setAttribute(a,convertEnumeratedValue(a,n)):isXlink(a)?isFalsyAttrValue(n)?e.removeAttributeNS(xlinkNS,getXlinkProp(a)):e.setAttributeNS(xlinkNS,a,n):baseSetAttr(e,a,n)}function baseSetAttr(e,a,n){if(isFalsyAttrValue(n))e.removeAttribute(a);else{if(isIE&&!isIE9&&e.tagName==="TEXTAREA"&&a==="placeholder"&&n!==""&&!e.__ieph){var r=function(i){i.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(a,n)}}var attrs={create:updateAttrs,update:updateAttrs};function updateClass(e,a){var n=a.elm,r=a.data,i=e.data;if(isUndef(r.staticClass)&&isUndef(r.class)&&(isUndef(i)||isUndef(i.staticClass)&&isUndef(i.class)))return;var s=genClassForVnode(a),l=n._transitionClasses;isDef(l)&&(s=concat(s,stringifyClass(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}var klass={create:updateClass,update:updateClass},validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){var a=!1,n=!1,r=!1,i=!1,s=0,l=0,c=0,o=0,d,u,f,h,m;for(f=0;f=0&&!(y=e.charAt(v),y!==" ");v--);(!y||!validDivisionCharRE.test(y))&&(i=!0)}}h===void 0?h=e.slice(0,f).trim():o!==0&&k();function k(){(m||(m=[])).push(e.slice(o,f).trim()),o=f+1}if(m)for(f=0;f-1?{exp:e.slice(0,index$1),key:'"'+e.slice(index$1+1)+'"'}:{exp:e,key:null};for(str=e,index$1=expressionPos=expressionEndPos=0;!eof();)chr=next(),isStringStart(chr)?parseString(chr):chr===91&&parseBracket(chr);return{exp:e.slice(0,expressionPos),key:e.slice(expressionPos+1,expressionEndPos)}}function next(){return str.charCodeAt(++index$1)}function eof(){return index$1>=len}function isStringStart(e){return e===34||e===39}function parseBracket(e){var a=1;for(expressionPos=index$1;!eof();){if(e=next(),isStringStart(e)){parseString(e);continue}if(e===91&&a++,e===93&&a--,a===0){expressionEndPos=index$1;break}}}function parseString(e){for(var a=e;!eof()&&!(e=next(),e===a););}var RANGE_TOKEN="__r",CHECKBOX_RADIO_TOKEN="__c";function model(e,a,n){var r=a.value,i=a.modifiers,s=e.tag,l=e.attrsMap.type;if(e.component)return genComponentModel(e,r,i),!1;if(s==="select")genSelect(e,r,i);else if(s==="input"&&l==="checkbox")genCheckboxModel(e,r,i);else if(s==="input"&&l==="radio")genRadioModel(e,r,i);else if(s==="input"||s==="textarea")genDefaultModel(e,r,i);else if(!config.isReservedTag(s))return genComponentModel(e,r,i),!1;return!0}function genCheckboxModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null",s=getBindingAttr(e,"true-value")||"true",l=getBindingAttr(e,"false-value")||"false";addProp(e,"checked","Array.isArray("+a+")?_i("+a+","+i+")>-1"+(s==="true"?":("+a+")":":_q("+a+","+s+")")),addHandler(e,"change","var $$a="+a+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+l+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+genAssignmentCode(a,"$$a.concat([$$v])")+")}else{$$i>-1&&("+genAssignmentCode(a,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+genAssignmentCode(a,"$$c")+"}",null,!0)}function genRadioModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null";i=r?"_n("+i+")":i,addProp(e,"checked","_q("+a+","+i+")"),addHandler(e,"change",genAssignmentCode(a,i),null,!0)}function genSelect(e,a,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",s="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",l="var $$selectedVal = "+i+";";l=l+" "+genAssignmentCode(a,s),addHandler(e,"change",l,null,!0)}function genDefaultModel(e,a,n){var r=e.attrsMap.type,i=n||{},s=i.lazy,l=i.number,c=i.trim,o=!s&&r!=="range",d=s?"change":r==="range"?RANGE_TOKEN:"input",u="$event.target.value";c&&(u="$event.target.value.trim()"),l&&(u="_n("+u+")");var f=genAssignmentCode(a,u);o&&(f="if($event.target.composing)return;"+f),addProp(e,"value","("+a+")"),addHandler(e,d,f,null,!0),(c||l)&&addHandler(e,"blur","$forceUpdate()")}function normalizeEvents(e){if(isDef(e[RANGE_TOKEN])){var a=isIE?"change":"input";e[a]=[].concat(e[RANGE_TOKEN],e[a]||[]),delete e[RANGE_TOKEN]}isDef(e[CHECKBOX_RADIO_TOKEN])&&(e.change=[].concat(e[CHECKBOX_RADIO_TOKEN],e.change||[]),delete e[CHECKBOX_RADIO_TOKEN])}var target$1;function createOnceHandler$1(e,a,n){var r=target$1;return function i(){var s=a.apply(null,arguments);s!==null&&remove$2(e,i,n,r)}}var useMicrotaskFix=isUsingMicroTask&&!(isFF&&Number(isFF[1])<=53);function add$1(e,a,n,r){if(useMicrotaskFix){var i=currentFlushTimestamp,s=a;a=s._wrapper=function(l){if(l.target===l.currentTarget||l.timeStamp>=i||l.timeStamp<=0||l.target.ownerDocument!==document)return s.apply(this,arguments)}}target$1.addEventListener(e,a,supportsPassive?{capture:n,passive:r}:n)}function remove$2(e,a,n,r){(r||target$1).removeEventListener(e,a._wrapper||a,n)}function updateDOMListeners(e,a){if(isUndef(e.data.on)&&isUndef(a.data.on))return;var n=a.data.on||{},r=e.data.on||{};target$1=a.elm,normalizeEvents(n),updateListeners(n,r,add$1,remove$2,createOnceHandler$1,a.context),target$1=void 0}var events={create:updateDOMListeners,update:updateDOMListeners},svgContainer;function updateDOMProps(e,a){if(isUndef(e.data.domProps)&&isUndef(a.data.domProps))return;var n,r,i=a.elm,s=e.data.domProps||{},l=a.data.domProps||{};isDef(l.__ob__)&&(l=a.data.domProps=extend({},l));for(n in s)n in l||(i[n]="");for(n in l){if(r=l[n],n==="textContent"||n==="innerHTML"){if(a.children&&(a.children.length=0),r===s[n])continue;i.childNodes.length===1&&i.removeChild(i.childNodes[0])}if(n==="value"&&i.tagName!=="PROGRESS"){i._value=r;var c=isUndef(r)?"":String(r);shouldUpdateValue(i,c)&&(i.value=c)}else if(n==="innerHTML"&&isSVG(i.tagName)&&isUndef(i.innerHTML)){svgContainer=svgContainer||document.createElement("div"),svgContainer.innerHTML=""+r+"";for(var o=svgContainer.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;o.firstChild;)i.appendChild(o.firstChild)}else if(r!==s[n])try{i[n]=r}catch(d){}}}function shouldUpdateValue(e,a){return!e.composing&&(e.tagName==="OPTION"||isNotInFocusAndDirty(e,a)||isDirtyWithModifiers(e,a))}function isNotInFocusAndDirty(e,a){var n=!0;try{n=document.activeElement!==e}catch(r){}return n&&e.value!==a}function isDirtyWithModifiers(e,a){var n=e.value,r=e._vModifiers;if(isDef(r)){if(r.number)return toNumber(n)!==toNumber(a);if(r.trim)return n.trim()!==a.trim()}return n!==a}var domProps={create:updateDOMProps,update:updateDOMProps},parseStyleText=cached(function(e){var a={},n=/;(?![^(]*\))/g,r=/:(.+)/;return e.split(n).forEach(function(i){if(i){var s=i.split(r);s.length>1&&(a[s[0].trim()]=s[1].trim())}}),a});function normalizeStyleData(e){var a=normalizeStyleBinding(e.style);return e.staticStyle?extend(e.staticStyle,a):a}function normalizeStyleBinding(e){return Array.isArray(e)?toObject(e):typeof e=="string"?parseStyleText(e):e}function getStyle(e,a){var n={},r;if(a)for(var i=e;i.componentInstance;)i=i.componentInstance._vnode,i&&i.data&&(r=normalizeStyleData(i.data))&&extend(n,r);(r=normalizeStyleData(e.data))&&extend(n,r);for(var s=e;s=s.parent;)s.data&&(r=normalizeStyleData(s.data))&&extend(n,r);return n}var cssVarRE=/^--/,importantRE=/\s*!important$/,setProp=function(e,a,n){if(cssVarRE.test(a))e.style.setProperty(a,n);else if(importantRE.test(n))e.style.setProperty(hyphenate(a),n.replace(importantRE,""),"important");else{var r=normalize(a);if(Array.isArray(n))for(var i=0,s=n.length;i-1?a.split(whitespaceRE).forEach(function(r){return e.classList.add(r)}):e.classList.add(a);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+a+" ")<0&&e.setAttribute("class",(n+a).trim())}}function removeClass(e,a){if(!a||!(a=a.trim()))return;if(e.classList)a.indexOf(" ")>-1?a.split(whitespaceRE).forEach(function(i){return e.classList.remove(i)}):e.classList.remove(a),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+a+" ";n.indexOf(r)>=0;)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function resolveTransition(e){if(!e)return;if(typeof e=="object"){var a={};return e.css!==!1&&extend(a,autoCssTransition(e.name||"v")),extend(a,e),a}else if(typeof e=="string")return autoCssTransition(e)}var autoCssTransition=cached(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),hasTransition=inBrowser&&!isIE9,TRANSITION="transition",ANIMATION="animation",transitionProp="transition",transitionEndEvent="transitionend",animationProp="animation",animationEndEvent="animationend";hasTransition&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(transitionProp="WebkitTransition",transitionEndEvent="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(animationProp="WebkitAnimation",animationEndEvent="webkitAnimationEnd"));var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function nextFrame(e){raf(function(){raf(e)})}function addTransitionClass(e,a){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(a)<0&&(n.push(a),addClass(e,a))}function removeTransitionClass(e,a){e._transitionClasses&&remove(e._transitionClasses,a),removeClass(e,a)}function whenTransitionEnds(e,a,n){var r=getTransitionInfo(e,a),i=r.type,s=r.timeout,l=r.propCount;if(!i)return n();var c=i===TRANSITION?transitionEndEvent:animationEndEvent,o=0,d=function(){e.removeEventListener(c,u),n()},u=function(f){f.target===e&&(++o>=l&&d())};setTimeout(function(){o0&&(d=TRANSITION,u=s,f=i.length):a===ANIMATION?o>0&&(d=ANIMATION,u=o,f=c.length):(u=Math.max(s,o),d=u>0?s>o?TRANSITION:ANIMATION:null,f=d?d===TRANSITION?i.length:c.length:0);var h=d===TRANSITION&&transformRE.test(n[transitionProp+"Property"]);return{type:d,timeout:u,propCount:f,hasTransform:h}}function getTimeout(e,a){for(;e.length1}function _enter(e,a){a.data.show!==!0&&enter(a)}var transition=inBrowser?{create:_enter,activate:_enter,remove:function(a,n){a.data.show!==!0?leave(a,n):n()}}:{},platformModules=[attrs,klass,events,domProps,style,transition],modules=platformModules.concat(baseModules),patch=createPatchFunction({nodeOps,modules});isIE9&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&trigger(e,"input")});var directive={inserted:function(a,n,r,i){r.tag==="select"?(i.elm&&!i.elm._vOptions?mergeVNodeHook(r,"postpatch",function(){directive.componentUpdated(a,n,r)}):setSelected(a,n,r.context),a._vOptions=[].map.call(a.options,getValue)):(r.tag==="textarea"||isTextInputType(a.type))&&(a._vModifiers=n.modifiers,n.modifiers.lazy||(a.addEventListener("compositionstart",onCompositionStart),a.addEventListener("compositionend",onCompositionEnd),a.addEventListener("change",onCompositionEnd),isIE9&&(a.vmodel=!0)))},componentUpdated:function(a,n,r){if(r.tag==="select"){setSelected(a,n,r.context);var i=a._vOptions,s=a._vOptions=[].map.call(a.options,getValue);if(s.some(function(c,o){return!looseEqual(c,i[o])})){var l=a.multiple?n.value.some(function(c){return hasNoMatchingOption(c,s)}):n.value!==n.oldValue&&hasNoMatchingOption(n.value,s);l&&trigger(a,"change")}}}};function setSelected(e,a,n){actuallySetSelected(e,a),(isIE||isEdge)&&setTimeout(function(){actuallySetSelected(e,a)},0)}function actuallySetSelected(e,a,n){var r=a.value,i=e.multiple;if(i&&!Array.isArray(r))return;for(var s,l,c=0,o=e.options.length;c-1,l.selected!==s&&(l.selected=s);else if(looseEqual(getValue(l),r)){e.selectedIndex!==c&&(e.selectedIndex=c);return}i||(e.selectedIndex=-1)}function hasNoMatchingOption(e,a){return a.every(function(n){return!looseEqual(n,e)})}function getValue(e){return"_value"in e?e._value:e.value}function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){if(!e.target.composing)return;e.target.composing=!1,trigger(e.target,"input")}function trigger(e,a){var n=document.createEvent("HTMLEvents");n.initEvent(a,!0,!0),e.dispatchEvent(n)}function locateNode(e){return e.componentInstance&&(!e.data||!e.data.transition)?locateNode(e.componentInstance._vnode):e}var show={bind:function(a,n,r){var i=n.value;r=locateNode(r);var s=r.data&&r.data.transition,l=a.__vOriginalDisplay=a.style.display==="none"?"":a.style.display;i&&s?(r.data.show=!0,enter(r,function(){a.style.display=l})):a.style.display=i?l:"none"},update:function(a,n,r){var i=n.value,s=n.oldValue;if(!i===!s)return;r=locateNode(r);var l=r.data&&r.data.transition;l?(r.data.show=!0,i?enter(r,function(){a.style.display=a.__vOriginalDisplay}):leave(r,function(){a.style.display="none"})):a.style.display=i?a.__vOriginalDisplay:"none"},unbind:function(a,n,r,i,s){s||(a.style.display=a.__vOriginalDisplay)}},platformDirectives={model:directive,show},transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function getRealChild(e){var a=e&&e.componentOptions;return a&&a.Ctor.options.abstract?getRealChild(getFirstComponentChild(a.children)):e}function extractTransitionData(e){var a={},n=e.$options;for(var r in n.propsData)a[r]=e[r];var i=n._parentListeners;for(var s in i)a[camelize(s)]=i[s];return a}function placeholder(e,a){if(/\d-keep-alive$/.test(a.tag))return e("keep-alive",{props:a.componentOptions.propsData})}function hasParentTransition(e){for(;e=e.parent;)if(e.data.transition)return!0}function isSameChild(e,a){return a.key===e.key&&a.tag===e.tag}var isNotTextNode=function(e){return e.tag||isAsyncPlaceholder(e)},isVShowDirective=function(e){return e.name==="show"},Transition={name:"transition",props:transitionProps,abstract:!0,render:function(a){var n=this,r=this.$slots.default;if(!r)return;if(r=r.filter(isNotTextNode),!r.length)return;var i=this.mode,s=r[0];if(hasParentTransition(this.$vnode))return s;var l=getRealChild(s);if(!l)return s;if(this._leaving)return placeholder(a,s);var c="__transition-"+this._uid+"-";l.key=l.key==null?l.isComment?c+"comment":c+l.tag:isPrimitive(l.key)?String(l.key).indexOf(c)===0?l.key:c+l.key:l.key;var o=(l.data||(l.data={})).transition=extractTransitionData(this),d=this._vnode,u=getRealChild(d);if(l.data.directives&&l.data.directives.some(isVShowDirective)&&(l.data.show=!0),u&&u.data&&!isSameChild(l,u)&&!isAsyncPlaceholder(u)&&!(u.componentInstance&&u.componentInstance._vnode.isComment)){var f=u.data.transition=extend({},o);if(i==="out-in")return this._leaving=!0,mergeVNodeHook(f,"afterLeave",function(){n._leaving=!1,n.$forceUpdate()}),placeholder(a,s);if(i==="in-out"){if(isAsyncPlaceholder(l))return d;var h,m=function(){h()};mergeVNodeHook(o,"afterEnter",m),mergeVNodeHook(o,"enterCancelled",m),mergeVNodeHook(f,"delayLeave",function(v){h=v})}}return s}},props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props,beforeMount:function(){var a=this,n=this._update;this._update=function(r,i){var s=setActiveInstance(a);a.__patch__(a._vnode,a.kept,!1,!0),a._vnode=a.kept,s(),n.call(a,r,i)}},render:function(a){for(var n=this.tag||this.$vnode.data.tag||"span",r=Object.create(null),i=this.prevChildren=this.children,s=this.$slots.default||[],l=this.children=[],c=extractTransitionData(this),o=0;os&&(i.push(o=e.slice(s,c)),r.push(JSON.stringify(o)));var d=parseFilters(l[1].trim());r.push("_s("+d+")"),i.push({"@binding":d}),s=c+l[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ncname="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+unicodeRegExp.source+"]*",qnameCapture="((?:"+ncname+"\\:)?"+ncname+")",startTagOpen=new RegExp("^<"+qnameCapture),startTagClose=/^\s*(\/?)>/,endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>"),doctype=/^]+>/i,comment=/^",""":'"',"&":"&"," ":` `," ":" ","'":"'"},encodedAttr=/&(?:lt|gt|quot|amp|#39);/g,encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,isIgnoreNewlineTag=makeMap("pre,textarea",!0),shouldIgnoreFirstNewline=function(e,a){return e&&isIgnoreNewlineTag(e)&&a[0]===` -`};function decodeAttr(e,a){var n=a?encodedAttrWithNewLines:encodedAttr;return e.replace(n,function(r){return decodingMap[r]})}function parseHTML(e,a){for(var n=[],r=a.expectHTML,i=a.isUnaryTag||no,s=a.canBeLeftOpenTag||no,l=0,c,o;e;){if(c=e,!o||!isPlainTextElement(o)){var d=e.indexOf("<");if(d===0){if(comment.test(e)){var u=e.indexOf("-->");if(u>=0){a.shouldKeepComment&&a.comment(e.substring(4,u),l,l+u+3),C(u+3);continue}}if(conditionalComment.test(e)){var f=e.indexOf("]>");if(f>=0){C(f+2);continue}}var h=e.match(doctype);if(h){C(h[0].length);continue}var m=e.match(endTag);if(m){var v=l;C(m[0].length),E(m[1],v,l);continue}var y=R();if(y){U(y),shouldIgnoreFirstNewline(y.tagName,e)&&C(1);continue}}var k=void 0,w=void 0,x=void 0;if(d>=0){for(w=e.slice(d);!endTag.test(w)&&!startTagOpen.test(w)&&!comment.test(w)&&!conditionalComment.test(w)&&!(x=w.indexOf("<",1),x<0);)d+=x,w=e.slice(d);k=e.substring(0,d)}d<0&&(k=e),k&&C(k.length),a.chars&&k&&a.chars(k,l-k.length,l)}else{var A=0,M=o.toLowerCase(),D=reCache[M]||(reCache[M]=new RegExp("([\\s\\S]*?)(]*>)","i")),T=e.replace(D,function(I,g,b){return A=b.length,!isPlainTextElement(M)&&M!=="noscript"&&(g=g.replace(//g,"$1").replace(//g,"$1")),shouldIgnoreFirstNewline(M,g)&&(g=g.slice(1)),a.chars&&a.chars(g),""});l+=e.length-T.length,e=T,E(M,l-A,l)}if(e===c){a.chars&&a.chars(e);break}}E();function C(I){l+=I,e=e.substring(I)}function R(){var I=e.match(startTagOpen);if(I){var g={tagName:I[1],attrs:[],start:l};C(I[0].length);for(var b,_;!(b=e.match(startTagClose))&&(_=e.match(dynamicArgAttribute)||e.match(attribute));)_.start=l,C(_[0].length),_.end=l,g.attrs.push(_);if(b)return g.unarySlash=b[1],C(b[0].length),g.end=l,g}}function U(I){var g=I.tagName,b=I.unarySlash;r&&(o==="p"&&isNonPhrasingTag(g)&&E(o),s(g)&&o===g&&E(g));for(var _=i(g)||!!b,S=I.attrs.length,z=new Array(S),P=0;P=0&&!(n[_].lowerCasedTag===S);_--);else _=0;if(_>=0){for(var z=n.length-1;z>=_;z--)a.end&&a.end(n[z].tag,g,b);n.length=_,o=_&&n[_-1].tag}else S==="br"?a.start&&a.start(I,[],!0,g,b):S==="p"&&(a.start&&a.start(I,[],!1,g,b),a.end&&a.end(I,g,b))}}var onRE=/^@|^v-on:/,dirRE=/^v-|^@|^:|^#/,forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g,dynamicArgRE=/^\[.*\]$/,argRE=/:(.*)$/,bindRE=/^:|^\.|^v-bind:/,modifierRE=/\.[^.\]]+(?=[^\]]*$)/g,slotRE=/^v-slot(:|$)|^#/,lineBreakRE=/[\r\n]/,whitespaceRE$1=/\s+/g,decodeHTMLCached=cached(he.decode),emptySlotScopeToken="_empty_",warn$2,delimiters,transforms,preTransforms,postTransforms,platformIsPreTag,platformMustUseProp,platformGetTagNamespace;function createASTElement(e,a,n){return{type:1,tag:e,attrsList:a,attrsMap:makeAttrsMap(a),rawAttrsMap:{},parent:n,children:[]}}function parse(e,a){warn$2=a.warn||baseWarn,platformIsPreTag=a.isPreTag||no,platformMustUseProp=a.mustUseProp||no,platformGetTagNamespace=a.getTagNamespace||no;var n=a.isReservedTag||no;transforms=pluckModuleFunction(a.modules,"transformNode"),preTransforms=pluckModuleFunction(a.modules,"preTransformNode"),postTransforms=pluckModuleFunction(a.modules,"postTransformNode"),delimiters=a.delimiters;var r=[],i=a.preserveWhitespace!==!1,s=a.whitespace,l,c,o=!1,d=!1;function u(h){if(f(h),!o&&!h.processed&&(h=processElement(h,a)),!r.length&&h!==l&&(l.if&&(h.elseif||h.else)&&addIfCondition(l,{exp:h.elseif,block:h})),c&&!h.forbidden)if(h.elseif||h.else)processIfConditions(h,c);else{if(h.slotScope){var m=h.slotTarget||'"default"';(c.scopedSlots||(c.scopedSlots={}))[m]=h}c.children.push(h),h.parent=c}h.children=h.children.filter(function(y){return!y.slotScope}),f(h),h.pre&&(o=!1),platformIsPreTag(h.tag)&&(d=!1);for(var v=0;v|^function(?:\s+[\w$]+)?\s*\(/,fnInvokeRE=/\([^)]*?\);*$/,simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},keyNames={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},genGuard=function(e){return"if("+e+")return null;"},modifierCode={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(e,a){var n=a?"nativeOn:":"on:",r="",i="";for(var s in e){var l=genHandler(e[s]);e[s]&&e[s].dynamic?i+=s+","+l+",":r+='"'+s+'":'+l+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function genHandler(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(u){return genHandler(u)}).join(",")+"]";var a=simplePathRE.test(e.value),n=fnExpRE.test(e.value),r=simplePathRE.test(e.value.replace(fnInvokeRE,""));if(e.modifiers){var i="",s="",l=[];for(var c in e.modifiers)if(modifierCode[c])s+=modifierCode[c],keyCodes[c]&&l.push(c);else if(c==="exact"){var o=e.modifiers;s+=genGuard(["ctrl","shift","alt","meta"].filter(function(u){return!o[u]}).map(function(u){return"$event."+u+"Key"}).join("||"))}else l.push(c);l.length&&(i+=genKeyFilter(l)),s&&(i+=s);var d=a?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value;return"function($event){"+i+d+"}"}else return a||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function genKeyFilter(e){return"if(!$event.type.indexOf('key')&&"+e.map(genFilterCode).join("&&")+")return null;"}function genFilterCode(e){var a=parseInt(e,10);if(a)return"$event.keyCode!=="+a;var n=keyCodes[e],r=keyNames[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}function on(e,a){e.wrapListeners=function(n){return"_g("+n+","+a.value+")"}}function bind$1(e,a){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+a.value+","+(a.modifiers&&a.modifiers.prop?"true":"false")+(a.modifiers&&a.modifiers.sync?",true":"")+")"}}var baseDirectives={on,bind:bind$1,cloak:noop},CodegenState=function(a){this.options=a,this.warn=a.warn||baseWarn,this.transforms=pluckModuleFunction(a.modules,"transformCode"),this.dataGenFns=pluckModuleFunction(a.modules,"genData"),this.directives=extend(extend({},baseDirectives),a.directives);var n=a.isReservedTag||no;this.maybeComponent=function(r){return!!r.component||!n(r.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function generate(e,a){var n=new CodegenState(a),r=e?genElement(e,n):'_c("div")';return{render:"with(this){return "+r+"}",staticRenderFns:n.staticRenderFns}}function genElement(e,a){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return genStatic(e,a);if(e.once&&!e.onceProcessed)return genOnce(e,a);if(e.for&&!e.forProcessed)return genFor(e,a);if(e.if&&!e.ifProcessed)return genIf(e,a);if(e.tag==="template"&&!e.slotTarget&&!a.pre)return genChildren(e,a)||"void 0";if(e.tag==="slot")return genSlot(e,a);var n;if(e.component)n=genComponent(e.component,e,a);else{var r;(!e.plain||e.pre&&a.maybeComponent(e))&&(r=genData$2(e,a));var i=e.inlineTemplate?null:genChildren(e,a,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var s=0;s>>0}function containsSlotChild(e){return e.type===1?e.tag==="slot"?!0:e.children.some(containsSlotChild):!1}function genScopedSlot(e,a){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return genIf(e,a,genScopedSlot,"null");if(e.for&&!e.forProcessed)return genFor(e,a,genScopedSlot);var r=e.slotScope===emptySlotScopeToken?"":String(e.slotScope),i="function("+r+"){return "+(e.tag==="template"?e.if&&n?"("+e.if+")?"+(genChildren(e,a)||"undefined")+":undefined":genChildren(e,a)||"undefined":genElement(e,a))+"}",s=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+i+s+"}"}function genChildren(e,a,n,r,i){var s=e.children;if(s.length){var l=s[0];if(s.length===1&&l.for&&l.tag!=="template"&&l.tag!=="slot"){var c=n?a.maybeComponent(l)?",1":",0":"";return""+(r||genElement)(l,a)+c}var o=n?getNormalizationType(s,a.maybeComponent):0,d=i||genNode;return"["+s.map(function(u){return d(u,a)}).join(",")+"]"+(o?","+o:"")}}function getNormalizationType(e,a){for(var n=0,r=0;r");if(u>=0){a.shouldKeepComment&&a.comment(e.substring(4,u),l,l+u+3),C(u+3);continue}}if(conditionalComment.test(e)){var f=e.indexOf("]>");if(f>=0){C(f+2);continue}}var h=e.match(doctype);if(h){C(h[0].length);continue}var m=e.match(endTag);if(m){var v=l;C(m[0].length),E(m[1],v,l);continue}var y=R();if(y){U(y),shouldIgnoreFirstNewline(y.tagName,e)&&C(1);continue}}var k=void 0,w=void 0,x=void 0;if(d>=0){for(w=e.slice(d);!endTag.test(w)&&!startTagOpen.test(w)&&!comment.test(w)&&!conditionalComment.test(w)&&!(x=w.indexOf("<",1),x<0);)d+=x,w=e.slice(d);k=e.substring(0,d)}d<0&&(k=e),k&&C(k.length),a.chars&&k&&a.chars(k,l-k.length,l)}else{var A=0,M=o.toLowerCase(),D=reCache[M]||(reCache[M]=new RegExp("([\\s\\S]*?)(]*>)","i")),T=e.replace(D,function(I,g,b){return A=b.length,!isPlainTextElement(M)&&M!=="noscript"&&(g=g.replace(//g,"$1").replace(//g,"$1")),shouldIgnoreFirstNewline(M,g)&&(g=g.slice(1)),a.chars&&a.chars(g),""});l+=e.length-T.length,e=T,E(M,l-A,l)}if(e===c){a.chars&&a.chars(e);break}}E();function C(I){l+=I,e=e.substring(I)}function R(){var I=e.match(startTagOpen);if(I){var g={tagName:I[1],attrs:[],start:l};C(I[0].length);for(var b,_;!(b=e.match(startTagClose))&&(_=e.match(dynamicArgAttribute)||e.match(attribute));)_.start=l,C(_[0].length),_.end=l,g.attrs.push(_);if(b)return g.unarySlash=b[1],C(b[0].length),g.end=l,g}}function U(I){var g=I.tagName,b=I.unarySlash;r&&(o==="p"&&isNonPhrasingTag(g)&&E(o),s(g)&&o===g&&E(g));for(var _=i(g)||!!b,S=I.attrs.length,z=new Array(S),P=0;P=0&&!(n[_].lowerCasedTag===S);_--);else _=0;if(_>=0){for(var z=n.length-1;z>=_;z--)a.end&&a.end(n[z].tag,g,b);n.length=_,o=_&&n[_-1].tag}else S==="br"?a.start&&a.start(I,[],!0,g,b):S==="p"&&(a.start&&a.start(I,[],!1,g,b),a.end&&a.end(I,g,b))}}var onRE=/^@|^v-on:/,dirRE=/^v-|^@|^:|^#/,forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g,dynamicArgRE=/^\[.*\]$/,argRE=/:(.*)$/,bindRE=/^:|^\.|^v-bind:/,modifierRE=/\.[^.\]]+(?=[^\]]*$)/g,slotRE=/^v-slot(:|$)|^#/,lineBreakRE=/[\r\n]/,whitespaceRE$1=/\s+/g,decodeHTMLCached=cached(he.decode),emptySlotScopeToken="_empty_",warn$2,delimiters,transforms,preTransforms,postTransforms,platformIsPreTag,platformMustUseProp,platformGetTagNamespace;function createASTElement(e,a,n){return{type:1,tag:e,attrsList:a,attrsMap:makeAttrsMap(a),rawAttrsMap:{},parent:n,children:[]}}function parse(e,a){warn$2=a.warn||baseWarn,platformIsPreTag=a.isPreTag||no,platformMustUseProp=a.mustUseProp||no,platformGetTagNamespace=a.getTagNamespace||no;var n=a.isReservedTag||no;transforms=pluckModuleFunction(a.modules,"transformNode"),preTransforms=pluckModuleFunction(a.modules,"preTransformNode"),postTransforms=pluckModuleFunction(a.modules,"postTransformNode"),delimiters=a.delimiters;var r=[],i=a.preserveWhitespace!==!1,s=a.whitespace,l,c,o=!1,d=!1;function u(h){if(f(h),!o&&!h.processed&&(h=processElement(h,a)),!r.length&&h!==l&&(l.if&&(h.elseif||h.else)&&addIfCondition(l,{exp:h.elseif,block:h})),c&&!h.forbidden)if(h.elseif||h.else)processIfConditions(h,c);else{if(h.slotScope){var m=h.slotTarget||'"default"';(c.scopedSlots||(c.scopedSlots={}))[m]=h}c.children.push(h),h.parent=c}h.children=h.children.filter(function(y){return!y.slotScope}),f(h),h.pre&&(o=!1),platformIsPreTag(h.tag)&&(d=!1);for(var v=0;v|^function(?:\s+[\w$]+)?\s*\(/,fnInvokeRE=/\([^)]*?\);*$/,simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},keyNames={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},genGuard=function(e){return"if("+e+")return null;"},modifierCode={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(e,a){var n=a?"nativeOn:":"on:",r="",i="";for(var s in e){var l=genHandler(e[s]);e[s]&&e[s].dynamic?i+=s+","+l+",":r+='"'+s+'":'+l+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function genHandler(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(u){return genHandler(u)}).join(",")+"]";var a=simplePathRE.test(e.value),n=fnExpRE.test(e.value),r=simplePathRE.test(e.value.replace(fnInvokeRE,""));if(e.modifiers){var i="",s="",l=[];for(var c in e.modifiers)if(modifierCode[c])s+=modifierCode[c],keyCodes[c]&&l.push(c);else if(c==="exact"){var o=e.modifiers;s+=genGuard(["ctrl","shift","alt","meta"].filter(function(u){return!o[u]}).map(function(u){return"$event."+u+"Key"}).join("||"))}else l.push(c);l.length&&(i+=genKeyFilter(l)),s&&(i+=s);var d=a?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value;return"function($event){"+i+d+"}"}else return a||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function genKeyFilter(e){return"if(!$event.type.indexOf('key')&&"+e.map(genFilterCode).join("&&")+")return null;"}function genFilterCode(e){var a=parseInt(e,10);if(a)return"$event.keyCode!=="+a;var n=keyCodes[e],r=keyNames[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}function on(e,a){e.wrapListeners=function(n){return"_g("+n+","+a.value+")"}}function bind$1(e,a){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+a.value+","+(a.modifiers&&a.modifiers.prop?"true":"false")+(a.modifiers&&a.modifiers.sync?",true":"")+")"}}var baseDirectives={on,bind:bind$1,cloak:noop},CodegenState=function(a){this.options=a,this.warn=a.warn||baseWarn,this.transforms=pluckModuleFunction(a.modules,"transformCode"),this.dataGenFns=pluckModuleFunction(a.modules,"genData"),this.directives=extend(extend({},baseDirectives),a.directives);var n=a.isReservedTag||no;this.maybeComponent=function(r){return!!r.component||!n(r.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function generate(e,a){var n=new CodegenState(a),r=e?genElement(e,n):'_c("div")';return{render:"with(this){return "+r+"}",staticRenderFns:n.staticRenderFns}}function genElement(e,a){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return genStatic(e,a);if(e.once&&!e.onceProcessed)return genOnce(e,a);if(e.for&&!e.forProcessed)return genFor(e,a);if(e.if&&!e.ifProcessed)return genIf(e,a);if(e.tag==="template"&&!e.slotTarget&&!a.pre)return genChildren(e,a)||"void 0";if(e.tag==="slot")return genSlot(e,a);var n;if(e.component)n=genComponent(e.component,e,a);else{var r;(!e.plain||e.pre&&a.maybeComponent(e))&&(r=genData$2(e,a));var i=e.inlineTemplate?null:genChildren(e,a,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var s=0;s>>0}function containsSlotChild(e){return e.type===1?e.tag==="slot"?!0:e.children.some(containsSlotChild):!1}function genScopedSlot(e,a){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return genIf(e,a,genScopedSlot,"null");if(e.for&&!e.forProcessed)return genFor(e,a,genScopedSlot);var r=e.slotScope===emptySlotScopeToken?"":String(e.slotScope),i="function("+r+"){return "+(e.tag==="template"?e.if&&n?"("+e.if+")?"+(genChildren(e,a)||"undefined")+":undefined":genChildren(e,a)||"undefined":genElement(e,a))+"}",s=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+i+s+"}"}function genChildren(e,a,n,r,i){var s=e.children;if(s.length){var l=s[0];if(s.length===1&&l.for&&l.tag!=="template"&&l.tag!=="slot"){var c=n?a.maybeComponent(l)?",1":",0":"";return""+(r||genElement)(l,a)+c}var o=n?getNormalizationType(s,a.maybeComponent):0,d=i||genNode;return"["+s.map(function(u){return d(u,a)}).join(",")+"]"+(o?","+o:"")}}function getNormalizationType(e,a){for(var n=0,r=0;r`:`
`,div.innerHTML.indexOf(" ")>0}var shouldDecodeNewlines=inBrowser?getShouldDecode(!1):!1,shouldDecodeNewlinesForHref=inBrowser?getShouldDecode(!0):!1,idToTemplate=cached(function(e){var a=query(e);return a&&a.innerHTML}),mount=Vue.prototype.$mount;Vue.prototype.$mount=function(e,a){if(e=e&&query(e),e===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if(typeof r=="string")r.charAt(0)==="#"&&(r=idToTemplate(r));else if(r.nodeType)r=r.innerHTML;else return this;else e&&(r=getOuterHTML(e));if(r){var i=compileToFunctions(r,{outputSourceRange:!1,shouldDecodeNewlines,shouldDecodeNewlinesForHref,delimiters:n.delimiters,comments:n.comments},this),s=i.render,l=i.staticRenderFns;n.render=s,n.staticRenderFns=l}}return mount.call(this,e,a)};function getOuterHTML(e){if(e.outerHTML)return e.outerHTML;var a=document.createElement("div");return a.appendChild(e.cloneNode(!0)),a.innerHTML}Vue.compile=compileToFunctions;function styleInject(e,a){a===void 0&&(a={});var n=a.insertAt;if(!e||typeof document=="undefined")return;var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}var css_248z=`/* fallback */ @@ -2494,7 +2494,7 @@ a { `;styleInject(css_248z$8);let wasEventListenerAdded=!1;class CustomSocket extends WebSocket{constructor(a){super(a)}emit(a,n){if(this.readyState!==WebSocket.OPEN)return!1;this.send(JSON.stringify({key:a,data:n}))}on(a,n){wasEventListenerAdded||(wasEventListenerAdded=!0,this.addEventListener("message",r=>{const i=JSON.parse(r.data);i.key===a&&n(i.data)}))}off(){console.log("off!")}}const socket=new CustomSocket("ws://"+location.host+"/");var __vue_render__=function(e,a){var n=a._c;return n("div",{directives:[{name:"show",rawName:"v-show",value:!a.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:a.props.additionalClasses},[n("span",{staticClass:"mb-5"},[a._v(a._s(a.props.text||"Loading..."))]),a._v(" "),a._m(0)])},__vue_staticRenderFns__=[function(e,a){var n=a._c;return n("div",{staticClass:"lds-ring"},[n("div"),a._v(" "),n("div"),a._v(" "),n("div"),a._v(" "),n("div")])}];const __vue_inject_styles__=function(e){if(!e)return;e("data-v-20045564_0",{source:".lds-ring[data-v-20045564]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-20045564]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring-data-v-20045564 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-20045564]:nth-child(1){animation-delay:-.45s}.lds-ring div[data-v-20045564]:nth-child(2){animation-delay:-.3s}.lds-ring div[data-v-20045564]:nth-child(3){animation-delay:-.15s}@keyframes lds-ring-data-v-20045564{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}",map:void 0,media:void 0})},__vue_scope_id__="data-v-20045564",__vue_module_identifier__=void 0,__vue_is_functional_template__=!0;function __vue_normalize__(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="BaseLoadingPlaceholder.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__.styles||(__vue_create_injector__.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` /*# sourceURL=`+s.map.sources[0]+" */",o+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var BaseLoadingPlaceholder=__vue_normalize__({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,__vue_create_injector__);function fetchApi(e,a){const n=new URL(`${window.location.origin}/api/${e}`);return Object.keys(a).forEach(r=>{n.searchParams.append(r,a[r])}),fetch(n.href).then(r=>r.json())}function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");fetchApi("addToQueue",{url:e,bitrate:a})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,r;return n=Math.floor(e/60),a=Math.floor(n/60),r=e-n*60,n-=a*60,[a,n,r]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var r;return function(){var i=this,s=arguments,l=function(){r=null,n||e.apply(i,s)},c=n&&!r;clearTimeout(r),r=setTimeout(l,a),c&&e.apply(i,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n),i=r?n.split(".").reduce((s,l)=>{if(s)return s[l]},e):e[n];if(typeof i!="undefined")return i}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,r)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+r,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:r}=window,i=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(i>r){const l=i-r+15;this.xPos=`${e-l}px`}if(s>n){const l=s-n+15;this.yPos=`${a-l}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(r){return n("button",{directives:[{name:"show",rawName:"v-show",value:r.show,expression:"option.show"}],key:r.label,staticClass:"btn menu-option",on:{click:function(i){return i.preventDefault(),r.action(i)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(r.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){if(!e)return;e("data-v-ce73bd68_0",{source:".context-menu[data-v-ce73bd68]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-ce73bd68]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-ce73bd68]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-ce73bd68]{text-transform:capitalize}button[data-v-ce73bd68]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-ce73bd68]:focus{outline:0}button[data-v-ce73bd68]:active{background-color:unset;transform:unset}button[data-v-ce73bd68]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-ce73bd68",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;function __vue_normalize__$1(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheContextMenu.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$1(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$1.styles||(__vue_create_injector__$1.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var BaseLoadingPlaceholder=__vue_normalize__({render:__vue_render__,staticRenderFns:__vue_staticRenderFns__},__vue_inject_styles__,{},__vue_scope_id__,__vue_is_functional_template__,__vue_module_identifier__,__vue_create_injector__);function fetchData(e,a={}){const n=new URL(`${window.location.origin}/api/${e}`);return Object.keys(a).forEach(r=>{n.searchParams.append(r,a[r])}),fetch(n.href).then(r=>r.json())}function sendToServer(e,a){const n=new URL(`${window.location.origin}/api/${e}`);Object.keys(a).forEach(r=>{n.searchParams.append(r,a[r])}),fetch(n.href).catch(console.error)}function sendAddToQueue(e,a=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");sendToServer("addToQueue",{url:e,bitrate:a})}function aggregateDownloadLinks(e){let a=[];return e.forEach(n=>{a.push(n.link)}),a.join(";")}function generatePath(e){if(!e)throw new Error("No element passed to the generatePath function!");let a=[e];for(;(e=e.parentNode)&&e!==document;)a.push(e);return a}function isValidURL(e){let a=e.toLowerCase();if(a.startsWith("http")){if(a.indexOf("deezer.com")>=0||a.indexOf("deezer.page.link")>=0||a.indexOf("open.spotify.com")>=0||a.indexOf("link.tospotify.com")>=0)return!0}else if(a.startsWith("spotify:"))return!0;return!1}function convertDuration(e){let a,n;return a=Math.floor(e/60),n=e-a*60,n<10&&(n="0"+n),a+":"+n}function convertDurationSeparated(e){let a,n,r;return n=Math.floor(e/60),a=Math.floor(n/60),r=e-n*60,n-=a*60,[a,n,r]}function numberWithDots(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")}function debounce(e,a,n){var r;return function(){var i=this,s=arguments,l=function(){r=null,n||e.apply(i,s)},c=n&&!r;clearTimeout(r),r=setTimeout(l,a),c&&e.apply(i,s)}}function copyToClipboard(e){const a=document.createElement("input");document.body.appendChild(a),a.setAttribute("type","text"),a.setAttribute("value",e),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),a.remove()}function getPropertyWithFallback(e,...a){for(const n of a){let r=/\./.test(n),i=r?n.split(".").reduce((s,l)=>{if(s)return s[l]},e):e[n];if(typeof i!="undefined")return i}return null}var Utils={isValidURL,convertDuration,convertDurationSeparated,numberWithDots,debounce};const downloadQualities=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];var script={data(){return{menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}},computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{copyToClipboard(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{copyToClipboard(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{copyToClipboard(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{clipboard in navigator?navigator.clipboard.readText().then(n=>{document.execCommand("insertText",void 0,n)}):document.execCommand("paste")}}};let a=Object.values(e).length+1;return downloadQualities.forEach((n,r)=>{e[n.objName]={label:`${this.$t("globals.download",{thing:n.label})}`,show:!1,position:a+r,action:sendAddToQueue.bind(null,this.deezerHref,n.value)}}),e},sortedOptions(){return Object.values(this.options).sort((e,a)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,downloadQualities.forEach(e=>{this.options[e.objName].show=!1})}).catch(e=>{console.error(e)})},positionMenu(e,a){this.xPos=`${e}px`,this.yPos=`${a}px`,this.$nextTick().then(()=>{const{innerHeight:n,innerWidth:r}=window,i=e+this.$refs.contextMenu.getBoundingClientRect().width,s=a+this.$refs.contextMenu.getBoundingClientRect().height;if(i>r){const l=i-r+15;this.xPos=`${e-l}px`}if(s>n){const l=s-n+15;this.yPos=`${a-l}px`}})},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),downloadQualities.forEach(a=>{this.options[a.objName].show=!0})}}};const __vue_script__=script;var __vue_render__$1=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,function(r){return n("button",{directives:[{name:"show",rawName:"v-show",value:r.show,expression:"option.show"}],key:r.label,staticClass:"btn menu-option",on:{click:function(i){return i.preventDefault(),r.action(i)}}},[n("span",{staticClass:"menu-option__text"},[e._v(e._s(r.label))])])}),0)},__vue_staticRenderFns__$1=[];const __vue_inject_styles__$1=function(e){if(!e)return;e("data-v-ce73bd68_0",{source:".context-menu[data-v-ce73bd68]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-ce73bd68]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-ce73bd68]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-ce73bd68]{text-transform:capitalize}button[data-v-ce73bd68]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-ce73bd68]:focus{outline:0}button[data-v-ce73bd68]:active{background-color:unset;transform:unset}button[data-v-ce73bd68]:hover{background:unset;border:unset}",map:void 0,media:void 0})},__vue_scope_id__$1="data-v-ce73bd68",__vue_module_identifier__$1=void 0,__vue_is_functional_template__$1=!1;function __vue_normalize__$1(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="TheContextMenu.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$1(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$1.styles||(__vue_create_injector__$1.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` /*# sourceURL=`+s.map.sources[0]+" */",o+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` `);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var TheContextMenu=__vue_normalize__$1({render:__vue_render__$1,staticRenderFns:__vue_staticRenderFns__$1},__vue_inject_styles__$1,__vue_script__,__vue_scope_id__$1,__vue_is_functional_template__$1,__vue_module_identifier__$1,__vue_create_injector__$1);/*! @@ -2990,7 +2990,7 @@ PERFORMANCE OF THIS SOFTWARE. `+e._s(e.convertDuration(r.duration))+` `)]),e._v(" "),n("td",{staticClass:"cursor-pointer group",attrs:{"data-link":r.link,role:"button","aria-label":"download"},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` get_app - `)])])])],1)}),0):e._e()])],1)},__vue_staticRenderFns__$i=[];const __vue_inject_styles__$i=void 0,__vue_scope_id__$i=void 0,__vue_is_functional_template__$i=!1;function __vue_normalize__$i(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Favorites.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Favorites=__vue_normalize__$i({render:__vue_render__$i,staticRenderFns:__vue_staticRenderFns__$i},__vue_inject_styles__$i,__vue_script__$g,__vue_scope_id__$i,__vue_is_functional_template__$i);let homeData={},cached$2=!1;function getHomeData(){return cached$2?homeData:(socket.emit("get_home_data"),new Promise((e,a)=>{socket.on("init_home",n=>{homeData=n,cached$2=!0,socket.off("init_home"),e(n)})}))}var script$h={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:a},albums:{data:n}}=e;this.playlists=a,this.albums=n}}};const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"home_tab"}},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():n("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` + `)])])])],1)}),0):e._e()])],1)},__vue_staticRenderFns__$i=[];const __vue_inject_styles__$i=void 0,__vue_scope_id__$i=void 0,__vue_is_functional_template__$i=!1;function __vue_normalize__$i(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Favorites.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Favorites=__vue_normalize__$i({render:__vue_render__$i,staticRenderFns:__vue_staticRenderFns__$i},__vue_inject_styles__$i,__vue_script__$g,__vue_scope_id__$i,__vue_is_functional_template__$i);let homeData={},cached$2=!1;async function getHomeData(){if(cached$2)return homeData;{const e=await fetchData("getHome");return homeData=e,cached$2=!0,e}}var script$h={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:a},albums:{data:n}}=e;this.playlists=a,this.albums=n}}};const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"home_tab"}},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():n("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` `+e._s(e.$t("home.openSettings"))+` `)])],1),e._v(" "),e.playlists.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularPlaylists")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.playlists,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Playlist",params:{id:r.id}},tabindex:"0"},nativeOn:{keyup:function(i){return!i.type.indexOf("key")&&e._k(i.keyCode,"enter",13,i.key,"Enter")?null:e.$router.push({name:"Playlist",params:{id:r.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` `+e._s(e.$t("globals.by",{artist:r.user.name})+" - "+e.$tc("globals.listTabs.trackN",r.nb_tracks))+` @@ -3040,7 +3040,7 @@ PERFORMANCE OF THIS SOFTWARE. `+e._s(e.$t("globals.by",{artist:r.artistName})+" - "+e.$tc("globals.listTabs.trackN",r.playlistTracksNumber))+` `)])],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_is_functional_template__$p=!1;function __vue_normalize__$p(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsPlaylists.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsPlaylists=__vue_normalize__$p({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p),script$o={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){let e=!!this.viewInfo;if(!e)return!1;let a=this.viewInfo.ORDER.every(n=>n==="TOP_RESULT"?this.viewInfo[n].length===0:this.viewInfo[n].data.length===0);return!a}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(r){return n("section",{key:r,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(r)?[n("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":r==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":r!=="TOP_RESULT"},on:{click:function(i){return e.$emit("change-search-tab",r)}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+r.toLowerCase(),2))+` - `)]),e._v(" "),r==="TOP_RESULT"?n("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r==="TRACK"?n("ResultsTracks",{attrs:{viewInfo:e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r=="ALBUM"?n("ResultsAlbums",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r=="PLAYLIST"?n("ResultsPlaylists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):r==="ARTIST"?n("ResultsArtists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ARTIST,e.formatArtist),itemsToShow:6},on:{"add-to-queue":function(i){return e.$emit("add-to-queue",i)}}}):e._e()]:e._e()],2)}):n("div",[n("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)},__vue_staticRenderFns__$q=[];const __vue_inject_styles__$q=void 0,__vue_scope_id__$q=void 0,__vue_is_functional_template__$q=!1;function __vue_normalize__$q(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="ResultsAll.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var ResultsAll=__vue_normalize__$q({render:__vue_render__$q,staticRenderFns:__vue_staticRenderFns__$q},__vue_inject_styles__$q,__vue_script__$o,__vue_scope_id__$q,__vue_is_functional_template__$q);const searchResult=ref$2({});function performMainSearch(e){fetchApi("mainSearch",{term:e}).then(a=>{searchResult.value=a})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:r=30}){fetchApi("search",{term:e,type:a,start:n,nb:r}).then(i=>{result.value=i})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:r,performMainSearch:i}=useMainSearch(),{result:s,performSearch:l}=useSearch(),c=computed(()=>a.root.$route.query.term),o=computed(()=>n.results.query===""),d=ref$2(!1),u=computed(()=>Object.keys(r.value).length!==0),f=computed(()=>r.value.QUERY!==c.value);u.value&&!f.value&&onMounted(()=>{h(r.value)}),c.value&&(!u.value||f.value)&&(i(c.value),d.value=!0);function h(m){d.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,l({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(r,h),watch(s,m=>{const{next:v,total:y,type:k,data:w}=m,x=`${k}Tab`;let A=y;if(v&&(A=parseInt(v.match(/index=(\d*)/)[1])),n.results[x].total!==y&&(n.results[x].total=y),n.results[x].next!==A){n.results[x].next=A;const M=n.results[x].data.concat(w),D=uniqWith(M,(T,C)=>T.id===C.id);n.results[x].data=D}n.results[x].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:d,isQueryEmpty:o,searchResult:r,performMainSearch:i,performSearch:l}},computed:{loadedTabs(){const e=[];for(const a in this.results)if(this.results.hasOwnProperty(a)&&a!=="query"){const n=this.results[a];n.hasLoaded&&e.push(a.replace(/Tab/g,""))}return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`,a=this.results[e].next{searchResult.value=a})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:r=30}){fetchData("search",{term:e,type:a,start:n,nb:r}).then(i=>{result.value=i})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:r,performMainSearch:i}=useMainSearch(),{result:s,performSearch:l}=useSearch(),c=computed(()=>a.root.$route.query.term),o=computed(()=>n.results.query===""),d=ref$2(!1),u=computed(()=>Object.keys(r.value).length!==0),f=computed(()=>r.value.QUERY!==c.value);u.value&&!f.value&&onMounted(()=>{h(r.value)}),c.value&&(!u.value||f.value)&&(i(c.value),d.value=!0);function h(m){d.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,l({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(r,h),watch(s,m=>{const{next:v,total:y,type:k,data:w}=m,x=`${k}Tab`;let A=y;if(v&&(A=parseInt(v.match(/index=(\d*)/)[1])),n.results[x].total!==y&&(n.results[x].total=y),n.results[x].next!==A){n.results[x].next=A;const M=n.results[x].data.concat(w),D=uniqWith(M,(T,C)=>T.id===C.id);n.results[x].data=D}n.results[x].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:d,isQueryEmpty:o,searchResult:r,performMainSearch:i,performSearch:l}},computed:{loadedTabs(){const e=[];for(const a in this.results)if(this.results.hasOwnProperty(a)&&a!=="query"){const n=this.results[a];n.hasLoaded&&e.push(a.replace(/Tab/g,""))}return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`,a=this.results[e].next @@ -4827,5 +4827,5 @@ PERFORMANCE OF THIS SOFTWARE. `)]),e._v(" "),n("td",[e._v(e._s(r.artists[0].name))]),e._v(" "),n("td",[e._v(e._s(r.album.name))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(Math.floor(r.duration_ms/1e3))))]),e._v(" "),n("td",[n("input",{directives:[{name:"model",rawName:"v-model",value:r.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(r.selected)?e._i(r.selected,null)>-1:r.selected},on:{change:function(s){var l=r.selected,c=s.target,o=!!c.checked;if(Array.isArray(l)){var d=null,u=e._i(l,d);c.checked?u<0&&e.$set(r,"selected",l.concat([d])):u>-1&&e.$set(r,"selected",l.slice(0,u).concat(l.slice(u+1)))}else e.$set(r,"selected",o)}}})])])})],2)]),e._v(" "),e.label?n("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` `+e._s(""+e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.type,1)}))+` `)]),e._v(" "),n("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` - `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_is_functional_template__$v=!1;function __vue_normalize__$v(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Tracklist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Tracklist=__vue_normalize__$v({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let r=null;switch(e.name){case"Tracklist":r={type:e.params.type,id:e.params.id};break;case"Album":r={type:"album",id:e.params.id};break;case"Playlist":r={type:"playlist",id:e.params.id};break;case"Spotify Playlist":r={type:"spotifyplaylist",id:e.params.id};break}r&&socket.emit("getTracklist",r),n()});async function startApp(){new Vue({store,router,i18n,render:a=>a(App)}).$mount("#app");const e=await(await fetch("connect")).json();if(store.dispatch("setAppInfo",e.update),e.autologin){console.info("Autologin successful");let a=localStorage.getItem("arl");const n=localStorage.getItem("accountNum");if(a){a=a.trim();let r;n!==0?r=fetchApi("login",{arl:a,force:!0,child:n||0}):r=fetchApi("login",{arl:a}),r.then(loggedIn)}}}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` -`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); + `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_is_functional_template__$v=!1;function __vue_normalize__$v(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Tracklist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Tracklist=__vue_normalize__$v({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let r=null;switch(e.name){case"Tracklist":r={type:e.params.type,id:e.params.id};break;case"Album":r={type:"album",id:e.params.id};break;case"Playlist":r={type:"playlist",id:e.params.id};break;case"Spotify Playlist":r={type:"spotifyplaylist",id:e.params.id};break}r&&socket.emit("getTracklist",r),n()});async function startApp(){new Vue({store,router,i18n,render:a=>a(App)}).$mount("#app");const e=await(await fetch("connect")).json();if(store.dispatch("setAppInfo",e.update),e.autologin){console.info("Autologin successful");let a=localStorage.getItem("arl");const n=localStorage.getItem("accountNum");if(a){a=a.trim();let r;n!==0?r=await fetchData("login",{arl:a,force:!0,child:n||0}):r=await fetchData("login",{arl:a}),loggedIn(r)}}}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` +`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){console.log({data:e});const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); diff --git a/src/app.js b/src/app.js index a26873a..2e99316 100644 --- a/src/app.js +++ b/src/app.js @@ -19,7 +19,7 @@ import router from '@/router' import store from '@/store' import { socket } from '@/utils/socket' -import { fetchApi } from '@/utils/api' +import { fetchData } from '@/utils/api' import { toast } from '@/utils/toasts' import { isValidURL } from '@/utils/utils' import { sendAddToQueue } from '@/utils/downloads' @@ -47,12 +47,12 @@ async function startApp() { let result if (accountNum !== 0) { - result = fetchApi('login', { arl, force: true, child: accountNum || 0 }) + result = await fetchData('login', { arl, force: true, child: accountNum || 0 }) } else { - result = fetchApi('login', { arl }) + result = await fetchData('login', { arl }) } - result.then(loggedIn) + loggedIn(result) } } } @@ -111,6 +111,7 @@ socket.on('message', function (msg) { }) function loggedIn(data) { + console.log({ data }) const { status, user } = data switch (status) { diff --git a/src/data/home.js b/src/data/home.js index 9ef1862..fe9e33b 100644 --- a/src/data/home.js +++ b/src/data/home.js @@ -1,22 +1,17 @@ -import { socket } from '@/utils/socket' +import { fetchData } from '@/utils/api' let homeData = {} let cached = false -export function getHomeData() { +export async function getHomeData() { if (cached) { return homeData } else { - socket.emit('get_home_data') + const data = await fetchData('getHome') - return new Promise((resolve, reject) => { - socket.on('init_home', data => { - homeData = data - cached = true + homeData = data + cached = true - socket.off('init_home') - resolve(data) - }) - }) + return data } } diff --git a/src/use/main-search.js b/src/use/main-search.js index a850b70..de18035 100644 --- a/src/use/main-search.js +++ b/src/use/main-search.js @@ -1,10 +1,10 @@ import { ref } from '@vue/composition-api' -import { fetchApi } from '@/utils/api' +import { fetchData } from '@/utils/api' const searchResult = ref({}) function performMainSearch(searchTerm) { - fetchApi('mainSearch', { term: searchTerm }).then(data => { + fetchData('mainSearch', { term: searchTerm }).then(data => { searchResult.value = data }) } diff --git a/src/use/search.js b/src/use/search.js index 7cdef54..9546988 100644 --- a/src/use/search.js +++ b/src/use/search.js @@ -1,10 +1,10 @@ import { ref } from '@vue/composition-api' -import { fetchApi } from '@/utils/api' +import { fetchData } from '@/utils/api' const result = ref({}) function performSearch({ term, type, start = 0, nb = 30 }) { - fetchApi('search', { + fetchData('search', { term, type, start, diff --git a/src/utils/api.js b/src/utils/api.js index 7e537e0..7b8c4b5 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -1,4 +1,4 @@ -export function fetchApi(key, data) { +export function fetchData(key, data = {}) { const url = new URL(`${window.location.origin}/api/${key}`) Object.keys(data).forEach(key => { @@ -7,3 +7,13 @@ export function fetchApi(key, data) { return fetch(url.href).then(response => response.json()) } + +export function sendToServer(key, data) { + const url = new URL(`${window.location.origin}/api/${key}`) + + Object.keys(data).forEach(key => { + url.searchParams.append(key, data[key]) + }) + + fetch(url.href).catch(console.error) +} diff --git a/src/utils/downloads.js b/src/utils/downloads.js index c74a98a..5f3287f 100644 --- a/src/utils/downloads.js +++ b/src/utils/downloads.js @@ -1,13 +1,13 @@ -import { fetchApi } from '@/utils/api' +import { sendToServer } from '@/utils/api' /** * @param {string} url - * @param {number} bitrate + * @param {number|null} bitrate */ export function sendAddToQueue(url, bitrate = null) { if (!url) throw new Error('No URL given to sendAddToQueue function!') - fetchApi('addToQueue', { url, bitrate }) + sendToServer('addToQueue', { url, bitrate }) } export function aggregateDownloadLinks(releases) { From b0efec811ea2db3a4d8de0d7ec4801ba835509e9 Mon Sep 17 00:00:00 2001 From: Roberto Tonino Date: Mon, 1 Mar 2021 23:09:14 +0100 Subject: [PATCH 08/17] wip: setup favorites and autologin with rest api --- public/js/bundle.js | 26 ++++++------ src/app.js | 3 +- src/components/pages/Favorites.vue | 68 +++++++++++++++--------------- src/components/pages/Settings.vue | 16 +++---- src/data/charts.js | 2 + src/router.js | 2 + src/use/favorites.js | 12 ++++-- 7 files changed, 69 insertions(+), 60 deletions(-) diff --git a/public/js/bundle.js b/public/js/bundle.js index 16641e0..94082c0 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -2949,7 +2949,7 @@ PERFORMANCE OF THIS SOFTWARE. fiber_new `)]):e._e()]),e._v(" "),n("span",{directives:[{name:"show",rawName:"v-show",value:e.currentTab==="all",expression:"currentTab === 'all'"}],staticClass:"block text-xs opacity-50 uppercase-first-letter"},[e._v(` `+e._s(e.$tc("globals.listTabs."+r.releaseType))+` - `)])])]),e._v(" "),n("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(r.releaseDate))]),e._v(" "),n("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(r.releaseTracksNumber))]),e._v(" "),n("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":r.releaseLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(r.releaseLink)}}},[n("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)}),0)])],1)},__vue_staticRenderFns__$d=[];const __vue_inject_styles__$d=void 0,__vue_scope_id__$d=void 0,__vue_is_functional_template__$d=!1;function __vue_normalize__$d(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Artist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Artist=__vue_normalize__$d({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$b,__vue_scope_id__$d,__vue_is_functional_template__$d);let chartsData={},cached$1=!1;function getChartsData(){return cached$1?chartsData:(socket.emit("get_charts_data"),new Promise((e,a)=>{socket.on("init_charts",n=>{chartsData=n,cached$1=!0,socket.off("init_charts"),e(n)})}))}var script$c={methods:{previewMouseEnter,previewMouseLeave}};const __vue_script__$c=script$c;var __vue_render__$e=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(` + `)])])]),e._v(" "),n("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(r.releaseDate))]),e._v(" "),n("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(r.releaseTracksNumber))]),e._v(" "),n("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":r.releaseLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(r.releaseLink)}}},[n("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)}),0)])],1)},__vue_staticRenderFns__$d=[];const __vue_inject_styles__$d=void 0,__vue_scope_id__$d=void 0,__vue_is_functional_template__$d=!1;function __vue_normalize__$d(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Artist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Artist=__vue_normalize__$d({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$b,__vue_scope_id__$d,__vue_is_functional_template__$d);let chartsData={},cached$1=!1;function getChartsData(){return cached$1?chartsData:(socket.emit("get_charts_data"),fetchData("getCharts"),new Promise((e,a)=>{socket.on("init_charts",n=>{chartsData=n,cached$1=!0,socket.off("init_charts"),e(n)})}))}var script$c={methods:{previewMouseEnter,previewMouseLeave}};const __vue_script__$c=script$c;var __vue_render__$e=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(` play_arrow `)])},__vue_staticRenderFns__$e=[];const __vue_inject_styles__$e=void 0,__vue_scope_id__$e=void 0,__vue_is_functional_template__$e=!1;function __vue_normalize__$e(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="PreviewControls.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var PreviewControls=__vue_normalize__$e({render:__vue_render__$e,staticRenderFns:__vue_staticRenderFns__$e},__vue_inject_styles__$e,__vue_script__$c,__vue_scope_id__$e,__vue_is_functional_template__$e),script$d={components:{PreviewControls},data(){return{country:"",id:0,countries:[],chart:[]}},computed:{worldwideRelease(){let e=this.countries.filter(a=>a.title==="Worldwide");return e[0]}},async created(){socket.on("setChartTracks",this.setTracklist),this.$on("hook:destroyed",()=>{socket.off("setChartTracks")});let e=await getChartsData(),a;e=e.filter(n=>(n.title==="Worldwide"&&(a=n),n.title!=="Worldwide")),e.unshift(a),this.initCharts(e)},methods:{convertDuration,playPausePreview,addToQueue(e){e.stopPropagation(),sendAddToQueue(e.currentTarget.dataset.link)},getTrackList(e){document.getElementById("content").scrollTo(0,0);const{currentTarget:{dataset:{title:a}},currentTarget:{dataset:{id:n}}}=e;this.country=a,localStorage.setItem("chart",this.country),this.id=n,socket.emit("getChartTracks",this.id)},setTracklist(e){this.chart=e},onChangeCountry(){this.country="",this.id=0},initCharts(e){if(this.countries=e,this.country=localStorage.getItem("chart")||"",!this.country)return;let a=0;for(;a{socket.on("init_settings",(n,r,i)=>{settingsData=n,defaultSettingsData=i,spotifyCredentials=r,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:r,user:i,status:s}=n;a("setARL",{arl:r}),e("SET_USER",i),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:r}=a;r=typeof r=="undefined"?!0:r,e("SET_ARL",n),r&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const r=a[n];e[n]=r}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});const favoriteArtists=ref$2([]),favoriteAlbums=ref$2([]),favoriteSpotifyPlaylists=ref$2([]),favoritePlaylists=ref$2([]),favoriteTracks=ref$2([]),isRefreshingFavorites=ref$2(!1);store.getters.isLoggedIn&&refreshFavorites({isInitial:!0});function refreshFavorites({isInitial:e=!1}){e||(isRefreshingFavorites.value=!0),socket.emit("get_favorites_data"),store.getters.isLoggedWithSpotify&&socket.emit("update_userSpotifyPlaylists",store.getters.getSpotifyUser.id)}function useFavorites(){return{favoriteArtists,favoriteAlbums,favoriteSpotifyPlaylists,favoritePlaylists,favoriteTracks,isRefreshingFavorites,refreshFavorites}}function setAllFavorites(e){const{tracks:a,albums:n,artists:r,playlists:i}=e;favoriteArtists.value=r,favoriteAlbums.value=n,favoritePlaylists.value=i,favoriteTracks.value=a}socket.on("updated_userFavorites",e=>{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$g=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,a){const n=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:r,favoriteAlbums:i,favoriteSpotifyPlaylists:s,favoritePlaylists:l,favoriteTracks:c,isRefreshingFavorites:o,refreshFavorites:d}=useFavorites(),u=computed(()=>a.refs.reloadButton);return watch(o,(f,h)=>{const m=h&&!f;if(!m)return;toast(a.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(n),tracks:c,albums:i,artists:r,playlists:l,spotifyPlaylists:s,refreshFavorites:d,isRefreshingFavorites:o}},computed:{activeTabEmpty(){let e=this.getActiveRelease();return e?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let a=this.getLovedTracksPlaylist();sendAddToQueue(a.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let a;switch(e){case"playlist":a=this.playlists;break;case"album":a=this.albums;break;case"artist":a=this.artists;break;case"track":a=this.tracks;break}return a},getTabLength(e=this.activeTab){let a=this[`${e}s`]?.length;return a||0},getLovedTracksPlaylist(){let e=this.playlists.filter(a=>a.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$g=script$g;var __vue_render__$i=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(` +`);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var CoverContainer=__vue_normalize__$h({render:__vue_render__$h,staticRenderFns:__vue_staticRenderFns__$h},__vue_inject_styles__$h,__vue_script__$f,__vue_scope_id__$h,__vue_is_functional_template__$h,__vue_module_identifier__$a,__vue_create_injector__$a);let settingsData={},defaultSettingsData={},spotifyCredentials={};function getSettingsData(){return socket.emit("get_settings_data"),new Promise((e,a)=>{socket.on("init_settings",(n,r,i)=>{settingsData=n,defaultSettingsData=i,spotifyCredentials=r,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:r,user:i,status:s}=n;a("setARL",{arl:r}),e("SET_USER",i),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:r}=a;r=typeof r=="undefined"?!0:r,e("SET_ARL",n),r&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const r=a[n];e[n]=r}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});const favoriteArtists=ref$2([]),favoriteAlbums=ref$2([]),favoriteSpotifyPlaylists=ref$2([]),favoritePlaylists=ref$2([]),favoriteTracks=ref$2([]),isRefreshingFavorites=ref$2(!1);store.getters.isLoggedIn&&refreshFavorites({isInitial:!0});async function refreshFavorites({isInitial:e=!1}){e||(isRefreshingFavorites.value=!0);const a=await fetchData("getFavorites");if(setAllFavorites(a),store.getters.isLoggedWithSpotify){const n=await fetchData("getUserSpotifyPlaylists",{spotifyUser:store.getters.getSpotifyUser.id})}}function useFavorites(){return{favoriteArtists,favoriteAlbums,favoriteSpotifyPlaylists,favoritePlaylists,favoriteTracks,isRefreshingFavorites,refreshFavorites}}function setAllFavorites(e){const{tracks:a,albums:n,artists:r,playlists:i}=e;favoriteArtists.value=r,favoriteAlbums.value=n,favoritePlaylists.value=i,favoriteTracks.value=a}socket.on("updated_userFavorites",e=>{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$g=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,a){const n=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:r,favoriteAlbums:i,favoriteSpotifyPlaylists:s,favoritePlaylists:l,favoriteTracks:c,isRefreshingFavorites:o,refreshFavorites:d}=useFavorites(),u=computed(()=>a.refs.reloadButton);return watch(o,(f,h)=>{const m=h&&!f;if(!m)return;toast(a.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(n),tracks:c,albums:i,artists:r,playlists:l,spotifyPlaylists:s,refreshFavorites:d,isRefreshingFavorites:o}},computed:{activeTabEmpty(){let e=this.getActiveRelease();return e?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let a=this.getLovedTracksPlaylist();sendAddToQueue(a.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let a;switch(e){case"playlist":a=this.playlists;break;case"album":a=this.albums;break;case"artist":a=this.artists;break;case"track":a=this.tracks;break}return a},getTabLength(e=this.activeTab){let a=this[`${e}s`]?.length;return a||0},getLovedTracksPlaylist(){let e=this.playlists.filter(a=>a.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$g=script$g;var __vue_render__$i=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(` `+e._s(e.$t("favorites.title"))+` - `),n("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{role:"button","aria-label":"reload"},on:{click:e.refreshFavorites}},[n("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),n("BaseTabs",e._l(e.tabs,function(r){return n("BaseTab",{key:r,class:{active:e.activeTab===r},on:{click:function(i){e.activeTab=r}}},[e._v(` + `),n("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{"aria-label":"reload",role:"button"},on:{click:e.refreshFavorites}},[n("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),n("BaseTabs",e._l(e.tabs,function(r){return n("BaseTab",{key:r,class:{active:e.activeTab===r},on:{click:function(i){e.activeTab=r}}},[e._v(` `+e._s(e.$tc("globals.listTabs."+r,2))+` `)])}),1),e._v(" "),e.activeTabEmpty?e._e():n("button",{staticClass:"btn btn-primary",staticStyle:{"margin-bottom":"2rem"},on:{click:e.downloadAllOfType}},[e._v(` `+e._s(e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.activeTab+"N",e.getTabLength())}))+` - `)]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="playlist",expression:"activeTab === 'playlist'"}]},[e.playlists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e._v(" "),e.playlists.length>0||e.spotifyPlaylists>0?n("div",{staticClass:"release-grid"},[e._l(e.playlists,function(r){return n("div",{key:r.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` + `)]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="playlist",expression:"activeTab === 'playlist'"}]},[e.playlists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e._v(" "),e.playlists.length>0||e.spotifyPlaylists>0?n("div",{staticClass:"release-grid"},[e._l(e.playlists,function(r){return n("div",{key:r.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{to:{name:"Playlist",params:{id:r.id}},tag:"div"}},[n("CoverContainer",{attrs:{cover:r.picture_medium,link:r.link,"is-rounded":""},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` `+e._s(e.$t("globals.by",{artist:r.creator.name})+" - "+e.$tc("globals.listTabs.trackN",r.nb_tracks))+` - `)])],1)}),e._v(" "),e._l(e.spotifyPlaylists,function(r){return n("div",{key:r.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Spotify Playlist",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` + `)])],1)}),e._v(" "),e._l(e.spotifyPlaylists,function(r){return n("div",{key:r.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{to:{name:"Spotify Playlist",params:{id:r.id}},tag:"div"}},[n("CoverContainer",{attrs:{cover:r.picture_medium,link:r.link,"is-rounded":""},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` `+e._s(e.$t("globals.by",{artist:r.creator.name})+" - "+e.$tc("globals.listTabs.trackN",r.nb_tracks))+` - `)])],1)})],2):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="album",expression:"activeTab === 'album'"}]},[e.albums.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e._v(" "),e.albums.length>0?n("div",{staticClass:"release-grid"},e._l(e.albums,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:r.cover_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:r.artist.name})))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="artist",expression:"activeTab === 'artist'"}]},[e.artists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e._v(" "),e.artists.length>0?n("div",{staticClass:"release-grid"},e._l(e.artists,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Artist",params:{id:r.id}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:r.picture_medium,link:r.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.name))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="track",expression:"activeTab === 'track'"}]},[e.tracks.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e._v(" "),e.tracks.length>0?n("table",{staticClass:"table"},e._l(e.tracks,function(r){return n("tr",{staticClass:"track_row"},[n("td",{staticClass:"p-3 text-center cursor-default",class:{first:r.position===1}},[e._v(` + `)])],1)})],2):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="album",expression:"activeTab === 'album'"}]},[e.albums.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e._v(" "),e.albums.length>0?n("div",{staticClass:"release-grid"},e._l(e.albums,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{to:{name:"Album",params:{id:r.id}},tag:"div"}},[n("CoverContainer",{attrs:{cover:r.cover_medium,link:r.link,"is-rounded":""},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:r.artist.name})))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="artist",expression:"activeTab === 'artist'"}]},[e.artists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e._v(" "),e.artists.length>0?n("div",{staticClass:"release-grid"},e._l(e.artists,function(r){return n("router-link",{key:r.id,staticClass:"release clickable",attrs:{to:{name:"Artist",params:{id:r.id}},tag:"div"}},[n("CoverContainer",{attrs:{cover:r.picture_medium,link:r.link,"is-circle":""},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(r.name))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="track",expression:"activeTab === 'track'"}]},[e.tracks.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e._v(" "),e.tracks.length>0?n("table",{staticClass:"table"},e._l(e.tracks,function(r){return n("tr",{staticClass:"track_row"},[n("td",{staticClass:"p-3 text-center cursor-default",class:{first:r.position===1}},[e._v(` `+e._s(r.position)+` `)]),e._v(" "),n("td",[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":r.preview},on:{click:e.playPausePreview}},[r.preview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:r.album.cover_small}})],1)]),e._v(" "),n("td",{staticClass:"table__cell--large"},[e._v(` `+e._s(r.title+(r.title_version&&r.title.indexOf(r.title_version)==-1?" "+r.title_version:""))+` - `)]),e._v(" "),n("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:r.artist.id}}}},[e._v(` + `)]),e._v(" "),n("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{to:{name:"Artist",params:{id:r.artist.id}},tag:"td"}},[e._v(` `+e._s(r.artist.name)+` - `)]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:r.album.id}}}},[e._v(` + `)]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{to:{name:"Album",params:{id:r.album.id}},tag:"td"}},[e._v(` `+e._s(r.album.title)+` `)]),e._v(" "),n("td",{staticClass:"table__cell--small"},[e._v(` `+e._s(e.convertDuration(r.duration))+` - `)]),e._v(" "),n("td",{staticClass:"cursor-pointer group",attrs:{"data-link":r.link,role:"button","aria-label":"download"},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` + `)]),e._v(" "),n("td",{staticClass:"cursor-pointer group",attrs:{"data-link":r.link,"aria-label":"download",role:"button"},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` get_app `)])])])],1)}),0):e._e()])],1)},__vue_staticRenderFns__$i=[];const __vue_inject_styles__$i=void 0,__vue_scope_id__$i=void 0,__vue_is_functional_template__$i=!1;function __vue_normalize__$i(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Favorites.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Favorites=__vue_normalize__$i({render:__vue_render__$i,staticRenderFns:__vue_staticRenderFns__$i},__vue_inject_styles__$i,__vue_script__$g,__vue_scope_id__$i,__vue_is_functional_template__$i);let homeData={},cached$2=!1;async function getHomeData(){if(cached$2)return homeData;{const e=await fetchData("getHome");return homeData=e,cached$2=!0,e}}var script$h={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:a},albums:{data:n}}=e;this.playlists=a,this.albums=n}}};const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"home_tab"}},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():n("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` `+e._s(e.$t("home.openSettings"))+` @@ -4760,7 +4760,7 @@ PERFORMANCE OF THIS SOFTWARE. /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` `);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var BaseAccordion=__vue_normalize__$s({render:__vue_render__$s,staticRenderFns:__vue_staticRenderFns__$s},__vue_inject_styles__$s,__vue_script__$q,__vue_scope_id__$s,__vue_is_functional_template__$s,__vue_module_identifier__$b,__vue_create_injector__$b),script$r={components:{BaseAccordion},props:{templateVariables:{type:Array,required:!0}}};const __vue_script__$r=script$r;var __vue_render__$t=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("BaseAccordion",{staticStyle:{"--arrow-v-align":"baseline","margin-bottom":"3rem"},scopedSlots:e._u([{key:"title",fn:function(){return[e._t("title")]},proxy:!0}],null,!0)},[e._v(" "),n("div",{staticClass:"flex flex-wrap p-4 space-x-2 rounded-2xl bg-background-secondary"},e._l(e.templateVariables,function(r){return n("span",{staticClass:"inline-block p-2 mt-2 tracking-wider rounded cursor-pointer bg-panels-bg first:ml-2 hover:shadow-outline",on:{click:function(i){return e.$emit("variable-click",r)}}},[e._v(` `+e._s(r)+` - `)])}),0)])},__vue_staticRenderFns__$t=[];const __vue_inject_styles__$t=void 0,__vue_scope_id__$t=void 0,__vue_is_functional_template__$t=!1;function __vue_normalize__$t(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TemplateVariablesList.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TemplateVariablesList=__vue_normalize__$t({render:__vue_render__$t,staticRenderFns:__vue_staticRenderFns__$t},__vue_inject_styles__$t,__vue_script__$r,__vue_scope_id__$t,__vue_is_functional_template__$t),script$s={components:{BaseAccordion,TemplateVariablesList},data(){return{flags:flags$1,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables}},computed:{...mapGetters({arl:"getARL",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"}),needToWait(){return Object.keys(this.getSettings).length===0},modelVolume:{get(){return this.previewVolume},set:debounce$1(function(e){this.setPreviewVolume(e)},20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}},async mounted(){const{settingsData:e,defaultSettingsData:a,spotifyCredentials:n}=await getSettingsData();this.defaultSettings=a,this.initSettings(e,n);let r=localStorage.getItem("accountNum");r&&(this.accountNum=r);let i=localStorage.getItem("spotifyUser");i&&(this.lastUser=i,this.spotifyUser=i,socket.emit("update_userSpotifyPlaylists",i)),socket.on("updateSettings",this.updateSettings),socket.on("accountChanged",this.accountChanged),socket.on("familyAccounts",this.initAccounts),socket.on("downloadFolderSelected",this.downloadFolderSelected),socket.on("applogin_arl",this.loggedInViaDeezer),this.$on("hook:destroyed",()=>{socket.off("updateSettings"),socket.off("accountChanged"),socket.off("familyAccounts"),socket.off("downloadFolderSelected"),socket.off("applogin_arl")})},methods:{...mapActions({dispatchARL:"setARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar"}),onTemplateVariableClick(e){copyToClipboard(e),toast(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){let e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),toast(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),socket.emit("saveSettings",this.lastSettings,this.lastCredentials,e?this.lastUser:!1)},selectDownloadFolder(){socket.emit("selectDownloadFolder")},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},loggedInViaDeezer(e){this.dispatchARL({arl:e}),socket.emit("login",e,!0,this.accountNum)},login(){let e=this.$refs.loginInput.value.trim();e&&e!==this.arl&&socket.emit("login",e,!0,this.accountNum)},appLogin(e){socket.emit("applogin")},changeAccount(){socket.emit("changeAccount",this.accountNum)},accountChanged(e,a){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=a,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},logout(){socket.emit("logout")},initSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.init"),"settings")},updateSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.update"),"settings")},resetToDefault(){const e=confirm(this.$t("settings.resetMessage"));if(!e)return;this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),toast(this.$t("settings.toasts.reset"),"settings")}}};const __vue_script__$s=script$s;var __vue_render__$u=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"fixed-footer"},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.title")))]),e._v(" "),e.isLoggedIn?n("div",{ref:"loggedInInfo",attrs:{id:"logged_in_info"}},[n("img",{ref:"userpicture",staticClass:"w-32 h-32 rounded-full",attrs:{id:"settings_picture",src:e.pictureHref,alt:"Profile Picture"}}),e._v(" "),n("i18n",{attrs:{path:"settings.login.loggedIn",tag:"p"},scopedSlots:e._u([{key:"username",fn:function(){return[n("strong",{ref:"username",attrs:{id:"settings_username"}},[e._v(e._s(e.user.name||"not logged"))])]},proxy:!0}],null,!1,2821744753)}),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.logout}},[e._v(` + `)])}),0)])},__vue_staticRenderFns__$t=[];const __vue_inject_styles__$t=void 0,__vue_scope_id__$t=void 0,__vue_is_functional_template__$t=!1;function __vue_normalize__$t(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="TemplateVariablesList.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var TemplateVariablesList=__vue_normalize__$t({render:__vue_render__$t,staticRenderFns:__vue_staticRenderFns__$t},__vue_inject_styles__$t,__vue_script__$r,__vue_scope_id__$t,__vue_is_functional_template__$t),script$s={components:{BaseAccordion,TemplateVariablesList},data(){return{flags:flags$1,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables}},computed:{...mapGetters({arl:"getARL",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"}),needToWait(){return Object.keys(this.getSettings).length===0},modelVolume:{get(){return this.previewVolume},set:debounce$1(function(e){this.setPreviewVolume(e)},20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}},async mounted(){const{settingsData:e,defaultSettingsData:a,spotifyCredentials:n}=await getSettingsData();this.defaultSettings=a,this.initSettings(e,n);let r=localStorage.getItem("accountNum");r&&(this.accountNum=r);let i=localStorage.getItem("spotifyUser");i&&(this.lastUser=i,this.spotifyUser=i,socket.emit("update_userSpotifyPlaylists",i)),socket.on("updateSettings",this.updateSettings),socket.on("accountChanged",this.accountChanged),socket.on("familyAccounts",this.initAccounts),socket.on("downloadFolderSelected",this.downloadFolderSelected),socket.on("applogin_arl",this.loggedInViaDeezer),this.$on("hook:destroyed",()=>{socket.off("updateSettings"),socket.off("accountChanged"),socket.off("familyAccounts"),socket.off("downloadFolderSelected"),socket.off("applogin_arl")})},methods:{...mapActions({dispatchARL:"setARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar"}),onTemplateVariableClick(e){copyToClipboard(e),toast(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){let e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),toast(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),socket.emit("saveSettings",this.lastSettings,this.lastCredentials,e?this.lastUser:!1)},selectDownloadFolder(){socket.emit("selectDownloadFolder")},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},async loggedInViaDeezer(e){this.dispatchARL({arl:e})},async login(){let e=this.$refs.loginInput.value.trim();if(e&&e!==this.arl){const a=await fetchData("login",{arl:e,force:!0,child:this.accountNum});this.loggedInViaDeezer(a.arl)}},appLogin(e){socket.emit("applogin")},changeAccount(){socket.emit("changeAccount",this.accountNum)},accountChanged(e,a){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=a,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},logout(){socket.emit("logout")},initSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.init"),"settings")},updateSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.update"),"settings")},resetToDefault(){const e=confirm(this.$t("settings.resetMessage"));if(!e)return;this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),toast(this.$t("settings.toasts.reset"),"settings")}}};const __vue_script__$s=script$s;var __vue_render__$u=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"fixed-footer"},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.title")))]),e._v(" "),e.isLoggedIn?n("div",{ref:"loggedInInfo",attrs:{id:"logged_in_info"}},[n("img",{ref:"userpicture",staticClass:"w-32 h-32 rounded-full",attrs:{id:"settings_picture",src:e.pictureHref,alt:"Profile Picture"}}),e._v(" "),n("i18n",{attrs:{path:"settings.login.loggedIn",tag:"p"},scopedSlots:e._u([{key:"username",fn:function(){return[n("strong",{ref:"username",attrs:{id:"settings_username"}},[e._v(e._s(e.user.name||"not logged"))])]},proxy:!0}],null,!1,2821744753)}),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.logout}},[e._v(` `+e._s(e.$t("settings.login.logout"))+` `)]),e._v(" "),e.accounts.length>1?n("select",{directives:[{name:"model",rawName:"v-model",value:e.accountNum,expression:"accountNum"}],attrs:{id:"family_account"},on:{change:[function(r){var i=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var l="_value"in s?s._value:s.value;return l});e.accountNum=r.target.multiple?i:i[0]},e.changeAccount]}},e._l(e.accounts,function(r,i){return n("option",{key:r,domProps:{value:i.toString()}},[e._v(` `+e._s(r.name)+` @@ -4802,7 +4802,7 @@ PERFORMANCE OF THIS SOFTWARE. `+e._s(e.$t("settings.spotify.title"))+` `)])]},proxy:!0}])},[e._v(" "),n("RouterLink",{attrs:{to:{name:"Spotify Features"}}},[e._v(` `+e._s(e.$t("settings.spotify.question"))+` - `)]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(r){if(r.target.composing)return;e.$set(e.spotifyFeatures,"clientId",r.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(r){if(r.target.composing)return;e.$set(e.spotifyFeatures,"clientSecret",r.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(r){if(r.target.composing)return;e.spotifyUser=r.target.value}}})])],1),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},__vue_staticRenderFns__$u=[];const __vue_inject_styles__$u=function(e){if(!e)return;e("data-v-580f260e_0",{source:"#logged_in_info[data-v-580f260e]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-580f260e]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-580f260e]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current svg[data-v-580f260e]{filter:brightness(1)}.locale-flag[data-v-580f260e] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-580f260e]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-580f260e]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-580f260e]{margin-right:1rem}.settings-container[data-v-580f260e]{display:flex}.settings-container__half[data-v-580f260e]{width:50%}.settings-container__third[data-v-580f260e]{width:33%}.settings-container__third--only-checkbox[data-v-580f260e]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>*[data-v-580f260e],.settings-container__third>*[data-v-580f260e]{margin-bottom:1rem}.with-checkbox[data-v-580f260e]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-580f260e]{cursor:pointer}.with-checkbox .checkbox-text[data-v-580f260e]{margin-left:10px;cursor:pointer;user-select:none}.input-group .input-group-text[data-v-580f260e]{margin-bottom:.5rem}",map:void 0,media:void 0})},__vue_scope_id__$u="data-v-580f260e",__vue_module_identifier__$c=void 0,__vue_is_functional_template__$u=!1;function __vue_normalize__$u(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="Settings.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$c(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$c.styles||(__vue_create_injector__$c.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` + `)]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(r){if(r.target.composing)return;e.$set(e.spotifyFeatures,"clientId",r.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(r){if(r.target.composing)return;e.$set(e.spotifyFeatures,"clientSecret",r.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(r){if(r.target.composing)return;e.spotifyUser=r.target.value}}})])],1),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},__vue_staticRenderFns__$u=[];const __vue_inject_styles__$u=function(e){if(!e)return;e("data-v-17440f18_0",{source:"#logged_in_info[data-v-17440f18]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-17440f18]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-17440f18]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current svg[data-v-17440f18]{filter:brightness(1)}.locale-flag[data-v-17440f18] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-17440f18]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-17440f18]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-17440f18]{margin-right:1rem}.settings-container[data-v-17440f18]{display:flex}.settings-container__half[data-v-17440f18]{width:50%}.settings-container__third[data-v-17440f18]{width:33%}.settings-container__third--only-checkbox[data-v-17440f18]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>*[data-v-17440f18],.settings-container__third>*[data-v-17440f18]{margin-bottom:1rem}.with-checkbox[data-v-17440f18]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-17440f18]{cursor:pointer}.with-checkbox .checkbox-text[data-v-17440f18]{margin-left:10px;cursor:pointer;user-select:none}.input-group .input-group-text[data-v-17440f18]{margin-bottom:.5rem}",map:void 0,media:void 0})},__vue_scope_id__$u="data-v-17440f18",__vue_module_identifier__$c=void 0,__vue_is_functional_template__$u=!1;function __vue_normalize__$u(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};o.__file="Settings.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r;{let d;if(a&&(d=function(u){a.call(this,l(u))}),d!==void 0)if(o.functional){const u=o.render;o.render=function(h,m){return d.call(m),u(h,m)}}else{const u=o.beforeCreate;o.beforeCreate=u?[].concat(u,d):[d]}}return o}function __vue_create_injector__$c(){const e=document.head||document.getElementsByTagName("head")[0],a=__vue_create_injector__$c.styles||(__vue_create_injector__$c.styles={}),n=typeof navigator!="undefined"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(i,s){if(document.querySelector('style[data-vue-ssr-id~="'+i+'"]'))return;const l=n?s.media||"default":i,c=a[l]||(a[l]={ids:[],parts:[],element:void 0});if(!c.ids.includes(i)){let o=s.source,d=c.ids.length;if(c.ids.push(i),s.map&&(o+=` /*# sourceURL=`+s.map.sources[0]+" */",o+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(s.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+l+"]")),!c.element){const u=c.element=document.createElement("style");u.type="text/css",s.media&&u.setAttribute("media",s.media),n&&(u.setAttribute("data-group",l),u.setAttribute("data-next-index","0")),e.appendChild(u)}if(n&&(d=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",d+1)),c.element.styleSheet)c.parts.push(o),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` `);else{const u=document.createTextNode(o),f=c.element.childNodes;f[d]&&c.element.removeChild(f[d]),f.length?c.element.insertBefore(u,f[d]):c.element.appendChild(u)}}}}var Settings=__vue_normalize__$u({render:__vue_render__$u,staticRenderFns:__vue_staticRenderFns__$u},__vue_inject_styles__$u,__vue_script__$s,__vue_scope_id__$u,__vue_is_functional_template__$u,__vue_module_identifier__$c,__vue_create_injector__$c),script$t={data(){return{title:"",metadata:"",release_date:"",label:"",explicit:!1,image:"",type:"empty",link:"",body:[]}},mounted(){socket.on("show_album",this.showAlbum),socket.on("show_playlist",this.showPlaylist),socket.on("show_spotifyplaylist",this.showSpotifyPlaylist)},methods:{playPausePreview,reset(){this.title="Loading...",this.image="",this.metadata="",this.label="",this.release_date="",this.explicit=!1,this.type="empty",this.body=[]},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},toggleAll(e){this.body.forEach(a=>{a.type=="track"&&(a.selected=e.currentTarget.checked)})},selectedLinks(){var e=[];return this.body&&this.body.forEach(a=>{a.type=="track"&&a.selected&&e.push(this.type=="spotifyPlaylist"?a.uri:a.link)}),e.join(";")},convertDuration:Utils.convertDuration,showAlbum(e){this.reset();const{id:a,title:n,explicit_lyrics:r,label:i,artist:{name:s},tracks:l,tracks:{length:c},release_date:o,cover_xl:d}=e;this.type="album",this.link=`https://www.deezer.com/album/${a}`,this.title=n,this.explicit=r,this.label=i,this.metadata=`${s} \u2022 ${this.$tc("globals.listTabs.trackN",c)}`,this.release_date=o.substring(0,10),this.image=d,isEmpty(l)?this.body=null:this.body=l},showPlaylist(e){this.reset();const{id:a,title:n,picture_xl:r,creation_date:i,creator:{name:s},tracks:l,tracks:{length:c}}=e;this.type="playlist",this.link=`https://www.deezer.com/playlist/${a}`,this.title=n,this.image=r,this.release_date=i.substring(0,10),this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",c)}`,isEmpty(l)?this.body=null:this.body=l},showSpotifyPlaylist(e){this.reset();const{uri:a,name:n,images:r,images:{length:i},owner:{display_name:s},tracks:l,tracks:{length:c}}=e;this.type="spotifyPlaylist",this.link=a,this.title=n,this.image=i?r[0].url:"https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg",this.release_date="",this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",c)}`,isEmpty(l)?this.body=null:this.body=l},selectRow(e,a){a.selected=!a.selected}}};const __vue_script__$t=script$t;var __vue_render__$v=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{ref:"root",staticClass:"relative fixed-footer bg-background-main image-header"},[n("header",{style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[n("h1",{staticClass:"flex items-center m-0 text-5xl"},[e._v(` @@ -4827,5 +4827,5 @@ PERFORMANCE OF THIS SOFTWARE. `)]),e._v(" "),n("td",[e._v(e._s(r.artists[0].name))]),e._v(" "),n("td",[e._v(e._s(r.album.name))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(Math.floor(r.duration_ms/1e3))))]),e._v(" "),n("td",[n("input",{directives:[{name:"model",rawName:"v-model",value:r.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(r.selected)?e._i(r.selected,null)>-1:r.selected},on:{change:function(s){var l=r.selected,c=s.target,o=!!c.checked;if(Array.isArray(l)){var d=null,u=e._i(l,d);c.checked?u<0&&e.$set(r,"selected",l.concat([d])):u>-1&&e.$set(r,"selected",l.slice(0,u).concat(l.slice(u+1)))}else e.$set(r,"selected",o)}}})])])})],2)]),e._v(" "),e.label?n("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` `+e._s(""+e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.type,1)}))+` `)]),e._v(" "),n("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[e._v(` - `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_is_functional_template__$v=!1;function __vue_normalize__$v(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Tracklist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Tracklist=__vue_normalize__$v({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let r=null;switch(e.name){case"Tracklist":r={type:e.params.type,id:e.params.id};break;case"Album":r={type:"album",id:e.params.id};break;case"Playlist":r={type:"playlist",id:e.params.id};break;case"Spotify Playlist":r={type:"spotifyplaylist",id:e.params.id};break}r&&socket.emit("getTracklist",r),n()});async function startApp(){new Vue({store,router,i18n,render:a=>a(App)}).$mount("#app");const e=await(await fetch("connect")).json();if(store.dispatch("setAppInfo",e.update),e.autologin){console.info("Autologin successful");let a=localStorage.getItem("arl");const n=localStorage.getItem("accountNum");if(a){a=a.trim();let r;n!==0?r=await fetchData("login",{arl:a,force:!0,child:n||0}):r=await fetchData("login",{arl:a}),loggedIn(r)}}}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` -`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){console.log({data:e});const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); + `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_is_functional_template__$v=!1;function __vue_normalize__$v(e,a,n,r,i,s,l,c){const o=(typeof n=="function"?n.options:n)||{};return o.__file="Tracklist.vue",o.render||(o.render=e.render,o.staticRenderFns=e.staticRenderFns,o._compiled=!0,i&&(o.functional=!0)),o._scopeId=r,o}var Tracklist=__vue_normalize__$v({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let r=null;switch(e.name){case"Tracklist":r={type:e.params.type,id:e.params.id};break;case"Album":r={type:"album",id:e.params.id};break;case"Playlist":r={type:"playlist",id:e.params.id};break;case"Spotify Playlist":r={type:"spotifyplaylist",id:e.params.id};break}r&&(socket.emit("getTracklist",r),fetchData("getTracklist",r)),n()});async function startApp(){new Vue({store,router,i18n,render:a=>a(App)}).$mount("#app");const e=await(await fetch("connect")).json();if(store.dispatch("setAppInfo",e.update),e.autologin){console.info("Autologin");let a=localStorage.getItem("arl");const n=localStorage.getItem("accountNum");if(a){a=a.trim();let r;n!==0?r=await fetchData("login",{arl:a,force:!0,child:n||0}):r=await fetchData("login",{arl:a}),loggedIn(r)}}}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` +`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); diff --git a/src/app.js b/src/app.js index 2e99316..47a3b40 100644 --- a/src/app.js +++ b/src/app.js @@ -38,7 +38,7 @@ async function startApp() { store.dispatch('setAppInfo', connectResponse.update) if (connectResponse.autologin) { - console.info('Autologin successful') + console.info('Autologin') let arl = localStorage.getItem('arl') const accountNum = localStorage.getItem('accountNum') @@ -111,7 +111,6 @@ socket.on('message', function (msg) { }) function loggedIn(data) { - console.log({ data }) const { status, user } = data switch (status) { diff --git a/src/components/pages/Favorites.vue b/src/components/pages/Favorites.vue index fcb5d8d..bb9333e 100644 --- a/src/components/pages/Favorites.vue +++ b/src/components/pages/Favorites.vue @@ -3,13 +3,13 @@

{{ $t('favorites.title') }}
- sync + sync

@@ -19,7 +19,7 @@ - @@ -27,10 +27,10 @@

{{ $t('favorites.noPlaylists') }}

-
-
- - +
+
+ +

{{ release.title }}

@@ -44,9 +44,9 @@

-
- - +
+ +

{{ release.title }}

@@ -66,15 +66,15 @@

{{ $t('favorites.noAlbums') }}

-
+
- +

{{ release.title }}

{{ `${$t('globals.by', { artist: release.artist.name })}` }}

@@ -85,15 +85,15 @@

{{ $t('favorites.noArtists') }}

-
+
- +

{{ release.name }}

@@ -105,17 +105,17 @@
- {{ track.artist.name }} {{ track.album.title }} @@ -142,16 +142,16 @@ {{ convertDuration(track.duration) }}
+ {{ track.position }} - + @@ -125,16 +125,16 @@ }}
get_app @@ -164,14 +164,14 @@ \r\n"]}, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__$a = undefined; + /* module identifier */ + const __vue_module_identifier__$9 = undefined; + /* functional template */ + const __vue_is_functional_template__$a = false; + /* component normalizer */ + function __vue_normalize__$a( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\App.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + { + let hook; + if (style) { + hook = function(context) { + style.call(this, createInjector(context)); + }; + } + + if (hook !== undefined) { + if (component.functional) { + // register for functional component in vue file + const originalRender = component.render; + component.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context) + }; + } else { + // inject component registration as beforeCreate hook + const existing = component.beforeCreate; + component.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + } + + return component + } + /* style inject */ + function __vue_create_injector__$9() { + const head = document.head || document.getElementsByTagName('head')[0]; + const styles = __vue_create_injector__$9.styles || (__vue_create_injector__$9.styles = {}); + const isOldIE = + typeof navigator !== 'undefined' && + /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + + return function addStyle(id, css) { + if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) return // SSR styles are present. + + const group = isOldIE ? css.media || 'default' : id; + const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined }); + + if (!style.ids.includes(id)) { + let code = css.source; + let index = style.ids.length; + + style.ids.push(id); + + if (isOldIE) { + style.element = style.element || document.querySelector('style[data-group=' + group + ']'); + } + + if (!style.element) { + const el = style.element = document.createElement('style'); + el.type = 'text/css'; + + if (css.media) el.setAttribute('media', css.media); + if (isOldIE) { + el.setAttribute('data-group', group); + el.setAttribute('data-next-index', '0'); + } + + head.appendChild(el); + } + + if (isOldIE) { + index = parseInt(style.element.getAttribute('data-next-index')); + style.element.setAttribute('data-next-index', index + 1); + } + + if (style.element.styleSheet) { + style.parts.push(code); + style.element.styleSheet.cssText = style.parts + .filter(Boolean) + .join('\n'); + } else { + const textNode = document.createTextNode(code); + const nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]); + else style.element.appendChild(textNode); + } + } + } + } + /* style inject SSR */ + + + + var App = __vue_normalize__$a( + { render: __vue_render__$a, staticRenderFns: __vue_staticRenderFns__$a }, + __vue_inject_styles__$a, + __vue_script__$8, + __vue_scope_id__$a, + __vue_is_functional_template__$a, + __vue_module_identifier__$9, + __vue_create_injector__$9); + +/*! + * vue-i18n v8.22.2 + * (c) 2020 kazuya kawaguchi + * Released under the MIT License. + */ +/* */ + +/** + * constants + */ + +var numberFormatKeys = [ + 'compactDisplay', + 'currency', + 'currencyDisplay', + 'currencySign', + 'localeMatcher', + 'notation', + 'numberingSystem', + 'signDisplay', + 'style', + 'unit', + 'unitDisplay', + 'useGrouping', + 'minimumIntegerDigits', + 'minimumFractionDigits', + 'maximumFractionDigits', + 'minimumSignificantDigits', + 'maximumSignificantDigits' +]; + +/** + * utilities + */ + +function warn$4 (msg, err) { + if (typeof console !== 'undefined') { + console.warn('[vue-i18n] ' + msg); + /* istanbul ignore if */ + if (err) { + console.warn(err.stack); + } } } -`;styleInject(css_248z$9);var css_248z$a=`.toast-icon { - display: inline-block; - margin-right: 0.5rem; + +function error (msg, err) { + if (typeof console !== 'undefined') { + console.error('[vue-i18n] ' + msg); + /* istanbul ignore if */ + if (err) { + console.error(err.stack); + } + } } -.circle-loader { - display: inline-block; - width: 1rem; - height: 1rem; - border: 2px solid var(--primary-color); - border-radius: 50%; - border-bottom: 2px solid var(--secondary-background); - -webkit-animation: spin 1s linear infinite; - animation: spin 1s linear infinite; +var isArray$1 = Array.isArray; + +function isObject$3 (obj) { + return obj !== null && typeof obj === 'object' } -.toastify { - display: flex; - align-items: center; - box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(0, 0, 0, 0.3); - background: var(--toast-background); - color: var(--toast-text); +function isBoolean$1 (val) { + return typeof val === 'boolean' } -.toastify .circle-loader { - border-bottom-color: var(--toast-secondary); +function isString (val) { + return typeof val === 'string' } -`;styleInject(css_248z$a);const sharedOptions={gravity:"bottom",position:"left"};let toastsWithId={};const toast=function(e,a=null,n=!0,i=null){if(toastsWithId[i]){let r=toastsWithId[i],s=document.querySelectorAll(`div.toastify[toast_id=${i}]`);e&&s.forEach(o=>{o.querySelectorAll(".toast-message").forEach(c=>{c.innerHTML=e})}),a&&(a=="loading"?a='
':a=`${a}`,s.forEach(o=>{o.querySelectorAll(".toast-icon").forEach(c=>{c.innerHTML=a})})),n!==null&&n&&(s.forEach(o=>{o.classList.add("dismissable")}),setTimeout(()=>{r.hideToast(),delete toastsWithId[i]},3e3))}else{a==null?a="":a=="loading"?a='
':a=`${a}`;let r=toastify({...sharedOptions,text:`${a}${e}`,duration:n?3e3:0,className:n?"dismissable":"",onClick:function(){let s=!0;if(i){let o=document.querySelector(`div.toastify[toast_id=${i}]`).classList;o&&(s=Array.prototype.slice.call(o).indexOf("dismissable")!=-1)}r&&s&&(r.hideToast(),i&&delete toastsWithId[i])},offset:{x:localStorage.getItem("slimSidebar")==="true"?"3rem":"14rem"}}).showToast();i&&(toastsWithId[i]=r,r.toastElement.setAttribute("toast_id",i))}};socket.on("toast",e=>{const{msg:a,icon:n,dismiss:i,id:r}=e;toast(a,n||null,i!==void 0?i:!0,r||null)});const tabMinWidth=250,tabMaxWidth=500;var script$7={components:{QueueItem},data(){return{cachedTabWidth:parseInt(localStorage.getItem("downloadTabWidth"))||300,queue:[],queueList:{},queueComplete:[],isExpanded:localStorage.getItem("downloadTabOpen")==="true"}},computed:{...mapGetters({clientMode:"getClientMode",isSlim:"getSlimDownloads"})},created(){const e=a=>{!(a.ctrlKey&&a.key==="b")||this.toggleDownloadTab()};document.addEventListener("keyup",e),this.$on("hook:destroyed",()=>{document.removeEventListener("keyup",e)})},mounted(){socket.on("startDownload",this.startDownload),socket.on("startConversion",this.startConversion),socket.on("init_downloadQueue",this.initQueue),socket.on("addedToQueue",this.addToQueue),socket.on("updateQueue",this.updateQueue),socket.on("removedFromQueue",this.removeFromQueue),socket.on("finishDownload",this.finishDownload),socket.on("removedAllDownloads",this.removeAllDownloads),socket.on("removedFinishedDownloads",this.removedFinishedDownloads),localStorage.getItem("slimDownloads")==="true"&&this.$refs.list.classList.add("slim"),this.isExpanded&&this.setTabWidth(this.cachedTabWidth),document.addEventListener("mouseup",()=>{document.removeEventListener("mousemove",this.handleDrag)}),window.addEventListener("beforeunload",()=>{localStorage.setItem("downloadTabWidth",this.cachedTabWidth)})},methods:{...mapActions(["setErrors"]),onRemoveItem(e){socket.emit("removeFromQueue",e)},setTabWidth(e){e===void 0?(this.$refs.container.style.width="",this.$refs.list.style.width=""):(this.$refs.container.style.width=e+"px",this.$refs.list.style.width=e+"px")},initQueue(e){const{queue:a,queueComplete:n,currentItem:i,queueList:r,restored:s}=e;n.length&&n.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),i&&(r[i].silent=!0,this.addToQueue(r[i],!0)),a.forEach(o=>{r[o].silent=!0,this.addToQueue(r[o])}),s&&(toast(this.$t("toasts.queueRestored"),"done",!0,"restoring_queue"),socket.emit("queueRestored"))},addToQueue(e,a=!1){if(Array.isArray(e))if(e.length>1){e.forEach((r,s)=>{r.silent=!0,this.addToQueue(r)}),toast(this.$t("toasts.addedMoreToQueue",{n:e.length}),"playlist_add_check");return}else e=e[0];if(this.$set(e,"current",a),this.$set(this.queueList,e.uuid,e),e.downloaded+e.failed==e.size){const r=this.queueComplete.indexOf(e.uuid)==-1;this.$set(this.queueList[e.uuid],"status","download finished"),r&&this.queueComplete.push(e.uuid)}else this.queue.indexOf(e.uuid)==-1&&this.queue.push(e.uuid);(e.progress>0&&e.progress<100||a)&&this.startDownload(e.uuid),e.silent||toast(this.$t("toasts.addedToQueue",{item:e.title}),"playlist_add_check")},updateQueue(e){const{uuid:a,downloaded:n,failed:i,progress:r,conversion:s,error:o,data:l,errid:c}=e;a&&this.queue.indexOf(a)>-1&&(n&&this.queueList[a].downloaded++,i&&(this.queueList[a].failed++,this.queueList[a].errors.push({message:o,data:l,errid:c})),r&&(this.queueList[a].progress=r),s&&(this.queueList[a].conversion=s))},removeFromQueue(e){let a=this.queue.indexOf(e);a>-1&&(this.$delete(this.queue,a),this.$delete(this.queueList,e))},removeAllDownloads(e){if(this.queueComplete=[],!e)this.queue=[],this.queueList={};else{this.queue=[e];let a=this.queueList[e];this.queueList={},this.queueList[e]=a}},removedFinishedDownloads(){this.queueComplete.forEach(e=>{this.$delete(this.queueList,e)}),this.queueComplete=[]},toggleDownloadTab(){this.setTabWidth(),this.$refs.container.style.transition="all 250ms ease-in-out",this.isExpanded=!this.isExpanded,this.isExpanded&&this.setTabWidth(this.cachedTabWidth),localStorage.setItem("downloadTabOpen",this.isExpanded)},cleanQueue(){socket.emit("removeFinishedDownloads")},cancelQueue(){socket.emit("cancelAllDownloads")},openDownloadsFolder(){socket.emit("openDownloadsFolder")},handleDrag(e){let a=window.innerWidth-e.pageX+2;atabMaxWidth&&(a=tabMaxWidth),this.cachedTabWidth=a,this.setTabWidth(a)},startDrag(){document.addEventListener("mousemove",this.handleDrag)},startDownload(e){this.$set(this.queueList[e],"status","downloading")},finishDownload(e){if(!(this.queue.indexOf(e)>-1))return;this.$set(this.queueList[e],"status","download finished"),toast(this.$t("toasts.finishDownload",{item:this.queueList[e].title}),"done");let n=this.queue.indexOf(e);n>-1&&(this.queue.splice(n,1),this.queueComplete.push(e)),this.queue.length<=0&&toast(this.$t("toasts.allDownloaded"),"done_all")},startConversion(e){this.$set(this.queueList[e],"status","converting"),this.$set(this.queueList[e],"conversion",0)},async showErrorsTab(e){await this.setErrors(e),this.$router.push({name:"Errors"})}}};const __vue_script__$7=script$7;var __vue_render__$9=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",{ref:"container",staticClass:"block h-screen bg-panels-bg text-foreground",class:{"tab-hidden":!e.isExpanded,"w-8":!e.isExpanded},attrs:{id:"download_tab_container","data-label":e.$t("downloads"),"aria-label":"downloads"},on:{transitionend:function(i){e.$refs.container.style.transition=""}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],staticClass:"absolute w-4 h-full bg-grayscale-200",staticStyle:{cursor:"ew-resize"},on:{mousedown:function(i){return i.preventDefault(),e.startDrag(i)}}}),e._v(" "),n("i",{ref:"toggler",staticClass:"m-1 text-2xl cursor-pointer material-icons",class:{"ml-1":!e.isExpanded,"ml-5":e.isExpanded},attrs:{id:"toggle_download_tab",title:e.$t("globals.toggle_download_tab_hint")},on:{click:function(i){return i.preventDefault(),e.toggleDownloadTab(i)}}}),e._v(" "),n("div",{staticClass:"absolute top-0 right-0 transition-all duration-200 ease-in-out",class:{"opacity-0 invisible":!e.isExpanded,"opacity-100 visible":e.isExpanded}},[e.clientMode?n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.open_downloads_folder")},on:{click:e.openDownloadsFolder}},[e._v(` - folder_open - `)]):e._e(),e._v(" "),n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.clean_queue_hint")},on:{click:e.cleanQueue}},[e._v(` - clear_all - `)]),e._v(" "),n("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.cancel_queue_hint")},on:{click:e.cancelQueue}},[e._v(` - delete_sweep - `)])]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],ref:"list",staticClass:"w-full pr-2",class:{slim:e.isSlim},attrs:{id:"download_list"}},e._l(e.queueList,function(i){return n("QueueItem",{key:i.uuid,attrs:{"queue-item":i},on:{"show-errors":e.showErrorsTab,"remove-item":e.onRemoveItem}})}),1)])},__vue_staticRenderFns__$9=[];const __vue_inject_styles__$9=function(e){!e||e("data-v-6e5215da_0",{source:"#toggle_download_tab[data-v-6e5215da]{width:25px;height:25px}#toggle_download_tab[data-v-6e5215da]::before{font-family:'Material Icons';font-style:normal;font-weight:400;content:'chevron_right'}#download_tab_container.tab-hidden #toggle_download_tab[data-v-6e5215da]::before{content:'chevron_left'}#download_tab_container.tab-hidden[data-v-6e5215da]::after{content:attr(data-label);display:flex;align-items:center;text-transform:capitalize;writing-mode:vertical-rl;line-height:2rem}#download_list[data-v-6e5215da]{height:calc(100% - 32px);padding-left:28px;overflow-y:scroll}#download_list[data-v-6e5215da]::-webkit-scrollbar{width:10px}#download_list[data-v-6e5215da]::-webkit-scrollbar-track{background:var(--panels-background)}#download_list[data-v-6e5215da]::-webkit-scrollbar-thumb{background:var(--panels-scroll);border-radius:4px;width:6px;padding:0 2px}",map:void 0,media:void 0})},__vue_scope_id__$9="data-v-6e5215da",__vue_module_identifier__$9=void 0,__vue_is_functional_template__$9=!1;var TheDownloadBar=normalizeComponent_1({render:__vue_render__$9,staticRenderFns:__vue_staticRenderFns__$9},__vue_inject_styles__$9,__vue_script__$7,__vue_scope_id__$9,__vue_is_functional_template__$9,__vue_module_identifier__$9,browser,void 0),script$8={data(){return{isSocketConnected:!1}},components:{TheSidebar,TheSearchBar,TheDownloadBar,TheTrackPreview,TheQualityModal,BaseLoadingPlaceholder,TheContextMenu,TheContent},mounted(){socket.addEventListener("open",e=>{console.log("Connected to WebSocket"),this.isSocketConnected=!0})}};const __vue_script__$8=script$8;var __vue_render__$a=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"app-container"},[n("TheSidebar"),e._v(" "),n("div",{staticClass:"content-container"},[n("TheSearchBar"),e._v(" "),n("TheContent")],1),e._v(" "),n("TheDownloadBar")],1),e._v(" "),n("BaseLoadingPlaceholder",{attrs:{text:"Connecting to local server...",hidden:e.isSocketConnected,additionalClasses:"absolute top-0 left-0 w-screen h-screen bg-black bg-opacity-50 z-50"}}),e._v(" "),n("TheTrackPreview"),e._v(" "),n("TheQualityModal"),e._v(" "),n("TheContextMenu")],1)},__vue_staticRenderFns__$a=[];const __vue_inject_styles__$a=function(e){!e||e("data-v-01b764b9_0",{source:".app-container{display:flex}.content-container{width:100%;display:flex;flex-direction:column}",map:void 0,media:void 0})},__vue_scope_id__$a=void 0,__vue_module_identifier__$a=void 0,__vue_is_functional_template__$a=!1;var App=normalizeComponent_1({render:__vue_render__$a,staticRenderFns:__vue_staticRenderFns__$a},__vue_inject_styles__$a,__vue_script__$8,__vue_scope_id__$a,__vue_is_functional_template__$a,__vue_module_identifier__$a,browser,void 0);/*! - * vue-i18n v8.23.0 - * (c) 2021 kazuya kawaguchi - * Released under the MIT License. - */var numberFormatKeys=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function warn$3(e,a){typeof console!="undefined"&&(console.warn("[vue-i18n] "+e),a&&console.warn(a.stack))}function error(e,a){typeof console!="undefined"&&(console.error("[vue-i18n] "+e),a&&console.error(a.stack))}var isArray$1=Array.isArray;function isObject$3(e){return e!==null&&typeof e=="object"}function isBoolean(e){return typeof e=="boolean"}function isString(e){return typeof e=="string"}var toString$2=Object.prototype.toString,OBJECT_STRING="[object Object]";function isPlainObject$2(e){return toString$2.call(e)===OBJECT_STRING}function isNull(e){return e==null}function isFunction$1(e){return typeof e=="function"}function parseArgs(){for(var e=[],a=arguments.length;a--;)e[a]=arguments[a];var n=null,i=null;return e.length===1?isObject$3(e[0])||isArray$1(e[0])?i=e[0]:typeof e[0]=="string"&&(n=e[0]):e.length===2&&(typeof e[0]=="string"&&(n=e[0]),(isObject$3(e[1])||isArray$1(e[1]))&&(i=e[1])),{locale:n,params:i}}function looseClone(e){return JSON.parse(JSON.stringify(e))}function remove$3(e,a){if(e.length){var n=e.indexOf(a);if(n>-1)return e.splice(n,1)}}function includes(e,a){return!!~e.indexOf(a)}var hasOwnProperty$1=Object.prototype.hasOwnProperty;function hasOwn$2(e,a){return hasOwnProperty$1.call(e,a)}function merge(e){for(var a=arguments,n=Object(e),i=1;i/g,">").replace(/"/g,""").replace(/'/g,"'")}function escapeParams(e){return e!=null&&Object.keys(e).forEach(function(a){typeof e[a]=="string"&&(e[a]=escapeHtml(e[a]))}),e}function extend$1(e){e.prototype.hasOwnProperty("$i18n")||Object.defineProperty(e.prototype,"$i18n",{get:function(){return this._i18n}}),e.prototype.$t=function(a){for(var n=[],i=arguments.length-1;i-- >0;)n[i]=arguments[i+1];var r=this.$i18n;return r._t.apply(r,[a,r.locale,r._getMessages(),this].concat(n))},e.prototype.$tc=function(a,n){for(var i=[],r=arguments.length-2;r-- >0;)i[r]=arguments[r+2];var s=this.$i18n;return s._tc.apply(s,[a,s.locale,s._getMessages(),this,n].concat(i))},e.prototype.$te=function(a,n){var i=this.$i18n;return i._te(a,i.locale,i._getMessages(),n)},e.prototype.$d=function(a){for(var n,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(n=this.$i18n).d.apply(n,[a].concat(i))},e.prototype.$n=function(a){for(var n,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(n=this.$i18n).n.apply(n,[a].concat(i))}}var mixin$1={beforeCreate:function(){var a=this.$options;if(a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n){if(a.i18n instanceof VueI18n){if(a.__i18n)try{var n=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(l){n=merge(n,JSON.parse(l))}),Object.keys(n).forEach(function(l){a.i18n.mergeLocaleMessage(l,n[l])})}catch(l){}this._i18n=a.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(isPlainObject$2(a.i18n)){var i=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this.$root.$i18n:null;if(i&&(a.i18n.root=this.$root,a.i18n.formatter=i.formatter,a.i18n.fallbackLocale=i.fallbackLocale,a.i18n.formatFallbackMessages=i.formatFallbackMessages,a.i18n.silentTranslationWarn=i.silentTranslationWarn,a.i18n.silentFallbackWarn=i.silentFallbackWarn,a.i18n.pluralizationRules=i.pluralizationRules,a.i18n.preserveDirectiveContent=i.preserveDirectiveContent),a.__i18n)try{var r=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18n.forEach(function(l){r=merge(r,JSON.parse(l))}),a.i18n.messages=r}catch(l){}var s=a.i18n,o=s.sharedMessages;o&&isPlainObject$2(o)&&(a.i18n.messages=merge(a.i18n.messages,o)),this._i18n=new VueI18n(a.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(a.i18n.sync===void 0||!!a.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),i&&i.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?this._i18n=this.$root.$i18n:a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n=a.parent.$i18n)},beforeMount:function(){var a=this.$options;a.i18n=a.i18n||(a.__i18n?{}:null),a.i18n?a.i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):isPlainObject$2(a.i18n)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof VueI18n?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof VueI18n&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){if(!!this._i18n){var a=this;this.$nextTick(function(){a._subscribing&&(a._i18n.unsubscribeDataChanging(a),delete a._subscribing),a._i18nWatcher&&(a._i18nWatcher(),a._i18n.destroyVM(),delete a._i18nWatcher),a._localeWatcher&&(a._localeWatcher(),delete a._localeWatcher)})}}},interpolationComponent={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(a,n){var i=n.data,r=n.parent,s=n.props,o=n.slots,l=r.$i18n;if(!!l){var c=s.path,u=s.locale,d=s.places,f=o(),h=l.i(c,u,onlyHasDefaultPlace(f)||d?useLegacyPlaces(f.default,d):f),m=!!s.tag&&s.tag!==!0||s.tag===!1?s.tag:"span";return m?a(m,i,h):h}}};function onlyHasDefaultPlace(e){var a;for(a in e)if(a!=="default")return!1;return Boolean(a)}function useLegacyPlaces(e,a){var n=a?createParamsFromPlaces(a):{};if(!e)return n;e=e.filter(function(r){return r.tag||r.text.trim()!==""});var i=e.every(vnodeHasPlaceAttribute);return e.reduce(i?assignChildPlace:assignChildIndex,n)}function createParamsFromPlaces(e){return Array.isArray(e)?e.reduce(assignChildIndex,{}):Object.assign({},e)}function assignChildPlace(e,a){return a.data&&a.data.attrs&&a.data.attrs.place&&(e[a.data.attrs.place]=a),e}function assignChildIndex(e,a,n){return e[n]=a,e}function vnodeHasPlaceAttribute(e){return Boolean(e.data&&e.data.attrs&&e.data.attrs.place)}var numberComponent={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(a,n){var i=n.props,r=n.parent,s=n.data,o=r.$i18n;if(!o)return null;var l=null,c=null;isString(i.format)?l=i.format:isObject$3(i.format)&&(i.format.key&&(l=i.format.key),c=Object.keys(i.format).reduce(function(m,v){var y;return includes(numberFormatKeys,v)?Object.assign({},m,(y={},y[v]=i.format[v],y)):m},null));var u=i.locale||o.locale,d=o._ntp(i.value,u,l,c),f=d.map(function(m,v){var y,_=s.scopedSlots&&s.scopedSlots[m.type];return _?_((y={},y[m.type]=m.value,y.index=v,y.parts=d,y)):m.value}),h=!!i.tag&&i.tag!==!0||i.tag===!1?i.tag:"span";return h?a(h,{attrs:s.attrs,class:s.class,staticClass:s.staticClass},f):f}};function bind$2(e,a,n){!assert$1(e,n)||t(e,a,n)}function update$1(e,a,n,i){if(!!assert$1(e,n)){var r=n.context.$i18n;localeEqual(e,n)&&looseEqual$1(a.value,a.oldValue)&&looseEqual$1(e._localeMessage,r.getLocaleMessage(r.locale))||t(e,a,n)}}function unbind(e,a,n,i){var r=n.context;if(!r){warn$3("Vue instance does not exists in VNode context");return}var s=n.context.$i18n||{};!a.modifiers.preserve&&!s.preserveDirectiveContent&&(e.textContent=""),e._vt=void 0,delete e._vt,e._locale=void 0,delete e._locale,e._localeMessage=void 0,delete e._localeMessage}function assert$1(e,a){var n=a.context;return n?n.$i18n?!0:(warn$3("VueI18n instance does not exists in Vue instance"),!1):(warn$3("Vue instance does not exists in VNode context"),!1)}function localeEqual(e,a){var n=a.context;return e._locale===n.$i18n.locale}function t(e,a,n){var i,r,s=a.value,o=parseValue(s),l=o.path,c=o.locale,u=o.args,d=o.choice;if(!l&&!c&&!u){warn$3("value type not supported");return}if(!l){warn$3("`path` is required in v-t directive");return}var f=n.context;d!=null?e._vt=e.textContent=(i=f.$i18n).tc.apply(i,[l,d].concat(makeParams(c,u))):e._vt=e.textContent=(r=f.$i18n).t.apply(r,[l].concat(makeParams(c,u))),e._locale=f.$i18n.locale,e._localeMessage=f.$i18n.getLocaleMessage(f.$i18n.locale)}function parseValue(e){var a,n,i,r;return isString(e)?a=e:isPlainObject$2(e)&&(a=e.path,n=e.locale,i=e.args,r=e.choice),{path:a,locale:n,args:i,choice:r}}function makeParams(e,a){var n=[];return e&&n.push(e),a&&(Array.isArray(a)||isPlainObject$2(a))&&n.push(a),n}var Vue$2;function install$2(e){install$2.installed=!0,Vue$2=e,Vue$2.version&&Number(Vue$2.version.split(".")[0]),extend$1(Vue$2),Vue$2.mixin(mixin$1),Vue$2.directive("t",{bind:bind$2,update:update$1,unbind}),Vue$2.component(interpolationComponent.name,interpolationComponent),Vue$2.component(numberComponent.name,numberComponent);var a=Vue$2.config.optionMergeStrategies;a.i18n=function(n,i){return i===void 0?n:i}}var BaseFormatter=function(){this._caches=Object.create(null)};BaseFormatter.prototype.interpolate=function(a,n){if(!n)return[a];var i=this._caches[a];return i||(i=parse$1(a),this._caches[a]=i),compile(i,n)};var RE_TOKEN_LIST_VALUE=/^(?:\d)+/,RE_TOKEN_NAMED_VALUE=/^(?:\w)+/;function parse$1(e){for(var a=[],n=0,i="";n0)r--,i=IN_SUB_PATH,h[APPEND]();else{if(r=0,o===void 0||(o=formatSubPath(o),o===!1))return!1;h[PUSH]()}};function m(){var v=e[n+1];if(i===IN_SINGLE_QUOTE&&v==="'"||i===IN_DOUBLE_QUOTE&&v==='"')return n++,l="\\"+v,h[APPEND](),!0}for(;i!==null;)if(n++,s=e[n],!(s==="\\"&&m())){if(c=getPathCharType(s),f=pathStateMachine[i],u=f[c]||f.else||ERROR,u===ERROR||(i=u[0],d=h[u[1]],d&&(l=u[2],l=l===void 0?s:l,d()===!1)))return;if(i===AFTER_PATH)return a}}var I18nPath=function(){this._cache=Object.create(null)};I18nPath.prototype.parsePath=function(a){var n=this._cache[a];return n||(n=parse$1$1(a),n&&(this._cache[a]=n)),n||[]},I18nPath.prototype.getPathValue=function(a,n){if(!isObject$3(a))return null;var i=this.parsePath(n);if(i.length===0)return null;for(var r=i.length,s=a,o=0;o/,linkKeyMatcher=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,linkKeyPrefixMatcher=/^@(?:\.([a-z]+))?:/,bracketsMatcher=/[()]/g,defaultModifiers={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()},capitalize:function(e){return""+e.charAt(0).toLocaleUpperCase()+e.substr(1)}},defaultFormatter=new BaseFormatter,VueI18n=function(a){var n=this;a===void 0&&(a={}),!Vue$2&&typeof window!="undefined"&&window.Vue&&install$2(window.Vue);var i=a.locale||"en-US",r=a.fallbackLocale===!1?!1:a.fallbackLocale||"en-US",s=a.messages||{},o=a.dateTimeFormats||{},l=a.numberFormats||{};this._vm=null,this._formatter=a.formatter||defaultFormatter,this._modifiers=a.modifiers||{},this._missing=a.missing||null,this._root=a.root||null,this._sync=a.sync===void 0?!0:!!a.sync,this._fallbackRoot=a.fallbackRoot===void 0?!0:!!a.fallbackRoot,this._formatFallbackMessages=a.formatFallbackMessages===void 0?!1:!!a.formatFallbackMessages,this._silentTranslationWarn=a.silentTranslationWarn===void 0?!1:a.silentTranslationWarn,this._silentFallbackWarn=a.silentFallbackWarn===void 0?!1:!!a.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new I18nPath,this._dataListeners=[],this._componentInstanceCreatedListener=a.componentInstanceCreatedListener||null,this._preserveDirectiveContent=a.preserveDirectiveContent===void 0?!1:!!a.preserveDirectiveContent,this.pluralizationRules=a.pluralizationRules||{},this._warnHtmlInMessage=a.warnHtmlInMessage||"off",this._postTranslation=a.postTranslation||null,this._escapeParameterHtml=a.escapeParameterHtml||!1,this.getChoiceIndex=function(c,u){var d=Object.getPrototypeOf(n);if(d&&d.getChoiceIndex){var f=d.getChoiceIndex;return f.call(n,c,u)}var h=function(m,v){return m=Math.abs(m),v===2?m?m>1?1:0:1:m?Math.min(m,2):0};return n.locale in n.pluralizationRules?n.pluralizationRules[n.locale].apply(n,[c,u]):h(c,u)},this._exist=function(c,u){return!c||!u?!1:!!(!isNull(n._path.getPathValue(c,u))||c[u])},(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&Object.keys(s).forEach(function(c){n._checkLocaleMessage(c,n._warnHtmlInMessage,s[c])}),this._initVM({locale:i,fallbackLocale:r,messages:s,dateTimeFormats:o,numberFormats:l})},prototypeAccessors$2={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0}};VueI18n.prototype._checkLocaleMessage=function(a,n,i){var r=[],s=function(o,l,c,u){if(isPlainObject$2(c))Object.keys(c).forEach(function(h){var m=c[h];isPlainObject$2(m)?(u.push(h),u.push("."),s(o,l,m,u),u.pop(),u.pop()):(u.push(h),s(o,l,m,u),u.pop())});else if(isArray$1(c))c.forEach(function(h,m){isPlainObject$2(h)?(u.push("["+m+"]"),u.push("."),s(o,l,h,u),u.pop(),u.pop()):(u.push("["+m+"]"),s(o,l,h,u),u.pop())});else if(isString(c)){var d=htmlTagMatcher.test(c);if(d){var f="Detected HTML in message '"+c+"' of keypath '"+u.join("")+"' at '"+l+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";o==="warn"?warn$3(f):o==="error"&&error(f)}}};s(n,a,i,r)},VueI18n.prototype._initVM=function(a){var n=Vue$2.config.silent;Vue$2.config.silent=!0,this._vm=new Vue$2({data:a}),Vue$2.config.silent=n},VueI18n.prototype.destroyVM=function(){this._vm.$destroy()},VueI18n.prototype.subscribeDataChanging=function(a){this._dataListeners.push(a)},VueI18n.prototype.unsubscribeDataChanging=function(a){remove$3(this._dataListeners,a)},VueI18n.prototype.watchI18nData=function(){var a=this;return this._vm.$watch("$data",function(){for(var n=a._dataListeners.length;n--;)Vue$2.nextTick(function(){a._dataListeners[n]&&a._dataListeners[n].$forceUpdate()})},{deep:!0})},VueI18n.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var a=this._vm;return this._root.$i18n.vm.$watch("locale",function(n){a.$set(a,"locale",n),a.$forceUpdate()},{immediate:!0})},VueI18n.prototype.onComponentInstanceCreated=function(a){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(a,this)},prototypeAccessors$2.vm.get=function(){return this._vm},prototypeAccessors$2.messages.get=function(){return looseClone(this._getMessages())},prototypeAccessors$2.dateTimeFormats.get=function(){return looseClone(this._getDateTimeFormats())},prototypeAccessors$2.numberFormats.get=function(){return looseClone(this._getNumberFormats())},prototypeAccessors$2.availableLocales.get=function(){return Object.keys(this.messages).sort()},prototypeAccessors$2.locale.get=function(){return this._vm.locale},prototypeAccessors$2.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},prototypeAccessors$2.fallbackLocale.get=function(){return this._vm.fallbackLocale},prototypeAccessors$2.fallbackLocale.set=function(e){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",e)},prototypeAccessors$2.formatFallbackMessages.get=function(){return this._formatFallbackMessages},prototypeAccessors$2.formatFallbackMessages.set=function(e){this._formatFallbackMessages=e},prototypeAccessors$2.missing.get=function(){return this._missing},prototypeAccessors$2.missing.set=function(e){this._missing=e},prototypeAccessors$2.formatter.get=function(){return this._formatter},prototypeAccessors$2.formatter.set=function(e){this._formatter=e},prototypeAccessors$2.silentTranslationWarn.get=function(){return this._silentTranslationWarn},prototypeAccessors$2.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},prototypeAccessors$2.silentFallbackWarn.get=function(){return this._silentFallbackWarn},prototypeAccessors$2.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},prototypeAccessors$2.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},prototypeAccessors$2.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},prototypeAccessors$2.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},prototypeAccessors$2.warnHtmlInMessage.set=function(e){var a=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,n!==e&&(e==="warn"||e==="error")){var i=this._getMessages();Object.keys(i).forEach(function(r){a._checkLocaleMessage(r,a._warnHtmlInMessage,i[r])})}},prototypeAccessors$2.postTranslation.get=function(){return this._postTranslation},prototypeAccessors$2.postTranslation.set=function(e){this._postTranslation=e},VueI18n.prototype._getMessages=function(){return this._vm.messages},VueI18n.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},VueI18n.prototype._getNumberFormats=function(){return this._vm.numberFormats},VueI18n.prototype._warnDefault=function(a,n,i,r,s,o){if(!isNull(i))return i;if(this._missing){var l=this._missing.apply(null,[a,n,r,s]);if(isString(l))return l}if(this._formatFallbackMessages){var c=parseArgs.apply(void 0,s);return this._render(n,o,c.params,n)}else return n},VueI18n.prototype._isFallbackRoot=function(a){return!a&&!isNull(this._root)&&this._fallbackRoot},VueI18n.prototype._isSilentFallbackWarn=function(a){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(a):this._silentFallbackWarn},VueI18n.prototype._isSilentFallback=function(a,n){return this._isSilentFallbackWarn(n)&&(this._isFallbackRoot()||a!==this.fallbackLocale)},VueI18n.prototype._isSilentTranslationWarn=function(a){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(a):this._silentTranslationWarn},VueI18n.prototype._interpolate=function(a,n,i,r,s,o,l){if(!n)return null;var c=this._path.getPathValue(n,i);if(isArray$1(c)||isPlainObject$2(c))return c;var u;if(isNull(c))if(isPlainObject$2(n)){if(u=n[i],!(isString(u)||isFunction$1(u)))return null}else return null;else if(isString(c)||isFunction$1(c))u=c;else return null;return isString(u)&&(u.indexOf("@:")>=0||u.indexOf("@.")>=0)&&(u=this._link(a,n,u,r,"raw",o,l)),this._render(u,s,o,i)},VueI18n.prototype._link=function(a,n,i,r,s,o,l){var c=i,u=c.match(linkKeyMatcher);for(var d in u)if(!!u.hasOwnProperty(d)){var f=u[d],h=f.match(linkKeyPrefixMatcher),m=h[0],v=h[1],y=f.replace(m,"").replace(bracketsMatcher,"");if(includes(l,y))return c;l.push(y);var _=this._interpolate(a,n,y,r,s==="raw"?"string":s,s==="raw"?void 0:o,l);if(this._isFallbackRoot(_)){if(!this._root)throw Error("unexpected error");var w=this._root.$i18n;_=w._translate(w._getMessages(),w.locale,w.fallbackLocale,y,r,s,o)}_=this._warnDefault(a,y,_,r,isArray$1(o)?o:[o],s),this._modifiers.hasOwnProperty(v)?_=this._modifiers[v](_):defaultModifiers.hasOwnProperty(v)&&(_=defaultModifiers[v](_)),l.pop(),c=_?c.replace(f,_):c}return c},VueI18n.prototype._createMessageContext=function(a){var n=isArray$1(a)?a:[],i=isObject$3(a)?a:{},r=function(o){return n[o]},s=function(o){return i[o]};return{list:r,named:s}},VueI18n.prototype._render=function(a,n,i,r){if(isFunction$1(a))return a(this._createMessageContext(i));var s=this._formatter.interpolate(a,i,r);return s||(s=defaultFormatter.interpolate(a,i,r)),n==="string"&&!isString(s)?s.join(""):s},VueI18n.prototype._appendItemToChain=function(a,n,i){var r=!1;return includes(a,n)||(r=!0,n&&(r=n[n.length-1]!=="!",n=n.replace(/!/g,""),a.push(n),i&&i[n]&&(r=i[n]))),r},VueI18n.prototype._appendLocaleToChain=function(a,n,i){var r,s=n.split("-");do{var o=s.join("-");r=this._appendItemToChain(a,o,i),s.splice(-1,1)}while(s.length&&r===!0);return r},VueI18n.prototype._appendBlockToChain=function(a,n,i){for(var r=!0,s=0;s0;)o[l]=arguments[l+4];if(!a)return"";var c=parseArgs.apply(void 0,o);this._escapeParameterHtml&&(c.params=escapeParams(c.params));var u=c.locale||n,d=this._translate(i,u,this.fallbackLocale,a,r,"string",c.params);if(this._isFallbackRoot(d)){if(!this._root)throw Error("unexpected error");return(s=this._root).$t.apply(s,[a].concat(o))}else return d=this._warnDefault(u,a,d,r,o,"string"),this._postTranslation&&d!==null&&d!==void 0&&(d=this._postTranslation(d,a)),d},VueI18n.prototype.t=function(a){for(var n,i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];return(n=this)._t.apply(n,[a,this.locale,this._getMessages(),null].concat(i))},VueI18n.prototype._i=function(a,n,i,r,s){var o=this._translate(i,n,this.fallbackLocale,a,r,"raw",s);if(this._isFallbackRoot(o)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(a,n,s)}else return this._warnDefault(n,a,o,r,[s],"raw")},VueI18n.prototype.i=function(a,n,i){return a?(isString(n)||(n=this.locale),this._i(a,n,this._getMessages(),null,i)):""},VueI18n.prototype._tc=function(a,n,i,r,s){for(var o,l=[],c=arguments.length-5;c-- >0;)l[c]=arguments[c+5];if(!a)return"";s===void 0&&(s=1);var u={count:s,n:s},d=parseArgs.apply(void 0,l);return d.params=Object.assign(u,d.params),l=d.locale===null?[d.params]:[d.locale,d.params],this.fetchChoice((o=this)._t.apply(o,[a,n,i,r].concat(l)),s)},VueI18n.prototype.fetchChoice=function(a,n){if(!a||!isString(a))return null;var i=a.split("|");return n=this.getChoiceIndex(n,i.length),i[n]?i[n].trim():a},VueI18n.prototype.tc=function(a,n){for(var i,r=[],s=arguments.length-2;s-- >0;)r[s]=arguments[s+2];return(i=this)._tc.apply(i,[a,this.locale,this._getMessages(),null,n].concat(r))},VueI18n.prototype._te=function(a,n,i){for(var r=[],s=arguments.length-3;s-- >0;)r[s]=arguments[s+3];var o=parseArgs.apply(void 0,r).locale||n;return this._exist(i[o],a)},VueI18n.prototype.te=function(a,n){return this._te(a,this.locale,this._getMessages(),n)},VueI18n.prototype.getLocaleMessage=function(a){return looseClone(this._vm.messages[a]||{})},VueI18n.prototype.setLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,n)},VueI18n.prototype.mergeLocaleMessage=function(a,n){(this._warnHtmlInMessage==="warn"||this._warnHtmlInMessage==="error")&&this._checkLocaleMessage(a,this._warnHtmlInMessage,n),this._vm.$set(this._vm.messages,a,merge(typeof this._vm.messages[a]!="undefined"&&Object.keys(this._vm.messages[a]).length?this._vm.messages[a]:{},n))},VueI18n.prototype.getDateTimeFormat=function(a){return looseClone(this._vm.dateTimeFormats[a]||{})},VueI18n.prototype.setDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,n),this._clearDateTimeFormat(a,n)},VueI18n.prototype.mergeDateTimeFormat=function(a,n){this._vm.$set(this._vm.dateTimeFormats,a,merge(this._vm.dateTimeFormats[a]||{},n)),this._clearDateTimeFormat(a,n)},VueI18n.prototype._clearDateTimeFormat=function(a,n){for(var i in n){var r=a+"__"+i;!this._dateTimeFormatters.hasOwnProperty(r)||delete this._dateTimeFormatters[r]}},VueI18n.prototype._localizeDateTime=function(a,n,i,r,s){for(var o=n,l=r[o],c=this._getLocaleChain(n,i),u=0;u0;)n[i]=arguments[i+1];var r=this.locale,s=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(r=n[0].locale),n[0].key&&(s=n[0].key)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(r=n[1])),this._d(a,r,s)},VueI18n.prototype.getNumberFormat=function(a){return looseClone(this._vm.numberFormats[a]||{})},VueI18n.prototype.setNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,n),this._clearNumberFormat(a,n)},VueI18n.prototype.mergeNumberFormat=function(a,n){this._vm.$set(this._vm.numberFormats,a,merge(this._vm.numberFormats[a]||{},n)),this._clearNumberFormat(a,n)},VueI18n.prototype._clearNumberFormat=function(a,n){for(var i in n){var r=a+"__"+i;!this._numberFormatters.hasOwnProperty(r)||delete this._numberFormatters[r]}},VueI18n.prototype._getNumberFormatter=function(a,n,i,r,s,o){for(var l=n,c=r[l],u=this._getLocaleChain(n,i),d=0;d0;)n[i]=arguments[i+1];var r=this.locale,s=null,o=null;return n.length===1?isString(n[0])?s=n[0]:isObject$3(n[0])&&(n[0].locale&&(r=n[0].locale),n[0].key&&(s=n[0].key),o=Object.keys(n[0]).reduce(function(l,c){var u;return includes(numberFormatKeys,c)?Object.assign({},l,(u={},u[c]=n[0][c],u)):l},null)):n.length===2&&(isString(n[0])&&(s=n[0]),isString(n[1])&&(r=n[1])),this._n(a,r,s,o)},VueI18n.prototype._ntp=function(a,n,i,r){if(!VueI18n.availabilities.numberFormat)return[];if(!i){var s=r?new Intl.NumberFormat(n,r):new Intl.NumberFormat(n);return s.formatToParts(a)}var o=this._getNumberFormatter(a,n,this.fallbackLocale,this._getNumberFormats(),i,r),l=o&&o.formatToParts(a);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(a,n,i,r)}else return l||[]},Object.defineProperties(VueI18n.prototype,prototypeAccessors$2);var availabilities;Object.defineProperty(VueI18n,"availabilities",{get:function(){if(!availabilities){var a=typeof Intl!="undefined";availabilities={dateTimeFormat:a&&typeof Intl.DateTimeFormat!="undefined",numberFormat:a&&typeof Intl.NumberFormat!="undefined"}}return availabilities}}),VueI18n.install=install$2,VueI18n.version="8.23.0";const it={globals:{welcome:"Benvenuto su deemix",back:"indietro",loading:"caricamento",download:"Scarica {thing}",by:"di {artist}",in:"in {album}",download_hint:"Scarica",play_hint:"Riproduci",toggle_download_tab_hint:"Espandi/Riduci",clean_queue_hint:"Pulisci Lista",cancel_queue_hint:"Cancella tutti i download",open_downloads_folder:"Apri la cartella di download",cut:"taglia",copy:"copia",copyLink:"copia link",copyImageLink:"copia link immagine",copyDeezerLink:"copia link deezer",paste:"incolla",listTabs:{all:"tutto",top_result:"miglior risultato",album:"album",artist:"artista | artisti",single:"singolo | singoli",title:"titolo | titoli",track:"brano | brani",releaseN:"0 dischi | {n} disco | {n} dischi",playlist:"playlist",compile:"compilation",bundle:"collezione | collezioni",ep:"ep",more:"Altri album",featured:"Compare in",spotifyPlaylist:"playlist spotify",releaseDate:"data di uscita",error:"errore",empty:"",trackN:"0 brani | {n} brano | {n} brani",albumN:"{n} album",artistN:"0 artisti | {n} artista | {n} artisti",playlistN:"{n} playlist"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Versione attuale",currentWebuiVersion:"Versione WebUI attuale",versionNotAvailable:"N/A",updateAvailable:"Non stai usando l'ultima versione disponibile: {version}",deemixVersion:"Versione libreria deemix"},titles:{usefulLinks:"Link Utili",bugReports:"Segnalazione di bug",contributing:"Contribuire al progetto",donations:"Donazioni",license:"Licenza"},subtitles:{bugReports:"C'\xE8 qualcosa di deemix che non funziona? Faccelo sapere!",contributing:"Vuoi contribuire a questo progetto? Puoi farlo in pi\xF9 modi!",donations:"Vuoi dare una mano economicamente? Puoi fare una donazione!"},usesLibrary:"Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.",thanks:"Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.",upToDate:{text:"Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.",newsChannel:"canale delle news"},officialWebsite:"Sito Ufficiale",officialRepo:"Repository Ufficiale della Libreria",officialWebuiRepo:"Repository Ufficiale dell'Interfaccia Web",officialSubreddit:"Subreddit Ufficiale",newsChannel:"Canale delle news",questions:{text:"Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.",subreddit:"subreddit ufficiale"},beforeReporting:"Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ci\xF2 che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.",beSure:"Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che \xE8 gi\xE0 stato segnalato.",duplicateReports:"Le segnalazioni doppie verranno chiuse, tienilo presente.",dontOpenIssues:"NON aprire issues per porre domande, per quello esiste un subreddit.",newUI:{text:"Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.",repo:"repo"},acceptFeatures:"Accetto anche funzionalit\xE0, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.",otherLanguages:"Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!",understandingCode:"Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit",contributeWebUI:{text:"Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.",webui:"WebUI"},itsFree:"Ricordati che questo \xE8 un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.",notObligated:"Non sentirti obbligato a donare, mi stai simpatico lo stesso!",lincensedUnder:{text:"Questo progetto \xE8 sotto la licenza {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Classifiche",changeCountry:"Cambia Paese",download:"Scarica Classifica"},errors:{title:"Errori riguardanti {name}",ids:{invalidURL:"URL non riconosciuto",unsupportedURL:"URL non ancora supportato",ISRCnotOnDeezer:"Questo ISRC non \xE8 disponibile su Deezer",notYourPrivatePlaylist:"Non puoi scaricare le playlist private degli altri.",spotifyDisabled:"Spotify Features non \xE8 impostato correttamente.",trackNotOnDeezer:"Brano non trovato su Deezer!",albumNotOnDeezer:"Album non trovato su Deezer!",notOnDeezer:"Brano non disponibile su Deezer!",notEncoded:"Brano non ancora codificato!",notEncodedNoAlternative:"Brano non ancora codificato e nessuna alternativa trovata!",wrongBitrate:"Brano non trovato con il bitrate specificato.",wrongBitrateNoAlternative:"Brano non trovato con il bitrate specificato e nessuna alternativa trovata!",no360RA:"Brano non disponibile in Reality Audio 360.",notAvailable:"Brano non presente sui server di Deezer!",notAvailableNoAlternative:"Brano non presente sui server di Deezer e nessuna alternativa trovata!",noSpaceLeft:"Spazio su disco esaurito!",albumDoesntExists:"Il brano non ha nessun album, impossibile ottenere informazioni"}},favorites:{title:"Preferiti",noPlaylists:"Nessuna Playlist preferita trovata",noAlbums:"Nessun Album preferito trovato",noArtists:"Nessun Artista preferito trovato",noTracks:"Nessun Brano preferito trovato"},home:{needTologin:"Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.",openSettings:"Apri le impostazioni",sections:{popularPlaylists:"Playlist Popolari",popularAlbums:"Album pi\xF9 riprodotti"}},linkAnalyzer:{info:"Puoi utilizzare questa sezione per avere pi\xF9 informazioni riguardanti il link che stai cercando di scaricare.",useful:"Ci\xF2 pu\xF2 esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.",linkNotSupported:"Questo link non \xE8 ancora supportato",linkNotSupportedYet:"Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durata",diskNumber:"Numero Disco",trackNumber:"Numero Traccia",releaseDate:"Data di uscita",bpm:"BPM",label:"Etichetta",recordType:"Tipologia di registrazione",genres:"Generi",tracklist:"Lista tracce"}},search:{startSearching:"Inizia a cercare!",description:"Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer",fans:"{n} fan",noResults:"Nessun risultato",noResultsTrack:"Nessun brano trovato",noResultsAlbum:"Nessun album trovato",noResultsArtist:"Nessun artista trovato",noResultsPlaylist:"Nessuna playlist trovata"},searchbar:"Cerca qualsiasi cosa (o incolla semplicemente un link)",downloads:"download",toasts:{restoringQueue:"Ripristinando la coda di download...",queueRestored:"Coda di download ripristinata!",addedToQueue:"{item} aggiunto alla coda",addedMoreToQueue:"{n} oggetti aggiunti alla coda",alreadyInQueue:"{item} \xE8 gi\xE0 nella coda!",finishDownload:"{item} ha finito di scaricarsi.",allDownloaded:"Tutti i download completati!",refreshFavs:"Preferiti ricaricati!",loggingIn:"Effettuando il login...",loggedIn:"Login effettuato",alreadyLogged:"Sei gi\xE0 loggato",loginFailed:"Impossibile loggarsi",loggedOut:"Disconnesso",cancellingCurrentItem:"Cancellando download corrente.",currentItemCancelled:"Download corrente cancellato.",startAddingArtist:"Aggiungendo gli album di {artist} alla coda",finishAddingArtist:"Aggiunto gli album di {artist} alla coda",startConvertingSpotifyPlaylist:"Convertendo i brani da spotify a deezer",finishConvertingSpotifyPlaylist:"Playlist di spotify convertita",loginNeededToDownload:"Devi accedere prima di poter scaricare brani!",deezerNotAvailable:"Deezer non \xE8 disponibile nel tuo paese. Dovresti usare una VPN.",startGeneratingItems:"Elaborando {n} oggetti...",finishGeneratingItems:"{n} oggetti generati."},settings:{title:"Impostazioni",languages:"Lingue",login:{title:"Login",loggedIn:"Sei loggato come {username}",arl:{question:"Come ottengo il mio ARL?",update:"Aggiorna ARL"},logout:"Disconnettiti",login:"Accedi tramite deezer.com"},appearance:{title:"Aspetto",slimDownloadTab:"Tab dei download slim",slimSidebar:"Sidebar slim"},downloadPath:{title:"Cartella di download"},templates:{title:"Template",tracknameTemplate:"Template nome brano",tracknameAvailableVariables:"Variabili nome brano disponibili",albumTracknameTemplate:"Template nome brano negli Album",albumTracknameAvailableVariables:"Variabili nome brano negli Album disponibili",playlistTracknameTemplate:"Template nome brano nelle Playlist",playlistTracknameAvailableVariables:"Variabili nome brano nelle Playlist disponibili"},folders:{title:"Cartelle",createPlaylistFolder:"Crea cartelle per le Playlist",playlistNameTemplate:"Template nome della cartella Playlist",createArtistFolder:"Crea cartelle per gli Artisti",artistNameTemplate:"Template nome della cartella Artista",createAlbumFolder:"Crea cartelle per gli Album",albumNameTemplate:"Template nome della cartella Album",createCDFolder:"Crea cartelle per i CD",createStructurePlaylist:"Crea la struttura di cartelle per le Playlist",createSingleFolder:"Crea la struttura di cartelle per i brani singoli"},trackTitles:{title:"Titoli brani",padTracks:"Aggiungi zeri ai numeri di traccia",paddingSize:"Sovrascrivi il numero di zeri da aggiungere",illegalCharacterReplacer:"Rimpiazza caratteri illegali con"},downloads:{title:"Download",queueConcurrency:"Download simultanei",maxBitrate:{title:"Bitrate preferito",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dovrei sovrascrivere i file gi\xE0 scaricati?",y:"Si, sovrascrivi i file",n:"No, non sovrascrivere i file",t:"Sovrascrivi solo i tag",b:"No, mantieni entrambi i file e aggiungi un numero al duplicato",e:"No, e non tener conto della estensione del file"},fallbackBitrate:"Utilizza bitrate pi\xF9 bassi se il bitrate preferito non \xE8 disponibile",fallbackSearch:"Cerca il brano se il link originale non \xE8 disponibile",logErrors:"Crea file di log per gli errori",logSearched:"Crea file di log per le alternative cercate",syncedLyrics:"Crea i file .lyr (Testi Sincronizzati)",createM3U8File:"Crea i file playlist",playlistFilenameTemplate:"Template nome del file playlist",saveDownloadQueue:"Salva la coda di download quando chiudi l'app"},covers:{title:"Copertine",saveArtwork:"Salva copertina album",coverImageTemplate:"Template nome copertina album",saveArtworkArtist:"Salva copertina artista",artistImageTemplate:"Template nome copertina artista",localArtworkSize:"Dimensioni copertine locali",embeddedArtworkSize:"Dimensioni copertine incorporate",localArtworkFormat:{title:"Come vuoi salvare le copertine locali?",jpg:"In jpeg",png:"In png",both:"Sia in jpeg che in png"},jpegImageQuality:"Qualit\xE0 immagine JPEG",embeddedArtworkPNG:"Salva copertina incorporata come PNG",embeddedPNGWarning:"Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi",imageSizeWarning:"Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi",coverDescriptionUTF8:"Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)"},tags:{head:"Quali tag salvare",title:"Titolo",artist:"Artista",album:"Album",cover:"Copertina",trackNumber:"Numero Traccia",trackTotal:"Tracce Totali",discNumber:"Numero Disco",discTotal:"Dischi Totali",albumArtist:"Artista dell'album",genre:"Genere",year:"Anno",date:"Data",explicit:"Testo Esplicito",isrc:"ISRC",length:"Durata Traccia",barcode:"Barcode dell'album (UPC)",bpm:"BPM",replayGain:"Replay gain",label:"Casa Discografica",lyrics:"Testo non Sincronizzato",syncedLyrics:"Testo Sincronizzato",copyright:"Copyright",composer:"Compositori",involvedPeople:"Persone Coinvolte",source:"Sorgente e ID brano"},other:{title:"Altro",savePlaylistAsCompilation:"Salva le playlist come Compilation",useNullSeparator:"Usa il carattere NULL come separatore",saveID3v1:"Salva anche l'ID3v1",multiArtistSeparator:{title:"Come vuoi separare gli artisti?",nothing:"Salva solo l'artista principale",default:"Usando la specificazione standard",andFeat:"Usando & e feat.",using:'Usando "{separator}"'},singleAlbumArtist:"Salva solo l'artista dell'album principale",albumVariousArtists:`Lascia "Artisti Vari" negli artisti dell'album`,removeAlbumVersion:'Rimuovi "Album Version" dal titolo del brano',removeDuplicateArtists:"Rimuovi le combinazioni di artisti",dateFormat:{title:"Formato della data per i file FLAC",year:"AAAA",month:"MM",day:"GG"},featuredToTitle:{title:"Cosa dovrei fare con i feat?",0:"Niente",1:"Rimuovili dal titolo",3:"Rimuovili dal titolo e dal nome dell'album",2:"Spostali sul titolo"},titleCasing:"Formato testo dei titoli",artistCasing:"Formato testo degli artisti",casing:{nothing:"Non cambiare",upper:"TUTTO MAIUSCOLO",lower:"tutto minuscolo",start:"Prima Lettera Maiuscola",sentence:"Come una frase"},previewVolume:"Volume Anteprime",executeCommand:{title:"Comando da eseguire dopo il download",description:"Lascia vuoto per nessuna azione"}},spotify:{title:"Spotify Features",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"Come attivo le Spotify Features?"},reset:"Reimposta Default",resetMessage:"Sei sicuro di voler tornare alle impostazioni di default?",save:"Salva",toasts:{init:"Impostazioni caricate!",update:"Impostazioni aggiornate!",reset:"Impostazioni di default ripristinate!",ARLcopied:"ARL copiato negli appunti"}},sidebar:{home:"home",search:"ricerca",charts:"classifiche",favorites:"preferiti",linkAnalyzer:"analizza link",settings:"impostazioni",about:"info"},tracklist:{downloadSelection:"Scarica selezionati"}},en={globals:{welcome:"Welcome to deemix",back:"back",loading:"loading",download:"Download {thing}",by:"by {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Expand/Collapse",clean_queue_hint:"Clear Finished",cancel_queue_hint:"Cancel All",open_downloads_folder:"Open Downloads Folder",cut:"cut",copy:"copy",copyLink:"copy link",copyImageLink:"copy image link",copyDeezerLink:"copy deezer link",paste:"paste",listTabs:{empty:"",all:"all",top_result:"top result",album:"album | albums",artist:"artist | artists",single:"single | singles",title:"title | titles",track:"track | tracks",releaseN:"0 releases | {n} release | {n} releases",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"More albums",featured:"Featured in",spotifyPlaylist:"spotify playlist | spotify playlists",releaseDate:"release date",error:"error",trackN:"0 tracks | {n} track | {n} tracks",albumN:"0 albums | {n} album | {n} albums",artistN:"0 artists | {n} artist | {n} artists",playlistN:"0 playlists | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Current Version",currentWebuiVersion:"Current WebUI Version",versionNotAvailable:"N/A",updateAvailable:"You're not running the latest version available: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Useful Links",bugReports:"Bug Reports",contributing:"Contributing",donations:"Donations",license:"License"},subtitles:{bugReports:"Is there something that isn't working in deemix? Tell us!",contributing:"You want to contribute to this project? You can do it in different ways!",donations:"You want to contribute monetarily? You could make a donation!"},usesLibrary:"This app uses the deemix library, which you can use to make your own UI for deemix.",thanks:"Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.",upToDate:{text:"Stay up to date with the updates by following the {newsChannel} on Telegram.",newsChannel:"news channel"},officialWebsite:"Official Website",officialRepo:"Official Library Repository",officialWebuiRepo:"Official WebUI Repository",officialSubreddit:"Official Subreddit",newsChannel:"News Channel",questions:{text:"If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.",subreddit:"subreddit"},beforeReporting:"Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.",beSure:"Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.",duplicateReports:"Duplicate bug reports will be closed, so keep an eye out on that.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",newUI:{text:"If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.",repo:"repo"},acceptFeatures:"I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.",otherLanguages:"If you're fluent in another programming language you could try to port deemix into other programming languages!",understandingCode:"You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.",contributeWebUI:{text:"If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.",webui:"WebUI"},itsFree:"You should remember that this is a free project and you should support the artists you love before supporting the developers.",notObligated:"Don't feel obligated to donate, I appreciate you anyway!",lincensedUnder:{text:"This work is licensed under the {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Change Country",download:"Download Chart"},errors:{title:"Errors for {name}",ids:{invalidURL:"URL not recognized",unsupportedURL:"URL not supported yet",ISRCnotOnDeezer:"Track ISRC is not available on Deezer",notYourPrivatePlaylist:"You can't download others private playlists.",spotifyDisabled:"Spotify Features is not setted up correctly.",trackNotOnDeezer:"Track not found on Deezer!",albumNotOnDeezer:"Album not found on Deezer!",notOnDeezer:"Track not available on Deezer!",notEncoded:"Track not yet encoded!",notEncodedNoAlternative:"Track not yet encoded and no alternative found!",wrongBitrate:"Track not found at desired bitrate.",wrongBitrateNoAlternative:"Track not found at desired bitrate and no alternative found!",no360RA:"Track is not available in Reality Audio 360.",notAvailable:"Track not available on Deezer's servers!",notAvailableNoAlternative:"Track not available on Deezer's servers and no alternative found!",noSpaceLeft:"No space left on the device!",albumDoesntExists:"Track's album doesn't exist, failed to gather info"}},favorites:{title:"Favorites",noPlaylists:"No Playlists found",noAlbums:"No Favorite Albums found",noArtists:"No Favorite Artists found",noTracks:"No Favorite Tracks found"},home:{needTologin:"You need to log into your Deezer account before you can start downloading.",openSettings:"Open Settings",sections:{popularPlaylists:"Popular playlists",popularAlbums:"Most streamed albums"}},linkAnalyzer:{info:"You can use this section to find more information about the link you are trying to download.",useful:"This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.",linkNotSupported:"This link is not yet supported",linkNotSupportedYet:"Seems like this link is not yet supported, try analyzing another one.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duration",diskNumber:"Disk Number",trackNumber:"Track Number",releaseDate:"Release Date",bpm:"BPM",label:"Label",recordType:"Record Type",genres:"Genres",tracklist:"Tracklist"}},search:{startSearching:"Start searching!",description:"You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link",fans:"{n} fans",noResults:"No results",noResultsTrack:"No Tracks found",noResultsAlbum:"No Albums found",noResultsArtist:"No Artists found",noResultsPlaylist:"No Playlists found"},searchbar:"Search anything you want (or just paste a link)",downloads:"downloads",toasts:{restoringQueue:"Restoring download queue...",queueRestored:"Download queue restored!",addedToQueue:"{item} added to queue",addedMoreToQueue:"{n} items added to queue",alreadyInQueue:"{item} is already in queue!",finishDownload:"{item} finished downloading.",allDownloaded:"All downloads completed!",refreshFavs:"Refresh completed!",loggingIn:"Logging in...",loggedIn:"Logged in",alreadyLogged:"Already logged in",loginFailed:"Couldn't log in",loggedOut:"Logged out",cancellingCurrentItem:"Cancelling current item.",currentItemCancelled:"Current item cancelled.",startAddingArtist:"Adding {artist} albums to queue",finishAddingArtist:"Added {artist} albums to queue",startConvertingSpotifyPlaylist:"Converting spotify tracks to Deezer tracks",finishConvertingSpotifyPlaylist:"Spotify playlist converted",loginNeededToDownload:"You need to log in to download tracks!",deezerNotAvailable:"Deezer is not available in your country. You should use a VPN.",startGeneratingItems:"Processing {n} items...",finishGeneratingItems:"Generated {n} items."},settings:{title:"Settings",languages:"Languages",login:{title:"Login",loggedIn:"You are logged in as {username}",arl:{question:"How do I get my own ARL?",update:"Update ARL"},logout:"Logout",login:"Login via deezer.com"},appearance:{title:"Appearance",slimDownloadTab:"Slim download tab",slimSidebar:"Slim Sidebar"},downloadPath:{title:"Download Path"},templates:{title:"Templates",tracknameTemplate:"Trackname template",tracknameAvailableVariables:"Available trackname variables",albumTracknameTemplate:"Album track template",albumTracknameAvailableVariables:"Available album track variables",playlistTracknameTemplate:"Playlist track template",playlistTracknameAvailableVariables:"Available playlist track variables"},folders:{title:"Folders",createPlaylistFolder:"Create folder for playlists",playlistNameTemplate:"Playlist folder template",createArtistFolder:"Create folder for artist",artistNameTemplate:"Artist folder template",createAlbumFolder:"Create folder for album",albumNameTemplate:"Album folder template",createCDFolder:"Create folder for CDs",createStructurePlaylist:"Create folder structure for playlists",createSingleFolder:"Create folder structure for singles"},trackTitles:{title:"Track titles",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"Illegal Character replacer"},downloads:{title:"Downloads",queueConcurrency:"Concurrent Downloads",maxBitrate:{title:"Preferred Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Should I overwrite the files?",y:"Yes, overwrite the file",n:"No, don't overwrite the file",t:"Overwrite only the tags",b:"No, keep both files and add a number to the duplicate",e:"No, and don't look at the extensions"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Search fallback",logErrors:"Create log files for errors",logSearched:"Create log files for searched tracks",createM3U8File:"Create playlist file",syncedLyrics:"Create .lyr files (Sync Lyrics)",playlistFilenameTemplate:"Playlist filename template",saveDownloadQueue:"Save download queue when closing the app"},covers:{title:"Album covers",saveArtwork:"Save Covers",coverImageTemplate:"Cover name template",saveArtworkArtist:"Save artist image",artistImageTemplate:"Artist image template",localArtworkSize:"Local artwork size",embeddedArtworkSize:"Embedded artwork size",localArtworkFormat:{title:"What format do you want the local artwork to be?",jpg:"A jpeg image",png:"A png image",both:"Both a jpeg and a png"},jpegImageQuality:"JPEG image quality",embeddedArtworkPNG:"Save embedded artwork as PNG",embeddedPNGWarning:"PNGs are not officialy supported by Deezer and can be buggy",imageSizeWarning:"Anything above x1200 is not officialy used by Deezer, you may encounter issues",coverDescriptionUTF8:"Save cover description using UTF8 (iTunes Cover Fix)"},tags:{head:"Which tags to save",title:"Title",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Track Number",trackTotal:"Track Total",discNumber:"Disc Number",discTotal:"Disc Total",albumArtist:"Album Artist",genre:"Genre",year:"Year",date:"Date",explicit:"Explicit Lyrics",isrc:"ISRC",length:"Track Length",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"Unsynchronized Lyrics",syncedLyrics:"Synchronized Lyrics",copyright:"Copyright",composer:"Composer",involvedPeople:"Involved People",source:"Source and song ID"},other:{title:"Other",savePlaylistAsCompilation:"Save playlists as compilation",useNullSeparator:"Use null separator",saveID3v1:"Save ID3v1 as well",multiArtistSeparator:{title:"How would you like to separate your artists?",nothing:"Save only the main artist",default:"Using standard specification",andFeat:"Using & and feat.",using:'Using "{separator}"'},singleAlbumArtist:"Save only the main album artist",albumVariousArtists:'Keep "Various Artists" in the Album Artists',removeAlbumVersion:'Remove "Album Version" from track title',removeDuplicateArtists:"Remove combinations of artists",dateFormat:{title:"Date format for FLAC files",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"What should I do with featured artists?",0:"Nothing",1:"Remove it from the title",3:"Remove it from the title and the album title",2:"Move it to the title"},titleCasing:"Title casing",artistCasing:"Artist casing",casing:{nothing:"Keep unchanged",lower:"lowercase",upper:"UPPERCASE",start:"Start Of Each Word",sentence:"Like a sentence"},previewVolume:"Preview Volume",executeCommand:{title:"Command to execute after download",description:"Leave blank for no action"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"How do I enable Spotify Features?"},reset:"Reset to Default",resetMessage:"Are you sure you want to go back to default settings?",save:"Save",toasts:{init:"Settings loaded!",update:"Settings updated!",reset:"Settings reset to default!",ARLcopied:"ARL copied to clipboard"}},sidebar:{home:"home",search:"search",charts:"charts",favorites:"favorites",linkAnalyzer:"link analyzer",settings:"settings",about:"about"},tracklist:{downloadSelection:"Download selection"}},es={globals:{welcome:"Bienvenido a deemix",back:"atr\xE1s",loading:"cargando",download:"Descarga {thing}",by:"por {artist}",in:"en {album}",download_hint:"Descargar",play_hint:"Reproducir",toggle_download_tab_hint:"Expandir/Colapsar",clean_queue_hint:"Limpieza terminada",cancel_queue_hint:"Cancelar todo",open_downloads_folder:"Abrir la carpeta de descargas",cut:"cortar",copy:"copiar",copyLink:"copiar vinculo",copyImageLink:"copiar el v\xEDnculo de la imagen",copyDeezerLink:"copiar el v\xEDnculo de Deezer",paste:"pegar",listTabs:{empty:"",all:"todo",top_result:"mejor resultado",album:"\xE1lbum | \xE1lbumes",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"pista | pistas",trackN:"0 pistas | {n} pista | {n} pistas",releaseN:"0 entregas | {n} entrega | {n} entregas",playlist:"lista de reproducci\xF3n | listas de reproducci\xF3n",compile:"compilaci\xF3n | compilaciones",ep:"ep | eps",more:"M\xE1s \xE1lbumes",featured:"Aparece en",spotifyPlaylist:"lista de reproducci\xF3n spotify | listas de reproducci\xF3n spotify",releaseDate:"fecha de publicaci\xF3n",error:"error"}},about:{updates:{currentVersion:"Versi\xF3n actual",versionNotAvailable:"N/D",updateAvailable:"No est\xE1s ejecutando la \xFAltima versi\xF3n disponible: {versi\xF3n}",deemixVersion:"versi\xF3n de la biblioteca deemix"},titles:{usefulLinks:"Enlaces \xFAtiles",bugReports:"Reportar fallos",contributing:"Contribuye",donations:"Donaciones",license:"Licencia"},subtitles:{bugReports:"\xBFHay algo que no funcione en Deemix? \xA1D\xEDganoslo!",contributing:"\xBFQuieres contribuir a este proyecto? \xA1Puedes hacerlo de diferentes maneras!",donations:"\xBFQuiere contribuir monetariamente? \xA1Puedes hacer una donaci\xF3n!"},usesLibrary:"Esta aplicaci\xF3n usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.",thanks:"Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.",upToDate:{text:"Mantente al d\xEDa con las actualizaciones siguiendo el {newsChannel} en Telegram.",newsChannel:"canal de noticias"},officialWebsite:"P\xE1gina web oficial",officialRepo:"Repositorio de la biblioteca oficial",officialWebuiRepo:"Repositorio oficial de WebUI",officialSubreddit:"Subreddit oficial",newsChannel:"Canal de noticias",questions:{text:"Si tienes preguntas o problemas con la aplicaci\xF3n, busca una soluci\xF3n en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de informar de un error aseg\xFArese de que est\xE1 ejecutando la \xFAltima versi\xF3n de la aplicaci\xF3n y que lo que quiere informar es en realidad un error y no algo que est\xE1 mal s\xF3lo en su extremo.",beSure:"Aseg\xFArate de que el fallo es reproducible en otras m\xE1quinas y tambi\xE9n NO reporte un fallo si ya ha sido reportado.",duplicateReports:"Los informes de errores duplicados se cerrar\xE1n, as\xED que mant\xE9ngase al tanto de eso.",dontOpenIssues:"NO abra problemas para hacer preguntas, hay un subreddit para eso.",newUI:{text:"Si tienes fluidez en Python podr\xEDas intentar hacer una nueva interfaz de usuario para la aplicaci\xF3n usando la biblioteca base, o arreglar los errores de la biblioteca con una petici\xF3n pull en el {repo}.",repo:"repo"},acceptFeatures:"Tambi\xE9n acepto caracter\xEDsticas, pero no cosas complejas, ya que se pueden implementar directamente en la aplicaci\xF3n y no en la biblioteca.",otherLanguages:"\xA1Si dominas otro lenguaje de programaci\xF3n podr\xEDas intentar portar Deemix a otros lenguajes de programaci\xF3n!",understandingCode:"\xBFNecesitas ayuda para entender el c\xF3digo? S\xF3lo tienes que poner RemixDev en Telegram o Reddit.",contributeWebUI:{text:"Si conoces Vue.js (JavaScript), HTML o CSS podr\xEDas contribuir a la {webui}.",webui:"WebUI"},itsFree:"Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.",notObligated:"No te sientas obligado a donar, \xA1te aprecio de todas formas!",lincensedUnder:{text:"Esta obra est\xE1 autorizada bajo una {gpl3}.",gpl3:"GNU Licencia P\xFAblica General 3.0"}},charts:{title:"Listas",changeCountry:"Cambiar pa\xEDs",download:"Descargar la lista"},errors:{title:"Errores para {name}",ids:{invalidURL:"No se reconoce la URL",unsupportedURL:"La URL a\xFAn no est\xE1 soportada",ISRCnotOnDeezer:"La pista ISRC no est\xE1 disponible en Deezer",notYourPrivatePlaylist:"No puedes descargar otras listas de reproducci\xF3n privadas.",spotifyDisabled:"Las funciones de Spotify no est\xE1 configurado correctamente.",trackNotOnDeezer:"\xA1No se encontr\xF3 la pista en Deezer!",albumNotOnDeezer:"\xA1El \xE1lbum no se encuentra en Deezer!",notOnDeezer:"\xA1Pista no disponible en Deezer!",notEncoded:"\xA1Pista a\xFAn no codificada!",notEncodedNoAlternative:"\xA1Pista a\xFAn no codificada y no se ha encontrado ninguna alternativa!",wrongBitrate:"La pista no se encuentra a la velocidad de bitrate deseada.",wrongBitrateNoAlternative:"\xA1Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!",no360RA:"La pista no est\xE1 disponible en Reality Audio 360.",notAvailable:"\xA1La pista no est\xE1 disponible en los servidores de Deezer!",notAvailableNoAlternative:"\xA1La pista no est\xE1 disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!",noSpaceLeft:"\xA1No queda espacio en el dispositivo!"}},favorites:{title:"Favoritos",noPlaylists:"No se han encontrado listas de reproducci\xF3n",noAlbums:"No se han encontrado \xE1lbumes favoritos",noArtists:"No se han encontrado artistas favoritos",noTracks:"No se han encontrado pistas favoritas"},home:{needTologin:"Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.",openSettings:"Abrir la configuraci\xF3n",sections:{popularPlaylists:"Listas de reproducci\xF3n populares",popularAlbums:"Los \xE1lbumes m\xE1s stremeados"}},linkAnalyzer:{info:"Puedes usar esta secci\xF3n para encontrar m\xE1s informaci\xF3n sobre el enlace que est\xE1s tratando de descargar.",useful:"Esto es \xFAtil si est\xE1 tratando de descargar algunas pistas que no est\xE1n disponibles en su pa\xEDs y quiere saber d\xF3nde est\xE1n disponibles, por ejemplo.",linkNotSupported:"Este enlace a\xFAn no est\xE1 soportado",linkNotSupportedYet:"Parece que este enlace a\xFAn no est\xE1 soportado, intenta analizar otro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duraci\xF3n",diskNumber:"N\xFAmero del disco",trackNumber:"N\xFAmero de la pista",releaseDate:"Fecha de lanzamiento",bpm:"BPM",label:"Etiqueta",recordType:"Tipo de grabaci\xF3n",genres:"G\xE9neros",tracklist:"Lista de pista"}},search:{startSearching:"\xA1Comienza a buscar!",description:"Puedes buscar un tema, un \xE1lbum entero, un artista, una lista de reproducci\xF3n... \xA1todo! Tambi\xE9n puedes pegar un enlace de Deezer",fans:"{n} fans",noResults:"Ningun resultado",noResultsTrack:"No se encontraron pistas",noResultsAlbum:"No se encontraron \xE1lbumes",noResultsArtist:"No se encontraron artistas",noResultsPlaylist:"No se encontraron listas de reproducci\xF3n"},searchbar:"Busca lo que quieras (o simplemente pega un enlace)",downloads:"descargas",toasts:{restoringQueue:"Restaurando la cola de descarga...",queueRestored:"\xA1Cola de descarga restaurada!",addedToQueue:"{item} a\xF1adidos a la cola",addedMoreToQueue:"{n} elementos a\xF1adidos a la cola",alreadyInQueue:"\xA1{item} ya est\xE1 en la cola!",finishDownload:"{item} terminado de descargar.",allDownloaded:"\xA1Todas las descargas se han completado!",refreshFavs:"\xA1Actualizaci\xF3n completada!",loggingIn:"Conectando...",loggedIn:"Conectado",alreadyLogged:"Ya est\xE1 conectado",loginFailed:"No se puede conectar",loggedOut:"Desconectado",cancellingCurrentItem:"Cancelando el elemento actual.",currentItemCancelled:"El elemento actual se ha cancelado.",startAddingArtist:"A\xF1adiendo los \xE1lbumes de {artist} a la cola",finishAddingArtist:"Se ha a\xF1adido los \xE1lbumes de {artist} a la cola",startConvertingSpotifyPlaylist:"Convertir las pistas de Spotify en pistas de Deezer",finishConvertingSpotifyPlaylist:"Lista de reproducci\xF3n de Spotify convertida",loginNeededToDownload:"\xA1Necesitas iniciar sesi\xF3n para descargar t\xEDtulos!",deezerNotAvailable:"Deezer no est\xE1 disponible en su pa\xEDs. Deber\xEDas usar una VPN."},settings:{title:"Configuraci\xF3n",languages:"Idiomas",login:{title:"Iniciar Sesi\xF3n",loggedIn:"Usted est\xE1 conectado como {nombre de usuario}",arl:{question:"\xBFC\xF3mo consigo mi propio ARL?",update:"Actualiza la ARL"},logout:"Cerrar Sesi\xF3n",login:"Inicia sesi\xF3n a trav\xE9s de deezer.com"},appearance:{title:"Apariencia",slimDownloadTab:"Pesta\xF1a de descargas fina"},downloadPath:{title:"Ruta de descarga"},templates:{title:"Plantillas",tracknameTemplate:"Plantilla de nombres de pista",albumTracknameTemplate:"Plantilla de pista del \xE1lbum",playlistTracknameTemplate:"Plantilla de pista de la lista de reproducci\xF3n"},folders:{title:"Carpetas",createPlaylistFolder:"Crear una carpeta para las listas de reproducci\xF3n",playlistNameTemplate:"Plantilla de la carpeta de la lista de reproducci\xF3n",createArtistFolder:"Crear carpeta para el artista",artistNameTemplate:"Plantilla de la carpeta del artista",createAlbumFolder:"Crear carpeta para el \xE1lbum",albumNameTemplate:"Plantilla de la carpeta del \xE1lbum",createCDFolder:"Crear una carpeta para los CDs",createStructurePlaylist:"Crear una estructura de carpetas para las listas de reproducci\xF3n",createSingleFolder:"Crear una estructura de carpetas para individuales"},trackTitles:{title:"T\xEDtulos de las pistas",padTracks:"Pad de pistas",paddingSize:"Sobrescribir el tama\xF1o del pad",illegalCharacterReplacer:"Reemplazo del car\xE1cter ilegal"},downloads:{title:"Descargas",queueConcurrency:"Descargas simult\xE1neas",maxBitrate:{title:"Tasa de bits preferida",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\xBFDesea que se sobreescriban los archivos?",y:"S\xED, sobrescribir el archivo",n:"No, no sobrescribir el archivo",t:"Sobrescribir s\xF3lo las etiquetas",b:"No, mantener los dos archivos y agregar un n\xFAmero al archivo duplicado",e:"No, y no mirar las extensiones"},fallbackBitrate:"La soluci\xF3n alternativa de bitrate",fallbackSearch:"B\xFAsqueda de la segunda opci\xF3n",logErrors:"Crear archivos de registro de errores",logSearched:"Crear archivos de registro para las pistas buscadas",createM3U8File:"Crear archivo de la lista de reproducci\xF3n",syncedLyrics:"Crear archivos .lyr (lyrics sincronizadas)",playlistFilenameTemplate:"Plantilla de nombres de archivos de la lista de reproducci\xF3n",saveDownloadQueue:"Guardar la cola de descarga al cerrar la aplicaci\xF3n"},covers:{title:"Portadas de \xE1lbumes",saveArtwork:"Guardar las portadas",coverImageTemplate:"Plantilla de nombres de portada",saveArtworkArtist:"Guardar imagen de artista",artistImageTemplate:"Plantilla de imagen de artista",localArtworkSize:"El tama\xF1o de la portada local",embeddedArtworkSize:"El tama\xF1o de la portada incorporada",localArtworkFormat:{title:"\xBFQu\xE9 formato quieres que tenga la portada local?",jpg:"Una imagen jpeg",png:"Una imagen png",both:"Ambos, jpeg y png"},jpegImageQuality:"Calidad de la imagen JPEG",embeddedArtworkPNG:"Guardar las im\xE1genes incrustadas como PNG",embeddedPNGWarning:"Las PNG no est\xE1n oficialmente soportadas por Deezer y puedes encontrar errores.",imageSizeWarning:"Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes",coverDescriptionUTF8:"Guardar la descripci\xF3n de la portada usando UTF8 (arregla la portada de iTunes)"},tags:{head:"\xBFQu\xE9 etiquetas guardar?",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Portada",trackNumber:"N\xFAmero de pista",trackTotal:"Total de pistas",discNumber:"N\xFAmero del disco",discTotal:"Total del disco",albumArtist:"Artista del \xE1lbum",genre:"G\xE9nero",year:"A\xF1o",date:"Fecha",explicit:"Letras expl\xEDcitas",isrc:"ISRC",length:"Duraci\xF3n de la pista",barcode:"C\xF3digo de barras del \xE1lbum (UPC)",bpm:"BPM",replayGain:"Ganancia de la reproducci\xF3n",label:"Etiqueta del \xE1lbum",lyrics:"Lyrics no sincronizadas",syncedLyrics:"Lyrics sincronizadas",copyright:"Derechos de autor",composer:"Compositor",involvedPeople:"Personas involucradas"},other:{title:"Otro",savePlaylistAsCompilation:"Guardar las listas de reproducci\xF3n como una compilaci\xF3n",useNullSeparator:"Usar separador nulo",saveID3v1:"Guarda la ID3v1 tambi\xE9n",multiArtistSeparator:{title:"\xBFC\xF3mo le gustar\xEDa separar a sus artistas?",nothing:"Guardar s\xF3lo el artista principal",default:"Usar la especificaci\xF3n est\xE1ndar",andFeat:"Usar & y feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar s\xF3lo el artista principal del \xE1lbum",albumVariousArtists:'Mantener "Various Artists" en los artistas del \xE1lbum',removeAlbumVersion:'Eliminar "Album Version" del t\xEDtulo de la pista',removeDuplicateArtists:"Eliminar las combinaciones de artistas",dateFormat:{title:"Formato de fecha para los archivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"\xBFQu\xE9 debo hacer con los artistas destacados?",0:"Nada",1:"Quitarlo del t\xEDtulo",3:"Quitarlo del t\xEDtulo y del t\xEDtulo del \xE1lbum",2:"Moverlo al t\xEDtulo"},titleCasing:"Capitalizar t\xEDtulo",artistCasing:"Capitalizar artista",casing:{nothing:"Mant\xE9ner sin cambios",lower:"min\xFAsculas",upper:"MAY\xDASCULAS",start:"Al Principio De Cada Palabra",sentence:"Como una frase"},previewVolume:"Volumen de previsualizaci\xF3n",executeCommand:{title:"Comando a ejecutar despu\xE9s de la descarga",description:"Dejar en blanco para no hacer nada"}},spotify:{title:"Funciones de Spotify",clientID:"ID del cliente de Spotify",clientSecret:"Cliente Secreto Spotify",username:"Nombre de usuario de Spotify"},reset:"Restablecer el valor por defecto",save:"Guardar",toasts:{init:"\xA1Configuraciones cargadas!",update:"\xA1Ajustes actualizados!",ARLcopied:"ARL copiado al portapapeles"}},sidebar:{home:"inicio",search:"buscar",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizar enlaces",settings:"ajustes",about:"acerca de"},tracklist:{downloadSelection:"Descargar selecci\xF3n"}},de={globals:{welcome:"Willkommen bei deemix",back:"zur\xFCck",loading:"l\xE4dt",download:"Download {thing}",by:"von {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Erweitern/Minimieren",clean_queue_hint:"Entferne vollst\xE4ndige",cancel_queue_hint:"Alle abbrechen",listTabs:{empty:"",all:"alle",top_result:"Top Ergebnis",album:"Album | Alben",artist:"K\xFCnstler | K\xFCnstler",single:"Single | Singles",title:"Titel | Titel",track:"Track | Tracks",trackN:"0 Tracks | {n} Track | {n} Tracks",releaseN:"0 Releases | {n} Release | {n} Releases",playlist:"Playlist | Playlists",compile:"Sammlung | Sammlungen",ep:"EP | EPs",spotifyPlaylist:"Spotify Playlist | Spotify Playlists",releaseDate:"Ver\xF6ffentlichungsdatum",error:"Fehler"}},about:{titles:{usefulLinks:"N\xFCtzliche Links",bugReports:"Fehlermeldung",contributing:"Mitwirkende",donations:"Spenden",license:"Lizenz"},subtitles:{bugReports:"Funktioniert etwas in Deemix nicht? Sag uns bescheid!",contributing:"Du m\xF6chtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!",donations:"Du m\xF6chtest deemix finanziell unterst\xFCtzen? Dann lasse eine kleine Spende da!"},usesLibrary:"Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.",thanks:"Ein Dankesch\xF6n geht an rtonno, uhwot and lollilol f\xFCr die Hilfe bei diesem Projekt und an BasCurtiz f\xFCr die Erstellung des Logos.",upToDate:{text:"Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.",newsChannel:"News Channel"},officialWebsite:"Offizielle Website",officialRepo:"Offizielle Library Repository",officialWebuiRepo:"Offizielle WebUI Repository",officialSubreddit:"Offizieller Subreddit",newsChannel:"News Channel",questions:{text:"Bei Fragen oder Problemen mit der App, suche als erstes nach einer L\xF6sung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.",subreddit:"Subreddit"},beforeReporting:"Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden m\xF6chtest, tats\xE4chlich ein Bug ist und nicht nur bei dir falsch ist.",beSure:"Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.",duplicateReports:"Doppelte Fehlerberichte werden geschlossen, achte darauf.",dontOpenIssues:"ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit daf\xFCr.",newUI:{text:"Wenn du Python flie\xDFend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfl\xE4che f\xFCr die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.",repo:"deemix Repo"},acceptFeatures:"Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden k\xF6nnen.",otherLanguages:"Wenn du eine andere Programmiersprache flie\xDFend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!",understandingCode:"Du ben\xF6tigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.",contributeWebUI:{text:"Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, k\xF6nntest du etwas zum {webui} beitragen.",webui:"WebUI"},itsFree:"Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die K\xFCnstler unterst\xFCtzen, die du magst bevor du die Entwickler unterst\xFCtzt.",notObligated:"F\xFChle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!",lincensedUnder:{text:"Diese Arbeit ist lizensiert unter der {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Land wechseln",download:"Download Chart"},errors:{title:"Errors f\xFCr {name}",ids:{invalidURL:"URL nicht erkannt",unsupportedURL:"URL noch nicht unterst\xFCtzt",ISRCnotOnDeezer:"Track ISRC ist auf deezer nicht verf\xFCgbar",notYourPrivatePlaylist:"Du kannst keine privaten Playlisten anderer herunterladen.",spotifyDisabled:"Spotify-Funktionen sind nicht richtig eingerichtet",trackNotOnDeezer:"Track ist nicht verf\xFCgbar auf Deezer!",albumNotOnDeezer:"Album auf Deezer nicht gefunden!",notOnDeezer:"Track auf Deezer nicht verf\xFCgbar!",notEncoded:"Track noch nicht codiert!",notEncodedNoAlternative:"Track noch nicht codiert und keine Alternative gefunden!",wrongBitrate:"Track mit gew\xFCnschter Bitrate nicht gefunden.",wrongBitrateNoAlternative:"Track mit gew\xFCnschter Bitrate nicht gefunden und keine Alternative gefunden!",no360RA:"Track ist nicht verf\xFCgbar in Reality Audio 360.",notAvailable:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer!",notAvailableNoAlternative:"Track ist noch nicht verf\xFCgbar auf den Servern von Deezer und keine Alternativen gefunden!!"}},favorites:{title:"Favoriten",noPlaylists:"Keine Playlist gefunden",noAlbums:"Keine favorisierten Alben gefunden",noArtists:"Keine favorisierten K\xFCnstler gefunden",noTracks:"Keine favorisierten Tracks gefunden"},home:{needTologin:"Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.",openSettings:"Einstellungen \xF6ffnen",sections:{popularPlaylists:"Beliebte Playlists",popularAlbums:"Meistgestreamte Alben"}},linkAnalyzer:{info:"Diesen Abschnitt kannst du nutzen, um weitere Informationen \xFCber den gew\xFCnschten Link zu erhalten, den du herunterladen m\xF6chtest.",useful:"Dies ist z.B. n\xFCtzlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verf\xFCgbar sind, und du wissen m\xF6chtest, wo sie verf\xFCgbar sind.",linkNotSupported:"Dieser Link wird noch nicht unterst\xFCtzt",linkNotSupportedYet:"Es scheint so, als ob dieser Link noch nicht unterst\xFCtzt wird. Versuche einen anderen Link zu analysieren.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dauer",diskNumber:"CD Nummer",trackNumber:"Track Nummer",releaseDate:"Ver\xF6ffentlichungsdatum",bpm:"BPM",label:"Label",recordType:"Art der Aufnahme",genres:"Genres",tracklist:"Trackliste"}},search:{startSearching:"Suche starten!",description:"Du kannst einen Titel, ein ganzes Album, einen K\xFCnstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einf\xFCgen",fans:"{n} Fans",noResults:"Keine Ergebnisse",noResultsTrack:"Keine Tracks gefunden",noResultsAlbum:"Keine Alben gefunden",noResultsArtist:"Keinen K\xFCnstler gefunden",noResultsPlaylist:"Keine Playlist gefunden"},searchbar:"Suche nach allem, was dir gef\xE4llt (oder f\xFCge einfach einen Link ein)",downloads:"Downloads",toasts:{addedToQueue:"{item} zur Warteschlange hinzugef\xFCgt",alreadyInQueue:"{item} ist bereits in der Warteschlange!",finishDownload:"{item} vollst\xE4ndig heruntergeladen.",allDownloaded:"Alle Downloads abgeschlossen!",refreshFavs:"Abgeschlossene Downloads neu laden!",loggingIn:"Einloggen",loggedIn:"Eingeloggt",alreadyLogged:"Bereits eingeloggt",loginFailed:"Login fehlgeschlagen",loggedOut:"Ausgeloggt",cancellingCurrentItem:"Aktuelle Auswahl abbrechen.",currentItemCancelled:"Aktuelle Auswahl wurde abgebrochen",startAddingArtist:"{artist} Alben werden hinzugef\xFCgt",finishAddingArtist:"{artist} Alben wurden hinzugef\xFCgt",startConvertingSpotifyPlaylist:"Konvertierern von Spotify-Tracks zu Deezer-Tracks",finishConvertingSpotifyPlaylist:"Spotify Playlist convertiert"},settings:{title:"Einstellungen",languages:"Sprachen",login:{title:"Login",loggedIn:"Du bist eingeloggt als {username}",arl:{question:"Wie bekomme ich meine eigene ARL?",update:"Update ARL"},logout:"Logout"},appearance:{title:"Design",slimDownloadTab:"schmaler Download-Tab"},downloadPath:{title:"Download Pfad"},templates:{title:"Vorlagen",tracknameTemplate:"Vorlage f\xFCr den Tracknamen",albumTracknameTemplate:"Vorlage f\xFCr Tracks in einem Album",playlistTracknameTemplate:"Vorlage f\xFCr Tracks in einer Playlist"},folders:{title:"Folders",createPlaylistFolder:"Ordner f\xFCr Playlist erstellen",playlistNameTemplate:"Vorlage f\xFCr Playlist-Ordner",createArtistFolder:"Ordner f\xFCr K\xFCnstler erstellen",artistNameTemplate:"Vorlage f\xFCr K\xFCnstler-Ordner",createAlbumFolder:"Ordner f\xFCr Album erstellen",albumNameTemplate:"Vorlage f\xFCr Album-Ordner",createCDFolder:"Ordner f\xFCr CDs erstellen",createStructurePlaylist:"Erstellen von K\xFCnstler-, Alben- und CD-Ordnern auch f\xFCr Playlists",createSingleFolder:"Ordner f\xFCr einzelne Titel erstellen"},trackTitles:{title:"Songtitel",padTracks:"Einheitliche L\xE4nge der Titelnummern (voranstehende Nullen werden erg\xE4nzt)",paddingSize:"Innenabstand \xFCberschreiben",illegalCharacterReplacer:"Unzul\xE4ssige Zeichen ersetzen"},downloads:{title:"Downloads",queueConcurrency:"Gleichzeitige Downloads",maxBitrate:{title:"Bevorzugte Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Soll ich die Dateien \xFCberchreiben?",y:"Ja \xFCberschreibe die Dateien",n:"Nein \xFCberschreibe die Dateien nicht",t:"\xDCberschreibe nur die Tags",b:"Nein, behalte beide Dateien und f\xFCge der Kopie eine Nummer hinzu"},fallbackBitrate:"Falls gew\xFCnschte Bitrate nicht verf\xFCgbar, auf niedrigere Bitrate zur\xFCckgreifen",fallbackSearch:"Zur Suche zur\xFCckkehren, wenn der Song nicht verf\xFCgbar ist",logErrors:"Protokolldatei f\xFCr Fehler im Download-Ordner erstellen",logSearched:"Protokolldatei f\xFCr gesuchte Titel erstellen",createM3U8File:"Erstelle Playlist-Datei (M3U8)",syncedLyrics:"Erstelle synchrone Lyrics-Datei (.lyr)",playlistFilenameTemplate:"Vorlage f\xFCr den Namen der Playlist",saveDownloadQueue:"Download-Warteschlange beim Schlie\xDFen der App speichern"},covers:{title:"Album Cover",saveArtwork:"Cover speichern",coverImageTemplate:"Vorlage f\xFCr den Covernamen",saveArtworkArtist:"Speichere das K\xFCnstlerbild",artistImageTemplate:"Vorlage des K\xFCnstlerbildes",localArtworkSize:"Lokale Grafikgr\xF6\xDFe",embeddedArtworkSize:"Eingebettete Grafikgr\xF6\xDFe",localArtworkFormat:{title:"Welches Datei-Format soll das Cover haben?",jpg:"Ein jpg Bild",png:"Ein png Bild",both:"Beides (jpg + png)"},jpegImageQuality:"JPEG Qualit\xE4t"},tags:{head:"Welche Tags sollen gespeichert werden?",title:"Titel",artist:"K\xFCnstler",album:"Album",cover:"Cover",trackNumber:"Titelnummer",trackTotal:"Titelanzahl",discNumber:"CD Nummer",discTotal:"CDs insgesamt",albumArtist:"Album K\xFCnstler",genre:"Genre",year:"Jahr",date:"Datum",explicit:"Explizite Lyrics",isrc:"ISRC",length:"Titel L\xE4nge",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Wiedergabe Lautst\xE4rke",label:"Album Plattenlabel",lyrics:"Nicht synchronisierte Texte",copyright:"Copyright",composer:"Komponist",involvedPeople:"Mitwirkende Personen"},other:{title:"Sonstige",savePlaylistAsCompilation:"Speichere Playlist als Zusammenstellung",useNullSeparator:"Verwende Nulltrennzeichen",saveID3v1:"Speichere ID3v1 ebenfalls",multiArtistSeparator:{title:"Wie m\xF6chtest du die K\xFCnstler trennen?",nothing:"Speichere nur den Hauptk\xFCnstler",default:"Verwende Standard Spezifikationen",andFeat:"Verwende & und feat.",using:'Verwende "{separator}"'},singleAlbumArtist:"Nur den Hauptk\xFCnstler speichern",albumVariousArtists:'Verschiedene K\xFCnstler" im Album K\xFCnstler Tag behalten',removeAlbumVersion:'Entferne die "Album Version" vom Songtitel',removeDuplicateArtists:"Kombinationen von K\xFCnstlern entfernen",dateFormat:{title:"Datumsformatierung f\xFCr FLAC Dateien",year:"JJJJ",month:"MM",day:"TT"},featuredToTitle:{title:"Was soll ich mit featured Artists machen?",0:"Nichts",1:"Vom Titel entfernen",3:"Vom Titel und Albumtitel entfernen",2:"Zu dem Titel hinzuf\xFCgen"},titleCasing:"Titel-Schreibweise",artistCasing:"K\xFCnstler-Schreibweise",casing:{nothing:"Unbearbeitet lassen",lower:"klein",upper:"GROSS",start:"Wortanfang Gross",sentence:"Satzanfang gross"},previewVolume:"Vorschau der Lautst\xE4rke",executeCommand:{title:"Befehl, der nach dem Download ausgef\xFChrt werden soll",description:"Leer lassen ohne Aktion"}},spotify:{title:"Spotify Features",clientID:"Spotify Client ID",clientSecret:"Spotify Client Secret",username:"Spotify Benutzername"},reset:"Auf Standardwerte zur\xFCcksetzen",save:"Speichern",toasts:{init:"Einstellungen geladen!",update:"Einstellungen aktualisiert!",ARLcopied:"ARL wurde in die Zwischenablage kopiert"}},sidebar:{home:"Home",search:"Suche",charts:"Charts",favorites:"Favoriten",linkAnalyzer:"Link Analyse",settings:"Einstellungen",about:"Info"},tracklist:{downloadSelection:"Downloads"}},fr={globals:{welcome:"Bienvenue dans deemix",back:"retour",loading:"chargement en cours",download:"T\xE9l\xE9charger {thing}",by:"par {artist}",in:"dans {album}",download_hint:"T\xE9l\xE9charger",play_hint:"Lire",toggle_download_tab_hint:"D\xE9velopper/R\xE9duire",clean_queue_hint:"Retirer Les T\xE2ches Termin\xE9es",cancel_queue_hint:"Tout Annuler",open_downloads_folder:"Ouvrir Le Dossier De T\xE9l\xE9chargements",cut:"couper",copy:"copier",copyLink:"copier le lien",copyImageLink:"copier le lien de l'image",copyDeezerLink:"copier le lien deezer",paste:"coller",listTabs:{empty:"",all:"tout",top_result:"meilleur r\xE9sultat",album:"album | albums",artist:"artiste | artistes",single:"single | singles",title:"titre | titres",track:"piste | pistes",releaseN:"0 sortie | {n} sortie | {n} sorties",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"Plus d'albums",featured:"Appara\xEEt dans",spotifyPlaylist:"playlist spotify | playlists spotify",releaseDate:"date de sortie",error:"erreur",trackN:"0 piste | {n} piste | {n} pistes",albumN:"0 album | {n} album | {n} albums",artistN:"0 artiste | {n} artiste | {n} artistes",playlistN:"0 playlist | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app en ligne",offline:"app hors ligne"},updates:{currentVersion:"Version Actuelle",currentWebuiVersion:"Version Actuelle De La WebUI",versionNotAvailable:"N/A",updateAvailable:"Vous n'utilisez pas la derni\xE8re version disponible : {version}",deemixVersion:"Version de la biblioth\xE8que deemix"},titles:{usefulLinks:"Liens Utiles",bugReports:"Rapports De Bug",contributing:"Contribution",donations:"Dons",license:"Licence"},subtitles:{bugReports:"Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !",contributing:"Vous souhaitez contribuer \xE0 ce projet ? Vous pouvez le faire de diff\xE9rentes mani\xE8res !",donations:"Vous souhaitez contribuer financi\xE8rement ? Vous pouvez faire un don !"},usesLibrary:"Cette application utilise la biblioth\xE8que deemix, que vous pouvez exploiter afin de cr\xE9er votre propre interface utilisateur pour deemix.",thanks:"Merci \xE0 rtonno, uhwot et lollilol de m'avoir aid\xE9 dans ce projet ainsi qu'\xE0 BasCurtiz pour la cr\xE9ation de l'ic\xF4ne.",upToDate:{text:"Restez inform\xE9 des mises \xE0 jour en suivant le {newsChannel} sur Telegram.",newsChannel:"canal d'informations"},officialWebsite:"Site Officiel",officialRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La Biblioth\xE8que",officialWebuiRepo:"R\xE9pertoire De D\xE9p\xF4t Officiel De La WebUI",officialSubreddit:"Subreddit Officiel",newsChannel:"Canal d'Informations",questions:{text:"Si vous avez des questions ou des probl\xE8mes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en d\xE9crivant votre probl\xE8me.",subreddit:"subreddit"},beforeReporting:"Avant de signaler un bug, assurez-vous que vous utilisez la version la plus r\xE9cente de l'application. V\xE9rifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre c\xF4t\xE9.",beSure:"Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a d\xE9j\xE0 \xE9t\xE9 recens\xE9.",duplicateReports:"Les rapports de bug r\xE9p\xE9titifs seront supprim\xE9s, merci d'en prendre bonne note.",dontOpenIssues:"NE PAS rapporter de probl\xE8me s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.",newUI:{text:"Si vous ma\xEEtrisez python, vous pouvez essayer de cr\xE9er une nouvelle interface utilisateur pour l'application \xE0 l'aide de la biblioth\xE8que de base, ou corriger des bugs dans la biblioth\xE8que \xE0 l'aide d'une demande de fusion de branches (pull request) sur le {repo}.",repo:"r\xE9pertoire de d\xE9p\xF4t"},acceptFeatures:"J'accepte \xE9galement les nouvelles fonctionnalit\xE9s, mais pas de choses complexes, dans la mesure o\xF9 elles peuvent \xEAtre impl\xE9ment\xE9es directement dans l'application et non dans la biblioth\xE8que.",otherLanguages:"Si vous ma\xEEtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !",understandingCode:"Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.",contributeWebUI:{text:"Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer \xE0 la {webui}.",webui:"WebUI"},itsFree:"N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes pr\xE9f\xE9r\xE9s avant de supporter les d\xE9veloppeurs.",notObligated:"Ne vous sentez pas oblig\xE9 de faire un don, vous \xEAtes tout de m\xEAme appr\xE9ci\xE9 !",lincensedUnder:{text:"Ce projet s'inscrit dans le cadre de la {gpl3}.",gpl3:"Licence publique g\xE9n\xE9rale GNU, version 3"}},charts:{title:"Classements",changeCountry:"Changer De Pays",download:"T\xE9l\xE9charger Le Classement"},errors:{title:"Erreurs pour {name}",ids:{invalidURL:"Cette URL n'est pas reconnue",unsupportedURL:"Cette URL n'est actuellement pas support\xE9e",ISRCnotOnDeezer:"L'ISRC de la piste est indisponible sur Deezer",notYourPrivatePlaylist:"Vous n'\xEAtes pas autoris\xE9 \xE0 t\xE9l\xE9charger les playlists priv\xE9es de quelqu'un d'autre.",spotifyDisabled:"Les Fonctionnalit\xE9s Spotify ne sont pas configur\xE9es correctement.",trackNotOnDeezer:"La piste est introuvable sur Deezer !",albumNotOnDeezer:"L'album est introuvable sur Deezer !",notOnDeezer:"La piste est indisponible sur Deezer !",notEncoded:"La piste n'a pas encore \xE9t\xE9 encod\xE9e !",notEncodedNoAlternative:"La piste n'a pas encore \xE9t\xE9 encod\xE9e et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",wrongBitrate:"La piste est introuvable au d\xE9bit souhait\xE9.",wrongBitrateNoAlternative:"La piste est introuvable au d\xE9bit souhait\xE9 et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",no360RA:"La piste est indisponible au format Reality Audio 360.",notAvailable:"La piste est indisponible sur les serveurs de Deezer !",notAvailableNoAlternative:"La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a \xE9t\xE9 trouv\xE9e !",noSpaceLeft:"L'espace disponible sur cet appareil est insuffisant !",albumDoesntExists:"Aucun album n'existe pour cette piste, impossible de collecter les informations n\xE9cessaires"}},favorites:{title:"Favoris",noPlaylists:"Aucune Playlist n'a \xE9t\xE9 trouv\xE9e",noAlbums:"Aucun Album Favori n'a \xE9t\xE9 trouv\xE9",noArtists:"Aucun Artiste Favori n'a \xE9t\xE9 trouv\xE9",noTracks:"Aucune Piste Favorite n'a \xE9t\xE9 trouv\xE9e"},home:{needTologin:"Vous devez vous connecter \xE0 votre compte Deezer avant de pouvoir d\xE9marrer un t\xE9l\xE9chargement.",openSettings:"Ouvrir Les Param\xE8tres",sections:{popularPlaylists:"Playlists les plus \xE9cout\xE9es",popularAlbums:"Albums les plus \xE9cout\xE9s"}},linkAnalyzer:{info:"Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de t\xE9l\xE9charger.",useful:"C'est utile si vous essayez, par exemple, de t\xE9l\xE9charger des pistes indisponibles dans votre pays et que vous souhaitez savoir o\xF9 elles sont disponibles.",linkNotSupported:"Ce lien n'est pas encore pris en charge",linkNotSupportedYet:"Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dur\xE9e",diskNumber:"Num\xE9ro De Disque",trackNumber:"Num\xE9ro De Piste",releaseDate:"Date De Sortie",bpm:"BPM",label:"Label",recordType:"Type d'Enregistrement",genres:"Genres",tracklist:"Liste Des Pistes"}},search:{startSearching:"D\xE9marrer une recherche !",description:"Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez \xE9galement coller un lien Deezer.",fans:"{n} fans",noResults:"Aucun r\xE9sultat",noResultsTrack:"Aucune piste n'a \xE9t\xE9 trouv\xE9e",noResultsAlbum:"Aucun album n'a \xE9t\xE9 trouv\xE9",noResultsArtist:"Aucun artiste n'a \xE9t\xE9 trouv\xE9",noResultsPlaylist:"Aucune playlist n'a \xE9t\xE9 trouv\xE9e"},searchbar:"Saisissez une requ\xEAte (ou collez simplement un lien)",downloads:"t\xE9l\xE9chargements",toasts:{restoringQueue:"Restauration de la file d'attente de t\xE9l\xE9chargement...",queueRestored:"La file d'attente de t\xE9l\xE9chargement a \xE9t\xE9 restaur\xE9e !",addedToQueue:"{item} ajout\xE9 \xE0 la file d'attente",addedMoreToQueue:"{n} \xE9l\xE9ments ajout\xE9s \xE0 la file d'attente",alreadyInQueue:"{item} est d\xE9j\xE0 dans la file d'attente !",finishDownload:"{item} a \xE9t\xE9 t\xE9l\xE9charg\xE9.",allDownloaded:"Tous les t\xE9l\xE9chargements sont termin\xE9s !",refreshFavs:"Actualisation termin\xE9e !",loggingIn:"Connexion en cours...",loggedIn:"Connect\xE9",alreadyLogged:"D\xE9j\xE0 connect\xE9",loginFailed:"Connexion impossible",loggedOut:"D\xE9connect\xE9",cancellingCurrentItem:"Annulation de l'\xE9l\xE9ment actuel.",currentItemCancelled:"\xC9l\xE9ment actuel annul\xE9.",startAddingArtist:"Ajout des albums de {artist} \xE0 la file d'attente",finishAddingArtist:"Les albums de {artist} ont \xE9t\xE9 ajout\xE9s \xE0 la file d'attente",startConvertingSpotifyPlaylist:"Conversion de pistes Spotify en \xE9quivalents Deezer",finishConvertingSpotifyPlaylist:"Playlist Spotify convertie",loginNeededToDownload:"Vous devez vous connecter pour pouvoir t\xE9l\xE9charger des pistes !",deezerNotAvailable:"Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.",startGeneratingItems:"Traitement de {n} \xE9l\xE9ments...",finishGeneratingItems:"{n} \xE9l\xE9ments ont \xE9t\xE9 g\xE9n\xE9r\xE9s."},settings:{title:"Param\xE8tres",languages:"Langues",login:{title:"Connexion",loggedIn:"Vous \xEAtes connect\xE9 en tant que {username}",arl:{question:"Comment obtenir mon ARL personnel ?",update:"Mettre \xE0 jour l'ARL"},logout:"D\xE9connexion",login:"Connexion via deezer.com"},appearance:{title:"Apparence",slimDownloadTab:"Onglet de t\xE9l\xE9chargement compact",slimSidebar:"Barre lat\xE9rale compacte"},downloadPath:{title:"Emplacement De T\xE9l\xE9chargement"},templates:{title:"Mod\xE8les",tracknameTemplate:"Mod\xE8le pour le nom de piste",tracknameAvailableVariables:"Variables disponibles pour le nom de piste",albumTracknameTemplate:"Mod\xE8le pour le nom de piste de l'album",albumTracknameAvailableVariables:"Variables disponibles pour le nom de piste de l'album",playlistTracknameTemplate:"Mod\xE8le pour le nom de piste de la playlist",playlistTracknameAvailableVariables:"Variables disponibles pour le nom de piste de la playlist"},folders:{title:"Dossiers",createPlaylistFolder:"G\xE9n\xE9rer des dossiers par playlist",playlistNameTemplate:"Mod\xE8le pour le nom du dossier de playlist",createArtistFolder:"G\xE9n\xE9rer des dossiers par artiste",artistNameTemplate:"Mod\xE8le pour le nom du dossier d'artiste",createAlbumFolder:"G\xE9n\xE9rer des dossiers par album",albumNameTemplate:"Mod\xE8le pour le nom du dossier d'album",createCDFolder:"G\xE9n\xE9rer des dossiers par CD",createStructurePlaylist:"G\xE9n\xE9rer une structure de dossiers pour les playlists",createSingleFolder:"G\xE9n\xE9rer une structure de dossiers pour les singles"},trackTitles:{title:"Titres des pistes",padTracks:"Longueur uniforme des num\xE9ros de piste (ajoute automatiquement des z\xE9ros devant le num\xE9ro initial de la piste)",paddingSize:"Nombre de z\xE9ros \xE0 ajouter en permanence devant le num\xE9ro initial de la piste",illegalCharacterReplacer:"Substitut aux caract\xE8res non autoris\xE9s (dans les noms de fichiers et de dossiers)"},downloads:{title:"T\xE9l\xE9chargements",queueConcurrency:"T\xE9l\xE9chargements Simultan\xE9s",maxBitrate:{title:"D\xE9bit Pr\xE9f\xE9r\xE9",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Les fichiers doivent-ils \xEAtre \xE9cras\xE9s ?",y:"Oui, \xE9craser le fichier",n:"Non, ne pas \xE9craser le fichier",t:"\xC9craser uniquement les m\xE9tadonn\xE9es",b:"Non, conserver les deux fichiers et ajouter un num\xE9ro au doublon",e:"Non, et ne pas tenir compte de l'extension du fichier"},fallbackBitrate:"Recourir \xE0 un d\xE9bit plus faible si le d\xE9bit pr\xE9f\xE9r\xE9 n'est pas disponible",fallbackSearch:"Rechercher la piste si le lien original n'est pas disponible",logErrors:"Cr\xE9er un fichier journal d'erreurs",logSearched:"Cr\xE9er un fichier journal des pistes recherch\xE9es",createM3U8File:"Cr\xE9er un fichier de playlist",syncedLyrics:"Cr\xE9er des fichiers .lyr (Paroles Synchronis\xE9es)",playlistFilenameTemplate:"Mod\xE8le du nom de fichier de la playlist",saveDownloadQueue:"Enregistrer la file d'attente de t\xE9l\xE9chargement \xE0 la fermeture de l'application"},covers:{title:"Pochettes d'albums",saveArtwork:"Enregistrer Les Pochettes",coverImageTemplate:"Mod\xE8le pour le nom de la pochette",saveArtworkArtist:"Enregistrer l'image de l'artiste",artistImageTemplate:"Mod\xE8le pour le nom de l'image de l'artiste",localArtworkSize:"Taille de l'illustration locale",embeddedArtworkSize:"Taille de l'illustration incorpor\xE9e aux fichiers audio",localArtworkFormat:{title:"Dans quel format souhaitez-vous l'illustration locale ?",jpg:"Une image jpeg",png:"Une image png",both:"\xC0 la fois jpeg et png"},jpegImageQuality:"Qualit\xE9 de l'image JPEG",embeddedArtworkPNG:"Enregistrer l'illustration incorpor\xE9e aux fichiers audio en tant que PNG",embeddedPNGWarning:"Les images PNG ne sont pas officiellement utilis\xE9es par Deezer et pourraient causer des probl\xE8mes.",imageSizeWarning:"Toute valeur sup\xE9rieure \xE0 x1200 n'est pas officiellement support\xE9e par Deezer, vous pourriez donc rencontrer des probl\xE8mes.",coverDescriptionUTF8:"Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)"},tags:{head:"M\xE9tadonn\xE9es \xE0 sauvegarder",title:"Titre",artist:"Artiste",album:"Album",cover:"Pochette",trackNumber:"Num\xE9ro De Piste",trackTotal:"Nombre De Pistes",discNumber:"Num\xE9ro Du Disque",discTotal:"Nombre De Disques",albumArtist:"Artiste De l'Album",genre:"Genre",year:"Ann\xE9e",date:"Date",explicit:"Paroles Explicites",isrc:"ISRC",length:"Longueur De La Piste",barcode:"Code-Barres De l'Album (UPC)",bpm:"BPM",replayGain:"Gain En Relecture (Replay Gain)",label:"Label De l'Album",lyrics:"Paroles Non-Synchronis\xE9es",syncedLyrics:"Paroles Synchronis\xE9es",copyright:"Droits d'Auteur (Copyright)",composer:"Compositeur",involvedPeople:"Personnes Impliqu\xE9es",source:"ID de la source et de la piste"},other:{title:"Autre",savePlaylistAsCompilation:"Enregistrer les playlists en tant que compilation",useNullSeparator:"Utiliser le caract\xE8re NULL comme s\xE9parateur",saveID3v1:"Enregistrer \xE9galement les m\xE9tadonn\xE9es ID3v1",multiArtistSeparator:{title:"Comment aimeriez-vous s\xE9parer les artistes ?",nothing:"Enregistrer uniquement l'artiste principal",default:"En utilisant la sp\xE9cification standard",andFeat:"En utilisant & et feat.",using:'En utilisant "{separator}"'},singleAlbumArtist:"Enregistrer uniquement l'artiste principal de l'album",albumVariousArtists:`Conserver "Various Artists" dans les Artistes de l'Album`,removeAlbumVersion:'Supprimer "Album Version" du titre de la piste',removeDuplicateArtists:"Supprimer les combinaisons d'artistes",dateFormat:{title:"Format de date pour les fichiers FLAC",year:"AAAA",month:"MM",day:"JJ"},featuredToTitle:{title:"Que faire des artistes participants (featuring) ?",0:"Ne rien faire",1:"Les retirer du titre de la piste",3:"Les supprimer du titre de la piste et du titre de l'album",2:"Les d\xE9placer vers le titre de la piste"},titleCasing:"Casse pour le titre",artistCasing:"Casse pour l'artiste",casing:{nothing:"Conserver inchang\xE9",lower:"minuscules",upper:"MAJUSCULES",start:"Majuscule Au D\xE9but De Chaque Mot",sentence:"Majuscule seulement au d\xE9but de la phrase"},previewVolume:"Volume sonore des aper\xE7us de pistes",executeCommand:{title:"Commande \xE0 ex\xE9cuter apr\xE8s le t\xE9l\xE9chargement",description:"Laisser vide pour qu'aucune action n'ait lieu"}},spotify:{title:"Fonctionnalit\xE9s Spotify",clientID:"clientID Spotify",clientSecret:"Client Secret Spotify",username:"Nom d'utilisateur Spotify",question:"Comment activer les Fonctionnalit\xE9s Spotify ?"},reset:"R\xE9tablir les valeurs par d\xE9faut",resetMessage:"Souhaitez-vous vraiment r\xE9tablir les param\xE8tres par d\xE9faut ?",save:"Sauvegarder",toasts:{init:"Param\xE8tres charg\xE9s !",update:"Param\xE8tres mis \xE0 jour !",reset:"Param\xE8tres r\xE9initialis\xE9s \xE0 leur valeur par d\xE9faut !",ARLcopied:"ARL copi\xE9 dans le presse-papier"}},sidebar:{home:"accueil",search:"recherche",charts:"classements",favorites:"favoris",linkAnalyzer:"analyseur de lien",settings:"param\xE8tres",about:"\xE0 propos"},tracklist:{downloadSelection:"T\xE9l\xE9charger la s\xE9lection"}},id={globals:{welcome:"Selamat datang di deemix",back:"kembali",loading:"memuat",download:"Mengunduh {thing}",by:"oleh {artist}",in:"di {album}",download_hint:"Unduh",play_hint:"Putar",toggle_download_tab_hint:"Buka/Tutup",clean_queue_hint:"Berhasil Mengosongkan",cancel_queue_hint:"Batalkan Semua",listTabs:{empty:"",all:"semua",top_result:"hasil teratas",album:"album | album",artist:"artis | artis",single:"singel | singel",title:"judul | judul",track:"lagu | lagu",trackN:"0 lagu | {n} lagu | {n} lagu",releaseN:"0 rilis | {n} rilis | {n} rilis",playlist:"daftar putar | daftar putar",compile:"kompilasi | kompilasi",ep:"ep | ep",spotifyPlaylist:"daftar putar spotify | daftar putar spotify",releaseDate:"tanggal rilis",error:"galat"}},about:{titles:{usefulLinks:"Tautan Berguna",bugReports:"Laporan Kesalahan",contributing:"Kontirbutor",donations:"Donasi",license:"Lisensi"},subtitles:{bugReports:"Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!",contributing:"Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!",donations:"Mau kontribusi secara finansial? Kamu bisa beri donasi!"},usesLibrary:"Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.",thanks:"Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.",upToDate:{text:"Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.",newsChannel:"kanal berita deemix"},officialWebsite:"Situs Web Resmi",officialRepo:"Repositori Pustaka Resmi",officialWebuiRepo:"Repositori WebUI Resmi",officialSubreddit:"Subreddit Resmi",newsChannel:"Kanal Berita",questions:{text:"Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.",subreddit:"subreddit"},beforeReporting:"Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.",beSure:"Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.",duplicateReports:"Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.",dontOpenIssues:"JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.",newUI:{text:"Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.",repo:"repo"},acceptFeatures:"Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.",otherLanguages:"Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!",understandingCode:"Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.",contributeWebUI:{text:"Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.",webui:"WebUI"},itsFree:"Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.",notObligated:"Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!",lincensedUnder:{text:"Pekerjaan ini ada di bawah lisensi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Tangga Lagu",changeCountry:"Ubah Negara",download:"Unduh Tangga Lagu"},errors:{title:"Galat untuk {name}",ids:{invalidURL:"URL tidak dikenal",unsupportedURL:"URL belum didukung",ISRCnotOnDeezer:"Lagu ISRC tidak tersedia di deezer",notYourPrivatePlaylist:"Kamu tidak bisa mengunduh daftar putar privat orang lain.",spotifyDisabled:"Fitur Spotify tidak diatur dengan benar.",trackNotOnDeezer:"Lagu tidak ditemukan di deezer!",albumNotOnDeezer:"Album tidak ditemukan di deezer!",notOnDeezer:"Lagu tidak ada di Deezer!",notEncoded:"Lagu belum di-encode!",notEncodedNoAlternative:"Lagu belum di-encode dan tidak ada alternatif lain!",wrongBitrate:"Lagu tidak tersedia pada bitrate yang diinginkan.",wrongBitrateNoAlternative:"Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!",no360RA:"Lagu tidak tersedia pada Reality Audio 360.",notAvailable:"Lagu tidak tersedia pada server deezer!",notAvailableNoAlternative:"Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!"}},favorites:{title:"Favorit",noPlaylists:"Daftar Putar kosong",noAlbums:"Album Favorit kosong",noArtists:"Artis Favorit kosong",noTracks:"Lagu Favorit kosong"},home:{needTologin:"Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.",openSettings:"Buka Pengaturan",sections:{popularPlaylists:"Daftar putar populer",popularAlbums:"Album paling banyak diputar"}},linkAnalyzer:{info:"Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.",useful:"Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.",linkNotSupported:"Tautan seperti ini belum didukung",linkNotSupportedYet:"Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durasi",diskNumber:"Nomor Disk",trackNumber:"Nomor Lagu",releaseDate:"Tanggal Rilis",bpm:"BPM",label:"Label",recordType:"Tipe Rekaman",genres:"Genre",tracklist:"Daftar Lagu"}},search:{startSearching:"Mulai cari!",description:"Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer",fans:"{n} fan",noResults:"Tak ada hasil",noResultsTrack:"Lagu tidak ditemukan",noResultsAlbum:"Album tidak ditemukan",noResultsArtist:"Artis tidak ditemukan",noResultsPlaylist:"Daftar putar tidak ditemukan"},searchbar:"Cari apa pun yang kamu mau (atau berikan tautannya saja)",downloads:"unduhan",toasts:{addedToQueue:"{item} ditambah ke antrian",alreadyInQueue:"{item} sudah ada di antrian!",finishDownload:"{item} selesai diunduh.",allDownloaded:"Seluruh unduhan selesai!",refreshFavs:"Penyegaran selesai!",loggingIn:"Masuk",loggedIn:"Telah masuk",alreadyLogged:"Telah masuk",loginFailed:"Tidak bisa masuk",loggedOut:"Belum masuk",cancellingCurrentItem:"Membatalkan item.",currentItemCancelled:"Item telah dibatalan.",startAddingArtist:"Menambahkan {artist} album ke antrian",finishAddingArtist:"{artist} album telah ditambahkan ke antrian",startConvertingSpotifyPlaylist:"Mengonversi lagu spotify ke deezer",finishConvertingSpotifyPlaylist:"Daftar putar Spotify selesai dikonversi"},settings:{title:"Pengaturan",languages:"Bahasa",login:{title:"Masuk",loggedIn:"Kamu telah masuk sebagai {username}",arl:{question:"Bagaimana cara mendapat ARL?",update:"Perbarui ARL"},logout:"Keluar"},appearance:{title:"Tampilan",slimDownloadTab:"Tab unduhan ramping"},downloadPath:{title:"Direktori Unduhan"},templates:{title:"Templat",tracknameTemplate:"Templat judul lagu",albumTracknameTemplate:"Templat judul album",playlistTracknameTemplate:"Templat judul daftar putar"},folders:{title:"Folders",createPlaylistFolder:"Buat folder untuk daftar putar",playlistNameTemplate:"Templat folder daftar putar",createArtistFolder:"Buat folder untuk artis",artistNameTemplate:"Templat folder artis",createAlbumFolder:"Buat folder untuk album",albumNameTemplate:"Templat folder album",createCDFolder:"Buat folder untuk CD",createStructurePlaylist:"Buat struktur folder untuk daftar putar",createSingleFolder:"Buat struktur folder untuk singel"},trackTitles:{title:"Judul lagu",padTracks:"Judul pad",paddingSize:"Timpa ukuran padding",illegalCharacterReplacer:"Pengubah Simbol Tak Terdukung"},downloads:{title:"Unduhan",queueConcurrency:"Unduhan Bersamaan",maxBitrate:{title:"Bitrate Prioritas",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Apakah file mau ditimpa?",y:"Ya, silakan",n:"Tidak, jangan ditimpa",t:"Timpa tag-nya saja"},fallbackBitrate:"Rendahkan bitrate",fallbackSearch:"Cari bitrate lebih rendah",logErrors:"Buat file log untuk galat",logSearched:"Buat file log untuk lagu yang dicari",createM3U8File:"Buat file daftar putar",syncedLyrics:"Buat file .lyr (Sinkronisasikan Lirik)",playlistFilenameTemplate:"Templat nama file untuk daftar putar",saveDownloadQueue:"Simpan antrian pengunduhan saat menutup aplikasi"},covers:{title:"Sampul album",saveArtwork:"Simpan Sampul",coverImageTemplate:"Templat nama sampul",saveArtworkArtist:"Simpan gambar artis",artistImageTemplate:"Templat gambar artis",localArtworkSize:"Ukuran sampul lokal",embeddedArtworkSize:"Ukuran sampul tertanam",localArtworkFormat:{title:"Format gambar apa yang kamu mau untuk sampul lokal?",jpg:"Gambar JPEG",png:"Gambar PNG",both:"Keduanya"},jpegImageQuality:"Kualitas gambar JPEG"},tags:{head:"Tag apa saja yang disimpan?",title:"Judul",artist:"Artis",album:"Album",cover:"Sampul",trackNumber:"Nomor Lagu",trackTotal:"Jumlah Lagu",discNumber:"Nomor Disk",discTotal:"Jumlah Disk",albumArtist:"Artis pada Album",genre:"Genre",year:"Tahun",date:"Tanggal",explicit:"Lirik Eksplisit",isrc:"ISRC",length:"Durasi",barcode:"Barcode Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label Album",lyrics:"Lirik Tak Tersinkronisasi",copyright:"Hak Cipta",composer:"Komposer",involvedPeople:"Orang-Orang Terlibat"},other:{title:"Lainnya",savePlaylistAsCompilation:"Simpan daftar putar sebagai kompilasi",useNullSeparator:"Gunakan separator null",saveID3v1:"Simpan juga ID3v1",multiArtistSeparator:{title:"Bagaimana kamu mau memisahkan nama artis?",nothing:"Simpan artis utamanya saja",default:"Gunakan spesifikasi standard",andFeat:"Gunakan & dan feat.",using:'Gunakan "{separator}"'},singleAlbumArtist:"Simpan artis utama saja",albumVariousArtists:'Simpan "Various Artists" sebagai artis',removeAlbumVersion:'Hapus "Versi Album" dari judul lagu',removeDuplicateArtists:"Hapus kombinasi artis",dateFormat:{title:"Format tanggal untuk file FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Apa yang harus dilakukan jika ada artis kedua?",0:"Biarkan saja",1:"Hapus dari judul lagu",3:"Hapus dari judul lagu dan judul album",2:"Pindahkan ke judul lagu"},titleCasing:"Kapitalisasi judul",artistCasing:"Kapitalisasi album",casing:{nothing:"Biarkan seadanya",lower:"huruf kecil",upper:"HURUF KAPITAL",start:"Setiap Awal Kata",sentence:"Huruf pertama saja"},previewVolume:"Pratinjau volume",executeCommand:{title:"Perintah yang dijalankan setelah pengunduhan",description:"Biarkan kosong jika tidak ada"}},spotify:{title:"Fitur Spotify",clientID:"clientID Spotify ",clientSecret:"Client Secret Spotify ",username:"Username Spotify"},reset:"Kembalikan ke Awal",save:"Simpan",toasts:{init:"Pengaturan dimuat!",update:"Pengaturan diperbarui!",ARLcopied:"ARL tersalin ke papan klip"}},sidebar:{home:"utama",search:"cari",charts:"tangga lagu",favorites:"favorit",linkAnalyzer:"penganalisa tautan",settings:"pengaturan",about:"tentang"},tracklist:{downloadSelection:"Seleksi unduhan"}},pt={globals:{welcome:"Bem-vindo ao deemix",back:"voltar",loading:"A carregar",download:"Transferir {thing}",by:"por {artist}",in:"em {album}",download_hint:"Transferir",play_hint:"Tocar",toggle_download_tab_hint:"Expandir/Recolher",clean_queue_hint:"Limpar Finalizados",cancel_queue_hint:"Cancelar Tudo",listTabs:{empty:"",all:"Tudo",top_result:"melhor resultado",album:"\xE1lbum | \xE1lbums",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amentos | {n} lan\xE7amento | {n} lan\xE7amento",playlist:"lista de reprodu\xE7\xE3o | listas de reprodu\xE7\xE3o",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"lista de reprodu\xE7\xE3o spotify | listas de reprodu\xE7\xE3o spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relat\xF3rio de erros",contributing:"Contribuir",donations:"Doa\xE7\xF5es",license:"Licen\xE7as"},subtitles:{bugReports:"Existe alguma coisa que n\xE3o funciona no deemix? Informa-nos!",contributing:"Queres contribuir para o projecto? Podes faz\xEA-lo de diferentes formas!",donations:"Desejas contribuir monetariamente? Faz uma doa\xE7\xE3o!"},usesLibrary:"Esta aplica\xE7\xE3o usa a biblioteca deemix, que poder\xE1s usar para desenvolver o teu proprio UI para o deemix.",thanks:"Agrade\xE7o a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o \xEDcone.",upToDate:{text:"Mantem-te atualizado seguindo o {newsChannel} no Telegram.",newsChannel:"canal de not\xEDcias"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio Oficial da Biblioteca",officialWebuiRepo:"Reposit\xF3rio Oficial WebUI",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solu\xE7\xE3o no {subreddit}. Caso n\xE3o encontres nada podes criar um post com a tua quest\xE3o no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportares um bug certifica-te que est\xE1s a correr a vers\xE3o mais recente e que o que queres reportar \xE9 mesmo um bug e n\xE3o algo que apenas n\xE3o funciona do teu lado.",beSure:"Certifica-te que o erro \xE9 reprodutivel noutros dispositivos e N\xC3O reportes um bug que j\xE1 tenha sido reportado.",duplicateReports:"Bug reports duplicados ser\xE3o fechados, mant\xE9m-te atento a isso.",dontOpenIssues:"N\xC3O abras issues para colocar quest\xF5es, existe um subreddit para isso.",newUI:{text:"Caso sejas fluente em python podes tentar criar um novo UI para a aplica\xE7\xE3o recorrendo \xE0 biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.",repo:"reposit\xF3rio"},acceptFeatures:"Tamb\xE9m aceito funcionalidades n\xE3o complexas caso possam ser implementadas directamente na app e n\xE3o na biblioteca.",otherLanguages:"Caso sejas fluente noutra linguagem de programa\xE7\xE3o podes tentar migrar o deemix para outra linguagem de programa\xE7\xE3o!",understandingCode:"Precisas de ajuda a entender o c\xF3digo? Acede a RemixDev no Telegram ou no Reddit.",contributeWebUI:{text:"Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.",webui:"WebUI"},itsFree:"Deves ter em conta que que este projecto \xE9 gratuito e dever\xE1s apoiar os artistas que aprecias antes de apoiares os programadores.",notObligated:"N\xE3o te sintas obrigado a doar, agrade\xE7o-te na mesma!",lincensedUnder:{text:"Este trabalho esta licenciado sobre a {gpl3}.",gpl3:"GNU Licen\xE7a publica geral 3.0"}},charts:{title:"Tabelas",changeCountry:"Alterar pa\xEDs",download:"Transferir tabela"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL n\xE3o reconhecido",unsupportedURL:"URL ainda n\xE3o suportado",ISRCnotOnDeezer:"Faixa ISRC n\xE3o dispon\xEDvel no deezer",notYourPrivatePlaylist:"Nao podes baixar listas de reprodu\xE7\xE3o privadas de outros.",spotifyDisabled:"Funcionalidades do Spotify n\xE3o est\xE3o definidas corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"\xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa n\xE3o encontrada no Deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e n\xE3o foi encontrada alternativa!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e n\xE3o foi encontrada alternativa!",no360RA:"Faixa n\xE3o dispon\xEDvel em Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e n\xE3o foi encontrada alternativa!"}},favorites:{title:"Favoritos",noPlaylists:"Listas de reprodu\xE7\xE3o n\xE3o encontradas",noAlbums:"\xC1lbuns favoritos n\xE3o encontrados",noArtists:"Artistas favoritos n\xE3o encontrados",noTracks:"Faixas favoritas n\xE3o encontradas"},home:{needTologin:"Antes de iniciar transfer\xEAncias \xE9 necess\xE1rio efectuar autentica\xE7\xE3o na conta Deezer.",openSettings:"Abrir Defini\xE7\xF5es",sections:{popularPlaylists:"Listas de reprodu\xE7\xE3o populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Podes usar esta sec\xE7\xE3o para obteres mais informa\xE7\xE3o sobre o link que est\xE1s a tentar transferir.",useful:"Isto \xE9 \xFAtil caso estejas a tentar transferir faixas que n\xE3o est\xE3o dispon\xEDveis no teu pa\xEDs e queres saber onde est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Este link ainda n\xE3o \xE9 suportado",linkNotSupportedYet:"Parece que este link ainda n\xE3o \xE9 suportado, tenta analisar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do disco",trackNumber:"N\xFAmero da faixa",releaseDate:"Data de lan\xE7amento",bpm:"BPM",label:"Editora",recordType:"Tipo de Disco",genres:"G\xE9neros",tracklist:"Lista de faixas"}},search:{startSearching:"Come\xE7a a pesquisar!",description:"Podes perquisar uma m\xFAsica, um \xE1lbum inteiro, um artista, uma lista de reprodu\xE7\xE3o... tudo! Tamb\xE9m podes colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Faixa n\xE3o encontrada",noResultsAlbum:"\xC1lbum n\xE3o encontrado",noResultsArtist:"Artista n\xE3o encontrado",noResultsPlaylist:"Lista de reprodu\xE7\xE3o n\xE3o encontrada"},searchbar:"Pesquisa o que quiseres (ou cola um link)",downloads:"transfer\xEAncias",toasts:{addedToQueue:"{item} adicionados \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} foi transferido.",allDownloaded:"Todas as transfer\xEAncias terminadas!",refreshFavs:"Actualizar terminados!",loggingIn:"A autenticar",loggedIn:"Autenticado",alreadyLogged:"J\xE1 est\xE1s autenticado",loginFailed:"Nao foi possivel iniciar sess\xE3o",loggedOut:"Desconectado",cancellingCurrentItem:"A cancelar item actual.",currentItemCancelled:"Item actual cancelado.",startAddingArtist:"A adicionar {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"Adicionados {artist} \xE1lbuns \xE0 fila",startConvertingSpotifyPlaylist:"A converter faixas do spotify em faixas do deezer",finishConvertingSpotifyPlaylist:"Lista de reprodu\xE7\xE3o do Spotify convertida."},settings:{title:"Defini\xE7\xF5es",languages:"Idioma",login:{title:"Inicio de Sess\xE3o",loggedIn:"Est\xE1s autenticado como {username}",arl:{question:"Como obter o meu ARL?",update:"Actualizar ARL"},logout:"Sair"},appearance:{title:"Aspecto",slimDownloadTab:"Aba de transfer\xEAncias estreita"},downloadPath:{title:"Caminho das transfer\xEAncias"},templates:{title:"Formatos",tracknameTemplate:"Formato do nome de faixa",albumTracknameTemplate:"Formato do nome de \xC1lbum",playlistTracknameTemplate:"Formato do nome de lista de reprodu\xE7\xE3o"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para lista de reprodu\xE7\xE3o",playlistNameTemplate:"Formato da pasta de lista de reprodu\xE7\xE3o",createArtistFolder:"Criar pasta para artista",artistNameTemplate:"Formato da pasta de artista",createAlbumFolder:"Criar pasta para \xE1lbum",albumNameTemplate:"Formato da pasta de \xE1lbum",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para listas reprodu\xE7\xE3o",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo",padTracks:"Bloco de Faixas",paddingSize:"Substituir tamanho do preenchimento",illegalCharacterReplacer:"Substituir caractere inv\xE1lido"},downloads:{title:"Transfer\xEAncias",queueConcurrency:"Transfer\xEAncias concorrentes",maxBitrate:{title:"Bitrate preferencial",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Ficheiros existentes. Substituir?",y:"Sim, substituir o ficheiro",n:"N\xE3o substituir o ficheiro",t:"Subescrever apenas as etiquetas"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Fallback de pesquisa",logErrors:"Criar hist\xF3rico para erros",logSearched:"Criar hist\xF3rico para faixas pesquisadas",createM3U8File:"Criar ficheiro de lista de reprodu\xE7\xE3o",syncedLyrics:"Criar ficheiro .lyr (Letra Sincronizada)",playlistFilenameTemplate:"Formato do nome de ficheiro da lista de reprodu\xE7\xE3o",saveDownloadQueue:"Guardar fila de transfer\xEAncias ao fechar a aplica\xE7\xE3o"},covers:{title:"Capas do \xC1lbum",saveArtwork:"Guardar capas",coverImageTemplate:"Modelo do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Modelo de imagem do artista",localArtworkSize:"Tamanho do trabalho art\xEDstico local",embeddedArtworkSize:"Tamanho do trabalho art\xEDstico incorporado",localArtworkFormat:{title:"Em que formato desejas o trabalho art\xEDstico local?",jpg:"Em imagem jpeg",png:"Em imagem png",both:"Em jpeg e em png"},jpegImageQuality:"Qualidade de imagem JPEG"},tags:{head:"Etiquetas a guardar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero de faixa",trackTotal:"Total de faixas",discNumber:"N\xFAmero do Disco",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xE9nero",year:"Ano",date:"Data",explicit:"Letra Expl\xEDcita",isrc:"ISRC",length:"Dura\xE7\xE3o da faixa",barcode:"C\xF3digo de barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Editora do \xE1lbum",lyrics:"Letra da m\xFAsica n\xE3o sincronizada",copyright:"Direitos de Autor",composer:"Compositor",involvedPeople:"Pessoas envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Guardar listas de reprodu\xE7\xE3o como compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Tamb\xE9m guardar ID3v1",multiArtistSeparator:{title:"Como queres separarar os artistas?",nothing:"Guardar apenas o artista principal",default:"Usar especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar apenas o artista principal do \xE1lbum",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato de data nos ficheiros FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas convidados/participa\xE7\xF5es?",0:"Nada",1:"Remover do t\xEDtulo",3:"Remover do t\xEDtulo e do t\xEDtulo do album",2:"Mov\xEA-lo para o t\xEDtulo"},titleCasing:"Caixa do T\xEDtulo",artistCasing:"Caixa do Artista",casing:{nothing:"Manter inalterado",lower:"minusculas",upper:"MAI\xDASCULAS",start:"In\xEDcio De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Volume de Pr\xE9-visualiza\xE7\xE3o",executeCommand:{title:"Comando a executar ap\xF3s transferir",description:"Deixar em branco para nenhuma ac\xE7\xE3o"}},spotify:{title:"Funcionalidades Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"nome de utilizador Spotify"},reset:"Repor configura\xE7\xF5es padr\xE3o",save:"Guardar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es actualizadas",ARLcopied:"ARL copiado para area de transferencia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"tabelas",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"defini\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Transferir seleccionados"}},pt_br={globals:{welcome:"bem vindo ao deemix",back:"voltar",loading:"carregando",download:"Baixar {thing}",by:"por {artist}",in:"em {album}",download_hint:"Baixar",play_hint:"Reproduzir",toggle_download_tab_hint:"Expandir/Diminuir",clean_queue_hint:"Limpar",cancel_queue_hint:"Cancelar Todos",listTabs:{empty:"",all:"todos",top_result:"resultado principal",album:"\xE1lbum | \xE1lbuns",artist:"artista | artistas",single:"single | singles",title:"t\xEDtulo | t\xEDtulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lan\xE7amento | {n} lan\xE7amento | {n} lan\xE7amentos",playlist:"playlist | playlists",compile:"compila\xE7\xE3o | compila\xE7\xF5es",ep:"ep | eps",spotifyPlaylist:"playlist do spotify | playlists do spotify",releaseDate:"data de lan\xE7amento",error:"erro"}},about:{titles:{usefulLinks:"Links \xDAteis",bugReports:"Relatar Bugs",contributing:"Contribui\xE7\xF5es",donations:"Doa\xE7\xF5es",license:"Licen\xE7a"},subtitles:{bugReports:"H\xE1 algo n\xE3o funcionando no deemix? Nos diga!",contributing:"Voc\xEA quer contribuir para este projeto? Voc\xEA pode fazer isso de diferentes maneiras!",donations:"Voc\xEA quer contribuir monetariamente? Voc\xEA pode fazer uma doa\xE7\xE3o!"},usesLibrary:"Esse app usa a biblioteca do deemix, no qual voc\xEA pode usar para criar sua pr\xF3pria UI para o deemix",thanks:"Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o \xEDcone",upToDate:{text:"Para mais novidades siga o {newsChannel} no Telegram.",newsChannel:"news channel"},officialWebsite:"Site Oficial",officialRepo:"Reposit\xF3rio da Biblioteca Oficial",officialWebuiRepo:"Reposit\xF3rio da WebUI Oficial",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Not\xEDcias",questions:{text:"Se voc\xEA tiver d\xFAvidas ou problemas com o app, procure uma solu\xE7\xE3o em {subreddit} primeiro. Caso voc\xEA n\xE3o encontre, voc\xEA pode fazer um post explicando seu problema no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportar um bug, tenha certeza que voc\xEA est\xE1 rodando a vers\xE3o mais recente do app, e o que voc\xEA quer reportar seja realmente um bug e n\xE3o algo que esteja acontecendo especialmente com voc\xEA.",beSure:"Certifique-se que o bug \xE9 reproduzivel em outras m\xE1quinas e tamb\xE9m N\xC3O reporte um bug se ele j\xE1 foi reportado.",duplicateReports:"Reportes de bugs duplicados ser\xE3o fechados, ent\xE3o fique atento a isso.",dontOpenIssues:"N\xC3O abra t\xF3picos para fazer perguntas, h\xE1 o subreddit para isso.",newUI:{text:"Se voc\xEA \xE9 fluente em Phython, voc\xEA pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.",repo:"repo"},acceptFeatures:"Eu aceito funcionalidades extras tamb\xE9m, mas nada de coisas complexas, desde que ela possa ser implementada no app, e n\xE3o na biblioteca.",otherLanguages:"Se voc\xEA for fluente em outra linguagem de programa\xE7\xE3o, voc\xEA pode tentar portar o deemix para outra linguagem!",understandingCode:"Voc\xEA precisa de ajuda para entender o c\xF3digo? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.",contributeWebUI:{text:"Se voc\xEA souber Vue.js (JavaScript), HTML ou CSS voc\xEA pode contribuir para o {webui}.",webui:"WebUI"},itsFree:"Lembre-se que este projeto \xE9 livre e voc\xEA deve dar suporte aos artistas que voc\xEA ama antes de dar suporte aos desenvolvedores.",notObligated:"N\xE3o se sinta na obriga\xE7\xE3o de doar, eu agrade\xE7o de qualquer maneira!",lincensedUnder:{text:"Esse \xE9 um projeto licenciado atrav\xE9s da {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Mudar Pa\xEDs",download:"Download Chart"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL inv\xE1lida",unsupportedURL:"URL n\xE3o suportada ainda",ISRCnotOnDeezer:"Faixa ISRC n\xE3o est\xE1 dispon\xEDvel ainda no deezer",notYourPrivatePlaylist:"Voc\xEA n\xE3o pode baixar playlists privadas.",spotifyDisabled:"Os Recursos do Spotify n\xE3o foram configurados corretamente.",trackNotOnDeezer:"Faixa n\xE3o encontrada no deezer!",albumNotOnDeezer:"Album not found on deezer! \xC1lbum n\xE3o encontrado no deezer!",notOnDeezer:"Faixa indispon\xEDvel no deezer!",notEncoded:"Faixa ainda n\xE3o codificada!",notEncodedNoAlternative:"Faixa ainda n\xE3o codificada e sem alternativas encontradas!",wrongBitrate:"Faixa n\xE3o encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa n\xE3o encontrada no bitrate desejado e nenhuma outra alternativa encontrada!",no360RA:"Faixa n\xE3o dispon\xEDvel na qualidade Reality Audio 360.",notAvailable:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer!",notAvailableNoAlternative:"Faixa n\xE3o dispon\xEDvel nos servidores do deezer e nenhuma outra alternativa encontrada!"}},favorites:{title:"Favoritos",noPlaylists:"Nenhuma Playlist encontrada",noAlbums:"Nenhum \xC1lbum Favorito encontrado",noArtists:"Nenhum Artista Favorito encontrado",noTracks:"Nenhuma Faixa Favorita encontrada"},home:{needTologin:"Voc\xEA precisa logar na sua conta do deezer antes de come\xE7ar a baixar m\xFAsicas.",openSettings:"Abrir Configura\xE7\xF5es",sections:{popularPlaylists:"Playlists Populares",popularAlbums:"\xC1lbuns mais ouvidos"}},linkAnalyzer:{info:"Voc\xEA pode usar essa se\xE7\xE3o para encontrar mais informa\xE7\xF5es sobre o link que voc\xEA quer baixar.",useful:"Isso \xE9 \xFAtil se voc\xEA est\xE1 tentando baixar algumas faixas que n\xE3o est\xE3o dispon\xEDveis no seu pa\xEDs, e quer saber onde elas est\xE3o dispon\xEDveis, por exemplo.",linkNotSupported:"Esse link n\xE3o \xE9 suportado ainda",linkNotSupportedYet:"Parece que esse link n\xE3o \xE9 suportado ainda, tente analizar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dura\xE7\xE3o",diskNumber:"N\xFAmero do Disco",trackNumber:"N\xFAmero da Faixa",releaseDate:"Data de Lan\xE7amento",bpm:"BPM",label:"Gravadora",recordType:"Tipo de Grava\xE7\xE3o",genres:"G\xEAneros",tracklist:"Tracklist"}},search:{startSearching:"Comece pesquisando!",description:"Voc\xEA pode pesquisar uma m\xFAsica, um \xE1lbum, um artista, uma playlist.... tudo! Voc\xEA tamb\xE9m pode colar um link do Deezer",fans:"{n} f\xE3s",noResults:"Sem resultados",noResultsTrack:"Nenhuma Faixa encontrada",noResultsAlbum:"Nenhum \xC1lbum encontrado",noResultsArtist:"Nenhum Artista encontrado",noResultsPlaylist:"Nenhuma Playlist encontrada"},searchbar:"Pesquise algo (ou apenas cole um link)",downloads:"downloads",toasts:{addedToQueue:"{item} adicionado \xE0 fila",alreadyInQueue:"{item} j\xE1 est\xE1 na fila!",finishDownload:"{item} download terminado.",allDownloaded:"Todos os downloads foram feitos!",refreshFavs:"Atualiza\xE7\xE3o completa!",loggingIn:"Logando",loggedIn:"Logado",alreadyLogged:"Voc\xEA j\xE1 est\xE1 logado",loginFailed:"N\xE3o foi possivel entrar",loggedOut:"Desconectando",cancellingCurrentItem:"Cancelando item atual.",currentItemCancelled:"Item atual cancelado.",startAddingArtist:"Adicionando {artist} \xE1lbuns \xE0 fila",finishAddingArtist:"{artist} \xE1lbuns adicionados a fila",startConvertingSpotifyPlaylist:"Convertendo faixas do spotify para faixas do deezer",finishConvertingSpotifyPlaylist:"Playlists do Spotify convertidas"},settings:{title:"Configura\xE7\xF5es",languages:"Idiomas",login:{title:"Login",loggedIn:"Voc\xEA est\xE1 logado como {username}",arl:{question:"Como eu consigo o meu ARL?",update:"Atualizar ARL"},logout:"Sair"},appearance:{title:"Apar\xEAncia",slimDownloadTab:"Aba de download slim"},downloadPath:{title:"Diret\xF3rio de Downloads"},templates:{title:"Templates",tracknameTemplate:"Template do nome da faixa",albumTracknameTemplate:"Template da faixa do \xE1lbum",playlistTracknameTemplate:"Template da faixa da playlist"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para playlists",playlistNameTemplate:"Template da pasta de playlist",createArtistFolder:"Criar pasta para os artistas",artistNameTemplate:"Template da pasta de artistas",createAlbumFolder:"Criar pasta para \xE1lbuns",albumNameTemplate:"Template da pasta de \xE1lbuns",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para playlists",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"T\xEDtulo das faixas",padTracks:"Faixas com pad",paddingSize:"Sobrescrever tamanho do padding",illegalCharacterReplacer:"Substituir caracteres inv\xE1lidos"},downloads:{title:"Downloads",queueConcurrency:"Downloads Simult\xE2neos",maxBitrate:{title:"Escolher Taxa de Bits",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Sobrescrever arquivos?",y:"Sim, sobrescrever arquivos",n:"N\xE3o, n\xE3o sobrescrever arquivos",t:"Sobrescrever apenas as tags"},fallbackBitrate:"Taxa de bits reserva",fallbackSearch:"Procurar reserva",logErrors:"Criar arquivos de log para erros",logSearched:"Criar arquivos de log para faixas pesquisadas",createM3U8File:"Criar arquivo de playlist",syncedLyrics:"Criar arquivos .lyr (Letras)",playlistFilenameTemplate:"Template do nome do arquivo da playlist",saveDownloadQueue:"Salvar a fila de downloads quando fechar o app"},covers:{title:"Capa dos \xE1lbuns",saveArtwork:"Salvar capas",coverImageTemplate:"Template do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Template da imagem do artista",localArtworkSize:"Tamanho da capa local",embeddedArtworkSize:"Tamanho da capa embutida",localArtworkFormat:{title:"Qual o formato da imagem que voc\xEA quer para a capa local?",jpg:".jpeg",png:".png",both:"Ambas, .jpeg e .png"},jpegImageQuality:"Qualidade da imagem JPEG"},tags:{head:"Quais tags salvar",title:"T\xEDtulo",artist:"Artista",album:"\xC1lbum",cover:"Capa",trackNumber:"N\xFAmero da Faixa",trackTotal:"Total de Faixas",discNumber:"N\xFAmero de Discos",discTotal:"Total de Discos",albumArtist:"Artista do \xC1lbum",genre:"G\xEAnero",year:"Ano",date:"Data",explicit:"Letras Expl\xEDcitas",isrc:"ISRC",length:"Tamanho da Faixa",barcode:"C\xF3digo de Barras do \xE1lbum (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Gravadora",lyrics:"Letras Dessincronizadas",copyright:"Copyright",composer:"Compositor",involvedPeople:"Pessoas Envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Salvar playlists como uma compila\xE7\xE3o",useNullSeparator:"Usar separador nulo",saveID3v1:"Salvar ID3v1",multiArtistSeparator:{title:"Como voc\xEA gostaria de separar os artistas?",nothing:"Salvar apenas o artista principal",default:"Usar a especifica\xE7\xE3o padr\xE3o",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Salvar apenas o artista principal",albumVariousArtists:'Manter "Various Artists" nos Artistas do \xC1lbum',removeAlbumVersion:'Remover "Album Version" do t\xEDtulo da faixa',removeDuplicateArtists:"Remover combina\xE7\xE3o de artistas",dateFormat:{title:"Formato da data para arquivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas participantes?",0:"Nada",1:"Remova do t\xEDtulo da faixa",3:"Remova do t\xEDtulo da faixa e do \xE1lbum",2:"Mover para o t\xEDtulo da faixa"},titleCasing:"Formata\xE7\xE3o do t\xEDtulo",artistCasing:"Formata\xE7\xE3o do artista",casing:{nothing:"Manter inalterado",lower:"min\xFAsculo",upper:"MAI\xDASCULO",start:"Come\xE7o De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Pr\xE9via do Volume",executeCommand:{title:"Comando para executar depois de baixar",description:"Deixe em branco para nenhuma a\xE7\xE3o"}},spotify:{title:"Recursos do Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"usu\xE1rio do Spotify"},reset:"Restaurar para o padr\xE3o",save:"Salvar",toasts:{init:"Configura\xE7\xF5es carregadas!",update:"Configura\xE7\xF5es atualizadas!",ARLcopied:"ARL copiada para a \xE1rea de transfer\xEAncia"}},sidebar:{home:"in\xEDcio",search:"pesquisa",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"configura\xE7\xF5es",about:"sobre"},tracklist:{downloadSelection:"Baixar sele\xE7\xE3o"}},ru={globals:{welcome:"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 deemix",back:"\u043D\u0430\u0437\u0430\u0434",loading:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C {thing}",by:"{artist}",in:"\u0438\u0437 {album}",download_hint:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C",play_hint:"\u041F\u0440\u043E\u0441\u043B\u0443\u0448\u0430\u0442\u044C",toggle_download_tab_hint:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0421\u043A\u0440\u044B\u0442\u044C",clean_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u044B\u0435",cancel_queue_hint:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0451",open_downloads_folder:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043F\u043A\u0443 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",cut:"\u0432\u044B\u0440\u0435\u0437\u0430\u0442\u044C",copy:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",copyLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443",copyImageLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C URL \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",copyDeezerLink:"\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 deezer",paste:"\u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C",listTabs:{empty:"",all:"\u0432\u0441\u0435",top_result:"\u043B\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442",album:"\u0430\u043B\u044C\u0431\u043E\u043C | \u0430\u043B\u044C\u0431\u043E\u043C\u044B | \u0430\u043B\u044C\u0431\u043E\u043C\u044B",artist:"\u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 | \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438",single:"\u0441\u0438\u043D\u0433\u043B | \u0441\u0438\u043D\u0433\u043B\u044B | \u0441\u0438\u043D\u0433\u043B\u044B",title:"\u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",track:"\u0442\u0440\u0435\u043A | \u0442\u0440\u0435\u043A\u0438 | \u0442\u0440\u0435\u043A\u0438",trackN:"{n} \u0442\u0440\u0435\u043A | {n} \u0442\u0440\u0435\u043A\u0430 | {n} \u0442\u0440\u0435\u043A\u043E\u0432",releaseN:"{n} \u0440\u0435\u043B\u0438\u0437 | {n} \u0440\u0435\u043B\u0438\u0437\u0430 | {n} \u0440\u0435\u043B\u0438\u0437\u043E\u0432",playlist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",compile:"\u0441\u043F\u043B\u0438\u0442 | \u0441\u043F\u043B\u0438\u0442\u044B | \u0441\u043F\u043B\u0438\u0442\u044B",ep:"ep",bundle:"\u0431\u0430\u043D\u0434\u043B | \u0431\u0430\u043D\u0434\u043B\u044B | \u0431\u0430\u043D\u0434\u043B\u044B",more:"\u0411\u043E\u043B\u044C\u0448\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",featured:"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0432",spotifyPlaylist:"\u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify | \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B spotify",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",error:"\u043E\u0448\u0438\u0431\u043A\u0430",albumN:"{n} \u0430\u043B\u044C\u0431\u043E\u043C | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u0430 | {n} \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432",artistN:"{n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F | {n} \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",playlistN:"{n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 | {n} \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432"}},about:{updates:{currentVersion:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionNotAvailable:"\u041D/\u0414",updateAvailable:"\u0412\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043D\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E: {version}",deemixVersion:"\u0412\u0435\u0440\u0441\u0438\u044F \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 deemix"},titles:{usefulLinks:"\u041F\u043E\u043B\u0435\u0437\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438",bugReports:"\u041E\u0442\u0447\u0451\u0442\u044B \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445",contributing:"\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u0440\u043E\u0435\u043A\u0442\u0443",donations:"\u041F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F",license:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F"},subtitles:{bugReports:"\u0427\u0442\u043E-\u0442\u043E \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442? \u0421\u043E\u043E\u0431\u0449\u0438\u0442\u0435 \u043D\u0430\u043C!",contributing:"\u0425\u043E\u0442\u0438\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u0430\u043C\u0438!",donations:"\u0425\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u043E? \u041C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u0435!"},usesLibrary:"\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 deemix, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 UI \u0434\u043B\u044F deemix.",thanks:"\u0421\u043F\u0430\u0441\u0438\u0431\u043E rtonno, uhwot \u0438 lollilol \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u044C \u0441 \u044D\u0442\u0438\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u043C, \u0430 \u0442\u0430\u043A\u0436\u0435 BasCurtiz \u0437\u0430 \u0438\u043A\u043E\u043D\u043A\u0443.",upToDate:{text:"\u0421\u043B\u0435\u0434\u0438\u0442\u0435 \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u043C\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F\u043C\u0438 \u043D\u0430 {newsChannel} \u0432 Telegram.",newsChannel:"\u043A\u0430\u043D\u0430\u043B\u0435"},officialWebsite:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0439\u0442",officialRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438",officialWebuiRepo:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 WebUI",officialSubreddit:"\u041E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442",newsChannel:"\u041A\u0430\u043D\u0430\u043B \u043D\u043E\u0432\u043E\u0441\u0442\u0435\u0439",questions:{text:"\u0415\u0441\u043B\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043E\u0437\u043D\u0438\u043A\u043B\u0438 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0441 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u0438\u0449\u0438\u0442\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 {subreddit}. \u0415\u0441\u043B\u0438 \u043D\u0435 \u043D\u0430\u0448\u043B\u0438 \u0440\u0435\u0448\u0435\u043D\u0438\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u043E\u0441\u0442 \u0438 \u043E\u043F\u0438\u0441\u0430\u0442\u044C \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443.",subreddit:"\u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442\u0435"},beforeReporting:"\u041F\u0435\u0440\u0435\u0434 \u0442\u0435\u043C, \u043A\u0430\u043A \u0441\u043E\u043E\u0431\u0449\u0430\u0442\u044C \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0438 \u0447\u0442\u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043D\u0435 \u043D\u0430 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435.",beSure:"\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E\u0437\u043D\u0438\u043A\u0430\u0435\u0442 \u0438 \u043D\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u0445. \u0422\u0430\u043A\u0436\u0435 \u041D\u0415 \u0441\u043E\u043E\u0431\u0449\u0430\u0439\u0442\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435, \u0435\u0441\u043B\u0438 \u043F\u0440\u043E \u043D\u0435\u0451 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E.",duplicateReports:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445 \u0440\u0430\u0441\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435 \u0431\u0443\u0434\u0443\u0442.",dontOpenIssues:"\u041D\u0415 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u0434\u043B\u044F \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0430\u0432\u0442\u043E\u0440\u0443, \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0435\u0441\u0442\u044C \u0441\u0430\u0431\u0440\u0435\u0434\u0434\u0438\u0442.",newUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 python, \u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 UI \u0434\u043B\u044F \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0438\u043B\u0438 \u043F\u043E\u0444\u0438\u043A\u0441\u0438\u0442\u044C \u0432 \u043D\u0435\u0439 \u0431\u0430\u0433\u0438 \u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C pull request \u0432 {repo}.",repo:"\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438"},acceptFeatures:"\u041C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438, \u043D\u043E \u043D\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0441\u043B\u043E\u0436\u043D\u044B\u0435, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435, \u0430 \u043D\u0435 \u0432 \u0441\u0430\u043C\u0443 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443.",otherLanguages:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0440\u043E\u0448\u043E \u0437\u043D\u0430\u0435\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u043D\u0451\u043C deemix!",understandingCode:"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u0442\u044C\u0441\u044F \u0432 \u043A\u043E\u0434\u0435? \u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 RemixDev \u0432 Telegram \u0438\u043B\u0438 \u043D\u0430 Reddit.",contributeWebUI:{text:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0437\u043D\u0430\u0435\u0442\u0435 Vue.js (JavaScript), HTML \u0438\u043B\u0438 CSS, \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043D\u0435\u0441\u0442\u0438 \u0432\u043A\u043B\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 {webui}.",webui:"WebUI"},itsFree:"\u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0432\u0430\u043C \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u043F\u043E\u043D\u0440\u0430\u0432\u0438\u0432\u0448\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043F\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043C \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u043E\u0432.",notObligated:"\u0412\u044B \u043D\u0435 \u043E\u0431\u044F\u0437\u0430\u043D\u044B \u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F, \u044F \u0432\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0432\u0430\u0441 \u0446\u0435\u043D\u044E!",lincensedUnder:{text:"\u041F\u0440\u043E\u0435\u043A\u0442 \u0440\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0434 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u0427\u0430\u0440\u0442\u044B",changeCountry:"\u0421\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0443",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0440\u0442"},errors:{title:"\u041E\u0448\u0438\u0431\u043A\u0438 {name}",ids:{invalidURL:"URL \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D",unsupportedURL:"URL \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",ISRCnotOnDeezer:"ISRC \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer",notYourPrivatePlaylist:"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0447\u0443\u0436\u0438\u0435 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B.",spotifyDisabled:"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u044B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B Spotify.",trackNotOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",albumNotOnDeezer:"\u0410\u043B\u044C\u0431\u043E\u043C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 Deezer!",notOnDeezer:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 Deezer!",notEncoded:"\u0422\u0440\u0435\u043A \u0435\u0449\u0451 \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D!",notEncodedNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435 \u043F\u0435\u0440\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D, \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",wrongBitrate:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435.",wrongBitrateNoAlternative:"\u0414\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0440\u0435\u043A\u0430 \u043D\u0435\u0442 \u0432 \u043D\u0443\u0436\u043D\u043E\u043C \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u0435. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",no360RA:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 Reality Audio 360.",notAvailable:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer!",notAvailableNoAlternative:"\u0422\u0440\u0435\u043A \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Deezer. \u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E!",noSpaceLeft:"\u041D\u0430 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u043D\u0435 \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430!",albumDoesntExists:"\u0410\u043B\u044C\u0431\u043E\u043C\u0430 \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043D\u0435 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0430"}},favorites:{title:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",noPlaylists:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noAlbums:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noArtists:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",noTracks:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0442\u0440\u0435\u043A\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B"},home:{needTologin:"\u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u043E\u0439\u0442\u0438 \u043F\u043E\u0434 \u0441\u0432\u043E\u0435\u0439 \u0443\u0447\u0435\u0442\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u044C\u044E Deezer, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C.",openSettings:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",sections:{popularPlaylists:"\u041F\u043E\u043F\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B",popularAlbums:"\u0421\u0430\u043C\u044B\u0435 \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u044B"}},linkAnalyzer:{info:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u044D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B, \u0447\u0442\u043E\u0431\u044B \u0443\u0437\u043D\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043E \u0441\u0441\u044B\u043B\u043A\u0435, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0441\u043A\u0430\u0447\u0430\u0442\u044C.",useful:"\u042D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B \u043D\u0443\u0436\u0435\u043D, \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0442\u0440\u0435\u043A\u0438, \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C, \u0433\u0434\u0435 \u043E\u043D\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B.",linkNotSupported:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",linkNotSupportedYet:"\u042D\u0442\u0430 \u0441\u0441\u044B\u043B\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0434\u0440\u0443\u0433\u0443\u044E.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",diskNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",releaseDate:"\u0414\u0430\u0442\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",bpm:"BPM",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",recordType:"\u0422\u0438\u043F",genres:"\u0416\u0430\u043D\u0440",tracklist:"\u0422\u0440\u0435\u043A\u043B\u0438\u0441\u0442"}},search:{startSearching:"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0438\u0441\u043A\u0430\u0442\u044C!",description:"\u0417\u0434\u0435\u0441\u044C \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0439\u0442\u0438 \u0442\u0440\u0435\u043A, \u0430\u043B\u044C\u0431\u043E\u043C, \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F, \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442... \u0432\u0441\u0451! \u041C\u043E\u0436\u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 Deezer",fans:"{n} \u043F\u043E\u043A\u043B\u043E\u043D\u043D\u0438\u043A\u043E\u0432",noResults:"\u041D\u0435\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432",noResultsTrack:"\u0422\u0440\u0435\u043A\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsAlbum:"\u0410\u043B\u044C\u0431\u043E\u043C\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",noResultsPlaylist:"\u041F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E"},searchbar:"\u0418\u0449\u0438\u0442\u0435, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 (\u0438\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0441\u0441\u044B\u043B\u043A\u0443)",downloads:"\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",toasts:{restoringQueue:"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0447\u0435\u0440\u0435\u0434\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",queueRestored:"\u041E\u0447\u0435\u0440\u0435\u0434\u044C \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430!",addedToQueue:"{item} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",addedMoreToQueue:"{n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",alreadyInQueue:"{item} \u0443\u0436\u0435 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u0438!",finishDownload:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 {item} \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430.",allDownloaded:"\u0412\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u044B!",refreshFavs:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E!",loggingIn:"\u0412\u0445\u043E\u0434...",loggedIn:"\u0412\u0445\u043E\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",alreadyLogged:"\u0412\u0445\u043E\u0434 \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loginFailed:"\u0412\u0445\u043E\u0434 \u043D\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",loggedOut:"\u0412\u044B \u0432\u044B\u0448\u043B\u0438 \u0438\u0437 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430",cancellingCurrentItem:"\u041E\u0442\u043C\u0435\u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438.",currentItemCancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E.",startAddingArtist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u043B\u044C\u0431\u043E\u043C\u043E\u0432 {artist} \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishAddingArtist:"\u0410\u043B\u044C\u0431\u043E\u043C\u044B {artist} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",startConvertingSpotifyPlaylist:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430 Spotify \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",finishConvertingSpotifyPlaylist:"Spotify \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C",loginNeededToDownload:"\u0412\u043E\u0439\u0434\u0438\u0442\u0435 \u0432 \u0430\u043A\u043A\u0430\u0443\u043D\u0442, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u0442\u0440\u0435\u043A\u0438!",deezerNotAvailable:"Deezer \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0435. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 VPN.",startGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A...",finishGeneratingItems:"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E {n} \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A."},settings:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",languages:"\u042F\u0437\u044B\u043A",login:{title:"\u0412\u0445\u043E\u0434",loggedIn:"\u0412\u044B \u0432\u043E\u0448\u043B\u0438 \u043A\u0430\u043A {username}",arl:{question:"\u041A\u0430\u043A \u0443\u0437\u043D\u0430\u0442\u044C \u0441\u0432\u043E\u0439 ARL?",update:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C ARL"},logout:"\u0412\u044B\u0439\u0442\u0438",login:"\u0412\u043E\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 deezer.com"},appearance:{title:"\u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434",slimDownloadTab:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u043C\u0438",slimSidebar:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u0430\u044F \u043B\u0435\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C"},downloadPath:{title:"\u041F\u0443\u0442\u044C \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F"},templates:{title:"\u0428\u0430\u0431\u043B\u043E\u043D\u044B",tracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",albumTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",playlistTracknameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430"},folders:{title:"\u041F\u0430\u043F\u043A\u0438",createPlaylistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",playlistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",createArtistFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",createAlbumFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumNameTemplate:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",createCDFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0434\u043B\u044F CD",createStructurePlaylist:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",createSingleFolder:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0443 \u043F\u0430\u043F\u043E\u043A \u0434\u043B\u044F \u0441\u0438\u043D\u0433\u043B\u043E\u0432"},trackTitles:{title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u043E\u0432",padTracks:"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C \u043D\u043E\u043B\u044C \u043A \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0442\u0440\u0435\u043A\u043E\u0432 (01, 02, ...)",paddingSize:"\u041A\u043E\u043B-\u0432\u043E \u0446\u0438\u0444\u0440 \u0432 \u043D\u043E\u043C\u0435\u0440\u0435",illegalCharacterReplacer:"\u0417\u0430\u043C\u0435\u043D\u0430 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u0438\u043C\u0435\u043D\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},downloads:{title:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0438",queueConcurrency:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",maxBitrate:{title:"\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u0439 \u0431\u0438\u0442\u0440\u0435\u0439\u0442",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u041D\u0443\u0436\u043D\u043E \u043B\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B?",y:"\u0414\u0430, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0444\u0430\u0439\u043B",n:"\u041D\u0435\u0442, \u043D\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C",t:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u0433\u0438",b:"\u041D\u0435\u0442, \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0430 \u0444\u0430\u0439\u043B\u0430 \u0438 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u043C\u0435\u0440 \u043A \u0434\u0443\u0431\u043B\u0438\u043A\u0430\u0442\u0443",e:"\u041D\u0435\u0442, \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F"},fallbackBitrate:"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441 \u0431\u0438\u0442\u0440\u0435\u0439\u0442\u043E\u043C \u043D\u0438\u0436\u0435, \u0435\u0441\u043B\u0438 \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",fallbackSearch:"\u0418\u0441\u043A\u0430\u0442\u044C \u043F\u043E\u0445\u043E\u0436\u0438\u0439 \u0442\u0440\u0435\u043A, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",logErrors:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433\u0438 \u043E\u0448\u0438\u0431\u043E\u043A",logSearched:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043B\u043E\u0433 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430",createM3U8File:"\u0421\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u043E\u0432",syncedLyrics:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C .lyr \u0444\u0430\u0439\u043B\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u043B\u0438\u0440\u0438\u043A\u0430)",playlistFilenameTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u0430",saveDownloadQueue:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043E\u0447\u0435\u0440\u0435\u0434\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A \u043F\u0440\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},covers:{title:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtwork:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u043E\u0431\u043B\u043E\u0436\u043A\u0438",coverImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u043B\u043E\u0436\u043A\u0438",saveArtworkArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",artistImageTemplate:"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",localArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",embeddedArtworkSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0439 \u0432 \u0442\u0435\u0433\u0438 \u043E\u0431\u043B\u043E\u0436\u043A\u0438",localArtworkFormat:{title:"\u0412 \u043A\u0430\u043A\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u0431\u043B\u043E\u0436\u043A\u0438?",jpg:"jpeg",png:"png",both:"jpeg \u0438 png"},jpegImageQuality:"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E JPEG",embeddedArtworkPNG:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0443\u044E \u043E\u0431\u043B\u043E\u0436\u043A\u0443 \u0432 PNG",embeddedPNGWarning:"PNG \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0431\u0430\u0433\u0438",imageSizeWarning:"\u041E\u0431\u043B\u043E\u0436\u043A\u0438 \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0432\u044B\u0448\u0435 x1200 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0432 Deezer. \u041C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",coverDescriptionUTF8:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043E\u0431\u043B\u043E\u0436\u043A\u0438 \u0432 UTF8 (iTunes Fix)"},tags:{head:"\u041A\u0430\u043A\u0438\u0435 \u0442\u0435\u0433\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C",title:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",artist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C",album:"\u0410\u043B\u044C\u0431\u043E\u043C",cover:"\u041E\u0431\u043B\u043E\u0436\u043A\u0430",trackNumber:"\u041D\u043E\u043C\u0435\u0440 \u0442\u0440\u0435\u043A\u0430",trackTotal:"\u041A\u043E\u043B-\u0432\u043E \u0442\u0440\u0435\u043A\u043E\u0432",discNumber:"\u041D\u043E\u043C\u0435\u0440 \u0434\u0438\u0441\u043A\u0430",discTotal:"\u041A\u043E\u043B-\u0432\u043E \u0434\u0438\u0441\u043A\u043E\u0432",albumArtist:"\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0430\u043B\u044C\u0431\u043E\u043C\u0430",genre:"\u0416\u0430\u043D\u0440",year:"\u0413\u043E\u0434",date:"\u0414\u0430\u0442\u0430",explicit:"\u041C\u0435\u0442\u043A\u0430 \u043E \u043D\u0435\u0446\u0435\u043D\u0437\u0443\u0440\u043D\u043E\u0439 \u043B\u0435\u043A\u0441\u0438\u043A\u0435",isrc:"\u041D\u043E\u043C\u0435\u0440 \u0437\u0430\u043F\u0438\u0441\u0438 (ISRC)",length:"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",barcode:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u0434 \u0430\u043B\u044C\u0431\u043E\u043C\u0430 (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C",lyrics:"\u0422\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",syncedLyrics:"\u0421\u0438\u043D\u0445\u0440\u043E\u043D. \u0442\u0435\u043A\u0441\u0442 \u043F\u0435\u0441\u043D\u0438",copyright:"\u041F\u0440\u0430\u0432\u0430 (\u043A\u043E\u043F\u0438\u0440\u0430\u0439\u0442)",composer:"\u041A\u043E\u043C\u043F\u043E\u0437\u0438\u0442\u043E\u0440",involvedPeople:"\u0412\u043E\u0432\u043B\u0435\u0447\u0451\u043D\u043D\u044B\u0435 \u043B\u044E\u0434\u0438",source:"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438 ID \u043F\u0435\u0441\u043D\u0438"},other:{title:"\u0420\u0430\u0437\u043D\u043E\u0435",savePlaylistAsCompilation:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043F\u043B\u0435\u0439\u043B\u0438\u0441\u0442\u044B \u043A\u0430\u043A \u0441\u0431\u043E\u0440\u043D\u0438\u043A\u0438",useNullSeparator:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C null \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044F",saveID3v1:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C ID3v1",multiArtistSeparator:{title:"\u041A\u0430\u043A \u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439?",nothing:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E",default:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0443\u044E \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044E",andFeat:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F & \u0438 feat.",using:'\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F "{separator}"'},singleAlbumArtist:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F \u0430\u043B\u044C\u0431\u043E\u043C\u0430",albumVariousArtists:'\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C "Various Artists" \u0432 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u0445 \u0430\u043B\u044C\u0431\u043E\u043C\u0430',removeAlbumVersion:'\u0423\u0434\u0430\u043B\u0438\u0442\u044C "Album Version" \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430',removeDuplicateArtists:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0438\u0445\u0441\u044F \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0435\u0439",dateFormat:{title:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B \u0434\u043B\u044F FLAC \u0444\u0430\u0439\u043B\u043E\u0432",year:"\u0413\u0413\u0413\u0413",month:"\u041C\u041C",day:"\u0414\u0414"},featuredToTitle:{title:"\u0427\u0442\u043E \u0434\u0435\u043B\u0430\u0442\u044C \u0441 \u043F\u0440\u0438\u0433\u043B\u0430\u0448\u0451\u043D\u043D\u044B\u043C\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F\u043C\u0438 (feat.)?",0:"\u041D\u0438\u0447\u0435\u0433\u043E",1:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430",3:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0442\u0440\u0435\u043A\u0430 \u0438 \u0430\u043B\u044C\u0431\u043E\u043C\u0430",2:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0442\u0440\u0435\u043A\u0430"},titleCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F",artistCasing:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F",casing:{nothing:"\u041D\u0435 \u043C\u0435\u043D\u044F\u0442\u044C",lower:"\u0432 \u043D\u0438\u0436\u043D\u0435\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435",upper:"\u0412 \u0412\u0415\u0420\u0425\u041D\u0415\u041C \u0420\u0415\u0413\u0418\u0421\u0422\u0420\u0415",start:"\u041A\u0430\u0436\u0434\u043E\u0435 \u0421\u043B\u043E\u0432\u043E \u0421 \u0417\u0430\u0433\u043B\u0430\u0432\u043D\u043E\u0439 \u0411\u0443\u043A\u0432\u044B",sentence:"\u041A\u0430\u043A \u0432 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0438"},previewVolume:"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u0438\u0432\u0430\u043D\u0438\u044F",executeCommand:{title:"\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A",description:"\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0435\u0441\u043B\u0438 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F"}},spotify:{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"\u041A\u0430\u043A \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438 Spotify?"},reset:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",toasts:{init:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B!",update:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B!",ARLcopied:"ARL \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430"}},sidebar:{home:"\u0433\u043B\u0430\u0432\u043D\u0430\u044F",search:"\u043F\u043E\u0438\u0441\u043A",charts:"\u0447\u0430\u0440\u0442\u044B",favorites:"\u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",linkAnalyzer:"\u0430\u043D\u0430\u043B\u0438\u0437 \u0441\u0441\u044B\u043B\u043E\u043A",settings:"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",about:"\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0435"},tracklist:{downloadSelection:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435"}},tr={globals:{welcome:"Deemix'e ho\u015F geldin.",back:"geri",loading:"y\xFCkleniyor",download:"\u0130ndir {thing}",by:"{artist} taraf\u0131ndan",in:"{album} i\xE7inde",download_hint:"\u0130ndir",play_hint:"Oynat",toggle_download_tab_hint:"Geni\u015Flet/Daralt",clean_queue_hint:"Tamamlananlar\u0131 Temizle",cancel_queue_hint:"Hepsini ",listTabs:{empty:"",all:"T\xFCm\xFC",top_result:"top result",album:"alb\xFCm | alb\xFCmler",artist:"sanat\xE7\u0131 | sanat\xE7\u0131lar",single:"single | singlelar",title:"ba\u015Fl\u0131k | ba\u015Fl\u0131klar",track:"Par\xE7a | Par\xE7alar",trackN:"0 par\xE7a | {n} par\xE7a | {n} par\xE7a",releaseN:"0 yay\u0131nlanan | {n} yay\u0131nlanan | {n} yay\u0131nlanan",playlist:"oynatma listesi | oynatma listeleri",compile:"derleme | derlemeler",ep:"kay\u0131t | kay\u0131tlar",spotifyPlaylist:"spotify oynatma listesi | oynatma listeleri",releaseDate:"yay\u0131nlanma tarihi",error:"hata"}},about:{titles:{usefulLinks:"Yararl\u0131 Ba\u011Flant\u0131lar",bugReports:"Hata Raporlar\u0131",contributing:"Katk\u0131 Sa\u011Flayanlar",donations:"Ba\u011F\u0131\u015Flar",license:"Lisans"},subtitles:{bugReports:"Deemix'te \xE7al\u0131\u015Fmayan bir \u015Fey mi var?, Bize bildirin!",contributing:"Projeye katk\u0131 sa\u011Flamak m\u0131 istiyorsun? Farkl\u0131 yollardan sa\u011Flayabilirsin!",donations:"B\xFCt\xE7e yard\u0131m\u0131 m\u0131 yapmak istiyorsun? Ba\u011F\u0131\u015F yapabilirsin!"},usesLibrary:"deemix kendi kullan\u0131c\u0131 arabiriminizi olu\u015Fturabilece\u011Finiz, kendine \xF6zg\xFC k\xFCt\xFCphanesini kullan\u0131yor.",thanks:" rtonno, uhwot ve lollilol'a bu projeye yapt\u0131\u011F\u0131 katk\u0131lardan ve BasCurtiz'e ikonlardan dolay\u0131 te\u015Fekk\xFCr ederim.",upToDate:{text:"{newsChannel} takip ederek g\xFCncellemelerden haberdar olun.",newsChannel:"Telegramdaki haber kanal\u0131n\u0131"},officialWebsite:"\u0130lgili \u0130nternet Sitemiz",officialRepo:"\u0130lgili K\xFCt\xFCphanemiz",officialWebuiRepo:"\u0130lgili Web Kullan\u0131c\u0131 Aray\xFCz\xFC K\xFCt\xFCphanemiz.",officialSubreddit:"\u0130lgili Subreddit adresimiz",newsChannel:"Haber Kanal\u0131",questions:{text:"E\u011Fer uygulama ile ilgili sorular\u0131n\u0131z veya bir probleminiz varsa,ilk \xF6nce {subreddit} sorununuzu aray\u0131n. E\u011Fer bir \u015Fey bulamazsan\u0131z, sorununuz ile ilgili bir g\xF6nderi payla\u015Fabilirsiniz.",subreddit:"subreddit adresinden"},beforeReporting:"Bir hatay\u0131 bildirmeden \xF6nce, uygulaman\u0131n son s\xFCr\xFCm\xFCnde oldu\u011Funuza veya sorunun sizden kaynakl\u0131 olmay\u0131p bir hata oldu\u011Funa emin olduktan sonra emin olun.",beSure:"Hatan\u0131n ba\u015Fka cihazlarda da oldu\u011Funu do\u011Frulay\u0131n ve Bildirilen bir hatay\u0131 tekrar bildirmeyin.",duplicateReports:"Birbirinin ayn\u0131s\u0131 olan hata bildirileri kapat\u0131lacakt\u0131r, o y\xFCzden dikkatli olun.",dontOpenIssues:"Soru sormak i\xE7in hata bildirisi yollamay\u0131n, bunun i\xE7in bir subreddit adresimiz var.",newUI:{text:"E\u011Fer Phython kullanmakta iyiysen, ana k\xFCt\xFCphaneyi kullanan bir kullan\u0131c\u0131 aray\xFCz\xFC yapmay\u0131 deneyebilir, veya k\xFCt\xFCphanedeki hatalar\u0131 d\xFCzeltmek i\xE7in {repo}.",repo:"deposuna de\u011Fi\u015Fiklik iste\u011Fi yollayabilirsin"},acceptFeatures:"Yeni \xF6zellikleri de kabul ediyorum, fakat kar\u0131\u015F\u0131k \u015Feyleri k\xFCt\xFCphaneye de\u011Fil uygulamaya eklendi\u011Fi i\xE7in kabul edemiyorum.",otherLanguages:"E\u011Fer di\u011Fer programlama dillerinde kendine g\xFCveniyorsan, deemix'i farkl\u0131 dillere port etmeye \xE7al\u0131\u015Fabilirsin!",understandingCode:"Kodu anlamak i\xE7in yard\u0131m m\u0131 laz\u0131m? Reddit \xFCzerinden veya Telegramdan RemixDev'e ula\u015F.",contributeWebUI:{text:"E\u011Fer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.",webui:"Web Kullan\u0131c\u0131 Aray\xFCz\xFCne katk\u0131da bulanabilirsin"},itsFree:"Bunun \xFCcretsiz bir proje oldu\u011Funu ve geli\u015Ftiricilerden \xF6nce sevdi\u011Finiz sanat\xE7\u0131lar\u0131 desteklemeniz gerekti\u011Fini unutmay\u0131n.",notObligated:"Kendinizi ba\u011F\u0131\u015F yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!",lincensedUnder:{text:"Bu \xE7al\u0131\u015Fma lisansl\u0131d\u0131r: {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Grafikler",changeCountry:"\xDClke De\u011Fi\u015Ftir",download:"Grafi\u011Fi \u0130ndir"},errors:{title:"{name} Hatal\u0131 bulundu",ids:{invalidURL:"URL ge\xE7ersiz.",unsupportedURL:"URL \u015Fimdilik desteklenmiyor",ISRCnotOnDeezer:"ISRC par\xE7a deezerda bulunmuyor",notYourPrivatePlaylist:"Ba\u015Fkalar\u0131n\u0131n \xF6zel oynatma listelerini indiremezsin.",spotifyDisabled:"Spotify \xD6zellikleri do\u011Fru \u015Fekilde ayarlanmam\u0131\u015F.",trackNotOnDeezer:"Par\xE7a Deezer'da bulunamad\u0131!",albumNotOnDeezer:"Alb\xFCm Deezer'da bulunamad\u0131!",notOnDeezer:"Par\xE7a Deezer'da yok!",notEncoded:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi!",notEncodedNoAlternative:"Par\xE7a hen\xFCz d\xF6n\xFC\u015Ft\xFCr\xFClmedi ve alternatifi bulunamad\u0131!",wrongBitrate:"Par\xE7a, istenen kalitede bulunamad\u0131!",wrongBitrateNoAlternative:"Par\xE7a veya alternatifler istenen kalitede bulunamad\u0131!",no360RA:"Par\xE7a 360 Derece ger\xE7ek\xE7i ses olarak bulunamad\u0131!",notAvailable:"Par\xE7a Deezer sunucular\u0131nda bulunamad\u0131!",notAvailableNoAlternative:"Par\xE7a veya Alternatifleri Deezer sunucular\u0131nda bulunamad\u0131.!"}},favorites:{title:"Favoriler",noPlaylists:"Oynatma listesi bulunamad\u0131.",noAlbums:"Favori alb\xFCmler bulunamad\u0131.",noArtists:"Favori sanat\xE7\u0131lar bulunamad\u0131.",noTracks:"Favori par\xE7alar bulunamad\u0131."},home:{needTologin:"\u0130ndirmeden \xF6nce Deezer hesab\u0131na giri\u015F yapmal\u0131s\u0131n.",openSettings:"Ayarlar\u0131 A\xE7",sections:{popularPlaylists:"Pop\xFCler Oynatma Listeleri",popularAlbums:"En \xE7ok dinlenen alb\xFCmler"}},linkAnalyzer:{info:"\u0130ndirmeye \xE7al\u0131\u015Ft\u0131\u011F\u0131n link hakk\u0131nda daha fazla bilgi i\xE7in buray\u0131 kullanabilirsin.",useful:"Mesela, \xFClkende dinlenebilir olmayan par\xE7alar\u0131n nerelerde var oldu\u011Funu bulmak i\xE7in kullanabilirsin.",linkNotSupported:"Bu link \u015Fimdilik desteklenmemektedir.",linkNotSupportedYet:"Bu link \u015Fimdilik desteklenmiyor gibi duruyor, ba\u015Fkas\u0131n\u0131 analiz etmeyi dene.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"S\xFCre",diskNumber:"S\u0131ra numaras\u0131",trackNumber:"Par\xE7a numaras\u0131",releaseDate:"Yay\u0131nlanma tarihi",bpm:"BPM",label:"Etiketi",recordType:"Kay\u0131t \u015Eekli",genres:"T\xFCr\xFC",tracklist:"Par\xE7a listesi"}},search:{startSearching:"Aramay\u0131 Ba\u015Flat!",description:"Bir par\xE7ay\u0131, t\xFCm alb\xFCm\xFC, bir sanat\xE7\u0131y\u0131, bir oynatma listesini... k\u0131saca her \u015Feyi aratabilirsin! Ayr\u0131ca Deezer Linki de yap\u0131\u015Ft\u0131rabilirsin!",fans:"{n} Hayranlar",noResults:"Sonu\xE7 Bulunamad\u0131",noResultsTrack:"Par\xE7a bulunamad\u0131",noResultsAlbum:"Alb\xFCm bulunamad\u0131",noResultsArtist:"Sanat\xE7\u0131 bulunamad\u0131",noResultsPlaylist:"Oynatma Listesi bulunamad\u0131"},searchbar:"\u0130stedi\u011Fin bir \u015Feyi arat (ya da bir link yap\u0131\u015Ft\u0131r.)",downloads:"\u0130ndirilenler",toasts:{addedToQueue:"{item} kuyru\u011Fa eklendi",alreadyInQueue:"{item} \xE7oktan kuyrukta!",finishDownload:"{item} indirmesi tamamland\u0131.",allDownloaded:"T\xFCm indirmeler tamamland\u0131!",refreshFavs:"Yenileme tamamland\u0131.!",loggingIn:"Giri\u015F yap\u0131l\u0131yor",loggedIn:"Giri\u015F yap\u0131ld\u0131",alreadyLogged:"\xC7oktan giri\u015F yap\u0131ld\u0131",loginFailed:"Giri\u015F yap\u0131lamad\u0131",loggedOut:"Oturum kapat\u0131ld\u0131.",cancellingCurrentItem:"Ge\xE7erli \xF6\u011Fe iptal ediliyor.",currentItemCancelled:"Ge\xE7erli \xF6\u011Fe iptal edildi.",startAddingArtist:"{artist} alb\xFCm kuyru\u011Fa ekleniyor",finishAddingArtist:"{artist} alb\xFCm kuyru\u011Fa eklendi.",startConvertingSpotifyPlaylist:"Spotify par\xE7alar\u0131 deezer par\xE7alar\u0131na d\xF6n\xFC\u015Ft\xFCr\xFCl\xFCyor.",finishConvertingSpotifyPlaylist:"Spotify oynatma listesi d\xF6n\xFC\u015Ft\xFCr\xFCld\xFC."},settings:{title:"Ayarlar",languages:"Diller",login:{title:"Giri\u015F",loggedIn:"{username} olarak giri\u015F yapt\u0131n.",arl:{question:"Kendi ARL'mi nas\u0131l al\u0131r\u0131m?",update:"ARL g\xFCncelle."},logout:"\xC7\u0131k\u0131\u015F"},appearance:{title:"G\xF6r\xFCn\xFCm",slimDownloadTab:"\u0130nce indirme sekmesi"},downloadPath:{title:"\u0130ndirilen dizin"},templates:{title:"\u015Eablonlar",tracknameTemplate:"Par\xE7a ismi \u015Fablonu",albumTracknameTemplate:"Alb\xFCm par\xE7as\u0131 \u015Fablonu",playlistTracknameTemplate:"Oynatma listesi par\xE7a \u015Fablonu"},folders:{title:"Dosyalar",createPlaylistFolder:"Oynatma listesi i\xE7in dosya olu\u015Ftur",playlistNameTemplate:"Oynatma listesi dosyas\u0131 \u015Fablonu",createArtistFolder:"Sanat\xE7\u0131 i\xE7in dosya olu\u015Ftur",artistNameTemplate:"Sanat\xE7\u0131 dosyas\u0131 \u015Fablonu",createAlbumFolder:"Alb\xFCm i\xE7in dosya olu\u015Ftur",albumNameTemplate:"Alb\xFCm dosyas\u0131 \u015Fablonu",createCDFolder:"CDler i\xE7in dosya olu\u015Ftur",createStructurePlaylist:"Oynatma listeleri i\xE7in dosya k\xF6k\xFC olu\u015Ftur",createSingleFolder:"Singlelar i\xE7in dosya k\xF6k\xFC olu\u015Ftur"},trackTitles:{title:"Par\xE7a ba\u015Fl\u0131klar\u0131",padTracks:"\u0130z Numaralar\u0131",paddingSize:"\u0130z Numaralar\u0131n\u0131 de\u011Fi\u015Ftir",illegalCharacterReplacer:"Illegal Karakter D\xFCzenleyici"},downloads:{title:"\u0130ndirilenler",queueConcurrency:"Devam eden indirmeler",maxBitrate:{title:"Tercih edilmi\u015F Bitrateler (kaliteler)",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dosyalar\u0131n \xFCst\xFCne yazmal\u0131 m\u0131y\u0131m?",y:"Evet, \xFCst\xFCne yaz",n:"Hay\u0131r, \xFCst\xFCne yazma",t:"Sadece izleri \xFCst\xFCne yaz"},fallbackBitrate:"Bitrate d\xFC\u015F\xFCrme",fallbackSearch:"D\xFC\u015F\xFCrme ara",logErrors:"Hatalar i\xE7in g\xFCnl\xFCk tut",logSearched:"Aranm\u0131\u015F par\xE7alar i\xE7in g\xFCnl\xFCk tut",createM3U8File:"Oynatma s\u0131ra listesi olu\u015Ftur",syncedLyrics:".lyr dosyalar\u0131 olu\u015Ftur (Senkronize \u015Fark\u0131 s\xF6zleri)",playlistFilenameTemplate:"Oynatma listesi \u015Fablonu",saveDownloadQueue:"Uygulamay\u0131 kapat\u0131rken indirme kuyru\u011Funu kaydet"},covers:{title:"Alb\xFCm kapaklar\u0131",saveArtwork:"Kapaklar\u0131 kaydet",coverImageTemplate:"Kapak ismi \u015Fablonu",saveArtworkArtist:"Sanat\xE7\u0131 foto\u011Fraf\u0131n\u0131 kaydet",artistImageTemplate:"\u015Eark\u0131c\u0131 foto\u011Fraf \u015Fablonu",localArtworkSize:"Yerel foto\u011Fraf boyutu",embeddedArtworkSize:"G\xF6m\xFCl\xFC foto\u011Fraf boyutu",localArtworkFormat:{title:"Yerel foto\u011Fraf\u0131n hangi formatta olmas\u0131n\u0131 istersin?",jpg:"Jpeg dosyas\u0131",png:"Png dosyas\u0131",both:"Her ikisi"},jpegImageQuality:"JPEG g\xF6r\xFCnt\xFC kalitesi"},tags:{head:"Hangi izler kay\u0131t edilsin?",title:"Ba\u015Fl\u0131k",artist:"Sanat\xE7\u0131",album:"Alb\xFCm",cover:"Kapak",trackNumber:"Par\xE7a Numaras\u0131",trackTotal:"T\xFCm Par\xE7a",discNumber:"Plak Say\u0131s\u0131",discTotal:"T\xFCm Plak",albumArtist:"Sanat\xE7\u0131 Alb\xFCm\xFC",genre:"T\xFCr",year:"Y\u0131l",date:"Tarih",explicit:"Cinsel i\xE7erikli \u015Fark\u0131 s\xF6zleri",isrc:"ISRC",length:"Par\xE7a Uzunlu\u011Fu",barcode:"Alb\xFCm Barkodu (UPC)",bpm:"BPM",replayGain:"Ses Y\xFCksekli\u011Fi Normalle\u015Ftirici",label:"Alb\xFCm Etiketi",lyrics:"Senkronize edilmemi\u015F \u015Fark\u0131 s\xF6zleri",copyright:"Telif hakk\u0131",composer:"Besteleyen",involvedPeople:"Alakal\u0131 Ki\u015Filer"},other:{title:"Di\u011Fer",savePlaylistAsCompilation:"Oynatma listelerini derleme olarak kaydet",useNullSeparator:"Bo\u015Fluk ay\u0131r\u0131c\u0131 kullan",saveID3v1:"ID3v1 dosyas\u0131n\u0131 da kaydet",multiArtistSeparator:{title:"Sanat\xE7\u0131lar\u0131n\u0131z\u0131 nas\u0131l ay\u0131rmak istersiniz?",nothing:"Sadece ana sanat\xE7\u0131y\u0131 kaydet",default:"Genel prosed\xFCr uygulans\u0131n",andFeat:"Kullan\u0131lanlar & ve Feat.",using:'Kullan\u0131lan "{separator}"'},singleAlbumArtist:"Sadece ana alb\xFCm sanat\xE7\u0131s\u0131n\u0131 kaydet",albumVariousArtists:'"\xC7e\u015Fitli sanat\xE7\u0131lar"\u0131 sanat\xE7\u0131 alb\xFCmlerinde tut',removeAlbumVersion:'"Alb\xFCm S\xFCr\xFCm\xFC"n\xFC par\xE7a ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart',removeDuplicateArtists:"Sanat\xE7\u0131 toplulu\u011Funu \xE7\u0131kart",dateFormat:{title:"FLAC dosyalar i\xE7in zaman format\u0131",year:"YYYY",month:"AA",day:"GG"},featuredToTitle:{title:"\xD6ne \xE7\u0131kan sanat\xE7\u0131lar\u0131 ne yapmal\u0131y\u0131m?",0:"Elleme",1:"Ba\u015Fl\u0131ktan \xE7\u0131kart",3:"Ba\u015Fl\u0131ktan ve alb\xFCm ba\u015Fl\u0131\u011F\u0131ndan \xE7\u0131kart",2:"Ba\u015Fl\u0131\u011Fa ta\u015F\u0131"},titleCasing:"Alb\xFCm harfi",artistCasing:"Sanat\xE7\u0131 harfi",casing:{nothing:"De\u011Fi\u015Ftirmeden b\u0131rak",lower:"k\xFC\xE7\xFCk harf",upper:"B\xDCY\xDCK HARF",start:"Kelimenin ba\u015F\u0131 ile ba\u015Fla",sentence:"C\xFCmle gibi yap"},previewVolume:"Ses \xF6nizlemesi",executeCommand:{title:"\u0130ndirdikten sonra komut uygula",description:"Bir \u015Fey yapmamak i\xE7in bo\u015F b\u0131rak"}},spotify:{title:"Spotify \xD6zelli\u011Fi",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify Kullan\u0131c\u0131 Ad\u0131"},reset:"Varsay\u0131lana s\u0131f\u0131rla",save:"Kaydet",toasts:{init:"Ayarlar y\xFCklendi!",update:"Ayarlar g\xFCncellendi!",ARLcopied:"ARL panoya kopyaland\u0131!"}},sidebar:{home:"Ana sayfa",search:"Ara",charts:"Grafikler",favorites:"Favoriler",linkAnalyzer:"Link Analiz\xF6r\xFC",settings:"Ayarlar",about:"Hakk\u0131nda"},tracklist:{downloadSelection:"\u0130ndirme b\xF6l\xFCm\xFC"}},vn={globals:{welcome:"Ch\xE0o m\u1EEBng \u0111\u1EBFn v\u1EDBi deemix",back:"tr\u1EDF l\u1EA1i",loading:"\u0111ang t\u1EA3i",download:"T\u1EA3i xu\u1ED1ng {thing}",by:"b\u1EDFi {artist}",in:"trong {album}",download_hint:"T\u1EA3i xu\u1ED1ng",play_hint:"Ph\xE1t",toggle_download_tab_hint:"M\u1EDF r\u1ED9ng/Gi\u1EA5u",clean_queue_hint:"X\xF3a nh\u1EEFng file \u0111\xE3 t\u1EA3i xong",cancel_queue_hint:"H\u1EE7y t\u1EA5t c\u1EA3",listTabs:{empty:"",all:"t\u1EA5t c\u1EA3",top_result:"k\u1EBFt qu\u1EA3 h\xE0ng \u0111\u1EA7u",album:"album | album",artist:"Ngh\u1EC7 s\u0129 | Ngh\u1EC7 s\u0129",single:"\u0111\u01A1n | \u0111\u01A1n",title:"ti\xEAu \u0111\u1EC1 | ti\xEAu \u0111\u1EC1",track:"B\xE0i h\xE1t | B\xE0i h\xE1t",trackN:"0 B\xE0i h\xE1t | {n} B\xE0i h\xE1t | {n} B\xE0i h\xE1t",releaseN:"0 s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m | {n} s\u1EA3n ph\u1EA9m",playlist:"playlist | playlist",compile:"t\u1ED5ng h\u1EE3p | t\u1ED5ng h\u1EE3p",ep:"ep | ep",spotifyPlaylist:"playlist c\u1EE7a spotify | playlist c\u1EE7a spotify",releaseDate:"ng\xE0y ph\xE1t h\xE0nh",error:"l\u1ED7i"}},about:{titles:{usefulLinks:"Link h\u1EEFu d\u1EE5ng",bugReports:"B\xE1o l\u1ED7i",contributing:"\u0110\xF3ng g\xF3p",donations:"Quy\xEAn g\xF3p",license:"B\u1EB1ng ph\xE9p"},subtitles:{bugReports:"B\u1EA1n th\u1EA5y c\xF3 g\xEC \u0111\xF3 kh\xF4ng ho\u1EA1t \u0111\u1ED9ng trong deemix? Xin h\xE3y b\xE1o v\u1EDBi ch\xFAng t\xF4i!",contributing:"B\u1EA1n mu\u1ED1n \u0111\xF3ng g\xF3p cho d\u1EF1 \xE1n n\xE0y? B\u1EA1n c\xF3 th\u1EC3 l\xE0m \u0111i\u1EC1u \u0111\xF3 v\u1EDBi nhi\u1EC1u c\xE1ch kh\xE1c nhau!",donations:"B\u1EA1n mu\u1ED1n \u1EE7ng h\u1ED9 kinh ph\xED? B\u1EA1n c\xF3 th\u1EC3 quy\xEAn g\xF3p t\u1EA1i \u0111\xE2y!"},usesLibrary:"\u1EE8ng d\u1EE5ng n\xE0y s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n deemix, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng n\xF3 \u0111\u1EC3 t\u1EA1o m\u1ED9t UI ri\xEAng cho deemix.",thanks:"C\u1EA3m \u01A1n rtonno, uhwot v\xE0 lollilol \u0111\xE3 gi\xFAp t\xF4i v\u1EDBi d\u1EF1 \xE1n n\xE0y v\xE0 BasCurtiz v\u1EDBi vi\u1EC7c thi\u1EBFt k\u1EBF bi\u1EC3u t\u01B0\u1EE3ng.",upToDate:{text:"C\u1EADp nh\u1EADt app b\u1EB1ng c\xE1ch theo d\xF5i {newsChannel} tr\xEAn Telegram.",newsChannel:"k\xEAnh tin t\u1EE9c"},officialWebsite:"Website ch\xEDnh th\u1EE9c",officialRepo:"Repo th\u01B0 vi\u1EC7n ch\xEDnh th\u1EE9c",officialWebuiRepo:"Repo WebUI ch\xEDnh th\u1EE9c",officialSubreddit:"Subreddit ch\xEDnh th\u1EE9c",newsChannel:"K\xEAnh tin t\u1EE9c",questions:{text:"N\u1EBFu b\u1EA1n c\xF3 c\xE2u h\u1ECFi ho\u1EB7c v\u1EA5n \u0111\u1EC1 v\u1EC1 \u1EE9ng d\u1EE5ng n\xE0y, xin h\xE3y t\xECm gi\u1EA3i ph\xE1p tr\xEAn {subreddit} tr\u01B0\u1EDBc. Sau \u0111\xF3, n\u1EBFu b\u1EA1n kh\xF4ng t\xECm \u0111\u01B0\u1EE3c g\xEC th\xEC b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t b\xE0i \u0111\u0103ng v\u1EC1 v\u1EA5n \u0111\u1EC1 c\u1EE7a b\u1EA1n tr\xEAn subreddit d\xF3.",subreddit:"subreddit"},beforeReporting:"Tr\u01B0\u1EDBc khi b\xE1o l\u1ED7i h\xE3y \u0111\u1EA3m b\u1EA3o b\u1EA1n \u0111ang s\u1EED d\u1EE5ng phi\xEAn b\u1EA3n m\u1EDBi nh\u1EA5t c\u1EE7a \u1EE9ng d\u1EE5ng v\xE0 l\u1ED7i b\u1EA1n \u0111ang g\u1EB7p kh\xF4ng ph\u1EA3i l\xE0 do b\u1EA1n.",beSure:"H\xE3y \u0111\u1EA3m b\u1EA3o l\xE0 l\u1ED7i n\xE0y v\u1EABn c\xF3 th\u1EC3 x\u1EA3y ra tr\xEAn c\xE1c thi\u1EBFt b\u1ECB kh\xE1c v\xE0 XIN \u0110\u1EEANG b\xE1o l\u1ED7i \u0111\xE3 \u0111\u01B0\u1EE3c b\xE1o r\u1ED3i.",duplicateReports:"Nh\u1EEFng b\u1EA3n b\xE1o l\u1ED7i tr\xF9ng nhau s\u1EBD b\u1ECB \u0111\xF3ng, xin b\u1EA1n h\xE3y \u0111\u1EC3 \xFD \u0111i\u1EC1u n\xE0y.",dontOpenIssues:"XIN \u0110\u1EEANG m\u1EDF v\u1EA5n \u0111\u1EC1 \u0111\u1EC3 h\u1ECFi, b\u1EA1n c\xF3 th\u1EC3 d\xF9ng subreddit tr\xEAn cho vi\u1EC7c \u0111\xF3.",newUI:{text:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi python b\u1EA1n c\xF3 th\u1EC3 t\u1EA1o m\u1ED9t UI m\u1EDBi b\u1EB1ng c\xE1ch s\u1EED d\u1EE5ng th\u01B0 vi\u1EC7n g\u1ED1c, ho\u1EB7c s\u1EEDa l\u1ED7i trong th\u01B0 vi\u1EC7n \u0111\xF3 v\u1EDBi m\u1ED9t pull request tr\xEAn {repo}.",repo:"repo n\xE0y"},acceptFeatures:"T\xF4i c\xF3 ch\u1EA5p nh\u1EADn y\xEAu c\u1EA7u v\u1EC1 t\xEDnh n\u0103ng m\u1EDBi nh\u01B0ng kh\xF4ng qu\xE1 ph\u1EE9c t\u1EA1p b\u1EDFi v\xEC ch\xFAng c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c tri\u1EC3n khai tr\u1EF1c ti\u1EBFp v\xE0o \u1EE9ng d\u1EE5ng thay v\xEC v\xE0o th\u01B0 vi\u1EC7n.",otherLanguages:"N\u1EBFu b\u1EA1n th\xE0nh th\u1EA1o v\u1EDBi m\u1ED9t ng\xF4n ng\u1EEF kh\xE1c, b\u1EA1n c\xF3 th\u1EC3 port deemix sang ng\xF4n ng\u1EEF \u0111\xF3!",understandingCode:"B\u1EA1n mu\u1ED1n hi\u1EC3u code c\u1EE7a deemix? Xin h\xE3y li\xEAn l\u1EA1c RemixDev tr\xEAn Telegram ho\u1EB7c Reddit.",contributeWebUI:{text:"N\u1EBFu b\u1EA1n bi\u1EBFt Vue.js (JavaScript), HTML ho\u1EB7c CSS, b\u1EA1n c\xF3 th\u1EC3 g\xF3p ph\u1EA7n ph\xE1t tri\u1EC3n {webui}.",webui:"WebUI"},itsFree:"B\u1EA1n n\xEAn nh\u1EDB r\u1EB1ng \u0111\xE2y l\xE0 m\u1ED9t d\u1EF1 \xE1n phi l\u1EE3i nhu\u1EADn v\xE0 b\u1EA1n n\xEAn \u1EE7ng h\u1ED9 nh\u1EEFng Ngh\u1EC7 s\u0129 y\xEAu th\xEDch c\u1EE7a b\u1EA1n tr\u01B0\u1EDBc khi \u1EE7ng h\u1ED9 nh\xE0 ph\xE1t tri\u1EC3n.",notObligated:"\u0110\u1EEBng ngh\u0129 r\u1EB1ng b\u1EA1n ph\u1EA3i \u0111\xF3ng g\xF3p ti\u1EC1n, t\xF4i v\u1EABn s\u1EBD r\u1EA5t bi\u1EBFt \u01A1n b\u1EA1n!",lincensedUnder:{text:"D\u1EF1 \xE1n n\xE0y \u0111\u01B0\u1EE3c c\u1EA5p ph\xE9p b\u1EDFi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"B\u1EA3ng x\u1EBFp h\u1EA1ng",changeCountry:"Thay \u0111\u1ED5i qu\u1ED1c gia",download:"T\u1EA3i xu\u1ED1ng b\u1EA3ng x\u1EBFp h\u1EA1ng n\xE0y"},errors:{title:"L\u1ED7i {name}",ids:{invalidURL:"Kh\xF4ng nh\u1EADn di\u1EC7n \u0111\u01B0\u1EE3c URL",unsupportedURL:"URL n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",ISRCnotOnDeezer:"ISRC c\u1EE7a b\xE0i h\xE1t n\xE0y hi\u1EC7n kh\xF4ng c\xF3 tr\xEAn Deezer",notYourPrivatePlaylist:"B\u1EA1n kh\xF4ng th\u1EC3 t\u1EA3i xu\u1ED1ng playlist ri\xEAng c\u1EE7a ng\u01B0\u1EDDi kh\xE1c.",spotifyDisabled:"Ch\u1EE9c n\u0103ng Spotify ch\u01B0a \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp \u0111\xFAng c\xE1ch.",trackNotOnDeezer:"B\xE0i h\xE1t kh\xF4ng c\xF3 tr\xEAn Deezer!",albumNotOnDeezer:"Album kh\xF4ng c\xF3 tr\xEAn Deezer!",notOnDeezer:"B\xE0i h\xE1t ch\u01B0a c\xF3 tr\xEAn Deezer!",notEncoded:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode!",notEncodedNoAlternative:"B\xE0i h\xE1t ch\u01B0a \u0111\u01B0\u1EE3c encode v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",wrongBitrate:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n.",wrongBitrateNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF bitrate b\u1EA1n mu\u1ED1n v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!",no360RA:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 \u1EDF d\u1EA1ng Reality Audio 360.",notAvailable:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer!",notAvailableNoAlternative:"B\xE0i h\xE1t n\xE0y kh\xF4ng c\xF3 tr\xEAn server c\u1EE7a Deezer v\xE0 kh\xF4ng c\xF3 b\u1EA3n thay th\u1EBF n\xE0o kh\xE1c!"}},favorites:{title:"Y\xEAu th\xEDch",noPlaylists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Playlist",noAlbums:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Album Y\xEAu th\xEDch",noArtists:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c Ngh\u1EC7 s\u0129 Y\xEAu th\xEDch",noTracks:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c B\xE0i h\xE1t Y\xEAu th\xEDch"},home:{needTologin:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Deezer tr\u01B0\u1EDBc khi b\u1EAFt \u0111\u1EA7u t\u1EA3i xu\u1ED1ng.",openSettings:"M\u1EDF C\xE0i \u0111\u1EB7t",sections:{popularPlaylists:"Playlist N\u1ED5i ti\u1EBFng",popularAlbums:"Album \u0111\u01B0\u1EE3c stream nhi\u1EC1u nh\u1EA5t"}},linkAnalyzer:{info:"B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng ch\u1EE9c n\u0103ng n\xE0y \u0111\u1EC3 ki\u1EBFm th\xEAm th\xF4ng tin v\u1EC1 \u0111\u01B0\u1EDDng link m\xE0 b\u1EA1n mu\u1ED1n t\u1EA3i xu\u1ED1ng.",useful:"Ch\u1EE9c n\u0103ng n\xE0y r\u1EA5t h\u1EEFu d\u1EE5ng n\u1EBFu b\u1EA1n mu\u1ED1n t\u1EA3i c\xE1c b\xE0i h\xE1t hi\u1EC7n kh\xF4ng c\xF3 s\u1EB5n \u1EDF qu\u1ED1c gia c\u1EE7a b\u1EA1n v\xE0 mu\u1ED1n bi\u1EBFt c\xE1c qu\u1ED1c gia \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3.",linkNotSupported:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",linkNotSupportedYet:"\u0110\u01B0\u1EDDng link n\xE0y ch\u01B0a \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3, xin h\xE3y th\u1EED l\u1EA1i v\u1EDBi m\u1ED9t \u0111\u01B0\u1EDDng link kh\xE1c.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Th\u1EDDi l\u01B0\u1EE3ng",diskNumber:"S\u1ED1 \u0111\u0129a",trackNumber:"S\u1ED1 b\xE0i h\xE1t",releaseDate:"Ng\xE0y ph\xE1t h\xE0nh",bpm:"BPM",label:"H\xE3ng",recordType:"Lo\u1EA1i Thu \xE2m",genres:"Th\u1EC3 lo\u1EA1i",tracklist:"Danh s\xE1ch c\xE1c b\xE0i h\xE1t"}},search:{startSearching:"B\u1EAFt \u0111\u1EA7u t\xECm ki\u1EBFm!",description:"B\u1EA1n c\xF3 th\u1EC3 t\xECm m\u1ED9t b\xE0i h\xE1t, album, ngh\u1EC7 s\u0129, playlist, v.v...! B\u1EA1n c\u0169ng c\xF3 th\u1EC3 d\xF9ng link c\u1EE7a Deezer",fans:"{n} ng\u01B0\u1EDDi h\xE2m m\u1ED9",noResults:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",noResultsTrack:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c b\xE0i h\xE1t n\xE0o",noResultsAlbum:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c album n\xE0o",noResultsArtist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c ngh\u1EC7 s\u0129 n\xE0o",noResultsPlaylist:"Kh\xF4ng t\xECm \u0111\u01B0\u1EE3c playlist n\xE0o"},searchbar:"T\xECm nh\u1EEFng g\xEC b\u1EA1n mu\u1ED1n (b\u1EA1n c\u0169ng c\xF3 th\u1EC3 s\u1EEF d\u1EE5ng m\u1ED9t \u0111\u01B0\u1EDDng link)",downloads:"T\u1EA3i xu\u1ED1ng",toasts:{addedToQueue:"{item} \u0111\xE3 \u0111\u01B0\u1EE3c \u0111\u01B0a v\xE0o h\xE0ng ch\u1EDD",alreadyInQueue:"{item} \u0111\xE3 \u0111ang trong h\xE0ng ch\u1EDD!",finishDownload:"{item} \u0111\xE3 t\u1EA3i xong.",allDownloaded:"T\u1EA5t c\u1EA3 c\xE1c b\xE0i h\xE1t \u0111\xE3 \u0111\u01B0\u1EE3c t\u1EA3i xu\u1ED1ng!",refreshFavs:"T\u1EA3i l\u1EA1i ho\xE0n t\u1EA5t!",loggingIn:"\u0110ang \u0111\u0103ng nh\u1EADp",loggedIn:"\u0110\u0103ng nh\u1EADp th\xE0nh c\xF4ng",alreadyLogged:"\u0110\xE3 \u0111\u0103ng nh\u1EADp",loginFailed:"Kh\xF4ng th\u1EC3 \u0111\u0103ng nh\u1EADp",loggedOut:"\u0110\u0103ng xu\u1EA5t",cancellingCurrentItem:"\u0110ang h\u1EE7y file hi\u1EC7n t\u1EA1i.",currentItemCancelled:"File hi\u1EC7n t\u1EA1i \u0111\xE3 b\u1ECB h\u1EE7y.",startAddingArtist:"\u0110ang \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",finishAddingArtist:"\u0110\xE3 \u0111\u01B0a {artist} album v\xE0o h\xE0ng ch\u1EDD",startConvertingSpotifyPlaylist:"\u0110ang chuy\u1EC3n \u0111\u1ED5i c\xE1c b\xE0i h\xE1t t\u1EEB Spotify sang Deezer",finishConvertingSpotifyPlaylist:"Playlist c\u1EE7a Spotify \u0111\xE3 \u0111\u01B0\u1EE3c chuy\u1EC3n \u0111\u1ED5i",loginNeededToDownload:"B\u1EA1n c\u1EA7n ph\u1EA3i \u0111ang nh\u1EADp \u0111\u1EC3 t\u1EA3i nh\u1EA1c!"},settings:{title:"C\xE0i \u0111\u1EB7t",languages:"Ng\xF4n ng\u1EEF",login:{title:"\u0110\u0103ng nh\u1EADp",loggedIn:"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp v\u1EDBi t\xEAn {username}",arl:{question:"L\xE0m c\xE1ch n\xE0o \u0111\u1EC3 c\xF3 ARL c\u1EE7a t\xF4i?",update:"C\u1EADp nh\u1EADt ARL"},logout:"\u0110\u0103ng xu\u1EA5t"},appearance:{title:"Giao di\u1EC7n",slimDownloadTab:"Thanh t\u1EA3i xu\u1ED1ng nh\u1ECF"},downloadPath:{title:"N\u01A1i t\u1EA3i xu\u1ED1ng"},templates:{title:"B\u1EA3n m\u1EABu",tracknameTemplate:"B\xE0i h\xE1t m\u1EABu",albumTracknameTemplate:"B\xE0i h\xE1t trong album m\u1EABu",playlistTracknameTemplate:"B\xE0i h\xE1t trong playlist m\u1EABu"},folders:{title:"Th\u01B0 m\u1EE5c",createPlaylistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho playlist",playlistNameTemplate:"Th\u01B0 m\u1EE5c playlist m\u1EABu",createArtistFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho ngh\u1EC7 s\u0129",artistNameTemplate:"Th\u01B0 m\u1EE5c Ngh\u1EC7 s\u0129 m\u1EABu",createAlbumFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho album",albumNameTemplate:"Th\u01B0 m\u1EE5c cho album m\u1EABu",createCDFolder:"T\u1EA1o th\u01B0 m\u1EE5c cho \u0111\u0129a CD",createStructurePlaylist:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho playlist",createSingleFolder:"T\u1EA1o th\u01B0 m\u1EE5c c\xF3 k\u1EBFt c\u1EA5u cho \u0111\u0129a \u0111\u01A1n"},trackTitles:{title:"T\xEAn b\xE0i h\xE1t",padTracks:"\u0110\u1EC7m t\xEAn b\xE0i h\xE1t",paddingSize:"Gh\xEC \u0111\xE8 k\xEDch c\u1EE1 ph\u1EA7n \u0111\u1EC7m",illegalCharacterReplacer:"Thay c\xE1c k\xED t\u1EF1 kh\xF4ng h\u1EE3p l\u1EC7 v\u1EDBi"},downloads:{title:"T\u1EA3i xu\u1ED1ng",queueConcurrency:"S\u1ED1 l\u01B0\u1EE3ng t\u1EA3i xu\u1ED1ng c\xF9ng l\xFAc",maxBitrate:{title:"Bitrate \u01B0a th\xEDch",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"T\xF4i c\xF3 n\xEAn ghi \u0111\xE8 file n\xE0y kh\xF4ng?",y:"C\xF3, h\xE3y ghi \u0111\xE8 file n\xE0y",n:"Kh\xF4ng, \u0111\u1EEBng ghi \u0111\xE8 file n\xE0y",t:"Ch\u1EC9 ghi \u0111\xE8 c\xE1c tag"},fallbackBitrate:"Bitrate d\u1EF1 ph\xF2ng",fallbackSearch:"Search d\u1EF1 ph\xF2ng",logErrors:"T\u1EA1o file log khi c\xF3 l\u1ED7i",logSearched:"T\u1EA1o file log khi b\u1EA1n t\xECm B\xE0i h\xE1t",createM3U8File:"T\u1EA1o file playlist",syncedLyrics:"T\u1EA1o file .lyr (L\u1EDDi B\xE0i h\xE1t)",playlistFilenameTemplate:"T\xEAn playlist m\u1EABu",saveDownloadQueue:"L\u01B0u h\xE0ng ch\u1EDD download khi \u0111\xF3ng \u1EE9ng d\u1EE5ng"},covers:{title:"B\xECa album",saveArtwork:"L\u01B0u b\xECa",coverImageTemplate:"T\xEAn b\xECa m\u1EABu",saveArtworkArtist:"L\u01B0u h\xECnh Ngh\u1EC7 s\u0129",artistImageTemplate:"H\xECnh ngh\u1EC7 s\u0129 m\u1EABu",localArtworkSize:"K\xEDch c\u1EE1 file b\xECa",embeddedArtworkSize:"K\xEDch c\u1EE1 b\xECa trong file b\xE0i h\xE1t",localArtworkFormat:{title:"B\u1EA1n mu\u1ED1n file b\xECa \u1EDF \u0111\u1ECBnh d\u1EA1ng n\xE0o?",jpg:"jpg",png:"png",both:"C\u1EA3 jpg v\xE0 png"},jpegImageQuality:"Ch\u1EA5t l\u01B0\u1EE3ng file JPEG"},tags:{head:"Nh\u1EEFng tag s\u1EBD \u0111\u01B0\u1EE3c l\u01B0u",title:"Ti\xEAu \u0111\u1EC1",artist:"Ngh\u1EC7 s\u0129",album:"Album",cover:"B\xECa",trackNumber:"S\u1ED1 b\xE0i h\xE1t",trackTotal:"T\u1ED5ng s\u1ED1 b\xE0i h\xE1t",discNumber:"S\u1ED1 \u0111\u0129a",discTotal:"T\u1ED5ng s\u1ED1 \u0111\u0129a",albumArtist:"Ngh\u1EC7 s\u0129 c\u1EE7a album",genre:"Th\u1EC3 lo\u1EA1i",year:"N\u0103m",date:"Ng\xE0y",explicit:"L\u1EDDi explicit",isrc:"ISRC",length:"Th\u1EDDi l\u01B0\u1EE3ng",barcode:"M\xE3 v\u1EA1ch c\u1EE7a album (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Nh\xE3n hi\u1EC7u album",lyrics:"L\u1EDDi",copyright:"B\u1EA3n quy\u1EC1n",composer:"Nh\xE0 so\u1EA1n nh\u1EA1c",involvedPeople:"Nh\u1EEFng ng\u01B0\u1EDDi li\xEAn quan"},other:{title:"Kh\xE1c",savePlaylistAsCompilation:"L\u01B0u playlist d\u01B0\u1EDBi d\u1EA1ng tuy\u1EC3n t\u1EADp",useNullSeparator:"D\xF9ng d\u1EA3i ph\xE2n c\xE1ch null",saveID3v1:"L\u01B0u ID3v1",multiArtistSeparator:{title:"B\u1EA1n mu\u1ED1n ph\xE2n c\xE1ch c\xE1c ngh\u1EC7 s\u0129 nh\u01B0 th\u1EBF n\xE0o?",nothing:"Ch\u1EC9 l\u01B0u ngh\u1EC7 s\u0129 ch\xEDnh",default:"D\xF9ng quy c\xE1ch ti\xEAu chu\u1EA9n",andFeat:"D\xF9ng & v\xE0 feat.",using:'D\xF9ng "{separator}"'},singleAlbumArtist:"Ch\u1EC9 l\u01B0u Ngh\u1EC7 s\u0129 Album ch\xEDnh",albumVariousArtists:'Gi\u1EEF nguy\xEAn "Nhi\u1EC1u Ngh\u1EC7 s\u0129" trong Ngh\u1EC7 s\u0129 Album',removeAlbumVersion:'B\u1ECF "Phi\xEAn b\u1EA3n Album" kh\u1ECFi t\xEAn b\xE0i h\xE1t',removeDuplicateArtists:"B\u1ECF c\xE1c t\xEAn ngh\u1EC7 s\u0129 ph\u1ED1i h\u1EE3p",dateFormat:{title:"\u0110\u1ECBnh d\u1EA1ng ng\xE0y cho file FLAC ",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"T\xF4i n\xEAn l\xE0m g\xEC v\u1EDBi c\xE1c ngh\u1EC7 s\u0129 \u0111\xF3ng g\xF3p?",0:"Kh\xF4ng l\xE0m g\xEC c\u1EA3",1:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t",3:"B\u1ECF ch\xFAng kh\u1ECFi t\xEAn b\xE0i h\xE1t v\xE0 t\xEAn album",2:"\u0110\u01B0a ch\xFAng v\xE0o t\xEAn b\xE0i h\xE1t"},titleCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn b\xE0i h\xE1t",artistCasing:"\u0110\u1ECBnh d\u1EA1ng t\xEAn ngh\u1EC7 s\u0129",casing:{nothing:"Kh\xF4ng \u0111\u1ED5i",lower:"ch\u1EEF th\u01B0\u1EDDng",upper:"CH\u1EEE HOA",start:"Vi\u1EBFt Hoa \u1EDE Ch\u1EEF C\xE1i \u0110\u1EA7u Ti\xEAn C\u1EE7a M\u1ED7i T\u1EEB",sentence:"Nh\u01B0 m\u1ED9t c\xE2u"},previewVolume:"\xC2m l\u01B0\u1EE3ng nghe th\u1EED",executeCommand:{title:"Th\u1EF1c hi\u1EC7n nh\u1EEFng l\u1EC7nh n\xE0y khi \u0111\xE3 t\u1EA3i xu\u1ED1ng xong",description:"\u0110\u1EC3 tr\u1ED1ng n\u1EBFu b\u1EA1n kh\xF4ng mu\u1ED1n th\u1EF1c hi\u1EC7n l\u1EC7nh n\xE0o"}},spotify:{title:"Ch\u1EE9c n\u0103ng Spotify",clientID:"ClientID c\u1EE7a Spotify",clientSecret:"Client Secret c\u1EE7a Spotify",username:"T\xEAn t\xE0i kho\u1EA3n c\u1EE7a Spotify"},reset:"Quay tr\u1EDF l\u1EA1i c\xE0i \u0111\u1EB7t m\u1EB7c \u0111\u1ECBnh",save:"L\u01B0u",toasts:{init:"C\xE0i \u0111\u1EB7t \u0111\xE3 \u0111\u01B0\u1EE3c thi\u1EBFt l\u1EADp!",update:"C\xE0i \u0111\u1EB7t c\u1EADp nh\u1EADt th\xE0nh c\xF4ng!",ARLcopied:"ARL \u0111\xE3 \u0111\u01B0\u1EE3c sao ch\xE9p v\xE0o clipboard"}},sidebar:{home:"trang ch\u1EE7",search:"t\xECm ki\u1EBFm",charts:"b\u1EA3ng x\u1EBFp h\u1EA1ng",favorites:"y\xEAu th\xEDch",linkAnalyzer:"ph\xE2n t\xEDch link",settings:"c\xE0i \u0111\u1EB7t",about:"th\xF4ng tin"},tracklist:{downloadSelection:"T\u1EA3i xu\u1ED1ng nh\u1EEFng m\u1EE5c \u0111\xE3 ch\u1ECDn"}},hr={globals:{welcome:"Dobrodo\u0161li u deemix",back:"nazad",loading:"u\u010Ditavanje",download:"Preuzmi {thing}",by:"by {artist}",in:"u {album}",download_hint:"Preuzmi",play_hint:"Play",toggle_download_tab_hint:"Pro\u0161iri/Smanji",clean_queue_hint:"\u010Ci\u0161\u0107enje zavr\u0161eno",cancel_queue_hint:"Zaustavi sve",listTabs:{empty:"",all:"sve",top_result:"Najbolji rezultat",album:"album | albumi",artist:"izvo\u0111a\u010D | izvo\u0111a\u010Di",single:"singl | singlovi",title:"naslov | naslovi",track:"pjesma | pjesme",trackN:"0 pjesmi | {n} pjesma | {n} pjesme",releaseN:"0 izdanja | {n} izdanje | {n} izdanja",playlist:"playlista | playliste",compile:"kompilacija | kompilacije",ep:"ep | eps",spotifyPlaylist:"spotify playlista | spotify playliste",releaseDate:"datum izdavanja",error:"gre\u0161ka"}},about:{titles:{usefulLinks:"Korisne poveznice",bugReports:"Prijave gre\u0161aka",contributing:"Doprinosi",donations:"Donacije",license:"Licenca"},subtitles:{bugReports:"Postoji ne\u0161to \u0161to ne radi u deemixu? Reci nam!",contributing:"\u017Deli\u0161 doprinijeti ovom projektu? Mo\u017Ee\u0161 i to \u010Dak u vi\u0161e na\u010Dina!",donations:"\u017Deli\u0161 doprijeniti odmah? Mo\u017Ee\u0161 donirati!"},usesLibrary:"Ova aplikacija koristi deemix biblioteku, koju mo\u017Ee\u0161 koristiti i ti kako bi napravio svoj UI za demix.",thanks:"Hvala rtonno, uhwot i lollilol \u0161to su mi pomogli s ovim projektom te BasCurtiz \u0161to su napravili ikonu.",upToDate:{text:"Ostani u tijeku s nadogradnjama prate\u0107i {newsChannel} na Telegramu.",newsChannel:"kanal s novostima"},officialWebsite:"Slu\u017Ebena web stranica",officialRepo:"Slu\u017Ebeni repozitorij biblioteke",officialWebuiRepo:"Slu\u017Ebeni WebUI repozitorij",officialSubreddit:"Slu\u017Ebeni subreddit",newsChannel:"Kanal s novostima",questions:{text:"Ukoliko imate pitanja o aplikaciji, prvo potra\u017Eite rije\u0161enje na {subreddit}. Tada, ako ne prona\u0111ete ni\u0161ta, mo\u017Eete objaviti svoj problem na subredditu.",subreddit:"subreddit"},beforeReporting:"Prije prijavljivanja gre\u0161ke provjerite imate li instaliranu zadnju verziju aplikacije i da to \u0161to \u017Eelite prijaviti je ustvari pogre\u0161ka, a ne ne\u0161to \u0161to samo vama ne radi.",beSure:"Provjerite mo\u017Ee li se pogre\u0161ka reproducirati i na drugim ure\u0111ajima i tako\u0111er NEMOJTE prijavljivati gre\u0161ku ako je ve\u0107 prijavljena.",duplicateReports:"Duplicirane prijave o gre\u0161ki bit \u0107e zatvorene, tako da pripazite na to.",dontOpenIssues:"NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.",newUI:{text:"Ako ste vje\u0161ti u pythonu mo\u017Eete probati napraviti novi UI za aplikaciju koriste\u0107i osnovnu biblioteku ili ispraviti pogre\u0161ku u biblioteci sa pull zahtjevom na {repo}.",repo:"repozitoriju"},acceptFeatures:"Prihava\u0107am i zna\u010Dajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.",otherLanguages:"Ako ste vje\u0161ti u drugom programskom jezikumo\u017Eete probati portati deemix u drugi programski jezik!",understandingCode:"Trebate pomo\u0107 s razumijevanjem koda? Samo potra\u017Ei RemixDev na Telegramu ili Redditu.",contributeWebUI:{text:"Ako zna\u0161 Vue.js (JavaScript), HTML ili CSS mo\u017Eete doprinijeti za {webui}.",webui:"WebUI"},itsFree:"Trebate zapamtiti da je ovo besplatni projekt i trebali biste podr\u017Eati autore koje volite prije podr\u017Eavanja developera.",notObligated:"Nemojte se osje\u0107ati obveznim darivati, svejedno vas cijenim!",lincensedUnder:{text:"Ovaj rad licenciran je unutar {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Ljestvice",changeCountry:"Promijeni dr\u017Eavu",download:"Preuzmi ljestvicu"},errors:{title:"Gre\u0161ke za {name}",ids:{invalidURL:"URL nije prepoznat",unsupportedURL:"URL jo\u0161 nije podr\u017Ean",ISRCnotOnDeezer:"Zapis ISRC jo\u0161 nije podr\u017Ean na Deezeru",notYourPrivatePlaylist:"Ne mo\u017Eete preuzeti tu\u0111e privatne playliste.",spotifyDisabled:"Spotify zna\u010Dajke nisu pode\u0161ene ispravno.",trackNotOnDeezer:"Pjesma nije prona\u0111ena na Deezeru!",albumNotOnDeezer:"Album nije prona\u0111en na Deezeru!",notOnDeezer:"Pjesma nije dostupna na Deezeru!",notEncoded:"Pjesma jo\u0161 nije enkodirana!",notEncodedNoAlternative:"Pjesma jo\u0161 nije enkodirana i nije prona\u0111ena alternativa!",wrongBitrate:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu.",wrongBitrateNoAlternative:"Pjesma nije prona\u0111ena u \u017Eeljenom bitrateu i nije prona\u0111ena alternativa!",no360RA:"Pjesma nije dostupna u Reality Audio 360.",notAvailable:"Pjesma nije dostupna na Deezerovim serverima!",notAvailableNoAlternative:"Pjesma nije dostupna na Deezerovim serverima i alternativa nije prona\u0111ena!"}},favorites:{title:"Favoriti",noPlaylists:"Nisu prona\u0111ene playliste",noAlbums:"Omiljeni albumi nisu prona\u0111eni",noArtists:"Omiljeni glazbenici nisu prona\u0111eni",noTracks:"Omiljene pjesme nisu prona\u0111ene"},home:{needTologin:"Trebate se prijaviti sa svojim Deezer ra\u010Dunom kako biste mogli po\u010Deti preuzimati pjesme.",openSettings:"Otvori postavke",sections:{popularPlaylists:"Popularne playliste",popularAlbums:"Najpreslu\u0161aniji album"}},linkAnalyzer:{info:"Ovu sekciju mo\u017Eete koristiti kako biste saznali vi\u0161e informacija o linku koji poku\u0161avate preuzeti.",useful:"Ovo je korisno ako poku\u0161avate preuzeti pjesme koje jo\u0161 nisu dostupne u va\u0161oj zemlji i \u017Eelite, na primjer, znati gdje su dostupne.",linkNotSupported:"Ovaj link jo\u0161 nije podr\u017Ean",linkNotSupportedYet:"\u010Cini se da ovaj link jo\u0161 nije podr\u017Ean, poku\u0161aj analizirati neki drugi.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Trajanje",diskNumber:"Broj diska",trackNumber:"Broj pjesme",releaseDate:"Datum izadavanja",bpm:"BPM",label:"Izdava\u010Dka ku\u0107a",recordType:"Vrsta zapisa",genres:"\u017Danrovi",tracklist:"Popis pjesama"}},search:{startSearching:"Po\u010Dni pretra\u017Eivati!",description:"Mo\u017Eete pretra\u017Eiti pjesmu, cijeli album, izvo\u0111a\u010Da, playlistu... sve! Tako\u0111er, mo\u017Eete i zalijepiti Deezer link",fans:"{n} obo\u017Eavatelja",noResults:"Nema rezultata",noResultsTrack:"Pjesme nisu prona\u0111ene",noResultsAlbum:"Albumi nisu prona\u0111eni",noResultsArtist:"Izvo\u0111a\u010Di nisu prona\u0111eni",noResultsPlaylist:"Playliste nisu prona\u0111ene"},searchbar:"Pretra\u017Ei bilo \u0161to (ili samo zalijepi link)",downloads:"preuzimanja",toasts:{addedToQueue:"{item} dodan u red",alreadyInQueue:"{item} je ve\u0107 u redu!",finishDownload:"{item} zavr\u0161eno preuzimanje.",allDownloaded:"Sva preuzimanja zavr\u0161ena!",refreshFavs:"Osvje\u017Eavanje zavr\u0161eno!",loggingIn:"Prijavljivanje...",loggedIn:"Prijavljeni",alreadyLogged:"Ve\u0107 prijavljeni",loginFailed:"Prijava nije bila mogu\u0107a",loggedOut:"Odjavljeni",cancellingCurrentItem:"Otkazujem trenutnu stavku.",currentItemCancelled:"Trenutna stavka otkazana.",startAddingArtist:"Dodajem {artist} album u red",finishAddingArtist:"Dodan {artist} album u red",startConvertingSpotifyPlaylist:"Pretvaram Spotify pjesme u Deezer pjesme",finishConvertingSpotifyPlaylist:"Spotify playlista pretvorena",loginNeededToDownload:"Trebate se prijaviti kako bi preuzeli pjesme!"},settings:{title:"Postavke",languages:"Jezici",login:{title:"Prijava",loggedIn:"Prijavljeni ste kao {username}",arl:{question:"Kako da dobijem svoj ARL?",update:"A\u017Euriraj ARL"},logout:"Odjavi se"},appearance:{title:"Izgled",slimDownloadTab:"Tanka kartica za preuzimanje"},downloadPath:{title:"Putanja za preuzimanja"},templates:{title:"Predlo\u0161ci",tracknameTemplate:"Naziv pjesme predlo\u017Eak",albumTracknameTemplate:"Pjesma albuma predlo\u017Eak",playlistTracknameTemplate:"Pjesma playliste predlo\u017Eak"},folders:{title:"Mape",createPlaylistFolder:"Izradi mapu za playliste",playlistNameTemplate:"Mapa za playliste predlo\u017Eak",createArtistFolder:"Izradi mapu za izvo\u0111a\u010Da",artistNameTemplate:"Izvo\u0111a\u010D mapa predlo\u017Eak",createAlbumFolder:"Izradi mapu za album",albumNameTemplate:"Album mapa predlo\u017Eak",createCDFolder:"Izradi mapu za CD",createStructurePlaylist:"Strkturiraj mape za playliste",createSingleFolder:"Strukturiraj mape za singlove"},trackTitles:{title:"Naslovi pjesama",padTracks:"Pad tracks",paddingSize:"Prepi\u0161i veli\u010Dinu paddinga",illegalCharacterReplacer:"Zamjena za nedozvoljeni znak"},downloads:{title:"Preuzimanja",queueConcurrency:"Istovremena preuzimanja",maxBitrate:{title:"\u017Deljeni bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Trebam li prepisati datoteke?",y:"Da, prepi\u0161i datoteke",n:"Ne, nemoj prepisati datoteke",t:"Prepi\u0161i samo oznake",b:"Ne, zadr\u017Ei obje datoteke i dodaj broj duplikatu"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Pretra\u017Eivanje fallback",logErrors:"Izradi zapisnik datoteku za gre\u0161ke",logSearched:"Izradi zapisnik datoteku za pretra\u017Eene pjesme",createM3U8File:"Izradi playlist datoteku",syncedLyrics:"Izradi .lyr datoteke (sinkronizirani lyrics)",playlistFilenameTemplate:"Naziv playliste predlo\u017Eak",saveDownloadQueue:"Spremi red za preuzimanje prilikom zatvaranja aplikacije"},covers:{title:"Omoti albuma",saveArtwork:"Spremi omote",coverImageTemplate:"Naziv omota predlo\u017Eak",saveArtworkArtist:"Spremi sliku izvo\u0111a\u010Da",artistImageTemplate:"Slika izvo\u0111a\u010Da predlo\u017Eak",localArtworkSize:"Veli\u010Dina lokalnog omota",embeddedArtworkSize:"Veli\u010Dina ugra\u0111enog omota",localArtworkFormat:{title:"U kojem formatu \u017Eelite lokalni omot?",jpg:"Jpeg slika",png:"Png slika",both:"I jpeg i png"},jpegImageQuality:"JPEG kvaliteta slike"},tags:{head:"Koja oznake spremam",title:"Naslovi",artist:"Izvo\u0111a\u010D",album:"Album",cover:"Omot",trackNumber:"Broj pjesme",trackTotal:"Ukupno pjesama",discNumber:"Broj diska",discTotal:"Ukupno diskova",albumArtist:"Izvo\u0111a\u010D albuma",genre:"\u017Danr",year:"Godina",date:"Datum",explicit:"Eksplicitni lyrics",isrc:"ISRC",length:"Du\u017Eina pjesme",barcode:"Album barkod (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Izdava\u010Dka ku\u0107a albuma",lyrics:"Nesinkronizirani lyrics",copyright:"Autorska prava",composer:"Skladatelj",involvedPeople:"Uklju\u010Deni ljudi"},other:{title:"Ostalo",savePlaylistAsCompilation:"Spremi playliste kao kompilacije",useNullSeparator:"Koristi null razdvojnik",saveID3v1:"Spremi i ID3v1 tako\u0111er",multiArtistSeparator:{title:"Kako biste \u017Eeljeli razdvojiti izvo\u0111a\u010De?",nothing:"Spremi samo glavnog izvo\u0111a\u010Da",default:"Koriste\u0107i standardnu specifikaciju",andFeat:"Koriste\u0107i & i feat.",using:'Koriste\u0107i "{separator}"'},singleAlbumArtist:"Spremi samo izvo\u0111a\u010Da glavnog albuma",albumVariousArtists:'Zadr\u017Ei "Various Artists" u Izvo\u0111a\u010Dima albuma',removeAlbumVersion:'Izbri\u0161i "Album Version" iz naziva pjesme',removeDuplicateArtists:"Izbri\u0161i kombinacije izvo\u0111a\u010Da",dateFormat:{title:"Format datuma za FLAC datoteke",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u0160to trebam napraviti s istaknutim izvo\u0111a\u010Dima? (feat. i ft.)",0:"Ni\u0161ta",1:"Izbri\u0161i ih iz naziva",3:"Izbri\u0161i ih iz naziva i iz naziva albuma",2:"Premjesti ih u naziv"},titleCasing:"Veli\u010Dina slova naslova",artistCasing:"Veli\u010Dina slova izvo\u0111a\u010Da",casing:{nothing:"Zadr\u017Ei nepromijenjeno",lower:"sve malo",upper:"sve VELIKO",start:"Po\u010Detak Svake Rije\u010Di",sentence:"Kao re\u010Denica"},previewVolume:"Volumen pregleda",executeCommand:{title:"Naredba za izvr\u0161enje nakon preuzimanja",description:"Ostavi prazno za bez akcije"}},spotify:{title:"Spotify zna\u010Dajke",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify korisni\u010Dko ime"},reset:"Resetiraj na zadano",save:"Spremi",toasts:{init:"Postavke u\u010Ditane!",update:"Postavke a\u017Eurirane!",ARLcopied:"ARL kopiran u me\u0111uspremnik"}},sidebar:{home:"po\u010Detna",search:"pretra\u017Eivanje",charts:"ljestvice",favorites:"favoriti",linkAnalyzer:"analizator linka",settings:"postavke",about:"o programu"},tracklist:{downloadSelection:"Preuzmi selekciju"}},ar={globals:{welcome:"\u0645\u0631\u062D\u0628\u0623 \u0628\u0643 \u0641\u064A \u062F\u064A\u0645\u0643\u0633",back:"\u0631\u062C\u0648\u0639",loading:"\u062C\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",download:"\u062A\u062D\u0645\u064A\u0644 {thing}",by:"\u0628\u0648\u0627\u0633\u0637\u0629 {artist}",in:"\u0641\u064A {album}",download_hint:"\u062A\u062D\u0645\u064A\u0644",play_hint:"\u062A\u0634\u063A\u064A\u0644",toggle_download_tab_hint:"\u0639\u0631\u0636/\u0627\u062E\u0641\u0627\u0621",clean_queue_hint:"\u062A\u0645 \u0627\u0644\u0645\u0633\u062D",cancel_queue_hint:"\u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0643\u0644",listTabs:{empty:"",all:"\u0627\u0644\u0643\u0644",top_result:"\u0627\u0641\u0636\u0644 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",album:"\u0627\u0644\u0628\u0648\u0645 | \u0627\u0644\u0628\u0648\u0645\u0627\u062A",artist:"\u0641\u0646\u0627\u0646 | \u0641\u0646\u0627\u0646\u0648\u0646",single:"\u0627\u063A\u0646\u064A\u0629 | \u0627\u063A\u0646\u064A\u0629",title:"\u0639\u0646\u0648\u0627\u0646 | \u0639\u0646\u0627\u0648\u064A\u0646",track:"\u0645\u0642\u0637\u0639 | \u0645\u0642\u0627\u0637\u0639",trackN:"0 \u0645\u0642\u0627\u0637\u0639 | {n} \u0645\u0642\u0637\u0639 | {n} \u0645\u0642\u0637\u0639",releaseN:"0 \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631 | {n} \u0627\u0635\u062F\u0627\u0631",playlist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",compile:"\u0645\u062C\u0645\u0648\u0639\u0629 | \u0645\u062C\u0645\u0648\u0639\u0627\u062A",ep:"ep | eps",spotifyPlaylist:"\u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A | \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",error:"\u062E\u0637\u0623"}},about:{titles:{usefulLinks:"\u0631\u0648\u0627\u0628\u0637 \u0645\u0647\u0645\u0629",bugReports:"\u0627\u0628\u0644\u0627\u063A \u0639\u0646 \u0645\u0634\u0643\u0644\u0629",contributing:"\u0645\u0633\u0627\u0647\u0645\u0629",donations:"\u0627\u0644\u062A\u0628\u0631\u0639",license:"\u0627\u0644\u0631\u062E\u0635\u0629"},subtitles:{bugReports:"\u0647\u0644 \u0647\u0646\u0627\u0643 \u0634\u064A\u0621 \u0644\u0627 \u064A\u0639\u0645\u0644 \u0641\u064A \u062F\u064A\u0645\u0643\u0633\u061F \u0623\u062E\u0628\u0631\u0646\u0627",contributing:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0642\u064A\u0627\u0645 \u0628\u0630\u0644\u0643 \u0628\u0639\u062F\u0629 \u0637\u0631\u0642",donations:"\u062A\u0631\u064A\u062F \u0627\u0644\u0645\u0633\u0627\u0647\u0645\u0629 \u0645\u0627\u062F\u064A\u0627\u064B\u061F \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062A\u0628\u0631\u0639"},usesLibrary:"\u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u064A\u0633\u062A\u062E\u062F\u0645 \u0645\u0643\u062A\u0628\u0629 \u062F\u064A\u0645\u0643\u0633 \u0648\u0627\u0644\u062A\u064A \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u062C\u0647\u0629 \u0645\u0633\u062A\u062E\u062F\u0645 \u062E\u0627\u0635\u0629 \u0628\u0643 \u0644\u062F\u064A\u0645\u0643\u0633.",thanks:"\u0634\u0643\u0631\u0627 \u0644\u0640 rtonno, \u0648 uhwot \u0648 lollilol \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u064A \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648 \u0644\u0640 BasCurtiz \u0644\u0635\u0646\u0639 \u0627\u0644\u0627\u064A\u0642\u0648\u0646\u0629.",officialWebsite:"\u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0631\u0633\u0645\u064A",officialRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0627\u0644\u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0631\u0633\u0645\u064A",officialWebuiRepo:"\u0645\u0633\u062A\u0648\u062F\u0639 \u0648\u0627\u062C\u0647\u0629 \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u0631\u0633\u0645\u064A",officialSubreddit:"\u0627\u0644\u0633\u0628 \u0631\u064A\u062F\u062A \u0627\u0644\u0631\u0633\u0645\u064A",newsChannel:"\u0642\u0646\u0627\u0629 \u0627\u0644\u0627\u062E\u0628\u0627\u0631",beforeReporting:"\u0642\u0628\u0644 \u0627\u0646 \u062A\u0628\u0644\u063A \u0639\u0646 \u062E\u0637\u0623\u060C \u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646\u0643 \u062A\u0634\u063A\u0644 \u0623\u062D\u062F\u062B \u0625\u0635\u062F\u0627\u0631 \u0645\u0646 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0623\u0646 \u0645\u0627 \u062A\u0631\u064A\u062F \u0627\u0644\u0625\u0628\u0644\u0627\u063A \u0639\u0646\u0647 \u0647\u0648 \u0641\u064A \u0627\u0644\u0648\u0627\u0642\u0639 \u062E\u0637\u0623 \u0648\u0644\u064A\u0633 \u0645\u0634\u0643\u0644\u0629 \u0645\u0646 \u062C\u0647\u062A\u0643.",beSure:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0623\u0646 \u0627\u0644\u062E\u0637\u0623 \u064A\u0645\u0643\u0646 \u0625\u0639\u0627\u062F\u0629 \u0625\u0646\u062A\u0627\u062C\u0647 \u0639\u0644\u0649 \u0623\u062C\u0647\u0632\u0629 \u0623\u062E\u0631\u0649 \u0648 \u0627\u064A\u0636\u0627\u064B \u0644\u0627 \u062A\u0628\u0644\u063A \u0639\u0644\u0629 \u062E\u0637\u0623 \u062A\u0645 \u0627\u0644\u062A\u0628\u0644\u064A\u063A \u0639\u0646\u0647 \u0633\u0627\u0628\u0642\u0627\u064B.",duplicateReports:"\u0633\u064A\u062A\u0645 \u0625\u063A\u0644\u0627\u0642 \u062A\u0642\u0627\u0631\u064A\u0631 \u0627\u0644\u0623\u062E\u0637\u0627\u0621 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u060C \u0644\u0630\u0644\u0643 \u062A\u0631\u0642\u0628 \u0630\u0644\u0643.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",acceptFeatures:"\u0623\u0642\u0628\u0644 \u0627\u0642\u062A\u0631\u0627\u062D\u0627\u062A \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0623\u064A\u0636\u064B\u0627 \u060C \u0648\u0644\u0643\u0646 \u0644\u0627 \u0623\u0634\u064A\u0627\u0621 \u0645\u0639\u0642\u062F\u0629 \u060C \u0641\u0642\u0637 \u0627\u0634\u064A\u0627\u0621 \u064A\u0645\u0643\u0646\u0646\u064A \u062A\u0646\u0641\u064A\u0630\u0647\u0627 \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0644\u064A\u0633 \u0641\u064A \u0627\u0644\u0645\u0643\u062A\u0628\u0629.",otherLanguages:"\u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062C\u064A\u062F \u0644\u063A\u0629 \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649 \u060C \u064A\u0645\u0643\u0646\u0643 \u0645\u062D\u0627\u0648\u0644\u0629 \u062A\u062D\u0648\u064A\u0644 \u062F\u064A\u0645\u0643\u0633 \u0625\u0644\u0649 \u0644\u063A\u0627\u062A \u0628\u0631\u0645\u062C\u0629 \u0623\u062E\u0631\u0649!",understandingCode:"\u0623\u0646\u062A \u0628\u062D\u0627\u062C\u0629 \u0625\u0644\u0649 \u0645\u0633\u0627\u0639\u062F\u0629 \u0641\u064A \u0641\u0647\u0645 \u0627\u0644\u0643\u0648\u062F\u061F \u0641\u0642\u0637 \u0627\u062A\u0635\u0644 \u0628\u0640 RemixDev \u0639\u0644\u0649 \u062A\u064A\u0644\u064A\u0643\u0631\u0627\u0645 \u0627\u0648 \u0631\u064A\u062F\u064A\u062A.",itsFree:"\u064A\u062C\u0628 \u0627\u0646 \u062A\u062A\u0630\u0643\u0631 \u0627\u0646 \u0647\u0630\u0627 \u0647\u0648 \u0645\u0634\u0631\u0648\u0639 \u0645\u062C\u0627\u0646\u064A \u0648 \u0639\u0644\u064A\u0643 \u062F\u0639\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u064A\u0646 \u0644\u0643 \u0642\u0628\u0644 \u0627\u0646 \u062A\u062F\u0639\u0645 \u0645\u0637\u0648\u0631\u064A\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C.",notObligated:"\u0644\u0627 \u062A\u0634\u0639\u0631 \u0628\u0627\u0644\u0627\u0644\u062A\u0632\u0627\u0645 \u0628\u0627\u0644\u062A\u0628\u0631\u0639 \u060C \u0644\u0643\u0646\u064A \u0623\u0642\u062F\u0631 \u0630\u0644\u0643 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644!"},charts:{title:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",changeCountry:"\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062F\u0648\u0644\u0629",download:"\u062A\u062D\u0645\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0648\u0644"},errors:{title:"\u062E\u0637\u0623 \u0641\u064A {name}",ids:{invalidURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D",unsupportedURL:"\u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B",ISRCnotOnDeezer:"\u0631\u0645\u0632 \u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u062F\u064A\u0632\u0631",notYourPrivatePlaylist:"\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u062A\u062D\u0645\u064A\u0644 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u062E\u0627\u0635\u0629 \u0648 \u0627\u0644\u0645\u062E\u0641\u064A\u0629.",spotifyDisabled:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0639\u062F\u0627\u062F \u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0628\u0627\u0644\u0637\u0631\u0642\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629 .",trackNotOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",albumNotOnDeezer:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notOnDeezer:"\u0627\u0644\u0645\u0642\u0637\u0639 \u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u064A \u062F\u064A\u0632\u0631!",notEncoded:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646\u064B!",notEncodedNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u062A\u0634\u0641\u064A\u0631 \u0627\u0644\u0645\u0642\u0637\u0639 \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u0648\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u062F\u064A\u0644!",wrongBitrate:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629.",wrongBitrateNoAlternative:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0637\u0639 \u0641\u064A \u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0648 \u0644\u0627 \u062A\u0648\u062C\u062F \u062F\u0642\u0629 \u0628\u062F\u064A\u0644\u0629!",no360RA:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A Reality Audio 360.",notAvailable:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631!",notAvailableNoAlternative:"\u0627\u0644\u0645\u0642\u0637\u0639 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0641\u064A \u0633\u064A\u0631\u0641\u0631\u0627\u062A \u062F\u064A\u0632\u0631 \u0648 \u0644\u0627 \u064A\u0648\u062C\u062F \u0628\u062F\u064A\u0644 \u062D\u062A\u0649 \u0627\u0644\u0627\u0646!"}},favorites:{title:"\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A",noPlaylists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644",noAlbums:"\u0644\u0645 \u0644\u0627 \u062A\u0648\u062C\u062F \u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0645\u0641\u0636\u0644\u0629",noArtists:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u0641\u0636\u0644\u064A\u0646",noTracks:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u0642\u0627\u0637\u0639 \u0645\u0641\u0636\u0644\u0629"},home:{needTologin:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u0627\u0644\u062A\u0633\u062C\u064A\u0644 \u0641\u064A \u062D\u0633\u0627\u0628 \u062F\u064A\u0632\u0631 \u0642\u0628\u0644 \u0628\u062F\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644.",openSettings:"\u0641\u062A\u062D \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",sections:{popularPlaylists:"\u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644 \u0645\u0634\u0647\u0648\u0631\u0629",popularAlbums:"\u0627\u0643\u062B\u0631 \u0627\u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0633\u0645\u0627\u0639\u0623"}},linkAnalyzer:{info:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0647\u0630\u0627 \u0627\u0644\u0642\u0633\u0645 \u0644\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062D\u0648\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644\u0647.",useful:" \u0643\u0645\u062B\u0627\u0644 \u0647\u0630\u0627 \u0645\u0641\u064A\u062F \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u062D\u0627\u0648\u0644 \u062A\u0646\u0632\u064A\u0644 \u0628\u0639\u0636 \u0627\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629 \u0641\u064A \u0628\u0644\u062F\u0643 \u0648\u062A\u0631\u064A\u062F \u0645\u0639\u0631\u0641\u0629 \u0645\u0643\u0627\u0646 \u062A\u0648\u0641\u0631\u0647\u0627 .",linkNotSupported:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646",linkNotSupportedYet:"\u064A\u0628\u062F\u0648 \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F \u062D\u062A\u0649 \u0627\u0644\u0622\u0646 \u060C \u062D\u0627\u0648\u0644 \u062A\u062D\u0644\u064A\u0644 \u0631\u0627\u0628\u0637 \u0622\u062E\u0631.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u0627\u0644\u0645\u062F\u0629 \u0627\u0644\u0632\u0645\u0646\u064A\u0629",diskNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",releaseDate:"\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0627\u0635\u062F\u0627\u0631",bpm:"BPM",label:"Label",recordType:"\u0646\u0648\u0639 \u0627\u0644\u062A\u0633\u062C\u064A\u0644",genres:"\u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0641\u0646\u064A",tracklist:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0642\u0627\u0637\u0639"}},search:{startSearching:"\u0627\u0628\u062F\u0623 \u0627\u0644\u0628\u062D\u062B!",description:"\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0645\u0642\u0637\u0639 \u060C \u0623\u0644\u0628\u0648\u0645 \u0643\u0627\u0645\u0644 \u060C \u0641\u0646\u0627\u0646 \u060C \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 .... \u0643\u0644 \u0634\u064A\u0621! \u064A\u0645\u0643\u0646\u0643 \u0623\u064A\u0636\u064B\u0627 \u0644\u0635\u0642 \u0631\u0627\u0628\u0637 \u062F\u064A\u0632\u0631",fans:"{n} \u0645\u062A\u0627\u0628\u0639\u0648\u0646",noResults:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",noResultsTrack:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0645\u0642\u0627\u0637\u0639",noResultsAlbum:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0628\u0648\u0645\u0627\u062A",noResultsArtist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0641\u0646\u0627\u0646\u064A\u0646",noResultsPlaylist:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0642\u0648\u0627\u0626\u0645 \u062A\u0634\u063A\u064A\u0644"},searchbar:"\u0627\u0628\u062D\u062B \u0639\u0646 \u0623\u064A \u0634\u064A\u0621 \u062A\u0631\u064A\u062F\u0647 (\u0623\u0648 \u0627\u0644\u0635\u0642 \u0631\u0627\u0628\u0637)",downloads:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",toasts:{addedToQueue:"{item} \u062A\u0645\u062A \u0625\u0644\u0623\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631",alreadyInQueue:"{item} \u062D\u0627\u0644\u064A\u0627\u064B \u0641\u064A \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631!",finishDownload:"{item} \u0627\u0646\u062A\u0647\u0649 \u062A\u062D\u0645\u064A\u0644.",allDownloaded:"\u0627\u0643\u062A\u0645\u0644\u062A \u062C\u0645\u064A\u0639 \u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A!",refreshFavs:"\u0627\u0643\u062A\u0645\u0644 \u0627\u0644\u062A\u062D\u062F\u064A\u062B!",loggingIn:"\u062C\u0627\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644...",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",alreadyLogged:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0644\u0641\u0639\u0644",loginFailed:"\u062A\u0639\u0630\u0631 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedOut:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C",cancellingCurrentItem:"\u062C\u0627\u0631 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",currentItemCancelled:"\u062A\u0645 \u0627\u0644\u063A\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062D\u0627\u0644\u064A.",startAddingArtist:"\u062C\u0627\u0631 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",finishAddingArtist:"\u062A\u0645 \u0627\u0636\u0627\u0641\u0629 {artist} \u0627\u0644\u0628\u0648\u0645 \u0627\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0646\u062A\u0636\u0627\u0631",startConvertingSpotifyPlaylist:"\u062C\u0627\u0631 \u062A\u062D\u0648\u064A\u0644 \u0645\u0642\u0627\u0637\u0639 \u0633\u0628\u0648\u062A\u0641\u0627\u064A \u0627\u0644\u0649 \u0645\u0642\u0627\u0637\u0639 \u062F\u064A\u0632\u0631",finishConvertingSpotifyPlaylist:"\u062A\u0645 \u062A\u062D\u0648\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u062A\u0634\u063A\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",loginNeededToDownload:"\u064A\u062C\u0628 \u0639\u0644\u064A\u0643 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0642\u0627\u0637\u0639!"},settings:{title:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",languages:"\u0627\u0644\u0644\u063A\u0627\u062A",login:{title:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",loggedIn:"\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0643\u0640 {username}",arl:{question:"\u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0629 ARL",update:"\u0627\u0631\u0641\u0639 \u0627\u0644 ARL"},logout:"\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C"},appearance:{title:"\u0627\u0644\u0645\u0638\u0647\u0631",slimDownloadTab:"\u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0631\u0641\u064A\u0639\u0629"},downloadPath:{title:"\u0645\u0633\u0627\u0631 \u0627\u0644\u062A\u062D\u0645\u064A\u0644"},templates:{title:"\u0627\u0644\u0642\u0648\u0627\u0644\u0628",tracknameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",albumTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",playlistTracknameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0642\u0637\u0639 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644"},folders:{title:"\u0627\u0644\u0645\u0644\u0641\u0627\u062A",createPlaylistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",playlistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createArtistFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0641\u0646\u0627\u0646",artistNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0641\u0646\u0627\u0646",createAlbumFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0644\u0628\u0648\u0645",albumNameTemplate:"\u0642\u0627\u0644\u0628 \u0645\u0644\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",createCDFolder:"\u0627\u0635\u0646\u0639 \u0645\u0644\u0641 \u0644\u0644\u0627\u0642\u0631\u0627\u0635",createStructurePlaylist:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",createSingleFolder:"\u0627\u0635\u0646\u0639 \u0647\u064A\u0643\u0644 \u0645\u062C\u0644\u062F\u0627\u062A \u0644\u0627\u0644\u0628\u0648\u0645\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0627\u0644\u0648\u0627\u062D\u062F\u0629"},trackTitles:{title:"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0642\u0637\u0639",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"\u0645\u062D\u0648\u0644 \u0627\u0644\u0643\u062A\u0627\u0628\u0627\u062A \u0627\u0644\u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627"},downloads:{title:"\u0627\u0644\u062A\u062D\u0645\u064A\u0644\u0627\u062A",queueConcurrency:"\u0627\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0632\u0627\u0645\u0646\u0629",maxBitrate:{title:"\u0627\u0644\u062F\u0642\u0629 \u0627\u0644\u0645\u0641\u0636\u0644\u0629",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u0647\u0644 \u064A\u0645\u0643\u0646\u0646\u064A \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A?",y:"\u0646\u0639\u0645, \u0627\u0633\u062A\u0628\u062F\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",n:"\u0644\u0627, \u0644\u0627 \u062A\u0628\u062F\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A",t:"\u0627\u0633\u062A\u0628\u062F\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0641\u0642\u0637",b:"\u0644\u0627 \u060C \u0627\u062D\u062A\u0641\u0638 \u0628\u0627\u0644\u0645\u0644\u0641\u064A\u0646 \u0648\u0623\u0636\u0641 \u0631\u0642\u0645\u064B\u0627 \u0625\u0644\u0649 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0643\u0631\u0631"},fallbackBitrate:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u062F\u0642\u0629",fallbackSearch:"\u062A\u0631\u0627\u062C\u0639 \u0627\u0644\u0628\u062D\u062B",logErrors:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0623\u062E\u0637\u0627\u0621",logSearched:"\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u0633\u062C\u0644 \u0644\u0644\u0645\u0642\u0627\u0637\u0639 \u0627\u0644\u062A\u064A \u062A\u0645 \u0627\u0644\u0628\u062D\u062B \u0639\u0646\u0647\u0627",createM3U8File:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",syncedLyrics:"\u0627\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0644\u0643\u0644\u0645\u0627\u062A \u0627\u0644\u0627\u063A\u0646\u064A\u0629",playlistFilenameTemplate:"\u0642\u0627\u0644\u0628 \u0627\u0633\u0645 \u0645\u0644\u0641 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u0634\u063A\u064A\u0644",saveDownloadQueue:"\u062D\u0641\u0638 \u0642\u0627\u0626\u0645\u0629 \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062A\u0646\u0632\u064A\u0644 \u0639\u0646\u062F \u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062A\u0637\u0628\u064A\u0642"},covers:{title:"\u063A\u0644\u0627\u0641 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",saveArtwork:"\u0627\u062D\u0641\u0638 \u0627\u0644\u063A\u0644\u0627\u0641",coverImageTemplate:"\u062A\u063A\u0637\u064A\u0629 \u0642\u0627\u0644\u0628 \u0627\u0644\u0627\u0633\u0645",saveArtworkArtist:"\u0627\u062D\u0641\u0638 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",artistImageTemplate:"\u0642\u0627\u0644\u0628 \u0635\u0648\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",localArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629",embeddedArtworkSize:"\u062D\u062C\u0645 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u062F\u0645\u062C\u0629",localArtworkFormat:{title:"\u0628\u0623\u064A \u0635\u064A\u063A\u0629 \u062A\u0631\u064A\u062F \u062D\u0641\u0638 \u0627\u0644\u0635\u0648\u0631\u0629?",jpg:"jpeg \u0635\u0648\u0631\u0629",png:"png \u0635\u0648\u0631\u0629",both:"\u0627\u0644\u0627\u062B\u0646\u064A\u0646 png \u0648 jpeg"},jpegImageQuality:"JPEG \u062F\u0642\u0629 \u0635\u0648\u0631\u0629"},tags:{head:"\u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u062A\u0645 \u062D\u0641\u0638\u0647\u0627",title:"\u0627\u0644\u0639\u0646\u0648\u0627\u0646",artist:"\u0627\u0644\u0641\u0646\u0627\u0646",album:"\u0627\u0644\u0627\u0644\u0628\u0648\u0645",cover:"\u0627\u0644\u063A\u0644\u0627\u0641",trackNumber:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0642\u0637\u0639",trackTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0645\u0642\u0627\u0637\u0639",discNumber:"\u0631\u0642\u0645 \u0627\u0644\u0642\u0631\u0635",discTotal:"\u0645\u062C\u0645\u0648\u0639 \u0627\u0644\u0627\u0642\u0631\u0627\u0635",albumArtist:"\u0641\u0646\u0627\u0646 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",genre:"Genre",year:"\u0627\u0644\u0633\u0646\u0629",date:"\u0627\u0644\u062A\u0627\u0631\u064A\u062E",explicit:"\u0643\u0644\u0645\u0627\u062A \u0627\u063A\u0646\u064A\u0629 \u0635\u0631\u064A\u062D\u0629 \u0644\u0644\u0643\u0628\u0627\u0631",isrc:"ISRC",length:"\u0637\u0648\u0644 \u0627\u0644\u0645\u0642\u0637\u0639",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"\u0643\u0644\u0645\u0627\u062A \u063A\u064A\u0631 \u0645\u062A\u0632\u0627\u0645\u0646\u0629",copyright:"\u062D\u0642\u0648\u0642 \u0627\u0644\u0646\u0634\u0631",composer:"\u0645\u0644\u062D\u0646",involvedPeople:"\u0627\u0644\u0646\u0627\u0633 \u0627\u0644\u0645\u0634\u062A\u0631\u0643\u0648\u0646"},other:{title:"\u063A\u064A\u0631",savePlaylistAsCompilation:"\u062D\u0641\u0638 \u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u0634\u063A\u064A\u0644 \u0643\u0645\u062C\u0645\u0648\u0639\u0629",useNullSeparator:"\u0627\u0633\u062A\u062E\u062F\u0645 \u0641\u0627\u0635\u0644 \u0641\u0627\u0631\u063A",saveID3v1:"\u0627\u062D\u0641\u0638 \u0645\u0644\u0641 ID3v1",multiArtistSeparator:{title:"\u0643\u064A\u0641 \u062A\u0631\u064A\u062F \u0641\u0635\u0644 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646?",nothing:"\u0627\u062D\u0641\u0638 \u0627\u0644\u0641\u0646\u0627\u0646 \u0627\u0644\u0631\u0626\u064A\u0633\u064A \u0641\u0642\u0637",default:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u0642\u064A\u0627\u0633\u064A\u0629",andFeat:"\u0627\u0633\u062A\u062E\u062F\u0627\u0645& \u0648 feat.",using:'\u0627\u0633\u062A\u062E\u062F\u0627\u0645 "{separator}"'},singleAlbumArtist:"\u0627\u062D\u0641\u0638 \u0641\u0642\u0637 \u0641\u0646\u0627\u0646 \u0627\u0644\u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0631\u0626\u064A\u0633\u064A",albumVariousArtists:'\u0627\u062D\u062A\u0641\u0638 \u0628\u0640 "\u0641\u0646\u0627\u0646\u064A\u0646 \u0645\u062A\u0646\u0648\u0639\u064A\u0646" \u0641\u064A \u0623\u0644\u0628\u0648\u0645 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646',removeAlbumVersion:'\u0625\u0632\u0627\u0644\u0629 "\u0625\u0635\u062F\u0627\u0631 \u0627\u0644\u0623\u0644\u0628\u0648\u0645" \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0633\u0627\u0631',removeDuplicateArtists:"\u0625\u0632\u0627\u0644\u0629 \u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646",dateFormat:{title:"\u0635\u064A\u063A\u0629 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0644\u0645\u0644\u0641\u0627\u062A flac",year:"\u0633 \u0633 \u0633 \u0633",month:"\u0634 \u0634",day:"\u064A \u064A"},featuredToTitle:{title:"\u0645\u0627\u0630\u0627 \u0639\u0644\u064A \u0623\u0646 \u0623\u0641\u0639\u0644 \u0645\u0639 \u0627\u0644\u0641\u0646\u0627\u0646\u064A\u0646 \u0627\u0644\u063A\u064A\u0631 \u0631\u0626\u064A\u0633\u064A\u064A\u0646 ?",0:"\u0644\u0627 \u0634\u064A\u0621",1:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0627\u0644\u0639\u0646\u0648\u0627\u0646",3:"\u062D\u0630\u0641\u0647 \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0627\u063A\u0646\u064A\u0629 \u0648 \u0627\u0644\u0627\u0644\u0628\u0648\u0645",2:"\u0648\u0636\u0639\u0647 \u0641\u064A \u0627\u0644\u0639\u0646\u0648\u0627\u0646"},titleCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0639\u0646\u0627\u0648\u0646",artistCasing:"\u0646\u0648\u0639 \u0643\u062A\u0627\u0628\u0629 \u0627\u0644\u0641\u0646\u0627\u0646",casing:{nothing:"\u0628\u062F\u0648\u0646 \u062A\u063A\u064A\u064A\u0631",lower:"\u0627\u062D\u0631\u0641 \u0635\u063A\u064A\u0631\u0629",upper:"\u0627\u062D\u0631\u0641 \u0643\u0628\u064A\u0631\u0629",start:"\u062D\u0631\u0641 \u0643\u0628\u064A\u0631 \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0643\u0644 \u0643\u0644\u0645\u0629",sentence:"\u0645\u062B\u0644 \u062C\u0645\u0644\u0629"},previewVolume:"\u0645\u0639\u0627\u064A\u0646\u0629 \u0627\u0644\u062D\u062C\u0645",executeCommand:{title:"\u0627\u0644\u0623\u0645\u0631 \u0644\u0644\u062A\u0646\u0641\u064A\u0630 \u0628\u0639\u062F \u0627\u0644\u062A\u0646\u0632\u064A\u0644",description:"\u0627\u062A\u0631\u0643\u0647 \u0641\u0627\u0631\u063A\u064B\u0627 \u0628\u062F\u0648\u0646 \u0625\u062C\u0631\u0627\u0621"}},spotify:{title:"\u0645\u0645\u064A\u0632\u0627\u062A \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientID:"\u0645\u0639\u0631\u0641 \u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",clientSecret:"\u0627\u0644\u0643\u0648\u062F \u0627\u0644\u0633\u0631\u064A \u0644\u0639\u0645\u064A\u0644 \u0633\u0628\u0648\u062A\u0641\u0627\u064A",username:"\u0627\u0633\u0645 \u0645\u0633\u062A\u062E\u062F\u0645 \u0633\u0628\u0648\u062A\u0641\u0627\u064A"},reset:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646 \u0625\u0644\u0649 \u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u064A",save:"\u062D\u0641\u0638",toasts:{init:"\u062A\u0645 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A!",update:"\u062A\u0645 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A!",ARLcopied:"\u062A\u0645 \u0646\u0633\u062E ARL \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629"}},sidebar:{home:"\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",search:"\u0628\u062D\u062B",charts:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u062F\u0627\u0648\u0644",favorites:"\u0627\u0644\u0645\u0641\u0636\u0644\u0629",linkAnalyzer:"\u0645\u062D\u0644\u0644 \u0627\u0644\u0631\u0648\u0627\u0628\u0637",settings:"\u0627\u0644\u0627\u0639\u062F\u0627\u062F\u0627\u062A",about:"\u062D\u0648\u0644"},tracklist:{downloadSelection:"\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0627\u062E\u062A\u064A\u0627\u0631"}},ko={globals:{welcome:"\uC798\uC654\uB2E4, deemix\uC5D0",back:"\uB4A4\uB85C",loading:"\uBD88\uB7EC\uC624\uB294 \uC911",download:"{thing} \uB2E4\uC6B4\uB85C\uB4DC",by:"by {artist}",in:"in {album}",download_hint:"\uB2E4\uC6B4\uB85C\uB4DC",play_hint:"\uC7AC\uC0DD",toggle_download_tab_hint:"\uD3BC\uCE58\uAE30/\uC811\uAE30",clean_queue_hint:"\uBE44\uC6B0\uAE30 \uC644\uB8CC",cancel_queue_hint:"\uBAA8\uB450 \uCDE8\uC18C",open_downloads_folder:"\uB2E4\uC6B4\uB85C\uB4DC \uD3F4\uB354 \uC5F4\uAE30",cut:"\uC798\uB77C\uB0B4\uAE30",copy:"\uBCF5\uC0AC",copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",copyImageLink:"\uC774\uBBF8\uC9C0 \uB9C1\uD06C \uBCF5\uC0AC",copyDeezerLink:"deezer \uB9C1\uD06C \uBCF5\uC0AC",paste:"\uBD99\uC5EC\uB123\uAE30",listTabs:{empty:"",all:"\uC804\uCCB4",top_result:"\uAC00\uC7A5 \uC77C\uCE58\uD558\uB294 \uACB0\uACFC",album:"\uC568\uBC94 | \uC568\uBC94",artist:"\uC544\uD2F0\uC2A4\uD2B8 | \uC544\uD2F0\uC2A4\uD2B8",single:"\uC2F1\uAE00 | \uC2F1\uAE00",title:"\uC81C\uBAA9 | \uC81C\uBAA9",track:"\uD2B8\uB799 | \uD2B8\uB799",releaseN:"0 \uBC1C\uB9E4 | {n} \uBC1C\uB9E4 | {n} \uBC1C\uB9E4",playlist:"\uC7AC\uC0DD\uBAA9\uB85D | \uC7AC\uC0DD\uBAA9\uB85D",compile:"\uD3B8\uCC2C\uBB3C | \uD3B8\uCC2C\uBB3C",ep:"ep | eps",bundle:"\uBC88\uB4E4 | \uBC88\uB4E4",more:"\uB354 \uB9CE\uC740 \uC568\uBC94",featured:"\uD2B9\uC9D1",spotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D | \uC2A4\uD3EC\uD2F0\uD30C\uC774 \uC7AC\uC0DD\uBAA9\uB85D",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",error:"\uC624\uB958",trackN:"0 \uD2B8\uB799 | {n} \uD2B8\uB799 | {n} \uD2B8\uB799",albumN:"0 \uC568\uBC94 | {n} \uC568\uBC94 | {n} \uC568\uBC94",artistN:"0 \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8 | {n} \uC544\uD2F0\uC2A4\uD2B8",playlistN:"0 \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D | {n} \uC7AC\uC0DD\uBAA9\uB85D"}},about:{appStatus:{online:"\uD504\uB85C\uADF8\uB7A8 \uC628\uB77C\uC778",offline:"\uD504\uB85C\uADF8\uB7A8 \uC624\uD504\uB77C\uC778"},updates:{currentVersion:"\uD604\uC7AC \uBC84\uC804",currentWebuiVersion:"\uD604\uC7AC WebUI \uBC84\uC804",versionNotAvailable:"N/A",updateAvailable:"\uCD5C\uC2E0\uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4: {version}",deemixVersion:"deemix lib \uBC84\uC804"},titles:{usefulLinks:"\uC720\uC6A9\uD55C \uB9C1\uD06C",bugReports:"\uBC84\uADF8 \uC81C\uBCF4",contributing:"\uAE30\uC5EC\uC790",donations:"\uD6C4\uC6D0",license:"\uC774\uC6A9\uC815\uCC45"},subtitles:{bugReports:"\uBB34\uC5B8\uAC00 \uC548\uB418\uB294 \uAC83\uC774 \uC788\uB2E4\uACE0\uC694? \uB9D0\uD574\uC8FC\uC138\uC694!",contributing:"\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uAE30\uC5EC\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uC5B4\uB835\uC9C0 \uC54A\uC544\uC694!",donations:"\uAE08\uC804\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uACE0 \uC2F6\uB2E4\uACE0\uC694? \uD6C4\uC6D0\uD558\uC138\uC694!"},usesLibrary:"\uC774 \uD504\uB85C\uADF8\uB7A8\uC740 deemix \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4, \uD574\uB2F9 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB85C \uC790\uC2E0\uB9CC\uC758 deemix\uB97C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",thanks:"\uC774 \uD504\uB85C\uC81D\uD2B8\uB97C \uB3C4\uC640\uC900 rtonno, uhwot \uADF8\uB9AC\uACE0 lollilol\uB2D8\uACFC \uC544\uC774\uCF58\uC744 \uB9CC\uB4E4\uC5B4\uC900 BasCurtiz \uADF8\uB9AC\uACE0 scarvimane\uB2D8\uC5D0\uAC8C \uAC10\uC0AC\uB97C.",upToDate:{text:"\uC0C8\uB85C\uC6B4 \uC5C5\uB370\uC774\uD2B8 \uC18C\uC2DD\uC744 \uB4E3\uACE0 \uC2F6\uC73C\uBA74 \uD154\uB808\uADF8\uB7A8 {newsChannel}\uC744 \uCC38\uACE0\uD558\uC138\uC694.",newsChannel:"\uC0C8\uC18C\uC2DD \uC815\uBCF4\uD1B5"},officialWebsite:"\uACF5\uC2DD \uC6F9\uC0AC\uC774\uD2B8",officialRepo:"\uACF5\uC2DD \uB77C\uC774\uBE0C\uB7EC\uB9AC \uC800\uC7A5\uC18C",officialWebuiRepo:"\uACF5\uC2DD WebUI \uC800\uC7A5\uC18C",officialSubreddit:"\uACF5\uC2DD \uC11C\uBE0C\uB808\uB527",newsChannel:"\uC0C8 \uC18C\uC2DD \uC54C\uB9AC\uBBF8",questions:{text:"\uD504\uB85C\uADF8\uB7A8\uC5D0 \uB300\uD55C \uC9C8\uBB38\uC774\uB098 \uBB38\uC81C\uC5D0 \uAD00\uD55C \uAC83\uC740, \uBA3C\uC800 {subreddit}\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uAC80\uC0C9\uD574\uBCF4\uC138\uC694. \uADF8\uB9AC\uACE0, \uC11C\uBE0C\uB808\uB527\uC5D0\uC11C \uB2F5\uBCC0\uC744 \uCC3E\uAE30 \uBABB\uD55C \uACBD\uC6B0\uC5D0 \uB2E4\uC74C \uC21C\uC11C\uB97C \uC774\uC6A9\uD574\uC8FC\uC138\uC694.",subreddit:"\uC11C\uBE0C\uB808\uB527"},beforeReporting:"\uBC84\uADF8 \uC81C\uBCF4\uB97C \uD558\uAE30 \uC804\uC5D0 \uBA3C\uC800 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uD504\uB85C\uADF8\uB7A8\uC744 \uC2E4\uD589\uD558\uACE0 \uC788\uB294\uC9C0, \uC81C\uBCF4\uD558\uACE0\uC790 \uD558\uB294 \uAC83\uC774 \uBC84\uADF8\uC774\uC9C0 \uC624\uB85C\uC9C0 \uB2F9\uC2E0\uC758 \uBAA9\uC801\uC744 \uC774\uB8E8\uAE30 \uC704\uD55C \uC694\uAD6C\uAC00 \uC544\uB2D8\uC744 \uD655\uC778\uD574\uC8FC\uC138\uC694.",beSure:"\uD574\uB2F9 \uBC84\uADF8\uAC00 \uB2E4\uB978 \uC7A5\uCE58\uC5D0\uC11C\uB3C4 \uC7AC\uD604\uC774 \uAC00\uB2A5\uD55C\uC9C0 \uD655\uC778\uD558\uACE0 \uC774\uBBF8 \uC81C\uBCF4\uB41C \uBC84\uADF8\uC758 \uACBD\uC6B0\uC5D0\uB294 \uC911\uBCF5\uD574\uC11C \uBCF4\uACE0\uD558\uC9C0 \uB9C8\uC138\uC694.",duplicateReports:"\uC911\uBCF5\uB41C \uBC84\uADF8 \uC81C\uBCF4\uC758 \uACBD\uC6B0\uB294 \uD574\uB2F9 \uC694\uCCAD\uC744 \uB2EB\uC744 \uAC83\uC774\uB2C8, \uB450 \uB208 \uB728\uACE0 \uC9C0\uCF1C\uBCF4\uC138\uC694.",dontOpenIssues:"\uC9C8\uBB38\uC5D0 \uAD00\uD55C \uAC83\uC740 \uC774\uC288\uB97C \uC5F4\uC9C0 \uB9C8\uC138\uC694, \uC11C\uBE0C\uB808\uB527\uC774 \uC788\uC2B5\uB2C8\uB2E4.",newUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 \uD30C\uC774\uC36C\uC5D0 \uB2A5\uD1B5\uD558\uACE0 \uAE30\uBCF8\uC801\uC778 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uC774\uC6A9\uD558\uC5EC \uC0C8\uB85C\uC6B4 UI\uB97C \uB9CC\uB4E4\uC5C8\uAC70\uB098, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC758 \uBC84\uADF8\uB97C \uC218\uC815\uD558\uC600\uB2E4\uBA74 {repo}\uC5D0 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uD574\uC8FC\uC138\uC694.",repo:"\uC800\uC7A5\uC18C"},acceptFeatures:"\uBCF5\uC7A1\uD558\uC9C0 \uC54A\uC740 \uAE30\uB2A5 \uCD94\uAC00\uB3C4 \uBC1B\uC2B5\uB2C8\uB2E4, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uAC00 \uC544\uB2CC \uC571\uC5D0\uC11C \uC9C1\uC811 \uAD6C\uD604\uD560 \uC218 \uC788\uB294 \uAC83\uC73C\uB85C\uC694.",otherLanguages:"\uB2F9\uC2E0\uC774 \uB2E4\uB978 \uD504\uB85C\uADF8\uB7A8 \uC5B8\uC5B4\uC5D0 \uB2A5\uD1B5\uD558\uBA74, \uC774 deemix \uD504\uB85C\uADF8\uB7A8\uC744 \uB2E4\uB978 \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4\uB85C \uD3EC\uD305\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4!",understandingCode:"\uCF54\uB4DC\uB97C \uC774\uD574\uD558\uB294 \uB370 \uB3C4\uC6C0\uC774 \uD544\uC694\uD569\uB2C8\uAE4C? \uC704\uC5D0 \uC788\uB294 RemixDev, \uD154\uB808\uADF8\uB7A8, \uC11C\uBE0C\uB808\uB527 \uB9C1\uD06C\uB97C \uB204\uB974\uC138\uC694.",contributeWebUI:{text:"\uB9CC\uC57D \uB2F9\uC2E0\uC774 Vue.js (JavaScript), HTML \uB610\uB294 CSS \uAC1C\uBC1C\uC790\uB77C\uBA74 {webui}\uC5D0 \uB3C4\uC6C0\uC744 \uC8FC\uC138\uC694.",webui:"WebUI"},itsFree:"\uC0AC\uC6A9\uD558\uAE30 \uC804\uC5D0 \uC774 \uD504\uB85C\uADF8\uB7A8\uC774 \uBB34\uB8CC \uD504\uB85C\uC81D\uD2B8\uC774\uACE0 \uAC1C\uBC1C\uC790\uB97C \uC9C0\uC6D0\uD558\uAE30 \uC804\uC5D0 \uC608\uC220\uAC00\uB4E4\uC744 \uBA3C\uC800 \uC9C0\uC6D0\uD574\uC57C \uD568\uC744 \uAE30\uC5B5\uD558\uC138\uC694.",notObligated:"\uAE30\uBD80\uB294 \uD504\uB85C\uC81D\uD2B8\uB97C \uC9C0\uC18D\uD560 \uC218 \uC788\uB294 \uB3D9\uB825\uC774 \uB429\uB2C8\uB2E4!",lincensedUnder:{text:"\uC774 \uC791\uC5C5\uC774 \uC694\uAD6C\uD558\uACE0 \uC788\uB294 \uB77C\uC774\uC13C\uC2A4\uB294 \uC544\uB798\uC640 \uAC19\uC2B5\uB2C8\uB2E4 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"\uCC28\uD2B8",changeCountry:"\uAD6D\uAC00 \uBCC0\uACBD",download:"\uCC28\uD2B8 \uB2E4\uC6B4\uB85C\uB4DC"},errors:{title:"\uC624\uB958 \uBC1C\uC0DD: {name}",ids:{unsupportedURL:"URL \uC9C0\uC6D0 \uB204\uB77D",invalidURL:"URL \uC778\uC2DD \uC2E4\uD328",ISRCnotOnDeezer:"\uD2B8\uB799 \uCF54\uB4DC \uC2DD\uBCC4\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4",notYourPrivatePlaylist:"\uB2E4\uB978 \uC0AC\uB78C\uC758 \uBE44\uACF5\uAC1C \uC7AC\uC0DD \uBAA9\uB85D\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",spotifyDisabled:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uC774 \uC62C\uBC14\uB974\uAC8C \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.",trackNotOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",albumNotOnDeezer:"Deezer\uC5D0\uC11C \uC568\uBC94\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notOnDeezer:"Deezer\uC5D0\uC11C \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",notEncoded:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4!",notEncodedNoAlternative:"\uD2B8\uB799\uC774 \uC544\uC9C1 \uBCC0\uD658(encode)\uB418\uC9C0 \uC54A\uC558\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",wrongBitrate:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uC758 \uD2B8\uB799\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",wrongBitrateNoAlternative:"\uC694\uAD6C\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",no360RA:"\uD574\uB2F9 \uD2B8\uB799\uC740 360 \uB9AC\uC5BC\uB9AC\uD2F0 \uC624\uB514\uC624\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",notAvailable:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4!",notAvailableNoAlternative:"\uD574\uB2F9 \uD2B8\uB799\uC740 Deezer \uC11C\uBC84\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC744 \uBFD0\uB354\uB7EC \uB300\uCCB4\uD560 \uAC83\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",noSpaceLeft:"\uC7A5\uCE58\uC5D0 \uC5EC\uC720 \uACF5\uAC04\uC774 \uC5C6\uC2B5\uB2C8\uB2E4!",albumDoesntExists:"\uD2B8\uB799\uC758 \uC568\uBC94\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uC815\uBCF4 \uC218\uC9D1\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."}},favorites:{title:"\uC990\uACA8\uB4E3\uB294 \uC74C\uC545",noPlaylists:"\uC990\uACA8\uB4E3\uB294 \uC7AC\uC0DD\uBAA9\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noAlbums:"\uC990\uACA8\uB4E3\uB294 \uC568\uBC94\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",noArtists:"\uC990\uACA8\uB4E3\uB294 \uC544\uD2F0\uC2A4\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",noTracks:"\uC990\uACA8\uB4E3\uB294 \uD2B8\uB799\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},home:{needTologin:"\uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uC791\uD558\uAE30 \uC804\uC5D0 Deezer \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uC744 \uD574\uC57C\uD569\uB2C8\uB2E4.",openSettings:"\uC124\uC815 \uC5F4\uAE30",sections:{popularPlaylists:"\uC778\uAE30\uC788\uB294 \uC7AC\uC0DD\uBAA9\uB85D",popularAlbums:"\uAC00\uC7A5 \uB9CE\uC774 \uC7AC\uC0DD\uB41C \uC568\uBC94"}},linkAnalyzer:{info:"\uC774 \uD56D\uBAA9\uC5D0\uC11C\uB294 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC2DC\uB3C4\uD560 \uB9C1\uD06C\uC5D0 \uB300\uD55C \uB354 \uB9CE\uC740 \uC815\uBCF4\uB97C \uCC3E\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",useful:"\uC811\uC18D\uD55C \uAD6D\uAC00\uC5D0\uC11C\uB294 \uC7AC\uC0DD\uD560 \uC218 \uC5C6\uB294 \uD2B9\uC815 \uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC \uD558\uAE30 \uC704\uD574\uC11C \uAC00\uB2A5\uD55C \uAD6D\uAC00\uB97C \uCC3E\uB294\uB370 \uC720\uC6A9\uD558\uAC8C \uC4F0\uC785\uB2C8\uB2E4.",linkNotSupported:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",linkNotSupportedYet:"\uD574\uB2F9 \uB9C1\uD06C\uB294 \uC544\uC9C1 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uB2E4\uB978 \uB9C1\uD06C\uB85C \uC2DC\uB3C4\uD574\uBCF4\uC138\uC694.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\uAE38\uC774",diskNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",trackNumber:"\uD2B8\uB799 \uBC88\uD638",releaseDate:"\uBC1C\uB9E4\uC77C\uC790",bpm:"BPM",label:"\uB77C\uBCA8",recordType:"\uB179\uC74C \uC885\uB958",genres:"\uC7A5\uB974",tracklist:"\uD2B8\uB799\uBAA9\uB85D"}},search:{startSearching:"\uAC80\uC0C9\uC744 \uD574\uBCF4\uC138\uC694!",description:"\uD2B8\uB799, \uC544\uD2F0\uC2A4\uD2B8, \uC7AC\uC0DD\uBAA9\uB85D, Deezer \uB9C1\uD06C \uB4F1\uC73C\uB85C \uAC80\uC0C9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!",fans:"{n}\uBA85\uC758 \uD32C\uB4E4",noResults:"\uACB0\uACFC \uC5C6\uC74C",noResultsTrack:"\uBC1C\uACAC\uB41C \uD2B8\uB799 \uC5C6\uC74C",noResultsAlbum:"\uBC1C\uACAC\uB41C \uC568\uBC94 \uC5C6\uC74C",noResultsArtist:"\uBC1C\uACAC\uB41C \uC544\uD2F0\uC2A4\uD2B8 \uC5C6\uC74C",noResultsPlaylist:"\uBC1C\uACAC\uB41C \uC7AC\uC0DD\uBAA9\uB85D \uC5C6\uC74C"},searchbar:"\uC6D0\uD558\uB294 \uAC83\uC744 \uAC80\uC0C9\uD558\uC138\uC694 (\uB9C1\uD06C\uB97C \uBD99\uC5EC\uB123\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4)",downloads:"\uB2E4\uC6B4\uB85C\uB4DC\uB4E4",toasts:{restoringQueue:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4 \uBCF5\uC6D0\uC911...",queueRestored:"\uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30 \uC5F4\uC774 \uBCF5\uC6D0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",addedToQueue:"\uB300\uAE30\uC5F4\uC5D0 {item}(\uC774)\uAC00 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",addedMoreToQueue:"\uB300\uAE30\uC5F4\uC5D0 {n} \uD56D\uBAA9\uC774 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyInQueue:"{item}(\uC774)\uAC00 \uC774\uBBF8 \uB300\uAE30\uC5F4\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4!",finishDownload:"{item} \uD56D\uBAA9\uC774 \uB2E4\uC6B4\uB85C\uB4DC \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",allDownloaded:"\uBAA8\uB4E0 \uB2E4\uC6B4\uB85C\uB4DC\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",refreshFavs:"\uC0C8\uB85C\uACE0\uCE68\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",loggingIn:"\uB85C\uADF8\uC778 \uD558\uB294 \uC911...",loggedIn:"\uB85C\uADF8\uC778 \uB418\uC5C8\uC2B5\uB2C8\uB2E4",alreadyLogged:"\uC774\uBBF8 \uB85C\uADF8\uC778\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4",loginFailed:"\uB85C\uADF8\uC778 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",loggedOut:"\uB85C\uADF8\uC544\uC6C3 \uD558\uC600\uC2B5\uB2C8\uB2E4",cancellingCurrentItem:"\uD604\uC7AC \uD56D\uBAA9\uC744 \uCDE8\uC18C \uC911\uC785\uB2C8\uB2E4.",currentItemCancelled:"\uD56D\uBAA9\uC774 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",startAddingArtist:"{artist} \uC568\uBC94\uC744 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00 \uC911\uC785\uB2C8\uB2E4",finishAddingArtist:"{artist} \uC568\uBC94\uC774 \uB300\uAE30\uC5F4\uC5D0 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4",startConvertingSpotifyPlaylist:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uD2B8\uB799\uC744 Deezer \uD2B8\uB799\uC73C\uB85C \uC804\uD658 \uC911\uC785\uB2C8\uB2E4",finishConvertingSpotifyPlaylist:"\uC2A4\uD504\uD1A0\uD30C\uC774 \uC7AC\uC0DD \uBAA9\uB85D\uC774 \uC804\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4",loginNeededToDownload:"\uD2B8\uB799\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB824\uBA74 \uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4!",deezerNotAvailable:"Deezer \uC0AC\uC774\uD2B8\uB294 \uD604\uC7AC \uADC0\uD558\uC758 \uAD6D\uAC00\uC5D0\uC11C \uC0AC\uC6A9\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4. VPN\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.",startGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC9C4\uD589\uC911...",finishGeneratingItems:"{n}\uAC1C\uC758 \uD56D\uBAA9 \uC0DD\uC131."},settings:{title:"\uC124\uC815",languages:"\uC5B8\uC5B4",login:{title:"\uB85C\uADF8\uC778",loggedIn:"{username}(\uC73C)\uB85C \uB85C\uADF8\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4",arl:{question:"ARL\uC744 \uC5B4\uB5BB\uAC8C \uD655\uC778\uD569\uB2C8\uAE4C?",update:"ARL \uC5C5\uB370\uC774\uD2B8"},logout:"\uB85C\uADF8\uC544\uC6C3",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC4F0\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C\uD569\uB2C8\uAE4C?"},appearance:{title:"\uC678\uAD00",slimDownloadTab:"\uC587\uC740 \uB2E4\uC6B4\uB85C\uB4DC \uD0ED",slimSidebar:"\uC587\uC740 \uC0AC\uC774\uB4DC\uBC14"},downloadPath:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uACBD\uB85C"},templates:{title:"\uD15C\uD50C\uB9BF",tracknameTemplate:"\uD2B8\uB799\uC774\uB984 \uD15C\uD50C\uB9BF",tracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uD2B8\uB799\uC774\uB984 \uBCC0\uC218 \uBAA9\uB85D",albumTracknameTemplate:"\uC568\uBC94 \uD2B8\uB799 \uD15C\uD50C\uB9BF",albumTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC568\uBC94 \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D",playlistTracknameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD2B8\uB799 \uD15C\uD50C\uB9BF",playlistTracknameAvailableVariables:"\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC7AC\uC0DD \uBAA9\uB85D \uD2B8\uB799 \uBCC0\uC218 \uBAA9\uB85D"},folders:{title:"\uD3F4\uB354",createPlaylistFolder:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",playlistNameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD3F4\uB354 \uD15C\uD50C\uB9BF",createArtistFolder:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",artistNameTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createAlbumFolder:"\uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",albumNameTemplate:"\uC568\uBC94 \uD3F4\uB354 \uD15C\uD50C\uB9BF",createCDFolder:"CD\uB97C \uC704\uD55C \uD3F4\uB354 \uC0DD\uC131",createStructurePlaylist:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131",createSingleFolder:"\uC2F1\uAE00 \uC568\uBC94\uC744 \uC704\uD55C \uD3F4\uB354 \uAD6C\uC870 \uC0DD\uC131"},trackTitles:{title:"\uD2B8\uB799 \uC81C\uBAA9",padTracks:"\uD2B8\uB799 \uCC44\uC6CC\uB123\uAE30",paddingSize:"\uCC44\uC6CC\uB123\uC744 \uD06C\uAE30",illegalCharacterReplacer:"\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAE00\uC790 \uB300\uCCB4"},downloads:{title:"\uB2E4\uC6B4\uB85C\uB4DC",queueConcurrency:"\uB3D9\uC2DC \uB2E4\uC6B4\uB85C\uB4DC",maxBitrate:{title:"\uC120\uD638\uD558\uB294 \uBE44\uD2B8\uB808\uC774\uD2B8",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F8\uAE4C\uC694?",y:"\uB124, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC138\uC694",n:"\uC544\uB1E8, \uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uC9C0 \uB9C8\uC138\uC694",t:"\uD0DC\uADF8\uB9CC \uB36E\uC5B4\uC4F0\uC138\uC694",b:"\uC544\uB1E8, \uC591\uCABD \uB2E4 \uB194\uB450\uACE0 \uC911\uBCF5\uB418\uB294 \uD30C\uC77C\uC5D0 \uBC88\uD638\uB97C \uCD94\uAC00\uD558\uC138\uC694",e:"\uC544\uB1E8, \uD655\uC7A5\uBA85\uC744 \uBCC0\uACBD\uD558\uC138\uC694"},fallbackBitrate:"\uBE44\uD2B8\uB808\uC774\uD2B8 \uB300\uBE44\uCC45",fallbackSearch:"\uAC80\uC0C9 \uB300\uBE44\uCC45",logErrors:"\uC624\uB958 \uBC1C\uC0DD\uC2DC \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",logSearched:"\uAC80\uC0C9\uD55C \uD2B8\uB799\uC5D0 \uB300\uD55C \uB85C\uADF8 \uD30C\uC77C \uC0DD\uC131",createM3U8File:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C \uC0DD\uC131",syncedLyrics:".lyr \uD30C\uC77C \uC0DD\uC131 (\uAC00\uC0AC \uB3D9\uAE30\uD654)",playlistFilenameTemplate:"\uC7AC\uC0DD\uBAA9\uB85D \uD30C\uC77C\uC774\uB984 \uD15C\uD50C\uB9BF",saveDownloadQueue:"\uD504\uB85C\uADF8\uB7A8\uC744 \uB2EB\uC744 \uB54C \uB2E4\uC6B4\uB85C\uB4DC \uB300\uAE30\uC5F4 \uC800\uC7A5"},covers:{title:"\uC568\uBC94 \uCEE4\uBC84",saveArtwork:"\uCEE4\uBC84 \uC800\uC7A5",coverImageTemplate:"\uCEE4\uBC84 \uC774\uB984 \uD15C\uD50C\uB9BF",saveArtworkArtist:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uC800\uC7A5",artistImageTemplate:"\uC544\uD2F0\uC2A4\uD2B8 \uC774\uBBF8\uC9C0 \uD15C\uD50C\uB9BF",localArtworkSize:"\uC678\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",embeddedArtworkSize:"\uB0B4\uBD80 \uC800\uC7A5 \uADF8\uB9BC \uD06C\uAE30",localArtworkFormat:{title:"\uBCC4\uB3C4\uB85C \uC800\uC7A5\uD560 \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 \uBB34\uC5C7\uC73C\uB85C \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",jpg:"jpeg \uC774\uBBF8\uC9C0",png:"png \uC774\uBBF8\uC9C0",both:"jpeg\uC640 png \uB458 \uB2E4"},jpegImageQuality:"JPEG \uC774\uBBF8\uC9C0 \uD488\uC9C8",embeddedArtworkPNG:"\uD3EC\uD568\uB41C \uADF8\uB9BC\uC758 \uD615\uC2DD\uC744 PNG\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4",embeddedPNGWarning:"PNG\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBC84\uADF8\uAC00 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4",imageSizeWarning:"x1200 \uD06C\uAE30\uB97C \uCD08\uACFC\uD574\uC11C\uB294 Deezer\uC5D0\uC11C \uACF5\uC2DD\uC801\uC73C\uB85C \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uBB38\uC81C\uAC00 \uC0DD\uAE38 \uC218 \uC788\uC2B5\uB2C8\uB2E4",coverDescriptionUTF8:"\uCEE4\uBC84 \uC124\uBA85\uC744 UTF8 \uD3EC\uB9F7\uC744 \uC774\uC6A9\uD574 \uC800\uC7A5\uD569\uB2C8\uB2E4 (iTunes \uCEE4\uBC84 \uC624\uB958 \uD574\uACB0)"},tags:{head:"\uC800\uC7A5\uD560 \uD0DC\uADF8\uB97C \uC120\uD0DD\uD558\uC138\uC694",title:"\uC81C\uBAA9",artist:"\uC544\uD2F0\uC2A4\uD2B8",album:"\uC568\uBC94",cover:"\uCEE4\uBC84",trackNumber:"\uD2B8\uB799 \uBC88\uD638",trackTotal:"\uC804\uCCB4 \uD2B8\uB799 \uD06C\uAE30",discNumber:"\uB514\uC2A4\uD06C \uBC88\uD638",discTotal:"\uC804\uCCB4 \uB514\uC2A4\uD06C \uC218",albumArtist:"\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8",genre:"\uC7A5\uB974",year:"\uC5F0\uB3C4",date:"\uC77C\uC790",explicit:"\uB178\uACE8\uC801 \uAC00\uC0AC",isrc:"ISRC",length:"\uD2B8\uB799 \uAE38\uC774",barcode:"\uC568\uBC94 \uBC14\uCF54\uB4DC (UPC)",bpm:"BPM",replayGain:"\uB9AC\uD50C\uB808\uC774 \uAC8C\uC778",label:"\uC568\uBC94 \uB77C\uBCA8",lyrics:"\uBE44\uB3D9\uAE30 \uAC00\uC0AC",copyright:"\uC800\uC791\uAD8C",composer:"\uC791\uACE1\uAC00",involvedPeople:"\uAD00\uB828\uC788\uB294 \uC0AC\uB78C\uB4E4",source:"\uC18C\uC2A4\uC640 \uC74C\uC545 ID"},other:{title:"\uAE30\uD0C0",savePlaylistAsCompilation:"\uC7AC\uC0DD\uBAA9\uB85D\uC744 \uD3B8\uCC2C\uBB3C\uB85C \uC800\uC7A5",useNullSeparator:"null \uAD6C\uBD84\uC790 \uC0AC\uC6A9",saveID3v1:"ID3v1 \uD0DC\uADF8 \uD615\uC2DD\uC73C\uB85C \uC800\uC7A5",multiArtistSeparator:{title:"\uC544\uD2F0\uC2A4\uD2B8\uB97C \uC5B4\uB5BB\uAC8C \uAD6C\uBD84\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",nothing:"\uC8FC\uC694 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",default:"\uD45C\uC900 \uC2A4\uD399\uC744 \uC0AC\uC6A9",andFeat:"& \uAE30\uD638\uC640 feat \uC0AC\uC6A9.",using:'"{separator}" \uC0AC\uC6A9'},singleAlbumArtist:"\uC8FC\uC694 \uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uB9CC \uC800\uC7A5",albumVariousArtists:'\uC568\uBC94 \uC544\uD2F0\uC2A4\uD2B8\uC5D0 "Various Artists"(\uB2E4\uC591\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4) \uC720\uC9C0',removeAlbumVersion:'\uD2B8\uB799 \uC81C\uBAA9\uC5D0 "Album Version"(\uC568\uBC94 \uBC84\uC804) \uC81C\uAC70',removeDuplicateArtists:"\uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC758 \uD611\uC5C5 \uC81C\uAC70",dateFormat:{title:"FLAC \uD30C\uC77C\uC758 \uB0A0\uC9DC \uD615\uC2DD",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\uD2B9\uC9D1\uC5D0 \uCC38\uC5EC\uD55C \uC544\uD2F0\uC2A4\uD2B8\uB4E4\uC5D0 \uD560 \uC218 \uC788\uB294 \uAC83\uC774 \uBB34\uC5C7\uC774 \uC788\uB098\uC694?",0:"\uC544\uBB34\uAC83\uB3C4 \uD558\uC9C0 \uC54A\uC74C",1:"\uC81C\uBAA9\uC5D0\uC11C \uC81C\uAC70",3:"\uC568\uBC94 \uC81C\uBAA9\uACFC \uD2B8\uB799\uC5D0\uC11C \uC81C\uAC70",2:"\uC81C\uBAA9\uC73C\uB85C \uC774\uB3D9"},titleCasing:"\uC81C\uBAA9 \uCF00\uC774\uC2F1",artistCasing:"\uC544\uD2F0\uC2A4\uD2B8 \uCF00\uC774\uC2F1",casing:{nothing:"\uBCC0\uD568\uC5C6\uC774 \uC720\uC9C0",lower:"\uC18C\uBB38\uC790\uB85C",upper:"\uB300\uBB38\uC790\uB85C",start:"\uAC01 \uB2E8\uC5B4 \uC55E \uAE00\uC790\uB97C \uB300\uBB38\uC790\uB85C",sentence:"\uBB38\uC7A5\uCC98\uB7FC"},previewVolume:"\uBBF8\uB9AC\uB4E3\uAE30 \uBCFC\uB968",executeCommand:{title:"\uB2E4\uC6B4\uB85C\uB4DC \uD6C4 \uC2E4\uD589\uD560 \uBA85\uB839\uC5B4",description:"\uBE48\uCE78\uC73C\uB85C \uB450\uBA74 \uC544\uBB34 \uC77C\uB3C4 \uC5C6\uC2B5\uB2C8\uB2E4"}},spotify:{title:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify \uC0AC\uC6A9\uC790\uC774\uB984",question:"\uC2A4\uD3EC\uD2F0\uD30C\uC774 \uAE30\uB2A5\uB4E4\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uC5B4\uB5BB\uAC8C \uD574\uC57C \uD569\uB2C8\uAE4C?"},reset:"\uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uCD08\uAE30\uD654",resetMessage:"\uC815\uB9D0 \uAE30\uBCF8 \uC124\uC815\uC73C\uB85C \uB3CC\uC544\uAC00\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",save:"\uC800\uC7A5",toasts:{init:"\uC124\uC815\uC744 \uBD88\uB7EC\uC654\uC2B5\uB2C8\uB2E4!",update:"\uC0C8\uB85C\uC6B4 \uC124\uC815\uC73C\uB85C \uAC31\uC2E0\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",reset:"\uC124\uC815\uC774 \uC6D0\uB798\uB300\uB85C \uCD08\uAE30\uD654 \uB418\uC5C8\uC2B5\uB2C8\uB2E4!",ARLcopied:"ARL\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"}},sidebar:{home:"\uD648",search:"\uAC80\uC0C9",charts:"\uCC28\uD2B8",favorites:"\uC990\uACA8\uCC3E\uAE30",linkAnalyzer:"\uB9C1\uD06C \uBD84\uC11D\uAE30",settings:"\uC124\uC815",about:"\uC815\uBCF4"},tracklist:{downloadSelection:"\uC120\uD0DD \uB2E4\uC6B4\uB85C\uB4DC"}},ph={globals:{welcome:"Welcome sa deemix",back:"bumalik",loading:"kumakarga",download:"I-download {thing}",by:"ayon sa {artist}",in:"sa {album}",download_hint:"I-download",play_hint:"I-play",toggle_download_tab_hint:"Palakihin/Paliitan",clean_queue_hint:"Natapos na ang Pag-alis",cancel_queue_hint:"Ikansel Lahat",open_downloads_folder:"Buksan ang Polder ng Download",cut:"i-cut",copy:"kopyahin",copyLink:"kopyahin ang link",copyImageLink:"kopyahin ang imahe sa link",copyDeezerLink:"kopyahin ang link ng deezer",paste:"idikit",listTabs:{empty:"",all:"lahat",top_result:"nangungunang resulta",album:"album | mga album",artist:"artist | mga artist",single:"single | mga single",title:"pamagat | mga pamagat",track:"track | mga track",trackN:"0 mga track | {n} track | {n} mga track",releaseN:"0 mga release | {n} release | {n} mga release",playlist:"playlist | mga playlist",compile:"pinagsama | mga pinagsama",ep:"ep | mga ep",bundle:"bundle | mga bundle",more:"Iba pang mga album",featured:"Ibinida sa",spotifyPlaylist:"playlist sa spotify | mga playlist sa spotify",releaseDate:"petsa ng paglabas",error:"error"}},about:{updates:{currentVersion:"Kasalukuyang version",versionNotAvailable:"H/P",updateAvailable:"Hindi mo ginagamit ang pinakabagong version: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Nakatutulong na mga Link",bugReports:"Report sa Bug",contributing:"Pagtulong",donations:"Mga donasiyon",license:"Lisensiya"},subtitles:{bugReports:"Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!",contributing:"Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!",donations:"Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!"},usesLibrary:"Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.",thanks:"Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.",upToDate:{text:"Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.",newsChannel:"news channel"},officialWebsite:"Opisyal na Website",officialRepo:"Opisyal na Library Repository",officialWebuiRepo:"Opisyal na Repository ng WebUI",officialSubreddit:"Opisyal na Subreddit",newsChannel:"News Channel",questions:{text:"Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.",subreddit:"subreddit"},beforeReporting:"Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.",beSure:"Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.",duplicateReports:"Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.",dontOpenIssues:"HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.",newUI:{text:"Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.",repo:"repo"},acceptFeatures:"Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.",otherLanguages:"Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!",understandingCode:"Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.",contributeWebUI:{text:"Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.",webui:"WebUI"},itsFree:"Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.",notObligated:"Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!",lincensedUnder:{text:"Ang aktibidad na ito ay lisensiyado sa {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Mga Chart",changeCountry:"Palitan ang Country",download:"I-download ang Chart"},errors:{title:"Mga error sa {name}",ids:{invalidURL:"Hindi makilala ang URL",unsupportedURL:"Hindi pa suportado ang URL",ISRCnotOnDeezer:"Ang Track ISRC ay hindi pwede sa Deezer",notYourPrivatePlaylist:"Hindi pwedeng i-download ang mga pribadong playlist ng iba.",spotifyDisabled:"Hindi mo nai-set nang tama ang Spotify Features.",trackNotOnDeezer:"Hindi mahanap ang track sa Deezer!",albumNotOnDeezer:"Hindi mahanap ang album sa Deezer!",notOnDeezer:"Hindi available ang track sa Deezer!",notEncoded:"Hindi pa nae-encode ang track!",notEncodedNoAlternative:"Hindi pa nae-encode ang track at walang mahanap na iba!",wrongBitrate:"Hindi mahanap ang track sa gusto mong bitrate.",wrongBitrateNoAlternative:"Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!",no360RA:"Hindi pwede ang track para sa Reality Audio 360.",notAvailable:"Walang available na track sa server ng Deezer!",notAvailableNoAlternative:"Walang available na track sa server ng Deezer at walang mahanap na iba!",noSpaceLeft:"Wala nang natitirang space sa iyong device!"}},favorites:{title:"Mga Paborito",noPlaylists:"Walang makitang mga Playlist",noAlbums:"Walang makitang mga Paboritong Album",noArtists:"Walang makitang mga Paboritong Artist",noTracks:"Walang makitang mga Paboritong Track"},home:{needTologin:"Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.",openSettings:"Buksan ang Mga Setting",sections:{popularPlaylists:"Mga sikat na playlist",popularAlbums:"Pinakamaraming pinakikinggang mga album"}},linkAnalyzer:{info:"Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.",useful:"Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.",linkNotSupported:"Hindi pa suportado ang link",linkNotSupportedYet:"Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Haba",diskNumber:"Bilang ng Disk",trackNumber:"Bilang ng Track",releaseDate:"Petsa ng Release",bpm:"BPM",label:"Label",recordType:"Uri ng Rekord",genres:"Mga Genre",tracklist:"Listahan ng Track"}},search:{startSearching:"Simulang Maghanap!",description:"Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer",fans:"{n} mga fan",noResults:"Walang resulta",noResultsTrack:"Walang mahanap na mga Track",noResultsAlbum:"Walang mahanap na mga Album",noResultsArtist:"Walang mahanap na mga Artist",noResultsPlaylist:"Walang mahanap na mga Playlist"},searchbar:"Maghanap ka ng gusto mo (o mag-paste ka ng link)",downloads:"mga download",toasts:{restoringQueue:"Binabalik ang download queue...",queueRestored:"Naibalik na ang download queue!",addedToQueue:"{item} ay naidagdag sa queue",addedMoreToQueue:"{n} naidagdag rin sa queue",alreadyInQueue:"{item} ay meron na sa queue!",finishDownload:"{item} ay natapos nang i-download.",allDownloaded:"Nadownload na lahat!",refreshFavs:"Narefresh na!",loggingIn:"Nagla-log in...",loggedIn:"Na-login na",alreadyLogged:"Nakalogin ka na",loginFailed:"Hindi maka-log in",loggedOut:"Na-logout na",cancellingCurrentItem:"Kinakansel ang item.",currentItemCancelled:"Nakansel na ang item.",startAddingArtist:"Idinadagdag si {artist} sa queue ng mga album",finishAddingArtist:"Naidagdag na si {artist} sa queue ng mga album",startConvertingSpotifyPlaylist:"Kino-convert ang mga track sa spotify papuntang Deezer",finishConvertingSpotifyPlaylist:"Naconvert na ang playlist sa Spotify",loginNeededToDownload:"Kailangan mong mag-login para madownload ang mga track!",deezerNotAvailable:"Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN."},settings:{title:"Mga Setting",languages:"Mga Wika",login:{title:"Login",loggedIn:"Ikaw ay naka-login sa pangalang {username}",arl:{question:"Paano ako makakuha ng sariling ARL?",update:"I-update ang ARL"},logout:"Logout",login:"Mag-login gamit ng deezer.com"},appearance:{title:"Hitsura",slimDownloadTab:"Pinaliit na download tab"},downloadPath:{title:"Paglalagyan ng Download"},templates:{title:"Mga Template",tracknameTemplate:"Template sa pangalan ng Track",albumTracknameTemplate:"Template sa track ng Album",playlistTracknameTemplate:"Template sa track ng Playlist"},folders:{title:"Mga Folder",createPlaylistFolder:"Gumawa ng folder para sa mga playlist",playlistNameTemplate:"Template sa folder ng Playlist",createArtistFolder:"Gumawa ng folder para sa artist",artistNameTemplate:"Template sa folder ng Artist",createAlbumFolder:"Gumawa ng folder para sa album",albumNameTemplate:"Template sa folder ng Album",createCDFolder:"Gumawa ng folder para sa mga CD",createStructurePlaylist:"Gumawa ng istraktura ng folder para sa mga playlist",createSingleFolder:"Gumawa ng istraktura ng folder para sa mga single"},trackTitles:{title:"Pamagat sa mga track",padTracks:"Mga track ng Pad",paddingSize:"Patungan ang laki ng padding",illegalCharacterReplacer:"Pamalit sa ilegal na Karakter"},downloads:{title:"Mga Download",queueConcurrency:"Mga Kasabay na Download",maxBitrate:{title:"Gustong Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Papatungan ko ba ang file?",y:"Oo, patungan mo ang file",n:"Hindi, huwag mong patungan ang file",t:"Patungan mo lang ang mga tag",b:"Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya",e:"Hindi, at huwag mong tignan ang mga extension"},fallbackBitrate:"Binabaang bitrate",fallbackSearch:"Maghanap para sa binabaan",logErrors:"Gumawa ng log file para sa mga error",logSearched:"Gumawa ng log file para sa mga hinanap na track",createM3U8File:"Gumawa ng file sa playlist",syncedLyrics:"Gumawa ng mga .lyr file (Mga Sync Lyric)",playlistFilenameTemplate:"Template sa pangalan ng Playlist file",saveDownloadQueue:"I-save ang download queue kapag isasara the app"},covers:{title:"Mga cover ng album",saveArtwork:"I-save ang mga Cover",coverImageTemplate:"Template ng pangalan ng cover",saveArtworkArtist:"I-save ang imahe ng artist",artistImageTemplate:"Template ng imahe ng artist",localArtworkSize:"Laki ng lokal na artwork",embeddedArtworkSize:"Laki ng Nakadikit na artwork",localArtworkFormat:{title:"Anong gusto mong format para sa mga lokal na artwork?",jpg:"jpeg na imahe",png:"png na imahe",both:"Parehong jpeg at png"},jpegImageQuality:"Kalidad ng JPEG na imahe",embeddedArtworkPNG:"I-save ang nakadikit na artwork bilang PNG",embeddedPNGWarning:"Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug",imageSizeWarning:"Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu",coverDescriptionUTF8:"I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)"},tags:{head:"Aling tag ang ise-save",title:"Pamagat",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Bilang ng Track",trackTotal:"Kabuuang Track",discNumber:"Bilang ng Disk",discTotal:"Kabuuang Disk",albumArtist:"Album Artist",genre:"Genre",year:"Taon",date:"Petsa",explicit:"Mga Explicit na Lyric",isrc:"ISRC",length:"Haba ng Track",barcode:"Barcode ng Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label ng Album",lyrics:"Unsynchronized na mga Lyric",syncedLyrics:"Synchronized na mga Lyric",copyright:"Karapatang Ari",composer:"Komposer",involvedPeople:"Mga Kasamang Tao"},other:{title:"Iba pa",savePlaylistAsCompilation:"I-save ang mga playlist bilang compilation",useNullSeparator:"Gumamit ng panghiwalay sa null",saveID3v1:"I-save rin ang ID3v1",multiArtistSeparator:{title:"Anong gusto mo para maihanay mga artist?",nothing:"I-save lang ang pangunahing artist",default:"Gamit ng standard na specification",andFeat:"Gamit ng & at feat.",using:'Gamit ng "{separator}"'},singleAlbumArtist:"I-save lang ang pangunahing album ng artist",albumVariousArtists:'Isama ang "Various Artists" sa mga Album Artist',removeAlbumVersion:'Tanggalin ang "Album Version" sa pamagat ng track',removeDuplicateArtists:"Tanggalin ang kombinasyon ng mga artist",dateFormat:{title:"Format ng petsa para sa mga FLAC file",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Anong gagawin ko sa mga itinampok na artist",0:"Wala",1:"Tanggalin mo sila sa Pamagat",3:"Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album",2:"Ilipat mo sila sa pamagat"},titleCasing:"Pagleletra sa Pamagat",artistCasing:"Pagleletra sa Artist",casing:{nothing:"Walang babaguhin",lower:"maliliit",upper:"MALALAKI",start:"Simula Ng Bawata Salita",sentence:"Kagaya ng pangungusap"},previewVolume:"Volume ng Preview",executeCommand:{title:"Mga gagawin pagkatapos ng download",description:"Hayaan lang na blangko kung wala"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"Paano ma-enable ang Spotify Features?"},reset:"Ibalik sa Dati",save:"I-save",toasts:{init:"Ikinarga ang mga Setting!",update:"In-update ang mga Setting!",ARLcopied:"Kinopya ang ARL sa clipboard"}},sidebar:{home:"tahanan",search:"maghanap",charts:"mga chart",favorites:"mga paborito",linkAnalyzer:"tagasuri ng link",settings:"mga setting",about:"tungkol sa"},tracklist:{downloadSelection:"Pagpipili ng download"}},zh_tw={globals:{welcome:"\u6B61\u8FCE\u4F7F\u7528 deemix",back:"\u8FD4\u56DE",loading:"\u8F09\u5165\u4E2D",download:"\u4E0B\u8F09 {thing}",by:"{artist}",in:"\u65BC {album}",download_hint:"\u4E0B\u8F09",play_hint:"\u64AD\u653E",toggle_download_tab_hint:"\u5C55\u958B/\u6298\u758A",clean_queue_hint:"\u6E05\u9664\u5B8C\u6210",cancel_queue_hint:"\u53D6\u6D88\u5168\u90E8",open_downloads_folder:"\u958B\u555F\u4E0B\u8F09\u8CC7\u6599\u593E",cut:"\u526A\u4E0B",copy:"\u8907\u88FD",copyLink:"\u8907\u88FD\u9023\u7D50",copyImageLink:"\u8907\u88FD\u5716\u7247\u9023\u7D50",copyDeezerLink:"\u8907\u88FD deezer \u9023\u7D50",paste:"\u8CBC\u4E0A",listTabs:{empty:"",all:"\u6240\u6709",top_result:"\u6700\u4F73\u7D50\u679C",album:"\u5C08\u8F2F|\u5C08\u8F2F",artist:"\u85DD\u4EBA|\u85DD\u4EBA",single:"\u55AE\u66F2",title:"\u6A19\u984C|\u6A19\u984C",track:"\u6B4C\u66F2|\u6B4C\u66F2",releaseN:"0 \u767C\u884C| {n} \u767C\u884C| {n} \u767C\u884C",playlist:"\u64AD\u653E\u6E05\u55AE|\u64AD\u653E\u6E05\u55AE",compile:"\u5408\u8F2F|\u5408\u8F2F",ep:"\u8FF7\u4F60\u5C08\u8F2F | \u8FF7\u4F60\u5C08\u8F2F",bundle:"bundle | bundles",more:"\u66F4\u591A\u5C08\u8F2F",featured:"\u51FA\u73FE\u65BC",spotifyPlaylist:"Spotify \u64AD\u653E\u6E05\u55AE | Spotify \u64AD\u653E\u6E05\u55AE",releaseDate:"\u767C\u5E03\u65E5\u671F",error:"\u932F\u8AA4",trackN:"0 \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2| {n} \u9996\u6B4C\u66F2",albumN:"0 \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F | {n} \u500B\u5C08\u8F2F",artistN:"0 \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA | {n} \u500B\u85DD\u4EBA",playlistN:"0 \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE | {n} \u500B\u64AD\u653E\u6E05\u55AE"}},about:{appStatus:{online:"\u4E0A\u7DDA\u4E2D",offline:"\u96E2\u7DDA\u4E2D"},updates:{currentVersion:"\u76EE\u524D\u7248\u672C",currentWebuiVersion:"\u76EE\u524D\u524D\u7AEF\u7248\u672C",versionNotAvailable:"N/A",updateAvailable:"\u60A8\u5C1A\u672A\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF1A{version}",deemixVersion:"deemix \u51FD\u793A\u5EAB\u7248\u672C"},titles:{usefulLinks:"\u5BE6\u7528\u9023\u7D50",bugReports:"\u932F\u8AA4\u5831\u544A",contributing:"\u8CA2\u737B",donations:"\u8D0A\u52A9",license:"\u4F7F\u7528\u8A31\u53EF"},subtitles:{bugReports:"\u4F7F\u7528 deemix \u6642\uFF0C\u9047\u5230\u4E86\u4EC0\u9EBC\u554F\u984C\u55CE\uFF1F\u6B61\u8FCE\u56DE\u5831\u932F\u8AA4\uFF01",contributing:"\u60A8\u60F3\u66FF\u9019\u500B\u5C08\u6848\u63D0\u51FA\u8CA2\u737B\u55CE\uFF1F\u60A8\u53EF\u4EE5\u900F\u904E\u8A31\u591A\u4E0D\u540C\u7684\u65B9\u5F0F\u4F86\u5E6B\u5FD9\uFF01",donations:"\u60A8\u60F3\u8981\u6350\u6B3E\u55CE\uFF1F\u53EF\u4EE5\u8D0A\u52A9\u6211\u5011\uFF01"},usesLibrary:"\u672C\u7A0B\u5F0F\u57FA\u65BC deemix \u51FD\u793A\u5EAB\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u8A72\u51FD\u793A\u5EAB\u4F86\u88FD\u4F5C\u81EA\u5DF1\u7684\u524D\u7AEF\u3002",thanks:"\u611F\u8B1D rtonno\u3001uhwot \u53CA lollilol \u5C0D\u65BC\u672C\u5C08\u6848\u7684\u8CA2\u737B\uFF0C\u53E6\u5916\u4E5F\u611F\u8B1D BasCurtiz \u5E6B\u5FD9\u88FD\u4F5C\u672C\u5C08\u6848\u7684\u5716\u793A",upToDate:{text:"\u60A8\u53EF\u65BC Telegram \u4E0A\u95DC\u6CE8{newsChannel}\u4EE5\u53D6\u5F97\u6700\u65B0\u52D5\u614B\u3002",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053"},officialWebsite:"\u5B98\u65B9\u7DB2\u7AD9",officialRepo:"\u5B98\u65B9\u51FD\u793A\u7248\u672C\u5EAB",officialWebuiRepo:"\u5B98\u65B9 WebUI \u7248\u672C\u5EAB",officialSubreddit:"\u5B98\u65B9 Subreddit",newsChannel:"\u6700\u65B0\u6D88\u606F\u983B\u9053",questions:{text:"\u5982\u679C\u60A8\u5C0D\u672C\u7A0B\u5F0F\u6709\u7591\u554F\u6216\u554F\u984C\uFF0C\u8ACB\u5148\u5728{subreddit}\u4E0A\u641C\u5C0B\u89E3\u6C7A\u65B9\u6848\u3002\u5982\u679C\u627E\u4E0D\u5230\u4EFB\u4F55\u89E3\u6C7A\u65B9\u6CD5\uFF0C\u5247\u53EF\u4EE5\u5728\u6211\u5011\u7684 subreddit \u4E0A\u767C\u5E03\u8207\u60A8\u554F\u984C\u76F8\u95DC\u7684\u6587\u7AE0\u3002",subreddit:" subreddit "},beforeReporting:"\u5728\u5831\u544A\u932F\u8AA4\u4E4B\u524D\uFF0C\u8ACB\u78BA\u4FDD\u60A8\u6B63\u5728\u904B\u884C\u6700\u65B0\u7248\u672C\u7684\u7A0B\u5F0F\uFF0C\u4E26\u4E14\u8981\u5831\u544A\u7684\u5167\u5BB9\u771F\u7684\u662F\u4E00\u500B\u932F\u8AA4\uFF0C\u800C\u4E0D\u50C5\u662F\u60A8\u81EA\u5DF1\u9047\u5230\u7684\u554F\u984C\u3002",beSure:"\u8ACB\u78BA\u4FDD\u60A8\u6240\u60F3\u56DE\u5831\u7684\u932F\u8AA4\u53EF\u5728\u5176\u4ED6\u53F0\u88DD\u7F6E\u4E0A\u518D\u73FE\u7684\uFF0C\u4E26\u4E14\u8ACB\u52FF\u56DE\u5831\u5DF2\u77E5\u932F\u8AA4\u3002",duplicateReports:"\u8ACB\u6CE8\u610F\uFF0C\u91CD\u8907\u7684\u932F\u8AA4\u5831\u544A\u5C07\u88AB\u79FB\u9664\u3002",dontOpenIssues:"\u8ACB\u52FF\u900F\u904E\u672C\u7248\u672C\u5EAB\u7684 Issues \u554F\u554F\u984C\uFF0C\u6211\u5011\u958B subreddit \u662F\u6709\u539F\u56E0\u7684\u3002",newUI:{text:"\u5982\u679C\u60A8\u7CBE\u901A Python\uFF0C\u5247\u53EF\u4EE5\u5617\u8A66\u4F7F\u7528\u6211\u5011\u7684\u51FD\u793A\u5EAB\u4F86\u5EFA\u7ACB\u65B0\u7684 UI\uFF0C\u6216\u8005\u900F\u904E{repo}\u63D0\u51FA\u932F\u8AA4\u76F8\u95DC\u7684 PR\u3002",repo:"\u6211\u5011\u7684\u7248\u672C\u5EAB"},acceptFeatures:"\u6211\u4E5F\u6B61\u8FCE\u4F60\u63D0\u4EA4\u65B0\u7684\u529F\u80FD\uFF0D\u4F46\u524D\u63D0\u662F\u9019\u500B\u529F\u80FD\u4E0D\u80FD\u904E\u65BC\u8907\u96DC\uFF0D\u904E\u65BC\u8907\u96DC\u7684\u529F\u80FD\uFF0C\u61C9\u88AB\u65B0\u589E\u81F3\u7A0B\u5F0F\u5167\u800C\u975E\u51FD\u793A\u5EAB\u5167\u3002",otherLanguages:"\u5982\u679C\u60A8\u7CBE\u901A\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u5617\u8A66\u5C07 deemix \u79FB\u690D\u5230\u5176\u4ED6\u7A0B\u5F0F\u8A9E\u8A00\u4E2D\uFF01",understandingCode:"\u4F60\u9700\u8981\u5E6B\u52A9\u4E86\u89E3\u672C\u5C08\u6848\u7684\u7A0B\u5F0F\u78BC\u55CE\uFF1F\u53EA\u9700\u5728 Telegram \u6216 Reddit \u4E0A\u6309\u4E00\u4E0B RemixDev\u3002",contributeWebUI:{text:"\u5982\u679C\u4F60\u719F\u6089 Vue.js\uFF08JavaScript\uFF09\u3001HTML \u6216 CSS\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u53C3\u8207 {webui} \u524D\u7AEF\u7684\u8CA2\u737B\u3002",webui:"WebUI"},itsFree:"\u8A18\u5F97\uFF0C\u9019\u662F\u4E00\u500B\u514D\u8CBB\u7684\u5C08\u6848\uFF0C\u5728\u652F\u6301\u958B\u767C\u4EBA\u54E1\u4E4B\u524D\uFF0C\u61C9\u8A72\u5148\u652F\u6301\u4F60\u559C\u6B61\u7684\u6B4C\u624B\u6216\u85DD\u4EBA\u3002",notObligated:"\u5225\u8A8D\u70BA\u4F60\u6709\u7FA9\u52D9\u6350\u6B3E\uFF0C\u7121\u8AD6\u5982\u4F55\u6211\u5011\u90FD\u611F\u8B1D\u60A8\uFF01",lincensedUnder:{text:"\u672C\u4F5C\u54C1\u4F7F\u7528 {gpl3} \u8A31\u53EF\u6388\u6B0A\u3002",gpl3:"GNU General Public License 3.0"}},charts:{title:"\u6392\u884C\u699C",changeCountry:"\u6539\u8B8A\u570B\u5BB6",download:"\u4E0B\u8F09\u6392\u884C\u699C"},errors:{title:"{name} \u7684\u932F\u8AA4",ids:{invalidURL:"\u7121\u6CD5\u8B58\u5225\u7DB2\u5740",unsupportedURL:"\u5C1A\u4E0D\u652F\u6301\u6B64\u7DB2\u5740",ISRCnotOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u4F7F\u7528\u55AE\u66F2 ISRC",notYourPrivatePlaylist:"\u60A8\u7121\u6CD5\u4E0B\u8F09\u4ED6\u4EBA\u7684\u79C1\u4EBA\u64AD\u653E\u6E05\u55AE\u3002",spotifyDisabled:"Spotify \u529F\u80FD\u672A\u6B63\u78BA\u8A2D\u5B9A\u3002",trackNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u6B4C\u66F2\uFF01",albumNotOnDeezer:"\u5728 Deezer \u4E0A\u627E\u4E0D\u5230\u6B64\u5C08\u8F2F\uFF01",notOnDeezer:"\u7121\u6CD5\u5728 Deezer \u4E0A\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notEncoded:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF01",notEncodedNoAlternative:"\u672C\u6B4C\u66F2\u5C1A\u672A\u7DE8\u78BC\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",wrongBitrate:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\u3002",wrongBitrateNoAlternative:"\u627E\u4E0D\u5230\u7B26\u5408\u6240\u8A2D\u4F4D\u5143\u7387\u7684\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",no360RA:"\u672C\u6B4C\u66F2\u4E26\u4E0D\u652F\u63F4 Reality Audio 360\u3002",notAvailable:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF01",notAvailableNoAlternative:"\u7121\u6CD5\u5728 Deezer \u4F3A\u670D\u5668\u8F09\u5165\u6B64\u6B4C\u66F2\uFF0C\u4E14\u7121\u6CD5\u627E\u5230\u5176\u4ED6\u66FF\u4EE3\u6B4C\u66F2\uFF01",noSpaceLeft:"\u672C\u88DD\u7F6E\u53EF\u7528\u7A7A\u9593\u5DF2\u7528\u76E1\uFF01",albumDoesntExists:"\u672C\u6B4C\u66F2\u7684\u5C08\u8F2F\u4E0D\u5B58\u5728\uFF0C\u7121\u6CD5\u53D6\u5F97\u8CC7\u8A0A"}},favorites:{title:"\u6536\u85CF",noPlaylists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u64AD\u653E\u6E05\u55AE",noAlbums:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u5C08\u8F2F",noArtists:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u85DD\u4EBA",noTracks:"\u5C1A\u672A\u6536\u85CF\u4EFB\u4F55\u6B4C\u66F2"},home:{needTologin:"\u60A8\u9700\u8981\u5148\u767B\u5165 Deezer \u5E33\u6236\uFF0C\u7136\u5F8C\u624D\u80FD\u958B\u59CB\u4E0B\u8F09\u3002",openSettings:"\u958B\u555F\u8A2D\u5B9A",sections:{popularPlaylists:"\u71B1\u9580\u64AD\u653E\u6E05\u55AE",popularAlbums:"\u71B1\u9580\u5C08\u8F2F"}},linkAnalyzer:{info:"\u60A8\u53EF\u4EE5\u900F\u904E\u6B64\u5DE5\u5177\u53D6\u5F97\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u9023\u7D50\u7684\u76F8\u95DC\u8CC7\u8A0A\u3002",useful:"\u6BD4\u5982\uFF0C\u7576\u60A8\u6240\u60F3\u4E0B\u8F09\u7684\u6B4C\u66F2\u7121\u6CD5\u5728\u60A8\u7684\u570B\u5BB6\u64AD\u653E\uFF0C\u4E14\u60A8\u60F3\u77E5\u9053\u54EA\u4E9B\u570B\u5BB6\u53EF\u4EE5\u64AD\u653E\u6B64\u6B4C\u66F2\u6642\uFF0C\u60A8\u53EF\u4F7F\u7528\u6B64\u5DE5\u5177\u3002",linkNotSupported:"\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50",linkNotSupportedYet:"\u6211\u5011\u4F3C\u4E4E\u5C1A\u672A\u652F\u63F4\u6B64\u9023\u7D50\uFF0C\u8ACB\u6539\u7528\u5176\u4ED6\u9023\u7D50\u3002",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"\u9577\u5EA6",diskNumber:"\u5149\u789F\u7DE8\u865F",trackNumber:"\u6B4C\u66F2\u7DE8\u865F",releaseDate:"\u767C\u5E03\u65E5\u671F",bpm:"BPM",label:"\u6A19\u7C64",recordType:"\u5A92\u9AD4\u985E\u578B",genres:"\u985E\u578B",tracklist:"\u6B4C\u66F2\u6E05\u55AE"}},search:{startSearching:"\u958B\u59CB\u641C\u5C0B\uFF01",description:"\u60A8\u53EF\u4EE5\u641C\u7D22\u6B4C\u66F2\u540D\u7A31\u3001\u5C08\u8F2F\u3001\u85DD\u4EBA\u3001\u64AD\u653E\u6E05\u55AE...\u7B49\u7B49\u3002\u60A8\u4E5F\u53EF\u4EE5\u76F4\u63A5\u8CBC\u4E0A Deezer \u7DB2\u5740\u3002",fans:"{n} \u500B\u7C89\u7D72",noResults:"\u7121\u641C\u5C0B\u7D50\u679C",noResultsTrack:"\u627E\u4E0D\u5230\u6B4C\u66F2",noResultsAlbum:"\u627E\u4E0D\u5230\u5C08\u8F2F",noResultsArtist:"\u627E\u4E0D\u5230\u85DD\u4EBA",noResultsPlaylist:"\u627E\u4E0D\u5230\u64AD\u653E\u6E05\u55AE"},searchbar:"\u641C\u5C0B\u4EFB\u4F55\u95DC\u9375\u5B57\uFF08\u6216\u8CBC\u4E0A\u9023\u7D50\uFF09",downloads:"\u4E0B\u8F09",toasts:{restoringQueue:"\u6B63\u5728\u6062\u5FA9\u4E0B\u8F09\u6E05\u55AE...",queueRestored:"\u4E0B\u8F09\u6E05\u55AE\u5DF2\u6062\u5FA9\uFF01",addedToQueue:"\u5DF2\u65B0\u589E {item} \u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",addedMoreToQueue:"\u5DF2\u65B0\u589E {n} \u500B\u9805\u76EE\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",alreadyInQueue:"{item} \u5DF2\u5728\u4E0B\u8F09\u6E05\u55AE\u4E2D\uFF01",finishDownload:"{item} \u5DF2\u5B8C\u6210\u4E0B\u8F09\u3002",allDownloaded:"\u5168\u90E8\u4E0B\u8F09\u5B8C\u6210\uFF01",refreshFavs:"\u5237\u65B0\u5B8C\u6210\uFF01",loggingIn:"\u767B\u5165\u4E2D...",loggedIn:"\u767B\u5165",alreadyLogged:"\u5DF2\u767B\u5165",loginFailed:"\u7121\u6CD5\u767B\u5165",loggedOut:"\u767B\u51FA",cancellingCurrentItem:"\u53D6\u6D88\u7576\u524D\u9805\u76EE\u3002",currentItemCancelled:"\u7576\u524D\u9805\u76EE\u5DF2\u53D6\u6D88\u3002",startAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",finishAddingArtist:"\u5DF2\u65B0\u589E {artist} \u500B\u5C08\u8F2F\u5230\u4E0B\u8F09\u6E05\u55AE\u4E2D",startConvertingSpotifyPlaylist:"\u5C07 Spotify \u6B4C\u66F2\u8F49\u63DB\u70BA Deezer \u6B4C\u66F2\u4E2D",finishConvertingSpotifyPlaylist:"\u5DF2\u8F49\u63DB Spotify \u64AD\u653E\u6E05\u55AE",loginNeededToDownload:"\u60A8\u9700\u8981\u767B\u5165\u624D\u80FD\u4E0B\u8F09\u6B4C\u66F2\uFF01",deezerNotAvailable:"Deezer \u5728\u60A8\u6240\u5728\u7684\u570B\u5BB6/\u5730\u5340\u7121\u6CD5\u4F7F\u7528\u3002\u8ACB\u60A8\u4F7F\u7528 VPN\u3002",startGeneratingItems:"\u751F\u6210 {n} \u500B\u9805\u76EE\u4E2D...",finishGeneratingItems:"\u5DF2\u751F\u6210 {n} \u500B\u9805\u76EE."},settings:{title:"\u8A2D\u5B9A",languages:"\u8A9E\u8A00",login:{title:"\u767B\u5165",loggedIn:"\u76EE\u524D\u4EE5 {username} \u7684\u8EAB\u4EFD\u767B\u5165",arl:{question:"\u5982\u4F55\u53D6\u5F97\u81EA\u5DF1\u7684 ARL\uFF1F",update:"\u66F4\u65B0 ARL"},logout:"\u767B\u51FA",login:"\u900F\u904E deezer.com \u767B\u5165"},appearance:{title:"\u5916\u89C0",slimDownloadTab:"\u8584\u578B\u4E0B\u8F09\u5206\u9801",slimSidebar:"\u8584\u578B\u6E2C\u6B04"},downloadPath:{title:"\u4E0B\u8F09\u76EE\u9304"},templates:{title:"\u6A94\u6848\u540D\u7A31\u683C\u5F0F",tracknameTemplate:"\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",albumTracknameTemplate:"\u5C08\u8F2F\u55AE\u66F2\u540D\u7A31\u683C\u5F0F",playlistTracknameTemplate:"\u64AD\u653E\u6E05\u55AE\u55AE\u66F2\u540D\u7A31\u683C\u5F0F"},folders:{title:"\u8CC7\u6599\u593E",createPlaylistFolder:"\u66FF\u64AD\u653E\u6E05\u55AE\u5EFA\u7ACB\u8CC7\u6599\u593E",playlistNameTemplate:"\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createArtistFolder:"\u66FF\u85DD\u4EBA\u5EFA\u7ACB\u8CC7\u6599\u593E",artistNameTemplate:"\u85DD\u4EBA\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createAlbumFolder:"\u66FF\u5C08\u8F2F\u5EFA\u7ACB\u8CC7\u6599\u593E",albumNameTemplate:"\u5C08\u8F2F\u8CC7\u6599\u593E\u540D\u7A31\u683C\u5F0F",createCDFolder:"\u66FF CD \u5EFA\u7ACB\u8CC7\u6599\u593E",createStructurePlaylist:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E\u7D50\u69CB",createSingleFolder:"\u5EFA\u7ACB\u55AE\u66F2\u8CC7\u6599\u593E\u7D50\u69CB"},trackTitles:{title:"\u55AE\u66F2\u540D\u7A31",padTracks:"\u6B4C\u66F2\u6578\u76EE\u5B57\u4E32\u586B\u5145",paddingSize:"\u8986\u84CB\u6578\u76EE\u5B57\u4E32\u586B\u5145\u9577\u5EA6",illegalCharacterReplacer:"\u66FF\u63DB\u975E\u6CD5\u5B57\u5143"},downloads:{title:"\u4E0B\u8F09",queueConcurrency:"\u4E26\u884C\u4E0B\u8F09",maxBitrate:{title:"\u504F\u597D\u4F4D\u5143\u7387",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"\u662F\u5426\u8981\u8986\u84CB\u6A94\u6848\uFF1F",y:"\u662F\uFF0C\u8986\u84CB\u6A94\u6848",n:"\u5426\uFF0C\u8ACB\u52FF\u8986\u84CB\u6A94\u6848",t:"\u50C5\u8986\u84CB\u6A19\u7C64",b:"\u5426\uFF0C\u4FDD\u7559\u5169\u500B\u6A94\u6848\u4E26\u5728\u91CD\u8907\u7684\u6A94\u540D\u4E2D\u52A0\u5165\u4E00\u500B\u6578\u5B57",e:"\u5426\uFF0C\u4E0D\u9867\u616E\u9644\u6A94\u540D"},fallbackBitrate:"\u7576\u504F\u597D\u4F4D\u5143\u7387\u7121\u6CD5\u4E0B\u8F09\u6642\uFF0C\u4E0B\u8F09\u5176\u4ED6\u7248\u672C",fallbackSearch:"\u7576\u641C\u5C0B\u7D50\u679C\u7121\u6CD5\u4F7F\u7528\u6642\uFF0C\u4F7F\u7528\u5176\u4ED6\u641C\u5C0B\u7D50\u679C",logErrors:"\u8A18\u9304\u932F\u8AA4\u81F3\u65E5\u8A8C",logSearched:"\u8A18\u9304\u641C\u5C0B\u6B4C\u66F2\u81F3\u65E5\u8A8C",createM3U8File:"\u5EFA\u7ACB\u64AD\u653E\u6E05\u55AE\u6A94\u6848",syncedLyrics:"\u5EFA\u7ACB .lyr \u6A94\u6848\uFF08\u540C\u6B65\u6B4C\u8A5E\uFF09",playlistFilenameTemplate:"\u64AD\u653E\u6E05\u55AE\u6A94\u540D\u683C\u5F0F",saveDownloadQueue:"\u95DC\u9589\u61C9\u7528\u7A0B\u5F0F\u6642\uFF0C\u4FDD\u5B58\u4E0B\u8F09\u6E05\u55AE"},covers:{title:"\u5C08\u8F2F\u5C01\u9762",saveArtwork:"\u4FDD\u5B58\u5C01\u9762",coverImageTemplate:"\u5C01\u9762\u6A94\u540D\u683C\u5F0F",saveArtworkArtist:"\u4FDD\u5B58\u85DD\u4EBA\u7167\u7247",artistImageTemplate:"\u85DD\u4EBA\u7167\u7247\u6A94\u540D\u683C\u5F0F",localArtworkSize:"\u672C\u5730\u5716\u7247\u5927\u5C0F",embeddedArtworkSize:"\u5D4C\u5165\u5716\u7247\u5927\u5C0F",localArtworkFormat:{title:"\u60A8\u5E0C\u671B\u672C\u5730\u5716\u7247\u63A1\u7528\u54EA\u7A2E\u683C\u5F0F\uFF1F",jpg:"JPEG",png:"PNG",both:"JPEG \u53CA PNG"},jpegImageQuality:"JPEG \u5F71\u50CF\u54C1\u8CEA",embeddedArtworkPNG:"\u5C07\u5D4C\u5165\u5F0F\u5716\u7247\u5B58\u70BA PNG",embeddedPNGWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u652F\u63F4 PNG\uFF0C\u7D50\u679C\u53EF\u80FD\u6709\u8AA4",imageSizeWarning:"Deezer \u5B98\u65B9\u4E26\u4E0D\u4F7F\u7528\u9AD8\u65BC x1200 \u7684\u5716\u7247\uFF0C\u60A8\u53EF\u80FD\u6703\u9047\u5230\u554F\u984C",coverDescriptionUTF8:"\u4F7F\u7528 UTF8 \u4FDD\u5B58\u5C01\u9762\u6558\u8FF0\uFF08\u4FEE\u6B63 iTunes \u5C08\u8F2F\u5C01\u9762)"},tags:{head:"\u8981\u4FDD\u5B58\u54EA\u4E9B\u6A19\u7C64",title:"\u6A19\u984C",artist:"\u85DD\u4EBA",album:"\u5C08\u8F2F",cover:"\u5C08\u8F2F\u5C01\u9762",trackNumber:"\u55AE\u66F2\u7DE8\u865F",trackTotal:"\u7E3D\u8A08\u6B4C\u66F2",discNumber:"\u5149\u789F\u7DE8\u865F",discTotal:"\u5149\u789F\u7E3D\u6578",albumArtist:"\u5C08\u8F2F\u85DD\u4EBA",genre:"\u985E\u578B",year:"\u5E74",date:"\u65E5\u671F",explicit:"\u4E0D\u826F\u6B4C\u8A5E",isrc:"ISRC",length:"\u55AE\u66F2\u9577\u5EA6",barcode:"\u5C08\u8F2F\u689D\u78BC\uFF08UPC\uFF09",bpm:"BPM",replayGain:"\u91CD\u64AD\u589E\u76CA\uFF08Replay Gain\uFF09",label:"\u5C08\u8F2F\u6A19\u7C64",lyrics:"\u4E0D\u540C\u6B65\u7684\u6B4C\u8A5E",syncedLyrics:"\u540C\u6B65\u6B4C\u8A5E",copyright:"\u7248\u6B0A",composer:"\u4F5C\u66F2\u5BB6",involvedPeople:"\u76F8\u95DC\u85DD\u4EBA",source:"\u4F86\u6E90\u6B4C\u66F2 ID"},other:{title:"\u5176\u4ED6",savePlaylistAsCompilation:"\u5C07\u64AD\u653E\u6E05\u55AE\u5132\u5B58\u70BA\u5408\u8F2F",useNullSeparator:"\u4F7F\u7528\u7A7A\u5206\u9694\u7B26",saveID3v1:"\u4FDD\u5B58 ID3v1 \u6A19\u7C64",multiArtistSeparator:{title:"\u5982\u4F55\u9694\u958B\u4F5C\u8005\u540D\u7A31\uFF1F",nothing:"\u50C5\u4FDD\u7559\u4E3B\u4F5C\u8005",default:"\u4F7F\u7528\u6A19\u6E96\u898F\u683C",andFeat:"\u4F7F\u7528 & \u53CA feat.",using:'\u4F7F\u7528 "{separator}"'},singleAlbumArtist:"\u50C5\u5132\u5B58\u5C08\u8F2F\u4E3B\u4F5C\u8005\u540D\u7A31",albumVariousArtists:"\u65BC\u5C08\u8F2F\u4F5C\u8005\u6B04\u4F4D\u4E2D\u4FDD\u7559\u300C\u591A\u4F4D\u85DD\u4EBA (Various Artists)\u300D\u5B57\u6A23",removeAlbumVersion:"\u65BC\u55AE\u66F2\u540D\u7A31\u4E2D\u79FB\u9664\u300C\u5C08\u8F2F\u7248\u672C (Album Version)\u300D\u5B57\u6A23",removeDuplicateArtists:"\u79FB\u9664\u91CD\u8907\u7684\u4F5C\u8005\u540D\u7A31",dateFormat:{title:"FLAC \u6A94\u6848\u65E5\u671F\u683C\u5F0F",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"\u5982\u4F55\u8655\u7406\u5BA2\u4E32\u85DD\u4EBA\u540D\u7A31 (\u5982 feat. \u7B49\u5B57\u6A23) \uFF1F",0:"\u4EC0\u9EBC\u90FD\u4E0D\u505A",1:"\u5F9E\u6A19\u984C\u4E2D\u522A\u9664",3:"\u5F9E\u6A19\u984C\u548C\u5C08\u8F2F\u6A19\u984C\u4E2D\u522A\u9664",2:"\u5C07\u5176\u79FB\u81F3\u6A19\u984C"},titleCasing:"\u6B4C\u66F2\u540D\u7A31\u5927\u5C0F\u5BEB",artistCasing:"\u85DD\u4EBA\u540D\u7A31\u5927\u5C0F\u5BEB",casing:{nothing:"\u4FDD\u6301\u4E0D\u8B8A",lower:"\u5C0F\u5BEB",upper:"\u5927\u5BEB",start:"\u5B57\u8A5E\u958B\u982D\u5927\u5BEB",sentence:"\u53E5\u5B50\u5927\u5BEB"},previewVolume:"\u9810\u89BD\u97F3\u91CF",executeCommand:{title:"\u4E0B\u8F09\u5F8C\u57F7\u884C\u6307\u4EE4",description:"\u7559\u7A7A\u5247\u4E0D\u57F7\u884C"}},spotify:{title:"Spotify \u529F\u80FD",clientID:"Spotify \u5BA2\u6236\u7AEF ID",clientSecret:"Spotify \u5BA2\u6236\u7AEF\u5BC6\u78BC",username:"Spotify \u7528\u6236\u540D",question:"\u5982\u4F55\u555F\u7528 Spotify \u529F\u80FD\uFF1F"},reset:"\u91CD\u8A2D\u81F3\u9810\u8A2D",resetMessage:"\u4F60\u78BA\u5B9A\u8981\u91CD\u8A2D\u6240\u6709\u8A2D\u5B9A\u55CE\uFF1F",save:"\u5132\u5B58",toasts:{init:"\u5DF2\u8F09\u5165\u8A2D\u5B9A\uFF01",update:"\u5DF2\u66F4\u65B0\u8A2D\u5B9A\uFF01",reset:"\u5DF2\u91CD\u8A2D\u8A2D\u5B9A\uFF01",ARLcopied:"\u5DF2\u8907\u88FD ARL \u5230\u526A\u8CBC\u7C3F\u4E2D"}},sidebar:{home:"\u9996\u9801",search:"\u641C\u5C0B",charts:"\u6392\u884C\u699C",favorites:"\u6536\u85CF",linkAnalyzer:"\u9023\u7D50\u5206\u6790",settings:"\u8A2D\u5B9A",about:"\u95DC\u65BC"},tracklist:{downloadSelection:"\u4E0B\u8F09\u6240\u9078"}},pl={globals:{welcome:"Witaj w deemix",back:"wr\xF3\u0107",loading:"\u0142adowanie",download:"Pobierz {thing}",by:"od {artist}",in:"w {album}",download_hint:"Pobierz",play_hint:"Odtw\xF3rz",toggle_download_tab_hint:"Rozszerz/Zwi\u0144",clean_queue_hint:"Wyczy\u015B\u0107 uko\u0144czone",cancel_queue_hint:"Anuluj wszystkie",open_downloads_folder:"Otw\xF3rz pobrane",cut:"wytnij",copy:"kopiuj",copyLink:"kopiuj link",copyImageLink:"kopiuj link obrazu",copyDeezerLink:"kopiuj link deezera",paste:"wklej",listTabs:{empty:"",all:"wszystkie",top_result:"najlepszy wynik",album:"album | albumy",artist:"artysta | arty\u015Bci",single:"singiel | single",title:"tytu\u0142 | tytu\u0142y",track:"utw\xF3r | utwory",trackN:"0 utwor\xF3w | {n} utw\xF3r | {n} utwor\xF3w",releaseN:"0 wyda\u0144 | {n} wydanie | {n} wyda\u0144",playlist:"playlista | playlisty",compile:"kompilacja | kompilacje",ep:"ep | ep",bundle:"zestaw | zestawy",more:"Wi\u0119cej album\xF3w",featured:"Wyst\u0119puje w",spotifyPlaylist:"playlista spotify | playlisty spotify",releaseDate:"data wydania",error:"b\u0142\u0105d"}},about:{updates:{currentVersion:"Obecna wersja",versionNotAvailable:"N/A",updateAvailable:"Nie masz najnowszej dost\u0119pnej wersji: {version}",deemixVersion:"Wersja biblioteki deemix"},titles:{usefulLinks:"Przydatne linki",bugReports:"Zg\u0142oszenia b\u0142\u0119d\xF3w",contributing:"Wk\u0142ad",donations:"Dotacje",license:"Licencja"},subtitles:{bugReports:"Czy deemix dzia\u0142a inaczej ni\u017C powinien? Powiedz nam!",contributing:"Chcesz pom\xF3c w tym projekcie? Mo\u017Cesz to zrobi\u0107 na wiele sposob\xF3w!",donations:"Chcesz pom\xF3c finansowo? Mo\u017Cesz nas wesprze\u0107!"},usesLibrary:"Ten program u\u017Cywa biblioteki deemix, kt\xF3rej mo\u017Cesz u\u017Cy\u0107 do stworzenia w\u0142asnego interfejsu u\u017Cytkownika",thanks:"Podzi\u0119kowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.",upToDate:{text:"B\u0105d\u017A na bie\u017C\u0105co z aktualizacjami do\u0142\u0105czaj\u0105c do {newsChannel} na Telegramie.",newsChannel:"kana\u0142u wiadomo\u015Bci"},officialWebsite:"Oficjalna strona",officialRepo:"Oficjalne repozytorium biblioteki",officialWebuiRepo:"Oficjalne repozytorium WebUI",officialSubreddit:"Oficjalny subreddit",newsChannel:"Kana\u0142 wiadomo\u015Bci",questions:{text:"Je\u017Celi masz pytania lub problemy zwi\u0105zane z aplikacj\u0105, szukaj odpowiedzi na {subreddit}. Je\u017Celi niczego nie znajdziesz, stw\xF3rz post na subreddicie.",subreddit:"subreddicie"},beforeReporting:"Przed zg\u0142aszaniem b\u0142\u0119du upewnij si\u0119, \u017Ce masz najnowsz\u0105 wersje aplikacji i to, co chcesz zg\u0142osi\u0107 jest b\u0142\u0119dem, a nie usterk\u0105 z twojej strony.",beSure:"Upewnij si\u0119, \u017Ce b\u0142\u0105d mo\u017Cna odtworzy\u0107 na innych urz\u0105dzeniach i NIE ZG\u0141ASZAJ b\u0142\u0119d\xF3w, kt\xF3re zosta\u0142y ju\u017C zg\u0142oszone",duplicateReports:"Identyczne zg\u0142oszenia b\u0142\u0119d\xF3w b\u0119d\u0105 zamykane, wi\u0119c zwr\xF3\u0107 na to uwag\u0119.",dontOpenIssues:"NIE OTWIERAJ zg\u0142osze\u0144 do zadawania pyta\u0144, od tego jest subreddit.",newUI:{text:"Je\u017Celi dobrze znasz Pythona, mo\u017Cesz spr\xF3bowa\u0107 stworzy\u0107 nowy interfejs dla aplikacji u\u017Cywaj\u0105c bazowej biblioteki lub naprawia\u0107 b\u0142\u0119dy w bibliotece tworz\u0105c pull request w {repo}.",repo:"repozytorium"},acceptFeatures:"Przyjmuj\u0119 nowe funkcje, ale nic z\u0142o\u017Conego, co mog\u0142oby by\u0107 zaimplementowane w aplikacji, a nie w bibliotece.",otherLanguages:"Je\u017Celi dobrze znasz inny j\u0119zyk programowania, mo\u017Cesz spr\xF3bowa\u0107 przeportowa\u0107 deemix do innych j\u0119zyk\xF3w!",understandingCode:"Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.",contributeWebUI:{text:"Je\u017Celi znasz Vue.js (JavaScript), HTML lub CSS, mo\u017Cesz pom\xF3c w {webui}.",webui:"WebUI"},itsFree:"Pami\u0119taj, \u017Ce ten projekt jest darmowy i powiniene\u015B wspiera\u0107 artyst\xF3w przed tw\xF3rcami aplikacji.",notObligated:"Nie czuj potrzeby p\u0142acenia, i tak ci\u0119 doceniam!",lincensedUnder:{text:"Ten projekt jest chroniony licencj\u0105 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Wykresy",changeCountry:"Zmie\u0144 kraj",download:"Pobierz wykres"},errors:{title:"B\u0142\u0119dy dla {name}",ids:{invalidURL:"Nierozpoznany URL",unsupportedURL:"Niewspierany URL",ISRCnotOnDeezer:"ISRC nie jest dost\u0119pne na Deezerze",notYourPrivatePlaylist:"Nie mo\u017Cesz pobiera\u0107 czyich\u015B prywatnych playlist.",spotifyDisabled:"Funkcje Spotify nie s\u0105 poprawnie ustawione",trackNotOnDeezer:"Nie znaleziono utworu na Deezerze!",albumNotOnDeezer:"Nie znaleziono albumu na Deezerze!",notOnDeezer:"Utw\xF3r nie jest dost\u0119pny na Deezerze!",notEncoded:"Utw\xF3r nie jest jeszcze zakodowany!",notEncodedNoAlternative:"Utw\xF3r nie jest jeszcze zakodowany i nie mo\u017Cna znale\u017A\u0107 alternatywy!",wrongBitrate:"Nie znaleziono utworu w wybranym bitrate.",wrongBitrateNoAlternative:"Nie znaleziono utworu w wybranym bitrate i nie mozna znale\u017A\u0107 alternatywy!",no360RA:"Utw\xF3r nie jest dost\u0119pny w Reality Audio 360.",notAvailable:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera!",notAvailableNoAlternative:"Utw\xF3r nie jest dost\u0119pny na serwerach Deezera i nie mo\u017Cna znale\u017A\u0107 alternatywy!"}},favorites:{title:"Ulubione",noPlaylists:"Nie znaleziono playlist",noAlbums:"Nie znaleziono ulubionych album\xF3w",noArtists:"Nie znaleziono ulubionych artyst\xF3w",noTracks:"Nie znaleziono ulubonych utwor\xF3w"},home:{needTologin:"Musisz si\u0119 zalogwa\u0107 do konta na Deezerze zanim zaczniesz pobiera\u0107.",openSettings:"Otw\xF3rz ustawienia",sections:{popularPlaylists:"Popularne playlisty",popularAlbums:"Najpopularniejsze albumy"}},linkAnalyzer:{info:"Mo\u017Cesz u\u017Cy\u0107 tej sekcji, aby znale\u017A\u0107 wi\u0119cej informacji o linku, kt\xF3ry chcesz pobra\u0107.",useful:"Jest to przydatne na przyk\u0142ad gdy chcesz pobra\u0107 jakie\u015B utwory, kt\xF3re nie s\u0105 dost\u0119pne w twoim kraju i chcesz wiedzie\u0107 gdzie s\u0105 dost\u0119pne.",linkNotSupported:"Ten link nie jest jeszcze wspierany",linkNotSupportedYet:"Wygl\u0105da na to, \u017Ce ten link nie jest jeszcze wspierany. Spr\xF3buj przeanalizowa\u0107 inny.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Czas",diskNumber:"Numer p\u0142yty",trackNumber:"Numer utworu",releaseDate:"Data wydania",bpm:"BPM",label:"Wytw\xF3rnia",recordType:"Rodzaj wydania",genres:"Gatunki",tracklist:"Lista utwor\xF3w"}},search:{startSearching:"Zacznij szuka\u0107!",description:"Mo\u017Cesz wyszuka\u0107 utw\xF3r, album, artyst\u0119, playlist\u0119... wszystko! Mo\u017Cesz te\u017C wklei\u0107 link do Deezera",fans:"{n} fan\xF3w",noResults:"Brak wynik\xF3w",noResultsTrack:"Nie znaleziono utwor\xF3w",noResultsAlbum:"Nie znaleziono album\xF3w",noResultsArtist:"Nie znaleziono artyst\xF3w",noResultsPlaylist:"Nie znaleziono playlist"},searchbar:"Szukaj czego chcesz (lub wklej link)",downloads:"pobrane",toasts:{restoringQueue:"Przywracanie kolejki pobierania...",queueRestored:"Przywr\xF3cono kolejk\u0119 pobierania!",addedToQueue:"Dodano {item} do kolejki",addedMoreToQueue:"Dodano {n} przedmiot\xF3w do kolejki",alreadyInQueue:"{item} jest ju\u017C w kolejce!",finishDownload:"Uko\u0144czono pobieranie {item}.",allDownloaded:"Pobrano wszystkie!",refreshFavs:"Uko\u0144czono od\u015Bwie\u017Canie!",loggingIn:"Logowanie...",loggedIn:"Zalogowano",alreadyLogged:"Ju\u017C zalogowano",loginFailed:"Nie mo\u017Cna zalogowa\u0107",loggedOut:"Wylogowano",cancellingCurrentItem:"Anulowanie przedmiotu.",currentItemCancelled:"Anulowano przedmiot.",startAddingArtist:"Dodawanie {artist} album\xF3w do kolejki",finishAddingArtist:"Dodano {artist} album\xF3w do kolejki",startConvertingSpotifyPlaylist:"Konwertowanie utwor\xF3w Spotify na Deezer",finishConvertingSpotifyPlaylist:"Przekonwertowano playlist\u0119 Spotify",loginNeededToDownload:"Musisz si\u0119 zalogowa\u0107, aby pobiera\u0107 utwory!"},settings:{title:"Ustawienia",languages:"J\u0119zyki",login:{title:"Logowanie",loggedIn:"Zalogowano jako {username}",arl:{question:"Jak zdoby\u0107 sw\xF3j w\u0142asny ARL?",update:"Zakualizuj ARL"},logout:"Wyloguj",login:"Zaloguj przez deezer.com"},appearance:{title:"Wygl\u0105d",slimDownloadTab:"Cienka karta pobranych"},downloadPath:{title:"\u015Acie\u017Cka pobierania"},templates:{title:"Szablony",tracknameTemplate:"Szablon utworu",albumTracknameTemplate:"Szablon utworu z albumu",playlistTracknameTemplate:"Szablon utworu z playlisy"},folders:{title:"Foldery",createPlaylistFolder:"Utw\xF3rz foldery dla playlist",playlistNameTemplate:"Szablon folderu playlisty",createArtistFolder:"Utw\xF3rz foldery dla artyst\xF3w",artistNameTemplate:"Szablon folderu artysty",createAlbumFolder:"Utw\xF3rz foldery dla album\xF3w",albumNameTemplate:"Szablon folderu albumu",createCDFolder:"Utw\xF3rz foldery dla p\u0142yt",createStructurePlaylist:"Utw\xF3rz struktur\u0119 folder\xF3w dla playlist",createSingleFolder:"Utw\xF3rz struktur\u0119 folder\xF3w dla singli"},trackTitles:{title:"Tytu\u0142y utworow",padTracks:"Wypchaj utwory",paddingSize:"Rozmiar wypchania",illegalCharacterReplacer:"Zamiennik niedozwolonych znak\xF3w"},downloads:{title:"Pobrane",queueConcurrency:"R\xF3wnoleg\u0142e pobieranie",maxBitrate:{title:"Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Nadpisywa\u0107 pliki?",y:"Tak",n:"Nie",t:"Tylko tagi",b:"Nie, dodaj numer do drugiego pliku",e:"Nie, nie patrz na rozszerzenia"},fallbackBitrate:"Rezerwowy bitrate",fallbackSearch:"Rezerwowe wyszukiwanie",logErrors:"Utw\xF3rz plik dziennika b\u0142\u0119d\xF3w",logSearched:"Utw\xF3rz plik dziennika wyszukiwanych utwor\xF3w",createM3U8File:"Utw\xF3rz plik playlisty",syncedLyrics:"Utw\xF3rz plik .lyr (synchronizowany tekst)",playlistFilenameTemplate:"Szablon pliku playlisty",saveDownloadQueue:"Zapisz kolejk\u0119 pobierania przy zamykaniu aplikacji"},covers:{title:"Ok\u0142adki album\xF3w",saveArtwork:"Zapisz ok\u0142adki",coverImageTemplate:"Szablon nazwy ok\u0142adki",saveArtworkArtist:"Zapisz zdj\u0119cie artysty",artistImageTemplate:"Szablon zdj\u0119cia artysty",localArtworkSize:"Rozmiar lokalnej ok\u0142adki",embeddedArtworkSize:"Rozmiar osadzonej ok\u0142adki",localArtworkFormat:{title:"W jakim formacie ma zosta\u0107 zapisana ok\u0142adka?",jpg:"Plik JPEG",png:"Plik PNG",both:"Pliki JPEG i PNG"},jpegImageQuality:"Jako\u015B\u0107 JPEG",embeddedArtworkPNG:"Zapisz osadzon\u0105 ok\u0142adk\u0119 jako PNG",embeddedPNGWarning:"PNG nie jest oficjalnie wspierane przez Deezer i mo\u017Ce powodowa\u0107 b\u0142\u0119dy",imageSizeWarning:"Wszystko powy\u017Cej x1200 nie jest oficjalnie u\u017Cywane przez Deezera, wi\u0119c mog\u0105 wyst\u0105pi\u0107 problemy."},tags:{head:"Kt\xF3re tagi zapisa\u0107",title:"Tytu\u0142",artist:"Artysta",album:"Album",cover:"Ok\u0142adka",trackNumber:"Numer utworu",trackTotal:"Liczba utwor\xF3w",discNumber:"Numer p\u0142yty",discTotal:"Liczba p\u0142yt",albumArtist:"Album Artist",genre:"Gatunek",year:"Rok",date:"Data",explicit:"Wulgarny tekst",isrc:"ISRC",length:"D\u0142ugo\u015B\u0107",barcode:"Kod kreskowy albumu (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Wytw\xF3rnia",lyrics:"Niezsynchronizowany tekst",syncedLyrics:"Zsynchronizowany tekst",copyright:"Prawa autorskie",composer:"Kompozytor",involvedPeople:"Zaanga\u017Cowane osoby"},other:{title:"Inne",savePlaylistAsCompilation:"Zapisz playlisty jako kompilacje",useNullSeparator:"U\u017Cyj separatora null",saveID3v1:"Zapisz ID3v1",multiArtistSeparator:{title:"Jak oddzieli\u0107 artyst\xF3w?",nothing:"Zapisz tylko g\u0142\xF3wnego artyst\u0119",default:"Standardowa specyfikacja",andFeat:"& i feat.",using:'U\u017Cywa "{separator}"'},singleAlbumArtist:"Zapisz tylko g\u0142\xF3wnego autora albumu",albumVariousArtists:'Zostaw "Various Artists" w autorach albumu',removeAlbumVersion:'Usu\u0144 "Album Version" z tytu\u0142u utworu',removeDuplicateArtists:"Usu\u0144 kombinacje artyst\xF3w",dateFormat:{title:"Format daty dla plik\xF3w FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Co zrobi\u0107 z dodatkowymi artystami?",0:"Nic",1:"Usu\u0144 z tytu\u0142u",3:"Usu\u0144 z tytu\u0142u i tytu\u0142u albumu",2:"Przenie\u015B do tytu\u0142u"},titleCasing:"Rozmiar liter tytu\u0142u",artistCasing:"Rozmiar liter artysty",casing:{nothing:"Zostaw",lower:"ma\u0142e litery",upper:"DU\u017BE LITERY",start:"Na Pocz\u0105tku Ka\u017Cdego S\u0142owa",sentence:"Jak w zdaniu"},previewVolume:"G\u0142o\u015Bno\u015B\u0107 podgl\u0105du",executeCommand:{title:"Polecenie do wykonania po pobraniu",description:"Zostaw puste, aby nic nie robi\u0107"}},spotify:{title:"Funkcje Spotify",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Nazwa u\u017Cytkownika",question:"Jak w\u0142\u0105czy\u0107 funkcje Spotify?"},reset:"Przywr\xF3\u0107 domy\u015Blne",save:"Zapisz",toasts:{init:"Za\u0142adowano ustawienia!",update:"Zaktualizowano ustawienia!",ARLcopied:"Skopiowano ARL do schowka"}},sidebar:{home:"strona g\u0142\xF3wna",search:"szukaj",charts:"wykresy",favorites:"ulubione",linkAnalyzer:"analiza link\xF3w",settings:"ustawienia",about:"informacje"},tracklist:{downloadSelection:"Pobierz wybrane"}},locales={it,en,es,de,fr,id,pt,pt_br,ru,tr,vn,hr,ar,ko,ph,zh_tw,pl};Vue.use(VueI18n);const storedLocale=localStorage.getItem("locale"),DEFAULT_LANG=storedLocale||"en";document.querySelector("html").setAttribute("lang",DEFAULT_LANG);const i18n=new VueI18n({locale:DEFAULT_LANG,fallbackLocale:"en",messages:locales,pluralizationRules:{ru:function(e,a){var n=Math.abs(e)%100,i=n%10;return n>10&&n<20?2:i>1&&i<5?1:i==1?0:2}}});/*! - * vue-router v3.5.1 - * (c) 2021 Evan You + +var toString$2 = Object.prototype.toString; +var OBJECT_STRING = '[object Object]'; +function isPlainObject$2 (obj) { + return toString$2.call(obj) === OBJECT_STRING +} + +function isNull (val) { + return val === null || val === undefined +} + +function isFunction$1 (val) { + return typeof val === 'function' +} + +function parseArgs () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var locale = null; + var params = null; + if (args.length === 1) { + if (isObject$3(args[0]) || isArray$1(args[0])) { + params = args[0]; + } else if (typeof args[0] === 'string') { + locale = args[0]; + } + } else if (args.length === 2) { + if (typeof args[0] === 'string') { + locale = args[0]; + } + /* istanbul ignore if */ + if (isObject$3(args[1]) || isArray$1(args[1])) { + params = args[1]; + } + } + + return { locale: locale, params: params } +} + +function looseClone (obj) { + return JSON.parse(JSON.stringify(obj)) +} + +function remove$3 (arr, item) { + if (arr.length) { + var index = arr.indexOf(item); + if (index > -1) { + return arr.splice(index, 1) + } + } +} + +function includes (arr, item) { + return !!~arr.indexOf(item) +} + +var hasOwnProperty$1 = Object.prototype.hasOwnProperty; +function hasOwn$2 (obj, key) { + return hasOwnProperty$1.call(obj, key) +} + +function merge (target) { + var arguments$1 = arguments; + + var output = Object(target); + for (var i = 1; i < arguments.length; i++) { + var source = arguments$1[i]; + if (source !== undefined && source !== null) { + var key = (void 0); + for (key in source) { + if (hasOwn$2(source, key)) { + if (isObject$3(source[key])) { + output[key] = merge(output[key], source[key]); + } else { + output[key] = source[key]; + } + } + } + } + } + return output +} + +function looseEqual$1 (a, b) { + if (a === b) { return true } + var isObjectA = isObject$3(a); + var isObjectB = isObject$3(b); + if (isObjectA && isObjectB) { + try { + var isArrayA = isArray$1(a); + var isArrayB = isArray$1(b); + if (isArrayA && isArrayB) { + return a.length === b.length && a.every(function (e, i) { + return looseEqual$1(e, b[i]) + }) + } else if (!isArrayA && !isArrayB) { + var keysA = Object.keys(a); + var keysB = Object.keys(b); + return keysA.length === keysB.length && keysA.every(function (key) { + return looseEqual$1(a[key], b[key]) + }) + } else { + /* istanbul ignore next */ + return false + } + } catch (e) { + /* istanbul ignore next */ + return false + } + } else if (!isObjectA && !isObjectB) { + return String(a) === String(b) + } else { + return false + } +} + +/** + * Sanitizes html special characters from input strings. For mitigating risk of XSS attacks. + * @param rawText The raw input from the user that should be escaped. + */ +function escapeHtml(rawText) { + return rawText + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, ''') +} + +/** + * Escapes html tags and special symbols from all provided params which were returned from parseArgs().params. + * This method performs an in-place operation on the params object. + * + * @param {any} params Parameters as provided from `parseArgs().params`. + * May be either an array of strings or a string->any map. + * + * @returns The manipulated `params` object. + */ +function escapeParams(params) { + if(params != null) { + Object.keys(params).forEach(function (key) { + if(typeof(params[key]) == 'string') { + params[key] = escapeHtml(params[key]); + } + }); + } + return params +} + +/* */ + +function extend$1 (Vue) { + if (!Vue.prototype.hasOwnProperty('$i18n')) { + // $FlowFixMe + Object.defineProperty(Vue.prototype, '$i18n', { + get: function get () { return this._i18n } + }); + } + + Vue.prototype.$t = function (key) { + var values = [], len = arguments.length - 1; + while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ]; + + var i18n = this.$i18n; + return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values )) + }; + + Vue.prototype.$tc = function (key, choice) { + var values = [], len = arguments.length - 2; + while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ]; + + var i18n = this.$i18n; + return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values )) + }; + + Vue.prototype.$te = function (key, locale) { + var i18n = this.$i18n; + return i18n._te(key, i18n.locale, i18n._getMessages(), locale) + }; + + Vue.prototype.$d = function (value) { + var ref; + + var args = [], len = arguments.length - 1; + while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ]; + return (ref = this.$i18n).d.apply(ref, [ value ].concat( args )) + }; + + Vue.prototype.$n = function (value) { + var ref; + + var args = [], len = arguments.length - 1; + while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ]; + return (ref = this.$i18n).n.apply(ref, [ value ].concat( args )) + }; +} + +/* */ + +var mixin$1 = { + beforeCreate: function beforeCreate () { + var options = this.$options; + options.i18n = options.i18n || (options.__i18n ? {} : null); + + if (options.i18n) { + if (options.i18n instanceof VueI18n) { + // init locale messages via custom blocks + if (options.__i18n) { + try { + var localeMessages = options.i18n && options.i18n.messages ? options.i18n.messages : {}; + options.__i18n.forEach(function (resource) { + localeMessages = merge(localeMessages, JSON.parse(resource)); + }); + Object.keys(localeMessages).forEach(function (locale) { + options.i18n.mergeLocaleMessage(locale, localeMessages[locale]); + }); + } catch (e) { + { + error("Cannot parse locale messages via custom blocks.", e); + } + } + } + this._i18n = options.i18n; + this._i18nWatcher = this._i18n.watchI18nData(); + } else if (isPlainObject$2(options.i18n)) { + var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n + ? this.$root.$i18n + : null; + // component local i18n + if (rootI18n) { + options.i18n.root = this.$root; + options.i18n.formatter = rootI18n.formatter; + options.i18n.fallbackLocale = rootI18n.fallbackLocale; + options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages; + options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn; + options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn; + options.i18n.pluralizationRules = rootI18n.pluralizationRules; + options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent; + } + + // init locale messages via custom blocks + if (options.__i18n) { + try { + var localeMessages$1 = options.i18n && options.i18n.messages ? options.i18n.messages : {}; + options.__i18n.forEach(function (resource) { + localeMessages$1 = merge(localeMessages$1, JSON.parse(resource)); + }); + options.i18n.messages = localeMessages$1; + } catch (e) { + { + warn$4("Cannot parse locale messages via custom blocks.", e); + } + } + } + + var ref = options.i18n; + var sharedMessages = ref.sharedMessages; + if (sharedMessages && isPlainObject$2(sharedMessages)) { + options.i18n.messages = merge(options.i18n.messages, sharedMessages); + } + + this._i18n = new VueI18n(options.i18n); + this._i18nWatcher = this._i18n.watchI18nData(); + + if (options.i18n.sync === undefined || !!options.i18n.sync) { + this._localeWatcher = this.$i18n.watchLocale(); + } + + if (rootI18n) { + rootI18n.onComponentInstanceCreated(this._i18n); + } + } else { + { + warn$4("Cannot be interpreted 'i18n' option."); + } + } + } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) { + // root i18n + this._i18n = this.$root.$i18n; + } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) { + // parent i18n + this._i18n = options.parent.$i18n; + } + }, + + beforeMount: function beforeMount () { + var options = this.$options; + options.i18n = options.i18n || (options.__i18n ? {} : null); + + if (options.i18n) { + if (options.i18n instanceof VueI18n) { + // init locale messages via custom blocks + this._i18n.subscribeDataChanging(this); + this._subscribing = true; + } else if (isPlainObject$2(options.i18n)) { + this._i18n.subscribeDataChanging(this); + this._subscribing = true; + } else { + { + warn$4("Cannot be interpreted 'i18n' option."); + } + } + } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) { + this._i18n.subscribeDataChanging(this); + this._subscribing = true; + } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) { + this._i18n.subscribeDataChanging(this); + this._subscribing = true; + } + }, + + beforeDestroy: function beforeDestroy () { + if (!this._i18n) { return } + + var self = this; + this.$nextTick(function () { + if (self._subscribing) { + self._i18n.unsubscribeDataChanging(self); + delete self._subscribing; + } + + if (self._i18nWatcher) { + self._i18nWatcher(); + self._i18n.destroyVM(); + delete self._i18nWatcher; + } + + if (self._localeWatcher) { + self._localeWatcher(); + delete self._localeWatcher; + } + }); + } +}; + +/* */ + +var interpolationComponent = { + name: 'i18n', + functional: true, + props: { + tag: { + type: [String, Boolean, Object], + default: 'span' + }, + path: { + type: String, + required: true + }, + locale: { + type: String + }, + places: { + type: [Array, Object] + } + }, + render: function render (h, ref) { + var data = ref.data; + var parent = ref.parent; + var props = ref.props; + var slots = ref.slots; + + var $i18n = parent.$i18n; + if (!$i18n) { + { + warn$4('Cannot find VueI18n instance!'); + } + return + } + + var path = props.path; + var locale = props.locale; + var places = props.places; + var params = slots(); + var children = $i18n.i( + path, + locale, + onlyHasDefaultPlace(params) || places + ? useLegacyPlaces(params.default, places) + : params + ); + + var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span'; + return tag ? h(tag, data, children) : children + } +}; + +function onlyHasDefaultPlace (params) { + var prop; + for (prop in params) { + if (prop !== 'default') { return false } + } + return Boolean(prop) +} + +function useLegacyPlaces (children, places) { + var params = places ? createParamsFromPlaces(places) : {}; + + if (!children) { return params } + + // Filter empty text nodes + children = children.filter(function (child) { + return child.tag || child.text.trim() !== '' + }); + + var everyPlace = children.every(vnodeHasPlaceAttribute); + if ( everyPlace) { + warn$4('`place` attribute is deprecated in next major version. Please switch to Vue slots.'); + } + + return children.reduce( + everyPlace ? assignChildPlace : assignChildIndex, + params + ) +} + +function createParamsFromPlaces (places) { + { + warn$4('`places` prop is deprecated in next major version. Please switch to Vue slots.'); + } + + return Array.isArray(places) + ? places.reduce(assignChildIndex, {}) + : Object.assign({}, places) +} + +function assignChildPlace (params, child) { + if (child.data && child.data.attrs && child.data.attrs.place) { + params[child.data.attrs.place] = child; + } + return params +} + +function assignChildIndex (params, child, index) { + params[index] = child; + return params +} + +function vnodeHasPlaceAttribute (vnode) { + return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place) +} + +/* */ + +var numberComponent = { + name: 'i18n-n', + functional: true, + props: { + tag: { + type: [String, Boolean, Object], + default: 'span' + }, + value: { + type: Number, + required: true + }, + format: { + type: [String, Object] + }, + locale: { + type: String + } + }, + render: function render (h, ref) { + var props = ref.props; + var parent = ref.parent; + var data = ref.data; + + var i18n = parent.$i18n; + + if (!i18n) { + { + warn$4('Cannot find VueI18n instance!'); + } + return null + } + + var key = null; + var options = null; + + if (isString(props.format)) { + key = props.format; + } else if (isObject$3(props.format)) { + if (props.format.key) { + key = props.format.key; + } + + // Filter out number format options only + options = Object.keys(props.format).reduce(function (acc, prop) { + var obj; + + if (includes(numberFormatKeys, prop)) { + return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj )) + } + return acc + }, null); + } + + var locale = props.locale || i18n.locale; + var parts = i18n._ntp(props.value, locale, key, options); + + var values = parts.map(function (part, index) { + var obj; + + var slot = data.scopedSlots && data.scopedSlots[part.type]; + return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value + }); + + var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span'; + return tag + ? h(tag, { + attrs: data.attrs, + 'class': data['class'], + staticClass: data.staticClass + }, values) + : values + } +}; + +/* */ + +function bind$2 (el, binding, vnode) { + if (!assert$2(el, vnode)) { return } + + t(el, binding, vnode); +} + +function update$1 (el, binding, vnode, oldVNode) { + if (!assert$2(el, vnode)) { return } + + var i18n = vnode.context.$i18n; + if (localeEqual(el, vnode) && + (looseEqual$1(binding.value, binding.oldValue) && + looseEqual$1(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return } + + t(el, binding, vnode); +} + +function unbind (el, binding, vnode, oldVNode) { + var vm = vnode.context; + if (!vm) { + warn$4('Vue instance does not exists in VNode context'); + return + } + + var i18n = vnode.context.$i18n || {}; + if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) { + el.textContent = ''; + } + el._vt = undefined; + delete el['_vt']; + el._locale = undefined; + delete el['_locale']; + el._localeMessage = undefined; + delete el['_localeMessage']; +} + +function assert$2 (el, vnode) { + var vm = vnode.context; + if (!vm) { + warn$4('Vue instance does not exists in VNode context'); + return false + } + + if (!vm.$i18n) { + warn$4('VueI18n instance does not exists in Vue instance'); + return false + } + + return true +} + +function localeEqual (el, vnode) { + var vm = vnode.context; + return el._locale === vm.$i18n.locale +} + +function t (el, binding, vnode) { + var ref$1, ref$2; + + var value = binding.value; + + var ref = parseValue(value); + var path = ref.path; + var locale = ref.locale; + var args = ref.args; + var choice = ref.choice; + if (!path && !locale && !args) { + warn$4('value type not supported'); + return + } + + if (!path) { + warn$4('`path` is required in v-t directive'); + return + } + + var vm = vnode.context; + if (choice != null) { + el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) )); + } else { + el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) )); + } + el._locale = vm.$i18n.locale; + el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale); +} + +function parseValue (value) { + var path; + var locale; + var args; + var choice; + + if (isString(value)) { + path = value; + } else if (isPlainObject$2(value)) { + path = value.path; + locale = value.locale; + args = value.args; + choice = value.choice; + } + + return { path: path, locale: locale, args: args, choice: choice } +} + +function makeParams (locale, args) { + var params = []; + + locale && params.push(locale); + if (args && (Array.isArray(args) || isPlainObject$2(args))) { + params.push(args); + } + + return params +} + +var Vue$2; + +function install$2 (_Vue) { + /* istanbul ignore if */ + if ( install$2.installed && _Vue === Vue$2) { + warn$4('already installed.'); + return + } + install$2.installed = true; + + Vue$2 = _Vue; + + var version = (Vue$2.version && Number(Vue$2.version.split('.')[0])) || -1; + /* istanbul ignore if */ + if ( version < 2) { + warn$4(("vue-i18n (" + (install$2.version) + ") need to use Vue 2.0 or later (Vue: " + (Vue$2.version) + ").")); + return + } + + extend$1(Vue$2); + Vue$2.mixin(mixin$1); + Vue$2.directive('t', { bind: bind$2, update: update$1, unbind: unbind }); + Vue$2.component(interpolationComponent.name, interpolationComponent); + Vue$2.component(numberComponent.name, numberComponent); + + // use simple mergeStrategies to prevent i18n instance lose '__proto__' + var strats = Vue$2.config.optionMergeStrategies; + strats.i18n = function (parentVal, childVal) { + return childVal === undefined + ? parentVal + : childVal + }; +} + +/* */ + +var BaseFormatter = function BaseFormatter () { + this._caches = Object.create(null); +}; + +BaseFormatter.prototype.interpolate = function interpolate (message, values) { + if (!values) { + return [message] + } + var tokens = this._caches[message]; + if (!tokens) { + tokens = parse$1(message); + this._caches[message] = tokens; + } + return compile(tokens, values) +}; + + + +var RE_TOKEN_LIST_VALUE = /^(?:\d)+/; +var RE_TOKEN_NAMED_VALUE = /^(?:\w)+/; + +function parse$1 (format) { + var tokens = []; + var position = 0; + + var text = ''; + while (position < format.length) { + var char = format[position++]; + if (char === '{') { + if (text) { + tokens.push({ type: 'text', value: text }); + } + + text = ''; + var sub = ''; + char = format[position++]; + while (char !== undefined && char !== '}') { + sub += char; + char = format[position++]; + } + var isClosed = char === '}'; + + var type = RE_TOKEN_LIST_VALUE.test(sub) + ? 'list' + : isClosed && RE_TOKEN_NAMED_VALUE.test(sub) + ? 'named' + : 'unknown'; + tokens.push({ value: sub, type: type }); + } else if (char === '%') { + // when found rails i18n syntax, skip text capture + if (format[(position)] !== '{') { + text += char; + } + } else { + text += char; + } + } + + text && tokens.push({ type: 'text', value: text }); + + return tokens +} + +function compile (tokens, values) { + var compiled = []; + var index = 0; + + var mode = Array.isArray(values) + ? 'list' + : isObject$3(values) + ? 'named' + : 'unknown'; + if (mode === 'unknown') { return compiled } + + while (index < tokens.length) { + var token = tokens[index]; + switch (token.type) { + case 'text': + compiled.push(token.value); + break + case 'list': + compiled.push(values[parseInt(token.value, 10)]); + break + case 'named': + if (mode === 'named') { + compiled.push((values)[token.value]); + } else { + { + warn$4(("Type of token '" + (token.type) + "' and format of value '" + mode + "' don't match!")); + } + } + break + case 'unknown': + { + warn$4("Detect 'unknown' type of token!"); + } + break + } + index++; + } + + return compiled +} + +/* */ + +/** + * Path parser + * - Inspired: + * Vue.js Path parser + */ + +// actions +var APPEND = 0; +var PUSH = 1; +var INC_SUB_PATH_DEPTH = 2; +var PUSH_SUB_PATH = 3; + +// states +var BEFORE_PATH = 0; +var IN_PATH = 1; +var BEFORE_IDENT = 2; +var IN_IDENT = 3; +var IN_SUB_PATH = 4; +var IN_SINGLE_QUOTE = 5; +var IN_DOUBLE_QUOTE = 6; +var AFTER_PATH = 7; +var ERROR = 8; + +var pathStateMachine = []; + +pathStateMachine[BEFORE_PATH] = { + 'ws': [BEFORE_PATH], + 'ident': [IN_IDENT, APPEND], + '[': [IN_SUB_PATH], + 'eof': [AFTER_PATH] +}; + +pathStateMachine[IN_PATH] = { + 'ws': [IN_PATH], + '.': [BEFORE_IDENT], + '[': [IN_SUB_PATH], + 'eof': [AFTER_PATH] +}; + +pathStateMachine[BEFORE_IDENT] = { + 'ws': [BEFORE_IDENT], + 'ident': [IN_IDENT, APPEND], + '0': [IN_IDENT, APPEND], + 'number': [IN_IDENT, APPEND] +}; + +pathStateMachine[IN_IDENT] = { + 'ident': [IN_IDENT, APPEND], + '0': [IN_IDENT, APPEND], + 'number': [IN_IDENT, APPEND], + 'ws': [IN_PATH, PUSH], + '.': [BEFORE_IDENT, PUSH], + '[': [IN_SUB_PATH, PUSH], + 'eof': [AFTER_PATH, PUSH] +}; + +pathStateMachine[IN_SUB_PATH] = { + "'": [IN_SINGLE_QUOTE, APPEND], + '"': [IN_DOUBLE_QUOTE, APPEND], + '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH], + ']': [IN_PATH, PUSH_SUB_PATH], + 'eof': ERROR, + 'else': [IN_SUB_PATH, APPEND] +}; + +pathStateMachine[IN_SINGLE_QUOTE] = { + "'": [IN_SUB_PATH, APPEND], + 'eof': ERROR, + 'else': [IN_SINGLE_QUOTE, APPEND] +}; + +pathStateMachine[IN_DOUBLE_QUOTE] = { + '"': [IN_SUB_PATH, APPEND], + 'eof': ERROR, + 'else': [IN_DOUBLE_QUOTE, APPEND] +}; + +/** + * Check if an expression is a literal value. + */ + +var literalValueRE = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/; +function isLiteral (exp) { + return literalValueRE.test(exp) +} + +/** + * Strip quotes from a string + */ + +function stripQuotes (str) { + var a = str.charCodeAt(0); + var b = str.charCodeAt(str.length - 1); + return a === b && (a === 0x22 || a === 0x27) + ? str.slice(1, -1) + : str +} + +/** + * Determine the type of a character in a keypath. + */ + +function getPathCharType (ch) { + if (ch === undefined || ch === null) { return 'eof' } + + var code = ch.charCodeAt(0); + + switch (code) { + case 0x5B: // [ + case 0x5D: // ] + case 0x2E: // . + case 0x22: // " + case 0x27: // ' + return ch + + case 0x5F: // _ + case 0x24: // $ + case 0x2D: // - + return 'ident' + + case 0x09: // Tab + case 0x0A: // Newline + case 0x0D: // Return + case 0xA0: // No-break space + case 0xFEFF: // Byte Order Mark + case 0x2028: // Line Separator + case 0x2029: // Paragraph Separator + return 'ws' + } + + return 'ident' +} + +/** + * Format a subPath, return its plain form if it is + * a literal string or number. Otherwise prepend the + * dynamic indicator (*). + */ + +function formatSubPath (path) { + var trimmed = path.trim(); + // invalid leading 0 + if (path.charAt(0) === '0' && isNaN(path)) { return false } + + return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed +} + +/** + * Parse a string path into an array of segments + */ + +function parse$1$1 (path) { + var keys = []; + var index = -1; + var mode = BEFORE_PATH; + var subPathDepth = 0; + var c; + var key; + var newChar; + var type; + var transition; + var action; + var typeMap; + var actions = []; + + actions[PUSH] = function () { + if (key !== undefined) { + keys.push(key); + key = undefined; + } + }; + + actions[APPEND] = function () { + if (key === undefined) { + key = newChar; + } else { + key += newChar; + } + }; + + actions[INC_SUB_PATH_DEPTH] = function () { + actions[APPEND](); + subPathDepth++; + }; + + actions[PUSH_SUB_PATH] = function () { + if (subPathDepth > 0) { + subPathDepth--; + mode = IN_SUB_PATH; + actions[APPEND](); + } else { + subPathDepth = 0; + if (key === undefined) { return false } + key = formatSubPath(key); + if (key === false) { + return false + } else { + actions[PUSH](); + } + } + }; + + function maybeUnescapeQuote () { + var nextChar = path[index + 1]; + if ((mode === IN_SINGLE_QUOTE && nextChar === "'") || + (mode === IN_DOUBLE_QUOTE && nextChar === '"')) { + index++; + newChar = '\\' + nextChar; + actions[APPEND](); + return true + } + } + + while (mode !== null) { + index++; + c = path[index]; + + if (c === '\\' && maybeUnescapeQuote()) { + continue + } + + type = getPathCharType(c); + typeMap = pathStateMachine[mode]; + transition = typeMap[type] || typeMap['else'] || ERROR; + + if (transition === ERROR) { + return // parse error + } + + mode = transition[0]; + action = actions[transition[1]]; + if (action) { + newChar = transition[2]; + newChar = newChar === undefined + ? c + : newChar; + if (action() === false) { + return + } + } + + if (mode === AFTER_PATH) { + return keys + } + } +} + + + + + +var I18nPath = function I18nPath () { + this._cache = Object.create(null); +}; + +/** + * External parse that check for a cache hit first + */ +I18nPath.prototype.parsePath = function parsePath (path) { + var hit = this._cache[path]; + if (!hit) { + hit = parse$1$1(path); + if (hit) { + this._cache[path] = hit; + } + } + return hit || [] +}; + +/** + * Get path value from path string + */ +I18nPath.prototype.getPathValue = function getPathValue (obj, path) { + if (!isObject$3(obj)) { return null } + + var paths = this.parsePath(path); + if (paths.length === 0) { + return null + } else { + var length = paths.length; + var last = obj; + var i = 0; + while (i < length) { + var value = last[paths[i]]; + if (value === undefined) { + return null + } + last = value; + i++; + } + + return last + } +}; + +/* */ + + + +var htmlTagMatcher = /<\/?[\w\s="/.':;#-\/]+>/; +var linkKeyMatcher = /(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g; +var linkKeyPrefixMatcher = /^@(?:\.([a-z]+))?:/; +var bracketsMatcher = /[()]/g; +var defaultModifiers = { + 'upper': function (str) { return str.toLocaleUpperCase(); }, + 'lower': function (str) { return str.toLocaleLowerCase(); }, + 'capitalize': function (str) { return ("" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); } +}; + +var defaultFormatter = new BaseFormatter(); + +var VueI18n = function VueI18n (options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + // Auto install if it is not done yet and `window` has `Vue`. + // To allow users to avoid auto-installation in some cases, + // this code should be placed here. See #290 + /* istanbul ignore if */ + if (!Vue$2 && typeof window !== 'undefined' && window.Vue) { + install$2(window.Vue); + } + + var locale = options.locale || 'en-US'; + var fallbackLocale = options.fallbackLocale === false + ? false + : options.fallbackLocale || 'en-US'; + var messages = options.messages || {}; + var dateTimeFormats = options.dateTimeFormats || {}; + var numberFormats = options.numberFormats || {}; + + this._vm = null; + this._formatter = options.formatter || defaultFormatter; + this._modifiers = options.modifiers || {}; + this._missing = options.missing || null; + this._root = options.root || null; + this._sync = options.sync === undefined ? true : !!options.sync; + this._fallbackRoot = options.fallbackRoot === undefined + ? true + : !!options.fallbackRoot; + this._formatFallbackMessages = options.formatFallbackMessages === undefined + ? false + : !!options.formatFallbackMessages; + this._silentTranslationWarn = options.silentTranslationWarn === undefined + ? false + : options.silentTranslationWarn; + this._silentFallbackWarn = options.silentFallbackWarn === undefined + ? false + : !!options.silentFallbackWarn; + this._dateTimeFormatters = {}; + this._numberFormatters = {}; + this._path = new I18nPath(); + this._dataListeners = []; + this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null; + this._preserveDirectiveContent = options.preserveDirectiveContent === undefined + ? false + : !!options.preserveDirectiveContent; + this.pluralizationRules = options.pluralizationRules || {}; + this._warnHtmlInMessage = options.warnHtmlInMessage || 'off'; + this._postTranslation = options.postTranslation || null; + this._escapeParameterHtml = options.escapeParameterHtml || false; + + /** + * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)` + * @param choicesLength {number} an overall amount of available choices + * @returns a final choice index + */ + this.getChoiceIndex = function (choice, choicesLength) { + var thisPrototype = Object.getPrototypeOf(this$1); + if (thisPrototype && thisPrototype.getChoiceIndex) { + var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex); + return (prototypeGetChoiceIndex).call(this$1, choice, choicesLength) + } + + // Default (old) getChoiceIndex implementation - english-compatible + var defaultImpl = function (_choice, _choicesLength) { + _choice = Math.abs(_choice); + + if (_choicesLength === 2) { + return _choice + ? _choice > 1 + ? 1 + : 0 + : 1 + } + + return _choice ? Math.min(_choice, 2) : 0 + }; + + if (this$1.locale in this$1.pluralizationRules) { + return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength]) + } else { + return defaultImpl(choice, choicesLength) + } + }; + + + this._exist = function (message, key) { + if (!message || !key) { return false } + if (!isNull(this$1._path.getPathValue(message, key))) { return true } + // fallback for flat key + if (message[key]) { return true } + return false + }; + + if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') { + Object.keys(messages).forEach(function (locale) { + this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]); + }); + } + + this._initVM({ + locale: locale, + fallbackLocale: fallbackLocale, + messages: messages, + dateTimeFormats: dateTimeFormats, + numberFormats: numberFormats + }); +}; + +var prototypeAccessors$2 = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true } }; + +VueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) { + var paths = []; + + var fn = function (level, locale, message, paths) { + if (isPlainObject$2(message)) { + Object.keys(message).forEach(function (key) { + var val = message[key]; + if (isPlainObject$2(val)) { + paths.push(key); + paths.push('.'); + fn(level, locale, val, paths); + paths.pop(); + paths.pop(); + } else { + paths.push(key); + fn(level, locale, val, paths); + paths.pop(); + } + }); + } else if (isArray$1(message)) { + message.forEach(function (item, index) { + if (isPlainObject$2(item)) { + paths.push(("[" + index + "]")); + paths.push('.'); + fn(level, locale, item, paths); + paths.pop(); + paths.pop(); + } else { + paths.push(("[" + index + "]")); + fn(level, locale, item, paths); + paths.pop(); + } + }); + } else if (isString(message)) { + var ret = htmlTagMatcher.test(message); + if (ret) { + var msg = "Detected HTML in message '" + message + "' of keypath '" + (paths.join('')) + "' at '" + locale + "'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp"; + if (level === 'warn') { + warn$4(msg); + } else if (level === 'error') { + error(msg); + } + } + } + }; + + fn(level, locale, message, paths); +}; + +VueI18n.prototype._initVM = function _initVM (data) { + var silent = Vue$2.config.silent; + Vue$2.config.silent = true; + this._vm = new Vue$2({ data: data }); + Vue$2.config.silent = silent; +}; + +VueI18n.prototype.destroyVM = function destroyVM () { + this._vm.$destroy(); +}; + +VueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) { + this._dataListeners.push(vm); +}; + +VueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) { + remove$3(this._dataListeners, vm); +}; + +VueI18n.prototype.watchI18nData = function watchI18nData () { + var self = this; + return this._vm.$watch('$data', function () { + var i = self._dataListeners.length; + while (i--) { + Vue$2.nextTick(function () { + self._dataListeners[i] && self._dataListeners[i].$forceUpdate(); + }); + } + }, { deep: true }) +}; + +VueI18n.prototype.watchLocale = function watchLocale () { + /* istanbul ignore if */ + if (!this._sync || !this._root) { return null } + var target = this._vm; + return this._root.$i18n.vm.$watch('locale', function (val) { + target.$set(target, 'locale', val); + target.$forceUpdate(); + }, { immediate: true }) +}; + +VueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) { + if (this._componentInstanceCreatedListener) { + this._componentInstanceCreatedListener(newI18n, this); + } +}; + +prototypeAccessors$2.vm.get = function () { return this._vm }; + +prototypeAccessors$2.messages.get = function () { return looseClone(this._getMessages()) }; +prototypeAccessors$2.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) }; +prototypeAccessors$2.numberFormats.get = function () { return looseClone(this._getNumberFormats()) }; +prototypeAccessors$2.availableLocales.get = function () { return Object.keys(this.messages).sort() }; + +prototypeAccessors$2.locale.get = function () { return this._vm.locale }; +prototypeAccessors$2.locale.set = function (locale) { + this._vm.$set(this._vm, 'locale', locale); +}; + +prototypeAccessors$2.fallbackLocale.get = function () { return this._vm.fallbackLocale }; +prototypeAccessors$2.fallbackLocale.set = function (locale) { + this._localeChainCache = {}; + this._vm.$set(this._vm, 'fallbackLocale', locale); +}; + +prototypeAccessors$2.formatFallbackMessages.get = function () { return this._formatFallbackMessages }; +prototypeAccessors$2.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; }; + +prototypeAccessors$2.missing.get = function () { return this._missing }; +prototypeAccessors$2.missing.set = function (handler) { this._missing = handler; }; + +prototypeAccessors$2.formatter.get = function () { return this._formatter }; +prototypeAccessors$2.formatter.set = function (formatter) { this._formatter = formatter; }; + +prototypeAccessors$2.silentTranslationWarn.get = function () { return this._silentTranslationWarn }; +prototypeAccessors$2.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; }; + +prototypeAccessors$2.silentFallbackWarn.get = function () { return this._silentFallbackWarn }; +prototypeAccessors$2.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; }; + +prototypeAccessors$2.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent }; +prototypeAccessors$2.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; }; + +prototypeAccessors$2.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage }; +prototypeAccessors$2.warnHtmlInMessage.set = function (level) { + var this$1 = this; + + var orgLevel = this._warnHtmlInMessage; + this._warnHtmlInMessage = level; + if (orgLevel !== level && (level === 'warn' || level === 'error')) { + var messages = this._getMessages(); + Object.keys(messages).forEach(function (locale) { + this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]); + }); + } +}; + +prototypeAccessors$2.postTranslation.get = function () { return this._postTranslation }; +prototypeAccessors$2.postTranslation.set = function (handler) { this._postTranslation = handler; }; + +VueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages }; +VueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats }; +VueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats }; + +VueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) { + if (!isNull(result)) { return result } + if (this._missing) { + var missingRet = this._missing.apply(null, [locale, key, vm, values]); + if (isString(missingRet)) { + return missingRet + } + } else { + if ( !this._isSilentTranslationWarn(key)) { + warn$4( + "Cannot translate the value of keypath '" + key + "'. " + + 'Use the value of keypath as default.' + ); + } + } + + if (this._formatFallbackMessages) { + var parsedArgs = parseArgs.apply(void 0, values); + return this._render(key, interpolateMode, parsedArgs.params, key) + } else { + return key + } +}; + +VueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) { + return !val && !isNull(this._root) && this._fallbackRoot +}; + +VueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) { + return this._silentFallbackWarn instanceof RegExp + ? this._silentFallbackWarn.test(key) + : this._silentFallbackWarn +}; + +VueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) { + return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale) +}; + +VueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) { + return this._silentTranslationWarn instanceof RegExp + ? this._silentTranslationWarn.test(key) + : this._silentTranslationWarn +}; + +VueI18n.prototype._interpolate = function _interpolate ( + locale, + message, + key, + host, + interpolateMode, + values, + visitedLinkStack +) { + if (!message) { return null } + + var pathRet = this._path.getPathValue(message, key); + if (isArray$1(pathRet) || isPlainObject$2(pathRet)) { return pathRet } + + var ret; + if (isNull(pathRet)) { + /* istanbul ignore else */ + if (isPlainObject$2(message)) { + ret = message[key]; + if (!(isString(ret) || isFunction$1(ret))) { + if ( !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) { + warn$4(("Value of key '" + key + "' is not a string or function !")); + } + return null + } + } else { + return null + } + } else { + /* istanbul ignore else */ + if (isString(pathRet) || isFunction$1(pathRet)) { + ret = pathRet; + } else { + if ( !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) { + warn$4(("Value of key '" + key + "' is not a string or function!")); + } + return null + } + } + + // Check for the existence of links within the translated string + if (isString(ret) && (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0)) { + ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack); + } + + return this._render(ret, interpolateMode, values, key) +}; + +VueI18n.prototype._link = function _link ( + locale, + message, + str, + host, + interpolateMode, + values, + visitedLinkStack +) { + var ret = str; + + // Match all the links within the local + // We are going to replace each of + // them with its translation + var matches = ret.match(linkKeyMatcher); + for (var idx in matches) { + // ie compatible: filter custom array + // prototype method + if (!matches.hasOwnProperty(idx)) { + continue + } + var link = matches[idx]; + var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher); + var linkPrefix = linkKeyPrefixMatches[0]; + var formatterName = linkKeyPrefixMatches[1]; + + // Remove the leading @:, @.case: and the brackets + var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, ''); + + if (includes(visitedLinkStack, linkPlaceholder)) { + { + warn$4(("Circular reference found. \"" + link + "\" is already visited in the chain of " + (visitedLinkStack.reverse().join(' <- ')))); + } + return ret + } + visitedLinkStack.push(linkPlaceholder); + + // Translate the link + var translated = this._interpolate( + locale, message, linkPlaceholder, host, + interpolateMode === 'raw' ? 'string' : interpolateMode, + interpolateMode === 'raw' ? undefined : values, + visitedLinkStack + ); + + if (this._isFallbackRoot(translated)) { + if ( !this._isSilentTranslationWarn(linkPlaceholder)) { + warn$4(("Fall back to translate the link placeholder '" + linkPlaceholder + "' with root locale.")); + } + /* istanbul ignore if */ + if (!this._root) { throw Error('unexpected error') } + var root = this._root.$i18n; + translated = root._translate( + root._getMessages(), root.locale, root.fallbackLocale, + linkPlaceholder, host, interpolateMode, values + ); + } + translated = this._warnDefault( + locale, linkPlaceholder, translated, host, + isArray$1(values) ? values : [values], + interpolateMode + ); + + if (this._modifiers.hasOwnProperty(formatterName)) { + translated = this._modifiers[formatterName](translated); + } else if (defaultModifiers.hasOwnProperty(formatterName)) { + translated = defaultModifiers[formatterName](translated); + } + + visitedLinkStack.pop(); + + // Replace the link with the translated + ret = !translated ? ret : ret.replace(link, translated); + } + + return ret +}; + +VueI18n.prototype._createMessageContext = function _createMessageContext (values) { + var _list = isArray$1(values) ? values : []; + var _named = isObject$3(values) ? values : {}; + var list = function (index) { return _list[index]; }; + var named = function (key) { return _named[key]; }; + return { + list: list, + named: named + } +}; + +VueI18n.prototype._render = function _render (message, interpolateMode, values, path) { + if (isFunction$1(message)) { + return message(this._createMessageContext(values)) + } + + var ret = this._formatter.interpolate(message, values, path); + + // If the custom formatter refuses to work - apply the default one + if (!ret) { + ret = defaultFormatter.interpolate(message, values, path); + } + + // if interpolateMode is **not** 'string' ('row'), + // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter + return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret +}; + +VueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) { + var follow = false; + if (!includes(chain, item)) { + follow = true; + if (item) { + follow = item[item.length - 1] !== '!'; + item = item.replace(/!/g, ''); + chain.push(item); + if (blocks && blocks[item]) { + follow = blocks[item]; + } + } + } + return follow +}; + +VueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) { + var follow; + var tokens = locale.split('-'); + do { + var item = tokens.join('-'); + follow = this._appendItemToChain(chain, item, blocks); + tokens.splice(-1, 1); + } while (tokens.length && (follow === true)) + return follow +}; + +VueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) { + var follow = true; + for (var i = 0; (i < block.length) && (isBoolean$1(follow)); i++) { + var locale = block[i]; + if (isString(locale)) { + follow = this._appendLocaleToChain(chain, locale, blocks); + } + } + return follow +}; + +VueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) { + if (start === '') { return [] } + + if (!this._localeChainCache) { + this._localeChainCache = {}; + } + + var chain = this._localeChainCache[start]; + if (!chain) { + if (!fallbackLocale) { + fallbackLocale = this.fallbackLocale; + } + chain = []; + + // first block defined by start + var block = [start]; + + // while any intervening block found + while (isArray$1(block)) { + block = this._appendBlockToChain( + chain, + block, + fallbackLocale + ); + } + + // last block defined by default + var defaults; + if (isArray$1(fallbackLocale)) { + defaults = fallbackLocale; + } else if (isObject$3(fallbackLocale)) { + /* $FlowFixMe */ + if (fallbackLocale['default']) { + defaults = fallbackLocale['default']; + } else { + defaults = null; + } + } else { + defaults = fallbackLocale; + } + + // convert defaults to array + if (isString(defaults)) { + block = [defaults]; + } else { + block = defaults; + } + if (block) { + this._appendBlockToChain( + chain, + block, + null + ); + } + this._localeChainCache[start] = chain; + } + return chain +}; + +VueI18n.prototype._translate = function _translate ( + messages, + locale, + fallback, + key, + host, + interpolateMode, + args +) { + var chain = this._getLocaleChain(locale, fallback); + var res; + for (var i = 0; i < chain.length; i++) { + var step = chain[i]; + res = + this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]); + if (!isNull(res)) { + if (step !== locale && "development" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) { + warn$4(("Fall back to translate the keypath '" + key + "' with '" + step + "' locale.")); + } + return res + } + } + return null +}; + +VueI18n.prototype._t = function _t (key, _locale, messages, host) { + var ref; + + var values = [], len = arguments.length - 4; + while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ]; + if (!key) { return '' } + + var parsedArgs = parseArgs.apply(void 0, values); + if(this._escapeParameterHtml) { + parsedArgs.params = escapeParams(parsedArgs.params); + } + + var locale = parsedArgs.locale || _locale; + + var ret = this._translate( + messages, locale, this.fallbackLocale, key, + host, 'string', parsedArgs.params + ); + if (this._isFallbackRoot(ret)) { + if ( !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) { + warn$4(("Fall back to translate the keypath '" + key + "' with root locale.")); + } + /* istanbul ignore if */ + if (!this._root) { throw Error('unexpected error') } + return (ref = this._root).$t.apply(ref, [ key ].concat( values )) + } else { + ret = this._warnDefault(locale, key, ret, host, values, 'string'); + if (this._postTranslation && ret !== null && ret !== undefined) { + ret = this._postTranslation(ret, key); + } + return ret + } +}; + +VueI18n.prototype.t = function t (key) { + var ref; + + var values = [], len = arguments.length - 1; + while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ]; + return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values )) +}; + +VueI18n.prototype._i = function _i (key, locale, messages, host, values) { + var ret = + this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values); + if (this._isFallbackRoot(ret)) { + if ( !this._isSilentTranslationWarn(key)) { + warn$4(("Fall back to interpolate the keypath '" + key + "' with root locale.")); + } + if (!this._root) { throw Error('unexpected error') } + return this._root.$i18n.i(key, locale, values) + } else { + return this._warnDefault(locale, key, ret, host, [values], 'raw') + } +}; + +VueI18n.prototype.i = function i (key, locale, values) { + /* istanbul ignore if */ + if (!key) { return '' } + + if (!isString(locale)) { + locale = this.locale; + } + + return this._i(key, locale, this._getMessages(), null, values) +}; + +VueI18n.prototype._tc = function _tc ( + key, + _locale, + messages, + host, + choice +) { + var ref; + + var values = [], len = arguments.length - 5; + while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ]; + if (!key) { return '' } + if (choice === undefined) { + choice = 1; + } + + var predefined = { 'count': choice, 'n': choice }; + var parsedArgs = parseArgs.apply(void 0, values); + parsedArgs.params = Object.assign(predefined, parsedArgs.params); + values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params]; + return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice) +}; + +VueI18n.prototype.fetchChoice = function fetchChoice (message, choice) { + /* istanbul ignore if */ + if (!message || !isString(message)) { return null } + var choices = message.split('|'); + + choice = this.getChoiceIndex(choice, choices.length); + if (!choices[choice]) { return message } + return choices[choice].trim() +}; + +VueI18n.prototype.tc = function tc (key, choice) { + var ref; + + var values = [], len = arguments.length - 2; + while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ]; + return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values )) +}; + +VueI18n.prototype._te = function _te (key, locale, messages) { + var args = [], len = arguments.length - 3; + while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ]; + + var _locale = parseArgs.apply(void 0, args).locale || locale; + return this._exist(messages[_locale], key) +}; + +VueI18n.prototype.te = function te (key, locale) { + return this._te(key, this.locale, this._getMessages(), locale) +}; + +VueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) { + return looseClone(this._vm.messages[locale] || {}) +}; + +VueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) { + if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') { + this._checkLocaleMessage(locale, this._warnHtmlInMessage, message); + } + this._vm.$set(this._vm.messages, locale, message); +}; + +VueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) { + if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') { + this._checkLocaleMessage(locale, this._warnHtmlInMessage, message); + } + this._vm.$set(this._vm.messages, locale, merge({}, this._vm.messages[locale] || {}, message)); +}; + +VueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) { + return looseClone(this._vm.dateTimeFormats[locale] || {}) +}; + +VueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) { + this._vm.$set(this._vm.dateTimeFormats, locale, format); + this._clearDateTimeFormat(locale, format); +}; + +VueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) { + this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format)); + this._clearDateTimeFormat(locale, format); +}; + +VueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) { + for (var key in format) { + var id = locale + "__" + key; + + if (!this._dateTimeFormatters.hasOwnProperty(id)) { + continue + } + + delete this._dateTimeFormatters[id]; + } +}; + +VueI18n.prototype._localizeDateTime = function _localizeDateTime ( + value, + locale, + fallback, + dateTimeFormats, + key +) { + var _locale = locale; + var formats = dateTimeFormats[_locale]; + + var chain = this._getLocaleChain(locale, fallback); + for (var i = 0; i < chain.length; i++) { + var current = _locale; + var step = chain[i]; + formats = dateTimeFormats[step]; + _locale = step; + // fallback locale + if (isNull(formats) || isNull(formats[key])) { + if (step !== locale && "development" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) { + warn$4(("Fall back to '" + step + "' datetime formats from '" + current + "' datetime formats.")); + } + } else { + break + } + } + + if (isNull(formats) || isNull(formats[key])) { + return null + } else { + var format = formats[key]; + var id = _locale + "__" + key; + var formatter = this._dateTimeFormatters[id]; + if (!formatter) { + formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format); + } + return formatter.format(value) + } +}; + +VueI18n.prototype._d = function _d (value, locale, key) { + /* istanbul ignore if */ + if ( !VueI18n.availabilities.dateTimeFormat) { + warn$4('Cannot format a Date value due to not supported Intl.DateTimeFormat.'); + return '' + } + + if (!key) { + return new Intl.DateTimeFormat(locale).format(value) + } + + var ret = + this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key); + if (this._isFallbackRoot(ret)) { + if ( !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) { + warn$4(("Fall back to datetime localization of root: key '" + key + "'.")); + } + /* istanbul ignore if */ + if (!this._root) { throw Error('unexpected error') } + return this._root.$i18n.d(value, key, locale) + } else { + return ret || '' + } +}; + +VueI18n.prototype.d = function d (value) { + var args = [], len = arguments.length - 1; + while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ]; + + var locale = this.locale; + var key = null; + + if (args.length === 1) { + if (isString(args[0])) { + key = args[0]; + } else if (isObject$3(args[0])) { + if (args[0].locale) { + locale = args[0].locale; + } + if (args[0].key) { + key = args[0].key; + } + } + } else if (args.length === 2) { + if (isString(args[0])) { + key = args[0]; + } + if (isString(args[1])) { + locale = args[1]; + } + } + + return this._d(value, locale, key) +}; + +VueI18n.prototype.getNumberFormat = function getNumberFormat (locale) { + return looseClone(this._vm.numberFormats[locale] || {}) +}; + +VueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) { + this._vm.$set(this._vm.numberFormats, locale, format); + this._clearNumberFormat(locale, format); +}; + +VueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) { + this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format)); + this._clearNumberFormat(locale, format); +}; + +VueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) { + for (var key in format) { + var id = locale + "__" + key; + + if (!this._numberFormatters.hasOwnProperty(id)) { + continue + } + + delete this._numberFormatters[id]; + } +}; + +VueI18n.prototype._getNumberFormatter = function _getNumberFormatter ( + value, + locale, + fallback, + numberFormats, + key, + options +) { + var _locale = locale; + var formats = numberFormats[_locale]; + + var chain = this._getLocaleChain(locale, fallback); + for (var i = 0; i < chain.length; i++) { + var current = _locale; + var step = chain[i]; + formats = numberFormats[step]; + _locale = step; + // fallback locale + if (isNull(formats) || isNull(formats[key])) { + if (step !== locale && "development" !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) { + warn$4(("Fall back to '" + step + "' number formats from '" + current + "' number formats.")); + } + } else { + break + } + } + + if (isNull(formats) || isNull(formats[key])) { + return null + } else { + var format = formats[key]; + + var formatter; + if (options) { + // If options specified - create one time number formatter + formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options)); + } else { + var id = _locale + "__" + key; + formatter = this._numberFormatters[id]; + if (!formatter) { + formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format); + } + } + return formatter + } +}; + +VueI18n.prototype._n = function _n (value, locale, key, options) { + /* istanbul ignore if */ + if (!VueI18n.availabilities.numberFormat) { + { + warn$4('Cannot format a Number value due to not supported Intl.NumberFormat.'); + } + return '' + } + + if (!key) { + var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options); + return nf.format(value) + } + + var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options); + var ret = formatter && formatter.format(value); + if (this._isFallbackRoot(ret)) { + if ( !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) { + warn$4(("Fall back to number localization of root: key '" + key + "'.")); + } + /* istanbul ignore if */ + if (!this._root) { throw Error('unexpected error') } + return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options)) + } else { + return ret || '' + } +}; + +VueI18n.prototype.n = function n (value) { + var args = [], len = arguments.length - 1; + while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ]; + + var locale = this.locale; + var key = null; + var options = null; + + if (args.length === 1) { + if (isString(args[0])) { + key = args[0]; + } else if (isObject$3(args[0])) { + if (args[0].locale) { + locale = args[0].locale; + } + if (args[0].key) { + key = args[0].key; + } + + // Filter out number format options only + options = Object.keys(args[0]).reduce(function (acc, key) { + var obj; + + if (includes(numberFormatKeys, key)) { + return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj )) + } + return acc + }, null); + } + } else if (args.length === 2) { + if (isString(args[0])) { + key = args[0]; + } + if (isString(args[1])) { + locale = args[1]; + } + } + + return this._n(value, locale, key, options) +}; + +VueI18n.prototype._ntp = function _ntp (value, locale, key, options) { + /* istanbul ignore if */ + if (!VueI18n.availabilities.numberFormat) { + { + warn$4('Cannot format to parts a Number value due to not supported Intl.NumberFormat.'); + } + return [] + } + + if (!key) { + var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options); + return nf.formatToParts(value) + } + + var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options); + var ret = formatter && formatter.formatToParts(value); + if (this._isFallbackRoot(ret)) { + if ( !this._isSilentTranslationWarn(key)) { + warn$4(("Fall back to format number to parts of root: key '" + key + "' .")); + } + /* istanbul ignore if */ + if (!this._root) { throw Error('unexpected error') } + return this._root.$i18n._ntp(value, locale, key, options) + } else { + return ret || [] + } +}; + +Object.defineProperties( VueI18n.prototype, prototypeAccessors$2 ); + +var availabilities; +// $FlowFixMe +Object.defineProperty(VueI18n, 'availabilities', { + get: function get () { + if (!availabilities) { + var intlDefined = typeof Intl !== 'undefined'; + availabilities = { + dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined', + numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined' + }; + } + + return availabilities + } +}); + +VueI18n.install = install$2; +VueI18n.version = '8.22.2'; + +const it = { + globals: { + welcome: 'Benvenuto su deemix', + back: 'indietro', + loading: 'caricamento', + download: 'Scarica {thing}', + by: 'di {artist}', + in: 'in {album}', + download_hint: 'Scarica', + play_hint: 'Riproduci', + toggle_download_tab_hint: 'Espandi/Riduci', + clean_queue_hint: 'Pulisci Lista', + cancel_queue_hint: 'Cancella tutti i download', + open_downloads_folder: 'Apri la cartella di download', + cut: 'taglia', + copy: 'copia', + copyLink: 'copia link', + copyImageLink: 'copia link immagine', + copyDeezerLink: 'copia link deezer', + paste: 'incolla', + listTabs: { + all: 'tutto', + top_result: 'miglior risultato', + album: 'album', + artist: 'artista | artisti', + single: 'singolo | singoli', + title: 'titolo | titoli', + track: 'brano | brani', + releaseN: '0 dischi | {n} disco | {n} dischi', + playlist: 'playlist', + compile: 'compilation', + bundle: 'collezione | collezioni', + ep: 'ep', + more: 'Altri album', + featured: 'Compare in', + spotifyPlaylist: 'playlist spotify', + releaseDate: 'data di uscita', + error: 'errore', + empty: '', + trackN: '0 brani | {n} brano | {n} brani', + albumN: '{n} album', + artistN: '0 artisti | {n} artista | {n} artisti', + playlistN: '{n} playlist' + } + }, + about: { + appStatus: { + online: 'app online', + offline: 'app offline' + }, + updates: { + currentVersion: 'Versione attuale', + currentWebuiVersion: 'Versione WebUI attuale', + versionNotAvailable: 'N/A', + updateAvailable: `Non stai usando l'ultima versione disponibile: {version}`, + deemixVersion: 'Versione libreria deemix' + }, + titles: { + usefulLinks: 'Link Utili', + bugReports: 'Segnalazione di bug', + contributing: 'Contribuire al progetto', + donations: 'Donazioni', + license: 'Licenza' + }, + subtitles: { + bugReports: "C'è qualcosa di deemix che non funziona? Faccelo sapere!", + contributing: 'Vuoi contribuire a questo progetto? Puoi farlo in più modi!', + donations: 'Vuoi dare una mano economicamente? Puoi fare una donazione!' + }, + usesLibrary: + 'Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.', + thanks: `Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.`, + upToDate: { + text: `Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.`, + newsChannel: 'canale delle news' + }, + officialWebsite: 'Sito Ufficiale', + officialRepo: 'Repository Ufficiale della Libreria', + officialWebuiRepo: `Repository Ufficiale dell'Interfaccia Web`, + officialSubreddit: 'Subreddit Ufficiale', + newsChannel: 'Canale delle news', + questions: { + text: `Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.`, + subreddit: 'subreddit ufficiale' + }, + beforeReporting: `Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ciò che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.`, + beSure: `Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che è già stato segnalato.`, + duplicateReports: 'Le segnalazioni doppie verranno chiuse, tienilo presente.', + dontOpenIssues: `NON aprire issues per porre domande, per quello esiste un subreddit.`, + newUI: { + text: `Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.`, + repo: 'repo' + }, + acceptFeatures: `Accetto anche funzionalità, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.`, + otherLanguages: `Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!`, + understandingCode: `Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit`, + contributeWebUI: { + text: `Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.`, + webui: 'WebUI' + }, + itsFree: `Ricordati che questo è un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.`, + notObligated: `Non sentirti obbligato a donare, mi stai simpatico lo stesso!`, + lincensedUnder: { + text: `Questo progetto è sotto la licenza {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Classifiche', + changeCountry: 'Cambia Paese', + download: 'Scarica Classifica' + }, + errors: { + title: 'Errori riguardanti {name}', + ids: { + invalidURL: 'URL non riconosciuto', + unsupportedURL: 'URL non ancora supportato', + ISRCnotOnDeezer: 'Questo ISRC non è disponibile su Deezer', + notYourPrivatePlaylist: 'Non puoi scaricare le playlist private degli altri.', + spotifyDisabled: 'Spotify Features non è impostato correttamente.', + trackNotOnDeezer: 'Brano non trovato su Deezer!', + albumNotOnDeezer: 'Album non trovato su Deezer!', + notOnDeezer: 'Brano non disponibile su Deezer!', + notEncoded: 'Brano non ancora codificato!', + notEncodedNoAlternative: 'Brano non ancora codificato e nessuna alternativa trovata!', + wrongBitrate: 'Brano non trovato con il bitrate specificato.', + wrongBitrateNoAlternative: 'Brano non trovato con il bitrate specificato e nessuna alternativa trovata!', + no360RA: 'Brano non disponibile in Reality Audio 360.', + notAvailable: 'Brano non presente sui server di Deezer!', + notAvailableNoAlternative: 'Brano non presente sui server di Deezer e nessuna alternativa trovata!', + noSpaceLeft: 'Spazio su disco esaurito!', + albumDoesntExists: 'Il brano non ha nessun album, impossibile ottenere informazioni' + } + }, + favorites: { + title: 'Preferiti', + noPlaylists: 'Nessuna Playlist preferita trovata', + noAlbums: 'Nessun Album preferito trovato', + noArtists: 'Nessun Artista preferito trovato', + noTracks: 'Nessun Brano preferito trovato' + }, + home: { + needTologin: 'Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.', + openSettings: 'Apri le impostazioni', + sections: { + popularPlaylists: 'Playlist Popolari', + popularAlbums: 'Album più riprodotti' + } + }, + linkAnalyzer: { + info: + 'Puoi utilizzare questa sezione per avere più informazioni riguardanti il link che stai cercando di scaricare.', + useful: + 'Ciò può esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.', + linkNotSupported: 'Questo link non è ancora supportato', + linkNotSupportedYet: 'Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Durata', + diskNumber: 'Numero Disco', + trackNumber: 'Numero Traccia', + releaseDate: 'Data di uscita', + bpm: 'BPM', + label: 'Etichetta', + recordType: 'Tipologia di registrazione', + genres: 'Generi', + tracklist: 'Lista tracce' + } + }, + search: { + startSearching: 'Inizia a cercare!', + description: + 'Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer', + fans: '{n} fan', + noResults: 'Nessun risultato', + noResultsTrack: 'Nessun brano trovato', + noResultsAlbum: 'Nessun album trovato', + noResultsArtist: 'Nessun artista trovato', + noResultsPlaylist: 'Nessuna playlist trovata' + }, + searchbar: 'Cerca qualsiasi cosa (o incolla semplicemente un link)', + downloads: 'download', + toasts: { + restoringQueue: 'Ripristinando la coda di download...', + queueRestored: 'Coda di download ripristinata!', + addedToQueue: '{item} aggiunto alla coda', + addedMoreToQueue: '{n} oggetti aggiunti alla coda', + alreadyInQueue: '{item} è già nella coda!', + finishDownload: '{item} ha finito di scaricarsi.', + allDownloaded: 'Tutti i download completati!', + refreshFavs: 'Preferiti ricaricati!', + loggingIn: 'Effettuando il login...', + loggedIn: 'Login effettuato', + alreadyLogged: 'Sei già loggato', + loginFailed: 'Impossibile loggarsi', + loggedOut: 'Disconnesso', + cancellingCurrentItem: 'Cancellando download corrente.', + currentItemCancelled: 'Download corrente cancellato.', + startAddingArtist: 'Aggiungendo gli album di {artist} alla coda', + finishAddingArtist: 'Aggiunto gli album di {artist} alla coda', + startConvertingSpotifyPlaylist: 'Convertendo i brani da spotify a deezer', + finishConvertingSpotifyPlaylist: 'Playlist di spotify convertita', + loginNeededToDownload: 'Devi accedere prima di poter scaricare brani!', + deezerNotAvailable: 'Deezer non è disponibile nel tuo paese. Dovresti usare una VPN.', + startGeneratingItems: 'Elaborando {n} oggetti...', + finishGeneratingItems: '{n} oggetti generati.' + }, + settings: { + title: 'Impostazioni', + languages: 'Lingue', + login: { + title: 'Login', + loggedIn: 'Sei loggato come {username}', + arl: { + question: 'Come ottengo il mio ARL?', + update: 'Aggiorna ARL' + }, + logout: 'Disconnettiti', + login: 'Accedi tramite deezer.com' + }, + appearance: { + title: 'Aspetto', + slimDownloadTab: 'Tab dei download slim', + slimSidebar: 'Sidebar slim' + }, + downloadPath: { + title: 'Cartella di download' + }, + templates: { + title: 'Template', + tracknameTemplate: 'Template nome brano', + tracknameAvailableVariables: 'Variabili nome brano disponibili', + albumTracknameTemplate: 'Template nome brano negli Album', + albumTracknameAvailableVariables: 'Variabili nome brano negli Album disponibili', + playlistTracknameTemplate: 'Template nome brano nelle Playlist', + playlistTracknameAvailableVariables: 'Variabili nome brano nelle Playlist disponibili' + }, + folders: { + title: 'Cartelle', + createPlaylistFolder: 'Crea cartelle per le Playlist', + playlistNameTemplate: 'Template nome della cartella Playlist', + createArtistFolder: 'Crea cartelle per gli Artisti', + artistNameTemplate: 'Template nome della cartella Artista', + createAlbumFolder: 'Crea cartelle per gli Album', + albumNameTemplate: 'Template nome della cartella Album', + createCDFolder: 'Crea cartelle per i CD', + createStructurePlaylist: 'Crea la struttura di cartelle per le Playlist', + createSingleFolder: 'Crea la struttura di cartelle per i brani singoli' + }, + trackTitles: { + title: 'Titoli brani', + padTracks: 'Aggiungi zeri ai numeri di traccia', + paddingSize: 'Sovrascrivi il numero di zeri da aggiungere', + illegalCharacterReplacer: 'Rimpiazza caratteri illegali con' + }, + downloads: { + title: 'Download', + queueConcurrency: 'Download simultanei', + maxBitrate: { + title: 'Bitrate preferito', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Dovrei sovrascrivere i file già scaricati?', + y: 'Si, sovrascrivi i file', + n: 'No, non sovrascrivere i file', + t: 'Sovrascrivi solo i tag', + b: 'No, mantieni entrambi i file e aggiungi un numero al duplicato', + e: 'No, e non tener conto della estensione del file' + }, + fallbackBitrate: 'Utilizza bitrate più bassi se il bitrate preferito non è disponibile', + fallbackSearch: 'Cerca il brano se il link originale non è disponibile', + logErrors: 'Crea file di log per gli errori', + logSearched: 'Crea file di log per le alternative cercate', + syncedLyrics: 'Crea i file .lyr (Testi Sincronizzati)', + createM3U8File: 'Crea i file playlist', + playlistFilenameTemplate: 'Template nome del file playlist', + saveDownloadQueue: "Salva la coda di download quando chiudi l'app" + }, + covers: { + title: 'Copertine', + saveArtwork: 'Salva copertina album', + coverImageTemplate: 'Template nome copertina album', + saveArtworkArtist: 'Salva copertina artista', + artistImageTemplate: 'Template nome copertina artista', + localArtworkSize: 'Dimensioni copertine locali', + embeddedArtworkSize: 'Dimensioni copertine incorporate', + localArtworkFormat: { + title: 'Come vuoi salvare le copertine locali?', + jpg: 'In jpeg', + png: 'In png', + both: 'Sia in jpeg che in png' + }, + jpegImageQuality: 'Qualità immagine JPEG', + embeddedArtworkPNG: 'Salva copertina incorporata come PNG', + embeddedPNGWarning: 'Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi', + imageSizeWarning: + 'Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi', + coverDescriptionUTF8: 'Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)' + }, + tags: { + head: 'Quali tag salvare', + title: 'Titolo', + artist: 'Artista', + album: 'Album', + cover: 'Copertina', + trackNumber: 'Numero Traccia', + trackTotal: 'Tracce Totali', + discNumber: 'Numero Disco', + discTotal: 'Dischi Totali', + albumArtist: "Artista dell'album", + genre: 'Genere', + year: 'Anno', + date: 'Data', + explicit: 'Testo Esplicito', + isrc: 'ISRC', + length: 'Durata Traccia', + barcode: "Barcode dell'album (UPC)", + bpm: 'BPM', + replayGain: 'Replay gain', + label: 'Casa Discografica', + lyrics: 'Testo non Sincronizzato', + syncedLyrics: 'Testo Sincronizzato', + copyright: 'Copyright', + composer: 'Compositori', + involvedPeople: 'Persone Coinvolte', + source: 'Sorgente e ID brano' + }, + other: { + title: 'Altro', + savePlaylistAsCompilation: 'Salva le playlist come Compilation', + useNullSeparator: 'Usa il carattere NULL come separatore', + saveID3v1: "Salva anche l'ID3v1", + multiArtistSeparator: { + title: 'Come vuoi separare gli artisti?', + nothing: "Salva solo l'artista principale", + default: 'Usando la specificazione standard', + andFeat: 'Usando & e feat.', + using: 'Usando "{separator}"' + }, + singleAlbumArtist: "Salva solo l'artista dell'album principale", + albumVariousArtists: 'Lascia "Artisti Vari" negli artisti dell\'album', + removeAlbumVersion: 'Rimuovi "Album Version" dal titolo del brano', + removeDuplicateArtists: 'Rimuovi le combinazioni di artisti', + dateFormat: { + title: 'Formato della data per i file FLAC', + year: 'AAAA', + month: 'MM', + day: 'GG' + }, + featuredToTitle: { + title: 'Cosa dovrei fare con i feat?', + 0: 'Niente', + 1: 'Rimuovili dal titolo', + 3: "Rimuovili dal titolo e dal nome dell'album", + 2: 'Spostali sul titolo' + }, + titleCasing: 'Formato testo dei titoli', + artistCasing: 'Formato testo degli artisti', + casing: { + nothing: 'Non cambiare', + upper: 'TUTTO MAIUSCOLO', + lower: 'tutto minuscolo', + start: 'Prima Lettera Maiuscola', + sentence: 'Come una frase' + }, + previewVolume: 'Volume Anteprime', + executeCommand: { + title: 'Comando da eseguire dopo il download', + description: 'Lascia vuoto per nessuna azione' + } + }, + spotify: { + title: 'Spotify Features', + clientID: 'Spotify clientID', + clientSecret: 'Spotify Client Secret', + username: 'Spotify username', + question: 'Come attivo le Spotify Features?' + }, + reset: 'Reimposta Default', + resetMessage: 'Sei sicuro di voler tornare alle impostazioni di default?', + save: 'Salva', + toasts: { + init: 'Impostazioni caricate!', + update: 'Impostazioni aggiornate!', + reset: 'Impostazioni di default ripristinate!', + ARLcopied: 'ARL copiato negli appunti' + } + }, + sidebar: { + home: 'home', + search: 'ricerca', + charts: 'classifiche', + favorites: 'preferiti', + linkAnalyzer: 'analizza link', + settings: 'impostazioni', + about: 'info' + }, + tracklist: { + downloadSelection: 'Scarica selezionati' + } +}; + +const en = { + globals: { + welcome: 'Welcome to deemix', + back: 'back', + loading: 'loading', + download: 'Download {thing}', + by: 'by {artist}', + in: 'in {album}', + download_hint: 'Download', + play_hint: 'Play', + toggle_download_tab_hint: 'Expand/Collapse', + clean_queue_hint: 'Clear Finished', + cancel_queue_hint: 'Cancel All', + open_downloads_folder: 'Open Downloads Folder', + cut: 'cut', + copy: 'copy', + copyLink: 'copy link', + copyImageLink: 'copy image link', + copyDeezerLink: 'copy deezer link', + paste: 'paste', + listTabs: { + empty: '', + all: 'all', + top_result: 'top result', + album: 'album | albums', + artist: 'artist | artists', + single: 'single | singles', + title: 'title | titles', + track: 'track | tracks', + releaseN: '0 releases | {n} release | {n} releases', + playlist: 'playlist | playlists', + compile: 'compilation | compilations', + ep: 'ep | eps', + bundle: 'bundle | bundles', + more: 'More albums', + featured: 'Featured in', + spotifyPlaylist: 'spotify playlist | spotify playlists', + releaseDate: 'release date', + error: 'error', + trackN: '0 tracks | {n} track | {n} tracks', + albumN: '0 albums | {n} album | {n} albums', + artistN: '0 artists | {n} artist | {n} artists', + playlistN: '0 playlists | {n} playlist | {n} playlists' + } + }, + about: { + appStatus: { + online: 'app online', + offline: 'app offline' + }, + updates: { + currentVersion: 'Current Version', + currentWebuiVersion: 'Current WebUI Version', + versionNotAvailable: 'N/A', + updateAvailable: `You're not running the latest version available: {version}`, + deemixVersion: 'deemix lib version' + }, + titles: { + usefulLinks: 'Useful Links', + bugReports: 'Bug Reports', + contributing: 'Contributing', + donations: 'Donations', + license: 'License' + }, + subtitles: { + bugReports: "Is there something that isn't working in deemix? Tell us!", + contributing: 'You want to contribute to this project? You can do it in different ways!', + donations: 'You want to contribute monetarily? You could make a donation!' + }, + usesLibrary: 'This app uses the deemix library, which you can use to make your own UI for deemix.', + thanks: `Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.`, + upToDate: { + text: `Stay up to date with the updates by following the {newsChannel} on Telegram.`, + newsChannel: 'news channel' + }, + officialWebsite: 'Official Website', + officialRepo: 'Official Library Repository', + officialWebuiRepo: 'Official WebUI Repository', + officialSubreddit: 'Official Subreddit', + newsChannel: 'News Channel', + questions: { + text: `If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.`, + subreddit: 'subreddit' + }, + beforeReporting: `Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.`, + beSure: `Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.`, + duplicateReports: 'Duplicate bug reports will be closed, so keep an eye out on that.', + dontOpenIssues: `DO NOT open issues for asking questions, there is a subreddit for that.`, + newUI: { + text: `If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.`, + repo: 'repo' + }, + acceptFeatures: `I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.`, + otherLanguages: `If you're fluent in another programming language you could try to port deemix into other programming languages!`, + understandingCode: `You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.`, + contributeWebUI: { + text: `If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.`, + webui: 'WebUI' + }, + itsFree: `You should remember that this is a free project and you should support the artists you love before supporting the developers.`, + notObligated: `Don't feel obligated to donate, I appreciate you anyway!`, + lincensedUnder: { + text: `This work is licensed under the {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Charts', + changeCountry: 'Change Country', + download: 'Download Chart' + }, + errors: { + title: 'Errors for {name}', + ids: { + invalidURL: 'URL not recognized', + unsupportedURL: 'URL not supported yet', + ISRCnotOnDeezer: 'Track ISRC is not available on Deezer', + notYourPrivatePlaylist: "You can't download others private playlists.", + spotifyDisabled: 'Spotify Features is not setted up correctly.', + trackNotOnDeezer: 'Track not found on Deezer!', + albumNotOnDeezer: 'Album not found on Deezer!', + notOnDeezer: 'Track not available on Deezer!', + notEncoded: 'Track not yet encoded!', + notEncodedNoAlternative: 'Track not yet encoded and no alternative found!', + wrongBitrate: 'Track not found at desired bitrate.', + wrongBitrateNoAlternative: 'Track not found at desired bitrate and no alternative found!', + no360RA: 'Track is not available in Reality Audio 360.', + notAvailable: "Track not available on Deezer's servers!", + notAvailableNoAlternative: "Track not available on Deezer's servers and no alternative found!", + noSpaceLeft: 'No space left on the device!', + albumDoesntExists: "Track's album doesn't exist, failed to gather info" + } + }, + favorites: { + title: 'Favorites', + noPlaylists: 'No Playlists found', + noAlbums: 'No Favorite Albums found', + noArtists: 'No Favorite Artists found', + noTracks: 'No Favorite Tracks found' + }, + home: { + needTologin: 'You need to log into your Deezer account before you can start downloading.', + openSettings: 'Open Settings', + sections: { + popularPlaylists: 'Popular playlists', + popularAlbums: 'Most streamed albums' + } + }, + linkAnalyzer: { + info: 'You can use this section to find more information about the link you are trying to download.', + useful: + "This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.", + linkNotSupported: 'This link is not yet supported', + linkNotSupportedYet: 'Seems like this link is not yet supported, try analyzing another one.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Duration', + diskNumber: 'Disk Number', + trackNumber: 'Track Number', + releaseDate: 'Release Date', + bpm: 'BPM', + label: 'Label', + recordType: 'Record Type', + genres: 'Genres', + tracklist: 'Tracklist' + } + }, + search: { + startSearching: 'Start searching!', + description: + 'You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link', + fans: '{n} fans', + noResults: 'No results', + noResultsTrack: 'No Tracks found', + noResultsAlbum: 'No Albums found', + noResultsArtist: 'No Artists found', + noResultsPlaylist: 'No Playlists found' + }, + searchbar: 'Search anything you want (or just paste a link)', + downloads: 'downloads', + toasts: { + restoringQueue: 'Restoring download queue...', + queueRestored: 'Download queue restored!', + addedToQueue: '{item} added to queue', + addedMoreToQueue: '{n} items added to queue', + alreadyInQueue: '{item} is already in queue!', + finishDownload: '{item} finished downloading.', + allDownloaded: 'All downloads completed!', + refreshFavs: 'Refresh completed!', + loggingIn: 'Logging in...', + loggedIn: 'Logged in', + alreadyLogged: 'Already logged in', + loginFailed: "Couldn't log in", + loggedOut: 'Logged out', + cancellingCurrentItem: 'Cancelling current item.', + currentItemCancelled: 'Current item cancelled.', + startAddingArtist: 'Adding {artist} albums to queue', + finishAddingArtist: 'Added {artist} albums to queue', + startConvertingSpotifyPlaylist: 'Converting spotify tracks to Deezer tracks', + finishConvertingSpotifyPlaylist: 'Spotify playlist converted', + loginNeededToDownload: 'You need to log in to download tracks!', + deezerNotAvailable: 'Deezer is not available in your country. You should use a VPN.', + startGeneratingItems: 'Processing {n} items...', + finishGeneratingItems: 'Generated {n} items.' + }, + settings: { + title: 'Settings', + languages: 'Languages', + login: { + title: 'Login', + loggedIn: 'You are logged in as {username}', + arl: { + question: 'How do I get my own ARL?', + update: 'Update ARL' + }, + logout: 'Logout', + login: 'Login via deezer.com' + }, + appearance: { + title: 'Appearance', + slimDownloadTab: 'Slim download tab', + slimSidebar: 'Slim Sidebar' + }, + downloadPath: { + title: 'Download Path' + }, + templates: { + title: 'Templates', + tracknameTemplate: 'Trackname template', + tracknameAvailableVariables: 'Available trackname variables', + albumTracknameTemplate: 'Album track template', + albumTracknameAvailableVariables: 'Available album track variables', + playlistTracknameTemplate: 'Playlist track template', + playlistTracknameAvailableVariables: 'Available playlist track variables' + }, + folders: { + title: 'Folders', + createPlaylistFolder: 'Create folder for playlists', + playlistNameTemplate: 'Playlist folder template', + createArtistFolder: 'Create folder for artist', + artistNameTemplate: 'Artist folder template', + createAlbumFolder: 'Create folder for album', + albumNameTemplate: 'Album folder template', + createCDFolder: 'Create folder for CDs', + createStructurePlaylist: 'Create folder structure for playlists', + createSingleFolder: 'Create folder structure for singles' + }, + trackTitles: { + title: 'Track titles', + padTracks: 'Pad tracks', + paddingSize: 'Overwrite padding size', + illegalCharacterReplacer: 'Illegal Character replacer' + }, + downloads: { + title: 'Downloads', + queueConcurrency: 'Concurrent Downloads', + maxBitrate: { + title: 'Preferred Bitrate', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Should I overwrite the files?', + y: 'Yes, overwrite the file', + n: "No, don't overwrite the file", + t: 'Overwrite only the tags', + b: 'No, keep both files and add a number to the duplicate', + e: "No, and don't look at the extensions" + }, + fallbackBitrate: 'Bitrate fallback', + fallbackSearch: 'Search fallback', + logErrors: 'Create log files for errors', + logSearched: 'Create log files for searched tracks', + createM3U8File: 'Create playlist file', + syncedLyrics: 'Create .lyr files (Sync Lyrics)', + playlistFilenameTemplate: 'Playlist filename template', + saveDownloadQueue: 'Save download queue when closing the app' + }, + covers: { + title: 'Album covers', + saveArtwork: 'Save Covers', + coverImageTemplate: 'Cover name template', + saveArtworkArtist: 'Save artist image', + artistImageTemplate: 'Artist image template', + localArtworkSize: 'Local artwork size', + embeddedArtworkSize: 'Embedded artwork size', + localArtworkFormat: { + title: 'What format do you want the local artwork to be?', + jpg: 'A jpeg image', + png: 'A png image', + both: 'Both a jpeg and a png' + }, + jpegImageQuality: 'JPEG image quality', + embeddedArtworkPNG: 'Save embedded artwork as PNG', + embeddedPNGWarning: 'PNGs are not officialy supported by Deezer and can be buggy', + imageSizeWarning: 'Anything above x1200 is not officialy used by Deezer, you may encounter issues', + coverDescriptionUTF8: 'Save cover description using UTF8 (iTunes Cover Fix)' + }, + tags: { + head: 'Which tags to save', + title: 'Title', + artist: 'Artist', + album: 'Album', + cover: 'Cover', + trackNumber: 'Track Number', + trackTotal: 'Track Total', + discNumber: 'Disc Number', + discTotal: 'Disc Total', + albumArtist: 'Album Artist', + genre: 'Genre', + year: 'Year', + date: 'Date', + explicit: 'Explicit Lyrics', + isrc: 'ISRC', + length: 'Track Length', + barcode: 'Album Barcode (UPC)', + bpm: 'BPM', + replayGain: 'Replay Gain', + label: 'Album Label', + lyrics: 'Unsynchronized Lyrics', + syncedLyrics: 'Synchronized Lyrics', + copyright: 'Copyright', + composer: 'Composer', + involvedPeople: 'Involved People', + source: 'Source and song ID' + }, + other: { + title: 'Other', + savePlaylistAsCompilation: 'Save playlists as compilation', + useNullSeparator: 'Use null separator', + saveID3v1: 'Save ID3v1 as well', + multiArtistSeparator: { + title: 'How would you like to separate your artists?', + nothing: 'Save only the main artist', + default: 'Using standard specification', + andFeat: 'Using & and feat.', + using: 'Using "{separator}"' + }, + singleAlbumArtist: 'Save only the main album artist', + albumVariousArtists: 'Keep "Various Artists" in the Album Artists', + removeAlbumVersion: 'Remove "Album Version" from track title', + removeDuplicateArtists: 'Remove combinations of artists', + dateFormat: { + title: 'Date format for FLAC files', + year: 'YYYY', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: 'What should I do with featured artists?', + 0: 'Nothing', + 1: 'Remove it from the title', + 3: 'Remove it from the title and the album title', + 2: 'Move it to the title' + }, + titleCasing: 'Title casing', + artistCasing: 'Artist casing', + casing: { + nothing: 'Keep unchanged', + lower: 'lowercase', + upper: 'UPPERCASE', + start: 'Start Of Each Word', + sentence: 'Like a sentence' + }, + previewVolume: 'Preview Volume', + executeCommand: { + title: 'Command to execute after download', + description: 'Leave blank for no action' + } + }, + spotify: { + title: 'Spotify Features', + clientID: 'Spotify ClientID', + clientSecret: 'Spotify Client Secret', + username: 'Spotify Username', + question: 'How do I enable Spotify Features?' + }, + reset: 'Reset to Default', + resetMessage: 'Are you sure you want to go back to default settings?', + save: 'Save', + toasts: { + init: 'Settings loaded!', + update: 'Settings updated!', + reset: 'Settings reset to default!', + ARLcopied: 'ARL copied to clipboard' + } + }, + sidebar: { + home: 'home', + search: 'search', + charts: 'charts', + favorites: 'favorites', + linkAnalyzer: 'link analyzer', + settings: 'settings', + about: 'about' + }, + tracklist: { + downloadSelection: 'Download selection' + } +}; + +const es = { + globals: { + welcome: 'Bienvenido a deemix', + back: 'atrás', + loading: 'cargando', + download: 'Descarga {thing}', + by: 'por {artist}', + in: 'en {album}', + download_hint: 'Descargar', + play_hint: 'Reproducir', + toggle_download_tab_hint: 'Expandir/Colapsar', + clean_queue_hint: 'Limpieza terminada', + cancel_queue_hint: 'Cancelar todo', + open_downloads_folder: 'Abrir la carpeta de descargas', + cut: 'cortar', + copy: 'copiar', + copyLink: 'copiar vinculo', + copyImageLink: 'copiar el vínculo de la imagen', + copyDeezerLink: 'copiar el vínculo de Deezer', + paste: 'pegar', + listTabs: { + empty: '', + all: 'todo', + top_result: 'mejor resultado', + album: 'álbum | álbumes', + artist: 'artista | artistas', + single: 'single | singles', + title: 'título | títulos', + track: 'pista | pistas', + trackN: '0 pistas | {n} pista | {n} pistas', + releaseN: '0 entregas | {n} entrega | {n} entregas', + playlist: 'lista de reproducción | listas de reproducción', + compile: 'compilación | compilaciones', + ep: 'ep | eps', + more: 'Más álbumes', + featured: 'Aparece en', + spotifyPlaylist: 'lista de reproducción spotify | listas de reproducción spotify', + releaseDate: 'fecha de publicación', + error: 'error' + } + }, + about: { + updates: { + currentVersion: 'Versión actual', + versionNotAvailable: 'N/D', + updateAvailable: `No estás ejecutando la última versión disponible: {versión}`, + deemixVersion: 'versión de la biblioteca deemix' + }, + titles: { + usefulLinks: 'Enlaces útiles', + bugReports: 'Reportar fallos', + contributing: 'Contribuye', + donations: 'Donaciones', + license: 'Licencia' + }, + subtitles: { + bugReports: '¿Hay algo que no funcione en Deemix? ¡Díganoslo!', + contributing: '¿Quieres contribuir a este proyecto? ¡Puedes hacerlo de diferentes maneras!', + donations: '¿Quiere contribuir monetariamente? ¡Puedes hacer una donación!' + }, + usesLibrary: 'Esta aplicación usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.', + thanks: `Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.`, + upToDate: { + text: `Mantente al día con las actualizaciones siguiendo el {newsChannel} en Telegram.`, + newsChannel: 'canal de noticias' + }, + officialWebsite: 'Página web oficial', + officialRepo: 'Repositorio de la biblioteca oficial', + officialWebuiRepo: 'Repositorio oficial de WebUI', + officialSubreddit: 'Subreddit oficial', + newsChannel: 'Canal de noticias', + questions: { + text: `Si tienes preguntas o problemas con la aplicación, busca una solución en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.`, + subreddit: 'subreddit' + }, + beforeReporting: 'Antes de informar de un error asegúrese de que está ejecutando la última versión de la aplicación y que lo que quiere informar es en realidad un error y no algo que está mal sólo en su extremo.', + beSure: 'Asegúrate de que el fallo es reproducible en otras máquinas y también NO reporte un fallo si ya ha sido reportado.', + duplicateReports: 'Los informes de errores duplicados se cerrarán, así que manténgase al tanto de eso.', + dontOpenIssues: 'NO abra problemas para hacer preguntas, hay un subreddit para eso.', + newUI: { + text: `Si tienes fluidez en Python podrías intentar hacer una nueva interfaz de usuario para la aplicación usando la biblioteca base, o arreglar los errores de la biblioteca con una petición pull en el {repo}.`, + repo: 'repo' + }, + acceptFeatures: 'También acepto características, pero no cosas complejas, ya que se pueden implementar directamente en la aplicación y no en la biblioteca.', + otherLanguages: '¡Si dominas otro lenguaje de programación podrías intentar portar Deemix a otros lenguajes de programación!', + understandingCode: '¿Necesitas ayuda para entender el código? Sólo tienes que poner RemixDev en Telegram o Reddit.', + contributeWebUI: { + text: `Si conoces Vue.js (JavaScript), HTML o CSS podrías contribuir a la {webui}.`, + webui: 'WebUI' + }, + itsFree: 'Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.', + notObligated: 'No te sientas obligado a donar, ¡te aprecio de todas formas!', + lincensedUnder: { + text: `Esta obra está autorizada bajo una {gpl3}.`, + gpl3: 'GNU Licencia Pública General 3.0' + } + }, + charts: { + title: 'Listas', + changeCountry: 'Cambiar país', + download: 'Descargar la lista' + }, + errors: { + title: 'Errores para {name}', + ids: { + invalidURL: 'No se reconoce la URL', + unsupportedURL: 'La URL aún no está soportada', + ISRCnotOnDeezer: 'La pista ISRC no está disponible en Deezer', + notYourPrivatePlaylist: 'No puedes descargar otras listas de reproducción privadas.', + spotifyDisabled: 'Las funciones de Spotify no está configurado correctamente.', + trackNotOnDeezer: '¡No se encontró la pista en Deezer!', + albumNotOnDeezer: '¡El álbum no se encuentra en Deezer!', + notOnDeezer: '¡Pista no disponible en Deezer!', + notEncoded: '¡Pista aún no codificada!', + notEncodedNoAlternative: '¡Pista aún no codificada y no se ha encontrado ninguna alternativa!', + wrongBitrate: 'La pista no se encuentra a la velocidad de bitrate deseada.', + wrongBitrateNoAlternative: '¡Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!', + no360RA: 'La pista no está disponible en Reality Audio 360.', + notAvailable: '¡La pista no está disponible en los servidores de Deezer!', + notAvailableNoAlternative: '¡La pista no está disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!', + noSpaceLeft: '¡No queda espacio en el dispositivo!' + } + }, + favorites: { + title: 'Favoritos', + noPlaylists: 'No se han encontrado listas de reproducción', + noAlbums: 'No se han encontrado álbumes favoritos', + noArtists: 'No se han encontrado artistas favoritos', + noTracks: 'No se han encontrado pistas favoritas' + }, + home: { + needTologin: 'Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.', + openSettings: 'Abrir la configuración', + sections: { + popularPlaylists: 'Listas de reproducción populares', + popularAlbums: 'Los álbumes más stremeados' + } + }, + linkAnalyzer: { + info: 'Puedes usar esta sección para encontrar más información sobre el enlace que estás tratando de descargar.', + useful: 'Esto es útil si está tratando de descargar algunas pistas que no están disponibles en su país y quiere saber dónde están disponibles, por ejemplo.', + linkNotSupported: 'Este enlace aún no está soportado', + linkNotSupportedYet: 'Parece que este enlace aún no está soportado, intenta analizar otro.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Duración', + diskNumber: 'Número del disco', + trackNumber: 'Número de la pista', + releaseDate: 'Fecha de lanzamiento', + bpm: 'BPM', + label: 'Etiqueta', + recordType: 'Tipo de grabación', + genres: 'Géneros', + tracklist: 'Lista de pista' + } + }, + search: { + startSearching: '¡Comienza a buscar!', + description: 'Puedes buscar un tema, un álbum entero, un artista, una lista de reproducción... ¡todo! También puedes pegar un enlace de Deezer', + fans: '{n} fans', + noResults: 'Ningun resultado', + noResultsTrack: 'No se encontraron pistas', + noResultsAlbum: 'No se encontraron álbumes', + noResultsArtist: 'No se encontraron artistas', + noResultsPlaylist: 'No se encontraron listas de reproducción' + }, + searchbar: 'Busca lo que quieras (o simplemente pega un enlace)', + downloads: 'descargas', + toasts: { + restoringQueue: 'Restaurando la cola de descarga...', + queueRestored: '¡Cola de descarga restaurada!', + addedToQueue: '{item} añadidos a la cola', + addedMoreToQueue: '{n} elementos añadidos a la cola', + alreadyInQueue: '¡{item} ya está en la cola!', + finishDownload: '{item} terminado de descargar.', + allDownloaded: '¡Todas las descargas se han completado!', + refreshFavs: '¡Actualización completada!', + loggingIn: 'Conectando...', + loggedIn: 'Conectado', + alreadyLogged: 'Ya está conectado', + loginFailed: 'No se puede conectar', + loggedOut: 'Desconectado', + cancellingCurrentItem: 'Cancelando el elemento actual.', + currentItemCancelled: 'El elemento actual se ha cancelado.', + startAddingArtist: 'Añadiendo los álbumes de {artist} a la cola', + finishAddingArtist: 'Se ha añadido los álbumes de {artist} a la cola', + startConvertingSpotifyPlaylist: 'Convertir las pistas de Spotify en pistas de Deezer', + finishConvertingSpotifyPlaylist: 'Lista de reproducción de Spotify convertida', + loginNeededToDownload: '¡Necesitas iniciar sesión para descargar títulos!', + deezerNotAvailable: 'Deezer no está disponible en su país. Deberías usar una VPN.' + }, + settings: { + title: 'Configuración', + languages: 'Idiomas', + login: { + title: 'Iniciar Sesión', + loggedIn: 'Usted está conectado como {nombre de usuario}', + arl: { + question: '¿Cómo consigo mi propio ARL?', + update: 'Actualiza la ARL' + }, + logout: 'Cerrar Sesión', + login: 'Inicia sesión a través de deezer.com' + }, + appearance: { + title: 'Apariencia', + slimDownloadTab: 'Pestaña de descargas fina' + }, + downloadPath: { + title: 'Ruta de descarga' + }, + templates: { + title: 'Plantillas', + tracknameTemplate: 'Plantilla de nombres de pista', + albumTracknameTemplate: 'Plantilla de pista del álbum', + playlistTracknameTemplate: 'Plantilla de pista de la lista de reproducción' + }, + folders: { + title: 'Carpetas', + createPlaylistFolder: 'Crear una carpeta para las listas de reproducción', + playlistNameTemplate: 'Plantilla de la carpeta de la lista de reproducción', + createArtistFolder: 'Crear carpeta para el artista', + artistNameTemplate: 'Plantilla de la carpeta del artista', + createAlbumFolder: 'Crear carpeta para el álbum', + albumNameTemplate: 'Plantilla de la carpeta del álbum', + createCDFolder: 'Crear una carpeta para los CDs', + createStructurePlaylist: 'Crear una estructura de carpetas para las listas de reproducción', + createSingleFolder: 'Crear una estructura de carpetas para individuales' + }, + trackTitles: { + title: 'Títulos de las pistas', + padTracks: 'Pad de pistas', + paddingSize: 'Sobrescribir el tamaño del pad', + illegalCharacterReplacer: 'Reemplazo del carácter ilegal' + }, + downloads: { + title: 'Descargas', + queueConcurrency: 'Descargas simultáneas', + maxBitrate: { + title: 'Tasa de bits preferida', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: '¿Desea que se sobreescriban los archivos?', + y: 'Sí, sobrescribir el archivo', + n: 'No, no sobrescribir el archivo', + t: 'Sobrescribir sólo las etiquetas', + b: 'No, mantener los dos archivos y agregar un número al archivo duplicado', + e: 'No, y no mirar las extensiones' + }, + fallbackBitrate: 'La solución alternativa de bitrate', + fallbackSearch: 'Búsqueda de la segunda opción', + logErrors: 'Crear archivos de registro de errores', + logSearched: 'Crear archivos de registro para las pistas buscadas', + createM3U8File: 'Crear archivo de la lista de reproducción', + syncedLyrics: 'Crear archivos .lyr (lyrics sincronizadas)', + playlistFilenameTemplate: 'Plantilla de nombres de archivos de la lista de reproducción', + saveDownloadQueue: 'Guardar la cola de descarga al cerrar la aplicación' + }, + covers: { + title: 'Portadas de álbumes', + saveArtwork: 'Guardar las portadas', + coverImageTemplate: 'Plantilla de nombres de portada', + saveArtworkArtist: 'Guardar imagen de artista', + artistImageTemplate: 'Plantilla de imagen de artista', + localArtworkSize: 'El tamaño de la portada local', + embeddedArtworkSize: 'El tamaño de la portada incorporada', + localArtworkFormat: { + title: '¿Qué formato quieres que tenga la portada local?', + jpg: 'Una imagen jpeg', + png: 'Una imagen png', + both: 'Ambos, jpeg y png' + }, + jpegImageQuality: 'Calidad de la imagen JPEG', + embeddedArtworkPNG: 'Guardar las imágenes incrustadas como PNG', + embeddedPNGWarning: 'Las PNG no están oficialmente soportadas por Deezer y puedes encontrar errores.', + imageSizeWarning: 'Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes', + coverDescriptionUTF8: 'Guardar la descripción de la portada usando UTF8 (arregla la portada de iTunes)' + }, + tags: { + head: '¿Qué etiquetas guardar?', + title: 'Título', + artist: 'Artista', + album: 'Álbum', + cover: 'Portada', + trackNumber: 'Número de pista', + trackTotal: 'Total de pistas', + discNumber: 'Número del disco', + discTotal: 'Total del disco', + albumArtist: 'Artista del álbum', + genre: 'Género', + year: 'Año', + date: 'Fecha', + explicit: 'Letras explícitas', + isrc: 'ISRC', + length: 'Duración de la pista', + barcode: 'Código de barras del álbum (UPC)', + bpm: 'BPM', + replayGain: 'Ganancia de la reproducción', + label: 'Etiqueta del álbum', + lyrics: 'Lyrics no sincronizadas', + syncedLyrics: 'Lyrics sincronizadas', + copyright: 'Derechos de autor', + composer: 'Compositor', + involvedPeople: 'Personas involucradas' + }, + other: { + title: 'Otro', + savePlaylistAsCompilation: 'Guardar las listas de reproducción como una compilación', + useNullSeparator: 'Usar separador nulo', + saveID3v1: 'Guarda la ID3v1 también', + multiArtistSeparator: { + title: '¿Cómo le gustaría separar a sus artistas?', + nothing: 'Guardar sólo el artista principal', + default: 'Usar la especificación estándar', + andFeat: 'Usar & y feat.', + using: 'Usar "{separator}"' + }, + singleAlbumArtist: 'Guardar sólo el artista principal del álbum', + albumVariousArtists: 'Mantener "Various Artists" en los artistas del álbum', + removeAlbumVersion: 'Eliminar "Album Version" del título de la pista', + removeDuplicateArtists: 'Eliminar las combinaciones de artistas', + dateFormat: { + title: 'Formato de fecha para los archivos FLAC', + year: 'AAAA', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: '¿Qué debo hacer con los artistas destacados?', + 0: 'Nada', + 1: 'Quitarlo del título', + 3: 'Quitarlo del título y del título del álbum', + 2: 'Moverlo al título' + }, + titleCasing: 'Capitalizar título', + artistCasing: 'Capitalizar artista', + casing: { + nothing: 'Manténer sin cambios', + lower: 'minúsculas', + upper: 'MAYÚSCULAS', + start: 'Al Principio De Cada Palabra', + sentence: 'Como una frase' + }, + previewVolume: 'Volumen de previsualización', + executeCommand: { + title: 'Comando a ejecutar después de la descarga', + description: 'Dejar en blanco para no hacer nada' + } + }, + spotify: { + title: 'Funciones de Spotify', + clientID: 'ID del cliente de Spotify', + clientSecret: 'Cliente Secreto Spotify', + username: 'Nombre de usuario de Spotify' + }, + reset: 'Restablecer el valor por defecto', + save: 'Guardar', + toasts: { + init: '¡Configuraciones cargadas!', + update: '¡Ajustes actualizados!', + ARLcopied: 'ARL copiado al portapapeles' + } + }, + sidebar: { + home: 'inicio', + search: 'buscar', + charts: 'charts', + favorites: 'favoritos', + linkAnalyzer: 'analizar enlaces', + settings: 'ajustes', + about: 'acerca de' + }, + tracklist: { + downloadSelection: 'Descargar selección' + } +}; + +const de = { + globals: { + welcome: 'Willkommen bei deemix', + back: 'zurück', + loading: 'lädt', + download: 'Download {thing}', + by: 'von {artist}', + in: 'in {album}', + download_hint: 'Download', + play_hint: 'Play', + toggle_download_tab_hint: 'Erweitern/Minimieren', + clean_queue_hint: 'Entferne vollständige', + cancel_queue_hint: 'Alle abbrechen', + listTabs: { + empty: '', + all: 'alle', + top_result: 'Top Ergebnis', + album: 'Album | Alben', + artist: 'Künstler | Künstler', + single: 'Single | Singles', + title: 'Titel | Titel', + track: 'Track | Tracks', + trackN: '0 Tracks | {n} Track | {n} Tracks', + releaseN: '0 Releases | {n} Release | {n} Releases', + playlist: 'Playlist | Playlists', + compile: 'Sammlung | Sammlungen', + ep: 'EP | EPs', + spotifyPlaylist: 'Spotify Playlist | Spotify Playlists', + releaseDate: 'Veröffentlichungsdatum', + error: 'Fehler' + } + }, + about: { + titles: { + usefulLinks: 'Nützliche Links', + bugReports: 'Fehlermeldung', + contributing: 'Mitwirkende', + donations: 'Spenden', + license: 'Lizenz' + }, + subtitles: { + bugReports: 'Funktioniert etwas in Deemix nicht? Sag uns bescheid!', + contributing: 'Du möchtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!', + donations: 'Du möchtest deemix finanziell unterstützen? Dann lasse eine kleine Spende da!' + }, + usesLibrary: 'Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.', + thanks: 'Ein Dankeschön geht an rtonno, uhwot and lollilol für die Hilfe bei diesem Projekt und an BasCurtiz für die Erstellung des Logos.', + upToDate: { + text: 'Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.', + newsChannel: 'News Channel' + }, + officialWebsite: 'Offizielle Website', + officialRepo: 'Offizielle Library Repository', + officialWebuiRepo: 'Offizielle WebUI Repository', + officialSubreddit: 'Offizieller Subreddit', + newsChannel: 'News Channel', + questions: { + text:'Bei Fragen oder Problemen mit der App, suche als erstes nach einer Lösung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.', + subreddit: 'Subreddit' + }, + beforeReporting: 'Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden möchtest, tatsächlich ein Bug ist und nicht nur bei dir falsch ist.', + beSure: 'Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.', + duplicateReports: 'Doppelte Fehlerberichte werden geschlossen, achte darauf.', + dontOpenIssues: 'ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit dafür.', + newUI: { + text: 'Wenn du Python fließend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfläche für die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.', + repo: 'deemix Repo' + }, + acceptFeatures: 'Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden können.', + otherLanguages: 'Wenn du eine andere Programmiersprache fließend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!', + understandingCode: 'Du benötigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.', + contributeWebUI: { + text: 'Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, könntest du etwas zum {webui} beitragen.', + webui: 'WebUI' + }, + itsFree: 'Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die Künstler unterstützen, die du magst bevor du die Entwickler unterstützt.', + notObligated: 'Fühle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!', + lincensedUnder:{ + text: 'Diese Arbeit ist lizensiert unter der {gpl3}.', + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Charts', + changeCountry: 'Land wechseln', + download: 'Download Chart' + }, + errors: { + title: 'Errors für {name}', + ids: { + invalidURL: 'URL nicht erkannt', + unsupportedURL: 'URL noch nicht unterstützt', + ISRCnotOnDeezer: 'Track ISRC ist auf deezer nicht verfügbar', + notYourPrivatePlaylist: "Du kannst keine privaten Playlisten anderer herunterladen.", + spotifyDisabled: 'Spotify-Funktionen sind nicht richtig eingerichtet', + trackNotOnDeezer: 'Track ist nicht verfügbar auf Deezer!', + albumNotOnDeezer: 'Album auf Deezer nicht gefunden!', + notOnDeezer: 'Track auf Deezer nicht verfügbar!', + notEncoded: 'Track noch nicht codiert!', + notEncodedNoAlternative: 'Track noch nicht codiert und keine Alternative gefunden!', + wrongBitrate: 'Track mit gewünschter Bitrate nicht gefunden.', + wrongBitrateNoAlternative: 'Track mit gewünschter Bitrate nicht gefunden und keine Alternative gefunden!', + no360RA: 'Track ist nicht verfügbar in Reality Audio 360.', + notAvailable: "Track ist noch nicht verfügbar auf den Servern von Deezer!", + notAvailableNoAlternative: "Track ist noch nicht verfügbar auf den Servern von Deezer und keine Alternativen gefunden!!" + } + }, + favorites: { + title: 'Favoriten', + noPlaylists: 'Keine Playlist gefunden', + noAlbums: 'Keine favorisierten Alben gefunden', + noArtists: 'Keine favorisierten Künstler gefunden', + noTracks: 'Keine favorisierten Tracks gefunden' + }, + home: { + needTologin: 'Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.', + openSettings: 'Einstellungen öffnen', + sections: { + popularPlaylists: 'Beliebte Playlists', + popularAlbums: 'Meistgestreamte Alben' + } + }, + linkAnalyzer: { + info: 'Diesen Abschnitt kannst du nutzen, um weitere Informationen über den gewünschten Link zu erhalten, den du herunterladen möchtest.', + useful: "Dies ist z.B. nützlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verfügbar sind, und du wissen möchtest, wo sie verfügbar sind.", + linkNotSupported: 'Dieser Link wird noch nicht unterstützt', + linkNotSupportedYet: 'Es scheint so, als ob dieser Link noch nicht unterstützt wird. Versuche einen anderen Link zu analysieren.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Dauer', + diskNumber: 'CD Nummer', + trackNumber: 'Track Nummer', + releaseDate: 'Veröffentlichungsdatum', + bpm: 'BPM', + label: 'Label', + recordType: 'Art der Aufnahme', + genres: 'Genres', + tracklist: 'Trackliste' + } + }, + search: { + startSearching: 'Suche starten!', + description: 'Du kannst einen Titel, ein ganzes Album, einen Künstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einfügen', + fans: '{n} Fans', + noResults: 'Keine Ergebnisse', + noResultsTrack: 'Keine Tracks gefunden', + noResultsAlbum: 'Keine Alben gefunden', + noResultsArtist: 'Keinen Künstler gefunden', + noResultsPlaylist: 'Keine Playlist gefunden' + }, + searchbar: 'Suche nach allem, was dir gefällt (oder füge einfach einen Link ein)', + downloads: 'Downloads', + toasts: { + addedToQueue: '{item} zur Warteschlange hinzugefügt', + alreadyInQueue: '{item} ist bereits in der Warteschlange!', + finishDownload: '{item} vollständig heruntergeladen.', + allDownloaded: 'Alle Downloads abgeschlossen!', + refreshFavs: 'Abgeschlossene Downloads neu laden!', + loggingIn: 'Einloggen', + loggedIn: 'Eingeloggt', + alreadyLogged: 'Bereits eingeloggt', + loginFailed: "Login fehlgeschlagen", + loggedOut: 'Ausgeloggt', + cancellingCurrentItem: 'Aktuelle Auswahl abbrechen.', + currentItemCancelled: 'Aktuelle Auswahl wurde abgebrochen', + startAddingArtist: '{artist} Alben werden hinzugefügt', + finishAddingArtist: '{artist} Alben wurden hinzugefügt', + startConvertingSpotifyPlaylist: 'Konvertierern von Spotify-Tracks zu Deezer-Tracks', + finishConvertingSpotifyPlaylist: 'Spotify Playlist convertiert' + }, + settings: { + title: 'Einstellungen', + languages: 'Sprachen', + login: { + title: 'Login', + loggedIn: 'Du bist eingeloggt als {username}', + arl: { + question: 'Wie bekomme ich meine eigene ARL?', + update: 'Update ARL' + }, + logout: 'Logout' + }, + appearance: { + title: 'Design', + slimDownloadTab: 'schmaler Download-Tab' + }, + downloadPath: { + title: 'Download Pfad' + }, + templates: { + title: 'Vorlagen', + tracknameTemplate: 'Vorlage für den Tracknamen', + albumTracknameTemplate: 'Vorlage für Tracks in einem Album', + playlistTracknameTemplate: 'Vorlage für Tracks in einer Playlist' + }, + folders: { + title: 'Folders', + createPlaylistFolder: 'Ordner für Playlist erstellen', + playlistNameTemplate: 'Vorlage für Playlist-Ordner', + createArtistFolder: 'Ordner für Künstler erstellen', + artistNameTemplate: 'Vorlage für Künstler-Ordner', + createAlbumFolder: 'Ordner für Album erstellen', + albumNameTemplate: 'Vorlage für Album-Ordner', + createCDFolder: 'Ordner für CDs erstellen', + createStructurePlaylist: 'Erstellen von Künstler-, Alben- und CD-Ordnern auch für Playlists', + createSingleFolder: 'Ordner für einzelne Titel erstellen' + }, + trackTitles: { + title: 'Songtitel', + padTracks: 'Einheitliche Länge der Titelnummern (voranstehende Nullen werden ergänzt)', + paddingSize: 'Innenabstand überschreiben', + illegalCharacterReplacer: 'Unzulässige Zeichen ersetzen' + }, + downloads: { + title: 'Downloads', + queueConcurrency: 'Gleichzeitige Downloads', + maxBitrate: { + title: 'Bevorzugte Bitrate', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Soll ich die Dateien überchreiben?', + y: 'Ja überschreibe die Dateien', + n: 'Nein überschreibe die Dateien nicht', + t: 'Überschreibe nur die Tags', + b: 'Nein, behalte beide Dateien und füge der Kopie eine Nummer hinzu' + + }, + fallbackBitrate: 'Falls gewünschte Bitrate nicht verfügbar, auf niedrigere Bitrate zurückgreifen', + fallbackSearch: 'Zur Suche zurückkehren, wenn der Song nicht verfügbar ist', + logErrors: 'Protokolldatei für Fehler im Download-Ordner erstellen', + logSearched: 'Protokolldatei für gesuchte Titel erstellen', + createM3U8File: 'Erstelle Playlist-Datei (M3U8)', + syncedLyrics: 'Erstelle synchrone Lyrics-Datei (.lyr)', + playlistFilenameTemplate: 'Vorlage für den Namen der Playlist', + saveDownloadQueue: 'Download-Warteschlange beim Schließen der App speichern' + }, + covers: { + title: 'Album Cover', + saveArtwork: 'Cover speichern', + coverImageTemplate: 'Vorlage für den Covernamen', + saveArtworkArtist: 'Speichere das Künstlerbild', + artistImageTemplate: 'Vorlage des Künstlerbildes', + localArtworkSize: 'Lokale Grafikgröße', + embeddedArtworkSize: 'Eingebettete Grafikgröße', + localArtworkFormat: { + title: 'Welches Datei-Format soll das Cover haben?', + jpg: 'Ein jpg Bild', + png: 'Ein png Bild', + both: 'Beides (jpg + png)' + }, + jpegImageQuality: 'JPEG Qualität' + }, + tags: { + head: 'Welche Tags sollen gespeichert werden?', + title: 'Titel', + artist: 'Künstler', + album: 'Album', + cover: 'Cover', + trackNumber: 'Titelnummer', + trackTotal: 'Titelanzahl', + discNumber: 'CD Nummer', + discTotal: 'CDs insgesamt', + albumArtist: 'Album Künstler', + genre: 'Genre', + year: 'Jahr', + date: 'Datum', + explicit: 'Explizite Lyrics', + isrc: 'ISRC', + length: 'Titel Länge', + barcode: 'Album Barcode (UPC)', + bpm: 'BPM', + replayGain: 'Wiedergabe Lautstärke', + label: 'Album Plattenlabel', + lyrics: 'Nicht synchronisierte Texte', + copyright: 'Copyright', + composer: 'Komponist', + involvedPeople: 'Mitwirkende Personen' + }, + other: { + title: 'Sonstige', + savePlaylistAsCompilation: 'Speichere Playlist als Zusammenstellung', + useNullSeparator: 'Verwende Nulltrennzeichen', + saveID3v1: 'Speichere ID3v1 ebenfalls', + multiArtistSeparator: { + title: 'Wie möchtest du die Künstler trennen?', + nothing: 'Speichere nur den Hauptkünstler', + default: 'Verwende Standard Spezifikationen', + andFeat: 'Verwende & und feat.', + using: 'Verwende "{separator}"' + }, + singleAlbumArtist: 'Nur den Hauptkünstler speichern', + albumVariousArtists: 'Verschiedene Künstler" im Album Künstler Tag behalten', + removeAlbumVersion: 'Entferne die "Album Version" vom Songtitel', + removeDuplicateArtists: 'Kombinationen von Künstlern entfernen', + dateFormat: { + title: 'Datumsformatierung für FLAC Dateien', + year: 'JJJJ', + month: 'MM', + day: 'TT' + }, + featuredToTitle: { + title: 'Was soll ich mit featured Artists machen?', + 0: 'Nichts', + 1: 'Vom Titel entfernen', + 3: 'Vom Titel und Albumtitel entfernen', + 2: 'Zu dem Titel hinzufügen' + }, + titleCasing: 'Titel-Schreibweise', + artistCasing: 'Künstler-Schreibweise', + casing: { + nothing: 'Unbearbeitet lassen', + lower: 'klein', + upper: 'GROSS', + start: 'Wortanfang Gross', + sentence: 'Satzanfang gross' + }, + previewVolume: 'Vorschau der Lautstärke', + executeCommand: { + title: 'Befehl, der nach dem Download ausgeführt werden soll', + description: 'Leer lassen ohne Aktion' + } + }, + spotify: { + title: 'Spotify Features', + clientID: 'Spotify Client ID', + clientSecret: 'Spotify Client Secret', + username: 'Spotify Benutzername' + }, + reset: 'Auf Standardwerte zurücksetzen', + save: 'Speichern', + toasts: { + init: 'Einstellungen geladen!', + update: 'Einstellungen aktualisiert!', + ARLcopied: 'ARL wurde in die Zwischenablage kopiert' + } + }, + sidebar: { + home: 'Home', + search: 'Suche', + charts: 'Charts', + favorites: 'Favoriten', + linkAnalyzer: 'Link Analyse', + settings: 'Einstellungen', + about: 'Info' + }, + tracklist: { + downloadSelection: 'Downloads' + } +}; + +const fr = { + globals: { + welcome: 'Bienvenue dans deemix', + back: 'retour', + loading: 'chargement en cours', + download: 'Télécharger {thing}', + by: 'par {artist}', + in: 'dans {album}', + download_hint: 'Télécharger', + play_hint: 'Lire', + toggle_download_tab_hint: 'Développer/Réduire', + clean_queue_hint: 'Retirer Les Tâches Terminées', + cancel_queue_hint: 'Tout Annuler', + open_downloads_folder: 'Ouvrir Le Dossier De Téléchargements', + cut: 'couper', + copy: 'copier', + copyLink: 'copier le lien', + copyImageLink: "copier le lien de l'image", + copyDeezerLink: 'copier le lien deezer', + paste: 'coller', + listTabs: { + empty: '', + all: 'tout', + top_result: 'meilleur résultat', + album: 'album | albums', + artist: 'artiste | artistes', + single: 'single | singles', + title: 'titre | titres', + track: 'piste | pistes', + releaseN: '0 sortie | {n} sortie | {n} sorties', + playlist: 'playlist | playlists', + compile: 'compilation | compilations', + ep: 'ep | eps', + bundle: 'bundle | bundles', + more: "Plus d'albums", + featured: 'Apparaît dans', + spotifyPlaylist: 'playlist spotify | playlists spotify', + releaseDate: 'date de sortie', + error: 'erreur', + trackN: '0 piste | {n} piste | {n} pistes', + albumN: '0 album | {n} album | {n} albums', + artistN: '0 artiste | {n} artiste | {n} artistes', + playlistN: '0 playlist | {n} playlist | {n} playlists' + } + }, + about: { + appStatus: { + online: 'app en ligne', + offline: 'app hors ligne' + }, + updates: { + currentVersion: 'Version Actuelle', + currentWebuiVersion: 'Version Actuelle De La WebUI', + versionNotAvailable: 'N/A', + updateAvailable: "Vous n'utilisez pas la dernière version disponible : {version}", + deemixVersion: 'Version de la bibliothèque deemix' + }, + titles: { + usefulLinks: 'Liens Utiles', + bugReports: 'Rapports De Bug', + contributing: 'Contribution', + donations: 'Dons', + license: 'Licence' + }, + subtitles: { + bugReports: 'Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !', + contributing: 'Vous souhaitez contribuer à ce projet ? Vous pouvez le faire de différentes manières !', + donations: 'Vous souhaitez contribuer financièrement ? Vous pouvez faire un don !' + }, + usesLibrary: + 'Cette application utilise la bibliothèque deemix, que vous pouvez exploiter afin de créer votre propre interface utilisateur pour deemix.', + thanks: + "Merci à rtonno, uhwot et lollilol de m'avoir aidé dans ce projet ainsi qu'à BasCurtiz pour la création de l'icône.", + upToDate: { + text: `Restez informé des mises à jour en suivant le {newsChannel} sur Telegram.`, + newsChannel: "canal d'informations" + }, + officialWebsite: 'Site Officiel', + officialRepo: 'Répertoire De Dépôt Officiel De La Bibliothèque', + officialWebuiRepo: 'Répertoire De Dépôt Officiel De La WebUI', + officialSubreddit: 'Subreddit Officiel', + newsChannel: "Canal d'Informations", + questions: { + text: `Si vous avez des questions ou des problèmes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en décrivant votre problème.`, + subreddit: 'subreddit' + }, + beforeReporting: + "Avant de signaler un bug, assurez-vous que vous utilisez la version la plus récente de l'application. Vérifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre côté.", + beSure: + "Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a déjà été recensé.", + duplicateReports: "Les rapports de bug répétitifs seront supprimés, merci d'en prendre bonne note.", + dontOpenIssues: + "NE PAS rapporter de problème s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.", + newUI: { + text: `Si vous maîtrisez python, vous pouvez essayer de créer une nouvelle interface utilisateur pour l'application à l'aide de la bibliothèque de base, ou corriger des bugs dans la bibliothèque à l'aide d'une demande de fusion de branches (pull request) sur le {repo}.`, + repo: 'répertoire de dépôt' + }, + acceptFeatures: + "J'accepte également les nouvelles fonctionnalités, mais pas de choses complexes, dans la mesure où elles peuvent être implémentées directement dans l'application et non dans la bibliothèque.", + otherLanguages: + 'Si vous maîtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !', + understandingCode: + "Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.", + contributeWebUI: { + text: `Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer à la {webui}.`, + webui: 'WebUI' + }, + itsFree: + "N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes préférés avant de supporter les développeurs.", + notObligated: 'Ne vous sentez pas obligé de faire un don, vous êtes tout de même apprécié !', + lincensedUnder: { + text: `Ce projet s'inscrit dans le cadre de la {gpl3}.`, + gpl3: 'Licence publique générale GNU, version 3' + } + }, + charts: { + title: 'Classements', + changeCountry: 'Changer De Pays', + download: 'Télécharger Le Classement' + }, + errors: { + title: 'Erreurs pour {name}', + ids: { + invalidURL: "Cette URL n'est pas reconnue", + unsupportedURL: "Cette URL n'est actuellement pas supportée", + ISRCnotOnDeezer: "L'ISRC de la piste est indisponible sur Deezer", + notYourPrivatePlaylist: "Vous n'êtes pas autorisé à télécharger les playlists privées de quelqu'un d'autre.", + spotifyDisabled: 'Les Fonctionnalités Spotify ne sont pas configurées correctement.', + trackNotOnDeezer: 'La piste est introuvable sur Deezer !', + albumNotOnDeezer: "L'album est introuvable sur Deezer !", + notOnDeezer: 'La piste est indisponible sur Deezer !', + notEncoded: "La piste n'a pas encore été encodée !", + notEncodedNoAlternative: "La piste n'a pas encore été encodée et aucune alternative n'a été trouvée !", + wrongBitrate: 'La piste est introuvable au débit souhaité.', + wrongBitrateNoAlternative: "La piste est introuvable au débit souhaité et aucune alternative n'a été trouvée !", + no360RA: 'La piste est indisponible au format Reality Audio 360.', + notAvailable: 'La piste est indisponible sur les serveurs de Deezer !', + notAvailableNoAlternative: + "La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a été trouvée !", + noSpaceLeft: "L'espace disponible sur cet appareil est insuffisant !", + albumDoesntExists: "Aucun album n'existe pour cette piste, impossible de collecter les informations nécessaires" + } + }, + favorites: { + title: 'Favoris', + noPlaylists: "Aucune Playlist n'a été trouvée", + noAlbums: "Aucun Album Favori n'a été trouvé", + noArtists: "Aucun Artiste Favori n'a été trouvé", + noTracks: "Aucune Piste Favorite n'a été trouvée" + }, + home: { + needTologin: 'Vous devez vous connecter à votre compte Deezer avant de pouvoir démarrer un téléchargement.', + openSettings: 'Ouvrir Les Paramètres', + sections: { + popularPlaylists: 'Playlists les plus écoutées', + popularAlbums: 'Albums les plus écoutés' + } + }, + linkAnalyzer: { + info: + "Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de télécharger.", + useful: + "C'est utile si vous essayez, par exemple, de télécharger des pistes indisponibles dans votre pays et que vous souhaitez savoir où elles sont disponibles.", + linkNotSupported: "Ce lien n'est pas encore pris en charge", + linkNotSupportedYet: "Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.", + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Durée', + diskNumber: 'Numéro De Disque', + trackNumber: 'Numéro De Piste', + releaseDate: 'Date De Sortie', + bpm: 'BPM', + label: 'Label', + recordType: "Type d'Enregistrement", + genres: 'Genres', + tracklist: 'Liste Des Pistes' + } + }, + search: { + startSearching: 'Démarrer une recherche !', + description: + 'Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez également coller un lien Deezer.', + fans: '{n} fans', + noResults: 'Aucun résultat', + noResultsTrack: "Aucune piste n'a été trouvée", + noResultsAlbum: "Aucun album n'a été trouvé", + noResultsArtist: "Aucun artiste n'a été trouvé", + noResultsPlaylist: "Aucune playlist n'a été trouvée" + }, + searchbar: 'Saisissez une requête (ou collez simplement un lien)', + downloads: 'téléchargements', + toasts: { + restoringQueue: "Restauration de la file d'attente de téléchargement...", + queueRestored: "La file d'attente de téléchargement a été restaurée !", + addedToQueue: "{item} ajouté à la file d'attente", + addedMoreToQueue: "{n} éléments ajoutés à la file d'attente", + alreadyInQueue: "{item} est déjà dans la file d'attente !", + finishDownload: '{item} a été téléchargé.', + allDownloaded: 'Tous les téléchargements sont terminés !', + refreshFavs: 'Actualisation terminée !', + loggingIn: 'Connexion en cours...', + loggedIn: 'Connecté', + alreadyLogged: 'Déjà connecté', + loginFailed: 'Connexion impossible', + loggedOut: 'Déconnecté', + cancellingCurrentItem: "Annulation de l'élément actuel.", + currentItemCancelled: 'Élément actuel annulé.', + startAddingArtist: "Ajout des albums de {artist} à la file d'attente", + finishAddingArtist: "Les albums de {artist} ont été ajoutés à la file d'attente", + startConvertingSpotifyPlaylist: 'Conversion de pistes Spotify en équivalents Deezer', + finishConvertingSpotifyPlaylist: 'Playlist Spotify convertie', + loginNeededToDownload: 'Vous devez vous connecter pour pouvoir télécharger des pistes !', + deezerNotAvailable: 'Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.', + startGeneratingItems: 'Traitement de {n} éléments...', + finishGeneratingItems: '{n} éléments ont été générés.' + }, + settings: { + title: 'Paramètres', + languages: 'Langues', + login: { + title: 'Connexion', + loggedIn: 'Vous êtes connecté en tant que {username}', + arl: { + question: 'Comment obtenir mon ARL personnel ?', + update: "Mettre à jour l'ARL" + }, + logout: 'Déconnexion', + login: 'Connexion via deezer.com' + }, + appearance: { + title: 'Apparence', + slimDownloadTab: 'Onglet de téléchargement compact', + slimSidebar: 'Barre latérale compacte' + }, + downloadPath: { + title: 'Emplacement De Téléchargement' + }, + templates: { + title: 'Modèles', + tracknameTemplate: 'Modèle pour le nom de piste', + tracknameAvailableVariables: 'Variables disponibles pour le nom de piste', + albumTracknameTemplate: "Modèle pour le nom de piste de l'album", + albumTracknameAvailableVariables: "Variables disponibles pour le nom de piste de l'album", + playlistTracknameTemplate: 'Modèle pour le nom de piste de la playlist', + playlistTracknameAvailableVariables: 'Variables disponibles pour le nom de piste de la playlist' + }, + folders: { + title: 'Dossiers', + createPlaylistFolder: 'Générer des dossiers par playlist', + playlistNameTemplate: 'Modèle pour le nom du dossier de playlist', + createArtistFolder: 'Générer des dossiers par artiste', + artistNameTemplate: "Modèle pour le nom du dossier d'artiste", + createAlbumFolder: 'Générer des dossiers par album', + albumNameTemplate: "Modèle pour le nom du dossier d'album", + createCDFolder: 'Générer des dossiers par CD', + createStructurePlaylist: 'Générer une structure de dossiers pour les playlists', + createSingleFolder: 'Générer une structure de dossiers pour les singles' + }, + trackTitles: { + title: 'Titres des pistes', + padTracks: + 'Longueur uniforme des numéros de piste (ajoute automatiquement des zéros devant le numéro initial de la piste)', + paddingSize: 'Nombre de zéros à ajouter en permanence devant le numéro initial de la piste', + illegalCharacterReplacer: 'Substitut aux caractères non autorisés (dans les noms de fichiers et de dossiers)' + }, + downloads: { + title: 'Téléchargements', + queueConcurrency: 'Téléchargements Simultanés', + maxBitrate: { + title: 'Débit Préféré', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Les fichiers doivent-ils être écrasés ?', + y: 'Oui, écraser le fichier', + n: 'Non, ne pas écraser le fichier', + t: 'Écraser uniquement les métadonnées', + b: 'Non, conserver les deux fichiers et ajouter un numéro au doublon', + e: "Non, et ne pas tenir compte de l'extension du fichier" + }, + fallbackBitrate: "Recourir à un débit plus faible si le débit préféré n'est pas disponible", + fallbackSearch: "Rechercher la piste si le lien original n'est pas disponible", + logErrors: "Créer un fichier journal d'erreurs", + logSearched: 'Créer un fichier journal des pistes recherchées', + createM3U8File: 'Créer un fichier de playlist', + syncedLyrics: 'Créer des fichiers .lyr (Paroles Synchronisées)', + playlistFilenameTemplate: 'Modèle du nom de fichier de la playlist', + saveDownloadQueue: "Enregistrer la file d'attente de téléchargement à la fermeture de l'application" + }, + covers: { + title: "Pochettes d'albums", + saveArtwork: 'Enregistrer Les Pochettes', + coverImageTemplate: 'Modèle pour le nom de la pochette', + saveArtworkArtist: "Enregistrer l'image de l'artiste", + artistImageTemplate: "Modèle pour le nom de l'image de l'artiste", + localArtworkSize: "Taille de l'illustration locale", + embeddedArtworkSize: "Taille de l'illustration incorporée aux fichiers audio", + localArtworkFormat: { + title: "Dans quel format souhaitez-vous l'illustration locale ?", + jpg: 'Une image jpeg', + png: 'Une image png', + both: 'À la fois jpeg et png' + }, + jpegImageQuality: "Qualité de l'image JPEG", + embeddedArtworkPNG: "Enregistrer l'illustration incorporée aux fichiers audio en tant que PNG", + embeddedPNGWarning: + 'Les images PNG ne sont pas officiellement utilisées par Deezer et pourraient causer des problèmes.', + imageSizeWarning: + "Toute valeur supérieure à x1200 n'est pas officiellement supportée par Deezer, vous pourriez donc rencontrer des problèmes.", + coverDescriptionUTF8: 'Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)' + }, + tags: { + head: 'Métadonnées à sauvegarder', + title: 'Titre', + artist: 'Artiste', + album: 'Album', + cover: 'Pochette', + trackNumber: 'Numéro De Piste', + trackTotal: 'Nombre De Pistes', + discNumber: 'Numéro Du Disque', + discTotal: 'Nombre De Disques', + albumArtist: "Artiste De l'Album", + genre: 'Genre', + year: 'Année', + date: 'Date', + explicit: 'Paroles Explicites', + isrc: 'ISRC', + length: 'Longueur De La Piste', + barcode: "Code-Barres De l'Album (UPC)", + bpm: 'BPM', + replayGain: 'Gain En Relecture (Replay Gain)', + label: "Label De l'Album", + lyrics: 'Paroles Non-Synchronisées', + syncedLyrics: 'Paroles Synchronisées', + copyright: "Droits d'Auteur (Copyright)", + composer: 'Compositeur', + involvedPeople: 'Personnes Impliquées', + source: 'ID de la source et de la piste' + }, + other: { + title: 'Autre', + savePlaylistAsCompilation: 'Enregistrer les playlists en tant que compilation', + useNullSeparator: 'Utiliser le caractère NULL comme séparateur', + saveID3v1: 'Enregistrer également les métadonnées ID3v1', + multiArtistSeparator: { + title: 'Comment aimeriez-vous séparer les artistes ?', + nothing: "Enregistrer uniquement l'artiste principal", + default: 'En utilisant la spécification standard', + andFeat: 'En utilisant & et feat.', + using: 'En utilisant "{separator}"' + }, + singleAlbumArtist: "Enregistrer uniquement l'artiste principal de l'album", + albumVariousArtists: `Conserver "Various Artists" dans les Artistes de l'Album`, + removeAlbumVersion: `Supprimer "Album Version" du titre de la piste`, + removeDuplicateArtists: "Supprimer les combinaisons d'artistes", + dateFormat: { + title: 'Format de date pour les fichiers FLAC', + year: 'AAAA', + month: 'MM', + day: 'JJ' + }, + featuredToTitle: { + title: 'Que faire des artistes participants (featuring) ?', + 0: 'Ne rien faire', + 1: 'Les retirer du titre de la piste', + 3: "Les supprimer du titre de la piste et du titre de l'album", + 2: 'Les déplacer vers le titre de la piste' + }, + titleCasing: 'Casse pour le titre', + artistCasing: "Casse pour l'artiste", + casing: { + nothing: 'Conserver inchangé', + lower: 'minuscules', + upper: 'MAJUSCULES', + start: 'Majuscule Au Début De Chaque Mot', + sentence: 'Majuscule seulement au début de la phrase' + }, + previewVolume: 'Volume sonore des aperçus de pistes', + executeCommand: { + title: 'Commande à exécuter après le téléchargement', + description: "Laisser vide pour qu'aucune action n'ait lieu" + } + }, + spotify: { + title: 'Fonctionnalités Spotify', + clientID: 'clientID Spotify', + clientSecret: 'Client Secret Spotify', + username: "Nom d'utilisateur Spotify", + question: 'Comment activer les Fonctionnalités Spotify ?' + }, + reset: 'Rétablir les valeurs par défaut', + resetMessage: 'Souhaitez-vous vraiment rétablir les paramètres par défaut ?', + save: 'Sauvegarder', + toasts: { + init: 'Paramètres chargés !', + update: 'Paramètres mis à jour !', + reset: 'Paramètres réinitialisés à leur valeur par défaut !', + ARLcopied: 'ARL copié dans le presse-papier' + } + }, + sidebar: { + home: 'accueil', + search: 'recherche', + charts: 'classements', + favorites: 'favoris', + linkAnalyzer: 'analyseur de lien', + settings: 'paramètres', + about: 'à propos' + }, + tracklist: { + downloadSelection: 'Télécharger la sélection' + } +}; + +const id = { + globals: { + welcome: 'Selamat datang di deemix', + back: 'kembali', + loading: 'memuat', + download: 'Mengunduh {thing}', + by: 'oleh {artist}', + in: 'di {album}', + download_hint: 'Unduh', + play_hint: 'Putar', + toggle_download_tab_hint: 'Buka/Tutup', + clean_queue_hint: 'Berhasil Mengosongkan', + cancel_queue_hint: 'Batalkan Semua', + listTabs: { + empty: '', + all: 'semua', + top_result: 'hasil teratas', + album: 'album | album', + artist: 'artis | artis', + single: 'singel | singel', + title: 'judul | judul', + track: 'lagu | lagu', + trackN: '0 lagu | {n} lagu | {n} lagu', + releaseN: '0 rilis | {n} rilis | {n} rilis', + playlist: 'daftar putar | daftar putar', + compile: 'kompilasi | kompilasi', + ep: 'ep | ep', + spotifyPlaylist: 'daftar putar spotify | daftar putar spotify', + releaseDate: 'tanggal rilis', + error: 'galat' + } + }, + about: { + titles: { + usefulLinks: 'Tautan Berguna', + bugReports: 'Laporan Kesalahan', + contributing: 'Kontirbutor', + donations: 'Donasi', + license: 'Lisensi' + }, + subtitles: { + bugReports: "Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!", + contributing: 'Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!', + donations: 'Mau kontribusi secara finansial? Kamu bisa beri donasi!' + }, + usesLibrary: 'Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.', + thanks: `Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.`, + upToDate: { + text: `Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.`, + newsChannel: 'kanal berita deemix' + }, + officialWebsite: 'Situs Web Resmi', + officialRepo: 'Repositori Pustaka Resmi', + officialWebuiRepo: 'Repositori WebUI Resmi', + officialSubreddit: 'Subreddit Resmi', + newsChannel: 'Kanal Berita', + questions: { + text: `Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.`, + subreddit: 'subreddit' + }, + beforeReporting: `Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.`, + beSure: `Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.`, + duplicateReports: 'Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.', + dontOpenIssues: `JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.`, + newUI: { + text: `Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.`, + repo: 'repo' + }, + acceptFeatures: `Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.`, + otherLanguages: `Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!`, + understandingCode: `Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.`, + contributeWebUI: { + text: `Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.`, + webui: 'WebUI' + }, + itsFree: `Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.`, + notObligated: `Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!`, + lincensedUnder: { + text: `Pekerjaan ini ada di bawah lisensi {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Tangga Lagu', + changeCountry: 'Ubah Negara', + download: 'Unduh Tangga Lagu' + }, + errors: { + title: 'Galat untuk {name}', + ids: { + invalidURL: 'URL tidak dikenal', + unsupportedURL: 'URL belum didukung', + ISRCnotOnDeezer: 'Lagu ISRC tidak tersedia di deezer', + notYourPrivatePlaylist: "Kamu tidak bisa mengunduh daftar putar privat orang lain.", + spotifyDisabled: 'Fitur Spotify tidak diatur dengan benar.', + trackNotOnDeezer: 'Lagu tidak ditemukan di deezer!', + albumNotOnDeezer: 'Album tidak ditemukan di deezer!', + notOnDeezer: 'Lagu tidak ada di Deezer!', + notEncoded: 'Lagu belum di-encode!', + notEncodedNoAlternative: 'Lagu belum di-encode dan tidak ada alternatif lain!', + wrongBitrate: 'Lagu tidak tersedia pada bitrate yang diinginkan.', + wrongBitrateNoAlternative: 'Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!', + no360RA: 'Lagu tidak tersedia pada Reality Audio 360.', + notAvailable: "Lagu tidak tersedia pada server deezer!", + notAvailableNoAlternative: "Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!" + } + }, + favorites: { + title: 'Favorit', + noPlaylists: 'Daftar Putar kosong', + noAlbums: 'Album Favorit kosong', + noArtists: 'Artis Favorit kosong', + noTracks: 'Lagu Favorit kosong' + }, + home: { + needTologin: 'Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.', + openSettings: 'Buka Pengaturan', + sections: { + popularPlaylists: 'Daftar putar populer', + popularAlbums: 'Album paling banyak diputar' + } + }, + linkAnalyzer: { + info: 'Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.', + useful: + "Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.", + linkNotSupported: 'Tautan seperti ini belum didukung', + linkNotSupportedYet: 'Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Durasi', + diskNumber: 'Nomor Disk', + trackNumber: 'Nomor Lagu', + releaseDate: 'Tanggal Rilis', + bpm: 'BPM', + label: 'Label', + recordType: 'Tipe Rekaman', + genres: 'Genre', + tracklist: 'Daftar Lagu' + } + }, + search: { + startSearching: 'Mulai cari!', + description: + 'Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer', + fans: '{n} fan', + noResults: 'Tak ada hasil', + noResultsTrack: 'Lagu tidak ditemukan', + noResultsAlbum: 'Album tidak ditemukan', + noResultsArtist: 'Artis tidak ditemukan', + noResultsPlaylist: 'Daftar putar tidak ditemukan' + }, + searchbar: 'Cari apa pun yang kamu mau (atau berikan tautannya saja)', + downloads: 'unduhan', + toasts: { + addedToQueue: '{item} ditambah ke antrian', + alreadyInQueue: '{item} sudah ada di antrian!', + finishDownload: '{item} selesai diunduh.', + allDownloaded: 'Seluruh unduhan selesai!', + refreshFavs: 'Penyegaran selesai!', + loggingIn: 'Masuk', + loggedIn: 'Telah masuk', + alreadyLogged: 'Telah masuk', + loginFailed: "Tidak bisa masuk", + loggedOut: 'Belum masuk', + cancellingCurrentItem: 'Membatalkan item.', + currentItemCancelled: 'Item telah dibatalan.', + startAddingArtist: 'Menambahkan {artist} album ke antrian', + finishAddingArtist: '{artist} album telah ditambahkan ke antrian', + startConvertingSpotifyPlaylist: 'Mengonversi lagu spotify ke deezer', + finishConvertingSpotifyPlaylist: 'Daftar putar Spotify selesai dikonversi' + }, + settings: { + title: 'Pengaturan', + languages: 'Bahasa', + login: { + title: 'Masuk', + loggedIn: 'Kamu telah masuk sebagai {username}', + arl: { + question: 'Bagaimana cara mendapat ARL?', + update: 'Perbarui ARL' + }, + logout: 'Keluar' + }, + appearance: { + title: 'Tampilan', + slimDownloadTab: 'Tab unduhan ramping' + }, + downloadPath: { + title: 'Direktori Unduhan' + }, + templates: { + title: 'Templat', + tracknameTemplate: 'Templat judul lagu', + albumTracknameTemplate: 'Templat judul album', + playlistTracknameTemplate: 'Templat judul daftar putar' + }, + folders: { + title: 'Folders', + createPlaylistFolder: 'Buat folder untuk daftar putar', + playlistNameTemplate: 'Templat folder daftar putar', + createArtistFolder: 'Buat folder untuk artis', + artistNameTemplate: 'Templat folder artis', + createAlbumFolder: 'Buat folder untuk album', + albumNameTemplate: 'Templat folder album', + createCDFolder: 'Buat folder untuk CD', + createStructurePlaylist: 'Buat struktur folder untuk daftar putar', + createSingleFolder: 'Buat struktur folder untuk singel' + }, + trackTitles: { + title: 'Judul lagu', + padTracks: 'Judul pad', + paddingSize: 'Timpa ukuran padding', + illegalCharacterReplacer: 'Pengubah Simbol Tak Terdukung' + }, + downloads: { + title: 'Unduhan', + queueConcurrency: 'Unduhan Bersamaan', + maxBitrate: { + title: 'Bitrate Prioritas', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Apakah file mau ditimpa?', + y: 'Ya, silakan', + n: "Tidak, jangan ditimpa", + t: 'Timpa tag-nya saja' + }, + fallbackBitrate: 'Rendahkan bitrate', + fallbackSearch: 'Cari bitrate lebih rendah', + logErrors: 'Buat file log untuk galat', + logSearched: 'Buat file log untuk lagu yang dicari', + createM3U8File: 'Buat file daftar putar', + syncedLyrics: 'Buat file .lyr (Sinkronisasikan Lirik)', + playlistFilenameTemplate: 'Templat nama file untuk daftar putar', + saveDownloadQueue: 'Simpan antrian pengunduhan saat menutup aplikasi' + }, + covers: { + title: 'Sampul album', + saveArtwork: 'Simpan Sampul', + coverImageTemplate: 'Templat nama sampul', + saveArtworkArtist: 'Simpan gambar artis', + artistImageTemplate: 'Templat gambar artis', + localArtworkSize: 'Ukuran sampul lokal', + embeddedArtworkSize: 'Ukuran sampul tertanam', + localArtworkFormat: { + title: 'Format gambar apa yang kamu mau untuk sampul lokal?', + jpg: 'Gambar JPEG', + png: 'Gambar PNG', + both: 'Keduanya' + }, + jpegImageQuality: 'Kualitas gambar JPEG' + }, + tags: { + head: 'Tag apa saja yang disimpan?', + title: 'Judul', + artist: 'Artis', + album: 'Album', + cover: 'Sampul', + trackNumber: 'Nomor Lagu', + trackTotal: 'Jumlah Lagu', + discNumber: 'Nomor Disk', + discTotal: 'Jumlah Disk', + albumArtist: 'Artis pada Album', + genre: 'Genre', + year: 'Tahun', + date: 'Tanggal', + explicit: 'Lirik Eksplisit', + isrc: 'ISRC', + length: 'Durasi', + barcode: 'Barcode Album (UPC)', + bpm: 'BPM', + replayGain: 'Replay Gain', + label: 'Label Album', + lyrics: 'Lirik Tak Tersinkronisasi', + copyright: 'Hak Cipta', + composer: 'Komposer', + involvedPeople: 'Orang-Orang Terlibat' + }, + other: { + title: 'Lainnya', + savePlaylistAsCompilation: 'Simpan daftar putar sebagai kompilasi', + useNullSeparator: 'Gunakan separator null', + saveID3v1: 'Simpan juga ID3v1', + multiArtistSeparator: { + title: 'Bagaimana kamu mau memisahkan nama artis?', + nothing: 'Simpan artis utamanya saja', + default: 'Gunakan spesifikasi standard', + andFeat: 'Gunakan & dan feat.', + using: 'Gunakan "{separator}"' + }, + singleAlbumArtist: 'Simpan artis utama saja', + albumVariousArtists: 'Simpan "Various Artists" sebagai artis', + removeAlbumVersion: 'Hapus "Versi Album" dari judul lagu', + removeDuplicateArtists: 'Hapus kombinasi artis', + dateFormat: { + title: 'Format tanggal untuk file FLAC', + year: 'YYYY', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: 'Apa yang harus dilakukan jika ada artis kedua?', + 0: 'Biarkan saja', + 1: 'Hapus dari judul lagu', + 3: 'Hapus dari judul lagu dan judul album', + 2: 'Pindahkan ke judul lagu' + }, + titleCasing: 'Kapitalisasi judul', + artistCasing: 'Kapitalisasi album', + casing: { + nothing: 'Biarkan seadanya', + lower: 'huruf kecil', + upper: 'HURUF KAPITAL', + start: 'Setiap Awal Kata', + sentence: 'Huruf pertama saja' + }, + previewVolume: 'Pratinjau volume', + executeCommand: { + title: 'Perintah yang dijalankan setelah pengunduhan', + description: 'Biarkan kosong jika tidak ada' + } + }, + spotify: { + title: 'Fitur Spotify', + clientID: 'clientID Spotify ', + clientSecret: 'Client Secret Spotify ', + username: 'Username Spotify' + }, + reset: 'Kembalikan ke Awal', + save: 'Simpan', + toasts: { + init: 'Pengaturan dimuat!', + update: 'Pengaturan diperbarui!', + ARLcopied: 'ARL tersalin ke papan klip' + } + }, + sidebar: { + home: 'utama', + search: 'cari', + charts: 'tangga lagu', + favorites: 'favorit', + linkAnalyzer: 'penganalisa tautan', + settings: 'pengaturan', + about: 'tentang' + }, + tracklist: { + downloadSelection: 'Seleksi unduhan' + } +}; + +const pt = { + globals: { + welcome: 'Bem-vindo ao deemix', + back: 'voltar', + loading: 'A carregar', + download: 'Transferir {thing}', + by: 'por {artist}', + in: 'em {album}', + download_hint: 'Transferir', + play_hint: 'Tocar', + toggle_download_tab_hint: 'Expandir/Recolher', + clean_queue_hint: 'Limpar Finalizados', + cancel_queue_hint: 'Cancelar Tudo', + listTabs: { + empty: '', + all: 'Tudo', + top_result: 'melhor resultado', + album: 'álbum | álbums', + artist: 'artista | artistas', + single: 'single | singles', + title: 'título | títulos', + track: 'faixa | faixas', + trackN: '0 faixas | {n} faixa | {n} faixas', + releaseN: '0 lançamentos | {n} lançamento | {n} lançamento', + playlist: 'lista de reprodução | listas de reprodução', + compile: 'compilação | compilações', + ep: 'ep | eps', + spotifyPlaylist: 'lista de reprodução spotify | listas de reprodução spotify', + releaseDate: 'data de lançamento', + error: 'erro' + } + }, + about: { + titles: { + usefulLinks: 'Links Úteis', + bugReports: 'Relatório de erros', + contributing: 'Contribuir', + donations: 'Doações', + license: 'Licenças' + }, + subtitles: { + bugReports: 'Existe alguma coisa que não funciona no deemix? Informa-nos!', + contributing: 'Queres contribuir para o projecto? Podes fazê-lo de diferentes formas!', + donations: 'Desejas contribuir monetariamente? Faz uma doação!' + }, + usesLibrary: 'Esta aplicação usa a biblioteca deemix, que poderás usar para desenvolver o teu proprio UI para o deemix.', + thanks: `Agradeço a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o ícone.`, + upToDate: { + text: `Mantem-te atualizado seguindo o {newsChannel} no Telegram.`, + newsChannel: 'canal de notícias' + }, + officialWebsite: 'Site Oficial', + officialRepo: 'Repositório Oficial da Biblioteca', + officialWebuiRepo: 'Repositório Oficial WebUI', + officialSubreddit: 'Subreddit Oficial', + newsChannel: 'Canal de Notícias', + questions: { + text: `Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solução no {subreddit}. Caso não encontres nada podes criar um post com a tua questão no subreddit.`, + subreddit: 'subreddit' + }, + beforeReporting: `Antes de reportares um bug certifica-te que estás a correr a versão mais recente e que o que queres reportar é mesmo um bug e não algo que apenas não funciona do teu lado.`, + beSure: `Certifica-te que o erro é reprodutivel noutros dispositivos e NÃO reportes um bug que já tenha sido reportado.`, + duplicateReports: 'Bug reports duplicados serão fechados, mantém-te atento a isso.', + dontOpenIssues: `NÃO abras issues para colocar questões, existe um subreddit para isso.`, + newUI: { + text: `Caso sejas fluente em python podes tentar criar um novo UI para a aplicação recorrendo à biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.`, + repo: 'repositório' + }, + acceptFeatures: `Também aceito funcionalidades não complexas caso possam ser implementadas directamente na app e não na biblioteca.`, + otherLanguages: `Caso sejas fluente noutra linguagem de programação podes tentar migrar o deemix para outra linguagem de programação!`, + understandingCode: `Precisas de ajuda a entender o código? Acede a RemixDev no Telegram ou no Reddit.`, + contributeWebUI: { + text: `Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.`, + webui: 'WebUI' + }, + itsFree: `Deves ter em conta que que este projecto é gratuito e deverás apoiar os artistas que aprecias antes de apoiares os programadores.`, + notObligated: `Não te sintas obrigado a doar, agradeço-te na mesma!`, + lincensedUnder: { + text: `Este trabalho esta licenciado sobre a {gpl3}.`, + gpl3: 'GNU Licença publica geral 3.0' + } + }, + charts: { + title: 'Tabelas', + changeCountry: 'Alterar país', + download: 'Transferir tabela' + }, + errors: { + title: 'Erros para {name}', + ids: { + invalidURL: 'URL não reconhecido', + unsupportedURL: 'URL ainda não suportado', + ISRCnotOnDeezer: 'Faixa ISRC não disponível no deezer', + notYourPrivatePlaylist: "Nao podes baixar listas de reprodução privadas de outros.", + spotifyDisabled: 'Funcionalidades do Spotify não estão definidas corretamente.', + trackNotOnDeezer: 'Faixa não encontrada no deezer!', + albumNotOnDeezer: 'Álbum não encontrado no deezer!', + notOnDeezer: 'Faixa não encontrada no Deezer!', + notEncoded: 'Faixa ainda não codificada!', + notEncodedNoAlternative: 'Faixa ainda não codificada e não foi encontrada alternativa!', + wrongBitrate: 'Faixa não encontrada no bitrate desejado.', + wrongBitrateNoAlternative: 'Faixa não encontrada no bitrate desejado e não foi encontrada alternativa!', + no360RA: 'Faixa não disponível em Reality Audio 360.', + notAvailable: 'Faixa não disponível nos servidores do deezer!', + notAvailableNoAlternative: 'Faixa não disponível nos servidores do deezer e não foi encontrada alternativa!' + } + }, + favorites: { + title: 'Favoritos', + noPlaylists: 'Listas de reprodução não encontradas', + noAlbums: 'Álbuns favoritos não encontrados', + noArtists: 'Artistas favoritos não encontrados', + noTracks: 'Faixas favoritas não encontradas' + }, + home: { + needTologin: 'Antes de iniciar transferências é necessário efectuar autenticação na conta Deezer.', + openSettings: 'Abrir Definições', + sections: { + popularPlaylists: 'Listas de reprodução populares', + popularAlbums: 'Álbuns mais ouvidos' + } + }, + linkAnalyzer: { + info: 'Podes usar esta secção para obteres mais informação sobre o link que estás a tentar transferir.', + useful: 'Isto é útil caso estejas a tentar transferir faixas que não estão disponíveis no teu país e queres saber onde estão disponíveis, por exemplo.', + linkNotSupported: 'Este link ainda não é suportado', + linkNotSupportedYet: 'Parece que este link ainda não é suportado, tenta analisar outro.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Duração', + diskNumber: 'Número do disco', + trackNumber: 'Número da faixa', + releaseDate: 'Data de lançamento', + bpm: 'BPM', + label: 'Editora', + recordType: 'Tipo de Disco', + genres: 'Géneros', + tracklist: 'Lista de faixas' + } + }, + search: { + startSearching: 'Começa a pesquisar!', + description: 'Podes perquisar uma música, um álbum inteiro, um artista, uma lista de reprodução... tudo! Também podes colar um link do Deezer', + fans: '{n} fãs', + noResults: 'Sem resultados', + noResultsTrack: 'Faixa não encontrada', + noResultsAlbum: 'Álbum não encontrado', + noResultsArtist: 'Artista não encontrado', + noResultsPlaylist: 'Lista de reprodução não encontrada' + }, + searchbar: 'Pesquisa o que quiseres (ou cola um link)', + downloads: 'transferências', + toasts: { + addedToQueue: '{item} adicionados à fila', + alreadyInQueue: '{item} já está na fila!', + finishDownload: '{item} foi transferido.', + allDownloaded: 'Todas as transferências terminadas!', + refreshFavs: 'Actualizar terminados!', + loggingIn: 'A autenticar', + loggedIn: 'Autenticado', + alreadyLogged: 'Já estás autenticado', + loginFailed: "Nao foi possivel iniciar sessão", + loggedOut: 'Desconectado', + cancellingCurrentItem: 'A cancelar item actual.', + currentItemCancelled: 'Item actual cancelado.', + startAddingArtist: 'A adicionar {artist} álbuns à fila', + finishAddingArtist: 'Adicionados {artist} álbuns à fila', + startConvertingSpotifyPlaylist: 'A converter faixas do spotify em faixas do deezer', + finishConvertingSpotifyPlaylist: 'Lista de reprodução do Spotify convertida.' + }, + settings: { + title: 'Definições', + languages: 'Idioma', + login: { + title: 'Inicio de Sessão', + loggedIn: 'Estás autenticado como {username}', + arl: { + question: 'Como obter o meu ARL?', + update: 'Actualizar ARL' + }, + logout: 'Sair' + }, + appearance: { + title: 'Aspecto', + slimDownloadTab: 'Aba de transferências estreita' + }, + downloadPath: { + title: 'Caminho das transferências' + }, + templates: { + title: 'Formatos', + tracknameTemplate: 'Formato do nome de faixa', + albumTracknameTemplate: 'Formato do nome de Álbum', + playlistTracknameTemplate: 'Formato do nome de lista de reprodução' + }, + folders: { + title: 'Pastas', + createPlaylistFolder: 'Criar pasta para lista de reprodução', + playlistNameTemplate: 'Formato da pasta de lista de reprodução', + createArtistFolder: 'Criar pasta para artista', + artistNameTemplate: 'Formato da pasta de artista', + createAlbumFolder: 'Criar pasta para álbum', + albumNameTemplate: 'Formato da pasta de álbum', + createCDFolder: 'Criar pasta para CDs', + createStructurePlaylist: 'Criar estrutura de pastas para listas reprodução', + createSingleFolder: 'Criar estrutura de pastas para singles' + }, + trackTitles: { + title: 'Título', + padTracks: 'Bloco de Faixas', + paddingSize: 'Substituir tamanho do preenchimento', + illegalCharacterReplacer: 'Substituir caractere inválido' + }, + downloads: { + title: 'Transferências', + queueConcurrency: 'Transferências concorrentes', + maxBitrate: { + title: 'Bitrate preferencial', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Ficheiros existentes. Substituir?', + y: 'Sim, substituir o ficheiro', + n: 'Não substituir o ficheiro', + t: 'Subescrever apenas as etiquetas' + }, + fallbackBitrate: 'Bitrate fallback', + fallbackSearch: 'Fallback de pesquisa', + logErrors: 'Criar histórico para erros', + logSearched: 'Criar histórico para faixas pesquisadas', + createM3U8File: 'Criar ficheiro de lista de reprodução', + syncedLyrics: 'Criar ficheiro .lyr (Letra Sincronizada)', + playlistFilenameTemplate: 'Formato do nome de ficheiro da lista de reprodução', + saveDownloadQueue: 'Guardar fila de transferências ao fechar a aplicação' + }, + covers: { + title: 'Capas do Álbum', + saveArtwork: 'Guardar capas', + coverImageTemplate: 'Modelo do nome da capa', + saveArtworkArtist: 'Salvar imagem do artista', + artistImageTemplate: 'Modelo de imagem do artista', + localArtworkSize: 'Tamanho do trabalho artístico local', + embeddedArtworkSize: 'Tamanho do trabalho artístico incorporado', + localArtworkFormat: { + title: 'Em que formato desejas o trabalho artístico local?', + jpg: 'Em imagem jpeg', + png: 'Em imagem png', + both: 'Em jpeg e em png' + }, + jpegImageQuality: 'Qualidade de imagem JPEG' + }, + tags: { + head: 'Etiquetas a guardar', + title: 'Título', + artist: 'Artista', + album: 'Álbum', + cover: 'Capa', + trackNumber: 'Número de faixa', + trackTotal: 'Total de faixas', + discNumber: 'Número do Disco', + discTotal: 'Total de Discos', + albumArtist: 'Artista do Álbum', + genre: 'Género', + year: 'Ano', + date: 'Data', + explicit: 'Letra Explícita', + isrc: 'ISRC', + length: 'Duração da faixa', + barcode: 'Código de barras do álbum (UPC)', + bpm: 'BPM', + replayGain: 'ReplayGain', + label: 'Editora do álbum', + lyrics: 'Letra da música não sincronizada', + copyright: 'Direitos de Autor', + composer: 'Compositor', + involvedPeople: 'Pessoas envolvidas' + }, + other: { + title: 'Outros', + savePlaylistAsCompilation: 'Guardar listas de reprodução como compilação', + useNullSeparator: 'Usar separador nulo', + saveID3v1: 'Também guardar ID3v1', + multiArtistSeparator: { + title: 'Como queres separarar os artistas?', + nothing: 'Guardar apenas o artista principal', + default: 'Usar especificação padrão', + andFeat: 'Usar & e feat.', + using: 'Usar "{separator}"' + }, + singleAlbumArtist: 'Guardar apenas o artista principal do álbum', + albumVariousArtists: 'Manter "Various Artists" nos Artistas do Álbum', + removeAlbumVersion: 'Remover "Album Version" do título da faixa', + removeDuplicateArtists: 'Remover combinação de artistas', + dateFormat: { + title: 'Formato de data nos ficheiros FLAC', + year: 'AAAA', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: 'O que devo fazer com artistas convidados/participações?', + 0: 'Nada', + 1: 'Remover do título', + 3: 'Remover do título e do título do album', + 2: 'Movê-lo para o título' + }, + titleCasing: 'Caixa do Título', + artistCasing: 'Caixa do Artista', + casing: { + nothing: 'Manter inalterado', + lower: 'minusculas', + upper: 'MAIÚSCULAS', + start: 'Início De Cada Palavra', + sentence: 'Como uma frase' + }, + previewVolume: 'Volume de Pré-visualização', + executeCommand: { + title: 'Comando a executar após transferir', + description: 'Deixar em branco para nenhuma acção' + } + }, + spotify: { + title: 'Funcionalidades Spotify', + clientID: 'Spotify clientID', + clientSecret: 'Spotify Client Secret', + username: 'nome de utilizador Spotify' + }, + reset: 'Repor configurações padrão', + save: 'Guardar', + toasts: { + init: 'Configurações carregadas!', + update: 'Configurações actualizadas', + ARLcopied: 'ARL copiado para area de transferencia' + } + }, + sidebar: { + home: 'início', + search: 'pesquisa', + charts: 'tabelas', + favorites: 'favoritos', + linkAnalyzer: 'analizador de links', + settings: 'definições', + about: 'sobre' + }, + tracklist: { + downloadSelection: 'Transferir seleccionados' + } +}; + +const pt_br = { + globals: { + welcome: 'bem vindo ao deemix', + back: 'voltar', + loading: 'carregando', + download: 'Baixar {thing}', + by: 'por {artist}', + in: 'em {album}', + download_hint: 'Baixar', + play_hint: 'Reproduzir', + toggle_download_tab_hint: 'Expandir/Diminuir', + clean_queue_hint: 'Limpar', + cancel_queue_hint: 'Cancelar Todos', + listTabs: { + empty: '', + all: 'todos', + top_result: 'resultado principal', + album: 'álbum | álbuns', + artist: 'artista | artistas', + single: 'single | singles', + title: 'título | títulos', + track: 'faixa | faixas', + trackN: '0 faixas | {n} faixa | {n} faixas', + releaseN: '0 lançamento | {n} lançamento | {n} lançamentos', + playlist: 'playlist | playlists', + compile: 'compilação | compilações', + ep: 'ep | eps', + spotifyPlaylist: 'playlist do spotify | playlists do spotify', + releaseDate: 'data de lançamento', + error: 'erro' + } + }, + about: { + titles: { + usefulLinks: 'Links Úteis', + bugReports: 'Relatar Bugs', + contributing: 'Contribuições', + donations: 'Doações', + license: 'Licença' + }, + subtitles: { + bugReports: 'Há algo não funcionando no deemix? Nos diga!', + contributing: 'Você quer contribuir para este projeto? Você pode fazer isso de diferentes maneiras!', + donations: 'Você quer contribuir monetariamente? Você pode fazer uma doação!' + }, + usesLibrary: + 'Esse app usa a biblioteca do deemix, no qual você pode usar para criar sua própria UI para o deemix', + thanks: `Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o ícone`, + upToDate: { + text: `Para mais novidades siga o {newsChannel} no Telegram.`, + newsChannel: 'news channel' + }, + officialWebsite: 'Site Oficial', + officialRepo: 'Repositório da Biblioteca Oficial', + officialWebuiRepo: 'Repositório da WebUI Oficial', + officialSubreddit: 'Subreddit Oficial', + newsChannel: 'Canal de Notícias', + questions: { + text: `Se você tiver dúvidas ou problemas com o app, procure uma solução em {subreddit} primeiro. Caso você não encontre, você pode fazer um post explicando seu problema no subreddit.`, + subreddit: 'subreddit' + }, + beforeReporting: `Antes de reportar um bug, tenha certeza que você está rodando a versão mais recente do app, e o que você quer reportar seja realmente um bug e não algo que esteja acontecendo especialmente com você.`, + beSure: `Certifique-se que o bug é reproduzivel em outras máquinas e também NÃO reporte um bug se ele já foi reportado.`, + duplicateReports: 'Reportes de bugs duplicados serão fechados, então fique atento a isso.', + dontOpenIssues: `NÃO abra tópicos para fazer perguntas, há o subreddit para isso.`, + newUI: { + text: `Se você é fluente em Phython, você pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.`, + repo: 'repo' + }, + acceptFeatures: `Eu aceito funcionalidades extras também, mas nada de coisas complexas, desde que ela possa ser implementada no app, e não na biblioteca.`, + otherLanguages: `Se você for fluente em outra linguagem de programação, você pode tentar portar o deemix para outra linguagem!`, + understandingCode: `Você precisa de ajuda para entender o código? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.`, + contributeWebUI: { + text: `Se você souber Vue.js (JavaScript), HTML ou CSS você pode contribuir para o {webui}.`, + webui: 'WebUI' + }, + itsFree: `Lembre-se que este projeto é livre e você deve dar suporte aos artistas que você ama antes de dar suporte aos desenvolvedores.`, + notObligated: `Não se sinta na obrigação de doar, eu agradeço de qualquer maneira!`, + lincensedUnder: { + text: `Esse é um projeto licenciado através da {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Charts', + changeCountry: 'Mudar País', + download: 'Download Chart' + }, + errors: { + title: 'Erros para {name}', + ids: { + invalidURL: 'URL inválida', + unsupportedURL: 'URL não suportada ainda', + ISRCnotOnDeezer: 'Faixa ISRC não está disponível ainda no deezer', + notYourPrivatePlaylist: 'Você não pode baixar playlists privadas.', + spotifyDisabled: 'Os Recursos do Spotify não foram configurados corretamente.', + trackNotOnDeezer: 'Faixa não encontrada no deezer!', + albumNotOnDeezer: 'Album not found on deezer! Álbum não encontrado no deezer!', + notOnDeezer: 'Faixa indisponível no deezer!', + notEncoded: 'Faixa ainda não codificada!', + notEncodedNoAlternative: 'Faixa ainda não codificada e sem alternativas encontradas!', + wrongBitrate: 'Faixa não encontrada no bitrate desejado.', + wrongBitrateNoAlternative: 'Faixa não encontrada no bitrate desejado e nenhuma outra alternativa encontrada!', + no360RA: 'Faixa não disponível na qualidade Reality Audio 360.', + notAvailable: 'Faixa não disponível nos servidores do deezer!', + notAvailableNoAlternative: 'Faixa não disponível nos servidores do deezer e nenhuma outra alternativa encontrada!' + } + }, + favorites: { + title: 'Favoritos', + noPlaylists: 'Nenhuma Playlist encontrada', + noAlbums: 'Nenhum Álbum Favorito encontrado', + noArtists: 'Nenhum Artista Favorito encontrado', + noTracks: 'Nenhuma Faixa Favorita encontrada' + }, + home: { + needTologin: 'Você precisa logar na sua conta do deezer antes de começar a baixar músicas.', + openSettings: 'Abrir Configurações', + sections: { + popularPlaylists: 'Playlists Populares', + popularAlbums: 'Álbuns mais ouvidos' + } + }, + linkAnalyzer: { + info: 'Você pode usar essa seção para encontrar mais informações sobre o link que você quer baixar.', + useful: + 'Isso é útil se você está tentando baixar algumas faixas que não estão disponíveis no seu país, e quer saber onde elas estão disponíveis, por exemplo.', + linkNotSupported: 'Esse link não é suportado ainda', + linkNotSupportedYet: 'Parece que esse link não é suportado ainda, tente analizar outro.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Duração', + diskNumber: 'Número do Disco', + trackNumber: 'Número da Faixa', + releaseDate: 'Data de Lançamento', + bpm: 'BPM', + label: 'Gravadora', + recordType: 'Tipo de Gravação', + genres: 'Gêneros', + tracklist: 'Tracklist' + } + }, + search: { + startSearching: 'Comece pesquisando!', + description: + 'Você pode pesquisar uma música, um álbum, um artista, uma playlist.... tudo! Você também pode colar um link do Deezer', + fans: '{n} fãs', + noResults: 'Sem resultados', + noResultsTrack: 'Nenhuma Faixa encontrada', + noResultsAlbum: 'Nenhum Álbum encontrado', + noResultsArtist: 'Nenhum Artista encontrado', + noResultsPlaylist: 'Nenhuma Playlist encontrada' + }, + searchbar: 'Pesquise algo (ou apenas cole um link)', + downloads: 'downloads', + toasts: { + addedToQueue: '{item} adicionado à fila', + alreadyInQueue: '{item} já está na fila!', + finishDownload: '{item} download terminado.', + allDownloaded: 'Todos os downloads foram feitos!', + refreshFavs: 'Atualização completa!', + loggingIn: 'Logando', + loggedIn: 'Logado', + alreadyLogged: 'Você já está logado', + loginFailed: 'Não foi possivel entrar', + loggedOut: 'Desconectando', + cancellingCurrentItem: 'Cancelando item atual.', + currentItemCancelled: 'Item atual cancelado.', + startAddingArtist: 'Adicionando {artist} álbuns à fila', + finishAddingArtist: '{artist} álbuns adicionados a fila', + startConvertingSpotifyPlaylist: 'Convertendo faixas do spotify para faixas do deezer', + finishConvertingSpotifyPlaylist: 'Playlists do Spotify convertidas' + }, + settings: { + title: 'Configurações', + languages: 'Idiomas', + login: { + title: 'Login', + loggedIn: 'Você está logado como {username}', + arl: { + question: 'Como eu consigo o meu ARL?', + update: 'Atualizar ARL' + }, + logout: 'Sair' + }, + appearance: { + title: 'Aparência', + slimDownloadTab: 'Aba de download slim' + }, + downloadPath: { + title: 'Diretório de Downloads' + }, + templates: { + title: 'Templates', + tracknameTemplate: 'Template do nome da faixa', + albumTracknameTemplate: 'Template da faixa do álbum', + playlistTracknameTemplate: 'Template da faixa da playlist' + }, + folders: { + title: 'Pastas', + createPlaylistFolder: 'Criar pasta para playlists', + playlistNameTemplate: 'Template da pasta de playlist', + createArtistFolder: 'Criar pasta para os artistas', + artistNameTemplate: 'Template da pasta de artistas', + createAlbumFolder: 'Criar pasta para álbuns', + albumNameTemplate: 'Template da pasta de álbuns', + createCDFolder: 'Criar pasta para CDs', + createStructurePlaylist: 'Criar estrutura de pastas para playlists', + createSingleFolder: 'Criar estrutura de pastas para singles' + }, + trackTitles: { + title: 'Título das faixas', + padTracks: 'Faixas com pad', + paddingSize: 'Sobrescrever tamanho do padding', + illegalCharacterReplacer: 'Substituir caracteres inválidos' + }, + downloads: { + title: 'Downloads', + queueConcurrency: 'Downloads Simultâneos', + maxBitrate: { + title: 'Escolher Taxa de Bits', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Sobrescrever arquivos?', + y: 'Sim, sobrescrever arquivos', + n: 'Não, não sobrescrever arquivos', + t: 'Sobrescrever apenas as tags' + }, + fallbackBitrate: 'Taxa de bits reserva', + fallbackSearch: 'Procurar reserva', + logErrors: 'Criar arquivos de log para erros', + logSearched: 'Criar arquivos de log para faixas pesquisadas', + createM3U8File: 'Criar arquivo de playlist', + syncedLyrics: 'Criar arquivos .lyr (Letras)', + playlistFilenameTemplate: 'Template do nome do arquivo da playlist', + saveDownloadQueue: 'Salvar a fila de downloads quando fechar o app' + }, + covers: { + title: 'Capa dos álbuns', + saveArtwork: 'Salvar capas', + coverImageTemplate: 'Template do nome da capa', + saveArtworkArtist: 'Salvar imagem do artista', + artistImageTemplate: 'Template da imagem do artista', + localArtworkSize: 'Tamanho da capa local', + embeddedArtworkSize: 'Tamanho da capa embutida', + localArtworkFormat: { + title: 'Qual o formato da imagem que você quer para a capa local?', + jpg: '.jpeg', + png: '.png', + both: 'Ambas, .jpeg e .png' + }, + jpegImageQuality: 'Qualidade da imagem JPEG' + }, + tags: { + head: 'Quais tags salvar', + title: 'Título', + artist: 'Artista', + album: 'Álbum', + cover: 'Capa', + trackNumber: 'Número da Faixa', + trackTotal: 'Total de Faixas', + discNumber: 'Número de Discos', + discTotal: 'Total de Discos', + albumArtist: 'Artista do Álbum', + genre: 'Gênero', + year: 'Ano', + date: 'Data', + explicit: 'Letras Explícitas', + isrc: 'ISRC', + length: 'Tamanho da Faixa', + barcode: 'Código de Barras do álbum (UPC)', + bpm: 'BPM', + replayGain: 'Replay Gain', + label: 'Gravadora', + lyrics: 'Letras Dessincronizadas', + copyright: 'Copyright', + composer: 'Compositor', + involvedPeople: 'Pessoas Envolvidas' + }, + other: { + title: 'Outros', + savePlaylistAsCompilation: 'Salvar playlists como uma compilação', + useNullSeparator: 'Usar separador nulo', + saveID3v1: 'Salvar ID3v1', + multiArtistSeparator: { + title: 'Como você gostaria de separar os artistas?', + nothing: 'Salvar apenas o artista principal', + default: 'Usar a especificação padrão', + andFeat: 'Usar & e feat.', + using: 'Usar "{separator}"' + }, + singleAlbumArtist: 'Salvar apenas o artista principal', + albumVariousArtists: 'Manter "Various Artists" nos Artistas do Álbum', + removeAlbumVersion: 'Remover "Album Version" do título da faixa', + removeDuplicateArtists: 'Remover combinação de artistas', + dateFormat: { + title: 'Formato da data para arquivos FLAC', + year: 'AAAA', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: 'O que devo fazer com artistas participantes?', + 0: 'Nada', + 1: 'Remova do título da faixa', + 3: 'Remova do título da faixa e do álbum', + 2: 'Mover para o título da faixa' + }, + titleCasing: 'Formatação do título', + artistCasing: 'Formatação do artista', + casing: { + nothing: 'Manter inalterado', + lower: 'minúsculo', + upper: 'MAIÚSCULO', + start: 'Começo De Cada Palavra', + sentence: 'Como uma frase' + }, + previewVolume: 'Prévia do Volume', + executeCommand: { + title: 'Comando para executar depois de baixar', + description: 'Deixe em branco para nenhuma ação' + } + }, + spotify: { + title: 'Recursos do Spotify', + clientID: 'Spotify clientID', + clientSecret: 'Spotify Client Secret', + username: 'usuário do Spotify' + }, + reset: 'Restaurar para o padrão', + save: 'Salvar', + toasts: { + init: 'Configurações carregadas!', + update: 'Configurações atualizadas!', + ARLcopied: 'ARL copiada para a área de transferência' + } + }, + sidebar: { + home: 'início', + search: 'pesquisa', + charts: 'charts', + favorites: 'favoritos', + linkAnalyzer: 'analizador de links', + settings: 'configurações', + about: 'sobre' + }, + tracklist: { + downloadSelection: 'Baixar seleção' + } +}; + +const ru = { + globals: { + welcome: 'Добро пожаловать в deemix', + back: 'назад', + loading: 'загрузка', + download: 'Скачать {thing}', + by: '{artist}', + in: 'из {album}', + download_hint: 'Скачать', + play_hint: 'Прослушать', + toggle_download_tab_hint: 'Показать/Скрыть', + clean_queue_hint: 'Очистить завершённые', + cancel_queue_hint: 'Очистить всё', + open_downloads_folder: 'Открыть папку с загрузками', + cut: 'вырезать', + copy: 'копировать', + copyLink: 'копировать ссылку', + copyImageLink: 'копировать URL картинки', + copyDeezerLink: 'копировать ссылку deezer', + paste: 'вставить', + listTabs: { + empty: '', + all: 'все', + top_result: 'лучший результат', + album: 'альбом | альбомы | альбомы', + artist: 'исполнитель | исполнители | исполнители', + single: 'сингл | синглы | синглы', + title: 'название', + track: 'трек | треки | треки', + trackN: '{n} трек | {n} трека | {n} треков', + releaseN: '{n} релиз | {n} релиза | {n} релизов', + playlist: 'плейлист | плейлисты | плейлисты', + compile: 'сплит | сплиты | сплиты', + ep: 'ep', + bundle: 'бандл | бандлы | бандлы', + more: 'Больше альбомов', + featured: 'Представлено в', + spotifyPlaylist: 'плейлист spotify | плейлисты spotify | плейлисты spotify', + releaseDate: 'Дата выхода', + error: 'ошибка', + albumN: '{n} альбом | {n} альбома | {n} альбомов', + artistN: '{n} исполнитель | {n} исполнителя | {n} исполнителей', + playlistN: '{n} плейлист | {n} плейлиста | {n} плейлистов' + } + }, + about: { + updates: { + currentVersion: 'Текущая версия', + versionNotAvailable: 'Н/Д', + updateAvailable: `Вы используете не последнюю доступную версию: {version}`, + deemixVersion: 'Версия библиотеки deemix' + }, + titles: { + usefulLinks: 'Полезные ссылки', + bugReports: 'Отчёты об ошибках', + contributing: 'Помощь проекту', + donations: 'Пожертвования', + license: 'Лицензия' + }, + subtitles: { + bugReports: "Что-то не работает? Сообщите нам!", + contributing: 'Хотите внести вклад в развитие этого проекта? Это можно сделать разными способами!', + donations: 'Хотите поддержать материально? Можно сделать пожертвование!' + }, + usesLibrary: 'Приложение использует библиотеку deemix, с помощью которой вы можете разработать собственный UI для deemix.', + thanks: `Спасибо rtonno, uhwot и lollilol за помощь с этим проектом, а также BasCurtiz за иконку.`, + upToDate: { + text: `Следите за последними обновлениями на {newsChannel} в Telegram.`, + newsChannel: 'канале' + }, + officialWebsite: 'Официальный сайт', + officialRepo: 'Официальный репозиторий библиотеки', + officialWebuiRepo: 'Официальный репозиторий WebUI', + officialSubreddit: 'Официальный сабреддит', + newsChannel: 'Канал новостей', + questions: { + text: `Если у вас возникли вопросы или проблемы с приложением, поищите решение на {subreddit}. Если не нашли решение, можете создать новый пост и описать вашу проблему.`, + subreddit: 'сабреддите' + }, + beforeReporting: `Перед тем, как сообщать об ошибках, убедитесь, что вы используете последнюю версию приложения и что проблема не на вашей стороне.`, + beSure: `Убедитесь, что ошибка возникает и на других устройствах. Также НЕ сообщайте об ошибке, если про неё уже известно.`, + duplicateReports: 'Повторные сообщения об ошибках рассматриваться не будут.', + dontOpenIssues: `НЕ используйте репозиторий для вопросов автору, для этого есть сабреддит.`, + newUI: { + text: `Если вы хорошо знаете python, то можете сделать новый UI для приложения с использованием базовой библиотеки или пофиксить в ней баги и сделать pull request в {repo}.`, + repo: 'репозитории' + }, + acceptFeatures: `Можете предложить новые функции, но не слишком сложные, так как они будут добавлены в приложение, а не в саму библиотеку.`, + otherLanguages: `Если вы хорошо знаете другой язык программирования, можете портировать на нём deemix!`, + understandingCode: `Не можете разобраться в коде? Свяжитесь с RemixDev в Telegram или на Reddit.`, + contributeWebUI: { + text: `Если вы знаете Vue.js (JavaScript), HTML или CSS, можете внести вклад в развитие {webui}.`, + webui: 'WebUI' + }, + itsFree: `Помните, что это бесплатное приложение и вам следует поддерживать понравившихся исполнителей прежде, чем поддерживать разработчиков.`, + notObligated: `Вы не обязаны делать пожертвования, я всё равно вас ценю!`, + lincensedUnder: { + text: `Проект распространяется под лицензией {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Чарты', + changeCountry: 'Сменить страну', + download: 'Скачать чарт' + }, + errors: { + title: 'Ошибки {name}', + ids: { + invalidURL: 'URL не распознан', + unsupportedURL: 'URL не поддерживается', + ISRCnotOnDeezer: 'ISRC данного трека недоступен на Deezer', + notYourPrivatePlaylist: "Вы не можете скачивать чужие приватные плейлисты.", + spotifyDisabled: 'Неправильно настроены параметры Spotify.', + trackNotOnDeezer: 'Трек не найден на Deezer!', + albumNotOnDeezer: 'Альбом не найден на Deezer!', + notOnDeezer: 'Трек недоступен на Deezer!', + notEncoded: 'Трек ещё не перекодирован!', + notEncodedNoAlternative: 'Трек не перекодирован, альтернатив не найдено!', + wrongBitrate: 'Данного трека нет в нужном битрейте.', + wrongBitrateNoAlternative: 'Данного трека нет в нужном битрейте. Альтернатив не найдено!', + no360RA: 'Трек недоступен в формате Reality Audio 360.', + notAvailable: "Трек недоступен на серверах Deezer!", + notAvailableNoAlternative: "Трек недоступен на серверах Deezer. Альтернатив не найдено!", + noSpaceLeft: "На устройстве не осталось свободного места!", + albumDoesntExists: "Альбома не существует, информация не получена" + } + }, + favorites: { + title: 'Избранное', + noPlaylists: 'Плейлисты не найдены', + noAlbums: 'Избранные альбомы не найдены', + noArtists: 'Избранные исполнители не найдены', + noTracks: 'Избранные треки не найдены' + }, + home: { + needTologin: 'Вам необходимо войти под своей учетной записью Deezer, прежде чем вы сможете скачивать.', + openSettings: 'Открыть настройки', + sections: { + popularPlaylists: 'Популярные плейлисты', + popularAlbums: 'Самые прослушиваемые альбомы' + } + }, + linkAnalyzer: { + info: 'Используйте этот раздел, чтобы узнать информацию о ссылке, которую требуется скачать.', + useful: "Этот раздел нужен, если вы хотите загрузить треки, недоступные в вашей стране, а также посмотреть, где они доступны.", + linkNotSupported: 'Ссылка не поддерживается', + linkNotSupportedYet: 'Эта ссылка не поддерживается, попробуйте вставить другую.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Продолжительность', + diskNumber: 'Номер диска', + trackNumber: 'Номер трека', + releaseDate: 'Дата выхода', + bpm: 'BPM', + label: 'Издатель', + recordType: 'Тип', + genres: 'Жанр', + tracklist: 'Треклист' + } + }, + search: { + startSearching: 'Начните искать!', + description: 'Здесь можно найти трек, альбом, исполнителя, плейлист... всё! Можно также вставить ссылку Deezer', + fans: '{n} поклонников', + noResults: 'Нет результатов', + noResultsTrack: 'Треков не найдено', + noResultsAlbum: 'Альбомов не найдено', + noResultsArtist: 'Исполнителей не найдено', + noResultsPlaylist: 'Плейлистов не найдено' + }, + searchbar: 'Ищите, что хотите (или вставьте ссылку)', + downloads: 'загрузки', + toasts: { + restoringQueue: 'Восстановление очереди загрузок...', + queueRestored: 'Очередь восстановлена!', + addedToQueue: '{item} добавлено в очередь', + addedMoreToQueue: '{n} загрузок добавлены в очередь', + alreadyInQueue: '{item} уже присутствует в очереди!', + finishDownload: 'Загрузка {item} завершена.', + allDownloaded: 'Все загрузки завершены!', + refreshFavs: 'Обновление завершено!', + loggingIn: 'Вход...', + loggedIn: 'Вход выполнен', + alreadyLogged: 'Вход уже выполнен', + loginFailed: "Вход не выполнен", + loggedOut: 'Вы вышли из аккаунта', + cancellingCurrentItem: 'Отмена текущей загрузки.', + currentItemCancelled: 'Отменено.', + startAddingArtist: 'Добавление альбомов {artist} в очередь', + finishAddingArtist: 'Альбомы {artist} добавлены в очередь', + startConvertingSpotifyPlaylist: 'Добавление плейлиста Spotify в очередь', + finishConvertingSpotifyPlaylist: 'Spotify плейлист добавлен в очередь', + loginNeededToDownload: 'Войдите в аккаунт, чтобы скачивать треки!', + deezerNotAvailable: 'Deezer недоступен в вашей стране. Используйте VPN.', + startGeneratingItems: 'Обработка {n} загрузок...', + finishGeneratingItems: 'Обработано {n} загрузок.' + }, + settings: { + title: 'Настройки', + languages: 'Язык', + login: { + title: 'Вход', + loggedIn: 'Вы вошли как {username}', + arl: { + question: 'Как узнать свой ARL?', + update: 'Обновить ARL' + }, + logout: 'Выйти', + login: 'Войти через deezer.com' + }, + appearance: { + title: 'Внешний вид', + slimDownloadTab: 'Компактная вкладка с загрузками', + slimSidebar: 'Компактная левая панель' + }, + downloadPath: { + title: 'Путь для сохранения' + }, + templates: { + title: 'Шаблоны', + tracknameTemplate: 'Шаблон названия трека', + albumTracknameTemplate: 'Шаблон названия трека альбома', + playlistTracknameTemplate: 'Шаблон названия трека плейлиста' + }, + folders: { + title: 'Папки', + createPlaylistFolder: 'Создавать папки для плейлистов', + playlistNameTemplate: 'Название папки плейлиста', + createArtistFolder: 'Создавать папки для исполнителя', + artistNameTemplate: 'Название папки исполнителя', + createAlbumFolder: 'Создавать папки для альбома', + albumNameTemplate: 'Название папки альбома', + createCDFolder: 'Создавать папки для CD', + createStructurePlaylist: 'Создавать структуру папок для плейлистов', + createSingleFolder: 'Создавать структуру папок для синглов' + }, + trackTitles: { + title: 'Названия треков', + padTracks: 'Добавлять ноль к номерам треков (01, 02, ...)', + paddingSize: 'Кол-во цифр в номере', + illegalCharacterReplacer: 'Замена для запрещённых в имени символов' + }, + downloads: { + title: 'Загрузки', + queueConcurrency: 'Количество одновременных загрузок', + maxBitrate: { + title: 'Предпочитаемый битрейт', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Нужно ли перезаписывать файлы?', + y: 'Да, перезаписать файл', + n: "Нет, не перезаписывать", + t: 'Обновить только теги', + b: 'Нет, оставить оба файла и добавить номер к дубликату', + e: "Нет, вне зависимости от расширения" + }, + fallbackBitrate: 'Загружать с битрейтом ниже, если текущий недоступен', + fallbackSearch: 'Искать похожий трек, если запрашиваемый недоступен', + logErrors: 'Сохранять логи ошибок', + logSearched: 'Сохранять лог истории поиска', + createM3U8File: 'Создавать файлы плейлистов', + syncedLyrics: 'Создать .lyr файлы (синхронизированная лирика)', + playlistFilenameTemplate: 'Шаблон названия плейлиста', + saveDownloadQueue: 'Сохранять текущую очередь загрузок при закрытии приложения' + }, + covers: { + title: 'Обложки', + saveArtwork: 'Сохранять файл обложки', + coverImageTemplate: 'Шаблон названия обложки', + saveArtworkArtist: 'Сохранять файл изображения исполнителя', + artistImageTemplate: 'Шаблон названия изображения', + localArtworkSize: 'Размер сохраненной обложки', + embeddedArtworkSize: 'Размер встроенной в теги обложки', + localArtworkFormat: { + title: 'В каком формате сохранять обложки?', + jpg: 'jpeg', + png: 'png', + both: 'jpeg и png' + }, + jpegImageQuality: 'Качество JPEG', + embeddedArtworkPNG: 'Сохранять вложенную обложку в PNG', + embeddedPNGWarning: 'PNG официально не поддерживается в Deezer. Могут быть баги', + imageSizeWarning: 'Обложки с разрешением выше x1200 не поддерживаются в Deezer. Могут быть проблемы', + coverDescriptionUTF8: 'Сохранять описание обложки в UTF8 (iTunes Fix)' + }, + tags: { + head: 'Какие теги сохранять', + title: 'Название', + artist: 'Исполнитель', + album: 'Альбом', + cover: 'Обложка', + trackNumber: 'Номер трека', + trackTotal: 'Кол-во треков', + discNumber: 'Номер диска', + discTotal: 'Кол-во дисков', + albumArtist: 'Исполнитель альбома', + genre: 'Жанр', + year: 'Год', + date: 'Дата', + explicit: 'Метка о нецензурной лексике', + isrc: 'Номер записи (ISRC)', + length: 'Продолжительность', + barcode: 'Уникальный код альбома (UPC)', + bpm: 'BPM', + replayGain: 'Replay Gain', + label: 'Издатель', + lyrics: 'Текст песни', + syncedLyrics: 'Синхрон. текст песни', + copyright: 'Права (копирайт)', + composer: 'Композитор', + involvedPeople: 'Вовлечённые люди', + source: 'Источник и ID песни' + }, + other: { + title: 'Разное', + savePlaylistAsCompilation: 'Сохранять плейлисты как сборники', + useNullSeparator: 'Использовать null в качестве разделителя', + saveID3v1: 'Сохранять ID3v1', + multiArtistSeparator: { + title: 'Как разделять несколько исполнителей?', + nothing: 'Сохранить только основного', + default: 'Используя стандартную спецификацию', + andFeat: 'Используя & и feat.', + using: 'Используя "{separator}"' + }, + singleAlbumArtist: 'Сохранить только основного исполнителя альбома', + albumVariousArtists: 'Оставить "Various Artists" в исполнителях альбома', + removeAlbumVersion: 'Удалить "Album Version" из названия трека', + removeDuplicateArtists: 'Удалить повторяющихся исполнителей', + dateFormat: { + title: 'Формат даты для FLAC файлов', + year: 'ГГГГ', + month: 'ММ', + day: 'ДД' + }, + featuredToTitle: { + title: 'Что делать с приглашёнными исполнителями (feat.)?', + 0: 'Ничего', + 1: 'Удалить из названия трека', + 3: 'Удалить из названия трека и альбома', + 2: 'Добавить в название трека' + }, + titleCasing: 'Регистр названия', + artistCasing: 'Регистр исполнителя', + casing: { + nothing: 'Не менять', + lower: 'в нижнем регистре', + upper: 'В ВЕРХНЕМ РЕГИСТРЕ', + start: 'Каждое Слово С Заглавной Буквы', + sentence: 'Как в предложении' + }, + previewVolume: 'Громкость прослушивания', + executeCommand: { + title: 'Выполнять команды по окончании загрузок', + description: 'Оставьте пустым, если ничего не требуется' + } + }, + spotify: { + title: 'Настройки Spotify', + clientID: 'Spotify clientID', + clientSecret: 'Spotify Client Secret', + username: 'Spotify username', + question: 'Как включить функции Spotify?' + }, + reset: 'По умолчанию', + save: 'Сохранить', + toasts: { + init: 'Настройки загружены!', + update: 'Настройки обновлены!', + ARLcopied: 'ARL скопирован в буфер обмена' + } + }, + sidebar: { + home: 'главная', + search: 'поиск', + charts: 'чарты', + favorites: 'избранное', + linkAnalyzer: 'анализ ссылок', + settings: 'настройки', + about: 'о проекте' + }, + tracklist: { + downloadSelection: 'Скачать выбранные' + } +}; + +const tr = { + globals: { + welcome: `Deemix'e hoş geldin.`, + back: `geri`, + loading: `yükleniyor`, + download: 'İndir {thing}', + by: '{artist} tarafından', + in: '{album} içinde', + download_hint: 'İndir', + play_hint: 'Oynat', + toggle_download_tab_hint: 'Genişlet/Daralt', + clean_queue_hint: 'Tamamlananları Temizle', + cancel_queue_hint: 'Hepsini ', + listTabs: { + empty: '', + all: 'Tümü', + top_result: 'top result', + album: 'albüm | albümler', + artist: 'sanatçı | sanatçılar', + single: 'single | singlelar', + title: 'başlık | başlıklar', + track: 'Parça | Parçalar', + trackN: '0 parça | {n} parça | {n} parça', + releaseN: '0 yayınlanan | {n} yayınlanan | {n} yayınlanan', + playlist: 'oynatma listesi | oynatma listeleri', + compile: 'derleme | derlemeler', + ep: 'kayıt | kayıtlar', + spotifyPlaylist: 'spotify oynatma listesi | oynatma listeleri', + releaseDate: 'yayınlanma tarihi', + error: 'hata' + } + }, + about: { + titles: { + usefulLinks: 'Yararlı Bağlantılar', + bugReports: 'Hata Raporları', + contributing: 'Katkı Sağlayanlar', + donations: 'Bağışlar', + license: 'Lisans' + }, + subtitles: { + bugReports: "Deemix'te çalışmayan bir şey mi var?, Bize bildirin!", + contributing: 'Projeye katkı sağlamak mı istiyorsun? Farklı yollardan sağlayabilirsin!', + donations: 'Bütçe yardımı mı yapmak istiyorsun? Bağış yapabilirsin!' + }, + usesLibrary: + 'deemix kendi kullanıcı arabiriminizi oluşturabileceğiniz, kendine özgü kütüphanesini kullanıyor.', + thanks: ` rtonno, uhwot ve lollilol'a bu projeye yaptığı katkılardan ve BasCurtiz'e ikonlardan dolayı teşekkür ederim.`, + upToDate: { + text: `{newsChannel} takip ederek güncellemelerden haberdar olun.`, + newsChannel: 'Telegramdaki haber kanalını' + }, + officialWebsite: 'İlgili İnternet Sitemiz', + officialRepo: 'İlgili Kütüphanemiz', + officialWebuiRepo: 'İlgili Web Kullanıcı Arayüzü Kütüphanemiz.', + officialSubreddit: 'İlgili Subreddit adresimiz', + newsChannel: 'Haber Kanalı', + questions: { + text: `Eğer uygulama ile ilgili sorularınız veya bir probleminiz varsa,ilk önce {subreddit} sorununuzu arayın. Eğer bir şey bulamazsanız, sorununuz ile ilgili bir gönderi paylaşabilirsiniz.`, + subreddit: 'subreddit adresinden' + }, + beforeReporting: `Bir hatayı bildirmeden önce, uygulamanın son sürümünde olduğunuza veya sorunun sizden kaynaklı olmayıp bir hata olduğuna emin olduktan sonra emin olun.`, + beSure: `Hatanın başka cihazlarda da olduğunu doğrulayın ve Bildirilen bir hatayı tekrar bildirmeyin.`, + duplicateReports: 'Birbirinin aynısı olan hata bildirileri kapatılacaktır, o yüzden dikkatli olun.', + dontOpenIssues: `Soru sormak için hata bildirisi yollamayın, bunun için bir subreddit adresimiz var.`, + newUI: { + text: `Eğer Phython kullanmakta iyiysen, ana kütüphaneyi kullanan bir kullanıcı arayüzü yapmayı deneyebilir, veya kütüphanedeki hataları düzeltmek için {repo}.`, + repo: 'deposuna değişiklik isteği yollayabilirsin' + }, + acceptFeatures: `Yeni özellikleri de kabul ediyorum, fakat karışık şeyleri kütüphaneye değil uygulamaya eklendiği için kabul edemiyorum.`, + otherLanguages: `Eğer diğer programlama dillerinde kendine güveniyorsan, deemix'i farklı dillere port etmeye çalışabilirsin!`, + understandingCode: `Kodu anlamak için yardım mı lazım? Reddit üzerinden veya Telegramdan RemixDev'e ulaş.`, + contributeWebUI: { + text: `Eğer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.`, + webui: 'Web Kullanıcı Arayüzüne katkıda bulanabilirsin' + }, + itsFree: `Bunun ücretsiz bir proje olduğunu ve geliştiricilerden önce sevdiğiniz sanatçıları desteklemeniz gerektiğini unutmayın.`, + notObligated: `Kendinizi bağış yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!`, + lincensedUnder: { + text: `Bu çalışma lisanslıdır: {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Grafikler', + changeCountry: 'Ülke Değiştir', + download: 'Grafiği İndir' + }, + errors: { + title: '{name} Hatalı bulundu', + ids: { + invalidURL: 'URL geçersiz.', + unsupportedURL: 'URL şimdilik desteklenmiyor', + ISRCnotOnDeezer: 'ISRC parça deezerda bulunmuyor', + notYourPrivatePlaylist: 'Başkalarının özel oynatma listelerini indiremezsin.', + spotifyDisabled: 'Spotify Özellikleri doğru şekilde ayarlanmamış.', + trackNotOnDeezer: `Parça Deezer'da bulunamadı!`, + albumNotOnDeezer: `Albüm Deezer'da bulunamadı!`, + notOnDeezer: `Parça Deezer'da yok!`, + notEncoded: `Parça henüz dönüştürülmedi!`, + notEncodedNoAlternative: 'Parça henüz dönüştürülmedi ve alternatifi bulunamadı!', + wrongBitrate: 'Parça, istenen kalitede bulunamadı!', + wrongBitrateNoAlternative: 'Parça veya alternatifler istenen kalitede bulunamadı!', + no360RA: 'Parça 360 Derece gerçekçi ses olarak bulunamadı!', + notAvailable: 'Parça Deezer sunucularında bulunamadı!', + notAvailableNoAlternative: 'Parça veya Alternatifleri Deezer sunucularında bulunamadı.!' + } + }, + favorites: { + title: 'Favoriler', + noPlaylists: 'Oynatma listesi bulunamadı.', + noAlbums: 'Favori albümler bulunamadı.', + noArtists: 'Favori sanatçılar bulunamadı.', + noTracks: 'Favori parçalar bulunamadı.' + }, + home: { + needTologin: 'İndirmeden önce Deezer hesabına giriş yapmalısın.', + openSettings: 'Ayarları Aç', + sections: { + popularPlaylists: 'Popüler Oynatma Listeleri', + popularAlbums: 'En çok dinlenen albümler' + } + }, + linkAnalyzer: { + info: 'İndirmeye çalıştığın link hakkında daha fazla bilgi için burayı kullanabilirsin.', + useful: 'Mesela, ülkende dinlenebilir olmayan parçaların nerelerde var olduğunu bulmak için kullanabilirsin.', + linkNotSupported: 'Bu link şimdilik desteklenmemektedir.', + linkNotSupportedYet: 'Bu link şimdilik desteklenmiyor gibi duruyor, başkasını analiz etmeyi dene.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Süre', + diskNumber: 'Sıra numarası', + trackNumber: 'Parça numarası', + releaseDate: 'Yayınlanma tarihi', + bpm: 'BPM', + label: 'Etiketi', + recordType: 'Kayıt Şekli', + genres: 'Türü', + tracklist: 'Parça listesi' + } + }, + search: { + startSearching: 'Aramayı Başlat!', + description: + 'Bir parçayı, tüm albümü, bir sanatçıyı, bir oynatma listesini... kısaca her şeyi aratabilirsin! Ayrıca Deezer Linki de yapıştırabilirsin!', + fans: '{n} Hayranlar', + noResults: 'Sonuç Bulunamadı', + noResultsTrack: 'Parça bulunamadı', + noResultsAlbum: 'Albüm bulunamadı', + noResultsArtist: 'Sanatçı bulunamadı', + noResultsPlaylist: 'Oynatma Listesi bulunamadı' + }, + searchbar: 'İstediğin bir şeyi arat (ya da bir link yapıştır.)', + downloads: 'İndirilenler', + toasts: { + addedToQueue: '{item} kuyruğa eklendi', + alreadyInQueue: '{item} çoktan kuyrukta!', + finishDownload: '{item} indirmesi tamamlandı.', + allDownloaded: 'Tüm indirmeler tamamlandı!', + refreshFavs: 'Yenileme tamamlandı.!', + loggingIn: 'Giriş yapılıyor', + loggedIn: 'Giriş yapıldı', + alreadyLogged: 'Çoktan giriş yapıldı', + loginFailed: 'Giriş yapılamadı', + loggedOut: 'Oturum kapatıldı.', + cancellingCurrentItem: 'Geçerli öğe iptal ediliyor.', + currentItemCancelled: 'Geçerli öğe iptal edildi.', + startAddingArtist: '{artist} albüm kuyruğa ekleniyor', + finishAddingArtist: '{artist} albüm kuyruğa eklendi.', + startConvertingSpotifyPlaylist: 'Spotify parçaları deezer parçalarına dönüştürülüyor.', + finishConvertingSpotifyPlaylist: 'Spotify oynatma listesi dönüştürüldü.' + }, + settings: { + title: 'Ayarlar', + languages: 'Diller', + login: { + title: 'Giriş', + loggedIn: '{username} olarak giriş yaptın.', + arl: { + question: `Kendi ARL'mi nasıl alırım?`, + update: 'ARL güncelle.' + }, + logout: 'Çıkış' + }, + appearance: { + title: 'Görünüm', + slimDownloadTab: 'İnce indirme sekmesi' + }, + downloadPath: { + title: 'İndirilen dizin' + }, + templates: { + title: 'Şablonlar', + tracknameTemplate: 'Parça ismi şablonu', + albumTracknameTemplate: 'Albüm parçası şablonu', + playlistTracknameTemplate: 'Oynatma listesi parça şablonu' + }, + folders: { + title: 'Dosyalar', + createPlaylistFolder: 'Oynatma listesi için dosya oluştur', + playlistNameTemplate: 'Oynatma listesi dosyası şablonu', + createArtistFolder: 'Sanatçı için dosya oluştur', + artistNameTemplate: 'Sanatçı dosyası şablonu', + createAlbumFolder: 'Albüm için dosya oluştur', + albumNameTemplate: 'Albüm dosyası şablonu', + createCDFolder: 'CDler için dosya oluştur', + createStructurePlaylist: 'Oynatma listeleri için dosya kökü oluştur', + createSingleFolder: 'Singlelar için dosya kökü oluştur' + }, + trackTitles: { + title: 'Parça başlıkları', + padTracks: 'İz Numaraları', + paddingSize: 'İz Numaralarını değiştir', + illegalCharacterReplacer: 'Illegal Karakter Düzenleyici' + }, + downloads: { + title: 'İndirilenler', + queueConcurrency: 'Devam eden indirmeler', + maxBitrate: { + title: 'Tercih edilmiş Bitrateler (kaliteler)', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Dosyaların üstüne yazmalı mıyım?', + y: 'Evet, üstüne yaz', + n: 'Hayır, üstüne yazma', + t: 'Sadece izleri üstüne yaz' + }, + fallbackBitrate: 'Bitrate düşürme', + fallbackSearch: 'Düşürme ara', + logErrors: 'Hatalar için günlük tut', + logSearched: 'Aranmış parçalar için günlük tut', + createM3U8File: 'Oynatma sıra listesi oluştur', + syncedLyrics: '.lyr dosyaları oluştur (Senkronize şarkı sözleri)', + playlistFilenameTemplate: 'Oynatma listesi şablonu', + saveDownloadQueue: 'Uygulamayı kapatırken indirme kuyruğunu kaydet' + }, + covers: { + title: 'Albüm kapakları', + saveArtwork: 'Kapakları kaydet', + coverImageTemplate: 'Kapak ismi şablonu', + saveArtworkArtist: 'Sanatçı fotoğrafını kaydet', + artistImageTemplate: 'Şarkıcı fotoğraf şablonu', + localArtworkSize: 'Yerel fotoğraf boyutu', + embeddedArtworkSize: 'Gömülü fotoğraf boyutu', + localArtworkFormat: { + title: 'Yerel fotoğrafın hangi formatta olmasını istersin?', + jpg: 'Jpeg dosyası', + png: 'Png dosyası', + both: 'Her ikisi' + }, + jpegImageQuality: 'JPEG görüntü kalitesi' + }, + tags: { + head: 'Hangi izler kayıt edilsin?', + title: 'Başlık', + artist: 'Sanatçı', + album: 'Albüm', + cover: 'Kapak', + trackNumber: 'Parça Numarası', + trackTotal: 'Tüm Parça', + discNumber: 'Plak Sayısı', + discTotal: 'Tüm Plak', + albumArtist: 'Sanatçı Albümü', + genre: 'Tür', + year: 'Yıl', + date: 'Tarih', + explicit: 'Cinsel içerikli şarkı sözleri', + isrc: 'ISRC', + length: 'Parça Uzunluğu', + barcode: 'Albüm Barkodu (UPC)', + bpm: 'BPM', + replayGain: 'Ses Yüksekliği Normalleştirici', + label: 'Albüm Etiketi', + lyrics: 'Senkronize edilmemiş şarkı sözleri', + copyright: 'Telif hakkı', + composer: 'Besteleyen', + involvedPeople: 'Alakalı Kişiler' + }, + other: { + title: 'Diğer', + savePlaylistAsCompilation: 'Oynatma listelerini derleme olarak kaydet', + useNullSeparator: 'Boşluk ayırıcı kullan', + saveID3v1: 'ID3v1 dosyasını da kaydet', + multiArtistSeparator: { + title: 'Sanatçılarınızı nasıl ayırmak istersiniz?', + nothing: 'Sadece ana sanatçıyı kaydet', + default: 'Genel prosedür uygulansın', + andFeat: 'Kullanılanlar & ve Feat.', + using: 'Kullanılan "{separator}"' + }, + singleAlbumArtist: 'Sadece ana albüm sanatçısını kaydet', + albumVariousArtists: '"Çeşitli sanatçılar"ı sanatçı albümlerinde tut', + removeAlbumVersion: '"Albüm Sürümü"nü parça başlığından çıkart', + removeDuplicateArtists: 'Sanatçı topluluğunu çıkart', + dateFormat: { + title: 'FLAC dosyalar için zaman formatı', + year: 'YYYY', + month: 'AA', + day: 'GG' + }, + featuredToTitle: { + title: 'Öne çıkan sanatçıları ne yapmalıyım?', + 0: 'Elleme', + 1: 'Başlıktan çıkart', + 3: 'Başlıktan ve albüm başlığından çıkart', + 2: 'Başlığa taşı' + }, + titleCasing: 'Albüm harfi', + artistCasing: 'Sanatçı harfi', + casing: { + nothing: 'Değiştirmeden bırak', + lower: 'küçük harf', + upper: 'BÜYÜK HARF', + start: 'Kelimenin başı ile başla', + sentence: 'Cümle gibi yap' + }, + previewVolume: 'Ses önizlemesi', + executeCommand: { + title: 'İndirdikten sonra komut uygula', + description: 'Bir şey yapmamak için boş bırak' + } + }, + spotify: { + title: 'Spotify Özelliği', + clientID: 'Spotify clientID', + clientSecret: 'Spotify Client Secret', + username: 'Spotify Kullanıcı Adı' + }, + reset: 'Varsayılana sıfırla', + save: 'Kaydet', + toasts: { + init: 'Ayarlar yüklendi!', + update: 'Ayarlar güncellendi!', + ARLcopied: 'ARL panoya kopyalandı!' + } + }, + sidebar: { + home: 'Ana sayfa', + search: 'Ara', + charts: 'Grafikler', + favorites: 'Favoriler', + linkAnalyzer: 'Link Analizörü', + settings: 'Ayarlar', + about: 'Hakkında' + }, + tracklist: { + downloadSelection: 'İndirme bölümü' + } +}; + +const vn = { + globals: { + welcome: 'Chào mừng đến với deemix', + back: 'trở lại', + loading: 'đang tải', + download: 'Tải xuống {thing}', + by: 'bởi {artist}', + in: 'trong {album}', + download_hint: 'Tải xuống', + play_hint: 'Phát', + toggle_download_tab_hint: 'Mở rộng/Giấu', + clean_queue_hint: 'Xóa những file đã tải xong', + cancel_queue_hint: 'Hủy tất cả', + listTabs: { + empty: '', + all: 'tất cả', + top_result: 'kết quả hàng đầu', + album: 'album | album', + artist: 'Nghệ sĩ | Nghệ sĩ', + single: 'đơn | đơn', + title: 'tiêu đề | tiêu đề', + track: 'Bài hát | Bài hát', + trackN: '0 Bài hát | {n} Bài hát | {n} Bài hát', + releaseN: '0 sản phẩm | {n} sản phẩm | {n} sản phẩm', + playlist: 'playlist | playlist', + compile: 'tổng hợp | tổng hợp', + ep: 'ep | ep', + spotifyPlaylist: 'playlist của spotify | playlist của spotify', + releaseDate: 'ngày phát hành', + error: 'lỗi' + } + }, + about: { + titles: { + usefulLinks: 'Link hữu dụng', + bugReports: 'Báo lỗi', + contributing: 'Đóng góp', + donations: 'Quyên góp', + license: 'Bằng phép' + }, + subtitles: { + bugReports: "Bạn thấy có gì đó không hoạt động trong deemix? Xin hãy báo với chúng tôi!", + contributing: 'Bạn muốn đóng góp cho dự án này? Bạn có thể làm điều đó với nhiều cách khác nhau!', + donations: 'Bạn muốn ủng hộ kinh phí? Bạn có thể quyên góp tại đây!' + }, + usesLibrary: 'Ứng dụng này sử dụng thư viện deemix, bạn có thể dùng nó để tạo một UI riêng cho deemix.', + thanks: `Cảm ơn rtonno, uhwotlollilol đã giúp tôi với dự án này và BasCurtiz với việc thiết kế biểu tượng.`, + upToDate: { + text: `Cập nhật app bằng cách theo dõi {newsChannel} trên Telegram.`, + newsChannel: 'kênh tin tức' + }, + officialWebsite: 'Website chính thức', + officialRepo: 'Repo thư viện chính thức', + officialWebuiRepo: 'Repo WebUI chính thức', + officialSubreddit: 'Subreddit chính thức', + newsChannel: 'Kênh tin tức', + questions: { + text: `Nếu bạn có câu hỏi hoặc vấn đề về ứng dụng này, xin hãy tìm giải pháp trên {subreddit} trước. Sau đó, nếu bạn không tìm được gì thì bạn có thể tạo một bài đăng về vấn đề của bạn trên subreddit dó.`, + subreddit: 'subreddit' + }, + beforeReporting: `Trước khi báo lỗi hãy đảm bảo bạn đang sử dụng phiên bản mới nhất của ứng dụng và lỗi bạn đang gặp không phải là do bạn.`, + beSure: `Hãy đảm bảo là lỗi này vẫn có thể xảy ra trên các thiết bị khác và XIN ĐỪNG báo lỗi đã được báo rồi.`, + duplicateReports: 'Những bản báo lỗi trùng nhau sẽ bị đóng, xin bạn hãy để ý điều này.', + dontOpenIssues: `XIN ĐỪNG mở vấn đề để hỏi, bạn có thể dùng subreddit trên cho việc đó.`, + newUI: { + text: `Nếu bạn thành thạo với python bạn có thể tạo một UI mới bằng cách sử dụng thư viện gốc, hoặc sửa lỗi trong thư viện đó với một pull request trên {repo}.`, + repo: 'repo này' + }, + acceptFeatures: `Tôi có chấp nhận yêu cầu về tính năng mới nhưng không quá phức tạp bởi vì chúng có thể được triển khai trực tiếp vào ứng dụng thay vì vào thư viện.`, + otherLanguages: `Nếu bạn thành thạo với một ngôn ngữ khác, bạn có thể port deemix sang ngôn ngữ đó!`, + understandingCode: `Bạn muốn hiểu code của deemix? Xin hãy liên lạc RemixDev trên Telegram hoặc Reddit.`, + contributeWebUI: { + text: `Nếu bạn biết Vue.js (JavaScript), HTML hoặc CSS, bạn có thể góp phần phát triển {webui}.`, + webui: 'WebUI' + }, + itsFree: `Bạn nên nhớ rằng đây là một dự án phi lợi nhuậnbạn nên ủng hộ những Nghệ sĩ yêu thích của bạn trước khi ủng hộ nhà phát triển.`, + notObligated: `Đừng nghĩ rằng bạn phải đóng góp tiền, tôi vẫn sẽ rất biết ơn bạn!`, + lincensedUnder: { + text: `Dự án này được cấp phép bởi {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Bảng xếp hạng', + changeCountry: 'Thay đổi quốc gia', + download: 'Tải xuống bảng xếp hạng này' + }, + errors: { + title: 'Lỗi {name}', + ids: { + invalidURL: 'Không nhận diện được URL', + unsupportedURL: 'URL này chưa được hỗ trợ', + ISRCnotOnDeezer: 'ISRC của bài hát này hiện không có trên Deezer', + notYourPrivatePlaylist: "Bạn không thể tải xuống playlist riêng của người khác.", + spotifyDisabled: 'Chức năng Spotify chưa được thiết lập đúng cách.', + trackNotOnDeezer: 'Bài hát không có trên Deezer!', + albumNotOnDeezer: 'Album không có trên Deezer!', + notOnDeezer: 'Bài hát chưa có trên Deezer!', + notEncoded: 'Bài hát chưa được encode!', + notEncodedNoAlternative: 'Bài hát chưa được encode và không có bản thay thế nào khác!', + wrongBitrate: 'Bài hát này không có ở bitrate bạn muốn.', + wrongBitrateNoAlternative: 'Bài hát này không có ở bitrate bạn muốn và không có bản thay thế nào khác!', + no360RA: 'Bài hát này không có ở dạng Reality Audio 360.', + notAvailable: "Bài hát này không có trên server của Deezer!", + notAvailableNoAlternative: "Bài hát này không có trên server của Deezer và không có bản thay thế nào khác!" + } + }, + favorites: { + title: 'Yêu thích', + noPlaylists: 'Không tìm được Playlist', + noAlbums: 'Không tìm được Album Yêu thích', + noArtists: 'Không tìm được Nghệ sĩ Yêu thích', + noTracks: 'Không tìm được Bài hát Yêu thích' + }, + home: { + needTologin: 'Bạn cần phải đăng nhập vào tài khoản Deezer trước khi bắt đầu tải xuống.', + openSettings: 'Mở Cài đặt', + sections: { + popularPlaylists: 'Playlist Nổi tiếng', + popularAlbums: 'Album được stream nhiều nhất' + } + }, + linkAnalyzer: { + info: 'Bạn có thể sử dụng chức năng này để kiếm thêm thông tin về đường link mà bạn muốn tải xuống.', + useful: + "Chức năng này rất hữu dụng nếu bạn muốn tải các bài hát hiện không có sẵn ở quốc gia của bạn và muốn biết các quốc gia được hỗ trợ.", + linkNotSupported: 'Đường link này chưa được hỗ trợ', + linkNotSupportedYet: 'Đường link này chưa được hỗ trợ, xin hãy thử lại với một đường link khác.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Thời lượng', + diskNumber: 'Số đĩa', + trackNumber: 'Số bài hát', + releaseDate: 'Ngày phát hành', + bpm: 'BPM', + label: 'Hãng', + recordType: 'Loại Thu âm', + genres: 'Thể loại', + tracklist: 'Danh sách các bài hát' + } + }, + search: { + startSearching: 'Bắt đầu tìm kiếm!', + description: + 'Bạn có thể tìm một bài hát, album, nghệ sĩ, playlist, v.v...! Bạn cũng có thể dùng link của Deezer', + fans: '{n} người hâm mộ', + noResults: 'Không có kết quả', + noResultsTrack: 'Không tìm được bài hát nào', + noResultsAlbum: 'Không tìm được album nào', + noResultsArtist: 'Không tìm được nghệ sĩ nào', + noResultsPlaylist: 'Không tìm được playlist nào' + }, + searchbar: 'Tìm những gì bạn muốn (bạn cũng có thể sữ dụng một đường link)', + downloads: 'Tải xuống', + toasts: { + addedToQueue: '{item} đã được đưa vào hàng chờ', + alreadyInQueue: '{item} đã đang trong hàng chờ!', + finishDownload: '{item} đã tải xong.', + allDownloaded: 'Tất cả các bài hát đã được tải xuống!', + refreshFavs: 'Tải lại hoàn tất!', + loggingIn: 'Đang đăng nhập', + loggedIn: 'Đăng nhập thành công', + alreadyLogged: 'Đã đăng nhập', + loginFailed: "Không thể đăng nhập", + loggedOut: 'Đăng xuất', + cancellingCurrentItem: 'Đang hủy file hiện tại.', + currentItemCancelled: 'File hiện tại đã bị hủy.', + startAddingArtist: 'Đang đưa {artist} album vào hàng chờ', + finishAddingArtist: 'Đã đưa {artist} album vào hàng chờ', + startConvertingSpotifyPlaylist: 'Đang chuyển đổi các bài hát từ Spotify sang Deezer', + finishConvertingSpotifyPlaylist: 'Playlist của Spotify đã được chuyển đổi', + loginNeededToDownload: 'Bạn cần phải đang nhập để tải nhạc!' + }, + settings: { + title: 'Cài đặt', + languages: 'Ngôn ngữ', + login: { + title: 'Đăng nhập', + loggedIn: 'Bạn đã đăng nhập với tên {username}', + arl: { + question: 'Làm cách nào để có ARL của tôi?', + update: 'Cập nhật ARL' + }, + logout: 'Đăng xuất' + }, + appearance: { + title: 'Giao diện', + slimDownloadTab: 'Thanh tải xuống nhỏ' + }, + downloadPath: { + title: 'Nơi tải xuống' + }, + templates: { + title: 'Bản mẫu', + tracknameTemplate: 'Bài hát mẫu', + albumTracknameTemplate: 'Bài hát trong album mẫu', + playlistTracknameTemplate: 'Bài hát trong playlist mẫu' + }, + folders: { + title: 'Thư mục', + createPlaylistFolder: 'Tạo thư mục cho playlist', + playlistNameTemplate: 'Thư mục playlist mẫu', + createArtistFolder: 'Tạo thư mục cho nghệ sĩ', + artistNameTemplate: 'Thư mục Nghệ sĩ mẫu', + createAlbumFolder: 'Tạo thư mục cho album', + albumNameTemplate: 'Thư mục cho album mẫu', + createCDFolder: 'Tạo thư mục cho đĩa CD', + createStructurePlaylist: 'Tạo thư mục có kết cấu cho playlist', + createSingleFolder: 'Tạo thư mục có kết cấu cho đĩa đơn' + }, + trackTitles: { + title: 'Tên bài hát', + padTracks: 'Đệm tên bài hát', + paddingSize: 'Ghì đè kích cỡ phần đệm', + illegalCharacterReplacer: 'Thay các kí tự không hợp lệ với' + }, + downloads: { + title: 'Tải xuống', + queueConcurrency: 'Số lượng tải xuống cùng lúc', + maxBitrate: { + title: 'Bitrate ưa thích', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Tôi có nên ghi đè file này không?', + y: 'Có, hãy ghi đè file này', + n: "Không, đừng ghi đè file này", + t: 'Chỉ ghi đè các tag' + }, + fallbackBitrate: 'Bitrate dự phòng', + fallbackSearch: 'Search dự phòng', + logErrors: 'Tạo file log khi có lỗi', + logSearched: 'Tạo file log khi bạn tìm Bài hát', + createM3U8File: 'Tạo file playlist', + syncedLyrics: 'Tạo file .lyr (Lời Bài hát)', + playlistFilenameTemplate: 'Tên playlist mẫu', + saveDownloadQueue: 'Lưu hàng chờ download khi đóng ứng dụng' + }, + covers: { + title: 'Bìa album', + saveArtwork: 'Lưu bìa', + coverImageTemplate: 'Tên bìa mẫu', + saveArtworkArtist: 'Lưu hình Nghệ sĩ', + artistImageTemplate: 'Hình nghệ sĩ mẫu', + localArtworkSize: 'Kích cỡ file bìa', + embeddedArtworkSize: 'Kích cỡ bìa trong file bài hát', + localArtworkFormat: { + title: 'Bạn muốn file bìa ở định dạng nào?', + jpg: 'jpg', + png: 'png', + both: 'Cả jpg và png' + }, + jpegImageQuality: 'Chất lượng file JPEG' + }, + tags: { + head: 'Những tag sẽ được lưu', + title: 'Tiêu đề', + artist: 'Nghệ sĩ', + album: 'Album', + cover: 'Bìa', + trackNumber: 'Số bài hát', + trackTotal: 'Tổng số bài hát', + discNumber: 'Số đĩa', + discTotal: 'Tổng số đĩa', + albumArtist: 'Nghệ sĩ của album', + genre: 'Thể loại', + year: 'Năm', + date: 'Ngày', + explicit: 'Lời explicit', + isrc: 'ISRC', + length: 'Thời lượng', + barcode: 'Mã vạch của album (UPC)', + bpm: 'BPM', + replayGain: 'ReplayGain', + label: 'Nhãn hiệu album', + lyrics: 'Lời', + copyright: 'Bản quyền', + composer: 'Nhà soạn nhạc', + involvedPeople: 'Những người liên quan' + }, + other: { + title: 'Khác', + savePlaylistAsCompilation: 'Lưu playlist dưới dạng tuyển tập', + useNullSeparator: 'Dùng dải phân cách null', + saveID3v1: 'Lưu ID3v1', + multiArtistSeparator: { + title: 'Bạn muốn phân cách các nghệ sĩ như thế nào?', + nothing: 'Chỉ lưu nghệ sĩ chính', + default: 'Dùng quy cách tiêu chuẩn', + andFeat: 'Dùng & và feat.', + using: 'Dùng "{separator}"' + }, + singleAlbumArtist: 'Chỉ lưu Nghệ sĩ Album chính', + albumVariousArtists: 'Giữ nguyên "Nhiều Nghệ sĩ" trong Nghệ sĩ Album', + removeAlbumVersion: 'Bỏ "Phiên bản Album" khỏi tên bài hát', + removeDuplicateArtists: 'Bỏ các tên nghệ sĩ phối hợp', + dateFormat: { + title: 'Định dạng ngày cho file FLAC ', + year: 'YYYY', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: 'Tôi nên làm gì với các nghệ sĩ đóng góp?', + 0: 'Không làm gì cả', + 1: 'Bỏ chúng khỏi tên bài hát', + 3: 'Bỏ chúng khỏi tên bài hát và tên album', + 2: 'Đưa chúng vào tên bài hát' + }, + titleCasing: 'Định dạng tên bài hát', + artistCasing: 'Định dạng tên nghệ sĩ', + casing: { + nothing: 'Không đổi', + lower: 'chữ thường', + upper: 'CHỮ HOA', + start: 'Viết Hoa Ở Chữ Cái Đầu Tiên Của Mỗi Từ', + sentence: 'Như một câu' + }, + previewVolume: 'Âm lượng nghe thử', + executeCommand: { + title: 'Thực hiện những lệnh này khi đã tải xuống xong', + description: 'Để trống nếu bạn không muốn thực hiện lệnh nào' + } + }, + spotify: { + title: 'Chức năng Spotify', + clientID: 'ClientID của Spotify', + clientSecret: 'Client Secret của Spotify', + username: 'Tên tài khoản của Spotify' + }, + reset: 'Quay trở lại cài đặt mặc định', + save: 'Lưu', + toasts: { + init: 'Cài đặt đã được thiết lập!', + update: 'Cài đặt cập nhật thành công!', + ARLcopied: 'ARL đã được sao chép vào clipboard' + } + }, + sidebar: { + home: 'trang chủ', + search: 'tìm kiếm', + charts: 'bảng xếp hạng', + favorites: 'yêu thích', + linkAnalyzer: 'phân tích link', + settings: 'cài đặt', + about: 'thông tin' + }, + tracklist: { + downloadSelection: 'Tải xuống những mục đã chọn' + } +}; + +const hr = { + globals: { + welcome: 'Dobrodošli u deemix', + back: 'nazad', + loading: 'učitavanje', + download: 'Preuzmi {thing}', + by: 'by {artist}', + in: 'u {album}', + download_hint: 'Preuzmi', + play_hint: 'Play', + toggle_download_tab_hint: 'Proširi/Smanji', + clean_queue_hint: 'Čišćenje završeno', + cancel_queue_hint: 'Zaustavi sve', + listTabs: { + empty: '', + all: 'sve', + top_result: 'Najbolji rezultat', + album: 'album | albumi', + artist: 'izvođač | izvođači', + single: 'singl | singlovi', + title: 'naslov | naslovi', + track: 'pjesma | pjesme', + trackN: '0 pjesmi | {n} pjesma | {n} pjesme', + releaseN: '0 izdanja | {n} izdanje | {n} izdanja', + playlist: 'playlista | playliste', + compile: 'kompilacija | kompilacije', + ep: 'ep | eps', + spotifyPlaylist: 'spotify playlista | spotify playliste', + releaseDate: 'datum izdavanja', + error: 'greška' + } + }, + about: { + titles: { + usefulLinks: 'Korisne poveznice', + bugReports: 'Prijave grešaka', + contributing: 'Doprinosi', + donations: 'Donacije', + license: 'Licenca' + }, + subtitles: { + bugReports: "Postoji nešto što ne radi u deemixu? Reci nam!", + contributing: 'Želiš doprinijeti ovom projektu? Možeš i to čak u više načina!', + donations: 'Želiš doprijeniti odmah? Možeš donirati!' + }, + usesLibrary: 'Ova aplikacija koristi deemix biblioteku, koju možeš koristiti i ti kako bi napravio svoj UI za demix.', + thanks: `Hvala rtonno, uhwot i lollilol što su mi pomogli s ovim projektom te BasCurtiz što su napravili ikonu.`, + upToDate: { + text: `Ostani u tijeku s nadogradnjama prateći {newsChannel} na Telegramu.`, + newsChannel: 'kanal s novostima' + }, + officialWebsite: 'Službena web stranica', + officialRepo: 'Službeni repozitorij biblioteke', + officialWebuiRepo: 'Službeni WebUI repozitorij', + officialSubreddit: 'Službeni subreddit', + newsChannel: 'Kanal s novostima', + questions: { + text: `Ukoliko imate pitanja o aplikaciji, prvo potražite riješenje na {subreddit}. Tada, ako ne pronađete ništa, možete objaviti svoj problem na subredditu.`, + subreddit: 'subreddit' + }, + beforeReporting: `Prije prijavljivanja greške provjerite imate li instaliranu zadnju verziju aplikacije i da to što želite prijaviti je ustvari pogreška, a ne nešto što samo vama ne radi.`, + beSure: `Provjerite može li se pogreška reproducirati i na drugim uređajima i također NEMOJTE prijavljivati grešku ako je već prijavljena.`, + duplicateReports: 'Duplicirane prijave o greški bit će zatvorene, tako da pripazite na to.', + dontOpenIssues: `NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.`, + newUI: { + text: `Ako ste vješti u pythonu možete probati napraviti novi UI za aplikaciju koristeći osnovnu biblioteku ili ispraviti pogrešku u biblioteci sa pull zahtjevom na {repo}.`, + repo: 'repozitoriju' + }, + acceptFeatures: `Prihavaćam i značajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.`, + otherLanguages: `Ako ste vješti u drugom programskom jezikumožete probati portati deemix u drugi programski jezik!`, + understandingCode: `Trebate pomoć s razumijevanjem koda? Samo potraži RemixDev na Telegramu ili Redditu.`, + contributeWebUI: { + text: `Ako znaš Vue.js (JavaScript), HTML ili CSS možete doprinijeti za {webui}.`, + webui: 'WebUI' + }, + itsFree: `Trebate zapamtiti da je ovo besplatni projekt i trebali biste podržati autore koje volite prije podržavanja developera.`, + notObligated: `Nemojte se osjećati obveznim darivati, svejedno vas cijenim!`, + lincensedUnder: { + text: `Ovaj rad licenciran je unutar {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Ljestvice', + changeCountry: 'Promijeni državu', + download: 'Preuzmi ljestvicu' + }, + errors: { + title: 'Greške za {name}', + ids: { + invalidURL: 'URL nije prepoznat', + unsupportedURL: 'URL još nije podržan', + ISRCnotOnDeezer: 'Zapis ISRC još nije podržan na Deezeru', + notYourPrivatePlaylist: "Ne možete preuzeti tuđe privatne playliste.", + spotifyDisabled: 'Spotify značajke nisu podešene ispravno.', + trackNotOnDeezer: 'Pjesma nije pronađena na Deezeru!', + albumNotOnDeezer: 'Album nije pronađen na Deezeru!', + notOnDeezer: 'Pjesma nije dostupna na Deezeru!', + notEncoded: 'Pjesma još nije enkodirana!', + notEncodedNoAlternative: 'Pjesma još nije enkodirana i nije pronađena alternativa!', + wrongBitrate: 'Pjesma nije pronađena u željenom bitrateu.', + wrongBitrateNoAlternative: 'Pjesma nije pronađena u željenom bitrateu i nije pronađena alternativa!', + no360RA: 'Pjesma nije dostupna u Reality Audio 360.', + notAvailable: "Pjesma nije dostupna na Deezerovim serverima!", + notAvailableNoAlternative: "Pjesma nije dostupna na Deezerovim serverima i alternativa nije pronađena!" + } + }, + favorites: { + title: 'Favoriti', + noPlaylists: 'Nisu pronađene playliste', + noAlbums: 'Omiljeni albumi nisu pronađeni', + noArtists: 'Omiljeni glazbenici nisu pronađeni', + noTracks: 'Omiljene pjesme nisu pronađene' + }, + home: { + needTologin: 'Trebate se prijaviti sa svojim Deezer računom kako biste mogli početi preuzimati pjesme.', + openSettings: 'Otvori postavke', + sections: { + popularPlaylists: 'Popularne playliste', + popularAlbums: 'Najpreslušaniji album' + } + }, + linkAnalyzer: { + info: 'Ovu sekciju možete koristiti kako biste saznali više informacija o linku koji pokušavate preuzeti.', + useful: + "Ovo je korisno ako pokušavate preuzeti pjesme koje još nisu dostupne u vašoj zemlji i želite, na primjer, znati gdje su dostupne.", + linkNotSupported: 'Ovaj link još nije podržan', + linkNotSupportedYet: 'Čini se da ovaj link još nije podržan, pokušaj analizirati neki drugi.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Trajanje', + diskNumber: 'Broj diska', + trackNumber: 'Broj pjesme', + releaseDate: 'Datum izadavanja', + bpm: 'BPM', + label: 'Izdavačka kuća', + recordType: 'Vrsta zapisa', + genres: 'Žanrovi', + tracklist: 'Popis pjesama' + } + }, + search: { + startSearching: 'Počni pretraživati!', + description: + 'Možete pretražiti pjesmu, cijeli album, izvođača, playlistu... sve! Također, možete i zalijepiti Deezer link', + fans: '{n} obožavatelja', + noResults: 'Nema rezultata', + noResultsTrack: 'Pjesme nisu pronađene', + noResultsAlbum: 'Albumi nisu pronađeni', + noResultsArtist: 'Izvođači nisu pronađeni', + noResultsPlaylist: 'Playliste nisu pronađene' + }, + searchbar: 'Pretraži bilo što (ili samo zalijepi link)', + downloads: 'preuzimanja', + toasts: { + addedToQueue: '{item} dodan u red', + alreadyInQueue: '{item} je već u redu!', + finishDownload: '{item} završeno preuzimanje.', + allDownloaded: 'Sva preuzimanja završena!', + refreshFavs: 'Osvježavanje završeno!', + loggingIn: 'Prijavljivanje...', + loggedIn: 'Prijavljeni', + alreadyLogged: 'Već prijavljeni', + loginFailed: "Prijava nije bila moguća", + loggedOut: 'Odjavljeni', + cancellingCurrentItem: 'Otkazujem trenutnu stavku.', + currentItemCancelled: 'Trenutna stavka otkazana.', + startAddingArtist: 'Dodajem {artist} album u red', + finishAddingArtist: 'Dodan {artist} album u red', + startConvertingSpotifyPlaylist: 'Pretvaram Spotify pjesme u Deezer pjesme', + finishConvertingSpotifyPlaylist: 'Spotify playlista pretvorena', + loginNeededToDownload: 'Trebate se prijaviti kako bi preuzeli pjesme!' + }, + settings: { + title: 'Postavke', + languages: 'Jezici', + login: { + title: 'Prijava', + loggedIn: 'Prijavljeni ste kao {username}', + arl: { + question: 'Kako da dobijem svoj ARL?', + update: 'Ažuriraj ARL' + }, + logout: 'Odjavi se' + }, + appearance: { + title: 'Izgled', + slimDownloadTab: 'Tanka kartica za preuzimanje' + }, + downloadPath: { + title: 'Putanja za preuzimanja' + }, + templates: { + title: 'Predlošci', + tracknameTemplate: 'Naziv pjesme predložak', + albumTracknameTemplate: 'Pjesma albuma predložak', + playlistTracknameTemplate: 'Pjesma playliste predložak' + }, + folders: { + title: 'Mape', + createPlaylistFolder: 'Izradi mapu za playliste', + playlistNameTemplate: 'Mapa za playliste predložak', + createArtistFolder: 'Izradi mapu za izvođača', + artistNameTemplate: 'Izvođač mapa predložak', + createAlbumFolder: 'Izradi mapu za album', + albumNameTemplate: 'Album mapa predložak', + createCDFolder: 'Izradi mapu za CD', + createStructurePlaylist: 'Strkturiraj mape za playliste', + createSingleFolder: 'Strukturiraj mape za singlove' + }, + trackTitles: { + title: 'Naslovi pjesama', + padTracks: 'Pad tracks', + paddingSize: 'Prepiši veličinu paddinga', + illegalCharacterReplacer: 'Zamjena za nedozvoljeni znak' + }, + downloads: { + title: 'Preuzimanja', + queueConcurrency: 'Istovremena preuzimanja', + maxBitrate: { + title: 'Željeni bitrate', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Trebam li prepisati datoteke?', + y: 'Da, prepiši datoteke', + n: "Ne, nemoj prepisati datoteke", + t: 'Prepiši samo oznake', + b: 'Ne, zadrži obje datoteke i dodaj broj duplikatu' + }, + fallbackBitrate: 'Bitrate fallback', + fallbackSearch: 'Pretraživanje fallback', + logErrors: 'Izradi zapisnik datoteku za greške', + logSearched: 'Izradi zapisnik datoteku za pretražene pjesme', + createM3U8File: 'Izradi playlist datoteku', + syncedLyrics: 'Izradi .lyr datoteke (sinkronizirani lyrics)', + playlistFilenameTemplate: 'Naziv playliste predložak', + saveDownloadQueue: 'Spremi red za preuzimanje prilikom zatvaranja aplikacije' + }, + covers: { + title: 'Omoti albuma', + saveArtwork: 'Spremi omote', + coverImageTemplate: 'Naziv omota predložak', + saveArtworkArtist: 'Spremi sliku izvođača', + artistImageTemplate: 'Slika izvođača predložak', + localArtworkSize: 'Veličina lokalnog omota', + embeddedArtworkSize: 'Veličina ugrađenog omota', + localArtworkFormat: { + title: 'U kojem formatu želite lokalni omot?', + jpg: 'Jpeg slika', + png: 'Png slika', + both: 'I jpeg i png' + }, + jpegImageQuality: 'JPEG kvaliteta slike' + }, + tags: { + head: 'Koja oznake spremam', + title: 'Naslovi', + artist: 'Izvođač', + album: 'Album', + cover: 'Omot', + trackNumber: 'Broj pjesme', + trackTotal: 'Ukupno pjesama', + discNumber: 'Broj diska', + discTotal: 'Ukupno diskova', + albumArtist: 'Izvođač albuma', + genre: 'Žanr', + year: 'Godina', + date: 'Datum', + explicit: 'Eksplicitni lyrics', + isrc: 'ISRC', + length: 'Dužina pjesme', + barcode: 'Album barkod (UPC)', + bpm: 'BPM', + replayGain: 'Replay Gain', + label: 'Izdavačka kuća albuma', + lyrics: 'Nesinkronizirani lyrics', + copyright: 'Autorska prava', + composer: 'Skladatelj', + involvedPeople: 'Uključeni ljudi' + }, + other: { + title: 'Ostalo', + savePlaylistAsCompilation: 'Spremi playliste kao kompilacije', + useNullSeparator: 'Koristi null razdvojnik', + saveID3v1: 'Spremi i ID3v1 također', + multiArtistSeparator: { + title: 'Kako biste željeli razdvojiti izvođače?', + nothing: 'Spremi samo glavnog izvođača', + default: 'Koristeći standardnu specifikaciju', + andFeat: 'Koristeći & i feat.', + using: 'Koristeći "{separator}"' + }, + singleAlbumArtist: 'Spremi samo izvođača glavnog albuma', + albumVariousArtists: 'Zadrži "Various Artists" u Izvođačima albuma', + removeAlbumVersion: 'Izbriši "Album Version" iz naziva pjesme', + removeDuplicateArtists: 'Izbriši kombinacije izvođača', + dateFormat: { + title: 'Format datuma za FLAC datoteke', + year: 'YYYY', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: 'Što trebam napraviti s istaknutim izvođačima? (feat. i ft.)', + 0: 'Ništa', + 1: 'Izbriši ih iz naziva', + 3: 'Izbriši ih iz naziva i iz naziva albuma', + 2: 'Premjesti ih u naziv' + }, + titleCasing: 'Veličina slova naslova', + artistCasing: 'Veličina slova izvođača', + casing: { + nothing: 'Zadrži nepromijenjeno', + lower: 'sve malo', + upper: 'sve VELIKO', + start: 'Početak Svake Riječi', + sentence: 'Kao rečenica' + }, + previewVolume: 'Volumen pregleda', + executeCommand: { + title: 'Naredba za izvršenje nakon preuzimanja', + description: 'Ostavi prazno za bez akcije' + } + }, + spotify: { + title: 'Spotify značajke', + clientID: 'Spotify ClientID', + clientSecret: 'Spotify Client Secret', + username: 'Spotify korisničko ime' + }, + reset: 'Resetiraj na zadano', + save: 'Spremi', + toasts: { + init: 'Postavke učitane!', + update: 'Postavke ažurirane!', + ARLcopied: 'ARL kopiran u međuspremnik' + } + }, + sidebar: { + home: 'početna', + search: 'pretraživanje', + charts: 'ljestvice', + favorites: 'favoriti', + linkAnalyzer: 'analizator linka', + settings: 'postavke', + about: 'o programu' + }, + tracklist: { + downloadSelection: 'Preuzmi selekciju' + } +}; + +const ar = { + globals: { + welcome: 'مرحبأ بك في ديمكس', + back: 'رجوع', + loading: 'جار التحميل', + download: 'تحميل {thing}', + by: 'بواسطة {artist}', + in: 'في {album}', + download_hint: 'تحميل', + play_hint: 'تشغيل', + toggle_download_tab_hint: 'عرض/اخفاء', + clean_queue_hint: 'تم المسح', + cancel_queue_hint: 'الغاء الكل', + listTabs: { + empty: '', + all: 'الكل', + top_result: 'افضل النتائج', + album: 'البوم | البومات', + artist: 'فنان | فنانون', + single: 'اغنية | اغنية', + title: 'عنوان | عناوين', + track: 'مقطع | مقاطع', + trackN: '0 مقاطع | {n} مقطع | {n} مقطع', + releaseN: '0 اصدار | {n} اصدار | {n} اصدار', + playlist: 'قائمة تشغيل | قوائم تشغيل', + compile: 'مجموعة | مجموعات', + ep: 'ep | eps', + spotifyPlaylist: 'قائمة تشغيل سبوتفاي | قوائم تشغيل سبوتفاي', + releaseDate: 'تاريخ الاصدار', + error: 'خطأ' + } + }, + about: { + titles: { + usefulLinks: 'روابط مهمة', + bugReports: 'ابلاغ عن مشكلة', + contributing: 'مساهمة', + donations: 'التبرع', + license: 'الرخصة' + }, + subtitles: { + bugReports: "هل هناك شيء لا يعمل في ديمكس؟ أخبرنا", + contributing: 'تريد المساهمة في هذا المشروع؟ يمكنك القيام بذلك بعدة طرق', + donations: 'تريد المساهمة مادياً؟ يمكنك التبرع' + }, + usesLibrary: 'هذا البرنامج يستخدم مكتبة ديمكس والتي يمكنك استخدامها لإنشاء واجهة مستخدم خاصة بك لديمكس.', + thanks: `شكرا لـ rtonno, و uhwot و lollilol لمساعدتي في هذا المشروع و لـ BasCurtiz لصنع الايقونة.`, + officialWebsite: 'الموقع الرسمي', + officialRepo: 'مستودع المكتبة الرسمي', + officialWebuiRepo: 'مستودع واجهة الويب الرسمي', + officialSubreddit: 'السب ريدت الرسمي', + newsChannel: 'قناة الاخبار', + beforeReporting: `قبل ان تبلغ عن خطأ، تأكد من أنك تشغل أحدث إصدار من التطبيق وأن ما تريد الإبلاغ عنه هو في الواقع خطأ وليس مشكلة من جهتك.`, + beSure: `تأكد من أن الخطأ يمكن إعادة إنتاجه على أجهزة أخرى و ايضاً لا تبلغ علة خطأ تم التبليغ عنه سابقاً.`, + duplicateReports: 'سيتم إغلاق تقارير الأخطاء المكررة ، لذلك ترقب ذلك.', + dontOpenIssues: `DO NOT open issues for asking questions, there is a subreddit for that.`, + acceptFeatures: `أقبل اقتراحات الميزات أيضًا ، ولكن لا أشياء معقدة ، فقط اشياء يمكنني تنفيذها مباشرة في التطبيق وليس في المكتبة.`, + otherLanguages: `إذا كنت تجيد لغة برمجة أخرى ، يمكنك محاولة تحويل ديمكس إلى لغات برمجة أخرى!`, + understandingCode: `أنت بحاجة إلى مساعدة في فهم الكود؟ فقط اتصل بـ RemixDev على تيليكرام او ريديت.`, + itsFree: `يجب ان تتذكر ان هذا هو مشروع مجاني و عليك دعم الفنانين المفضلين لك قبل ان تدعم مطورين البرنامج.`, + notObligated: `لا تشعر بالالتزام بالتبرع ، لكني أقدر ذلك على أي حال!`, + }, + charts: { + title: 'قائمة الجداول', + changeCountry: 'تغيير الدولة', + download: 'تحميل قائمة الجدول' + }, + errors: { + title: 'خطأ في {name}', + ids: { + invalidURL: 'الرابط غير صحيح', + unsupportedURL: 'الرابط غير متاح حتى الانً', + ISRCnotOnDeezer: 'رمز المقطع غير متوفر في ديزر', + notYourPrivatePlaylist: "لا يمكنك تحميل قوائم التشغيل الخاصة و المخفية.", + spotifyDisabled: 'لم يتم اعداد ميزات سبوتفاي بالطرقة الصحيحة .', + trackNotOnDeezer: 'المقطع لا يوجد في ديزر!', + albumNotOnDeezer: 'الالبوم لا يوجد في ديزر!', + notOnDeezer: 'المقطع لا يوجد في ديزر!', + notEncoded: 'لم يتم تشفير المقطع حتى الانً!', + notEncodedNoAlternative: 'لم يتم تشفير المقطع حتى الآن ولم يتم العثور على بديل!', + wrongBitrate: 'لم يتم العثور على المقطع في الدقة المطلوبة.', + wrongBitrateNoAlternative: 'لم يتم العثور على المقطع في الدقة المطلوبة و لا توجد دقة بديلة!', + no360RA: 'المقطع غير متوفر في Reality Audio 360.', + notAvailable: "المقطع غير متوفر في سيرفرات ديزر!", + notAvailableNoAlternative: "المقطع غير متوفر في سيرفرات ديزر و لا يوجد بديل حتى الان!" + } + }, + favorites: { + title: 'المفضلات', + noPlaylists: 'لا يوجد قوائم تشغيل', + noAlbums: 'لم لا توجد البومات مفضلة', + noArtists: 'لا يوجد فنانين مفضلين', + noTracks: 'لا توجد مقاطع مفضلة' + }, + home: { + needTologin: 'يجب عليك التسجيل في حساب ديزر قبل بدء التحميل.', + openSettings: 'فتح الاعدادات', + sections: { + popularPlaylists: 'قوائم تشغيل مشهورة', + popularAlbums: 'اكثر الالبومات سماعأ' + } + }, + linkAnalyzer: { + info: 'يمكنك استخدام هذا القسم للعثور على مزيد من المعلومات حول الرابط الذي تحاول تنزيله.', + useful: + " كمثال هذا مفيد إذا كنت تحاول تنزيل بعض المقاطع الغير المتاحة في بلدك وتريد معرفة مكان توفرها .", + linkNotSupported: 'هذا الرابط غير معتمد حتى الآن', + linkNotSupportedYet: 'يبدو أن هذا الرابط غير معتمد حتى الآن ، حاول تحليل رابط آخر.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'المدة الزمنية', + diskNumber: 'رقم القرص', + trackNumber: 'رقم المقطع', + releaseDate: 'تاريخ الاصدار', + bpm: 'BPM', + label: 'Label', + recordType: 'نوع التسجيل', + genres: 'النوع الفني', + tracklist: 'قائمة المقاطع' + } + }, + search: { + startSearching: 'ابدأ البحث!', + description: + 'يمكنك البحث عن مقطع ، ألبوم كامل ، فنان ، قائمة تشغيل .... كل شيء! يمكنك أيضًا لصق رابط ديزر', + fans: '{n} متابعون', + noResults: 'لا يوجد نتائج', + noResultsTrack: 'لم يتم العثور على مقاطع', + noResultsAlbum: 'لم يتم العثور على البومات', + noResultsArtist: 'لم يتم العثور على فنانين', + noResultsPlaylist: 'لم يتم العثور على قوائم تشغيل' + }, + searchbar: 'ابحث عن أي شيء تريده (أو الصق رابط)', + downloads: 'التحميلات', + toasts: { + addedToQueue: '{item} تمت إلأضافة إلى قائمة الانتظار', + alreadyInQueue: '{item} حالياً في قائمة الانتظار!', + finishDownload: '{item} انتهى تحميل.', + allDownloaded: 'اكتملت جميع التنزيلات!', + refreshFavs: 'اكتمل التحديث!', + loggingIn: 'جار تسجيل الدخول...', + loggedIn: 'تم تسجيل الدخول', + alreadyLogged: 'تم تسجيل الدخول بالفعل', + loginFailed: "تعذر تسجيل الدخول", + loggedOut: 'تم تسجيل الخروج', + cancellingCurrentItem: 'جار الغاء العنصر الحالي.', + currentItemCancelled: 'تم الغاء العنصر الحالي.', + startAddingArtist: 'جار اضافة {artist} البوم الى قائمة الانتضار', + finishAddingArtist: 'تم اضافة {artist} البوم الى قائمة الانتضار', + startConvertingSpotifyPlaylist: 'جار تحويل مقاطع سبوتفاي الى مقاطع ديزر', + finishConvertingSpotifyPlaylist: 'تم تحويل قائمة تشغيل سبوتفاي', + loginNeededToDownload: 'يجب عليك تسجيل الدخول لتحميل المقاطع!' + }, + settings: { + title: 'الاعدادات', + languages: 'اللغات', + login: { + title: 'تسجيل الدخول', + loggedIn: 'تم تسجيل الدخول كـ {username}', + arl: { + question: 'كيفية الحصول علة ARL', + update: 'ارفع ال ARL' + }, + logout: 'تسجيل الخروج' + }, + appearance: { + title: 'المظهر', + slimDownloadTab: 'لوحة التحميل الرفيعة' + }, + downloadPath: { + title: 'مسار التحميل' + }, + templates: { + title: 'القوالب', + tracknameTemplate: 'قالب اسم المقطع', + albumTracknameTemplate: 'قالب مقطع الالبوم', + playlistTracknameTemplate: 'قالب مقطع قائمة التشغيل' + }, + folders: { + title: 'الملفات', + createPlaylistFolder: 'اصنع ملف لقائمة التشغيل', + playlistNameTemplate: 'قالب ملف قائمة التشغيل', + createArtistFolder: 'اصنع ملف للفنان', + artistNameTemplate: 'قالب ملف الفنان', + createAlbumFolder: 'اصنع ملف للالبوم', + albumNameTemplate: 'قالب ملف الالبوم', + createCDFolder: 'اصنع ملف للاقراص', + createStructurePlaylist: 'اصنع هيكل مجلدات لقوائم التشغيل', + createSingleFolder: 'اصنع هيكل مجلدات لالبومات ذات الاغنية الواحدة' + }, + trackTitles: { + title: 'عنوان المقطع', + padTracks: 'Pad tracks', + paddingSize: 'Overwrite padding size', + illegalCharacterReplacer: 'محول الكتابات الغير مسموح بها' + }, + downloads: { + title: 'التحميلات', + queueConcurrency: 'التنزيلات المتزامنة', + maxBitrate: { + title: 'الدقة المفضلة', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'هل يمكنني استبدال الملفات?', + y: 'نعم, استبدال الملفات', + n: "لا, لا تبدل الملفات", + t: 'استبدل العلامات فقط', + b: 'لا ، احتفظ بالملفين وأضف رقمًا إلى الملف المكرر' + }, + fallbackBitrate: 'تراجع الدقة', + fallbackSearch: 'تراجع البحث', + logErrors: 'إنشاء ملفات سجل للأخطاء', + logSearched: 'إنشاء ملفات سجل للمقاطع التي تم البحث عنها', + createM3U8File: 'انشاء ملف لقوائم التشغيل', + syncedLyrics: 'انشاء ملف لكلمات الاغنية', + playlistFilenameTemplate: 'قالب اسم ملف قائمة التشغيل', + saveDownloadQueue: 'حفظ قائمة انتظار التنزيل عند إغلاق التطبيق' + }, + covers: { + title: 'غلاف الالبوم', + saveArtwork: 'احفظ الغلاف', + coverImageTemplate: 'تغطية قالب الاسم', + saveArtworkArtist: 'احفظ صورة الفنان', + artistImageTemplate: 'قالب صورة الفنان', + localArtworkSize: 'حجم الصورة', + embeddedArtworkSize: 'حجم الصورة المدمجة', + localArtworkFormat: { + title: 'بأي صيغة تريد حفظ الصورة?', + jpg: 'jpeg صورة', + png: 'png صورة', + both: 'الاثنين png و jpeg' + }, + jpegImageQuality: 'JPEG دقة صورة' + }, + tags: { + head: 'العلامات التي يتم حفظها', + title: 'العنوان', + artist: 'الفنان', + album: 'الالبوم', + cover: 'الغلاف', + trackNumber: 'رقم المقطع', + trackTotal: 'مجموع المقاطع', + discNumber: 'رقم القرص', + discTotal: 'مجموع الاقراص', + albumArtist: 'فنان الالبوم', + genre: 'Genre', + year: 'السنة', + date: 'التاريخ', + explicit: 'كلمات اغنية صريحة للكبار', + isrc: 'ISRC', + length: 'طول المقطع', + barcode: 'Album Barcode (UPC)', + bpm: 'BPM', + replayGain: 'Replay Gain', + label: 'Album Label', + lyrics: 'كلمات غير متزامنة', + copyright: 'حقوق النشر', + composer: 'ملحن', + involvedPeople: 'الناس المشتركون' + }, + other: { + title: 'غير', + savePlaylistAsCompilation: 'حفظ قوائم التشغيل كمجموعة', + useNullSeparator: 'استخدم فاصل فارغ', + saveID3v1: 'احفظ ملف ID3v1', + multiArtistSeparator: { + title: 'كيف تريد فصل الفنانين?', + nothing: 'احفظ الفنان الرئيسي فقط', + default: 'استخدام المواصفات القياسية', + andFeat: 'استخدام& و feat.', + using: 'استخدام "{separator}"' + }, + singleAlbumArtist: 'احفظ فقط فنان الألبوم الرئيسي', + albumVariousArtists: 'احتفظ بـ "فنانين متنوعين" في ألبوم الفنانين', + removeAlbumVersion: 'إزالة "إصدار الألبوم" من عنوان المسار', + removeDuplicateArtists: 'إزالة مجموعات الفنانين', + dateFormat: { + title: 'صيغة التاريخ لملفات flac', + year: 'س س س س', + month: 'ش ش', + day: 'ي ي' + }, + featuredToTitle: { + title: 'ماذا علي أن أفعل مع الفنانين الغير رئيسيين ?', + 0: 'لا شيء', + 1: 'حذفه من العنوان', + 3: 'حذفه من عنوان الاغنية و الالبوم', + 2: 'وضعه في العنوان' + }, + titleCasing: 'نوع كتابة العناون', + artistCasing: 'نوع كتابة الفنان', + casing: { + nothing: 'بدون تغيير', + lower: 'احرف صغيرة', + upper: 'احرف كبيرة', + start: 'حرف كبير في بداية كل كلمة', + sentence: 'مثل جملة' + }, + previewVolume: 'معاينة الحجم', + executeCommand: { + title: 'الأمر للتنفيذ بعد التنزيل', + description: 'اتركه فارغًا بدون إجراء' + } + }, + spotify: { + title: 'مميزات سبوتفاي', + clientID: 'معرف عميل سبوتفاي', + clientSecret: 'الكود السري لعميل سبوتفاي', + username: 'اسم مستخدم سبوتفاي' + }, + reset: 'إعادة تعيين إلى الافتراضي', + save: 'حفظ', + toasts: { + init: 'تم تحميل الإعدادات!', + update: 'تم تحديث الاعدادات!', + ARLcopied: 'تم نسخ ARL إلى الحافظة' + } + }, + sidebar: { + home: 'الرئيسية', + search: 'بحث', + charts: 'قائمة الجداول', + favorites: 'المفضلة', + linkAnalyzer: 'محلل الروابط', + settings: 'الاعدادات', + about: 'حول' + }, + tracklist: { + downloadSelection: 'تحميل الاختيار' + } +}; + +const ko = { + globals: { + welcome: '잘왔다, deemix에', + back: '뒤로', + loading: '불러오는 중', + download: '{thing} 다운로드', + by: 'by {artist}', + in: 'in {album}', + download_hint: '다운로드', + play_hint: '재생', + toggle_download_tab_hint: '펼치기/접기', + clean_queue_hint: '비우기 완료', + cancel_queue_hint: '모두 취소', + open_downloads_folder: '다운로드 폴더 열기', + cut: '잘라내기', + copy: '복사', + copyLink: '링크 복사', + copyImageLink: '이미지 링크 복사', + copyDeezerLink: 'deezer 링크 복사', + paste: '붙여넣기', + listTabs: { + empty: '', + all: '전체', + top_result: '가장 일치하는 결과', + album: '앨범 | 앨범', + artist: '아티스트 | 아티스트', + single: '싱글 | 싱글', + title: '제목 | 제목', + track: '트랙 | 트랙', + releaseN: '0 발매 | {n} 발매 | {n} 발매', + playlist: '재생목록 | 재생목록', + compile: '편찬물 | 편찬물', + ep: 'ep | eps', + bundle: '번들 | 번들', + more: '더 많은 앨범', + featured: '특집', + spotifyPlaylist: '스포티파이 재생목록 | 스포티파이 재생목록', + releaseDate: '발매일자', + error: '오류', + trackN: '0 트랙 | {n} 트랙 | {n} 트랙', + albumN: '0 앨범 | {n} 앨범 | {n} 앨범', + artistN: '0 아티스트 | {n} 아티스트 | {n} 아티스트', + playlistN: '0 재생목록 | {n} 재생목록 | {n} 재생목록' + } + }, + about: { + appStatus: { + online: '프로그램 온라인', + offline: '프로그램 오프라인' + }, + updates: { + currentVersion: '현재 버전', + currentWebuiVersion: '현재 WebUI 버전', + versionNotAvailable: 'N/A', + updateAvailable: `최신버전으로 업데이트 할 수 있습니다: {version}`, + deemixVersion: 'deemix lib 버전' + }, + titles: { + usefulLinks: '유용한 링크', + bugReports: '버그 제보', + contributing: '기여자', + donations: '후원', + license: '이용정책' + }, + subtitles: { + bugReports: "무언가 안되는 것이 있다고요? 말해주세요!", + contributing: '이 프로젝트에 기여하고 싶다고요? 어렵지 않아요!', + donations: '금전적으로 지원하고 싶다고요? 후원하세요!' + }, + usesLibrary: '이 프로그램은 deemix 라이브러리를 사용합니다, 해당 라이브러리로 자신만의 deemix를 만들 수 있습니다.', + thanks: `이 프로젝트를 도와준 rtonno, uhwot 그리고 lollilol님과 아이콘을 만들어준 BasCurtiz 그리고 scarvimane님에게 감사를.`, + upToDate: { + text: `새로운 업데이트 소식을 듣고 싶으면 텔레그램 {newsChannel}을 참고하세요.`, + newsChannel: '새소식 정보통' + }, + officialWebsite: '공식 웹사이트', + officialRepo: '공식 라이브러리 저장소', + officialWebuiRepo: '공식 WebUI 저장소', + officialSubreddit: '공식 서브레딧', + newsChannel: '새 소식 알리미', + questions: { + text: `프로그램에 대한 질문이나 문제에 관한 것은, 먼저 {subreddit}에서 답변을 검색해보세요. 그리고, 서브레딧에서 답변을 찾기 못한 경우에 다음 순서를 이용해주세요.`, + subreddit: '서브레딧' + }, + beforeReporting: `버그 제보를 하기 전에 먼저 최신 버전의 프로그램을 실행하고 있는지, 제보하고자 하는 것이 버그이지 오로지 당신의 목적을 이루기 위한 요구가 아님을 확인해주세요.`, + beSure: `해당 버그가 다른 장치에서도 재현이 가능한지 확인하고 이미 제보된 버그의 경우에는 중복해서 보고하지 마세요.`, + duplicateReports: '중복된 버그 제보의 경우는 해당 요청을 닫을 것이니, 두 눈 뜨고 지켜보세요.', + dontOpenIssues: `질문에 관한 것은 이슈를 열지 마세요, 서브레딧이 있습니다.`, + newUI: { + text: `만약 당신이 파이썬에 능통하고 기본적인 라이브러리를 이용하여 새로운 UI를 만들었거나, 라이브러리의 버그를 수정하였다면 {repo}에 풀 리퀘스트 해주세요.`, + repo: '저장소' + }, + acceptFeatures: `복잡하지 않은 기능 추가도 받습니다, 라이브러리가 아닌 앱에서 직접 구현할 수 있는 것으로요.`, + otherLanguages: `당신이 다른 프로그램 언어에 능통하면, 이 deemix 프로그램을 다른 프로그래밍 언어로 포팅할 수도 있습니다!`, + understandingCode: `코드를 이해하는 데 도움이 필요합니까? 위에 있는 RemixDev, 텔레그램, 서브레딧 링크를 누르세요.`, + contributeWebUI: { + text: `만약 당신이 Vue.js (JavaScript), HTML 또는 CSS 개발자라면 {webui}에 도움을 주세요.`, + webui: 'WebUI' + }, + itsFree: `사용하기 전에 이 프로그램이 무료 프로젝트이고 개발자를 지원하기 전에 예술가들을 먼저 지원해야 함을 기억하세요.`, + notObligated: `기부는 프로젝트를 지속할 수 있는 동력이 됩니다!`, + lincensedUnder: { + text: `이 작업이 요구하고 있는 라이센스는 아래와 같습니다 {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: '차트', + changeCountry: '국가 변경', + download: '차트 다운로드' + }, + errors: { + title: '오류 발생: {name}', + ids: { + unsupportedURL: 'URL 지원 누락', + invalidURL: 'URL 인식 실패', + ISRCnotOnDeezer: '트랙 코드 식별이 불가능합니다', + notYourPrivatePlaylist: "다른 사람의 비공개 재생 목록을 다운로드 할 수 없습니다.", + spotifyDisabled: '스포티파이 기능이 올바르게 설정되지 않았습니다.', + trackNotOnDeezer: 'Deezer에서 트랙을 찾을 수 없습니다!', + albumNotOnDeezer: 'Deezer에서 앨범을 찾을 수 없습니다!', + notOnDeezer: 'Deezer에서 트랙을 찾을 수 없습니다!', + notEncoded: '트랙이 아직 변환(encode)되지 않았습니다!', + notEncodedNoAlternative: '트랙이 아직 변환(encode)되지 않았을 뿐더러 대체할 것을 찾지 못했습니다!', + wrongBitrate: '요구하는 비트레이트의 트랙을 찾을 수 없습니다.', + wrongBitrateNoAlternative: '요구하는 비트레이트를 찾을 수 없을 뿐더러 대체할 것을 찾지 못했습니다!', + no360RA: '해당 트랙은 360 리얼리티 오디오에 존재하지 않습니다.', + notAvailable: "해당 트랙은 Deezer 서버에 존재하지 않습니다!", + notAvailableNoAlternative: "해당 트랙은 Deezer 서버에 존재하지 않을 뿐더러 대체할 것을 찾지 못했습니다!", + noSpaceLeft: "장치에 여유 공간이 없습니다!", + albumDoesntExists: "트랙의 앨범이 존재하지 않습니다, 정보 수집에 실패했습니다." + } + }, + favorites: { + title: '즐겨듣는 음악', + noPlaylists: '즐겨듣는 재생목록이 없습니다', + noAlbums: '즐겨듣는 앨범이 없습니다', + noArtists: '즐겨듣는 아티스트가 없습니다', + noTracks: '즐겨듣는 트랙이 없습니다' + }, + home: { + needTologin: '다운로드를 시작하기 전에 Deezer 계정에 로그인을 해야합니다.', + openSettings: '설정 열기', + sections: { + popularPlaylists: '인기있는 재생목록', + popularAlbums: '가장 많이 재생된 앨범' + } + }, + linkAnalyzer: { + info: '이 항목에서는 다운로드를 시도할 링크에 대한 더 많은 정보를 찾을 수 있습니다.', + useful: "접속한 국가에서는 재생할 수 없는 특정 트랙을 다운로드 하기 위해서 가능한 국가를 찾는데 유용하게 쓰입니다.", + linkNotSupported: '해당 링크는 아직 지원하지 않습니다', + linkNotSupportedYet: '해당 링크는 아직 지원하지 않습니다, 다른 링크로 시도해보세요.', + + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: '길이', + diskNumber: '디스크 번호', + trackNumber: '트랙 번호', + releaseDate: '발매일자', + bpm: 'BPM', + label: '라벨', + recordType: '녹음 종류', + genres: '장르', + tracklist: '트랙목록' + } + }, + search: { + startSearching: '검색을 해보세요!', + description: '트랙, 아티스트, 재생목록, Deezer 링크 등으로 검색할 수 있습니다!', + + fans: '{n}명의 팬들', + noResults: '결과 없음', + noResultsTrack: '발견된 트랙 없음', + noResultsAlbum: '발견된 앨범 없음', + noResultsArtist: '발견된 아티스트 없음', + noResultsPlaylist: '발견된 재생목록 없음' + }, + searchbar: '원하는 것을 검색하세요 (링크를 붙여넣을 수도 있습니다)', + downloads: '다운로드들', + toasts: { + restoringQueue: '다운로드 대기 열 복원중...', + queueRestored: '다운로드 대기 열이 복원되었습니다!', + addedToQueue: '대기열에 {item}(이)가 추가되었습니다', + addedMoreToQueue: '대기열에 {n} 항목이 추가되었습니다', + alreadyInQueue: '{item}(이)가 이미 대기열에 존재합니다!', + finishDownload: '{item} 항목이 다운로드 완료되었습니다.', + allDownloaded: '모든 다운로드가 완료되었습니다!', + refreshFavs: '새로고침이 완료되었습니다!', + loggingIn: '로그인 하는 중...', + loggedIn: '로그인 되었습니다', + alreadyLogged: '이미 로그인되어 있습니다', + loginFailed: "로그인 할 수 없습니다", + loggedOut: '로그아웃 하였습니다', + cancellingCurrentItem: '현재 항목을 취소 중입니다.', + currentItemCancelled: '항목이 취소되었습니다.', + startAddingArtist: '{artist} 앨범을 대기열에 추가 중입니다', + finishAddingArtist: '{artist} 앨범이 대기열에 추가되었습니다', + startConvertingSpotifyPlaylist: '스포티파이 트랙을 Deezer 트랙으로 전환 중입니다', + finishConvertingSpotifyPlaylist: '스프토파이 재생 목록이 전환되었습니다', + loginNeededToDownload: '트랙을 다운로드하려면 로그인이 필요합니다!', + deezerNotAvailable: 'Deezer 사이트는 현재 귀하의 국가에서 사용이 불가능합니다. VPN을 사용하세요.', + startGeneratingItems: '{n}개의 항목 진행중...', + finishGeneratingItems: '{n}개의 항목 생성.' + }, + settings: { + title: '설정', + languages: '언어', + login: { + title: '로그인', + loggedIn: '{username}(으)로 로그인되었습니다', + arl: { + question: 'ARL을 어떻게 확인합니까?', + update: 'ARL 업데이트' + }, + logout: '로그아웃', + question: '스포티파이 기능들을 쓰려면 어떻게 해야합니까?' + }, + appearance: { + title: '외관', + slimDownloadTab: '얇은 다운로드 탭', + slimSidebar: '얇은 사이드바' + }, + downloadPath: { + title: '다운로드 경로' + }, + templates: { + title: '템플릿', + tracknameTemplate: '트랙이름 템플릿', + tracknameAvailableVariables: '사용가능한 트랙이름 변수 목록', + albumTracknameTemplate: '앨범 트랙 템플릿', + albumTracknameAvailableVariables: '사용가능한 앨범 트랙 변수 목록', + playlistTracknameTemplate: '재생목록 트랙 템플릿', + playlistTracknameAvailableVariables: '사용가능한 재생 목록 트랙 변수 목록' + }, + folders: { + title: '폴더', + createPlaylistFolder: '재생목록을 위한 폴더 생성', + playlistNameTemplate: '재생목록 폴더 템플릿', + createArtistFolder: '아티스트를 위한 폴더 생성', + artistNameTemplate: '아티스트 폴더 템플릿', + createAlbumFolder: '앨범을 위한 폴더 생성', + albumNameTemplate: '앨범 폴더 템플릿', + createCDFolder: 'CD를 위한 폴더 생성', + createStructurePlaylist: '재생목록을 위한 폴더 구조 생성', + createSingleFolder: '싱글 앨범을 위한 폴더 구조 생성' + }, + trackTitles: { + title: '트랙 제목', + padTracks: '트랙 채워넣기', + paddingSize: '채워넣을 크기', + illegalCharacterReplacer: '지원하지 않는 글자 대체' + }, + downloads: { + title: '다운로드', + queueConcurrency: '동시 다운로드', + maxBitrate: { + title: '선호하는 비트레이트', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: '파일을 덮어쓸까요?', + y: '네, 파일을 덮어쓰세요', + n: "아뇨, 파일을 덮어쓰지 마세요", + t: '태그만 덮어쓰세요', + b: '아뇨, 양쪽 다 놔두고 중복되는 파일에 번호를 추가하세요', + e: "아뇨, 확장명을 변경하세요" + }, + fallbackBitrate: '비트레이트 대비책', + fallbackSearch: '검색 대비책', + logErrors: '오류 발생시 로그 파일 생성', + logSearched: '검색한 트랙에 대한 로그 파일 생성', + createM3U8File: '재생목록 파일 생성', + syncedLyrics: '.lyr 파일 생성 (가사 동기화)', + playlistFilenameTemplate: '재생목록 파일이름 템플릿', + saveDownloadQueue: '프로그램을 닫을 때 다운로드 대기열 저장' + }, + covers: { + title: '앨범 커버', + saveArtwork: '커버 저장', + coverImageTemplate: '커버 이름 템플릿', + saveArtworkArtist: '아티스트 이미지 저장', + artistImageTemplate: '아티스트 이미지 템플릿', + localArtworkSize: '외부 저장 그림 크기', + embeddedArtworkSize: '내부 저장 그림 크기', + localArtworkFormat: { + title: '별도로 저장할 그림의 형식을 무엇으로 하시겠습니까?', + jpg: 'jpeg 이미지', + png: 'png 이미지', + both: 'jpeg와 png 둘 다' + }, + jpegImageQuality: 'JPEG 이미지 품질', + embeddedArtworkPNG: '포함된 그림의 형식을 PNG로 저장합니다', + embeddedPNGWarning: 'PNG는 Deezer에서 공식적으로 지원하지 않기 때문에 버그가 있을 수 있습니다', + imageSizeWarning: 'x1200 크기를 초과해서는 Deezer에서 공식적으로 사용되지 않기 때문에 문제가 생길 수 있습니다', + coverDescriptionUTF8: '커버 설명을 UTF8 포맷을 이용해 저장합니다 (iTunes 커버 오류 해결)' + }, + tags: { + head: '저장할 태그를 선택하세요', + title: '제목', + artist: '아티스트', + album: '앨범', + cover: '커버', + trackNumber: '트랙 번호', + trackTotal: '전체 트랙 크기', + discNumber: '디스크 번호', + discTotal: '전체 디스크 수', + albumArtist: '앨범 아티스트', + genre: '장르', + year: '연도', + date: '일자', + explicit: '노골적 가사', + isrc: 'ISRC', + length: '트랙 길이', + barcode: '앨범 바코드 (UPC)', + bpm: 'BPM', + replayGain: '리플레이 게인', + label: '앨범 라벨', + lyrics: '비동기 가사', + + copyright: '저작권', + composer: '작곡가', + involvedPeople: '관련있는 사람들', + source: '소스와 음악 ID' + }, + other: { + title: '기타', + savePlaylistAsCompilation: '재생목록을 편찬물로 저장', + useNullSeparator: 'null 구분자 사용', + saveID3v1: 'ID3v1 태그 형식으로 저장', + multiArtistSeparator: { + title: '아티스트를 어떻게 구분하시겠습니까?', + nothing: '주요 아티스트만 저장', + default: '표준 스펙을 사용', + andFeat: '& 기호와 feat 사용.', + using: '"{separator}" 사용' + }, + singleAlbumArtist: '주요 앨범 아티스트만 저장', + albumVariousArtists: '앨범 아티스트에 "Various Artists"(다양한 아티스트들) 유지', + removeAlbumVersion: '트랙 제목에 "Album Version"(앨범 버전) 제거', + removeDuplicateArtists: '아티스트들의 협업 제거', + dateFormat: { + title: 'FLAC 파일의 날짜 형식', + year: 'YYYY', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: '특집에 참여한 아티스트들에 할 수 있는 것이 무엇이 있나요?', + 0: '아무것도 하지 않음', + 1: '제목에서 제거', + 3: '앨범 제목과 트랙에서 제거', + 2: '제목으로 이동' + }, + titleCasing: '제목 케이싱', + artistCasing: '아티스트 케이싱', + casing: { + nothing: '변함없이 유지', + lower: '소문자로', + upper: '대문자로', + start: '각 단어 앞 글자를 대문자로', + sentence: '문장처럼' + }, + previewVolume: '미리듣기 볼륨', + executeCommand: { + title: '다운로드 후 실행할 명령어', + description: '빈칸으로 두면 아무 일도 없습니다' + } + }, + spotify: { + title: '스포티파이 기능', + clientID: 'Spotify ClientID', + clientSecret: 'Spotify Client Secret', + username: 'Spotify 사용자이름', + question: '스포티파이 기능들을 사용하려면 어떻게 해야 합니까?' + }, + reset: '기본 설정으로 초기화', + resetMessage: '정말 기본 설정으로 돌아가시겠습니까?', + save: '저장', + toasts: { + init: '설정을 불러왔습니다!', + update: '새로운 설정으로 갱신되었습니다!', + reset: '설정이 원래대로 초기화 되었습니다!', + ARLcopied: 'ARL가 클립보드에 복사되었습니다' + } + }, + sidebar: { + home: '홈', + search: '검색', + charts: '차트', + favorites: '즐겨찾기', + linkAnalyzer: '링크 분석기', + settings: '설정', + about: '정보' + }, + tracklist: { + downloadSelection: '선택 다운로드' + } +}; + +const ph = { + globals: { + welcome: 'Welcome sa deemix', + back: 'bumalik', + loading: 'kumakarga', + download: 'I-download {thing}', + by: 'ayon sa {artist}', + in: 'sa {album}', + download_hint: 'I-download', + play_hint: 'I-play', + toggle_download_tab_hint: 'Palakihin/Paliitan', + clean_queue_hint: 'Natapos na ang Pag-alis', + cancel_queue_hint: 'Ikansel Lahat', + open_downloads_folder: 'Buksan ang Polder ng Download', + cut: 'i-cut', + copy: 'kopyahin', + copyLink: 'kopyahin ang link', + copyImageLink: 'kopyahin ang imahe sa link', + copyDeezerLink: 'kopyahin ang link ng deezer', + paste: 'idikit', + listTabs: { + empty: '', + all: 'lahat', + top_result: 'nangungunang resulta', + album: 'album | mga album', + artist: 'artist | mga artist', + single: 'single | mga single', + title: 'pamagat | mga pamagat', + track: 'track | mga track', + trackN: '0 mga track | {n} track | {n} mga track', + releaseN: '0 mga release | {n} release | {n} mga release', + playlist: 'playlist | mga playlist', + compile: 'pinagsama | mga pinagsama', + ep: 'ep | mga ep', + bundle: 'bundle | mga bundle', + more: 'Iba pang mga album', + featured: 'Ibinida sa', + spotifyPlaylist: 'playlist sa spotify | mga playlist sa spotify', + releaseDate: 'petsa ng paglabas', + error: 'error' + } + }, + about: { + updates: { + currentVersion: 'Kasalukuyang version', + versionNotAvailable: 'H/P', + updateAvailable: `Hindi mo ginagamit ang pinakabagong version: {version}`, + deemixVersion: 'deemix lib version' + }, + titles: { + usefulLinks: 'Nakatutulong na mga Link', + bugReports: 'Report sa Bug', + contributing: 'Pagtulong', + donations: 'Mga donasiyon', + license: 'Lisensiya' + }, + subtitles: { + bugReports: "Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!", + contributing: 'Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!', + donations: 'Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!' + }, + usesLibrary: 'Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.', + thanks: `Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.`, + upToDate: { + text: `Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.`, + newsChannel: 'news channel' + }, + officialWebsite: 'Opisyal na Website', + officialRepo: 'Opisyal na Library Repository', + officialWebuiRepo: 'Opisyal na Repository ng WebUI', + officialSubreddit: 'Opisyal na Subreddit', + newsChannel: 'News Channel', + questions: { + text: `Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.`, + subreddit: 'subreddit' + }, + beforeReporting: `Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.`, + beSure: `Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.`, + duplicateReports: 'Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.', + dontOpenIssues: `HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.`, + newUI: { + text: `Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.`, + repo: 'repo' + }, + acceptFeatures: `Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.`, + otherLanguages: `Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!`, + understandingCode: `Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.`, + contributeWebUI: { + text: `Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.`, + webui: 'WebUI' + }, + itsFree: `Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.`, + notObligated: `Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!`, + lincensedUnder: { + text: `Ang aktibidad na ito ay lisensiyado sa {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Mga Chart', + changeCountry: 'Palitan ang Country', + download: 'I-download ang Chart' + }, + errors: { + title: 'Mga error sa {name}', + ids: { + invalidURL: 'Hindi makilala ang URL', + unsupportedURL: 'Hindi pa suportado ang URL', + ISRCnotOnDeezer: 'Ang Track ISRC ay hindi pwede sa Deezer', + notYourPrivatePlaylist: "Hindi pwedeng i-download ang mga pribadong playlist ng iba.", + spotifyDisabled: 'Hindi mo nai-set nang tama ang Spotify Features.', + trackNotOnDeezer: 'Hindi mahanap ang track sa Deezer!', + albumNotOnDeezer: 'Hindi mahanap ang album sa Deezer!', + notOnDeezer: 'Hindi available ang track sa Deezer!', + notEncoded: 'Hindi pa nae-encode ang track!', + notEncodedNoAlternative: 'Hindi pa nae-encode ang track at walang mahanap na iba!', + wrongBitrate: 'Hindi mahanap ang track sa gusto mong bitrate.', + wrongBitrateNoAlternative: 'Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!', + no360RA: 'Hindi pwede ang track para sa Reality Audio 360.', + notAvailable: "Walang available na track sa server ng Deezer!", + notAvailableNoAlternative: "Walang available na track sa server ng Deezer at walang mahanap na iba!", + noSpaceLeft: "Wala nang natitirang space sa iyong device!" + } + }, + favorites: { + title: 'Mga Paborito', + noPlaylists: 'Walang makitang mga Playlist', + noAlbums: 'Walang makitang mga Paboritong Album', + noArtists: 'Walang makitang mga Paboritong Artist', + noTracks: 'Walang makitang mga Paboritong Track' + }, + home: { + needTologin: 'Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.', + openSettings: 'Buksan ang Mga Setting', + sections: { + popularPlaylists: 'Mga sikat na playlist', + popularAlbums: 'Pinakamaraming pinakikinggang mga album' + } + }, + linkAnalyzer: { + info: 'Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.', + useful: "Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.", + linkNotSupported: 'Hindi pa suportado ang link', + linkNotSupportedYet: 'Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Haba', + diskNumber: 'Bilang ng Disk', + trackNumber: 'Bilang ng Track', + releaseDate: 'Petsa ng Release', + bpm: 'BPM', + label: 'Label', + recordType: 'Uri ng Rekord', + genres: 'Mga Genre', + tracklist: 'Listahan ng Track' + } + }, + search: { + startSearching: 'Simulang Maghanap!', + description: 'Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer', + fans: '{n} mga fan', + noResults: 'Walang resulta', + noResultsTrack: 'Walang mahanap na mga Track', + noResultsAlbum: 'Walang mahanap na mga Album', + noResultsArtist: 'Walang mahanap na mga Artist', + noResultsPlaylist: 'Walang mahanap na mga Playlist' + }, + searchbar: 'Maghanap ka ng gusto mo (o mag-paste ka ng link)', + downloads: 'mga download', + toasts: { + restoringQueue: 'Binabalik ang download queue...', + queueRestored: 'Naibalik na ang download queue!', + addedToQueue: '{item} ay naidagdag sa queue', + addedMoreToQueue: '{n} naidagdag rin sa queue', + alreadyInQueue: '{item} ay meron na sa queue!', + finishDownload: '{item} ay natapos nang i-download.', + allDownloaded: 'Nadownload na lahat!', + refreshFavs: 'Narefresh na!', + loggingIn: 'Nagla-log in...', + loggedIn: 'Na-login na', + alreadyLogged: 'Nakalogin ka na', + loginFailed: "Hindi maka-log in", + loggedOut: 'Na-logout na', + cancellingCurrentItem: 'Kinakansel ang item.', + currentItemCancelled: 'Nakansel na ang item.', + startAddingArtist: 'Idinadagdag si {artist} sa queue ng mga album', + finishAddingArtist: 'Naidagdag na si {artist} sa queue ng mga album', + startConvertingSpotifyPlaylist: 'Kino-convert ang mga track sa spotify papuntang Deezer', + finishConvertingSpotifyPlaylist: 'Naconvert na ang playlist sa Spotify', + loginNeededToDownload: 'Kailangan mong mag-login para madownload ang mga track!', + deezerNotAvailable: 'Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN.' + }, + settings: { + title: 'Mga Setting', + languages: 'Mga Wika', + login: { + title: 'Login', + loggedIn: 'Ikaw ay naka-login sa pangalang {username}', + arl: { + question: 'Paano ako makakuha ng sariling ARL?', + update: 'I-update ang ARL' + }, + logout: 'Logout', + login: 'Mag-login gamit ng deezer.com' + }, + appearance: { + title: 'Hitsura', + slimDownloadTab: 'Pinaliit na download tab' + }, + downloadPath: { + title: 'Paglalagyan ng Download' + }, + templates: { + title: 'Mga Template', + tracknameTemplate: 'Template sa pangalan ng Track', + albumTracknameTemplate: 'Template sa track ng Album', + playlistTracknameTemplate: 'Template sa track ng Playlist' + }, + folders: { + title: 'Mga Folder', + createPlaylistFolder: 'Gumawa ng folder para sa mga playlist', + playlistNameTemplate: 'Template sa folder ng Playlist', + createArtistFolder: 'Gumawa ng folder para sa artist', + artistNameTemplate: 'Template sa folder ng Artist', + createAlbumFolder: 'Gumawa ng folder para sa album', + albumNameTemplate: 'Template sa folder ng Album', + createCDFolder: 'Gumawa ng folder para sa mga CD', + createStructurePlaylist: 'Gumawa ng istraktura ng folder para sa mga playlist', + createSingleFolder: 'Gumawa ng istraktura ng folder para sa mga single' + }, + trackTitles: { + title: 'Pamagat sa mga track', + padTracks: 'Mga track ng Pad', + paddingSize: 'Patungan ang laki ng padding', + illegalCharacterReplacer: 'Pamalit sa ilegal na Karakter' + }, + downloads: { + title: 'Mga Download', + queueConcurrency: 'Mga Kasabay na Download', + maxBitrate: { + title: 'Gustong Bitrate', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Papatungan ko ba ang file?', + y: 'Oo, patungan mo ang file', + n: "Hindi, huwag mong patungan ang file", + t: 'Patungan mo lang ang mga tag', + b: 'Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya', + e: "Hindi, at huwag mong tignan ang mga extension" + }, + fallbackBitrate: 'Binabaang bitrate', + fallbackSearch: 'Maghanap para sa binabaan', + logErrors: 'Gumawa ng log file para sa mga error', + logSearched: 'Gumawa ng log file para sa mga hinanap na track', + createM3U8File: 'Gumawa ng file sa playlist', + syncedLyrics: 'Gumawa ng mga .lyr file (Mga Sync Lyric)', + playlistFilenameTemplate: 'Template sa pangalan ng Playlist file', + saveDownloadQueue: 'I-save ang download queue kapag isasara the app' + }, + covers: { + title: 'Mga cover ng album', + saveArtwork: 'I-save ang mga Cover', + coverImageTemplate: 'Template ng pangalan ng cover', + saveArtworkArtist: 'I-save ang imahe ng artist', + artistImageTemplate: 'Template ng imahe ng artist', + localArtworkSize: 'Laki ng lokal na artwork', + embeddedArtworkSize: 'Laki ng Nakadikit na artwork', + localArtworkFormat: { + title: 'Anong gusto mong format para sa mga lokal na artwork?', + jpg: 'jpeg na imahe', + png: 'png na imahe', + both: 'Parehong jpeg at png' + }, + jpegImageQuality: 'Kalidad ng JPEG na imahe', + embeddedArtworkPNG: 'I-save ang nakadikit na artwork bilang PNG', + embeddedPNGWarning: 'Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug', + imageSizeWarning: 'Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu', + coverDescriptionUTF8: 'I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)' + }, + tags: { + head: 'Aling tag ang ise-save', + title: 'Pamagat', + artist: 'Artist', + album: 'Album', + cover: 'Cover', + trackNumber: 'Bilang ng Track', + trackTotal: 'Kabuuang Track', + discNumber: 'Bilang ng Disk', + discTotal: 'Kabuuang Disk', + albumArtist: 'Album Artist', + genre: 'Genre', + year: 'Taon', + date: 'Petsa', + explicit: 'Mga Explicit na Lyric', + isrc: 'ISRC', + length: 'Haba ng Track', + barcode: 'Barcode ng Album (UPC)', + bpm: 'BPM', + replayGain: 'Replay Gain', + label: 'Label ng Album', + lyrics: 'Unsynchronized na mga Lyric', + syncedLyrics: 'Synchronized na mga Lyric', + copyright: 'Karapatang Ari', + composer: 'Komposer', + involvedPeople: 'Mga Kasamang Tao' + }, + other: { + title: 'Iba pa', + savePlaylistAsCompilation: 'I-save ang mga playlist bilang compilation', + useNullSeparator: 'Gumamit ng panghiwalay sa null', + saveID3v1: 'I-save rin ang ID3v1', + multiArtistSeparator: { + title: 'Anong gusto mo para maihanay mga artist?', + nothing: 'I-save lang ang pangunahing artist', + default: 'Gamit ng standard na specification', + andFeat: 'Gamit ng & at feat.', + using: 'Gamit ng "{separator}"' + }, + singleAlbumArtist: 'I-save lang ang pangunahing album ng artist', + albumVariousArtists: 'Isama ang "Various Artists" sa mga Album Artist', + removeAlbumVersion: 'Tanggalin ang "Album Version" sa pamagat ng track', + removeDuplicateArtists: 'Tanggalin ang kombinasyon ng mga artist', + dateFormat: { + title: 'Format ng petsa para sa mga FLAC file', + year: 'YYYY', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: 'Anong gagawin ko sa mga itinampok na artist', + 0: 'Wala', + 1: 'Tanggalin mo sila sa Pamagat', + 3: 'Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album', + 2: 'Ilipat mo sila sa pamagat' + }, + titleCasing: 'Pagleletra sa Pamagat', + artistCasing: 'Pagleletra sa Artist', + casing: { + nothing: 'Walang babaguhin', + lower: 'maliliit', + upper: 'MALALAKI', + start: 'Simula Ng Bawata Salita', + sentence: 'Kagaya ng pangungusap' + }, + previewVolume: 'Volume ng Preview', + executeCommand: { + title: 'Mga gagawin pagkatapos ng download', + description: 'Hayaan lang na blangko kung wala' + } + }, + spotify: { + title: 'Spotify Features', + clientID: 'Spotify ClientID', + clientSecret: 'Spotify Client Secret', + username: 'Spotify Username', + question: 'Paano ma-enable ang Spotify Features?' + }, + reset: 'Ibalik sa Dati', + save: 'I-save', + toasts: { + init: 'Ikinarga ang mga Setting!', + update: 'In-update ang mga Setting!', + ARLcopied: 'Kinopya ang ARL sa clipboard' + } + }, + sidebar: { + home: 'tahanan', + search: 'maghanap', + charts: 'mga chart', + favorites: 'mga paborito', + linkAnalyzer: 'tagasuri ng link', + settings: 'mga setting', + about: 'tungkol sa' + }, + tracklist: { + downloadSelection: 'Pagpipili ng download' + } +}; + +const zh_tw = { + globals: { + welcome: '歡迎使用 deemix', + back: '返回', + loading: '載入中', + download: '下載 {thing}', + by: '{artist}', + in: '於 {album}', + download_hint: '下載', + play_hint: '播放', + toggle_download_tab_hint: '展開/折疊', + clean_queue_hint: '清除完成', + cancel_queue_hint: '取消全部', + open_downloads_folder: '開啟下載資料夾', + cut: '剪下', + copy: '複製', + copyLink: '複製連結', + copyImageLink: '複製圖片連結', + copyDeezerLink: '複製 deezer 連結', + paste: '貼上', + listTabs: { + empty: '', + all: '所有', + top_result: '最佳結果', + album: '專輯|專輯', + artist: '藝人|藝人', + single: '單曲', + title: '標題|標題', + track: '歌曲|歌曲', + releaseN: '0 發行| {n} 發行| {n} 發行', + playlist: '播放清單|播放清單', + compile: '合輯|合輯', + ep: '迷你專輯 | 迷你專輯', + bundle: 'bundle | bundles', + more: '更多專輯', + featured: '出現於', + spotifyPlaylist: 'Spotify 播放清單 | Spotify 播放清單', + releaseDate: '發布日期', + error: '錯誤', + trackN: '0 首歌曲| {n} 首歌曲| {n} 首歌曲', + albumN: '0 個專輯 | {n} 個專輯 | {n} 個專輯', + artistN: '0 個藝人 | {n} 個藝人 | {n} 個藝人', + playlistN: '0 個播放清單 | {n} 個播放清單 | {n} 個播放清單' + } + }, + about: { + appStatus: { + online: '上線中', + offline: '離線中' + }, + updates: { + currentVersion: '目前版本', + currentWebuiVersion: '目前前端版本', + versionNotAvailable: 'N/A', + updateAvailable: `您尚未更新至最新版本:{version}`, + deemixVersion: 'deemix 函示庫版本' + }, + titles: { + usefulLinks: '實用連結', + bugReports: '錯誤報告', + contributing: '貢獻', + donations: '贊助', + license: '使用許可' + }, + subtitles: { + bugReports: "使用 deemix 時,遇到了什麼問題嗎?歡迎回報錯誤!", + contributing: '您想替這個專案提出貢獻嗎?您可以透過許多不同的方式來幫忙!', + donations: '您想要捐款嗎?可以贊助我們!' + }, + usesLibrary: '本程式基於 deemix 函示庫。您可以使用該函示庫來製作自己的前端。', + thanks: `感謝 rtonnouhwotlollilol 對於本專案的貢獻,另外也感謝 BasCurtiz 幫忙製作本專案的圖示`, + upToDate: { + text: `您可於 Telegram 上關注{newsChannel}以取得最新動態。`, + newsChannel: '最新消息頻道' + }, + officialWebsite: '官方網站', + officialRepo: '官方函示版本庫', + officialWebuiRepo: '官方 WebUI 版本庫', + officialSubreddit: '官方 Subreddit', + newsChannel: '最新消息頻道', + questions: { + text: `如果您對本程式有疑問或問題,請先在{subreddit}上搜尋解決方案。如果找不到任何解決方法,則可以在我們的 subreddit 上發布與您問題相關的文章。`, + subreddit: ' subreddit ' + }, + beforeReporting: `在報告錯誤之前,請確保您正在運行最新版本的程式,並且要報告的內容真的是一個錯誤,而不僅是您自己遇到的問題。`, + beSure: `請確保您所想回報的錯誤可在其他台裝置上再現的,並且請勿回報已知錯誤。`, + duplicateReports: '請注意,重複的錯誤報告將被移除。', + dontOpenIssues: `請勿透過本版本庫的 Issues 問問題,我們開 subreddit 是有原因的。`, + newUI: { + text: `如果您精通 Python,則可以嘗試使用我們的函示庫來建立新的 UI,或者透過{repo}提出錯誤相關的 PR。`, + repo: '我們的版本庫' + }, + acceptFeatures: `我也歡迎你提交新的功能-但前提是這個功能不能過於複雜-過於複雜的功能,應被新增至程式內而非函示庫內。`, + otherLanguages: `如果您精通其他程式語言,你也可以嘗試將 deemix 移植到其他程式語言中!`, + understandingCode: `你需要幫助了解本專案的程式碼嗎?只需在 Telegram 或 Reddit 上按一下 RemixDev。`, + contributeWebUI: { + text: `如果你熟悉 Vue.js(JavaScript)、HTML 或 CSS,你也可以參與 {webui} 前端的貢獻。`, + webui: 'WebUI' + }, + itsFree: `記得,這是一個免費的專案在支持開發人員之前,應該先支持你喜歡的歌手或藝人。`, + notObligated: `別認為你有義務捐款,無論如何我們都感謝您!`, + lincensedUnder: { + text: `本作品使用 {gpl3} 許可授權。`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: '排行榜', + changeCountry: '改變國家', + download: '下載排行榜' + }, + errors: { + title: '{name} 的錯誤', + ids: { + invalidURL: '無法識別網址', + unsupportedURL: '尚不支持此網址', + ISRCnotOnDeezer: '無法在 Deezer 上使用單曲 ISRC', + notYourPrivatePlaylist: "您無法下載他人的私人播放清單。", + spotifyDisabled: 'Spotify 功能未正確設定。', + trackNotOnDeezer: '在 Deezer 上找不到此歌曲!', + albumNotOnDeezer: '在 Deezer 上找不到此專輯!', + notOnDeezer: '無法在 Deezer 上載入此歌曲!', + notEncoded: '本歌曲尚未編碼!', + notEncodedNoAlternative: '本歌曲尚未編碼,且無法找到其他替代歌曲!', + wrongBitrate: '找不到符合所設位元率的歌曲。', + wrongBitrateNoAlternative: '找不到符合所設位元率的歌曲,且無法找到其他替代歌曲!', + no360RA: '本歌曲並不支援 Reality Audio 360。', + notAvailable: "無法在 Deezer 伺服器載入此歌曲!", + notAvailableNoAlternative: "無法在 Deezer 伺服器載入此歌曲,且無法找到其他替代歌曲!", + noSpaceLeft: "本裝置可用空間已用盡!", + albumDoesntExists: "本歌曲的專輯不存在,無法取得資訊" + } + }, + favorites: { + title: '收藏', + noPlaylists: '尚未收藏任何播放清單', + noAlbums: '尚未收藏任何專輯', + noArtists: '尚未收藏任何藝人', + noTracks: '尚未收藏任何歌曲' + }, + home: { + needTologin: '您需要先登入 Deezer 帳戶,然後才能開始下載。', + openSettings: '開啟設定', + sections: { + popularPlaylists: '熱門播放清單', + popularAlbums: '熱門專輯' + } + }, + linkAnalyzer: { + info: '您可以透過此工具取得您所想下載的連結的相關資訊。', + useful: + "比如,當您所想下載的歌曲無法在您的國家播放,且您想知道哪些國家可以播放此歌曲時,您可使用此工具。", + linkNotSupported: '尚未支援此連結', + linkNotSupportedYet: '我們似乎尚未支援此連結,請改用其他連結。', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: '長度', + diskNumber: '光碟編號', + trackNumber: '歌曲編號', + releaseDate: '發布日期', + bpm: 'BPM', + label: '標籤', + recordType: '媒體類型', + genres: '類型', + tracklist: '歌曲清單' + } + }, + search: { + startSearching: '開始搜尋!', + description: + '您可以搜索歌曲名稱、專輯、藝人、播放清單...等等。您也可以直接貼上 Deezer 網址。', + fans: '{n} 個粉絲', + noResults: '無搜尋結果', + noResultsTrack: '找不到歌曲', + noResultsAlbum: '找不到專輯', + noResultsArtist: '找不到藝人', + noResultsPlaylist: '找不到播放清單' + }, + searchbar: '搜尋任何關鍵字(或貼上連結)', + downloads: '下載', + toasts: { + restoringQueue: '正在恢復下載清單...', + queueRestored: '下載清單已恢復!', + addedToQueue: '已新增 {item} 到下載清單中', + addedMoreToQueue: '已新增 {n} 個項目到下載清單中', + alreadyInQueue: '{item} 已在下載清單中!', + finishDownload: '{item} 已完成下載。', + allDownloaded: '全部下載完成!', + refreshFavs: '刷新完成!', + loggingIn: '登入中...', + loggedIn: '登入', + alreadyLogged: '已登入', + loginFailed: "無法登入", + loggedOut: '登出', + cancellingCurrentItem: '取消當前項目。', + currentItemCancelled: '當前項目已取消。', + startAddingArtist: '已新增 {artist} 個專輯到下載清單中', + finishAddingArtist: '已新增 {artist} 個專輯到下載清單中', + startConvertingSpotifyPlaylist: '將 Spotify 歌曲轉換為 Deezer 歌曲中', + finishConvertingSpotifyPlaylist: '已轉換 Spotify 播放清單', + loginNeededToDownload: '您需要登入才能下載歌曲!', + deezerNotAvailable: 'Deezer 在您所在的國家/地區無法使用。請您使用 VPN。', + startGeneratingItems: '生成 {n} 個項目中...', + finishGeneratingItems: '已生成 {n} 個項目.' + }, + settings: { + title: '設定', + languages: '語言', + login: { + title: '登入', + loggedIn: '目前以 {username} 的身份登入', + arl: { + question: '如何取得自己的 ARL?', + update: '更新 ARL' + }, + logout: '登出', + login: '透過 deezer.com 登入' + }, + appearance: { + title: '外觀', + slimDownloadTab: '薄型下載分頁', + slimSidebar: '薄型測欄' + }, + downloadPath: { + title: '下載目錄' + }, + templates: { + title: '檔案名稱格式', + tracknameTemplate: '單曲名稱格式', + albumTracknameTemplate: '專輯單曲名稱格式', + playlistTracknameTemplate: '播放清單單曲名稱格式' + }, + folders: { + title: '資料夾', + createPlaylistFolder: '替播放清單建立資料夾', + playlistNameTemplate: '播放清單資料夾名稱格式', + createArtistFolder: '替藝人建立資料夾', + artistNameTemplate: '藝人資料夾名稱格式', + createAlbumFolder: '替專輯建立資料夾', + albumNameTemplate: '專輯資料夾名稱格式', + createCDFolder: '替 CD 建立資料夾', + createStructurePlaylist: '建立播放清單資料夾結構', + createSingleFolder: '建立單曲資料夾結構' + }, + trackTitles: { + title: '單曲名稱', + padTracks: '歌曲數目字串填充', + paddingSize: '覆蓋數目字串填充長度', + illegalCharacterReplacer: '替換非法字元' + }, + downloads: { + title: '下載', + queueConcurrency: '並行下載', + maxBitrate: { + title: '偏好位元率', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: '是否要覆蓋檔案?', + y: '是,覆蓋檔案', + n: "否,請勿覆蓋檔案", + t: '僅覆蓋標籤', + b: '否,保留兩個檔案並在重複的檔名中加入一個數字', + e: "否,不顧慮附檔名" + }, + fallbackBitrate: '當偏好位元率無法下載時,下載其他版本', + fallbackSearch: '當搜尋結果無法使用時,使用其他搜尋結果', + logErrors: '記錄錯誤至日誌', + logSearched: '記錄搜尋歌曲至日誌', + createM3U8File: '建立播放清單檔案', + syncedLyrics: '建立 .lyr 檔案(同步歌詞)', + playlistFilenameTemplate: '播放清單檔名格式', + saveDownloadQueue: '關閉應用程式時,保存下載清單' + }, + covers: { + title: '專輯封面', + saveArtwork: '保存封面', + coverImageTemplate: '封面檔名格式', + saveArtworkArtist: '保存藝人照片', + artistImageTemplate: '藝人照片檔名格式', + localArtworkSize: '本地圖片大小', + embeddedArtworkSize: '嵌入圖片大小', + localArtworkFormat: { + title: '您希望本地圖片採用哪種格式?', + jpg: 'JPEG', + png: 'PNG', + both: 'JPEG 及 PNG' + }, + jpegImageQuality: 'JPEG 影像品質', + embeddedArtworkPNG: '將嵌入式圖片存為 PNG', + embeddedPNGWarning: 'Deezer 官方並不支援 PNG,結果可能有誤', + imageSizeWarning: 'Deezer 官方並不使用高於 x1200 的圖片,您可能會遇到問題', + coverDescriptionUTF8: '使用 UTF8 保存封面敘述(修正 iTunes 專輯封面)' + }, + tags: { + head: '要保存哪些標籤', + title: '標題', + artist: '藝人', + album: '專輯', + cover: '專輯封面', + trackNumber: '單曲編號', + trackTotal: '總計歌曲', + discNumber: '光碟編號', + discTotal: '光碟總數', + albumArtist: '專輯藝人', + genre: '類型', + year: '年', + date: '日期', + explicit: '不良歌詞', + isrc: 'ISRC', + length: '單曲長度', + barcode: '專輯條碼(UPC)', + bpm: 'BPM', + replayGain: '重播增益(Replay Gain)', + label: '專輯標籤', + lyrics: '不同步的歌詞', + syncedLyrics: '同步歌詞', + copyright: '版權', + composer: '作曲家', + involvedPeople: '相關藝人', + source: '來源歌曲 ID' + }, + other: { + title: '其他', + savePlaylistAsCompilation: '將播放清單儲存為合輯', + useNullSeparator: '使用空分隔符', + saveID3v1: '保存 ID3v1 標籤', + multiArtistSeparator: { + title: '如何隔開作者名稱?', + nothing: '僅保留主作者', + default: '使用標準規格', + andFeat: '使用 & 及 feat.', + using: '使用 "{separator}"' + }, + singleAlbumArtist: '僅儲存專輯主作者名稱', + albumVariousArtists: '於專輯作者欄位中保留「多位藝人 (Various Artists)」字樣', + removeAlbumVersion: '於單曲名稱中移除「專輯版本 (Album Version)」字樣', + removeDuplicateArtists: '移除重複的作者名稱', + dateFormat: { + title: 'FLAC 檔案日期格式', + year: 'YYYY', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: '如何處理客串藝人名稱 (如 feat. 等字樣) ?', + 0: '什麼都不做', + 1: '從標題中刪除', + 3: '從標題和專輯標題中刪除', + 2: '將其移至標題' + }, + titleCasing: '歌曲名稱大小寫', + artistCasing: '藝人名稱大小寫', + casing: { + nothing: '保持不變', + lower: '小寫', + upper: '大寫', + start: '字詞開頭大寫', + sentence: '句子大寫' + }, + previewVolume: '預覽音量', + executeCommand: { + title: '下載後執行指令', + description: '留空則不執行' + } + }, + spotify: { + title: 'Spotify 功能', + clientID: 'Spotify 客戶端 ID', + clientSecret: 'Spotify 客戶端密碼', + username: 'Spotify 用戶名', + question: '如何啟用 Spotify 功能?' + }, + reset: '重設至預設', + resetMessage: '你確定要重設所有設定嗎?', + save: '儲存', + toasts: { + init: '已載入設定!', + update: '已更新設定!', + reset: '已重設設定!', + ARLcopied: '已複製 ARL 到剪貼簿中' + } + }, + sidebar: { + home: '首頁', + search: '搜尋', + charts: '排行榜', + favorites: '收藏', + linkAnalyzer: '連結分析', + settings: '設定', + about: '關於' + }, + tracklist: { + downloadSelection: '下載所選' + } +}; + +const pl = { + globals: { + welcome: 'Witaj w deemix', + back: 'wróć', + loading: 'ładowanie', + download: 'Pobierz {thing}', + by: 'od {artist}', + in: 'w {album}', + download_hint: 'Pobierz', + play_hint: 'Odtwórz', + toggle_download_tab_hint: 'Rozszerz/Zwiń', + clean_queue_hint: 'Wyczyść ukończone', + cancel_queue_hint: 'Anuluj wszystkie', + open_downloads_folder: 'Otwórz pobrane', + cut: 'wytnij', + copy: 'kopiuj', + copyLink: 'kopiuj link', + copyImageLink: 'kopiuj link obrazu', + copyDeezerLink: 'kopiuj link deezera', + paste: 'wklej', + listTabs: { + empty: '', + all: 'wszystkie', + top_result: 'najlepszy wynik', + album: 'album | albumy', + artist: 'artysta | artyści', + single: 'singiel | single', + title: 'tytuł | tytuły', + track: 'utwór | utwory', + trackN: '0 utworów | {n} utwór | {n} utworów', + releaseN: '0 wydań | {n} wydanie | {n} wydań', + playlist: 'playlista | playlisty', + compile: 'kompilacja | kompilacje', + ep: 'ep | ep', + bundle: 'zestaw | zestawy', + more: 'Więcej albumów', + featured: 'Występuje w', + spotifyPlaylist: 'playlista spotify | playlisty spotify', + releaseDate: 'data wydania', + error: 'błąd' + } + }, + about: { + updates: { + currentVersion: 'Obecna wersja', + versionNotAvailable: 'N/A', + updateAvailable: `Nie masz najnowszej dostępnej wersji: {version}`, + deemixVersion: 'Wersja biblioteki deemix' + }, + titles: { + usefulLinks: 'Przydatne linki', + bugReports: 'Zgłoszenia błędów', + contributing: 'Wkład', + donations: 'Dotacje', + license: 'Licencja' + }, + subtitles: { + bugReports: "Czy deemix działa inaczej niż powinien? Powiedz nam!", + contributing: 'Chcesz pomóc w tym projekcie? Możesz to zrobić na wiele sposobów!', + donations: 'Chcesz pomóc finansowo? Możesz nas wesprzeć!' + }, + usesLibrary: 'Ten program używa biblioteki deemix, której możesz użyć do stworzenia własnego interfejsu użytkownika', + thanks: `Podziękowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.`, + upToDate: { + text: `Bądź na bieżąco z aktualizacjami dołączając do {newsChannel} na Telegramie.`, + newsChannel: 'kanału wiadomości' + }, + officialWebsite: 'Oficjalna strona', + officialRepo: 'Oficjalne repozytorium biblioteki', + officialWebuiRepo: 'Oficjalne repozytorium WebUI', + officialSubreddit: 'Oficjalny subreddit', + newsChannel: 'Kanał wiadomości', + questions: { + text: `Jeżeli masz pytania lub problemy związane z aplikacją, szukaj odpowiedzi na {subreddit}. Jeżeli niczego nie znajdziesz, stwórz post na subreddicie.`, + subreddit: 'subreddicie' + }, + beforeReporting: `Przed zgłaszaniem błędu upewnij się, że masz najnowszą wersje aplikacji i to, co chcesz zgłosić jest błędem, a nie usterką z twojej strony.`, + beSure: `Upewnij się, że błąd można odtworzyć na innych urządzeniach i NIE ZGŁASZAJ błędów, które zostały już zgłoszone`, + duplicateReports: 'Identyczne zgłoszenia błędów będą zamykane, więc zwróć na to uwagę.', + dontOpenIssues: `NIE OTWIERAJ zgłoszeń do zadawania pytań, od tego jest subreddit.`, + newUI: { + text: `Jeżeli dobrze znasz Pythona, możesz spróbować stworzyć nowy interfejs dla aplikacji używając bazowej biblioteki lub naprawiać błędy w bibliotece tworząc pull request w {repo}.`, + repo: 'repozytorium' + }, + acceptFeatures: `Przyjmuję nowe funkcje, ale nic złożonego, co mogłoby być zaimplementowane w aplikacji, a nie w bibliotece.`, + otherLanguages: `Jeżeli dobrze znasz inny język programowania, możesz spróbować przeportować deemix do innych języków!`, + understandingCode: `Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.`, + contributeWebUI: { + text: `Jeżeli znasz Vue.js (JavaScript), HTML lub CSS, możesz pomóc w {webui}.`, + webui: 'WebUI' + }, + itsFree: `Pamiętaj, że ten projekt jest darmowy i powinieneś wspierać artystów przed twórcami aplikacji.`, + notObligated: `Nie czuj potrzeby płacenia, i tak cię doceniam!`, + lincensedUnder: { + text: `Ten projekt jest chroniony licencją {gpl3}.`, + gpl3: 'GNU General Public License 3.0' + } + }, + charts: { + title: 'Wykresy', + changeCountry: 'Zmień kraj', + download: 'Pobierz wykres' + }, + errors: { + title: 'Błędy dla {name}', + ids: { + invalidURL: 'Nierozpoznany URL', + unsupportedURL: 'Niewspierany URL', + ISRCnotOnDeezer: 'ISRC nie jest dostępne na Deezerze', + notYourPrivatePlaylist: "Nie możesz pobierać czyichś prywatnych playlist.", + spotifyDisabled: 'Funkcje Spotify nie są poprawnie ustawione', + trackNotOnDeezer: 'Nie znaleziono utworu na Deezerze!', + albumNotOnDeezer: 'Nie znaleziono albumu na Deezerze!', + notOnDeezer: 'Utwór nie jest dostępny na Deezerze!', + notEncoded: 'Utwór nie jest jeszcze zakodowany!', + notEncodedNoAlternative: 'Utwór nie jest jeszcze zakodowany i nie można znaleźć alternatywy!', + wrongBitrate: 'Nie znaleziono utworu w wybranym bitrate.', + wrongBitrateNoAlternative: 'Nie znaleziono utworu w wybranym bitrate i nie mozna znaleźć alternatywy!', + no360RA: 'Utwór nie jest dostępny w Reality Audio 360.', + notAvailable: "Utwór nie jest dostępny na serwerach Deezera!", + notAvailableNoAlternative: "Utwór nie jest dostępny na serwerach Deezera i nie można znaleźć alternatywy!" + } + }, + favorites: { + title: 'Ulubione', + noPlaylists: 'Nie znaleziono playlist', + noAlbums: 'Nie znaleziono ulubionych albumów', + noArtists: 'Nie znaleziono ulubionych artystów', + noTracks: 'Nie znaleziono ulubonych utworów' + }, + home: { + needTologin: 'Musisz się zalogwać do konta na Deezerze zanim zaczniesz pobierać.', + openSettings: 'Otwórz ustawienia', + sections: { + popularPlaylists: 'Popularne playlisty', + popularAlbums: 'Najpopularniejsze albumy' + } + }, + linkAnalyzer: { + info: 'Możesz użyć tej sekcji, aby znaleźć więcej informacji o linku, który chcesz pobrać.', + useful: "Jest to przydatne na przykład gdy chcesz pobrać jakieś utwory, które nie są dostępne w twoim kraju i chcesz wiedzieć gdzie są dostępne.", + linkNotSupported: 'Ten link nie jest jeszcze wspierany', + linkNotSupportedYet: 'Wygląda na to, że ten link nie jest jeszcze wspierany. Spróbuj przeanalizować inny.', + table: { + id: 'ID', + isrc: 'ISRC', + upc: 'UPC', + duration: 'Czas', + diskNumber: 'Numer płyty', + trackNumber: 'Numer utworu', + releaseDate: 'Data wydania', + bpm: 'BPM', + label: 'Wytwórnia', + recordType: 'Rodzaj wydania', + genres: 'Gatunki', + tracklist: 'Lista utworów' + } + }, + search: { + startSearching: 'Zacznij szukać!', + description: 'Możesz wyszukać utwór, album, artystę, playlistę... wszystko! Możesz też wkleić link do Deezera', + fans: '{n} fanów', + noResults: 'Brak wyników', + noResultsTrack: 'Nie znaleziono utworów', + noResultsAlbum: 'Nie znaleziono albumów', + noResultsArtist: 'Nie znaleziono artystów', + noResultsPlaylist: 'Nie znaleziono playlist' + }, + searchbar: 'Szukaj czego chcesz (lub wklej link)', + downloads: 'pobrane', + toasts: { + restoringQueue: 'Przywracanie kolejki pobierania...', + queueRestored: 'Przywrócono kolejkę pobierania!', + addedToQueue: 'Dodano {item} do kolejki', + addedMoreToQueue: 'Dodano {n} przedmiotów do kolejki', + alreadyInQueue: '{item} jest już w kolejce!', + finishDownload: 'Ukończono pobieranie {item}.', + allDownloaded: 'Pobrano wszystkie!', + refreshFavs: 'Ukończono odświeżanie!', + loggingIn: 'Logowanie...', + loggedIn: 'Zalogowano', + alreadyLogged: 'Już zalogowano', + loginFailed: "Nie można zalogować", + loggedOut: 'Wylogowano', + cancellingCurrentItem: 'Anulowanie przedmiotu.', + currentItemCancelled: 'Anulowano przedmiot.', + startAddingArtist: 'Dodawanie {artist} albumów do kolejki', + finishAddingArtist: 'Dodano {artist} albumów do kolejki', + startConvertingSpotifyPlaylist: 'Konwertowanie utworów Spotify na Deezer', + finishConvertingSpotifyPlaylist: 'Przekonwertowano playlistę Spotify', + loginNeededToDownload: 'Musisz się zalogować, aby pobierać utwory!' + }, + settings: { + title: 'Ustawienia', + languages: 'Języki', + login: { + title: 'Logowanie', + loggedIn: 'Zalogowano jako {username}', + arl: { + question: 'Jak zdobyć swój własny ARL?', + update: 'Zakualizuj ARL' + }, + logout: 'Wyloguj', + login: 'Zaloguj przez deezer.com' + }, + appearance: { + title: 'Wygląd', + slimDownloadTab: 'Cienka karta pobranych' + }, + downloadPath: { + title: 'Ścieżka pobierania' + }, + templates: { + title: 'Szablony', + tracknameTemplate: 'Szablon utworu', + albumTracknameTemplate: 'Szablon utworu z albumu', + playlistTracknameTemplate: 'Szablon utworu z playlisy' + }, + folders: { + title: 'Foldery', + createPlaylistFolder: 'Utwórz foldery dla playlist', + playlistNameTemplate: 'Szablon folderu playlisty', + createArtistFolder: 'Utwórz foldery dla artystów', + artistNameTemplate: 'Szablon folderu artysty', + createAlbumFolder: 'Utwórz foldery dla albumów', + albumNameTemplate: 'Szablon folderu albumu', + createCDFolder: 'Utwórz foldery dla płyt', + createStructurePlaylist: 'Utwórz strukturę folderów dla playlist', + createSingleFolder: 'Utwórz strukturę folderów dla singli' + }, + trackTitles: { + title: 'Tytuły utworow', + padTracks: 'Wypchaj utwory', + paddingSize: 'Rozmiar wypchania', + illegalCharacterReplacer: 'Zamiennik niedozwolonych znaków' + }, + downloads: { + title: 'Pobrane', + queueConcurrency: 'Równoległe pobieranie', + maxBitrate: { + title: 'Bitrate', + 9: 'FLAC 1411kbps', + 3: 'MP3 320kbps', + 1: 'MP3 128kbps' + }, + overwriteFile: { + title: 'Nadpisywać pliki?', + y: 'Tak', + n: "Nie", + t: 'Tylko tagi', + b: 'Nie, dodaj numer do drugiego pliku', + e: 'Nie, nie patrz na rozszerzenia' + }, + fallbackBitrate: 'Rezerwowy bitrate', + fallbackSearch: 'Rezerwowe wyszukiwanie', + logErrors: 'Utwórz plik dziennika błędów', + logSearched: 'Utwórz plik dziennika wyszukiwanych utworów', + createM3U8File: 'Utwórz plik playlisty', + syncedLyrics: 'Utwórz plik .lyr (synchronizowany tekst)', + playlistFilenameTemplate: 'Szablon pliku playlisty', + saveDownloadQueue: 'Zapisz kolejkę pobierania przy zamykaniu aplikacji' + }, + covers: { + title: 'Okładki albumów', + saveArtwork: 'Zapisz okładki', + coverImageTemplate: 'Szablon nazwy okładki', + saveArtworkArtist: 'Zapisz zdjęcie artysty', + artistImageTemplate: 'Szablon zdjęcia artysty', + localArtworkSize: 'Rozmiar lokalnej okładki', + embeddedArtworkSize: 'Rozmiar osadzonej okładki', + localArtworkFormat: { + title: 'W jakim formacie ma zostać zapisana okładka?', + jpg: 'Plik JPEG', + png: 'Plik PNG', + both: 'Pliki JPEG i PNG' + }, + jpegImageQuality: 'Jakość JPEG', + embeddedArtworkPNG: 'Zapisz osadzoną okładkę jako PNG', + embeddedPNGWarning: 'PNG nie jest oficjalnie wspierane przez Deezer i może powodować błędy', + imageSizeWarning: 'Wszystko powyżej x1200 nie jest oficjalnie używane przez Deezera, więc mogą wystąpić problemy.' + }, + tags: { + head: 'Które tagi zapisać', + title: 'Tytuł', + artist: 'Artysta', + album: 'Album', + cover: 'Okładka', + trackNumber: 'Numer utworu', + trackTotal: 'Liczba utworów', + discNumber: 'Numer płyty', + discTotal: 'Liczba płyt', + albumArtist: 'Album Artist', + genre: 'Gatunek', + year: 'Rok', + date: 'Data', + explicit: 'Wulgarny tekst', + isrc: 'ISRC', + length: 'Długość', + barcode: 'Kod kreskowy albumu (UPC)', + bpm: 'BPM', + replayGain: 'Replay Gain', + label: 'Wytwórnia', + lyrics: 'Niezsynchronizowany tekst', + syncedLyrics: 'Zsynchronizowany tekst', + copyright: 'Prawa autorskie', + composer: 'Kompozytor', + involvedPeople: 'Zaangażowane osoby' + }, + other: { + title: 'Inne', + savePlaylistAsCompilation: 'Zapisz playlisty jako kompilacje', + useNullSeparator: 'Użyj separatora null', + saveID3v1: 'Zapisz ID3v1', + multiArtistSeparator: { + title: 'Jak oddzielić artystów?', + nothing: 'Zapisz tylko głównego artystę', + default: 'Standardowa specyfikacja', + andFeat: '& i feat.', + using: 'Używa "{separator}"' + }, + singleAlbumArtist: 'Zapisz tylko głównego autora albumu', + albumVariousArtists: 'Zostaw "Various Artists" w autorach albumu', + removeAlbumVersion: 'Usuń "Album Version" z tytułu utworu', + removeDuplicateArtists: 'Usuń kombinacje artystów', + dateFormat: { + title: 'Format daty dla plików FLAC', + year: 'YYYY', + month: 'MM', + day: 'DD' + }, + featuredToTitle: { + title: 'Co zrobić z dodatkowymi artystami?', + 0: 'Nic', + 1: 'Usuń z tytułu', + 3: 'Usuń z tytułu i tytułu albumu', + 2: 'Przenieś do tytułu' + }, + titleCasing: 'Rozmiar liter tytułu', + artistCasing: 'Rozmiar liter artysty', + casing: { + nothing: 'Zostaw', + lower: 'małe litery', + upper: 'DUŻE LITERY', + start: 'Na Początku Każdego Słowa', + sentence: 'Jak w zdaniu' + }, + previewVolume: 'Głośność podglądu', + executeCommand: { + title: 'Polecenie do wykonania po pobraniu', + description: 'Zostaw puste, aby nic nie robić' + } + }, + spotify: { + title: 'Funkcje Spotify', + clientID: 'Spotify ClientID', + clientSecret: 'Spotify Client Secret', + username: 'Nazwa użytkownika', + question: 'Jak włączyć funkcje Spotify?' + }, + reset: 'Przywróć domyślne', + save: 'Zapisz', + toasts: { + init: 'Załadowano ustawienia!', + update: 'Zaktualizowano ustawienia!', + ARLcopied: 'Skopiowano ARL do schowka' + } + }, + sidebar: { + home: 'strona główna', + search: 'szukaj', + charts: 'wykresy', + favorites: 'ulubione', + linkAnalyzer: 'analiza linków', + settings: 'ustawienia', + about: 'informacje' + }, + tracklist: { + downloadSelection: 'Pobierz wybrane' + } +}; + +const locales = { + it, + en, + es, + de, + fr, + id, + pt, + pt_br, + ru, + tr, + vn, + hr, + ar, + ko, + ph, + zh_tw, + pl +}; + +Vue.use(VueI18n); + +const storedLocale = localStorage.getItem('locale'); +const DEFAULT_LANG = storedLocale || 'en'; + +document.querySelector('html').setAttribute('lang', DEFAULT_LANG); + +const i18n = new VueI18n({ + locale: DEFAULT_LANG, + fallbackLocale: 'en', + messages: locales, + pluralizationRules: { + /** + * @param {number} choice A choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)` + * @param {number} choicesLength An overall amount of available choices + * @returns A final choice index to select plural word by + */ + ru: function(choice, choicesLength) { + var n = Math.abs(choice) % 100; + var n1 = n % 10; + + if (n > 10 && n < 20) { + return 2 + } + + if (n1 > 1 && n1 < 5) { + return 1 + } + + if (n1 == 1) { + return 0 + } + + return 2 + } + } +}); + +/*! + * vue-router v3.4.9 + * (c) 2020 Evan You * @license MIT - */function extend$2(e,a){for(var n in a)e[n]=a[n];return e}var encodeReserveRE=/[!'()*]/g,encodeReserveReplacer=function(e){return"%"+e.charCodeAt(0).toString(16)},commaRE=/%2C/g,encode=function(e){return encodeURIComponent(e).replace(encodeReserveRE,encodeReserveReplacer).replace(commaRE,",")};function decode(e){try{return decodeURIComponent(e)}catch(a){}return e}function resolveQuery(e,a,n){a===void 0&&(a={});var i=n||parseQuery,r;try{r=i(e||"")}catch(l){r={}}for(var s in a){var o=a[s];r[s]=Array.isArray(o)?o.map(castQueryParamValue):castQueryParamValue(o)}return r}var castQueryParamValue=function(e){return e==null||typeof e=="object"?e:String(e)};function parseQuery(e){var a={};return e=e.trim().replace(/^(\?|#|&)/,""),e&&e.split("&").forEach(function(n){var i=n.replace(/\+/g," ").split("="),r=decode(i.shift()),s=i.length>0?decode(i.join("=")):null;a[r]===void 0?a[r]=s:Array.isArray(a[r])?a[r].push(s):a[r]=[a[r],s]}),a}function stringifyQuery(e){var a=e?Object.keys(e).map(function(n){var i=e[n];if(i===void 0)return"";if(i===null)return encode(n);if(Array.isArray(i)){var r=[];return i.forEach(function(s){s!==void 0&&(s===null?r.push(encode(n)):r.push(encode(n)+"="+encode(s)))}),r.join("&")}return encode(n)+"="+encode(i)}).filter(function(n){return n.length>0}).join("&"):null;return a?"?"+a:""}var trailingSlashRE=/\/?$/;function createRoute(e,a,n,i){var r=i&&i.options.stringifyQuery,s=a.query||{};try{s=clone(s)}catch(l){}var o={name:a.name||e&&e.name,meta:e&&e.meta||{},path:a.path||"/",hash:a.hash||"",query:s,params:a.params||{},fullPath:getFullPath(a,r),matched:e?formatMatch(e):[]};return n&&(o.redirectedFrom=getFullPath(n,r)),Object.freeze(o)}function clone(e){if(Array.isArray(e))return e.map(clone);if(e&&typeof e=="object"){var a={};for(var n in e)a[n]=clone(e[n]);return a}else return e}var START=createRoute(null,{path:"/"});function formatMatch(e){for(var a=[];e;)a.unshift(e),e=e.parent;return a}function getFullPath(e,a){var n=e.path,i=e.query;i===void 0&&(i={});var r=e.hash;r===void 0&&(r="");var s=a||stringifyQuery;return(n||"/")+s(i)+r}function isSameRoute(e,a,n){return a===START?e===a:a?e.path&&a.path?e.path.replace(trailingSlashRE,"")===a.path.replace(trailingSlashRE,"")&&(n||e.hash===a.hash&&isObjectEqual(e.query,a.query)):e.name&&a.name?e.name===a.name&&(n||e.hash===a.hash&&isObjectEqual(e.query,a.query)&&isObjectEqual(e.params,a.params)):!1:!1}function isObjectEqual(e,a){if(e===void 0&&(e={}),a===void 0&&(a={}),!e||!a)return e===a;var n=Object.keys(e).sort(),i=Object.keys(a).sort();return n.length!==i.length?!1:n.every(function(r,s){var o=e[r],l=i[s];if(l!==r)return!1;var c=a[r];return o==null||c==null?o===c:typeof o=="object"&&typeof c=="object"?isObjectEqual(o,c):String(o)===String(c)})}function isIncludedRoute(e,a){return e.path.replace(trailingSlashRE,"/").indexOf(a.path.replace(trailingSlashRE,"/"))===0&&(!a.hash||e.hash===a.hash)&&queryIncludes(e.query,a.query)}function queryIncludes(e,a){for(var n in a)if(!(n in e))return!1;return!0}function handleRouteEntered(e){for(var a=0;a=0&&(a=e.slice(i),e=e.slice(0,i));var r=e.indexOf("?");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{path:e,query:n,hash:a}}function cleanPath(e){return e.replace(/\/\//g,"/")}var isarray=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"},pathToRegexp_1=pathToRegexp,parse_1=parse$2,compile_1=compile$1,tokensToFunction_1=tokensToFunction,tokensToRegExp_1=tokensToRegExp,PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$2(e,a){for(var n=[],i=0,r=0,s="",o=a&&a.delimiter||"/",l;(l=PATH_REGEXP.exec(e))!=null;){var c=l[0],u=l[1],d=l.index;if(s+=e.slice(r,d),r=d+c.length,u){s+=u[1];continue}var f=e[r],h=l[2],m=l[3],v=l[4],y=l[5],_=l[6],w=l[7];s&&(n.push(s),s="");var A=h!=null&&f!=null&&f!==h,S=_==="+"||_==="*",M=_==="?"||_==="*",P=l[2]||o,z=v||y;n.push({name:m||i++,prefix:h||"",delimiter:P,optional:M,repeat:S,partial:A,asterisk:!!w,pattern:z?escapeGroup(z):w?".*":"[^"+escapeString(P)+"]+?"})}return r1||!P.length)return P.length===0?a():a("span",{},P)}if(this.tag==="a")M.on=S,M.attrs={href:c,"aria-current":w};else{var z=findAnchor(this.$slots.default);if(z){z.isStatic=!1;var C=z.data=extend$2({},z.data);C.on=C.on||{};for(var N in C.on){var j=C.on[N];N in S&&(C.on[N]=Array.isArray(j)?j:[j])}for(var E in S)E in C.on?C.on[E].push(S[E]):C.on[E]=A;var R=z.data.attrs=extend$2({},z.data.attrs);R.href=c,R["aria-current"]=w}else M.on=S}return a(this.tag,M,this.$slots.default)}};function guardEvent(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){var a=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(a))return}return e.preventDefault&&e.preventDefault(),!0}}function findAnchor(e){if(e){for(var a,n=0;n-1&&(_.params[M]=v.params[M]);return _.path=fillParams(A.path,_.params),h(A,_,y)}else if(_.path){_.params={};for(var P=0;P=e.length?n():e[r]?a(e[r],function(){i(r+1)}):i(r+1)};i(0)}var NavigationFailureType={redirected:2,aborted:4,cancelled:8,duplicated:16};function createNavigationRedirectedError(e,a){return createRouterError(e,a,NavigationFailureType.redirected,'Redirected when going from "'+e.fullPath+'" to "'+stringifyRoute(a)+'" via a navigation guard.')}function createNavigationDuplicatedError(e,a){var n=createRouterError(e,a,NavigationFailureType.duplicated,'Avoided redundant navigation to current location: "'+e.fullPath+'".');return n.name="NavigationDuplicated",n}function createNavigationCancelledError(e,a){return createRouterError(e,a,NavigationFailureType.cancelled,'Navigation cancelled from "'+e.fullPath+'" to "'+a.fullPath+'" with a new navigation.')}function createNavigationAbortedError(e,a){return createRouterError(e,a,NavigationFailureType.aborted,'Navigation aborted from "'+e.fullPath+'" to "'+a.fullPath+'" via a navigation guard.')}function createRouterError(e,a,n,i){var r=new Error(i);return r._isRouter=!0,r.from=e,r.to=a,r.type=n,r}var propertiesToLog=["params","query","hash"];function stringifyRoute(e){if(typeof e=="string")return e;if("path"in e)return e.path;var a={};return propertiesToLog.forEach(function(n){n in e&&(a[n]=e[n])}),JSON.stringify(a,null,2)}function isError(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function isNavigationFailure(e,a){return isError(e)&&e._isRouter&&(a==null||e.type===a)}function resolveAsyncComponents(e){return function(a,n,i){var r=!1,s=0,o=null;flatMapComponents(e,function(l,c,u,d){if(typeof l=="function"&&l.cid===void 0){r=!0,s++;var f=once$1(function(y){isESModule(y)&&(y=y.default),l.resolved=typeof y=="function"?y:_Vue.extend(y),u.components[d]=y,s--,s<=0&&i()}),h=once$1(function(y){var _="Failed to resolve async component "+d+": "+y;o||(o=isError(y)?y:new Error(_),i(o))}),m;try{m=l(f,h)}catch(y){h(y)}if(m)if(typeof m.then=="function")m.then(f,h);else{var v=m.component;v&&typeof v.then=="function"&&v.then(f,h)}}}),r||i()}}function flatMapComponents(e,a){return flatten(e.map(function(n){return Object.keys(n.components).map(function(i){return a(n.components[i],n.instances[i],n,i)})}))}function flatten(e){return Array.prototype.concat.apply([],e)}var hasSymbol$2=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function isESModule(e){return e.__esModule||hasSymbol$2&&e[Symbol.toStringTag]==="Module"}function once$1(e){var a=!1;return function(){for(var n=[],i=arguments.length;i--;)n[i]=arguments[i];if(!a)return a=!0,e.apply(this,n)}}var History=function(a,n){this.router=a,this.base=normalizeBase(n),this.current=START,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};History.prototype.listen=function(a){this.cb=a},History.prototype.onReady=function(a,n){this.ready?a():(this.readyCbs.push(a),n&&this.readyErrorCbs.push(n))},History.prototype.onError=function(a){this.errorCbs.push(a)},History.prototype.transitionTo=function(a,n,i){var r=this,s;try{s=this.router.match(a,this.current)}catch(l){throw this.errorCbs.forEach(function(c){c(l)}),l}var o=this.current;this.confirmTransition(s,function(){r.updateRoute(s),n&&n(s),r.ensureURL(),r.router.afterHooks.forEach(function(l){l&&l(s,o)}),r.ready||(r.ready=!0,r.readyCbs.forEach(function(l){l(s)}))},function(l){i&&i(l),l&&!r.ready&&(!isNavigationFailure(l,NavigationFailureType.redirected)||o!==START)&&(r.ready=!0,r.readyErrorCbs.forEach(function(c){c(l)}))})},History.prototype.confirmTransition=function(a,n,i){var r=this,s=this.current;this.pending=a;var o=function(y){!isNavigationFailure(y)&&isError(y)&&(r.errorCbs.length?r.errorCbs.forEach(function(_){_(y)}):console.error(y)),i&&i(y)},l=a.matched.length-1,c=s.matched.length-1;if(isSameRoute(a,s)&&l===c&&a.matched[l]===s.matched[c])return this.ensureURL(),o(createNavigationDuplicatedError(s,a));var u=resolveQueue(this.current.matched,a.matched),d=u.updated,f=u.deactivated,h=u.activated,m=[].concat(extractLeaveGuards(f),this.router.beforeHooks,extractUpdateHooks(d),h.map(function(y){return y.beforeEnter}),resolveAsyncComponents(h)),v=function(y,_){if(r.pending!==a)return o(createNavigationCancelledError(s,a));try{y(a,s,function(w){w===!1?(r.ensureURL(!0),o(createNavigationAbortedError(s,a))):isError(w)?(r.ensureURL(!0),o(w)):typeof w=="string"||typeof w=="object"&&(typeof w.path=="string"||typeof w.name=="string")?(o(createNavigationRedirectedError(s,a)),typeof w=="object"&&w.replace?r.replace(w):r.push(w)):_(w)})}catch(w){o(w)}};runQueue(m,v,function(){var y=extractEnterGuards(h),_=y.concat(r.router.resolveHooks);runQueue(_,v,function(){if(r.pending!==a)return o(createNavigationCancelledError(s,a));r.pending=null,n(a),r.router.app&&r.router.app.$nextTick(function(){handleRouteEntered(a)})})})},History.prototype.updateRoute=function(a){this.current=a,this.cb&&this.cb(a)},History.prototype.setupListeners=function(){},History.prototype.teardown=function(){this.listeners.forEach(function(a){a()}),this.listeners=[],this.current=START,this.pending=null};function normalizeBase(e){if(!e)if(inBrowser$1){var a=document.querySelector("base");e=a&&a.getAttribute("href")||"/",e=e.replace(/^https?:\/\/[^\/]+/,"")}else e="/";return e.charAt(0)!=="/"&&(e="/"+e),e.replace(/\/$/,"")}function resolveQueue(e,a){var n,i=Math.max(e.length,a.length);for(n=0;n0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var c=i.current,u=getLocation(i.base);i.current===START&&u===i._startLocation||i.transitionTo(u,function(d){o&&handleScroll(r,d,c,!0)})};window.addEventListener("popstate",l),this.listeners.push(function(){window.removeEventListener("popstate",l)})}},a.prototype.go=function(i){window.history.go(i)},a.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceState(cleanPath(o.base+u.fullPath)),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.ensureURL=function(i){if(getLocation(this.base)!==this.current.fullPath){var r=cleanPath(this.base+this.current.fullPath);i?pushState(r):replaceState(r)}},a.prototype.getCurrentLocation=function(){return getLocation(this.base)},a}(History);function getLocation(e){var a=window.location.pathname;return e&&a.toLowerCase().indexOf(e.toLowerCase())===0&&(a=a.slice(e.length)),(a||"/")+window.location.search+window.location.hash}var HashHistory=function(e){function a(n,i,r){e.call(this,n,i),!(r&&checkFallback(this.base))&&ensureSlash()}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.setupListeners=function(){var i=this;if(!(this.listeners.length>0)){var r=this.router,s=r.options.scrollBehavior,o=supportsPushState&&s;o&&this.listeners.push(setupScroll());var l=function(){var u=i.current;!ensureSlash()||i.transitionTo(getHash(),function(d){o&&handleScroll(i.router,d,u,!0),supportsPushState||replaceHash(d.fullPath)})},c=supportsPushState?"popstate":"hashchange";window.addEventListener(c,l),this.listeners.push(function(){window.removeEventListener(c,l)})}},a.prototype.push=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){pushHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.replace=function(i,r,s){var o=this,l=this,c=l.current;this.transitionTo(i,function(u){replaceHash(u.fullPath),handleScroll(o.router,u,c,!1),r&&r(u)},s)},a.prototype.go=function(i){window.history.go(i)},a.prototype.ensureURL=function(i){var r=this.current.fullPath;getHash()!==r&&(i?pushHash(r):replaceHash(r))},a.prototype.getCurrentLocation=function(){return getHash()},a}(History);function checkFallback(e){var a=getLocation(e);if(!/^\/#/.test(a))return window.location.replace(cleanPath(e+"/#"+a)),!0}function ensureSlash(){var e=getHash();return e.charAt(0)==="/"?!0:(replaceHash("/"+e),!1)}function getHash(){var e=window.location.href,a=e.indexOf("#");return a<0?"":(e=e.slice(a+1),e)}function getUrl(e){var a=window.location.href,n=a.indexOf("#"),i=n>=0?a.slice(0,n):a;return i+"#"+e}function pushHash(e){supportsPushState?pushState(getUrl(e)):window.location.hash=e}function replaceHash(e){supportsPushState?replaceState(getUrl(e)):window.location.replace(getUrl(e))}var AbstractHistory=function(e){function a(n,i){e.call(this,n,i),this.stack=[],this.index=-1}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.push=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index+1).concat(l),o.index++,r&&r(l)},s)},a.prototype.replace=function(i,r,s){var o=this;this.transitionTo(i,function(l){o.stack=o.stack.slice(0,o.index).concat(l),r&&r(l)},s)},a.prototype.go=function(i){var r=this,s=this.index+i;if(!(s<0||s>=this.stack.length)){var o=this.stack[s];this.confirmTransition(o,function(){var l=r.current;r.index=s,r.updateRoute(o),r.router.afterHooks.forEach(function(c){c&&c(o,l)})},function(l){isNavigationFailure(l,NavigationFailureType.duplicated)&&(r.index=s)})}},a.prototype.getCurrentLocation=function(){var i=this.stack[this.stack.length-1];return i?i.fullPath:"/"},a.prototype.ensureURL=function(){},a}(History),VueRouter=function(a){a===void 0&&(a={}),this.app=null,this.apps=[],this.options=a,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=createMatcher(a.routes||[],this);var n=a.mode||"hash";switch(this.fallback=n==="history"&&!supportsPushState&&a.fallback!==!1,this.fallback&&(n="hash"),inBrowser$1||(n="abstract"),this.mode=n,n){case"history":this.history=new HTML5History(this,a.base);break;case"hash":this.history=new HashHistory(this,a.base,this.fallback);break;case"abstract":this.history=new AbstractHistory(this,a.base);break}},prototypeAccessors$3={currentRoute:{configurable:!0}};VueRouter.prototype.match=function(a,n,i){return this.matcher.match(a,n,i)},prototypeAccessors$3.currentRoute.get=function(){return this.history&&this.history.current},VueRouter.prototype.init=function(a){var n=this;if(this.apps.push(a),a.$once("hook:destroyed",function(){var o=n.apps.indexOf(a);o>-1&&n.apps.splice(o,1),n.app===a&&(n.app=n.apps[0]||null),n.app||n.history.teardown()}),!this.app){this.app=a;var i=this.history;if(i instanceof HTML5History||i instanceof HashHistory){var r=function(o){var l=i.current,c=n.options.scrollBehavior,u=supportsPushState&&c;u&&"fullPath"in o&&handleScroll(n,o,l,!1)},s=function(o){i.setupListeners(),r(o)};i.transitionTo(i.getCurrentLocation(),s,s)}i.listen(function(o){n.apps.forEach(function(l){l._route=o})})}},VueRouter.prototype.beforeEach=function(a){return registerHook(this.beforeHooks,a)},VueRouter.prototype.beforeResolve=function(a){return registerHook(this.resolveHooks,a)},VueRouter.prototype.afterEach=function(a){return registerHook(this.afterHooks,a)},VueRouter.prototype.onReady=function(a,n){this.history.onReady(a,n)},VueRouter.prototype.onError=function(a){this.history.onError(a)},VueRouter.prototype.push=function(a,n,i){var r=this;if(!n&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.push(a,s,o)});this.history.push(a,n,i)},VueRouter.prototype.replace=function(a,n,i){var r=this;if(!n&&!i&&typeof Promise!="undefined")return new Promise(function(s,o){r.history.replace(a,s,o)});this.history.replace(a,n,i)},VueRouter.prototype.go=function(a){this.history.go(a)},VueRouter.prototype.back=function(){this.go(-1)},VueRouter.prototype.forward=function(){this.go(1)},VueRouter.prototype.getMatchedComponents=function(a){var n=a?a.matched?a:this.resolve(a).route:this.currentRoute;return n?[].concat.apply([],n.matched.map(function(i){return Object.keys(i.components).map(function(r){return i.components[r]})})):[]},VueRouter.prototype.resolve=function(a,n,i){n=n||this.history.current;var r=normalizeLocation(a,n,i,this),s=this.match(r,n),o=s.redirectedFrom||s.fullPath,l=this.history.base,c=createHref(l,o,this.mode);return{location:r,route:s,href:c,normalizedTo:r,resolved:s}},VueRouter.prototype.getRoutes=function(){return this.matcher.getRoutes()},VueRouter.prototype.addRoute=function(a,n){this.matcher.addRoute(a,n),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},VueRouter.prototype.addRoutes=function(a){this.matcher.addRoutes(a),this.history.current!==START&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(VueRouter.prototype,prototypeAccessors$3);function registerHook(e,a){return e.push(a),function(){var n=e.indexOf(a);n>-1&&e.splice(n,1)}}function createHref(e,a,n){var i=n==="hash"?"#"+a:a;return e?cleanPath(e+"/"+i):i}VueRouter.install=install$3,VueRouter.version="3.5.1",VueRouter.isNavigationFailure=isNavigationFailure,VueRouter.NavigationFailureType=NavigationFailureType,VueRouter.START_LOCATION=START,inBrowser$1&&window.Vue&&window.Vue.use(VueRouter);var script$9={};const __vue_script__$9=script$9;var __vue_render__$b=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.login.arl.question")))]),e._v(" "),e._m(0),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome (Easy way)")]),e._v(" "),e._m(1),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome")]),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("h3",{staticClass:"mt-6 text-3xl"},[e._v("Firefox")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$b=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Deezer keeps track of login session by using a cookie called ARL.`),n("br"),e._v(` - deemix uses that cookie to get the metadata that it needs to download the tracks from Deezer.`),n("br"),e._v(` - ARLs last for 3 months, after that Deezer asks you to log in again. The same method is used in deemix`),n("br"),e._v(` - Following one of the guides below you can get your own account ARL. - `)])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v('Click on the little "lock" icon next the URL')]),e._v(" "),n("li",[e._v("Click on Cookies > deezer.com > cookies > arl")]),e._v(" "),n("li",[e._v("Select the string next to Content, and Copy")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Chrome")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("After logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Application tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long) ")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Here's a "),n("a",{attrs:{href:"https://youtu.be/O6PRT47_yds",target:"_blank"}},[e._v("video guide")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ul",{staticClass:"mb-2 text-base"},[n("li",[e._v("Open Firefox")]),e._v(" "),n("li",[e._v("Go to www.deezer.com and log into your account")]),e._v(" "),n("li",[e._v("Afer logging in press F12 to open up Developer Tools")]),e._v(" "),n("li",[e._v("Go under the Storage tab (if you don't see it click the double arrow)")]),e._v(" "),n("li",[e._v("Open the cookie dropdown")]),e._v(" "),n("li",[e._v("Select www.deezer.com")]),e._v(" "),n("li",[e._v("Find the `arl` cookie (It should be 192 chars long)")]),e._v(" "),n("li",[e._v("Make sure only copy the value and not the entire cookie")]),e._v(" "),n("li",[e._v("That's your ARL, now you can use it in the app")])])}];const __vue_inject_styles__$b=void 0,__vue_scope_id__$b=void 0,__vue_module_identifier__$b=void 0,__vue_is_functional_template__$b=!1;var InfoArl=normalizeComponent_1({render:__vue_render__$b,staticRenderFns:__vue_staticRenderFns__$b},__vue_inject_styles__$b,__vue_script__$9,__vue_scope_id__$b,__vue_is_functional_template__$b,__vue_module_identifier__$b,void 0,void 0),script$a={};const __vue_script__$a=script$a;var __vue_render__$c=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.spotify.question")))]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v(` - "Spotify Features" is a set of features that lets you convert Spotify tracks and albums links into Deezer ones. - If you provide a Spotify Playlist link the app will autmatically convert all the links of the tracks inside it into deezer tracks. - Enabling this set of features will let you see your public Spotify playlists in the favorites tab as well. - `)]),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("For security reasons you will need to provide your own Client ID and Secret")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Client ID and Secret?")]),e._v(" "),e._m(0),e._v(" "),e._m(1),e._v(" "),e._m(2),e._v(" "),e._m(3),e._v(" "),n("p",{staticClass:"mb-2 text-base"},[e._v("Now you can copy-paste those results in the appropriate fields in the settings.")]),e._v(" "),n("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Spotify Username?")]),e._v(" "),e._m(4)])},__vue_staticRenderFns__$c=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("Connect to "),n("a",{attrs:{href:"https://developer.spotify.com/dashboard",target:"_blank"}},[e._v("Spotify for Developers's Dashboard")]),e._v(" and login with your Spotify account.")])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Click on "Create an App".`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/YFz7rHj.png",alt:"Create an App button on Spotify for Developers's Dashboard"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Fill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/A9cvDkK.png",alt:"Create an app form"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v(` - Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.`),n("br"),e._v(" "),n("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("p",{staticClass:"mb-2 text-base"},[e._v("You can get your Spotify Username from the "),n("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(".")])}];const __vue_inject_styles__$c=void 0,__vue_scope_id__$c=void 0,__vue_module_identifier__$c=void 0,__vue_is_functional_template__$c=!1;var InfoSpotifyFeatures=normalizeComponent_1({render:__vue_render__$c,staticRenderFns:__vue_staticRenderFns__$c},__vue_inject_styles__$c,__vue_script__$a,__vue_scope_id__$c,__vue_is_functional_template__$c,__vue_module_identifier__$c,void 0,void 0),freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var a=hasOwnProperty$2.call(e,symToStringTag),n=e[symToStringTag];try{e[symToStringTag]=void 0;var i=!0}catch(s){}var r=nativeObjectToString.call(e);return i&&(a?e[symToStringTag]=n:delete e[symToStringTag]),r}var objectProto$1=Object.prototype,nativeObjectToString$1=objectProto$1.toString;function objectToString(e){return nativeObjectToString$1.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return e==null?e===void 0?undefinedTag:nullTag:symToStringTag$1&&symToStringTag$1 in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return e!=null&&typeof e=="object"}var symbolTag="[object Symbol]";function isSymbol(e){return typeof e=="symbol"||isObjectLike(e)&&baseGetTag(e)==symbolTag}function arrayMap(e,a){for(var n=-1,i=e==null?0:e.length,r=Array(i);++n-1}var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,a){var n=typeof e;return a=a??MAX_SAFE_INTEGER,!!a&&(n=="number"||n!="symbol"&&reIsUint.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}function isArrayLike(e){return e!=null&&isLength(e.length)&&!isFunction$2(e)}var objectProto$3=Object.prototype;function isPrototype(e){var a=e&&e.constructor,n=typeof a=="function"&&a.prototype||objectProto$3;return e===n}function baseTimes(e,a){for(var n=-1,i=Array(e);++n-1}function listCacheSet(e,a){var n=this.__data__,i=assocIndexOf(n,e);return i<0?(++this.size,n.push([e,a])):n[i][1]=a,this}function ListCache(e){var a=-1,n=e==null?0:e.length;for(this.clear();++al))return!1;var u=s.get(e),d=s.get(a);if(u&&d)return u==a&&d==e;var f=-1,h=!0,m=n&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(s.set(e,a),s.set(a,e);++f=a||C<0||f&&N>=s}function w(){var z=now();if(_(z))return A(z);l=setTimeout(w,y(z))}function A(z){return l=void 0,h&&i?m(z):(i=r=void 0,o)}function S(){l!==void 0&&clearTimeout(l),u=0,i=c=r=l=void 0}function M(){return l===void 0?o:A(now())}function P(){var z=now(),C=_(z);if(i=arguments,r=this,c=z,C){if(l===void 0)return v(c);if(f)return clearTimeout(l),l=setTimeout(w,a),m(c)}return l===void 0&&(l=setTimeout(w,a)),o}return P.cancel=S,P.flush=M,P}function arrayIncludesWith(e,a,n){for(var i=-1,r=e==null?0:e.length;++ia||s&&o&&c&&!l&&!u||i&&o&&c||!n&&c||!r)return 1;if(!i&&!s&&!u&&e=l)return c;var u=n[i];return c*(u=="desc"?-1:1)}}return e.index-a.index}function baseOrderBy(e,a,n){a.length?a=arrayMap(a,function(s){return isArray$2(s)?function(o){return baseGet(o,s.length===1?s[0]:s)}:s}):a=[identity$1];var i=-1;a=arrayMap(a,baseUnary(baseIteratee));var r=baseMap(e,function(s,o,l){var c=arrayMap(a,function(u){return u(s)});return{criteria:c,index:++i,value:s}});return baseSortBy(r,function(s,o){return compareMultiple(s,o,n)})}function orderBy(e,a,n,i){return e==null?[]:(isArray$2(a)||(a=a==null?[]:[a]),n=i?void 0:n,isArray$2(n)||(n=n==null?[]:[n]),baseOrderBy(e,a,n))}var INFINITY$2=1/0,createSet=Set$1&&1/setToArray(new Set$1([,-0]))[1]==INFINITY$2?function(e){return new Set$1(e)}:noop$2,LARGE_ARRAY_SIZE$1=200;function baseUniq(e,a,n){var i=-1,r=arrayIncludes,s=e.length,o=!0,l=[],c=l;if(n)o=!1,r=arrayIncludesWith;else if(s>=LARGE_ARRAY_SIZE$1){var u=a?null:createSet(e);if(u)return setToArray(u);o=!1,r=cacheHas,c=new SetCache}else c=a?[]:l;e:for(;++i{socket.on("show_artist",i=>{socket.off("show_artist"),a(i)})})}function standardizeData(e,a){if(e.hasLoaded){const{data:n}=e,i=[];for(const r of n){let s=a(r);i.push(s)}return{data:i,hasLoaded:e.hasLoaded}}else return null}var script$b=defineComponent({components:{BaseTabs,BaseTab},setup(e,a){const n=reactive({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:computed(()=>n.artistReleases[n.currentTab])}),i=computed(()=>a.root.$router.currentRoute.params.id),r=ref$2(!1);getArtistData(unref(i)).then(o=>{r.value=!0;const l={data:[o],hasLoaded:unref(r)},{data:[{artistName:c,artistPictureXL:u,artistReleases:d}]}=standardizeData(l,formatArtistData);Object.assign(n,{artistName:c,artistPicture:u,artistReleases:d,currentTab:Object.keys(d)[0]})}).catch(o=>console.error(o));const s=computed(()=>{if(!unref(r))return[];let o=n.sortKey;return o==="releaseTracksNumber"&&(o=l=>new Number(l.releaseTracksNumber)),orderBy(n.currentRelease,o,n.sortOrder)});return{...toRefs(n),downloadLink:computed(()=>`https://www.deezer.com/artist/${unref(i)}`),headerStyle:computed(()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${n.artistPicture})`})),sortedData:s,sendAddToQueue,checkNewRelease}},data(){const e=this.$t.bind(this),a=this.$tc.bind(this);return{head:[{title:a("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:a("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder=this.sortOrder==="asc"?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}});const __vue_script__$b=script$b;var __vue_render__$d=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"relative image-header"},[n("header",{staticClass:"flex items-center",style:e.headerStyle},[n("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(i){return i.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("BaseTabs",e._l(e.artistReleases,function(i,r){return n("BaseTab",{key:r,class:{active:e.currentTab===r},on:{click:function(s){e.currentTab=r}}},[e._v(` - `+e._s(e.$tc("globals.listTabs."+r,2))+` - `)])}),1),e._v(" "),n("table",{staticClass:"table"},[n("thead",[n("tr",e._l(e.head,function(i){return n("th",{key:i.title,staticClass:"uppercase-first-letter",class:{"sort-asc":i.sortKey===e.sortKey&&e.sortOrder=="asc","sort-desc":i.sortKey===e.sortKey&&e.sortOrder=="desc",sortable:i.sortKey,clickable:i.sortKey},style:{width:i.width?i.width:"auto"},on:{click:function(r){i.sortKey&&e.sortBy(i.sortKey)}}},[e._v(` - `+e._s(i.title)+` - `)])}),0)]),e._v(" "),n("tbody",e._l(e.sortedData,function(i){return n("tr",{key:i.releaseID},[n("RouterLink",{staticClass:"flex items-center clickable",attrs:{tag:"td","data-cm-link":i.releaseLink,to:{name:"Album",params:{id:i.releaseID}}}},[n("img",{staticClass:"mr-4 rounded coverart",staticStyle:{width:"56px",height:"56px"},attrs:{src:i.releaseCover}}),e._v(" "),i.isReleaseExplicit?n("i",{staticClass:"material-icons title-icon title-icon--explicit"},[e._v("explicit")]):e._e(),e._v(" "),n("div",[n("span",{staticClass:"flex hover:text-primary"},[e._v(` - `+e._s(i.releaseTitle)+` - `),e.checkNewRelease(i.releaseDate)?n("i",{staticClass:"material-icons title-icon title-icon--right title-icon--new"},[e._v(` - fiber_new - `)]):e._e()]),e._v(" "),n("span",{directives:[{name:"show",rawName:"v-show",value:e.currentTab==="all",expression:"currentTab === 'all'"}],staticClass:"block text-xs opacity-50 uppercase-first-letter"},[e._v(` - `+e._s(e.$tc("globals.listTabs."+i.releaseType))+` - `)])])]),e._v(" "),n("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(i.releaseDate))]),e._v(" "),n("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(i.releaseTracksNumber))]),e._v(" "),n("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":i.releaseLink},on:{click:function(r){return r.stopPropagation(),e.sendAddToQueue(i.releaseLink)}}},[n("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)}),0)])],1)},__vue_staticRenderFns__$d=[];const __vue_inject_styles__$d=void 0,__vue_scope_id__$d=void 0,__vue_module_identifier__$d=void 0,__vue_is_functional_template__$d=!1;var Artist=normalizeComponent_1({render:__vue_render__$d,staticRenderFns:__vue_staticRenderFns__$d},__vue_inject_styles__$d,__vue_script__$b,__vue_scope_id__$d,__vue_is_functional_template__$d,__vue_module_identifier__$d,void 0,void 0);let chartsData={},cached$1=!1;function getChartsData(){return cached$1?chartsData:(socket.emit("get_charts_data"),fetchData("getCharts"),new Promise((e,a)=>{socket.on("init_charts",n=>{chartsData=n,cached$1=!0,socket.off("init_charts"),e(n)})}))}var script$c={methods:{previewMouseEnter,previewMouseLeave}};const __vue_script__$c=script$c;var __vue_render__$e=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(` - play_arrow -`)])},__vue_staticRenderFns__$e=[];const __vue_inject_styles__$e=void 0,__vue_scope_id__$e=void 0,__vue_module_identifier__$e=void 0,__vue_is_functional_template__$e=!1;var PreviewControls=normalizeComponent_1({render:__vue_render__$e,staticRenderFns:__vue_staticRenderFns__$e},__vue_inject_styles__$e,__vue_script__$c,__vue_scope_id__$e,__vue_is_functional_template__$e,__vue_module_identifier__$e,void 0,void 0),script$d={components:{PreviewControls},data(){return{country:"",id:0,countries:[],chart:[]}},computed:{worldwideRelease(){return this.countries.filter(a=>a.title==="Worldwide")[0]}},async created(){socket.on("setChartTracks",this.setTracklist),this.$on("hook:destroyed",()=>{socket.off("setChartTracks")});let e=await getChartsData(),a;e=e.filter(n=>(n.title==="Worldwide"&&(a=n),n.title!=="Worldwide")),e.unshift(a),this.initCharts(e)},methods:{convertDuration,playPausePreview,addToQueue(e){e.stopPropagation(),sendAddToQueue(e.currentTarget.dataset.link)},getTrackList(e){document.getElementById("content").scrollTo(0,0);const{currentTarget:{dataset:{title:a}},currentTarget:{dataset:{id:n}}}=e;this.country=a,localStorage.setItem("chart",this.country),this.id=n,socket.emit("getChartTracks",this.id)},setTracklist(e){this.chart=e},onChangeCountry(){this.country="",this.id=0},initCharts(e){if(this.countries=e,this.country=localStorage.getItem("chart")||"",!this.country)return;let a=0;for(;a{socket.on("init_settings",(n,i,r)=>{settingsData=n,defaultSettingsData=r,spotifyCredentials=i,socket.off("init_settings"),e({settingsData,defaultSettingsData,spotifyCredentials})})})}function getInitialPreviewVolume(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}function checkInitialSlimDownloads(){return localStorage.getItem("slimDownloads")==="true"}function checkInitialSlimSidebar(){return localStorage.getItem("slimSidebar")==="true"}const state=()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:getInitialPreviewVolume(),hasSlimDownloads:checkInitialSlimDownloads(),hasSlimSidebar:checkInitialSlimSidebar()}),actions={setAppInfo({commit:e},a){e("SET_CURRENT_COMMIT",a.currentCommit),e("SET_LATEST_COMMIT",a.latestCommit),e("SET_UPDATE_AVAILABLE",a.updateAvailable),e("SET_DEEMIX_VERSION",a.deemixVersion)},setPreviewVolume({commit:e},a){e("SET_PREVIEW_VOLUME",a),localStorage.setItem("previewVolume",a.toString())},setSlimDownloads({commit:e},a){e("SET_SLIM_DOWNLOADS",a),localStorage.setItem("slimDownloads",a.toString())},setSlimSidebar({commit:e},a){e("SET_SLIM_SIDEBAR",a),localStorage.setItem("slimSidebar",a.toString()),Array.from(document.getElementsByClassName("toastify")).forEach(n=>{n.style.transform=`translate(${a?"3rem":"14rem"}, 0)`})}},getters={getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},mutations={SET_CURRENT_COMMIT(e,a){e.currentCommit=a},SET_LATEST_COMMIT(e,a){e.latestCommit=a},SET_UPDATE_AVAILABLE(e,a){e.updateAvailable=a},SET_DEEMIX_VERSION(e,a){e.deemixVersion=a},SET_PREVIEW_VOLUME(e,a){e.previewVolume=a},SET_SLIM_DOWNLOADS(e,a){e.hasSlimDownloads=a},SET_SLIM_SIDEBAR(e,a){e.hasSlimSidebar=a}};var appInfo={state,getters,actions,mutations};const getDefaultState=()=>({arl:localStorage.getItem("arl")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1}),state$1=()=>getDefaultState(),actions$1={login({commit:e,dispatch:a},n){const{arl:i,user:r,status:s}=n;a("setARL",{arl:i}),e("SET_USER",r),e("SET_STATUS",s)},logout({commit:e}){localStorage.removeItem("arl"),e("RESET_LOGIN")},setARL({commit:e},a){let{arl:n,saveOnLocalStorage:i}=a;i=typeof i=="undefined"?!0:i,e("SET_ARL",n),i&&localStorage.setItem("arl",n)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},setUser({commit:e},a){e("SET_USER",a)},setClientMode({commit:e},a){e("SET_CLIENT_MODE",a)}},getters$1={getARL:e=>e.arl,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},mutations$1={SET_ARL(e,a){e.arl=a},SET_STATUS(e,a){e.status=a},SET_USER(e,a){e.user=a},SET_CLIENT_MODE(e,a){e.clientMode=a},RESET_LOGIN(e){let a=e.clientMode;Object.assign(e,getDefaultState()),e.clientMode=a}};var login={state:state$1,getters:getters$1,actions:actions$1,mutations:mutations$1};const state$2=()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),actions$2={setErrors({commit:e},a){e("SET_ERRORS",a)}},getters$2={getErrors:e=>e},mutations$2={SET_ERRORS(e,a){for(const n in e)if(e.hasOwnProperty(n)){const i=a[n];e[n]=i}}};var errors={state:state$2,getters:getters$2,actions:actions$2,mutations:mutations$2};Vue.use(index$2);var store=new index$2.Store({modules:{appInfo,login,errors},strict:!1});const favoriteArtists=ref$2([]),favoriteAlbums=ref$2([]),favoriteSpotifyPlaylists=ref$2([]),favoritePlaylists=ref$2([]),favoriteTracks=ref$2([]),isRefreshingFavorites=ref$2(!1);store.getters.isLoggedIn&&refreshFavorites({isInitial:!0});async function refreshFavorites({isInitial:e=!1}){e||(isRefreshingFavorites.value=!0);const a=await fetchData("getFavorites");setAllFavorites(a),store.getters.isLoggedWithSpotify&&await fetchData("getUserSpotifyPlaylists",{spotifyUser:store.getters.getSpotifyUser.id})}function useFavorites(){return{favoriteArtists,favoriteAlbums,favoriteSpotifyPlaylists,favoritePlaylists,favoriteTracks,isRefreshingFavorites,refreshFavorites}}function setAllFavorites(e){const{tracks:a,albums:n,artists:i,playlists:r}=e;favoriteArtists.value=i,favoriteAlbums.value=n,favoritePlaylists.value=r,favoriteTracks.value=a}socket.on("updated_userFavorites",e=>{setAllFavorites(e)}),socket.on("init_favorites",e=>{setAllFavorites(e),isRefreshingFavorites.value=!1}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userSpotifyPlaylists",e=>{favoriteSpotifyPlaylists.value=e}),socket.on("updated_userPlaylists",e=>{favoritePlaylists.value=e}),socket.on("updated_userAlbums",e=>{favoriteAlbums.value=e}),socket.on("updated_userArtist",e=>{favoriteArtists.value=e}),socket.on("updated_userTracks",e=>{favoriteTracks.value=e});var script$g=defineComponent({components:{PreviewControls,CoverContainer,BaseTabs,BaseTab},setup(e,a){const n=reactive({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:i,favoriteAlbums:r,favoriteSpotifyPlaylists:s,favoritePlaylists:o,favoriteTracks:l,isRefreshingFavorites:c,refreshFavorites:u}=useFavorites();return computed(()=>a.refs.reloadButton),watch(c,(d,f)=>{!(f&&!d)||toast(a.root.$t("toasts.refreshFavs"),"done",!0)}),{...toRefs(n),tracks:l,albums:r,artists:i,playlists:o,spotifyPlaylists:s,refreshFavorites:u,isRefreshingFavorites:c}},computed:{activeTabEmpty(){return this.getActiveRelease()?.length===0}},methods:{playPausePreview,convertDuration,downloadAllOfType(){try{let e=this.getActiveRelease();if(this.activeTab==="track"){let a=this.getLovedTracksPlaylist();sendAddToQueue(a.link)}else sendAddToQueue(aggregateDownloadLinks(e))}catch(e){console.error(e.message)}},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let a;switch(e){case"playlist":a=this.playlists;break;case"album":a=this.albums;break;case"artist":a=this.artists;break;case"track":a=this.tracks;break}return a},getTabLength(e=this.activeTab){return this[`${e}s`]?.length||0},getLovedTracksPlaylist(){let e=this.playlists.filter(a=>a.is_loved_track);if(e.length!==0)return e[0];throw new Error("No loved tracks playlist!")}}});const __vue_script__$g=script$g;var __vue_render__$i=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(` - `+e._s(e.$t("favorites.title"))+` - `),n("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{"aria-label":"reload",role:"button"},on:{click:e.refreshFavorites}},[n("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),e._v(" "),n("BaseTabs",e._l(e.tabs,function(i){return n("BaseTab",{key:i,class:{active:e.activeTab===i},on:{click:function(r){e.activeTab=i}}},[e._v(` - `+e._s(e.$tc("globals.listTabs."+i,2))+` - `)])}),1),e._v(" "),e.activeTabEmpty?e._e():n("button",{staticClass:"btn btn-primary",staticStyle:{"margin-bottom":"2rem"},on:{click:e.downloadAllOfType}},[e._v(` - `+e._s(e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.activeTab+"N",e.getTabLength())}))+` - `)]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="playlist",expression:"activeTab === 'playlist'"}]},[e.playlists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e._v(" "),e.playlists.length>0||e.spotifyPlaylists>0?n("div",{staticClass:"release-grid"},[e._l(e.playlists,function(i){return n("div",{key:i.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{to:{name:"Playlist",params:{id:i.id}},tag:"div"}},[n("CoverContainer",{attrs:{cover:i.picture_medium,link:i.link,"is-rounded":""},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.creator.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` - `)])],1)}),e._v(" "),e._l(e.spotifyPlaylists,function(i){return n("div",{key:i.id,staticClass:"release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{to:{name:"Spotify Playlist",params:{id:i.id}},tag:"div"}},[n("CoverContainer",{attrs:{cover:i.picture_medium,link:i.link,"is-rounded":""},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.creator.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` - `)])],1)})],2):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="album",expression:"activeTab === 'album'"}]},[e.albums.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e._v(" "),e.albums.length>0?n("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{to:{name:"Album",params:{id:i.id}},tag:"div"}},[n("CoverContainer",{attrs:{cover:i.cover_medium,link:i.link,"is-rounded":""},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="artist",expression:"activeTab === 'artist'"}]},[e.artists.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e._v(" "),e.artists.length>0?n("div",{staticClass:"release-grid"},e._l(e.artists,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{to:{name:"Artist",params:{id:i.id}},tag:"div"}},[n("CoverContainer",{attrs:{cover:i.picture_medium,link:i.link,"is-circle":""},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.name))])],1)}),1):e._e()]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.activeTab==="track",expression:"activeTab === 'track'"}]},[e.tracks.length==0?n("div",[n("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e._v(" "),e.tracks.length>0?n("table",{staticClass:"table"},e._l(e.tracks,function(i){return n("tr",{staticClass:"track_row"},[n("td",{staticClass:"p-3 text-center cursor-default",class:{first:i.position===1}},[e._v(` - `+e._s(i.position)+` - `)]),e._v(" "),n("td",[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.preview},on:{click:e.playPausePreview}},[i.preview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:i.album.cover_small}})],1)]),e._v(" "),n("td",{staticClass:"table__cell--large"},[e._v(` - `+e._s(i.title+(i.title_version&&i.title.indexOf(i.title_version)==-1?" "+i.title_version:""))+` - `)]),e._v(" "),n("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{to:{name:"Artist",params:{id:i.artist.id}},tag:"td"}},[e._v(` - `+e._s(i.artist.name)+` - `)]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{to:{name:"Album",params:{id:i.album.id}},tag:"td"}},[e._v(` - `+e._s(i.album.title)+` - `)]),e._v(" "),n("td",{staticClass:"table__cell--small"},[e._v(` - `+e._s(e.convertDuration(i.duration))+` - `)]),e._v(" "),n("td",{staticClass:"cursor-pointer group",attrs:{"data-link":i.link,"aria-label":"download",role:"button"},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` - get_app - `)])])])],1)}),0):e._e()])],1)},__vue_staticRenderFns__$i=[];const __vue_inject_styles__$i=void 0,__vue_scope_id__$i=void 0,__vue_module_identifier__$i=void 0,__vue_is_functional_template__$i=!1;var Favorites=normalizeComponent_1({render:__vue_render__$i,staticRenderFns:__vue_staticRenderFns__$i},__vue_inject_styles__$i,__vue_script__$g,__vue_scope_id__$i,__vue_is_functional_template__$i,__vue_module_identifier__$i,void 0,void 0);let homeData={},cached$2=!1;async function getHomeData(){if(cached$2)return homeData;{const e=await fetchData("getHome");return homeData=e,cached$2=!0,e}}var script$h={components:{CoverContainer},data(){return{playlists:[],albums:[]}},async created(){const e=await getHomeData();this.initHome(e)},computed:{...mapGetters(["isLoggedIn"])},methods:{addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:a},albums:{data:n}}=e;this.playlists=a,this.albums=n}}};const __vue_script__$h=script$h;var __vue_render__$j=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{attrs:{id:"home_tab"}},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e._v(" "),e.isLoggedIn?e._e():n("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),e._v(" "),n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(` - `+e._s(e.$t("home.openSettings"))+` - `)])],1),e._v(" "),e.playlists.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularPlaylists")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.playlists,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.id}},tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Playlist",params:{id:i.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.picture_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.user.name})+" - "+e.$tc("globals.listTabs.trackN",i.nb_tracks))+` - `)])],1)}),1)]):e._e(),e._v(" "),e.albums.length?n("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[n("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularAlbums")))]),e._v(" "),n("div",{staticClass:"release-grid"},e._l(e.albums,function(i){return n("router-link",{key:i.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:i.id}},"data-id":i.id,tabindex:"0"},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.$router.push({name:"Album",params:{id:i.id}})}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.cover_medium,link:i.link},on:{click:function(r){return r.stopPropagation(),e.addToQueue(r)}}}),e._v(" "),n("p",{staticClass:"primary-text"},[e._v(e._s(i.title))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:i.artist.name})))])],1)}),1)]):e._e()])},__vue_staticRenderFns__$j=[];const __vue_inject_styles__$j=void 0,__vue_scope_id__$j=void 0,__vue_module_identifier__$j=void 0,__vue_is_functional_template__$j=!1;var Home=normalizeComponent_1({render:__vue_render__$j,staticRenderFns:__vue_staticRenderFns__$j},__vue_inject_styles__$j,__vue_script__$h,__vue_scope_id__$j,__vue_is_functional_template__$j,__vue_module_identifier__$j,void 0,void 0);const COUNTRIES={AF:"Afghanistan",AX:"\xC5land Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia, Plurinational State of",BQ:"Bonaire, Sint Eustatius and Saba",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, the Democratic Republic of the",CK:"Cook Islands",CR:"Costa Rica",CI:"C\xF4te d'Ivoire",HR:"Croatia",CU:"Cuba",CW:"Cura\xE7ao",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran, Islamic Republic of",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea, Democratic People's Republic of",KR:"Korea, Republic of",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Lao People's Democratic Republic",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia, the Former Yugoslav Republic of",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia, Federated States of",MD:"Moldova, Republic of",MC:"Monaco",MN:"Mongolia",ME:"Montenegro",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine, State of",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"R\xE9union",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",BL:"Saint Barth\xE9lemy",SH:"Saint Helena, Ascension and Tristan da Cunha",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",MF:"Saint Martin (French part)",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SX:"Sint Maarten (Dutch part)",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",SS:"South Sudan",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania, United Republic of",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela, Bolivarian Republic of",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe"};var script$i={data(){return{link:"",title:"",subtitle:"",image:"",data:{},type:"",id:"0",countries:[]}},methods:{convertDuration,reset(){this.title="Loading...",this.subtitle="",this.image="",this.data={},this.type="",this.link="",this.countries=[]},showTrack(e){this.reset();const{title:a,title_version:n,album:{cover_xl:i},link:r,available_countries:s,id:o}=e;this.title=a+(n&&a.indexOf(n)==-1?" "+n:""),this.image=i,this.type="track",this.link=r,this.id=o,s.forEach(l=>{let c=[],u=[...l].map(d=>d.charCodeAt()+127397);c.push(String.fromCodePoint(...u)),c.push(COUNTRIES[l]),this.countries.push(c)}),this.data=e},showAlbum(e){this.reset();const{title:a,cover_xl:n,link:i,id:r}=e;this.title=a,this.image=n,this.type="album",this.link=i,this.data=e,this.id=r},notSupported(){this.link="error"},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)}},mounted(){socket.on("analyze_track",this.showTrack),socket.on("analyze_album",this.showAlbum),socket.on("analyze_notSupported",this.notSupported)}};const __vue_script__$i=script$i;var __vue_render__$k=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"image-header",attrs:{id:"analyzer_tab"}},[n("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.linkAnalyzer")))]),e._v(" "),e.link===""?n("div",[n("p",[e._v(` - `+e._s(e.$t("linkAnalyzer.info"))+` - `)]),e._v(" "),n("p",[e._v(` - `+e._s(e.$t("linkAnalyzer.useful"))+` - `)])]):e.link==="error"?n("div",[n("h2",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupported")))]),e._v(" "),n("p",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupportedYet")))])]):n("div",[n("header",{staticClass:"flex items-center",style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[n("div",[n("h1",{staticClass:"m-0"},[e._v(e._s(e.title))]),e._v(" "),e.type==="track"?n("h2",{staticClass:"m-0 mb-3 text-lg"},[n("i18n",{attrs:{path:"globals.by",tag:"span"}},[n("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` - `+e._s(e.data.artist.name)+` - `)])],1),e._v(` - \u2022 - `),n("i18n",{attrs:{path:"globals.in",tag:"span"}},[n("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"album",to:{name:"Album",params:{id:e.data.album.id}}}},[e._v(` - `+e._s(e.data.album.title)+` - `)])],1)],1):e.type==="album"?n("h2",{staticClass:"m-0 mb-3 text-lg"},[n("i18n",{attrs:{path:"globals.by",tag:"span"}},[n("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(` - `+e._s(e.data.artist.name)+` - `)])],1),e._v(` - `+e._s(" \u2022 "+e.$tc("globals.listTabs.trackN",e.data.nb_tracks))+` - `)],1):e._e()]),e._v(" "),n("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{role:"button","aria-label":"download","data-link":e.link},on:{contextmenu:function(i){return i.preventDefault(),e.openQualityModal(i)},click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[n("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),e._v(" "),n("table",{staticClass:"table"},[e.data.id?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.id")))]),e._v(" "),n("td",[e._v(e._s(e.data.id))])]):e._e(),e._v(" "),e.data.isrc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.isrc")))]),e._v(" "),n("td",[e._v(e._s(e.data.isrc))])]):e._e(),e._v(" "),e.data.upc?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.upc")))]),e._v(" "),n("td",[e._v(e._s(e.data.upc))])]):e._e(),e._v(" "),e.data.duration?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.duration")))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(e.data.duration)))])]):e._e(),e._v(" "),e.data.disk_number?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.diskNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.disk_number))])]):e._e(),e._v(" "),e.data.track_position?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.trackNumber")))]),e._v(" "),n("td",[e._v(e._s(e.data.track_position))])]):e._e(),e._v(" "),e.data.release_date?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.releaseDate")))]),e._v(" "),n("td",[e._v(e._s(e.data.release_date))])]):e._e(),e._v(" "),e.data.bpm?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.bpm")))]),e._v(" "),n("td",[e._v(e._s(e.data.bpm))])]):e._e(),e._v(" "),e.data.label?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.label")))]),e._v(" "),n("td",[e._v(e._s(e.data.label))])]):e._e(),e._v(" "),e.data.record_type?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.recordType")))]),e._v(" "),n("td",[e._v(e._s(e.$tc("globals.listTabs."+e.data.record_type,1)))])]):e._e(),e._v(" "),e.data.genres&&e.data.genres.data.length?n("tr",[n("td",[e._v(e._s(e.$t("linkAnalyzer.table.genres")))]),e._v(" "),n("td",[e._v(e._s(e.data.genres.data.map(function(i){return i.name}).join("; ")))])]):e._e()]),e._v(" "),e.type=="album"?n("div",[n("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Album",params:{id:e.id}}}},[e._v(` - `+e._s(e.$t("linkAnalyzer.table.tracklist"))+` - `)])],1):e._e(),e._v(" "),e.countries.length?n("div",e._l(e.countries,function(i){return n("p",[e._v(e._s(i[0])+" - "+e._s(i[1]))])}),0):e._e()])])},__vue_staticRenderFns__$k=[];const __vue_inject_styles__$k=void 0,__vue_scope_id__$k=void 0,__vue_module_identifier__$k=void 0,__vue_is_functional_template__$k=!1;var LinkAnalyzer=normalizeComponent_1({render:__vue_render__$k,staticRenderFns:__vue_staticRenderFns__$k},__vue_inject_styles__$k,__vue_script__$i,__vue_scope_id__$k,__vue_is_functional_template__$k,__vue_module_identifier__$k,void 0,void 0);const upperCaseFirstLowerCaseRest=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();var script$j={components:{CoverContainer},methods:{upperCaseFirstLowerCaseRest},computed:{fansNumber(){let e;try{e=this.$n(this.$attrs.info.nb_fan)}catch(a){e=this.$n(this.$attrs.info.nb_fan,{locale:"en"})}return this.$attrs.info.type=="artist"?this.$t("search.fans",{n:e}):this.$t("globals.by",{artist:this.$attrs.info.artist})+" - "+this.$tc("globals.listTabs.trackN",this.$attrs.info.nb_song)}}};const __vue_script__$j=script$j;var __vue_render__$l=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"flex flex-col items-center justify-center"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:e.upperCaseFirstLowerCaseRest(e.$attrs.info.type),params:{id:e.$attrs.info.id}}}},[n("CoverContainer",{staticClass:"w-40 h-40",attrs:{"is-rounded":e.$attrs.info.type!=="artist","is-circle":e.$attrs.info.type==="artist",cover:e.$attrs.info.picture,link:e.$attrs.info.link},on:{click:function(i){return i.stopPropagation(),e.$emit("add-to-queue",i)}}}),e._v(" "),n("p",{staticClass:"mt-4 mb-1 text-xl text-center transition-colors duration-200 ease-in-out hover:text-primary"},[e._v(` - `+e._s(e.$attrs.info.title)+` - `)])],1),e._v(" "),n("p",{staticClass:"mb-3 text-center secondary-text"},[e._v(` - `+e._s(e.fansNumber)+` - `)]),e._v(" "),n("span",{staticClass:"p-1 px-2 text-xs text-center capitalize bg-primary rounded-xl"},[e._v(` - `+e._s(e.$tc("globals.listTabs."+e.$attrs.info.type,1))+` - `)])],1)},__vue_staticRenderFns__$l=[];const __vue_inject_styles__$l=void 0,__vue_scope_id__$l=void 0,__vue_module_identifier__$l=void 0,__vue_is_functional_template__$l=!1;var TopResult=normalizeComponent_1({render:__vue_render__$l,staticRenderFns:__vue_staticRenderFns__$l},__vue_inject_styles__$l,__vue_script__$j,__vue_scope_id__$l,__vue_is_functional_template__$l,__vue_module_identifier__$l,void 0,void 0);function formatSingleTrack(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_LYRICS");return typeof a=="string"&&(a=a!=="0"),{trackTitle:getPropertyWithFallback(e,"title","SNG_TITLE"),trackTitleVersion:getPropertyWithFallback(e,"title_version","VERSION"),trackPreview:getPropertyWithFallback(e,"preview","MEDIA.0.HREF"),trackDuration:getPropertyWithFallback(e,"duration","DURATION"),trackLink:getPropertyWithFallback(e,"link")||`https://www.deezer.com/track/${e.SNG_ID}`,isTrackExplicit:a,artistID:getPropertyWithFallback(e,"artist.id","ART_ID"),artistName:getPropertyWithFallback(e,"artist.name","ART_NAME"),albumID:getPropertyWithFallback(e,"album.id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"album.title","ALB_TITLE"),albumPicture:getPropertyWithFallback(e,"album.cover_small")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/56x56-000000-80-0-0.jpg`}}function formatAlbums(e){let a=getPropertyWithFallback(e,"explicit_lyrics","EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS");return typeof a=="number"&&(a=a===1),{albumID:getPropertyWithFallback(e,"id","ALB_ID"),albumTitle:getPropertyWithFallback(e,"title","ALB_TITLE"),albumCoverMedium:getPropertyWithFallback(e,"cover_medium")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/156x156-000000-80-0-0.jpg`,albumLink:getPropertyWithFallback(e,"link")||`https://deezer.com/album/${e.ALB_ID}`,albumTracks:getPropertyWithFallback(e,"nb_tracks","NUMBER_TRACK"),isAlbumExplicit:a,artistName:getPropertyWithFallback(e,"artist.name","ART_NAME")}}function formatArtist(e){return{artistID:getPropertyWithFallback(e,"id","ART_ID"),artistName:getPropertyWithFallback(e,"name","ART_NAME"),artistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/artist/${e.ART_PICTURE}/156x156-000000-80-0-0.jpg`,artistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/artist/${e.ART_ID}`,artistAlbumsNumber:getPropertyWithFallback(e,"nb_album","NB_FAN")}}function formatPlaylist(e){return{playlistID:getPropertyWithFallback(e,"id","PLAYLIST_ID"),playlistTitle:getPropertyWithFallback(e,"title","TITLE"),playlistPictureMedium:getPropertyWithFallback(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/${e.PICTURE_TYPE}/${e.PLAYLIST_PICTURE}/156x156-000000-80-0-0.jpg`,playlistLink:getPropertyWithFallback(e,"link")||`https://deezer.com/playlist/${e.PLAYLIST_ID}`,playlistTracksNumber:getPropertyWithFallback(e,"nb_tracks","NB_SONG"),artistName:getPropertyWithFallback(e,"user.name")}}function formatTitle(e){const a=e.trackTitleVersion&&e.trackTitle.indexOf(e.trackTitleVersion)===-1;return`${e.trackTitle}${a?` ${e.trackTitleVersion}`:""}`}var script$k={components:{BaseLoadingPlaceholder,PreviewControls},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}},methods:{convertDuration,formatTitle,playPausePreview}};const __vue_script__$k=script$k;var __vue_render__$m=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsTrack")))])]):n("table",{staticClass:"table w-full table--tracks"},[e.wantHeaders?n("thead",[n("tr",{staticClass:"capitalize"},[n("th",{staticClass:"h-12 pb-3",attrs:{colspan:"2"}},[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.album",1)))]),e._v(" "),n("th",{staticClass:"h-12 pb-3"},[n("i",{staticClass:"material-icons"},[e._v("timer")])]),e._v(" "),n("th",{staticClass:"h-12 pb-3",staticStyle:{width:"3.5rem"}})])]):e._e(),e._v(" "),n("tbody",e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("tr",{key:i.trackLink},[n("td",{staticClass:"table__icon table__icon--big"},[n("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":i.trackPreview},on:{click:function(r){return e.playPausePreview(r)}}},[i.trackPreview?n("PreviewControls"):e._e(),e._v(" "),n("img",{staticClass:"rounded coverart",attrs:{src:i.albumPicture}})],1)]),e._v(" "),n("td",{staticClass:"table__cell table__cell--large"},[n("div",{staticClass:"break-words table__cell-content table__cell-content--vertical-center"},[i.isTrackExplicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` - `+e._s(e.formatTitle(i))+` - `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artistID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` - `+e._s(i.artistName)+` - `)])]),e._v(" "),n("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Album",params:{id:i.albumID}}}},[n("span",{staticClass:"cursor-pointer hover:underline"},[e._v(` - `+e._s(i.albumTitle)+` - `)])]),e._v(" "),n("td",{staticClass:"table__cell table__cell--small table__cell--center"},[e._v(` - `+e._s(e.convertDuration(i.trackDuration))+` - `)]),e._v(" "),n("td",{staticClass:"cursor-pointer table__cell--center group",attrs:{"data-link":i.trackLink,"aria-label":"download"},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}},[n("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(` - get_app - `)])])],1)}),0)])]],2)},__vue_staticRenderFns__$m=[];const __vue_inject_styles__$m=void 0,__vue_scope_id__$m=void 0,__vue_module_identifier__$m=void 0,__vue_is_functional_template__$m=!1;var ResultsTracks=normalizeComponent_1({render:__vue_render__$m,staticRenderFns:__vue_staticRenderFns__$m},__vue_inject_styles__$m,__vue_script__$k,__vue_scope_id__$m,__vue_is_functional_template__$m,__vue_module_identifier__$m,void 0,void 0),script$l={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$l=script$l;var __vue_render__$n=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsAlbum")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("div",{key:i.albumID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Album",params:{id:i.albumID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.albumCoverMedium,link:i.albumLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[i.isAlbumExplicit?n("i",{staticClass:"material-icons title-icon",staticStyle:{"font-size":"1.0625rem !important"}},[e._v(` - explicit - `)]):e._e(),e._v(` - `+e._s(i.albumTitle)+` - `)])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.artistName})+" - "+e.$tc("globals.listTabs.trackN",i.albumTracks))+` - `)])],1)}),0)]],2)},__vue_staticRenderFns__$n=[];const __vue_inject_styles__$n=void 0,__vue_scope_id__$n=void 0,__vue_module_identifier__$n=void 0,__vue_is_functional_template__$n=!1;var ResultsAlbums=normalizeComponent_1({render:__vue_render__$n,staticRenderFns:__vue_staticRenderFns__$n},__vue_inject_styles__$n,__vue_script__$l,__vue_scope_id__$n,__vue_is_functional_template__$n,__vue_module_identifier__$n,void 0,void 0),script$m={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$m=script$m;var __vue_render__$o=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsArtist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("div",{key:i.artistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Artist",params:{id:i.artistID}}}},[n("CoverContainer",{attrs:{"is-circle":"",cover:i.artistPictureMedium,link:i.artistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` - `+e._s(i.artistName)+` - `)])],1)],1)}),0)]],2)},__vue_staticRenderFns__$o=[];const __vue_inject_styles__$o=void 0,__vue_scope_id__$o=void 0,__vue_module_identifier__$o=void 0,__vue_is_functional_template__$o=!1;var ResultsArtists=normalizeComponent_1({render:__vue_render__$o,staticRenderFns:__vue_staticRenderFns__$o},__vue_inject_styles__$o,__vue_script__$m,__vue_scope_id__$o,__vue_is_functional_template__$o,__vue_module_identifier__$o,void 0,void 0),script$n={components:{BaseLoadingPlaceholder,CoverContainer},props:{viewInfo:{validator:function(e){let a=Object.is(e,null),n=Object.prototype.toString.call(e)==="[object Object]";return a||n},required:!0},itemsToShow:{type:Number,required:!1},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}};const __vue_script__$n=script$n;var __vue_render__$p=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.isLoading?n("BaseLoadingPlaceholder"):[e.viewInfo.data.length===0?n("div",[n("h1",[e._v(e._s(e.$t("search.noResultsPlaylist")))])]):n("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),function(i){return n("div",{key:i.playlistID,staticClass:"w-40 release"},[n("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:i.playlistID}}}},[n("CoverContainer",{attrs:{"is-rounded":"",cover:i.playlistPictureMedium,link:i.playlistLink},on:{click:function(r){return r.stopPropagation(),e.$emit("add-to-queue",r)}}}),e._v(" "),n("span",{staticClass:"primary-text"},[e._v(` - `+e._s(i.playlistTitle)+` - `)])],1),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(` - `+e._s(e.$t("globals.by",{artist:i.artistName})+" - "+e.$tc("globals.listTabs.trackN",i.playlistTracksNumber))+` - `)])],1)}),0)]],2)},__vue_staticRenderFns__$p=[];const __vue_inject_styles__$p=void 0,__vue_scope_id__$p=void 0,__vue_module_identifier__$p=void 0,__vue_is_functional_template__$p=!1;var ResultsPlaylists=normalizeComponent_1({render:__vue_render__$p,staticRenderFns:__vue_staticRenderFns__$p},__vue_inject_styles__$p,__vue_script__$n,__vue_scope_id__$p,__vue_is_functional_template__$p,__vue_module_identifier__$p,void 0,void 0),script$o={components:{TopResult,ResultsTracks,ResultsAlbums,ResultsArtists,ResultsPlaylists},props:{viewInfo:{type:Object,required:!1}},computed:{thereAreResults(){return!this.viewInfo?!1:!this.viewInfo.ORDER.every(n=>n==="TOP_RESULT"?this.viewInfo[n].length===0:this.viewInfo[n].data.length===0)}},methods:{convertDuration,upperCaseFirstLowerCaseRest,standardizeData,formatSingleTrack,formatAlbums,formatArtist,formatPlaylist,checkSectionResults(e){return e==="TOP_RESULT"?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}};const __vue_script__$o=script$o;var __vue_render__$q=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,function(i){return n("section",{key:i,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(i)?[n("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":i==="TOP_RESULT","inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":i!=="TOP_RESULT"},on:{click:function(r){return e.$emit("change-search-tab",i)}}},[e._v(` - `+e._s(e.$tc("globals.listTabs."+i.toLowerCase(),2))+` - `)]),e._v(" "),i==="TOP_RESULT"?n("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="TRACK"?n("ResultsTracks",{attrs:{viewInfo:e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="ALBUM"?n("ResultsAlbums",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i=="PLAYLIST"?n("ResultsPlaylists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):i==="ARTIST"?n("ResultsArtists",{attrs:{viewInfo:e.standardizeData(e.viewInfo.ARTIST,e.formatArtist),itemsToShow:6},on:{"add-to-queue":function(r){return e.$emit("add-to-queue",r)}}}):e._e()]:e._e()],2)}):n("div",[n("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)},__vue_staticRenderFns__$q=[];const __vue_inject_styles__$q=void 0,__vue_scope_id__$q=void 0,__vue_module_identifier__$q=void 0,__vue_is_functional_template__$q=!1;var ResultsAll=normalizeComponent_1({render:__vue_render__$q,staticRenderFns:__vue_staticRenderFns__$q},__vue_inject_styles__$q,__vue_script__$o,__vue_scope_id__$q,__vue_is_functional_template__$q,__vue_module_identifier__$q,void 0,void 0);const searchResult=ref$2({});function performMainSearch(e){fetchData("mainSearch",{term:e}).then(a=>{searchResult.value=a})}function useMainSearch(){return{searchResult,performMainSearch}}const result=ref$2({});function performSearch({term:e,type:a,start:n=0,nb:i=30}){fetchData("search",{term:e,type:a,start:n,nb:i}).then(r=>{result.value=r})}function useSearch(){return{result,performSearch}}const resetObj={data:[],next:0,total:0,hasLoaded:!1},lastTab=ref$2(null);var script$p=defineComponent({components:{BaseLoadingPlaceholder,BaseTabs,BaseTab},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,a){const n=reactive({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:{...resetObj},albumTab:{...resetObj},artistTab:{...resetObj},playlistTab:{...resetObj}},tabs:[{name:a.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:ResultsAll,viewInfo:"allTab"},{name:a.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:ResultsTracks,viewInfo:"trackTab",formatFunc:formatSingleTrack},{name:a.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:ResultsAlbums,viewInfo:"albumTab",formatFunc:formatAlbums},{name:a.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:ResultsArtists,viewInfo:"artistTab",formatFunc:formatArtist},{name:a.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:ResultsPlaylists,viewInfo:"playlistTab",formatFunc:formatPlaylist}]}),{searchResult:i,performMainSearch:r}=useMainSearch(),{result:s,performSearch:o}=useSearch(),l=computed(()=>a.root.$route.query.term),c=computed(()=>n.results.query===""),u=ref$2(!1),d=computed(()=>Object.keys(i.value).length!==0),f=computed(()=>i.value.QUERY!==l.value);d.value&&!f.value&&onMounted(()=>{h(i.value)}),l.value&&(!d.value||f.value)&&(r(l.value),u.value=!0);function h(m){u.value=!1,n.results.query=m.QUERY,n.results.allTab=m,n.results.allTab.TRACK.hasLoaded=!0,n.results.allTab.ALBUM.hasLoaded=!0,n.results.allTab.ARTIST.hasLoaded=!0,n.results.allTab.PLAYLIST.hasLoaded=!0,lastTab.value&&lastTab.value.searchType!=="all"?(n.currentTab=lastTab.value,o({term:m.QUERY,type:n.currentTab.searchType})):n.currentTab=n.tabs.find(v=>v.searchType==="all")}return watch(i,h),watch(s,m=>{const{next:v,total:y,type:_,data:w}=m,A=`${_}Tab`;let S=y;if(v&&(S=parseInt(v.match(/index=(\d*)/)[1])),n.results[A].total!==y&&(n.results[A].total=y),n.results[A].next!==S){n.results[A].next=S;const M=n.results[A].data.concat(w),P=uniqWith(M,(z,C)=>z.id===C.id);n.results[A].data=P}n.results[A].hasLoaded=!0}),n.currentTab=n.tabs.find(m=>m.searchType==="all"),{...toRefs(n),isSearching:u,isQueryEmpty:c,searchResult:i,performMainSearch:r,performSearch:o}},computed:{loadedTabs(){const e=[];for(const a in this.results)this.results.hasOwnProperty(a)&&a!=="query"&&this.results[a].hasLoaded&&e.push(a.replace(/Tab/g,""));return e}},methods:{numberWithDots,convertDuration,addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},getViewInfo(){return this.currentTab.searchType==="all"?this.results.allTab:standardizeData(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const a=this.tabs.find(n=>n.searchType===e);if(!a){console.error(`No tab ${e} found`);return}window.scrollTo(0,0),this.currentTab=a,lastTab.value=a},scrolledSearch(){if(this.currentTab.searchType==="all")return;const e=`${this.currentTab.searchType}Tab`;this.results[e].next - - - - - -`,gb=` - - - - - -`,es$1=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`,de$1=` - - - -`,fr$1=` - - - - - -`,id$1=` - - - - -`,pt$1=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`,br=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`,ru$1=` - - - - - -`,tr$1=` - - - - - - -`,vn$1=` - - - - - - - - - -`,hr$1=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`,ar$1=` - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`,ko$1=` - - - - - - - - - - - - - - - - - - - - - - -`,ph$1=` - - - - - - - -`,tw=` - - - - - - - - - - - - -`,pl$1=` - - - - -`;const flags$1={it:it$1,en:gb,es:es$1,de:de$1,fr:fr$1,id:id$1,pt:pt$1,pt_br:br,ru:ru$1,tr:tr$1,vn:vn$1,hr:hr$1,ar:ar$1,ko:ko$1,ph:ph$1,zh_tw:tw,pl:pl$1};var script$q={props:{withArrow:{type:Boolean,default:!0}}};const __vue_script__$q=script$q;var __vue_render__$s=function(e,a){var n=a._c;return n("details",{class:[a.data.staticClass,{"with-arrow":a.props.withArrow}],style:a.data.staticStyle},[n("summary",{staticClass:"cursor-pointer"},[a._t("title",[a._v("Setting")])],2),a._v(" "),n("div",{staticClass:"my-5 space-y-5"},[a._t("default")],2)])},__vue_staticRenderFns__$s=[];const __vue_inject_styles__$s=function(e){!e||e("data-v-2eaecb1a_0",{source:"details>summary::-webkit-details-marker{display:none}details.with-arrow>summary::-webkit-details-marker{display:initial;vertical-align:var(--arrow-v-align,super)}",map:void 0,media:void 0})},__vue_scope_id__$s=void 0,__vue_module_identifier__$s=void 0,__vue_is_functional_template__$s=!0;var BaseAccordion=normalizeComponent_1({render:__vue_render__$s,staticRenderFns:__vue_staticRenderFns__$s},__vue_inject_styles__$s,__vue_script__$q,__vue_scope_id__$s,__vue_is_functional_template__$s,__vue_module_identifier__$s,browser,void 0),script$r={components:{BaseAccordion},props:{templateVariables:{type:Array,required:!0}}};const __vue_script__$r=script$r;var __vue_render__$t=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("BaseAccordion",{staticStyle:{"--arrow-v-align":"baseline","margin-bottom":"3rem"},scopedSlots:e._u([{key:"title",fn:function(){return[e._t("title")]},proxy:!0}],null,!0)},[e._v(" "),n("div",{staticClass:"flex flex-wrap p-4 space-x-2 rounded-2xl bg-background-secondary"},e._l(e.templateVariables,function(i){return n("span",{staticClass:"inline-block p-2 mt-2 tracking-wider rounded cursor-pointer bg-panels-bg first:ml-2 hover:shadow-outline",on:{click:function(r){return e.$emit("variable-click",i)}}},[e._v(` - `+e._s(i)+` - `)])}),0)])},__vue_staticRenderFns__$t=[];const __vue_inject_styles__$t=void 0,__vue_scope_id__$t=void 0,__vue_module_identifier__$t=void 0,__vue_is_functional_template__$t=!1;var TemplateVariablesList=normalizeComponent_1({render:__vue_render__$t,staticRenderFns:__vue_staticRenderFns__$t},__vue_inject_styles__$t,__vue_script__$r,__vue_scope_id__$t,__vue_is_functional_template__$t,__vue_module_identifier__$t,void 0,void 0),script$s={components:{BaseAccordion,TemplateVariablesList},data(){return{flags:flags$1,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables}},computed:{...mapGetters({arl:"getARL",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"}),needToWait(){return Object.keys(this.getSettings).length===0},modelVolume:{get(){return this.previewVolume},set:debounce$1(function(e){this.setPreviewVolume(e)},20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}},async mounted(){const{settingsData:e,defaultSettingsData:a,spotifyCredentials:n}=await getSettingsData();this.defaultSettings=a,this.initSettings(e,n);let i=localStorage.getItem("accountNum");i&&(this.accountNum=i);let r=localStorage.getItem("spotifyUser");r&&(this.lastUser=r,this.spotifyUser=r,socket.emit("update_userSpotifyPlaylists",r)),socket.on("updateSettings",this.updateSettings),socket.on("accountChanged",this.accountChanged),socket.on("familyAccounts",this.initAccounts),socket.on("downloadFolderSelected",this.downloadFolderSelected),socket.on("applogin_arl",this.loggedInViaDeezer),this.$on("hook:destroyed",()=>{socket.off("updateSettings"),socket.off("accountChanged"),socket.off("familyAccounts"),socket.off("downloadFolderSelected"),socket.off("applogin_arl")})},methods:{...mapActions({dispatchARL:"setARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar"}),onTemplateVariableClick(e){copyToClipboard(e),toast(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){let e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),toast(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),socket.emit("saveSettings",this.lastSettings,this.lastCredentials,e?this.lastUser:!1)},selectDownloadFolder(){socket.emit("selectDownloadFolder")},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},async loggedInViaDeezer(e){this.dispatchARL({arl:e})},async login(){let e=this.$refs.loginInput.value.trim();if(e&&e!==this.arl){const a=await fetchData("login",{arl:e,force:!0,child:this.accountNum});this.loggedInViaDeezer(a.arl)}},appLogin(e){socket.emit("applogin")},changeAccount(){socket.emit("changeAccount",this.accountNum)},accountChanged(e,a){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=a,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},logout(){socket.emit("logout")},initSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.init"),"settings")},updateSettings(e,a){this.loadSettings(e),this.loadCredentials(a),toast(this.$t("settings.toasts.update"),"settings")},resetToDefault(){!confirm(this.$t("settings.resetMessage"))||(this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),toast(this.$t("settings.toasts.reset"),"settings"))}}};const __vue_script__$s=script$s;var __vue_render__$u=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{staticClass:"fixed-footer"},[n("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.title")))]),e._v(" "),e.isLoggedIn?n("div",{ref:"loggedInInfo",attrs:{id:"logged_in_info"}},[n("img",{ref:"userpicture",staticClass:"w-32 h-32 rounded-full",attrs:{id:"settings_picture",src:e.pictureHref,alt:"Profile Picture"}}),e._v(" "),n("i18n",{attrs:{path:"settings.login.loggedIn",tag:"p"},scopedSlots:e._u([{key:"username",fn:function(){return[n("strong",{ref:"username",attrs:{id:"settings_username"}},[e._v(e._s(e.user.name||"not logged"))])]},proxy:!0}],null,!1,2821744753)}),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.logout}},[e._v(` - `+e._s(e.$t("settings.login.logout"))+` - `)]),e._v(" "),e.accounts.length>1?n("select",{directives:[{name:"model",rawName:"v-model",value:e.accountNum,expression:"accountNum"}],attrs:{id:"family_account"},on:{change:[function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.accountNum=i.target.multiple?r:r[0]},e.changeAccount]}},e._l(e.accounts,function(i,r){return n("option",{key:i,domProps:{value:r.toString()}},[e._v(` - `+e._s(i.name)+` - `)])}),0):e._e()],1):e._e(),e._v(" "),n("div",{staticClass:"settings-group"},[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("person")]),e._v(e._s(e.$t("settings.login.title")))]),e._v(" "),n("div",{staticClass:"my-5 space-y-5"},[n("div",{staticClass:"flex items-center"},[n("input",{ref:"loginInput",attrs:{id:"login_input_arl",autocomplete:"off",placeholder:"ARL",type:"password"},domProps:{value:e.arl}}),e._v(" "),n("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.copyARLtoClipboard}},[n("i",{staticClass:"material-icons"},[e._v("assignment")])])]),e._v(" "),n("RouterLink",{staticClass:"block",attrs:{to:{name:"ARL"}}},[e._v(` - `+e._s(e.$t("settings.login.arl.question"))+` - `)]),e._v(" "),e.clientMode?n("a",{staticClass:"block",attrs:{href:"#"},on:{click:e.appLogin}},[e._v(` - `+e._s(e.$t("settings.login.login"))+` - `)]):e._e(),e._v(" "),n("button",{staticClass:"btn btn-primary",staticStyle:{width:"100%"},on:{click:e.login}},[e._v(` - `+e._s(e.$t("settings.login.arl.update"))+` - `)])],1)]),e._v(" "),n("div",{staticClass:"settings-group"},[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("language")]),e._v(e._s(e.$t("settings.languages")))]),e._v(" "),n("ul",{staticClass:"my-5"},e._l(e.locales,function(i){return n("li",{key:i,staticClass:"inline-flex items-center locale-flag",class:{"locale-flag--current":e.currentLocale===i},attrs:{title:i},domProps:{innerHTML:e._s(e.flags[i])},on:{click:function(r){return e.changeLocale(i)}}})}),0)]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("web")]),e._v(` - `+e._s(e.$t("settings.appearance.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimDownloads,expression:"modelSlimDownloads"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimDownloads)?e._i(e.modelSlimDownloads,null)>-1:e.modelSlimDownloads},on:{change:function(i){var r=e.modelSlimDownloads,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimDownloads=r.concat([l])):c>-1&&(e.modelSlimDownloads=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimDownloads=o}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimDownloadTab")))])]),e._v(" "),n("label",{staticClass:"mb-4 with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimSidebar,expression:"modelSlimSidebar"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimSidebar)?e._i(e.modelSlimSidebar,null)>-1:e.modelSlimSidebar},on:{change:function(i){var r=e.modelSlimSidebar,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&(e.modelSlimSidebar=r.concat([l])):c>-1&&(e.modelSlimSidebar=r.slice(0,c).concat(r.slice(c+1)))}else e.modelSlimSidebar=o}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimSidebar")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("folder")]),e._v(e._s(e.$t("settings.downloadPath.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"flex items-center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.downloadLocation,expression:"settings.downloadLocation"}],attrs:{autocomplete:"off",type:"text"},domProps:{value:e.settings.downloadLocation},on:{input:function(i){i.target.composing||e.$set(e.settings,"downloadLocation",i.target.value)}}}),e._v(" "),e.clientMode?n("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.selectDownloadFolder}},[n("i",{staticClass:"material-icons"},[e._v("folder")])]):e._e()])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("font_download")]),e._v(e._s(e.$t("settings.templates.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.tracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tracknameTemplate,expression:"settings.tracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.tracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"tracknameTemplate",i.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` - `+e._s(e.$t("settings.templates.tracknameAvailableVariables"))+` - `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.albumTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumTracknameTemplate,expression:"settings.albumTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumTracknameTemplate",i.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` - `+e._s(e.$t("settings.templates.albumTracknameAvailableVariables"))+` - `)]},proxy:!0}])}),e._v(" "),n("p",[e._v(e._s(e.$t("settings.templates.playlistTracknameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistTracknameTemplate,expression:"settings.playlistTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistTracknameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistTracknameTemplate",i.target.value)}}}),e._v(" "),n("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(` - `+e._s(e.$t("settings.templates.playlistTracknameAvailableVariables"))+` - `)]},proxy:!0}])})],1),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("create_new_folder")]),e._v(e._s(e.$t("settings.folders.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createPlaylistFolder,expression:"settings.createPlaylistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createPlaylistFolder)?e._i(e.settings.createPlaylistFolder,null)>-1:e.settings.createPlaylistFolder},on:{change:function(i){var r=e.settings.createPlaylistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createPlaylistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createPlaylistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createPlaylistFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createPlaylistFolder")))])]),e._v(" "),e.settings.createPlaylistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.playlistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistNameTemplate,expression:"settings.playlistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createArtistFolder,expression:"settings.createArtistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createArtistFolder)?e._i(e.settings.createArtistFolder,null)>-1:e.settings.createArtistFolder},on:{change:function(i){var r=e.settings.createArtistFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createArtistFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createArtistFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createArtistFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createArtistFolder")))])]),e._v(" "),e.settings.createArtistFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.artistNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistNameTemplate,expression:"settings.artistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistNameTemplate",i.target.value)}}})]):e._e()]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createAlbumFolder,expression:"settings.createAlbumFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createAlbumFolder)?e._i(e.settings.createAlbumFolder,null)>-1:e.settings.createAlbumFolder},on:{change:function(i){var r=e.settings.createAlbumFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createAlbumFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createAlbumFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createAlbumFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createAlbumFolder")))])]),e._v(" "),e.settings.createAlbumFolder?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.albumNameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumNameTemplate,expression:"settings.albumNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumNameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"albumNameTemplate",i.target.value)}}})]):e._e()])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createCDFolder,expression:"settings.createCDFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createCDFolder)?e._i(e.settings.createCDFolder,null)>-1:e.settings.createCDFolder},on:{change:function(i){var r=e.settings.createCDFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createCDFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createCDFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createCDFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createCDFolder")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createStructurePlaylist,expression:"settings.createStructurePlaylist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createStructurePlaylist)?e._i(e.settings.createStructurePlaylist,null)>-1:e.settings.createStructurePlaylist},on:{change:function(i){var r=e.settings.createStructurePlaylist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createStructurePlaylist",r.concat([l])):c>-1&&e.$set(e.settings,"createStructurePlaylist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createStructurePlaylist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createStructurePlaylist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createSingleFolder,expression:"settings.createSingleFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createSingleFolder)?e._i(e.settings.createSingleFolder,null)>-1:e.settings.createSingleFolder},on:{change:function(i){var r=e.settings.createSingleFolder,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createSingleFolder",r.concat([l])):c>-1&&e.$set(e.settings,"createSingleFolder",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createSingleFolder",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createSingleFolder")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("title")]),e._v(e._s(e.$t("settings.trackTitles.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.padTracks,expression:"settings.padTracks"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.padTracks)?e._i(e.settings.padTracks,null)>-1:e.settings.padTracks},on:{change:function(i){var r=e.settings.padTracks,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"padTracks",r.concat([l])):c>-1&&e.$set(e.settings,"padTracks",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"padTracks",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.trackTitles.padTracks")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.paddingSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.paddingSize,expression:"settings.paddingSize"}],attrs:{max:"10",type:"number"},domProps:{value:e.settings.paddingSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"paddingSize",i.target.value)}}})])]),e._v(" "),n("div",{staticClass:"settings-container__third"},[n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.illegalCharacterReplacer")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.illegalCharacterReplacer,expression:"settings.illegalCharacterReplacer"}],attrs:{type:"text"},domProps:{value:e.settings.illegalCharacterReplacer},on:{input:function(i){i.target.composing||e.$set(e.settings,"illegalCharacterReplacer",i.target.value)}}})])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("album")]),e._v(e._s(e.$t("settings.covers.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtwork,expression:"settings.saveArtwork"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtwork)?e._i(e.settings.saveArtwork,null)>-1:e.settings.saveArtwork},on:{change:function(i){var r=e.settings.saveArtwork,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtwork",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtwork",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtwork",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtwork")))])]),e._v(" "),e.settings.saveArtwork?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.coverImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.coverImageTemplate,expression:"settings.coverImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.coverImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"coverImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtworkArtist,expression:"settings.saveArtworkArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtworkArtist)?e._i(e.settings.saveArtworkArtist,null)>-1:e.settings.saveArtworkArtist},on:{change:function(i){var r=e.settings.saveArtworkArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveArtworkArtist",r.concat([l])):c>-1&&e.$set(e.settings,"saveArtworkArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveArtworkArtist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtworkArtist")))])]),e._v(" "),e.settings.saveArtworkArtist?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.artistImageTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistImageTemplate,expression:"settings.artistImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistImageTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"artistImageTemplate",i.target.value)}}})]):e._e(),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.localArtworkSize,expression:"settings.localArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.localArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"localArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.localArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` - \u26A0\uFE0F `+e._s(e.$t("settings.covers.imageSizeWarning"))+` - `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkSize")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.embeddedArtworkSize,expression:"settings.embeddedArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.embeddedArtworkSize},on:{input:function(i){i.target.composing||e.$set(e.settings,"embeddedArtworkSize",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),e.settings.embeddedArtworkSize>1200?n("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` - \u26A0\uFE0F `+e._s(e.$t("settings.covers.imageSizeWarning"))+` - `)]):e._e()]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.localArtworkFormat,expression:"settings.localArtworkFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"localArtworkFormat",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"jpg"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.jpg")))]),e._v(" "),n("option",{attrs:{value:"png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.png")))]),e._v(" "),n("option",{attrs:{value:"jpg,png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.both")))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.embeddedArtworkPNG,expression:"settings.embeddedArtworkPNG"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.embeddedArtworkPNG)?e._i(e.settings.embeddedArtworkPNG,null)>-1:e.settings.embeddedArtworkPNG},on:{change:function(i){var r=e.settings.embeddedArtworkPNG,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"embeddedArtworkPNG",r.concat([l])):c>-1&&e.$set(e.settings,"embeddedArtworkPNG",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"embeddedArtworkPNG",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkPNG")))])]),e._v(" "),e.settings.embeddedArtworkPNG?n("p",{staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(` - \u26A0\uFE0F `+e._s(e.$t("settings.covers.embeddedPNGWarning"))+` - `)]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.coverDescriptionUTF8,expression:"settings.tags.coverDescriptionUTF8"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.coverDescriptionUTF8)?e._i(e.settings.tags.coverDescriptionUTF8,null)>-1:e.settings.tags.coverDescriptionUTF8},on:{change:function(i){var r=e.settings.tags.coverDescriptionUTF8,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.concat([l])):c>-1&&e.$set(e.settings.tags,"coverDescriptionUTF8",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"coverDescriptionUTF8",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.coverDescriptionUTF8")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.jpegImageQuality")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.jpegImageQuality,expression:"settings.jpegImageQuality",modifiers:{number:!0}}],attrs:{max:"100",min:"1",type:"number"},domProps:{value:e.settings.jpegImageQuality},on:{input:function(i){i.target.composing||e.$set(e.settings,"jpegImageQuality",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons",staticStyle:{width:"1em",height:"1em"}},[e._v("bookmarks")]),e._v(e._s(e.$t("settings.tags.head"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.title,expression:"settings.tags.title"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.title)?e._i(e.settings.tags.title,null)>-1:e.settings.tags.title},on:{change:function(i){var r=e.settings.tags.title,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"title",r.concat([l])):c>-1&&e.$set(e.settings.tags,"title",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"title",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.title")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.artist,expression:"settings.tags.artist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.artist)?e._i(e.settings.tags.artist,null)>-1:e.settings.tags.artist},on:{change:function(i){var r=e.settings.tags.artist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"artist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"artist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"artist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.artist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.album,expression:"settings.tags.album"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.album)?e._i(e.settings.tags.album,null)>-1:e.settings.tags.album},on:{change:function(i){var r=e.settings.tags.album,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"album",r.concat([l])):c>-1&&e.$set(e.settings.tags,"album",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"album",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.album")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.cover,expression:"settings.tags.cover"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.cover)?e._i(e.settings.tags.cover,null)>-1:e.settings.tags.cover},on:{change:function(i){var r=e.settings.tags.cover,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"cover",r.concat([l])):c>-1&&e.$set(e.settings.tags,"cover",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"cover",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.cover")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackNumber,expression:"settings.tags.trackNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackNumber)?e._i(e.settings.tags.trackNumber,null)>-1:e.settings.tags.trackNumber},on:{change:function(i){var r=e.settings.tags.trackNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackNumber",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackTotal,expression:"settings.tags.trackTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackTotal)?e._i(e.settings.tags.trackTotal,null)>-1:e.settings.tags.trackTotal},on:{change:function(i){var r=e.settings.tags.trackTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"trackTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"trackTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"trackTotal",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discNumber,expression:"settings.tags.discNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discNumber)?e._i(e.settings.tags.discNumber,null)>-1:e.settings.tags.discNumber},on:{change:function(i){var r=e.settings.tags.discNumber,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discNumber",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discNumber",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discNumber",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discNumber")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discTotal,expression:"settings.tags.discTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discTotal)?e._i(e.settings.tags.discTotal,null)>-1:e.settings.tags.discTotal},on:{change:function(i){var r=e.settings.tags.discTotal,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"discTotal",r.concat([l])):c>-1&&e.$set(e.settings.tags,"discTotal",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"discTotal",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discTotal")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.albumArtist,expression:"settings.tags.albumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.albumArtist)?e._i(e.settings.tags.albumArtist,null)>-1:e.settings.tags.albumArtist},on:{change:function(i){var r=e.settings.tags.albumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"albumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"albumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"albumArtist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.albumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.genre,expression:"settings.tags.genre"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.genre)?e._i(e.settings.tags.genre,null)>-1:e.settings.tags.genre},on:{change:function(i){var r=e.settings.tags.genre,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"genre",r.concat([l])):c>-1&&e.$set(e.settings.tags,"genre",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"genre",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.genre")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.year,expression:"settings.tags.year"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.year)?e._i(e.settings.tags.year,null)>-1:e.settings.tags.year},on:{change:function(i){var r=e.settings.tags.year,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"year",r.concat([l])):c>-1&&e.$set(e.settings.tags,"year",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"year",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.year")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.date,expression:"settings.tags.date"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.date)?e._i(e.settings.tags.date,null)>-1:e.settings.tags.date},on:{change:function(i){var r=e.settings.tags.date,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"date",r.concat([l])):c>-1&&e.$set(e.settings.tags,"date",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"date",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.date")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.explicit,expression:"settings.tags.explicit"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.explicit)?e._i(e.settings.tags.explicit,null)>-1:e.settings.tags.explicit},on:{change:function(i){var r=e.settings.tags.explicit,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"explicit",r.concat([l])):c>-1&&e.$set(e.settings.tags,"explicit",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"explicit",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.explicit")))])])]),e._v(" "),n("div",{staticClass:"settings-container__half"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.isrc,expression:"settings.tags.isrc"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.isrc)?e._i(e.settings.tags.isrc,null)>-1:e.settings.tags.isrc},on:{change:function(i){var r=e.settings.tags.isrc,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"isrc",r.concat([l])):c>-1&&e.$set(e.settings.tags,"isrc",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"isrc",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.isrc")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.length,expression:"settings.tags.length"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.length)?e._i(e.settings.tags.length,null)>-1:e.settings.tags.length},on:{change:function(i){var r=e.settings.tags.length,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"length",r.concat([l])):c>-1&&e.$set(e.settings.tags,"length",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"length",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.length")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.barcode,expression:"settings.tags.barcode"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.barcode)?e._i(e.settings.tags.barcode,null)>-1:e.settings.tags.barcode},on:{change:function(i){var r=e.settings.tags.barcode,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"barcode",r.concat([l])):c>-1&&e.$set(e.settings.tags,"barcode",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"barcode",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.barcode")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.bpm,expression:"settings.tags.bpm"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.bpm)?e._i(e.settings.tags.bpm,null)>-1:e.settings.tags.bpm},on:{change:function(i){var r=e.settings.tags.bpm,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"bpm",r.concat([l])):c>-1&&e.$set(e.settings.tags,"bpm",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"bpm",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.bpm")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.replayGain,expression:"settings.tags.replayGain"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.replayGain)?e._i(e.settings.tags.replayGain,null)>-1:e.settings.tags.replayGain},on:{change:function(i){var r=e.settings.tags.replayGain,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"replayGain",r.concat([l])):c>-1&&e.$set(e.settings.tags,"replayGain",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"replayGain",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.replayGain")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.label,expression:"settings.tags.label"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.label)?e._i(e.settings.tags.label,null)>-1:e.settings.tags.label},on:{change:function(i){var r=e.settings.tags.label,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"label",r.concat([l])):c>-1&&e.$set(e.settings.tags,"label",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"label",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.label")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.lyrics,expression:"settings.tags.lyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.lyrics)?e._i(e.settings.tags.lyrics,null)>-1:e.settings.tags.lyrics},on:{change:function(i){var r=e.settings.tags.lyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"lyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"lyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"lyrics",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.lyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.syncedLyrics,expression:"settings.tags.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.syncedLyrics)?e._i(e.settings.tags.syncedLyrics,null)>-1:e.settings.tags.syncedLyrics},on:{change:function(i){var r=e.settings.tags.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings.tags,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"syncedLyrics",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.copyright,expression:"settings.tags.copyright"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.copyright)?e._i(e.settings.tags.copyright,null)>-1:e.settings.tags.copyright},on:{change:function(i){var r=e.settings.tags.copyright,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"copyright",r.concat([l])):c>-1&&e.$set(e.settings.tags,"copyright",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"copyright",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.copyright")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.composer,expression:"settings.tags.composer"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.composer)?e._i(e.settings.tags.composer,null)>-1:e.settings.tags.composer},on:{change:function(i){var r=e.settings.tags.composer,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"composer",r.concat([l])):c>-1&&e.$set(e.settings.tags,"composer",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"composer",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.composer")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.involvedPeople,expression:"settings.tags.involvedPeople"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.involvedPeople)?e._i(e.settings.tags.involvedPeople,null)>-1:e.settings.tags.involvedPeople},on:{change:function(i){var r=e.settings.tags.involvedPeople,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"involvedPeople",r.concat([l])):c>-1&&e.$set(e.settings.tags,"involvedPeople",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"involvedPeople",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.involvedPeople")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.source,expression:"settings.tags.source"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.source)?e._i(e.settings.tags.source,null)>-1:e.settings.tags.source},on:{change:function(i){var r=e.settings.tags.source,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"source",r.concat([l])):c>-1&&e.$set(e.settings.tags,"source",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"source",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.source")))])])])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("get_app")]),e._v(e._s(e.$t("settings.downloads.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.queueConcurrency")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.queueConcurrency,expression:"settings.queueConcurrency",modifiers:{number:!0}}],attrs:{min:"1",type:"number"},domProps:{value:e.settings.queueConcurrency},on:{input:function(i){i.target.composing||e.$set(e.settings,"queueConcurrency",e._n(i.target.value))},blur:function(i){return e.$forceUpdate()}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.maxBitrate.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.maxBitrate,expression:"settings.maxBitrate"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"maxBitrate",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"9"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.9")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.3")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.1")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.overwriteFile.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.overwriteFile,expression:"settings.overwriteFile"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"overwriteFile",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"y"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.y")))]),e._v(" "),n("option",{attrs:{value:"n"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.n")))]),e._v(" "),n("option",{attrs:{value:"e"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.e")))]),e._v(" "),n("option",{attrs:{value:"b"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.b")))]),e._v(" "),n("option",{attrs:{value:"t"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.t")))])])]),e._v(" "),n("div",{staticClass:"space-x-5 settings-container"},[n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackBitrate,expression:"settings.fallbackBitrate"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackBitrate)?e._i(e.settings.fallbackBitrate,null)>-1:e.settings.fallbackBitrate},on:{change:function(i){var r=e.settings.fallbackBitrate,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackBitrate",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackBitrate",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackBitrate",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackBitrate")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackSearch,expression:"settings.fallbackSearch"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackSearch)?e._i(e.settings.fallbackSearch,null)>-1:e.settings.fallbackSearch},on:{change:function(i){var r=e.settings.fallbackSearch,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"fallbackSearch",r.concat([l])):c>-1&&e.$set(e.settings,"fallbackSearch",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"fallbackSearch",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackSearch")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logErrors,expression:"settings.logErrors"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logErrors)?e._i(e.settings.logErrors,null)>-1:e.settings.logErrors},on:{change:function(i){var r=e.settings.logErrors,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logErrors",r.concat([l])):c>-1&&e.$set(e.settings,"logErrors",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logErrors",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logErrors")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logSearched,expression:"settings.logSearched"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logSearched)?e._i(e.settings.logSearched,null)>-1:e.settings.logSearched},on:{change:function(i){var r=e.settings.logSearched,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"logSearched",r.concat([l])):c>-1&&e.$set(e.settings,"logSearched",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"logSearched",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logSearched")))])])]),e._v(" "),n("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.syncedLyrics,expression:"settings.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.syncedLyrics)?e._i(e.settings.syncedLyrics,null)>-1:e.settings.syncedLyrics},on:{change:function(i){var r=e.settings.syncedLyrics,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"syncedLyrics",r.concat([l])):c>-1&&e.$set(e.settings,"syncedLyrics",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"syncedLyrics",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.syncedLyrics")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createM3U8File,expression:"settings.createM3U8File"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createM3U8File)?e._i(e.settings.createM3U8File,null)>-1:e.settings.createM3U8File},on:{change:function(i){var r=e.settings.createM3U8File,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"createM3U8File",r.concat([l])):c>-1&&e.$set(e.settings,"createM3U8File",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"createM3U8File",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.createM3U8File")))])])])]),e._v(" "),e.settings.createM3U8File?n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.playlistFilenameTemplate")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistFilenameTemplate,expression:"settings.playlistFilenameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistFilenameTemplate},on:{input:function(i){i.target.composing||e.$set(e.settings,"playlistFilenameTemplate",i.target.value)}}})]):e._e(),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveDownloadQueue,expression:"settings.saveDownloadQueue"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveDownloadQueue)?e._i(e.settings.saveDownloadQueue,null)>-1:e.settings.saveDownloadQueue},on:{change:function(i){var r=e.settings.saveDownloadQueue,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"saveDownloadQueue",r.concat([l])):c>-1&&e.$set(e.settings,"saveDownloadQueue",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"saveDownloadQueue",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.saveDownloadQueue")))])])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("i",{staticClass:"material-icons"},[e._v("list")]),e._v(e._s(e.$t("settings.other.title")))])]},proxy:!0}])},[e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.savePlaylistAsCompilation,expression:"settings.tags.savePlaylistAsCompilation"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.savePlaylistAsCompilation)?e._i(e.settings.tags.savePlaylistAsCompilation,null)>-1:e.settings.tags.savePlaylistAsCompilation},on:{change:function(i){var r=e.settings.tags.savePlaylistAsCompilation,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.concat([l])):c>-1&&e.$set(e.settings.tags,"savePlaylistAsCompilation",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"savePlaylistAsCompilation",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.savePlaylistAsCompilation")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.useNullSeparator,expression:"settings.tags.useNullSeparator"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.useNullSeparator)?e._i(e.settings.tags.useNullSeparator,null)>-1:e.settings.tags.useNullSeparator},on:{change:function(i){var r=e.settings.tags.useNullSeparator,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"useNullSeparator",r.concat([l])):c>-1&&e.$set(e.settings.tags,"useNullSeparator",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"useNullSeparator",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.useNullSeparator")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.saveID3v1,expression:"settings.tags.saveID3v1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.saveID3v1)?e._i(e.settings.tags.saveID3v1,null)>-1:e.settings.tags.saveID3v1},on:{change:function(i){var r=e.settings.tags.saveID3v1,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"saveID3v1",r.concat([l])):c>-1&&e.$set(e.settings.tags,"saveID3v1",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"saveID3v1",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.saveID3v1")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.multiArtistSeparator,expression:"settings.tags.multiArtistSeparator"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings.tags,"multiArtistSeparator",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.nothing")))]),e._v(" "),n("option",{attrs:{value:"default"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.default")))]),e._v(" "),n("option",{attrs:{value:"andFeat"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.andFeat")))]),e._v(" "),n("option",{attrs:{value:" & "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" & "})))]),e._v(" "),n("option",{attrs:{value:","}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:","})))]),e._v(" "),n("option",{attrs:{value:", "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:", "})))]),e._v(" "),n("option",{attrs:{value:"/"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"/"})))]),e._v(" "),n("option",{attrs:{value:" / "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" / "})))]),e._v(" "),n("option",{attrs:{value:";"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:";"})))]),e._v(" "),n("option",{attrs:{value:"; "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"; "})))])])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.singleAlbumArtist,expression:"settings.tags.singleAlbumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.singleAlbumArtist)?e._i(e.settings.tags.singleAlbumArtist,null)>-1:e.settings.tags.singleAlbumArtist},on:{change:function(i){var r=e.settings.tags.singleAlbumArtist,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings.tags,"singleAlbumArtist",r.concat([l])):c>-1&&e.$set(e.settings.tags,"singleAlbumArtist",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings.tags,"singleAlbumArtist",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.singleAlbumArtist")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumVariousArtists,expression:"settings.albumVariousArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.albumVariousArtists)?e._i(e.settings.albumVariousArtists,null)>-1:e.settings.albumVariousArtists},on:{change:function(i){var r=e.settings.albumVariousArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"albumVariousArtists",r.concat([l])):c>-1&&e.$set(e.settings,"albumVariousArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"albumVariousArtists",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.albumVariousArtists")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeAlbumVersion,expression:"settings.removeAlbumVersion"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeAlbumVersion)?e._i(e.settings.removeAlbumVersion,null)>-1:e.settings.removeAlbumVersion},on:{change:function(i){var r=e.settings.removeAlbumVersion,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeAlbumVersion",r.concat([l])):c>-1&&e.$set(e.settings,"removeAlbumVersion",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeAlbumVersion",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeAlbumVersion")))])]),e._v(" "),n("label",{staticClass:"with-checkbox"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeDuplicateArtists,expression:"settings.removeDuplicateArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeDuplicateArtists)?e._i(e.settings.removeDuplicateArtists,null)>-1:e.settings.removeDuplicateArtists},on:{change:function(i){var r=e.settings.removeDuplicateArtists,s=i.target,o=!!s.checked;if(Array.isArray(r)){var l=null,c=e._i(r,l);s.checked?c<0&&e.$set(e.settings,"removeDuplicateArtists",r.concat([l])):c>-1&&e.$set(e.settings,"removeDuplicateArtists",r.slice(0,c).concat(r.slice(c+1)))}else e.$set(e.settings,"removeDuplicateArtists",o)}}}),e._v(" "),n("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeDuplicateArtists")))])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.dateFormat.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.dateFormat,expression:"settings.dateFormat"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"dateFormat",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"Y-M-D"}},[e._v(` - `+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day"))+` - `)]),e._v(" "),n("option",{attrs:{value:"Y-D-M"}},[e._v(` - `+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month"))+` - `)]),e._v(" "),n("option",{attrs:{value:"D-M-Y"}},[e._v(` - `+e._s(e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.year"))+` - `)]),e._v(" "),n("option",{attrs:{value:"M-D-Y"}},[e._v(` - `+e._s(e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.year"))+` - `)]),e._v(" "),n("option",{attrs:{value:"Y"}},[e._v(e._s(e.$t("settings.other.dateFormat.year")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.featuredToTitle.title")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.featuredToTitle,expression:"settings.featuredToTitle"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"featuredToTitle",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"0"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.0")))]),e._v(" "),n("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.1")))]),e._v(" "),n("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.3")))]),e._v(" "),n("option",{attrs:{value:"2"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.2")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.titleCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.titleCasing,expression:"settings.titleCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"titleCasing",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.artistCasing")))]),e._v(" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistCasing,expression:"settings.artistCasing"}],on:{change:function(i){var r=Array.prototype.filter.call(i.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.$set(e.settings,"artistCasing",i.target.multiple?r:r[0])}}},[n("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),e._v(" "),n("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),e._v(" "),n("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),e._v(" "),n("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),e._v(" "),n("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.previewVolume")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.modelVolume,expression:"modelVolume",modifiers:{number:!0}}],staticClass:"slider",attrs:{max:"100",min:"0",step:"1",type:"range"},domProps:{value:e.modelVolume},on:{__r:function(i){e.modelVolume=e._n(i.target.value)},blur:function(i){return e.$forceUpdate()}}}),e._v(" "),n("span",[e._v(e._s(e.previewVolume)+"%")])]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.executeCommand.title")))]),e._v(" "),n("p",{staticClass:"secondary-text"},[e._v(e._s(e.$t("settings.other.executeCommand.description")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.executeCommand,expression:"settings.executeCommand"}],attrs:{type:"text"},domProps:{value:e.settings.executeCommand},on:{input:function(i){i.target.composing||e.$set(e.settings,"executeCommand",i.target.value)}}})])]),e._v(" "),n("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[n("h3",{staticClass:"settings-group__header"},[n("svg",{staticClass:"mr-4 w-6 h-6",staticStyle:{fill:"#1db954"},attrs:{"enable-background":"new 0 0 24 24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"m12 24c6.624 0 12-5.376 12-12s-5.376-12-12-12-12 5.376-12 12 5.376 12 12 12zm4.872-6.344v.001c-.807 0-3.356-2.828-10.52-1.36-.189.049-.436.126-.576.126-.915 0-1.09-1.369-.106-1.578 3.963-.875 8.013-.798 11.467 1.268.824.526.474 1.543-.265 1.543zm1.303-3.173c-.113-.03-.08.069-.597-.203-3.025-1.79-7.533-2.512-11.545-1.423-.232.063-.358.126-.576.126-1.071 0-1.355-1.611-.188-1.94 4.716-1.325 9.775-.552 13.297 1.543.392.232.547.533.547.953-.005.522-.411.944-.938.944zm-13.627-7.485c4.523-1.324 11.368-.906 15.624 1.578 1.091.629.662 2.22-.498 2.22l-.001-.001c-.252 0-.407-.063-.625-.189-3.443-2.056-9.604-2.549-13.59-1.436-.175.048-.393.125-.625.125-.639 0-1.127-.499-1.127-1.142 0-.657.407-1.029.842-1.155z"}})]),e._v(` - `+e._s(e.$t("settings.spotify.title"))+` - `)])]},proxy:!0}])},[e._v(" "),n("RouterLink",{attrs:{to:{name:"Spotify Features"}}},[e._v(` - `+e._s(e.$t("settings.spotify.question"))+` - `)]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientId",i.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(i){i.target.composing||e.$set(e.spotifyFeatures,"clientSecret",i.target.value)}}})]),e._v(" "),n("div",{staticClass:"input-group"},[n("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(i){i.target.composing||(e.spotifyUser=i.target.value)}}})])],1),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),e._v(" "),n("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},__vue_staticRenderFns__$u=[];const __vue_inject_styles__$u=function(e){!e||e("data-v-17440f18_0",{source:"#logged_in_info[data-v-17440f18]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-17440f18]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-17440f18]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current svg[data-v-17440f18]{filter:brightness(1)}.locale-flag[data-v-17440f18] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-17440f18]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-17440f18]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-17440f18]{margin-right:1rem}.settings-container[data-v-17440f18]{display:flex}.settings-container__half[data-v-17440f18]{width:50%}.settings-container__third[data-v-17440f18]{width:33%}.settings-container__third--only-checkbox[data-v-17440f18]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>*[data-v-17440f18],.settings-container__third>*[data-v-17440f18]{margin-bottom:1rem}.with-checkbox[data-v-17440f18]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-17440f18]{cursor:pointer}.with-checkbox .checkbox-text[data-v-17440f18]{margin-left:10px;cursor:pointer;user-select:none}.input-group .input-group-text[data-v-17440f18]{margin-bottom:.5rem}",map:void 0,media:void 0})},__vue_scope_id__$u="data-v-17440f18",__vue_module_identifier__$u=void 0,__vue_is_functional_template__$u=!1;var Settings=normalizeComponent_1({render:__vue_render__$u,staticRenderFns:__vue_staticRenderFns__$u},__vue_inject_styles__$u,__vue_script__$s,__vue_scope_id__$u,__vue_is_functional_template__$u,__vue_module_identifier__$u,browser,void 0),script$t={data(){return{title:"",metadata:"",release_date:"",label:"",explicit:!1,image:"",type:"empty",link:"",body:[]}},mounted(){socket.on("show_album",this.showAlbum),socket.on("show_playlist",this.showPlaylist),socket.on("show_spotifyplaylist",this.showSpotifyPlaylist)},methods:{playPausePreview,reset(){this.title="Loading...",this.image="",this.metadata="",this.label="",this.release_date="",this.explicit=!1,this.type="empty",this.body=[]},addToQueue(e){sendAddToQueue(e.currentTarget.dataset.link)},toggleAll(e){this.body.forEach(a=>{a.type=="track"&&(a.selected=e.currentTarget.checked)})},selectedLinks(){var e=[];return this.body&&this.body.forEach(a=>{a.type=="track"&&a.selected&&e.push(this.type=="spotifyPlaylist"?a.uri:a.link)}),e.join(";")},convertDuration:Utils.convertDuration,showAlbum(e){this.reset();const{id:a,title:n,explicit_lyrics:i,label:r,artist:{name:s},tracks:o,tracks:{length:l},release_date:c,cover_xl:u}=e;this.type="album",this.link=`https://www.deezer.com/album/${a}`,this.title=n,this.explicit=i,this.label=r,this.metadata=`${s} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,this.release_date=c.substring(0,10),this.image=u,isEmpty(o)?this.body=null:this.body=o},showPlaylist(e){this.reset();const{id:a,title:n,picture_xl:i,creation_date:r,creator:{name:s},tracks:o,tracks:{length:l}}=e;this.type="playlist",this.link=`https://www.deezer.com/playlist/${a}`,this.title=n,this.image=i,this.release_date=r.substring(0,10),this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},showSpotifyPlaylist(e){this.reset();const{uri:a,name:n,images:i,images:{length:r},owner:{display_name:s},tracks:o,tracks:{length:l}}=e;this.type="spotifyPlaylist",this.link=a,this.title=n,this.image=r?i[0].url:"https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg",this.release_date="",this.metadata=`${this.$t("globals.by",{artist:s})} \u2022 ${this.$tc("globals.listTabs.trackN",l)}`,isEmpty(o)?this.body=null:this.body=o},selectRow(e,a){a.selected=!a.selected}}};const __vue_script__$t=script$t;var __vue_render__$v=function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("div",{ref:"root",staticClass:"relative fixed-footer bg-background-main image-header"},[n("header",{style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[n("h1",{staticClass:"flex items-center m-0 text-5xl"},[e._v(` - `+e._s(e.title)+" "),e.explicit?n("i",{staticClass:"material-icons title-icon title-icon--right"},[e._v("explicit")]):e._e()]),e._v(" "),n("h2",{staticClass:"m-0 mb-3 text-lg"},[e.metadata?n("p",[e._v(e._s(e.metadata))]):e._e(),e._v(" "),e.release_date?n("p",[e._v(e._s(e.release_date))]):e._e()])]),e._v(" "),n("table",{staticClass:"table table--tracklist"},[n("thead",[n("tr",[e._m(0),e._v(" "),n("th",[e._v("#")]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),e._v(" "),n("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),e._v(" "),e.type==="playlist"?n("th",[e._v(e._s(e.$tc("globals.listTabs.album",1)))]):e._e(),e._v(" "),e._m(1),e._v(" "),n("th",{staticClass:"table__icon table__cell--center clickable"},[n("input",{staticClass:"selectAll",attrs:{type:"checkbox"},on:{click:e.toggleAll}})])])]),e._v(" "),n("tbody",[e.type!=="spotifyPlaylist"?[e._l(e.body,function(i,r){return[i.type=="track"?n("tr",{on:{click:function(s){return e.selectRow(r,i)}}},[n("td",{staticClass:"table__cell--x-small table__cell--center"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[n("i",e._g({staticClass:"material-icons",class:{preview_playlist_controls:i.preview,"cursor-pointer":i.preview,disabled:!i.preview},attrs:{"data-preview":i.preview,title:e.$t("globals.play_hint")}},{click:i.preview?e.playPausePreview:!1}),[e._v(` - play_arrow - `)])])]),e._v(" "),n("td",{staticClass:"table__cell--small table__cell--center track_position"},[e._v(` - `+e._s(e.type==="album"?i.track_position:e.body.indexOf(i)+1)+` - `)]),e._v(" "),n("td",{staticClass:"table__cell--large table__cell--with-icon"},[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[i.explicit_lyrics?n("i",{staticClass:"material-icons title-icon"},[e._v(" explicit ")]):e._e(),e._v(` - `+e._s(i.title+(i.title_version&&i.title.indexOf(i.title_version)==-1?" "+i.title_version:""))+` - `)])]),e._v(" "),n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Artist",params:{id:i.artist.id}}}},[e._v(` - `+e._s(i.artist.name)+` - `)]),e._v(" "),e.type==="playlist"?n("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{tag:"td",to:{name:"Album",params:{id:i.album.id}}}},[e._v(` - `+e._s(i.album.title)+` - `)]):e._e(),e._v(" "),n("td",{staticClass:"table__cell--center",class:{"table__cell--small":e.type==="album","table__cell--x-small":e.type==="playlist"}},[e._v(` - `+e._s(e.convertDuration(i.duration))+` - `)]),e._v(" "),n("td",{staticClass:"table__icon table__cell--center"},[n("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])],1):i.type=="disc_separator"?n("tr",{staticClass:"table__row-no-highlight",staticStyle:{opacity:"0.54"}},[e._m(2,!0),e._v(" "),n("td",{staticClass:"table__cell--center"},[e._v(` - `+e._s(i.number)+` - `)]),e._v(" "),n("td",{attrs:{colspan:"4"}})]):e._e()]})]:e._l(e.body,function(i,r){return n("tr",[n("td",[i.preview_url?n("i",{staticClass:"material-icons",class:{preview_playlist_controls:i.preview_url,"cursor-pointer":i.preview_url},attrs:{"data-preview":i.preview_url,title:e.$t("globals.play_hint")},on:{click:e.playPausePreview}},[e._v(` - play_arrow - `)]):n("i",{staticClass:"material-icons disabled"},[e._v("play_arrow")])]),e._v(" "),n("td",[e._v(e._s(r+1))]),e._v(" "),n("td",{staticClass:"flex items-center"},[i.explicit?n("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(` - `+e._s(i.name)+` - `)]),e._v(" "),n("td",[e._v(e._s(i.artists[0].name))]),e._v(" "),n("td",[e._v(e._s(i.album.name))]),e._v(" "),n("td",[e._v(e._s(e.convertDuration(Math.floor(i.duration_ms/1e3))))]),e._v(" "),n("td",[n("input",{directives:[{name:"model",rawName:"v-model",value:i.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.selected)?e._i(i.selected,null)>-1:i.selected},on:{change:function(s){var o=i.selected,l=s.target,c=!!l.checked;if(Array.isArray(o)){var u=null,d=e._i(o,u);l.checked?d<0&&e.$set(i,"selected",o.concat([u])):d>-1&&e.$set(i,"selected",o.slice(0,d).concat(o.slice(d+1)))}else e.$set(i,"selected",c)}}})])])})],2)]),e._v(" "),e.label?n("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),e._v(" "),n("footer",{staticClass:"bg-background-main"},[n("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` - `+e._s(""+e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.type,1)}))+` - `)]),e._v(" "),n("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(i){return i.stopPropagation(),e.addToQueue(i)}}},[e._v(` - `+e._s(e.$t("tracklist.downloadSelection"))),n("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])},__vue_staticRenderFns__$v=[function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("th",[n("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("td",[n("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[n("i",{staticClass:"material-icons"},[e._v("album")])])])}];const __vue_inject_styles__$v=void 0,__vue_scope_id__$v=void 0,__vue_module_identifier__$v=void 0,__vue_is_functional_template__$v=!1;var Tracklist=normalizeComponent_1({render:__vue_render__$v,staticRenderFns:__vue_staticRenderFns__$v},__vue_inject_styles__$v,__vue_script__$t,__vue_scope_id__$v,__vue_is_functional_template__$v,__vue_module_identifier__$v,void 0,void 0);Vue.use(VueRouter);const routes=[{path:window.location.pathname,name:"Home",component:Home,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Tracklist},{path:"/artist/:id",name:"Artist",component:Artist,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Tracklist},{path:"/playlist/:id",name:"Playlist",component:Tracklist},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Tracklist},{path:"/charts",name:"Charts",component:Charts,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Favorites,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:Errors},{path:"/link-analyzer",name:"Link Analyzer",component:LinkAnalyzer},{path:"/info-arl",name:"ARL",component:InfoArl},{path:"/info-spotify",name:"Spotify Features",component:InfoSpotifyFeatures},{path:"/settings",name:"Settings",component:Settings},{path:"/search",name:"Search",component:Search,meta:{notKeepAlive:!0}},{path:"*",component:Home}],router=new VueRouter({mode:"history",routes,scrollBehavior(e,a,n){return{x:0,y:0}}});router.beforeEach((e,a,n)=>{let i=null;switch(e.name){case"Tracklist":i={type:e.params.type,id:e.params.id};break;case"Album":i={type:"album",id:e.params.id};break;case"Playlist":i={type:"playlist",id:e.params.id};break;case"Spotify Playlist":i={type:"spotifyplaylist",id:e.params.id};break}i&&(socket.emit("getTracklist",i),fetchData("getTracklist",i)),n()});async function startApp(){new Vue({store,router,i18n,render:a=>a(App)}).$mount("#app");const e=await(await fetch("connect")).json();if(store.dispatch("setAppInfo",e.update),e.autologin){console.info("Autologin");let a=localStorage.getItem("arl");const n=localStorage.getItem("accountNum");if(a){a=a.trim();let i;n!==0?i=await fetchData("login",{arl:a,force:!0,child:n||0}):i=await fetchData("login",{arl:a}),loggedIn(i)}}}function initClient(){store.dispatch("setClientMode",!0),setClientModeKeyBindings()}document.addEventListener("DOMContentLoaded",startApp),window.addEventListener("pywebviewready",initClient),document.addEventListener("paste",e=>{if(e.target.localName==="input")return;let a=e.clipboardData.getData("Text");if(isValidURL(a))router.currentRoute.name==="Link Analyzer"?socket.emit("analyzeLink",a):(a.indexOf(` -`)!=-1&&(a=a.replace(/\n/g,";")),sendAddToQueue(a));else{let n=document.querySelector("#searchbar");n.select(),n.setSelectionRange(0,99999)}});function setClientModeKeyBindings(){document.addEventListener("keyup",e=>{e.altKey&&e.key==="ArrowLeft"&&router.back(),e.altKey&&e.key==="ArrowRight"&&router.forward()})}socket.on("message",function(e){console.log(e)});function loggedIn(e){const{status:a,user:n}=e;switch(a){case 1:case 3:toast(i18n.t("toasts.loggedIn"),"done",!0,"login-toast"),store.dispatch("login",e);break;case 2:toast(i18n.t("toasts.alreadyLogged"),"done",!0,"login-toast"),store.dispatch("setUser",n);break;case 0:toast(i18n.t("toasts.loginFailed"),"close",!0,"login-toast"),store.dispatch("removeARL");break;case-1:toast(i18n.t("toasts.deezerNotAvailable"),"close",!0,"login-toast");return}}socket.on("restoringQueue",function(){toast(i18n.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")}),socket.on("cancellingCurrentItem",function(e){toast(i18n.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)}),socket.on("currentItemCancelled",function(e){toast(i18n.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)}),socket.on("startAddingArtist",function(e){toast(i18n.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)}),socket.on("finishAddingArtist",function(e){toast(i18n.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)}),socket.on("startConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)}),socket.on("finishConvertingSpotifyPlaylist",function(e){toast(i18n.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)}),socket.on("errorMessage",function(e){toast(e,"error")}),socket.on("queueError",function(e){e.errid?toast(e.link+" - "+i18n.t(`errors.ids.${e.errid}`),"error"):toast(e.link+" - "+e.error,"error")}),socket.on("alreadyInQueue",function(e){toast(i18n.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")}),socket.on("loginNeededToDownload",function(e){toast(i18n.t("toasts.loginNeededToDownload"),"report")}),socket.on("startGeneratingItems",function(e){toast(i18n.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)}),socket.on("finishGeneratingItems",function(e){toast(i18n.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)}); + */ +/* */ + +function assert$3 (condition, message) { + if (!condition) { + throw new Error(("[vue-router] " + message)) + } +} + +function warn$5 (condition, message) { + if ( !condition) { + typeof console !== 'undefined' && console.warn(("[vue-router] " + message)); + } +} + +function extend$2 (a, b) { + for (var key in b) { + a[key] = b[key]; + } + return a +} + +/* */ + +var encodeReserveRE = /[!'()*]/g; +var encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); }; +var commaRE = /%2C/g; + +// fixed encodeURIComponent which is more conformant to RFC3986: +// - escapes [!'()*] +// - preserve commas +var encode = function (str) { return encodeURIComponent(str) + .replace(encodeReserveRE, encodeReserveReplacer) + .replace(commaRE, ','); }; + +function decode (str) { + try { + return decodeURIComponent(str) + } catch (err) { + { + warn$5(false, ("Error decoding \"" + str + "\". Leaving it intact.")); + } + } + return str +} + +function resolveQuery ( + query, + extraQuery, + _parseQuery +) { + if ( extraQuery === void 0 ) extraQuery = {}; + + var parse = _parseQuery || parseQuery; + var parsedQuery; + try { + parsedQuery = parse(query || ''); + } catch (e) { + warn$5(false, e.message); + parsedQuery = {}; + } + for (var key in extraQuery) { + var value = extraQuery[key]; + parsedQuery[key] = Array.isArray(value) + ? value.map(castQueryParamValue) + : castQueryParamValue(value); + } + return parsedQuery +} + +var castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); }; + +function parseQuery (query) { + var res = {}; + + query = query.trim().replace(/^(\?|#|&)/, ''); + + if (!query) { + return res + } + + query.split('&').forEach(function (param) { + var parts = param.replace(/\+/g, ' ').split('='); + var key = decode(parts.shift()); + var val = parts.length > 0 ? decode(parts.join('=')) : null; + + if (res[key] === undefined) { + res[key] = val; + } else if (Array.isArray(res[key])) { + res[key].push(val); + } else { + res[key] = [res[key], val]; + } + }); + + return res +} + +function stringifyQuery (obj) { + var res = obj + ? Object.keys(obj) + .map(function (key) { + var val = obj[key]; + + if (val === undefined) { + return '' + } + + if (val === null) { + return encode(key) + } + + if (Array.isArray(val)) { + var result = []; + val.forEach(function (val2) { + if (val2 === undefined) { + return + } + if (val2 === null) { + result.push(encode(key)); + } else { + result.push(encode(key) + '=' + encode(val2)); + } + }); + return result.join('&') + } + + return encode(key) + '=' + encode(val) + }) + .filter(function (x) { return x.length > 0; }) + .join('&') + : null; + return res ? ("?" + res) : '' +} + +/* */ + +var trailingSlashRE = /\/?$/; + +function createRoute ( + record, + location, + redirectedFrom, + router +) { + var stringifyQuery = router && router.options.stringifyQuery; + + var query = location.query || {}; + try { + query = clone(query); + } catch (e) {} + + var route = { + name: location.name || (record && record.name), + meta: (record && record.meta) || {}, + path: location.path || '/', + hash: location.hash || '', + query: query, + params: location.params || {}, + fullPath: getFullPath(location, stringifyQuery), + matched: record ? formatMatch(record) : [] + }; + if (redirectedFrom) { + route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery); + } + return Object.freeze(route) +} + +function clone (value) { + if (Array.isArray(value)) { + return value.map(clone) + } else if (value && typeof value === 'object') { + var res = {}; + for (var key in value) { + res[key] = clone(value[key]); + } + return res + } else { + return value + } +} + +// the starting route that represents the initial state +var START = createRoute(null, { + path: '/' +}); + +function formatMatch (record) { + var res = []; + while (record) { + res.unshift(record); + record = record.parent; + } + return res +} + +function getFullPath ( + ref, + _stringifyQuery +) { + var path = ref.path; + var query = ref.query; if ( query === void 0 ) query = {}; + var hash = ref.hash; if ( hash === void 0 ) hash = ''; + + var stringify = _stringifyQuery || stringifyQuery; + return (path || '/') + stringify(query) + hash +} + +function isSameRoute (a, b) { + if (b === START) { + return a === b + } else if (!b) { + return false + } else if (a.path && b.path) { + return ( + a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && + a.hash === b.hash && + isObjectEqual(a.query, b.query) + ) + } else if (a.name && b.name) { + return ( + a.name === b.name && + a.hash === b.hash && + isObjectEqual(a.query, b.query) && + isObjectEqual(a.params, b.params) + ) + } else { + return false + } +} + +function isObjectEqual (a, b) { + if ( a === void 0 ) a = {}; + if ( b === void 0 ) b = {}; + + // handle null value #1566 + if (!a || !b) { return a === b } + var aKeys = Object.keys(a).sort(); + var bKeys = Object.keys(b).sort(); + if (aKeys.length !== bKeys.length) { + return false + } + return aKeys.every(function (key, i) { + var aVal = a[key]; + var bKey = bKeys[i]; + if (bKey !== key) { return false } + var bVal = b[key]; + // query values can be null and undefined + if (aVal == null || bVal == null) { return aVal === bVal } + // check nested equality + if (typeof aVal === 'object' && typeof bVal === 'object') { + return isObjectEqual(aVal, bVal) + } + return String(aVal) === String(bVal) + }) +} + +function isIncludedRoute (current, target) { + return ( + current.path.replace(trailingSlashRE, '/').indexOf( + target.path.replace(trailingSlashRE, '/') + ) === 0 && + (!target.hash || current.hash === target.hash) && + queryIncludes(current.query, target.query) + ) +} + +function queryIncludes (current, target) { + for (var key in target) { + if (!(key in current)) { + return false + } + } + return true +} + +function handleRouteEntered (route) { + for (var i = 0; i < route.matched.length; i++) { + var record = route.matched[i]; + for (var name in record.instances) { + var instance = record.instances[name]; + var cbs = record.enteredCbs[name]; + if (!instance || !cbs) { continue } + delete record.enteredCbs[name]; + for (var i$1 = 0; i$1 < cbs.length; i$1++) { + if (!instance._isBeingDestroyed) { cbs[i$1](instance); } + } + } + } +} + +var View = { + name: 'RouterView', + functional: true, + props: { + name: { + type: String, + default: 'default' + } + }, + render: function render (_, ref) { + var props = ref.props; + var children = ref.children; + var parent = ref.parent; + var data = ref.data; + + // used by devtools to display a router-view badge + data.routerView = true; + + // directly use parent context's createElement() function + // so that components rendered by router-view can resolve named slots + var h = parent.$createElement; + var name = props.name; + var route = parent.$route; + var cache = parent._routerViewCache || (parent._routerViewCache = {}); + + // determine current view depth, also check to see if the tree + // has been toggled inactive but kept-alive. + var depth = 0; + var inactive = false; + while (parent && parent._routerRoot !== parent) { + var vnodeData = parent.$vnode ? parent.$vnode.data : {}; + if (vnodeData.routerView) { + depth++; + } + if (vnodeData.keepAlive && parent._directInactive && parent._inactive) { + inactive = true; + } + parent = parent.$parent; + } + data.routerViewDepth = depth; + + // render previous view if the tree is inactive and kept-alive + if (inactive) { + var cachedData = cache[name]; + var cachedComponent = cachedData && cachedData.component; + if (cachedComponent) { + // #2301 + // pass props + if (cachedData.configProps) { + fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps); + } + return h(cachedComponent, data, children) + } else { + // render previous empty view + return h() + } + } + + var matched = route.matched[depth]; + var component = matched && matched.components[name]; + + // render empty node if no matched route or no config component + if (!matched || !component) { + cache[name] = null; + return h() + } + + // cache component + cache[name] = { component: component }; + + // attach instance registration hook + // this will be called in the instance's injected lifecycle hooks + data.registerRouteInstance = function (vm, val) { + // val could be undefined for unregistration + var current = matched.instances[name]; + if ( + (val && current !== vm) || + (!val && current === vm) + ) { + matched.instances[name] = val; + } + } + + // also register instance in prepatch hook + // in case the same component instance is reused across different routes + ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) { + matched.instances[name] = vnode.componentInstance; + }; + + // register instance in init hook + // in case kept-alive component be actived when routes changed + data.hook.init = function (vnode) { + if (vnode.data.keepAlive && + vnode.componentInstance && + vnode.componentInstance !== matched.instances[name] + ) { + matched.instances[name] = vnode.componentInstance; + } + + // if the route transition has already been confirmed then we weren't + // able to call the cbs during confirmation as the component was not + // registered yet, so we call it here. + handleRouteEntered(route); + }; + + var configProps = matched.props && matched.props[name]; + // save route and configProps in cache + if (configProps) { + extend$2(cache[name], { + route: route, + configProps: configProps + }); + fillPropsinData(component, data, route, configProps); + } + + return h(component, data, children) + } +}; + +function fillPropsinData (component, data, route, configProps) { + // resolve props + var propsToPass = data.props = resolveProps(route, configProps); + if (propsToPass) { + // clone to prevent mutation + propsToPass = data.props = extend$2({}, propsToPass); + // pass non-declared props as attrs + var attrs = data.attrs = data.attrs || {}; + for (var key in propsToPass) { + if (!component.props || !(key in component.props)) { + attrs[key] = propsToPass[key]; + delete propsToPass[key]; + } + } + } +} + +function resolveProps (route, config) { + switch (typeof config) { + case 'undefined': + return + case 'object': + return config + case 'function': + return config(route) + case 'boolean': + return config ? route.params : undefined + default: + { + warn$5( + false, + "props in \"" + (route.path) + "\" is a " + (typeof config) + ", " + + "expecting an object, function or boolean." + ); + } + } +} + +/* */ + +function resolvePath ( + relative, + base, + append +) { + var firstChar = relative.charAt(0); + if (firstChar === '/') { + return relative + } + + if (firstChar === '?' || firstChar === '#') { + return base + relative + } + + var stack = base.split('/'); + + // remove trailing segment if: + // - not appending + // - appending to trailing slash (last segment is empty) + if (!append || !stack[stack.length - 1]) { + stack.pop(); + } + + // resolve relative path + var segments = relative.replace(/^\//, '').split('/'); + for (var i = 0; i < segments.length; i++) { + var segment = segments[i]; + if (segment === '..') { + stack.pop(); + } else if (segment !== '.') { + stack.push(segment); + } + } + + // ensure leading slash + if (stack[0] !== '') { + stack.unshift(''); + } + + return stack.join('/') +} + +function parsePath$1 (path) { + var hash = ''; + var query = ''; + + var hashIndex = path.indexOf('#'); + if (hashIndex >= 0) { + hash = path.slice(hashIndex); + path = path.slice(0, hashIndex); + } + + var queryIndex = path.indexOf('?'); + if (queryIndex >= 0) { + query = path.slice(queryIndex + 1); + path = path.slice(0, queryIndex); + } + + return { + path: path, + query: query, + hash: hash + } +} + +function cleanPath (path) { + return path.replace(/\/\//g, '/') +} + +var isarray = Array.isArray || function (arr) { + return Object.prototype.toString.call(arr) == '[object Array]'; +}; + +/** + * Expose `pathToRegexp`. + */ +var pathToRegexp_1 = pathToRegexp; +var parse_1 = parse$2; +var compile_1 = compile$1; +var tokensToFunction_1 = tokensToFunction; +var tokensToRegExp_1 = tokensToRegExp; + +/** + * The main path matching regexp utility. + * + * @type {RegExp} + */ +var PATH_REGEXP = new RegExp([ + // Match escaped characters that would otherwise appear in future matches. + // This allows the user to escape special characters that won't transform. + '(\\\\.)', + // Match Express-style parameters and un-named parameters with a prefix + // and optional suffixes. Matches appear as: + // + // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined] + // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined] + // "/*" => ["/", undefined, undefined, undefined, undefined, "*"] + '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))' +].join('|'), 'g'); + +/** + * Parse a string for the raw tokens. + * + * @param {string} str + * @param {Object=} options + * @return {!Array} + */ +function parse$2 (str, options) { + var tokens = []; + var key = 0; + var index = 0; + var path = ''; + var defaultDelimiter = options && options.delimiter || '/'; + var res; + + while ((res = PATH_REGEXP.exec(str)) != null) { + var m = res[0]; + var escaped = res[1]; + var offset = res.index; + path += str.slice(index, offset); + index = offset + m.length; + + // Ignore already escaped sequences. + if (escaped) { + path += escaped[1]; + continue + } + + var next = str[index]; + var prefix = res[2]; + var name = res[3]; + var capture = res[4]; + var group = res[5]; + var modifier = res[6]; + var asterisk = res[7]; + + // Push the current path onto the tokens. + if (path) { + tokens.push(path); + path = ''; + } + + var partial = prefix != null && next != null && next !== prefix; + var repeat = modifier === '+' || modifier === '*'; + var optional = modifier === '?' || modifier === '*'; + var delimiter = res[2] || defaultDelimiter; + var pattern = capture || group; + + tokens.push({ + name: name || key++, + prefix: prefix || '', + delimiter: delimiter, + optional: optional, + repeat: repeat, + partial: partial, + asterisk: !!asterisk, + pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?') + }); + } + + // Match any characters still remaining. + if (index < str.length) { + path += str.substr(index); + } + + // If the path exists, push it onto the end. + if (path) { + tokens.push(path); + } + + return tokens +} + +/** + * Compile a string to a template function for the path. + * + * @param {string} str + * @param {Object=} options + * @return {!function(Object=, Object=)} + */ +function compile$1 (str, options) { + return tokensToFunction(parse$2(str, options), options) +} + +/** + * Prettier encoding of URI path segments. + * + * @param {string} + * @return {string} + */ +function encodeURIComponentPretty (str) { + return encodeURI(str).replace(/[\/?#]/g, function (c) { + return '%' + c.charCodeAt(0).toString(16).toUpperCase() + }) +} + +/** + * Encode the asterisk parameter. Similar to `pretty`, but allows slashes. + * + * @param {string} + * @return {string} + */ +function encodeAsterisk (str) { + return encodeURI(str).replace(/[?#]/g, function (c) { + return '%' + c.charCodeAt(0).toString(16).toUpperCase() + }) +} + +/** + * Expose a method for transforming tokens into the path function. + */ +function tokensToFunction (tokens, options) { + // Compile all the tokens into regexps. + var matches = new Array(tokens.length); + + // Compile all the patterns before compilation. + for (var i = 0; i < tokens.length; i++) { + if (typeof tokens[i] === 'object') { + matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options)); + } + } + + return function (obj, opts) { + var path = ''; + var data = obj || {}; + var options = opts || {}; + var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent; + + for (var i = 0; i < tokens.length; i++) { + var token = tokens[i]; + + if (typeof token === 'string') { + path += token; + + continue + } + + var value = data[token.name]; + var segment; + + if (value == null) { + if (token.optional) { + // Prepend partial segment prefixes. + if (token.partial) { + path += token.prefix; + } + + continue + } else { + throw new TypeError('Expected "' + token.name + '" to be defined') + } + } + + if (isarray(value)) { + if (!token.repeat) { + throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`') + } + + if (value.length === 0) { + if (token.optional) { + continue + } else { + throw new TypeError('Expected "' + token.name + '" to not be empty') + } + } + + for (var j = 0; j < value.length; j++) { + segment = encode(value[j]); + + if (!matches[i].test(segment)) { + throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`') + } + + path += (j === 0 ? token.prefix : token.delimiter) + segment; + } + + continue + } + + segment = token.asterisk ? encodeAsterisk(value) : encode(value); + + if (!matches[i].test(segment)) { + throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"') + } + + path += token.prefix + segment; + } + + return path + } +} + +/** + * Escape a regular expression string. + * + * @param {string} str + * @return {string} + */ +function escapeString (str) { + return str.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1') +} + +/** + * Escape the capturing group by escaping special characters and meaning. + * + * @param {string} group + * @return {string} + */ +function escapeGroup (group) { + return group.replace(/([=!:$\/()])/g, '\\$1') +} + +/** + * Attach the keys as a property of the regexp. + * + * @param {!RegExp} re + * @param {Array} keys + * @return {!RegExp} + */ +function attachKeys (re, keys) { + re.keys = keys; + return re +} + +/** + * Get the flags for a regexp from the options. + * + * @param {Object} options + * @return {string} + */ +function flags (options) { + return options && options.sensitive ? '' : 'i' +} + +/** + * Pull out keys from a regexp. + * + * @param {!RegExp} path + * @param {!Array} keys + * @return {!RegExp} + */ +function regexpToRegexp (path, keys) { + // Use a negative lookahead to match only capturing groups. + var groups = path.source.match(/\((?!\?)/g); + + if (groups) { + for (var i = 0; i < groups.length; i++) { + keys.push({ + name: i, + prefix: null, + delimiter: null, + optional: false, + repeat: false, + partial: false, + asterisk: false, + pattern: null + }); + } + } + + return attachKeys(path, keys) +} + +/** + * Transform an array into a regexp. + * + * @param {!Array} path + * @param {Array} keys + * @param {!Object} options + * @return {!RegExp} + */ +function arrayToRegexp (path, keys, options) { + var parts = []; + + for (var i = 0; i < path.length; i++) { + parts.push(pathToRegexp(path[i], keys, options).source); + } + + var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options)); + + return attachKeys(regexp, keys) +} + +/** + * Create a path regexp from string input. + * + * @param {string} path + * @param {!Array} keys + * @param {!Object} options + * @return {!RegExp} + */ +function stringToRegexp (path, keys, options) { + return tokensToRegExp(parse$2(path, options), keys, options) +} + +/** + * Expose a function for taking tokens and returning a RegExp. + * + * @param {!Array} tokens + * @param {(Array|Object)=} keys + * @param {Object=} options + * @return {!RegExp} + */ +function tokensToRegExp (tokens, keys, options) { + if (!isarray(keys)) { + options = /** @type {!Object} */ (keys || options); + keys = []; + } + + options = options || {}; + + var strict = options.strict; + var end = options.end !== false; + var route = ''; + + // Iterate over the tokens and create our regexp string. + for (var i = 0; i < tokens.length; i++) { + var token = tokens[i]; + + if (typeof token === 'string') { + route += escapeString(token); + } else { + var prefix = escapeString(token.prefix); + var capture = '(?:' + token.pattern + ')'; + + keys.push(token); + + if (token.repeat) { + capture += '(?:' + prefix + capture + ')*'; + } + + if (token.optional) { + if (!token.partial) { + capture = '(?:' + prefix + '(' + capture + '))?'; + } else { + capture = prefix + '(' + capture + ')?'; + } + } else { + capture = prefix + '(' + capture + ')'; + } + + route += capture; + } + } + + var delimiter = escapeString(options.delimiter || '/'); + var endsWithDelimiter = route.slice(-delimiter.length) === delimiter; + + // In non-strict mode we allow a slash at the end of match. If the path to + // match already ends with a slash, we remove it for consistency. The slash + // is valid at the end of a path match, not in the middle. This is important + // in non-ending mode, where "/test/" shouldn't match "/test//route". + if (!strict) { + route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'; + } + + if (end) { + route += '$'; + } else { + // In non-ending mode, we need the capturing groups to match as much as + // possible by using a positive lookahead to the end or next path segment. + route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'; + } + + return attachKeys(new RegExp('^' + route, flags(options)), keys) +} + +/** + * Normalize the given path string, returning a regular expression. + * + * An empty array can be passed in for the keys, which will hold the + * placeholder key descriptions. For example, using `/user/:id`, `keys` will + * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`. + * + * @param {(string|RegExp|Array)} path + * @param {(Array|Object)=} keys + * @param {Object=} options + * @return {!RegExp} + */ +function pathToRegexp (path, keys, options) { + if (!isarray(keys)) { + options = /** @type {!Object} */ (keys || options); + keys = []; + } + + options = options || {}; + + if (path instanceof RegExp) { + return regexpToRegexp(path, /** @type {!Array} */ (keys)) + } + + if (isarray(path)) { + return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options) + } + + return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options) +} +pathToRegexp_1.parse = parse_1; +pathToRegexp_1.compile = compile_1; +pathToRegexp_1.tokensToFunction = tokensToFunction_1; +pathToRegexp_1.tokensToRegExp = tokensToRegExp_1; + +/* */ + +// $flow-disable-line +var regexpCompileCache = Object.create(null); + +function fillParams ( + path, + params, + routeMsg +) { + params = params || {}; + try { + var filler = + regexpCompileCache[path] || + (regexpCompileCache[path] = pathToRegexp_1.compile(path)); + + // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }} + // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string + if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; } + + return filler(params, { pretty: true }) + } catch (e) { + { + // Fix #3072 no warn if `pathMatch` is string + warn$5(typeof params.pathMatch === 'string', ("missing param for " + routeMsg + ": " + (e.message))); + } + return '' + } finally { + // delete the 0 if it was added + delete params[0]; + } +} + +/* */ + +function normalizeLocation ( + raw, + current, + append, + router +) { + var next = typeof raw === 'string' ? { path: raw } : raw; + // named target + if (next._normalized) { + return next + } else if (next.name) { + next = extend$2({}, raw); + var params = next.params; + if (params && typeof params === 'object') { + next.params = extend$2({}, params); + } + return next + } + + // relative params + if (!next.path && next.params && current) { + next = extend$2({}, next); + next._normalized = true; + var params$1 = extend$2(extend$2({}, current.params), next.params); + if (current.name) { + next.name = current.name; + next.params = params$1; + } else if (current.matched.length) { + var rawPath = current.matched[current.matched.length - 1].path; + next.path = fillParams(rawPath, params$1, ("path " + (current.path))); + } else { + warn$5(false, "relative params navigation requires a current route."); + } + return next + } + + var parsedPath = parsePath$1(next.path || ''); + var basePath = (current && current.path) || '/'; + var path = parsedPath.path + ? resolvePath(parsedPath.path, basePath, append || next.append) + : basePath; + + var query = resolveQuery( + parsedPath.query, + next.query, + router && router.options.parseQuery + ); + + var hash = next.hash || parsedPath.hash; + if (hash && hash.charAt(0) !== '#') { + hash = "#" + hash; + } + + return { + _normalized: true, + path: path, + query: query, + hash: hash + } +} + +/* */ + +// work around weird flow bug +var toTypes = [String, Object]; +var eventTypes = [String, Array]; + +var noop$1 = function () {}; + +var Link = { + name: 'RouterLink', + props: { + to: { + type: toTypes, + required: true + }, + tag: { + type: String, + default: 'a' + }, + exact: Boolean, + append: Boolean, + replace: Boolean, + activeClass: String, + exactActiveClass: String, + ariaCurrentValue: { + type: String, + default: 'page' + }, + event: { + type: eventTypes, + default: 'click' + } + }, + render: function render (h) { + var this$1 = this; + + var router = this.$router; + var current = this.$route; + var ref = router.resolve( + this.to, + current, + this.append + ); + var location = ref.location; + var route = ref.route; + var href = ref.href; + + var classes = {}; + var globalActiveClass = router.options.linkActiveClass; + var globalExactActiveClass = router.options.linkExactActiveClass; + // Support global empty active class + var activeClassFallback = + globalActiveClass == null ? 'router-link-active' : globalActiveClass; + var exactActiveClassFallback = + globalExactActiveClass == null + ? 'router-link-exact-active' + : globalExactActiveClass; + var activeClass = + this.activeClass == null ? activeClassFallback : this.activeClass; + var exactActiveClass = + this.exactActiveClass == null + ? exactActiveClassFallback + : this.exactActiveClass; + + var compareTarget = route.redirectedFrom + ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router) + : route; + + classes[exactActiveClass] = isSameRoute(current, compareTarget); + classes[activeClass] = this.exact + ? classes[exactActiveClass] + : isIncludedRoute(current, compareTarget); + + var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null; + + var handler = function (e) { + if (guardEvent(e)) { + if (this$1.replace) { + router.replace(location, noop$1); + } else { + router.push(location, noop$1); + } + } + }; + + var on = { click: guardEvent }; + if (Array.isArray(this.event)) { + this.event.forEach(function (e) { + on[e] = handler; + }); + } else { + on[this.event] = handler; + } + + var data = { class: classes }; + + var scopedSlot = + !this.$scopedSlots.$hasNormal && + this.$scopedSlots.default && + this.$scopedSlots.default({ + href: href, + route: route, + navigate: handler, + isActive: classes[activeClass], + isExactActive: classes[exactActiveClass] + }); + + if (scopedSlot) { + if (scopedSlot.length === 1) { + return scopedSlot[0] + } else if (scopedSlot.length > 1 || !scopedSlot.length) { + { + warn$5( + false, + ("RouterLink with to=\"" + (this.to) + "\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.") + ); + } + return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot) + } + } + + if (this.tag === 'a') { + data.on = on; + data.attrs = { href: href, 'aria-current': ariaCurrentValue }; + } else { + // find the first child and apply listener and href + var a = findAnchor(this.$slots.default); + if (a) { + // in case the is a static node + a.isStatic = false; + var aData = (a.data = extend$2({}, a.data)); + aData.on = aData.on || {}; + // transform existing events in both objects into arrays so we can push later + for (var event in aData.on) { + var handler$1 = aData.on[event]; + if (event in on) { + aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1]; + } + } + // append new listeners for router-link + for (var event$1 in on) { + if (event$1 in aData.on) { + // on[event] is always a function + aData.on[event$1].push(on[event$1]); + } else { + aData.on[event$1] = handler; + } + } + + var aAttrs = (a.data.attrs = extend$2({}, a.data.attrs)); + aAttrs.href = href; + aAttrs['aria-current'] = ariaCurrentValue; + } else { + // doesn't have child, apply listener to self + data.on = on; + } + } + + return h(this.tag, data, this.$slots.default) + } +}; + +function guardEvent (e) { + // don't redirect with control keys + if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return } + // don't redirect when preventDefault called + if (e.defaultPrevented) { return } + // don't redirect on right click + if (e.button !== undefined && e.button !== 0) { return } + // don't redirect if `target="_blank"` + if (e.currentTarget && e.currentTarget.getAttribute) { + var target = e.currentTarget.getAttribute('target'); + if (/\b_blank\b/i.test(target)) { return } + } + // this may be a Weex event which doesn't have this method + if (e.preventDefault) { + e.preventDefault(); + } + return true +} + +function findAnchor (children) { + if (children) { + var child; + for (var i = 0; i < children.length; i++) { + child = children[i]; + if (child.tag === 'a') { + return child + } + if (child.children && (child = findAnchor(child.children))) { + return child + } + } + } +} + +var _Vue; + +function install$3 (Vue) { + if (install$3.installed && _Vue === Vue) { return } + install$3.installed = true; + + _Vue = Vue; + + var isDef = function (v) { return v !== undefined; }; + + var registerInstance = function (vm, callVal) { + var i = vm.$options._parentVnode; + if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) { + i(vm, callVal); + } + }; + + Vue.mixin({ + beforeCreate: function beforeCreate () { + if (isDef(this.$options.router)) { + this._routerRoot = this; + this._router = this.$options.router; + this._router.init(this); + Vue.util.defineReactive(this, '_route', this._router.history.current); + } else { + this._routerRoot = (this.$parent && this.$parent._routerRoot) || this; + } + registerInstance(this, this); + }, + destroyed: function destroyed () { + registerInstance(this); + } + }); + + Object.defineProperty(Vue.prototype, '$router', { + get: function get () { return this._routerRoot._router } + }); + + Object.defineProperty(Vue.prototype, '$route', { + get: function get () { return this._routerRoot._route } + }); + + Vue.component('RouterView', View); + Vue.component('RouterLink', Link); + + var strats = Vue.config.optionMergeStrategies; + // use the same hook merging strategy for route hooks + strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created; +} + +/* */ + +var inBrowser$1 = typeof window !== 'undefined'; + +/* */ + +function createRouteMap ( + routes, + oldPathList, + oldPathMap, + oldNameMap +) { + // the path list is used to control path matching priority + var pathList = oldPathList || []; + // $flow-disable-line + var pathMap = oldPathMap || Object.create(null); + // $flow-disable-line + var nameMap = oldNameMap || Object.create(null); + + routes.forEach(function (route) { + addRouteRecord(pathList, pathMap, nameMap, route); + }); + + // ensure wildcard routes are always at the end + for (var i = 0, l = pathList.length; i < l; i++) { + if (pathList[i] === '*') { + pathList.push(pathList.splice(i, 1)[0]); + l--; + i--; + } + } + + { + // warn if routes do not include leading slashes + var found = pathList + // check for missing leading slash + .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; }); + + if (found.length > 0) { + var pathNames = found.map(function (path) { return ("- " + path); }).join('\n'); + warn$5(false, ("Non-nested routes must include a leading slash character. Fix the following routes: \n" + pathNames)); + } + } + + return { + pathList: pathList, + pathMap: pathMap, + nameMap: nameMap + } +} + +function addRouteRecord ( + pathList, + pathMap, + nameMap, + route, + parent, + matchAs +) { + var path = route.path; + var name = route.name; + { + assert$3(path != null, "\"path\" is required in a route configuration."); + assert$3( + typeof route.component !== 'string', + "route config \"component\" for path: " + (String( + path || name + )) + " cannot be a " + "string id. Use an actual component instead." + ); + + warn$5( + // eslint-disable-next-line no-control-regex + !/[^\u0000-\u007F]+/.test(path), + "Route with path \"" + path + "\" contains unencoded characters, make sure " + + "your path is correctly encoded before passing it to the router. Use " + + "encodeURI to encode static segments of your path." + ); + } + + var pathToRegexpOptions = + route.pathToRegexpOptions || {}; + var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict); + + if (typeof route.caseSensitive === 'boolean') { + pathToRegexpOptions.sensitive = route.caseSensitive; + } + + var record = { + path: normalizedPath, + regex: compileRouteRegex(normalizedPath, pathToRegexpOptions), + components: route.components || { default: route.component }, + instances: {}, + enteredCbs: {}, + name: name, + parent: parent, + matchAs: matchAs, + redirect: route.redirect, + beforeEnter: route.beforeEnter, + meta: route.meta || {}, + props: + route.props == null + ? {} + : route.components + ? route.props + : { default: route.props } + }; + + if (route.children) { + // Warn if route is named, does not redirect and has a default child route. + // If users navigate to this route by name, the default child will + // not be rendered (GH Issue #629) + { + if ( + route.name && + !route.redirect && + route.children.some(function (child) { return /^\/?$/.test(child.path); }) + ) { + warn$5( + false, + "Named Route '" + (route.name) + "' has a default child route. " + + "When navigating to this named route (:to=\"{name: '" + (route.name) + "'\"), " + + "the default child route will not be rendered. Remove the name from " + + "this route and use the name of the default child route for named " + + "links instead." + ); + } + } + route.children.forEach(function (child) { + var childMatchAs = matchAs + ? cleanPath((matchAs + "/" + (child.path))) + : undefined; + addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs); + }); + } + + if (!pathMap[record.path]) { + pathList.push(record.path); + pathMap[record.path] = record; + } + + if (route.alias !== undefined) { + var aliases = Array.isArray(route.alias) ? route.alias : [route.alias]; + for (var i = 0; i < aliases.length; ++i) { + var alias = aliases[i]; + if ( alias === path) { + warn$5( + false, + ("Found an alias with the same value as the path: \"" + path + "\". You have to remove that alias. It will be ignored in development.") + ); + // skip in dev to make it work + continue + } + + var aliasRoute = { + path: alias, + children: route.children + }; + addRouteRecord( + pathList, + pathMap, + nameMap, + aliasRoute, + parent, + record.path || '/' // matchAs + ); + } + } + + if (name) { + if (!nameMap[name]) { + nameMap[name] = record; + } else if ( !matchAs) { + warn$5( + false, + "Duplicate named routes definition: " + + "{ name: \"" + name + "\", path: \"" + (record.path) + "\" }" + ); + } + } +} + +function compileRouteRegex ( + path, + pathToRegexpOptions +) { + var regex = pathToRegexp_1(path, [], pathToRegexpOptions); + { + var keys = Object.create(null); + regex.keys.forEach(function (key) { + warn$5( + !keys[key.name], + ("Duplicate param keys in route with path: \"" + path + "\"") + ); + keys[key.name] = true; + }); + } + return regex +} + +function normalizePath ( + path, + parent, + strict +) { + if (!strict) { path = path.replace(/\/$/, ''); } + if (path[0] === '/') { return path } + if (parent == null) { return path } + return cleanPath(((parent.path) + "/" + path)) +} + +/* */ + + + +function createMatcher ( + routes, + router +) { + var ref = createRouteMap(routes); + var pathList = ref.pathList; + var pathMap = ref.pathMap; + var nameMap = ref.nameMap; + + function addRoutes (routes) { + createRouteMap(routes, pathList, pathMap, nameMap); + } + + function match ( + raw, + currentRoute, + redirectedFrom + ) { + var location = normalizeLocation(raw, currentRoute, false, router); + var name = location.name; + + if (name) { + var record = nameMap[name]; + { + warn$5(record, ("Route with name '" + name + "' does not exist")); + } + if (!record) { return _createRoute(null, location) } + var paramNames = record.regex.keys + .filter(function (key) { return !key.optional; }) + .map(function (key) { return key.name; }); + + if (typeof location.params !== 'object') { + location.params = {}; + } + + if (currentRoute && typeof currentRoute.params === 'object') { + for (var key in currentRoute.params) { + if (!(key in location.params) && paramNames.indexOf(key) > -1) { + location.params[key] = currentRoute.params[key]; + } + } + } + + location.path = fillParams(record.path, location.params, ("named route \"" + name + "\"")); + return _createRoute(record, location, redirectedFrom) + } else if (location.path) { + location.params = {}; + for (var i = 0; i < pathList.length; i++) { + var path = pathList[i]; + var record$1 = pathMap[path]; + if (matchRoute(record$1.regex, location.path, location.params)) { + return _createRoute(record$1, location, redirectedFrom) + } + } + } + // no match + return _createRoute(null, location) + } + + function redirect ( + record, + location + ) { + var originalRedirect = record.redirect; + var redirect = typeof originalRedirect === 'function' + ? originalRedirect(createRoute(record, location, null, router)) + : originalRedirect; + + if (typeof redirect === 'string') { + redirect = { path: redirect }; + } + + if (!redirect || typeof redirect !== 'object') { + { + warn$5( + false, ("invalid redirect option: " + (JSON.stringify(redirect))) + ); + } + return _createRoute(null, location) + } + + var re = redirect; + var name = re.name; + var path = re.path; + var query = location.query; + var hash = location.hash; + var params = location.params; + query = re.hasOwnProperty('query') ? re.query : query; + hash = re.hasOwnProperty('hash') ? re.hash : hash; + params = re.hasOwnProperty('params') ? re.params : params; + + if (name) { + // resolved named direct + var targetRecord = nameMap[name]; + { + assert$3(targetRecord, ("redirect failed: named route \"" + name + "\" not found.")); + } + return match({ + _normalized: true, + name: name, + query: query, + hash: hash, + params: params + }, undefined, location) + } else if (path) { + // 1. resolve relative redirect + var rawPath = resolveRecordPath(path, record); + // 2. resolve params + var resolvedPath = fillParams(rawPath, params, ("redirect route with path \"" + rawPath + "\"")); + // 3. rematch with existing query and hash + return match({ + _normalized: true, + path: resolvedPath, + query: query, + hash: hash + }, undefined, location) + } else { + { + warn$5(false, ("invalid redirect option: " + (JSON.stringify(redirect)))); + } + return _createRoute(null, location) + } + } + + function alias ( + record, + location, + matchAs + ) { + var aliasedPath = fillParams(matchAs, location.params, ("aliased route with path \"" + matchAs + "\"")); + var aliasedMatch = match({ + _normalized: true, + path: aliasedPath + }); + if (aliasedMatch) { + var matched = aliasedMatch.matched; + var aliasedRecord = matched[matched.length - 1]; + location.params = aliasedMatch.params; + return _createRoute(aliasedRecord, location) + } + return _createRoute(null, location) + } + + function _createRoute ( + record, + location, + redirectedFrom + ) { + if (record && record.redirect) { + return redirect(record, redirectedFrom || location) + } + if (record && record.matchAs) { + return alias(record, location, record.matchAs) + } + return createRoute(record, location, redirectedFrom, router) + } + + return { + match: match, + addRoutes: addRoutes + } +} + +function matchRoute ( + regex, + path, + params +) { + var m = path.match(regex); + + if (!m) { + return false + } else if (!params) { + return true + } + + for (var i = 1, len = m.length; i < len; ++i) { + var key = regex.keys[i - 1]; + if (key) { + // Fix #1994: using * with props: true generates a param named 0 + params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i]; + } + } + + return true +} + +function resolveRecordPath (path, record) { + return resolvePath(path, record.parent ? record.parent.path : '/', true) +} + +/* */ + +// use User Timing api (if present) for more accurate key precision +var Time = + inBrowser$1 && window.performance && window.performance.now + ? window.performance + : Date; + +function genStateKey () { + return Time.now().toFixed(3) +} + +var _key = genStateKey(); + +function getStateKey () { + return _key +} + +function setStateKey (key) { + return (_key = key) +} + +/* */ + +var positionStore = Object.create(null); + +function setupScroll () { + // Prevent browser scroll behavior on History popstate + if ('scrollRestoration' in window.history) { + window.history.scrollRestoration = 'manual'; + } + // Fix for #1585 for Firefox + // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678 + // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with + // window.location.protocol + '//' + window.location.host + // location.host contains the port and location.hostname doesn't + var protocolAndPath = window.location.protocol + '//' + window.location.host; + var absolutePath = window.location.href.replace(protocolAndPath, ''); + // preserve existing history state as it could be overriden by the user + var stateCopy = extend$2({}, window.history.state); + stateCopy.key = getStateKey(); + window.history.replaceState(stateCopy, '', absolutePath); + window.addEventListener('popstate', handlePopState); + return function () { + window.removeEventListener('popstate', handlePopState); + } +} + +function handleScroll ( + router, + to, + from, + isPop +) { + if (!router.app) { + return + } + + var behavior = router.options.scrollBehavior; + if (!behavior) { + return + } + + { + assert$3(typeof behavior === 'function', "scrollBehavior must be a function"); + } + + // wait until re-render finishes before scrolling + router.app.$nextTick(function () { + var position = getScrollPosition(); + var shouldScroll = behavior.call( + router, + to, + from, + isPop ? position : null + ); + + if (!shouldScroll) { + return + } + + if (typeof shouldScroll.then === 'function') { + shouldScroll + .then(function (shouldScroll) { + scrollToPosition((shouldScroll), position); + }) + .catch(function (err) { + { + assert$3(false, err.toString()); + } + }); + } else { + scrollToPosition(shouldScroll, position); + } + }); +} + +function saveScrollPosition () { + var key = getStateKey(); + if (key) { + positionStore[key] = { + x: window.pageXOffset, + y: window.pageYOffset + }; + } +} + +function handlePopState (e) { + saveScrollPosition(); + if (e.state && e.state.key) { + setStateKey(e.state.key); + } +} + +function getScrollPosition () { + var key = getStateKey(); + if (key) { + return positionStore[key] + } +} + +function getElementPosition (el, offset) { + var docEl = document.documentElement; + var docRect = docEl.getBoundingClientRect(); + var elRect = el.getBoundingClientRect(); + return { + x: elRect.left - docRect.left - offset.x, + y: elRect.top - docRect.top - offset.y + } +} + +function isValidPosition (obj) { + return isNumber(obj.x) || isNumber(obj.y) +} + +function normalizePosition (obj) { + return { + x: isNumber(obj.x) ? obj.x : window.pageXOffset, + y: isNumber(obj.y) ? obj.y : window.pageYOffset + } +} + +function normalizeOffset (obj) { + return { + x: isNumber(obj.x) ? obj.x : 0, + y: isNumber(obj.y) ? obj.y : 0 + } +} + +function isNumber (v) { + return typeof v === 'number' +} + +var hashStartsWithNumberRE = /^#\d/; + +function scrollToPosition (shouldScroll, position) { + var isObject = typeof shouldScroll === 'object'; + if (isObject && typeof shouldScroll.selector === 'string') { + // getElementById would still fail if the selector contains a more complicated query like #main[data-attr] + // but at the same time, it doesn't make much sense to select an element with an id and an extra selector + var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line + ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line + : document.querySelector(shouldScroll.selector); + + if (el) { + var offset = + shouldScroll.offset && typeof shouldScroll.offset === 'object' + ? shouldScroll.offset + : {}; + offset = normalizeOffset(offset); + position = getElementPosition(el, offset); + } else if (isValidPosition(shouldScroll)) { + position = normalizePosition(shouldScroll); + } + } else if (isObject && isValidPosition(shouldScroll)) { + position = normalizePosition(shouldScroll); + } + + if (position) { + // $flow-disable-line + if ('scrollBehavior' in document.documentElement.style) { + window.scrollTo({ + left: position.x, + top: position.y, + // $flow-disable-line + behavior: shouldScroll.behavior + }); + } else { + window.scrollTo(position.x, position.y); + } + } +} + +/* */ + +var supportsPushState = + inBrowser$1 && + (function () { + var ua = window.navigator.userAgent; + + if ( + (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && + ua.indexOf('Mobile Safari') !== -1 && + ua.indexOf('Chrome') === -1 && + ua.indexOf('Windows Phone') === -1 + ) { + return false + } + + return window.history && typeof window.history.pushState === 'function' + })(); + +function pushState (url, replace) { + saveScrollPosition(); + // try...catch the pushState call to get around Safari + // DOM Exception 18 where it limits to 100 pushState calls + var history = window.history; + try { + if (replace) { + // preserve existing history state as it could be overriden by the user + var stateCopy = extend$2({}, history.state); + stateCopy.key = getStateKey(); + history.replaceState(stateCopy, '', url); + } else { + history.pushState({ key: setStateKey(genStateKey()) }, '', url); + } + } catch (e) { + window.location[replace ? 'replace' : 'assign'](url); + } +} + +function replaceState (url) { + pushState(url, true); +} + +/* */ + +function runQueue (queue, fn, cb) { + var step = function (index) { + if (index >= queue.length) { + cb(); + } else { + if (queue[index]) { + fn(queue[index], function () { + step(index + 1); + }); + } else { + step(index + 1); + } + } + }; + step(0); +} + +// When changing thing, also edit router.d.ts +var NavigationFailureType = { + redirected: 2, + aborted: 4, + cancelled: 8, + duplicated: 16 +}; + +function createNavigationRedirectedError (from, to) { + return createRouterError( + from, + to, + NavigationFailureType.redirected, + ("Redirected when going from \"" + (from.fullPath) + "\" to \"" + (stringifyRoute( + to + )) + "\" via a navigation guard.") + ) +} + +function createNavigationDuplicatedError (from, to) { + var error = createRouterError( + from, + to, + NavigationFailureType.duplicated, + ("Avoided redundant navigation to current location: \"" + (from.fullPath) + "\".") + ); + // backwards compatible with the first introduction of Errors + error.name = 'NavigationDuplicated'; + return error +} + +function createNavigationCancelledError (from, to) { + return createRouterError( + from, + to, + NavigationFailureType.cancelled, + ("Navigation cancelled from \"" + (from.fullPath) + "\" to \"" + (to.fullPath) + "\" with a new navigation.") + ) +} + +function createNavigationAbortedError (from, to) { + return createRouterError( + from, + to, + NavigationFailureType.aborted, + ("Navigation aborted from \"" + (from.fullPath) + "\" to \"" + (to.fullPath) + "\" via a navigation guard.") + ) +} + +function createRouterError (from, to, type, message) { + var error = new Error(message); + error._isRouter = true; + error.from = from; + error.to = to; + error.type = type; + + return error +} + +var propertiesToLog = ['params', 'query', 'hash']; + +function stringifyRoute (to) { + if (typeof to === 'string') { return to } + if ('path' in to) { return to.path } + var location = {}; + propertiesToLog.forEach(function (key) { + if (key in to) { location[key] = to[key]; } + }); + return JSON.stringify(location, null, 2) +} + +function isError (err) { + return Object.prototype.toString.call(err).indexOf('Error') > -1 +} + +function isNavigationFailure (err, errorType) { + return ( + isError(err) && + err._isRouter && + (errorType == null || err.type === errorType) + ) +} + +/* */ + +function resolveAsyncComponents (matched) { + return function (to, from, next) { + var hasAsync = false; + var pending = 0; + var error = null; + + flatMapComponents(matched, function (def, _, match, key) { + // if it's a function and doesn't have cid attached, + // assume it's an async component resolve function. + // we are not using Vue's default async resolving mechanism because + // we want to halt the navigation until the incoming component has been + // resolved. + if (typeof def === 'function' && def.cid === undefined) { + hasAsync = true; + pending++; + + var resolve = once$1(function (resolvedDef) { + if (isESModule(resolvedDef)) { + resolvedDef = resolvedDef.default; + } + // save resolved on async factory in case it's used elsewhere + def.resolved = typeof resolvedDef === 'function' + ? resolvedDef + : _Vue.extend(resolvedDef); + match.components[key] = resolvedDef; + pending--; + if (pending <= 0) { + next(); + } + }); + + var reject = once$1(function (reason) { + var msg = "Failed to resolve async component " + key + ": " + reason; + warn$5(false, msg); + if (!error) { + error = isError(reason) + ? reason + : new Error(msg); + next(error); + } + }); + + var res; + try { + res = def(resolve, reject); + } catch (e) { + reject(e); + } + if (res) { + if (typeof res.then === 'function') { + res.then(resolve, reject); + } else { + // new syntax in Vue 2.3 + var comp = res.component; + if (comp && typeof comp.then === 'function') { + comp.then(resolve, reject); + } + } + } + } + }); + + if (!hasAsync) { next(); } + } +} + +function flatMapComponents ( + matched, + fn +) { + return flatten(matched.map(function (m) { + return Object.keys(m.components).map(function (key) { return fn( + m.components[key], + m.instances[key], + m, key + ); }) + })) +} + +function flatten (arr) { + return Array.prototype.concat.apply([], arr) +} + +var hasSymbol$2 = + typeof Symbol === 'function' && + typeof Symbol.toStringTag === 'symbol'; + +function isESModule (obj) { + return obj.__esModule || (hasSymbol$2 && obj[Symbol.toStringTag] === 'Module') +} + +// in Webpack 2, require.ensure now also returns a Promise +// so the resolve/reject functions may get called an extra time +// if the user uses an arrow function shorthand that happens to +// return that Promise. +function once$1 (fn) { + var called = false; + return function () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + if (called) { return } + called = true; + return fn.apply(this, args) + } +} + +/* */ + +var History = function History (router, base) { + this.router = router; + this.base = normalizeBase(base); + // start with a route object that stands for "nowhere" + this.current = START; + this.pending = null; + this.ready = false; + this.readyCbs = []; + this.readyErrorCbs = []; + this.errorCbs = []; + this.listeners = []; +}; + +History.prototype.listen = function listen (cb) { + this.cb = cb; +}; + +History.prototype.onReady = function onReady (cb, errorCb) { + if (this.ready) { + cb(); + } else { + this.readyCbs.push(cb); + if (errorCb) { + this.readyErrorCbs.push(errorCb); + } + } +}; + +History.prototype.onError = function onError (errorCb) { + this.errorCbs.push(errorCb); +}; + +History.prototype.transitionTo = function transitionTo ( + location, + onComplete, + onAbort +) { + var this$1 = this; + + var route; + // catch redirect option https://github.com/vuejs/vue-router/issues/3201 + try { + route = this.router.match(location, this.current); + } catch (e) { + this.errorCbs.forEach(function (cb) { + cb(e); + }); + // Exception should still be thrown + throw e + } + var prev = this.current; + this.confirmTransition( + route, + function () { + this$1.updateRoute(route); + onComplete && onComplete(route); + this$1.ensureURL(); + this$1.router.afterHooks.forEach(function (hook) { + hook && hook(route, prev); + }); + + // fire ready cbs once + if (!this$1.ready) { + this$1.ready = true; + this$1.readyCbs.forEach(function (cb) { + cb(route); + }); + } + }, + function (err) { + if (onAbort) { + onAbort(err); + } + if (err && !this$1.ready) { + // Initial redirection should not mark the history as ready yet + // because it's triggered by the redirection instead + // https://github.com/vuejs/vue-router/issues/3225 + // https://github.com/vuejs/vue-router/issues/3331 + if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) { + this$1.ready = true; + this$1.readyErrorCbs.forEach(function (cb) { + cb(err); + }); + } + } + } + ); +}; + +History.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) { + var this$1 = this; + + var current = this.current; + this.pending = route; + var abort = function (err) { + // changed after adding errors with + // https://github.com/vuejs/vue-router/pull/3047 before that change, + // redirect and aborted navigation would produce an err == null + if (!isNavigationFailure(err) && isError(err)) { + if (this$1.errorCbs.length) { + this$1.errorCbs.forEach(function (cb) { + cb(err); + }); + } else { + warn$5(false, 'uncaught error during route navigation:'); + console.error(err); + } + } + onAbort && onAbort(err); + }; + var lastRouteIndex = route.matched.length - 1; + var lastCurrentIndex = current.matched.length - 1; + if ( + isSameRoute(route, current) && + // in the case the route map has been dynamically appended to + lastRouteIndex === lastCurrentIndex && + route.matched[lastRouteIndex] === current.matched[lastCurrentIndex] + ) { + this.ensureURL(); + return abort(createNavigationDuplicatedError(current, route)) + } + + var ref = resolveQueue( + this.current.matched, + route.matched + ); + var updated = ref.updated; + var deactivated = ref.deactivated; + var activated = ref.activated; + + var queue = [].concat( + // in-component leave guards + extractLeaveGuards(deactivated), + // global before hooks + this.router.beforeHooks, + // in-component update hooks + extractUpdateHooks(updated), + // in-config enter guards + activated.map(function (m) { return m.beforeEnter; }), + // async components + resolveAsyncComponents(activated) + ); + + var iterator = function (hook, next) { + if (this$1.pending !== route) { + return abort(createNavigationCancelledError(current, route)) + } + try { + hook(route, current, function (to) { + if (to === false) { + // next(false) -> abort navigation, ensure current URL + this$1.ensureURL(true); + abort(createNavigationAbortedError(current, route)); + } else if (isError(to)) { + this$1.ensureURL(true); + abort(to); + } else if ( + typeof to === 'string' || + (typeof to === 'object' && + (typeof to.path === 'string' || typeof to.name === 'string')) + ) { + // next('/') or next({ path: '/' }) -> redirect + abort(createNavigationRedirectedError(current, route)); + if (typeof to === 'object' && to.replace) { + this$1.replace(to); + } else { + this$1.push(to); + } + } else { + // confirm transition and pass on the value + next(to); + } + }); + } catch (e) { + abort(e); + } + }; + + runQueue(queue, iterator, function () { + // wait until async components are resolved before + // extracting in-component enter guards + var enterGuards = extractEnterGuards(activated); + var queue = enterGuards.concat(this$1.router.resolveHooks); + runQueue(queue, iterator, function () { + if (this$1.pending !== route) { + return abort(createNavigationCancelledError(current, route)) + } + this$1.pending = null; + onComplete(route); + if (this$1.router.app) { + this$1.router.app.$nextTick(function () { + handleRouteEntered(route); + }); + } + }); + }); +}; + +History.prototype.updateRoute = function updateRoute (route) { + this.current = route; + this.cb && this.cb(route); +}; + +History.prototype.setupListeners = function setupListeners () { + // Default implementation is empty +}; + +History.prototype.teardown = function teardown () { + // clean up event listeners + // https://github.com/vuejs/vue-router/issues/2341 + this.listeners.forEach(function (cleanupListener) { + cleanupListener(); + }); + this.listeners = []; + + // reset current history route + // https://github.com/vuejs/vue-router/issues/3294 + this.current = START; + this.pending = null; +}; + +function normalizeBase (base) { + if (!base) { + if (inBrowser$1) { + // respect tag + var baseEl = document.querySelector('base'); + base = (baseEl && baseEl.getAttribute('href')) || '/'; + // strip full URL origin + base = base.replace(/^https?:\/\/[^\/]+/, ''); + } else { + base = '/'; + } + } + // make sure there's the starting slash + if (base.charAt(0) !== '/') { + base = '/' + base; + } + // remove trailing slash + return base.replace(/\/$/, '') +} + +function resolveQueue ( + current, + next +) { + var i; + var max = Math.max(current.length, next.length); + for (i = 0; i < max; i++) { + if (current[i] !== next[i]) { + break + } + } + return { + updated: next.slice(0, i), + activated: next.slice(i), + deactivated: current.slice(i) + } +} + +function extractGuards ( + records, + name, + bind, + reverse +) { + var guards = flatMapComponents(records, function (def, instance, match, key) { + var guard = extractGuard(def, name); + if (guard) { + return Array.isArray(guard) + ? guard.map(function (guard) { return bind(guard, instance, match, key); }) + : bind(guard, instance, match, key) + } + }); + return flatten(reverse ? guards.reverse() : guards) +} + +function extractGuard ( + def, + key +) { + if (typeof def !== 'function') { + // extend now so that global mixins are applied. + def = _Vue.extend(def); + } + return def.options[key] +} + +function extractLeaveGuards (deactivated) { + return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true) +} + +function extractUpdateHooks (updated) { + return extractGuards(updated, 'beforeRouteUpdate', bindGuard) +} + +function bindGuard (guard, instance) { + if (instance) { + return function boundRouteGuard () { + return guard.apply(instance, arguments) + } + } +} + +function extractEnterGuards ( + activated +) { + return extractGuards( + activated, + 'beforeRouteEnter', + function (guard, _, match, key) { + return bindEnterGuard(guard, match, key) + } + ) +} + +function bindEnterGuard ( + guard, + match, + key +) { + return function routeEnterGuard (to, from, next) { + return guard(to, from, function (cb) { + if (typeof cb === 'function') { + if (!match.enteredCbs[key]) { + match.enteredCbs[key] = []; + } + match.enteredCbs[key].push(cb); + } + next(cb); + }) + } +} + +/* */ + +var HTML5History = /*@__PURE__*/(function (History) { + function HTML5History (router, base) { + History.call(this, router, base); + + this._startLocation = getLocation(this.base); + } + + if ( History ) HTML5History.__proto__ = History; + HTML5History.prototype = Object.create( History && History.prototype ); + HTML5History.prototype.constructor = HTML5History; + + HTML5History.prototype.setupListeners = function setupListeners () { + var this$1 = this; + + if (this.listeners.length > 0) { + return + } + + var router = this.router; + var expectScroll = router.options.scrollBehavior; + var supportsScroll = supportsPushState && expectScroll; + + if (supportsScroll) { + this.listeners.push(setupScroll()); + } + + var handleRoutingEvent = function () { + var current = this$1.current; + + // Avoiding first `popstate` event dispatched in some browsers but first + // history route not updated since async guard at the same time. + var location = getLocation(this$1.base); + if (this$1.current === START && location === this$1._startLocation) { + return + } + + this$1.transitionTo(location, function (route) { + if (supportsScroll) { + handleScroll(router, route, current, true); + } + }); + }; + window.addEventListener('popstate', handleRoutingEvent); + this.listeners.push(function () { + window.removeEventListener('popstate', handleRoutingEvent); + }); + }; + + HTML5History.prototype.go = function go (n) { + window.history.go(n); + }; + + HTML5History.prototype.push = function push (location, onComplete, onAbort) { + var this$1 = this; + + var ref = this; + var fromRoute = ref.current; + this.transitionTo(location, function (route) { + pushState(cleanPath(this$1.base + route.fullPath)); + handleScroll(this$1.router, route, fromRoute, false); + onComplete && onComplete(route); + }, onAbort); + }; + + HTML5History.prototype.replace = function replace (location, onComplete, onAbort) { + var this$1 = this; + + var ref = this; + var fromRoute = ref.current; + this.transitionTo(location, function (route) { + replaceState(cleanPath(this$1.base + route.fullPath)); + handleScroll(this$1.router, route, fromRoute, false); + onComplete && onComplete(route); + }, onAbort); + }; + + HTML5History.prototype.ensureURL = function ensureURL (push) { + if (getLocation(this.base) !== this.current.fullPath) { + var current = cleanPath(this.base + this.current.fullPath); + push ? pushState(current) : replaceState(current); + } + }; + + HTML5History.prototype.getCurrentLocation = function getCurrentLocation () { + return getLocation(this.base) + }; + + return HTML5History; +}(History)); + +function getLocation (base) { + var path = window.location.pathname; + if (base && path.toLowerCase().indexOf(base.toLowerCase()) === 0) { + path = path.slice(base.length); + } + return (path || '/') + window.location.search + window.location.hash +} + +/* */ + +var HashHistory = /*@__PURE__*/(function (History) { + function HashHistory (router, base, fallback) { + History.call(this, router, base); + // check history fallback deeplinking + if (fallback && checkFallback(this.base)) { + return + } + ensureSlash(); + } + + if ( History ) HashHistory.__proto__ = History; + HashHistory.prototype = Object.create( History && History.prototype ); + HashHistory.prototype.constructor = HashHistory; + + // this is delayed until the app mounts + // to avoid the hashchange listener being fired too early + HashHistory.prototype.setupListeners = function setupListeners () { + var this$1 = this; + + if (this.listeners.length > 0) { + return + } + + var router = this.router; + var expectScroll = router.options.scrollBehavior; + var supportsScroll = supportsPushState && expectScroll; + + if (supportsScroll) { + this.listeners.push(setupScroll()); + } + + var handleRoutingEvent = function () { + var current = this$1.current; + if (!ensureSlash()) { + return + } + this$1.transitionTo(getHash(), function (route) { + if (supportsScroll) { + handleScroll(this$1.router, route, current, true); + } + if (!supportsPushState) { + replaceHash(route.fullPath); + } + }); + }; + var eventType = supportsPushState ? 'popstate' : 'hashchange'; + window.addEventListener( + eventType, + handleRoutingEvent + ); + this.listeners.push(function () { + window.removeEventListener(eventType, handleRoutingEvent); + }); + }; + + HashHistory.prototype.push = function push (location, onComplete, onAbort) { + var this$1 = this; + + var ref = this; + var fromRoute = ref.current; + this.transitionTo( + location, + function (route) { + pushHash(route.fullPath); + handleScroll(this$1.router, route, fromRoute, false); + onComplete && onComplete(route); + }, + onAbort + ); + }; + + HashHistory.prototype.replace = function replace (location, onComplete, onAbort) { + var this$1 = this; + + var ref = this; + var fromRoute = ref.current; + this.transitionTo( + location, + function (route) { + replaceHash(route.fullPath); + handleScroll(this$1.router, route, fromRoute, false); + onComplete && onComplete(route); + }, + onAbort + ); + }; + + HashHistory.prototype.go = function go (n) { + window.history.go(n); + }; + + HashHistory.prototype.ensureURL = function ensureURL (push) { + var current = this.current.fullPath; + if (getHash() !== current) { + push ? pushHash(current) : replaceHash(current); + } + }; + + HashHistory.prototype.getCurrentLocation = function getCurrentLocation () { + return getHash() + }; + + return HashHistory; +}(History)); + +function checkFallback (base) { + var location = getLocation(base); + if (!/^\/#/.test(location)) { + window.location.replace(cleanPath(base + '/#' + location)); + return true + } +} + +function ensureSlash () { + var path = getHash(); + if (path.charAt(0) === '/') { + return true + } + replaceHash('/' + path); + return false +} + +function getHash () { + // We can't use window.location.hash here because it's not + // consistent across browsers - Firefox will pre-decode it! + var href = window.location.href; + var index = href.indexOf('#'); + // empty path + if (index < 0) { return '' } + + href = href.slice(index + 1); + + return href +} + +function getUrl (path) { + var href = window.location.href; + var i = href.indexOf('#'); + var base = i >= 0 ? href.slice(0, i) : href; + return (base + "#" + path) +} + +function pushHash (path) { + if (supportsPushState) { + pushState(getUrl(path)); + } else { + window.location.hash = path; + } +} + +function replaceHash (path) { + if (supportsPushState) { + replaceState(getUrl(path)); + } else { + window.location.replace(getUrl(path)); + } +} + +/* */ + +var AbstractHistory = /*@__PURE__*/(function (History) { + function AbstractHistory (router, base) { + History.call(this, router, base); + this.stack = []; + this.index = -1; + } + + if ( History ) AbstractHistory.__proto__ = History; + AbstractHistory.prototype = Object.create( History && History.prototype ); + AbstractHistory.prototype.constructor = AbstractHistory; + + AbstractHistory.prototype.push = function push (location, onComplete, onAbort) { + var this$1 = this; + + this.transitionTo( + location, + function (route) { + this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route); + this$1.index++; + onComplete && onComplete(route); + }, + onAbort + ); + }; + + AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) { + var this$1 = this; + + this.transitionTo( + location, + function (route) { + this$1.stack = this$1.stack.slice(0, this$1.index).concat(route); + onComplete && onComplete(route); + }, + onAbort + ); + }; + + AbstractHistory.prototype.go = function go (n) { + var this$1 = this; + + var targetIndex = this.index + n; + if (targetIndex < 0 || targetIndex >= this.stack.length) { + return + } + var route = this.stack[targetIndex]; + this.confirmTransition( + route, + function () { + var prev = this$1.current; + this$1.index = targetIndex; + this$1.updateRoute(route); + this$1.router.afterHooks.forEach(function (hook) { + hook && hook(route, prev); + }); + }, + function (err) { + if (isNavigationFailure(err, NavigationFailureType.duplicated)) { + this$1.index = targetIndex; + } + } + ); + }; + + AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () { + var current = this.stack[this.stack.length - 1]; + return current ? current.fullPath : '/' + }; + + AbstractHistory.prototype.ensureURL = function ensureURL () { + // noop + }; + + return AbstractHistory; +}(History)); + +/* */ + +var VueRouter = function VueRouter (options) { + if ( options === void 0 ) options = {}; + + this.app = null; + this.apps = []; + this.options = options; + this.beforeHooks = []; + this.resolveHooks = []; + this.afterHooks = []; + this.matcher = createMatcher(options.routes || [], this); + + var mode = options.mode || 'hash'; + this.fallback = + mode === 'history' && !supportsPushState && options.fallback !== false; + if (this.fallback) { + mode = 'hash'; + } + if (!inBrowser$1) { + mode = 'abstract'; + } + this.mode = mode; + + switch (mode) { + case 'history': + this.history = new HTML5History(this, options.base); + break + case 'hash': + this.history = new HashHistory(this, options.base, this.fallback); + break + case 'abstract': + this.history = new AbstractHistory(this, options.base); + break + default: + { + assert$3(false, ("invalid mode: " + mode)); + } + } +}; + +var prototypeAccessors$3 = { currentRoute: { configurable: true } }; + +VueRouter.prototype.match = function match (raw, current, redirectedFrom) { + return this.matcher.match(raw, current, redirectedFrom) +}; + +prototypeAccessors$3.currentRoute.get = function () { + return this.history && this.history.current +}; + +VueRouter.prototype.init = function init (app /* Vue component instance */) { + var this$1 = this; + + + assert$3( + install$3.installed, + "not installed. Make sure to call `Vue.use(VueRouter)` " + + "before creating root instance." + ); + + this.apps.push(app); + + // set up app destroyed handler + // https://github.com/vuejs/vue-router/issues/2639 + app.$once('hook:destroyed', function () { + // clean out app from this.apps array once destroyed + var index = this$1.apps.indexOf(app); + if (index > -1) { this$1.apps.splice(index, 1); } + // ensure we still have a main app or null if no apps + // we do not release the router so it can be reused + if (this$1.app === app) { this$1.app = this$1.apps[0] || null; } + + if (!this$1.app) { this$1.history.teardown(); } + }); + + // main app previously initialized + // return as we don't need to set up new history listener + if (this.app) { + return + } + + this.app = app; + + var history = this.history; + + if (history instanceof HTML5History || history instanceof HashHistory) { + var handleInitialScroll = function (routeOrError) { + var from = history.current; + var expectScroll = this$1.options.scrollBehavior; + var supportsScroll = supportsPushState && expectScroll; + + if (supportsScroll && 'fullPath' in routeOrError) { + handleScroll(this$1, routeOrError, from, false); + } + }; + var setupListeners = function (routeOrError) { + history.setupListeners(); + handleInitialScroll(routeOrError); + }; + history.transitionTo( + history.getCurrentLocation(), + setupListeners, + setupListeners + ); + } + + history.listen(function (route) { + this$1.apps.forEach(function (app) { + app._route = route; + }); + }); +}; + +VueRouter.prototype.beforeEach = function beforeEach (fn) { + return registerHook(this.beforeHooks, fn) +}; + +VueRouter.prototype.beforeResolve = function beforeResolve (fn) { + return registerHook(this.resolveHooks, fn) +}; + +VueRouter.prototype.afterEach = function afterEach (fn) { + return registerHook(this.afterHooks, fn) +}; + +VueRouter.prototype.onReady = function onReady (cb, errorCb) { + this.history.onReady(cb, errorCb); +}; + +VueRouter.prototype.onError = function onError (errorCb) { + this.history.onError(errorCb); +}; + +VueRouter.prototype.push = function push (location, onComplete, onAbort) { + var this$1 = this; + + // $flow-disable-line + if (!onComplete && !onAbort && typeof Promise !== 'undefined') { + return new Promise(function (resolve, reject) { + this$1.history.push(location, resolve, reject); + }) + } else { + this.history.push(location, onComplete, onAbort); + } +}; + +VueRouter.prototype.replace = function replace (location, onComplete, onAbort) { + var this$1 = this; + + // $flow-disable-line + if (!onComplete && !onAbort && typeof Promise !== 'undefined') { + return new Promise(function (resolve, reject) { + this$1.history.replace(location, resolve, reject); + }) + } else { + this.history.replace(location, onComplete, onAbort); + } +}; + +VueRouter.prototype.go = function go (n) { + this.history.go(n); +}; + +VueRouter.prototype.back = function back () { + this.go(-1); +}; + +VueRouter.prototype.forward = function forward () { + this.go(1); +}; + +VueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) { + var route = to + ? to.matched + ? to + : this.resolve(to).route + : this.currentRoute; + if (!route) { + return [] + } + return [].concat.apply( + [], + route.matched.map(function (m) { + return Object.keys(m.components).map(function (key) { + return m.components[key] + }) + }) + ) +}; + +VueRouter.prototype.resolve = function resolve ( + to, + current, + append +) { + current = current || this.history.current; + var location = normalizeLocation(to, current, append, this); + var route = this.match(location, current); + var fullPath = route.redirectedFrom || route.fullPath; + var base = this.history.base; + var href = createHref(base, fullPath, this.mode); + return { + location: location, + route: route, + href: href, + // for backwards compat + normalizedTo: location, + resolved: route + } +}; + +VueRouter.prototype.addRoutes = function addRoutes (routes) { + this.matcher.addRoutes(routes); + if (this.history.current !== START) { + this.history.transitionTo(this.history.getCurrentLocation()); + } +}; + +Object.defineProperties( VueRouter.prototype, prototypeAccessors$3 ); + +function registerHook (list, fn) { + list.push(fn); + return function () { + var i = list.indexOf(fn); + if (i > -1) { list.splice(i, 1); } + } +} + +function createHref (base, fullPath, mode) { + var path = mode === 'hash' ? '#' + fullPath : fullPath; + return base ? cleanPath(base + '/' + path) : path +} + +VueRouter.install = install$3; +VueRouter.version = '3.4.9'; +VueRouter.isNavigationFailure = isNavigationFailure; +VueRouter.NavigationFailureType = NavigationFailureType; + +if (inBrowser$1 && window.Vue) { + window.Vue.use(VueRouter); +} + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var script$9 = {}; + +/* script */ + const __vue_script__$9 = script$9; + +/* template */ +var __vue_render__$b = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", [ + _c("h1", { staticClass: "mb-8 text-5xl" }, [ + _vm._v(_vm._s(_vm.$t("settings.login.arl.question"))) + ]), + _vm._v(" "), + _vm._m(0), + _vm._v(" "), + _c("h3", { staticClass: "mt-6 text-3xl" }, [_vm._v("Chrome (Easy way)")]), + _vm._v(" "), + _vm._m(1), + _vm._v(" "), + _c("h3", { staticClass: "mt-6 text-3xl" }, [_vm._v("Chrome")]), + _vm._v(" "), + _vm._m(2), + _vm._v(" "), + _vm._m(3), + _vm._v(" "), + _c("h3", { staticClass: "mt-6 text-3xl" }, [_vm._v("Firefox")]), + _vm._v(" "), + _vm._m(4) + ]) +}; +var __vue_staticRenderFns__$b = [ + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v( + "\n\t\tDeezer keeps track of login session by using a cookie called ARL." + ), + _c("br"), + _vm._v( + "\n\t\tdeemix uses that cookie to get the metadata that it needs to download the tracks from Deezer." + ), + _c("br"), + _vm._v( + "\n\t\tARLs last for 3 months, after that Deezer asks you to log in again. The same method is used in deemix" + ), + _c("br"), + _vm._v( + "\n\t\tFollowing one of the guides below you can get your own account ARL.\n\t" + ) + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("ul", { staticClass: "mb-2 text-base" }, [ + _c("li", [_vm._v("Open Chrome")]), + _vm._v(" "), + _c("li", [_vm._v("Go to www.deezer.com and log into your account")]), + _vm._v(" "), + _c("li", [_vm._v('Click on the little "lock" icon next the URL')]), + _vm._v(" "), + _c("li", [_vm._v("Click on Cookies > deezer.com > cookies > arl")]), + _vm._v(" "), + _c("li", [_vm._v("Select the string next to Content, and Copy")]), + _vm._v(" "), + _c("li", [_vm._v("That's your ARL, now you can use it in the app")]) + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("ul", { staticClass: "mb-2 text-base" }, [ + _c("li", [_vm._v("Open Chrome")]), + _vm._v(" "), + _c("li", [_vm._v("Go to www.deezer.com and log into your account")]), + _vm._v(" "), + _c("li", [ + _vm._v("After logging in press F12 to open up Developer Tools") + ]), + _vm._v(" "), + _c("li", [ + _vm._v( + "Go under the Application tab (if you don't see it click the double arrow)" + ) + ]), + _vm._v(" "), + _c("li", [_vm._v("Open the cookie dropdown")]), + _vm._v(" "), + _c("li", [_vm._v("Select www.deezer.com")]), + _vm._v(" "), + _c("li", [ + _vm._v("Find the `arl` cookie (It should be 192 chars long) ") + ]), + _vm._v(" "), + _c("li", [_vm._v("That's your ARL, now you can use it in the app")]) + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v("Here's a "), + _c( + "a", + { attrs: { href: "https://youtu.be/O6PRT47_yds", target: "_blank" } }, + [_vm._v("video guide")] + ) + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("ul", { staticClass: "mb-2 text-base" }, [ + _c("li", [_vm._v("Open Firefox")]), + _vm._v(" "), + _c("li", [_vm._v("Go to www.deezer.com and log into your account")]), + _vm._v(" "), + _c("li", [ + _vm._v("Afer logging in press F12 to open up Developer Tools") + ]), + _vm._v(" "), + _c("li", [ + _vm._v( + "Go under the Storage tab (if you don't see it click the double arrow)" + ) + ]), + _vm._v(" "), + _c("li", [_vm._v("Open the cookie dropdown")]), + _vm._v(" "), + _c("li", [_vm._v("Select www.deezer.com")]), + _vm._v(" "), + _c("li", [_vm._v("Find the `arl` cookie (It should be 192 chars long)")]), + _vm._v(" "), + _c("li", [ + _vm._v("Make sure only copy the value and not the entire cookie") + ]), + _vm._v(" "), + _c("li", [_vm._v("That's your ARL, now you can use it in the app")]) + ]) + } +]; +__vue_render__$b._withStripped = true; + + /* style */ + const __vue_inject_styles__$b = undefined; + /* scoped */ + const __vue_scope_id__$b = undefined; + /* functional template */ + const __vue_is_functional_template__$b = false; + /* component normalizer */ + function __vue_normalize__$b( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\InfoArl.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var InfoArl = __vue_normalize__$b( + { render: __vue_render__$b, staticRenderFns: __vue_staticRenderFns__$b }, + __vue_inject_styles__$b, + __vue_script__$9, + __vue_scope_id__$b, + __vue_is_functional_template__$b); + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var script$a = {}; + +/* script */ + const __vue_script__$a = script$a; + +/* template */ +var __vue_render__$c = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", [ + _c("h1", { staticClass: "mb-8 text-5xl" }, [ + _vm._v(_vm._s(_vm.$t("settings.spotify.question"))) + ]), + _vm._v(" "), + _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v( + '\n\t\t"Spotify Features" is a set of features that lets you convert Spotify tracks and albums links into Deezer ones.\n\t\tIf you provide a Spotify Playlist link the app will autmatically convert all the links of the tracks inside it into deezer tracks.\n\t\tEnabling this set of features will let you see your public Spotify playlists in the favorites tab as well.\n\t' + ) + ]), + _vm._v(" "), + _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v( + "For security reasons you will need to provide your own Client ID and Secret" + ) + ]), + _vm._v(" "), + _c("h2", { staticClass: "mt-6 text-3xl" }, [ + _vm._v("How do I get my Client ID and Secret?") + ]), + _vm._v(" "), + _vm._m(0), + _vm._v(" "), + _vm._m(1), + _vm._v(" "), + _vm._m(2), + _vm._v(" "), + _vm._m(3), + _vm._v(" "), + _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v( + "Now you can copy-paste those results in the appropriate fields in the settings." + ) + ]), + _vm._v(" "), + _c("h2", { staticClass: "mt-6 text-3xl" }, [ + _vm._v("How do I get my Spotify Username?") + ]), + _vm._v(" "), + _vm._m(4) + ]) +}; +var __vue_staticRenderFns__$c = [ + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v("Connect to "), + _c( + "a", + { + attrs: { + href: "https://developer.spotify.com/dashboard", + target: "_blank" + } + }, + [_vm._v("Spotify for Developers's Dashboard")] + ), + _vm._v(" and login with your Spotify account.") + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v('\n\t\tClick on "Create an App".'), + _c("br"), + _vm._v(" "), + _c("img", { + attrs: { + src: "https://i.imgur.com/YFz7rHj.png", + alt: "Create an App button on Spotify for Developers's Dashboard" + } + }) + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v( + '\n\t\tFill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.' + ), + _c("br"), + _vm._v(" "), + _c("img", { + attrs: { + src: "https://i.imgur.com/A9cvDkK.png", + alt: "Create an app form" + } + }) + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v( + '\n\t\tNow you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.' + ), + _c("br"), + _vm._v(" "), + _c("img", { + attrs: { + src: "https://i.imgur.com/foEfIhO.png", + alt: "Screen of client ID and Secret" + } + }) + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("p", { staticClass: "mb-2 text-base" }, [ + _vm._v("You can get your Spotify Username from the "), + _c( + "a", + { + attrs: { + href: "https://www.spotify.com/it/account/overview/", + target: "_blank" + } + }, + [_vm._v("Overview page on Spotify's Website")] + ), + _vm._v(".") + ]) + } +]; +__vue_render__$c._withStripped = true; + + /* style */ + const __vue_inject_styles__$c = function (inject) { + if (!inject) return + inject("data-v-3899291e_0", { source: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", map: {"version":3,"sources":[],"names":[],"mappings":"","file":"InfoSpotifyFeatures.vue"}, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__$c = undefined; + /* module identifier */ + const __vue_module_identifier__$a = undefined; + /* functional template */ + const __vue_is_functional_template__$c = false; + /* component normalizer */ + function __vue_normalize__$c( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\InfoSpotifyFeatures.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + { + let hook; + if (style) { + hook = function(context) { + style.call(this, createInjector(context)); + }; + } + + if (hook !== undefined) { + if (component.functional) { + // register for functional component in vue file + const originalRender = component.render; + component.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context) + }; + } else { + // inject component registration as beforeCreate hook + const existing = component.beforeCreate; + component.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + } + + return component + } + /* style inject */ + function __vue_create_injector__$a() { + const head = document.head || document.getElementsByTagName('head')[0]; + const styles = __vue_create_injector__$a.styles || (__vue_create_injector__$a.styles = {}); + const isOldIE = + typeof navigator !== 'undefined' && + /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + + return function addStyle(id, css) { + if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) return // SSR styles are present. + + const group = isOldIE ? css.media || 'default' : id; + const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined }); + + if (!style.ids.includes(id)) { + let code = css.source; + let index = style.ids.length; + + style.ids.push(id); + + if (isOldIE) { + style.element = style.element || document.querySelector('style[data-group=' + group + ']'); + } + + if (!style.element) { + const el = style.element = document.createElement('style'); + el.type = 'text/css'; + + if (css.media) el.setAttribute('media', css.media); + if (isOldIE) { + el.setAttribute('data-group', group); + el.setAttribute('data-next-index', '0'); + } + + head.appendChild(el); + } + + if (isOldIE) { + index = parseInt(style.element.getAttribute('data-next-index')); + style.element.setAttribute('data-next-index', index + 1); + } + + if (style.element.styleSheet) { + style.parts.push(code); + style.element.styleSheet.cssText = style.parts + .filter(Boolean) + .join('\n'); + } else { + const textNode = document.createTextNode(code); + const nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]); + else style.element.appendChild(textNode); + } + } + } + } + /* style inject SSR */ + + + + var InfoSpotifyFeatures = __vue_normalize__$c( + { render: __vue_render__$c, staticRenderFns: __vue_staticRenderFns__$c }, + __vue_inject_styles__$c, + __vue_script__$a, + __vue_scope_id__$c, + __vue_is_functional_template__$c, + __vue_module_identifier__$a, + __vue_create_injector__$a); + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Built-in value references. */ +var Symbol$1 = root.Symbol; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty$2 = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Built-in value references. */ +var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined; + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty$2.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +/** Used for built-in method references. */ +var objectProto$1 = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString$1 = objectProto$1.toString; + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString$1.call(value); +} + +/** `Object#toString` result references. */ +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + +/** Built-in value references. */ +var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined; + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag$1 && symToStringTag$1 in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); +} + +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray$2 = Array.isArray; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol$1 ? Symbol$1.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray$2(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject$4(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber$1(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject$4(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject$4(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity$1(value) { + return value; +} + +/** `Object#toString` result references. */ +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction$2(value) { + if (!isObject$4(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** Used for built-in method references. */ +var funcProto = Function.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used for built-in method references. */ +var funcProto$1 = Function.prototype, + objectProto$2 = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString$1 = funcProto$1.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty$3 = objectProto$2.hasOwnProperty; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString$1.call(hasOwnProperty$3).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject$4(value) || isMasked(value)) { + return false; + } + var pattern = isFunction$2(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue$1(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue$1(object, key); + return baseIsNative(value) ? value : undefined; +} + +/* Built-in method references that are verified to be native. */ +var WeakMap$1 = getNative(root, 'WeakMap'); + +/** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ +function noop$2() { + // No operation performed. +} + +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +/** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); +} + +/** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; +} + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER$1 = 9007199254740991; + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1; +} + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction$2(value); +} + +/** Used for built-in method references. */ +var objectProto$3 = Object.prototype; + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$3; + + return value === proto; +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]'; + +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} + +/** Used for built-in method references. */ +var objectProto$4 = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty$4 = objectProto$4.hasOwnProperty; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto$4.propertyIsEnumerable; + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty$4.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); +}; + +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +/** `Object#toString` result references. */ +var argsTag$1 = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag$1 = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag$1] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag$1] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +/** Detect free variable `exports`. */ +var freeExports$1 = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule$1 = freeExports$1 && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports$1 && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule$1 && freeModule$1.require && freeModule$1.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} +}()); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +/** Used for built-in method references. */ +var objectProto$5 = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty$5 = objectProto$5.hasOwnProperty; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + var isArr = isArray$2(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty$5.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object); + +/** Used for built-in method references. */ +var objectProto$6 = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty$6 = objectProto$6.hasOwnProperty; + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty$6.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray$2(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/* Built-in method references that are verified to be native. */ +var nativeCreate = getNative(Object, 'create'); + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used for built-in method references. */ +var objectProto$7 = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty$7 = objectProto$7.hasOwnProperty; + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty$7.call(data, key) ? data[key] : undefined; +} + +/** Used for built-in method references. */ +var objectProto$8 = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty$8 = objectProto$8.hasOwnProperty; + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty$8.call(data, key); +} + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED$1 = '__lodash_hash_undefined__'; + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED$1 : value; + return this; +} + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** Used for built-in method references. */ +var arrayProto$1 = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto$1.splice; + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/* Built-in method references that are verified to be native. */ +var Map$1 = getNative(root, 'Map'); + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map$1 || ListCache), + 'string': new Hash + }; +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Expose `MapCache`. +memoize.Cache = MapCache; + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString$3(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if (isArray$2(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString$3(value)); +} + +/** Used as references for various `Number` constants. */ +var INFINITY$1 = 1 / 0; + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY$1) ? '-0' : result; +} + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get$1(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; + this.size = 0; +} + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; +} + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map$1 || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ +function stubArray() { + return []; +} + +/** Used for built-in method references. */ +var objectProto$9 = Object.prototype; + +/** Built-in value references. */ +var propertyIsEnumerable$1 = objectProto$9.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable$1.call(object, symbol); + }); +}; + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray$2(object) ? result : arrayPush(result, symbolsFunc(object)); +} + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); +} + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'); + +/* Built-in method references that are verified to be native. */ +var Promise$1 = getNative(root, 'Promise'); + +/* Built-in method references that are verified to be native. */ +var Set$1 = getNative(root, 'Set'); + +/** `Object#toString` result references. */ +var mapTag$1 = '[object Map]', + objectTag$1 = '[object Object]', + promiseTag = '[object Promise]', + setTag$1 = '[object Set]', + weakMapTag$1 = '[object WeakMap]'; + +var dataViewTag$1 = '[object DataView]'; + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map$1), + promiseCtorString = toSource(Promise$1), + setCtorString = toSource(Set$1), + weakMapCtorString = toSource(WeakMap$1); + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag$1) || + (Map$1 && getTag(new Map$1) != mapTag$1) || + (Promise$1 && getTag(Promise$1.resolve()) != promiseTag) || + (Set$1 && getTag(new Set$1) != setTag$1) || + (WeakMap$1 && getTag(new WeakMap$1) != weakMapTag$1)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag$1 ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag$1; + case mapCtorString: return mapTag$1; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag$1; + case weakMapCtorString: return weakMapTag$1; + } + } + return result; + }; +} + +var getTag$1 = getTag; + +/** Built-in value references. */ +var Uint8Array = root.Uint8Array; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED$2 = '__lodash_hash_undefined__'; + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED$2); + return this; +} + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(array); + if (stacked && stack.get(other)) { + return stacked == other; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG$1 = 1, + COMPARE_UNORDERED_FLAG$1 = 2; + +/** `Object#toString` result references. */ +var boolTag$1 = '[object Boolean]', + dateTag$1 = '[object Date]', + errorTag$1 = '[object Error]', + mapTag$2 = '[object Map]', + numberTag$1 = '[object Number]', + regexpTag$1 = '[object RegExp]', + setTag$2 = '[object Set]', + stringTag$1 = '[object String]', + symbolTag$1 = '[object Symbol]'; + +var arrayBufferTag$1 = '[object ArrayBuffer]', + dataViewTag$2 = '[object DataView]'; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto$1 = Symbol$1 ? Symbol$1.prototype : undefined, + symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : undefined; + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag$2: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag$1: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag$1: + case dateTag$1: + case numberTag$1: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag$1: + return object.name == other.name && object.message == other.message; + + case regexpTag$1: + case stringTag$1: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag$2: + var convert = mapToArray; + + case setTag$2: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$1; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG$1; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag$1: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG$2 = 1; + +/** Used for built-in method references. */ +var objectProto$a = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty$9 = objectProto$a.hasOwnProperty; + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$2, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty$9.call(other, key))) { + return false; + } + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked && stack.get(other)) { + return stacked == other; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG$3 = 1; + +/** `Object#toString` result references. */ +var argsTag$2 = '[object Arguments]', + arrayTag$1 = '[object Array]', + objectTag$2 = '[object Object]'; + +/** Used for built-in method references. */ +var objectProto$b = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty$a = objectProto$b.hasOwnProperty; + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray$2(object), + othIsArr = isArray$2(other), + objTag = objIsArr ? arrayTag$1 : getTag$1(object), + othTag = othIsArr ? arrayTag$1 : getTag$1(other); + + objTag = objTag == argsTag$2 ? objectTag$2 : objTag; + othTag = othTag == argsTag$2 ? objectTag$2 : othTag; + + var objIsObj = objTag == objectTag$2, + othIsObj = othTag == objectTag$2, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG$3)) { + var objIsWrapped = objIsObj && hasOwnProperty$a.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty$a.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG$4 = 1, + COMPARE_UNORDERED_FLAG$2 = 2; + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$4 | COMPARE_UNORDERED_FLAG$2, customizer, stack) + : result + )) { + return false; + } + } + } + return true; +} + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject$4(value); +} + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray$2(object) || isArguments(object)); +} + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG$5 = 1, + COMPARE_UNORDERED_FLAG$3 = 2; + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get$1(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$5 | COMPARE_UNORDERED_FLAG$3); + }; +} + +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); +} + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity$1; + } + if (typeof value == 'object') { + return isArray$2(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); +} + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEach = createBaseEach(baseForOwn); + +/** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ +var now = function() { + return root.Date.now(); +}; + +/** Error message constants. */ +var FUNC_ERROR_TEXT$1 = 'Expected a function'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ +function debounce$1(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT$1); + } + wait = toNumber$1(wait) || 0; + if (isObject$4(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber$1(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; +} + +/** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; +} + +/** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; +} + +/** `Object#toString` result references. */ +var mapTag$3 = '[object Map]', + setTag$3 = '[object Set]'; + +/** Used for built-in method references. */ +var objectProto$c = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty$b = objectProto$c.hasOwnProperty; + +/** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ +function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray$2(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag$1(value); + if (tag == mapTag$3 || tag == setTag$3) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty$b.call(value, key)) { + return false; + } + } + return true; +} + +/** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ +function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; +} + +/** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ +function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; +} + +/** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ +function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; +} + +/** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ +function baseOrderBy(collection, iteratees, orders) { + var index = -1; + iteratees = arrayMap(iteratees.length ? iteratees : [identity$1], baseUnary(baseIteratee)); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); +} + +/** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] + * The iteratees to sort by. + * @param {string[]} [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // Sort by `user` in ascending order and by `age` in descending order. + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + */ +function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray$2(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined : orders; + if (!isArray$2(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); +} + +/** Used as references for various `Number` constants. */ +var INFINITY$2 = 1 / 0; + +/** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ +var createSet = !(Set$1 && (1 / setToArray(new Set$1([,-0]))[1]) == INFINITY$2) ? noop$2 : function(values) { + return new Set$1(values); +}; + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE$1 = 200; + +/** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE$1) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +/** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The order of result values is + * determined by the order they occur in the array.The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ +function uniqWith(array, comparator) { + comparator = typeof comparator == 'function' ? comparator : undefined; + return (array && array.length) ? baseUniq(array, undefined, comparator) : []; +} + +// https://vuejs.org/v2/guide/render-function.html +// https://vuejs.org/v2/guide/render-function.html#createElement-Arguments +const BaseTab = defineComponent({ + name: 'BaseTab', + functional: true, + render(h, ctx) { + return h( + 'li', + { + class: [ctx.data.class, 'section-tabs__tab', 'uppercase-first-letter'], + on: ctx.data.on + }, + ctx.slots().default + ) + } +}); + +const BaseTabs = defineComponent({ + name: 'BaseTabs', + functional: true, + render(h, ctx) { + return h( + 'ul', + { + class: [ctx.data.class, 'my-8', 'section-tabs'], + on: ctx.data.on + }, + ctx.slots().default + ) + } +}); + +/** + * @param {Date} dateToCheck + * @returns {boolean} The passed date is less than 3 days distant from today, + * therefore it's considered a new release, if referring to a track or album + */ +function checkNewRelease(dateToCheck) { + let now = new Date(); + now.setHours(0, 0, 0, 0); + + dateToCheck = new Date(dateToCheck); + dateToCheck.setDate(dateToCheck.getDate() + 3); + + return now.getTime() <= dateToCheck.getTime() +} + +function formatArtistData(artistData) { + return { + artistName: getPropertyWithFallback(artistData, 'name'), + artistPictureXL: getPropertyWithFallback(artistData, 'picture_xl'), + artistReleases: formatArtistReleases(getPropertyWithFallback(artistData, 'releases')) + } +} + +function formatArtistReleases(artistReleases) { + let formattedReleases = {}; + + for (const releaseType in artistReleases) { + if (artistReleases.hasOwnProperty(releaseType)) { + const releases = artistReleases[releaseType]; + formattedReleases[releaseType] = []; + + for (const release of releases) { + formattedReleases[releaseType].push({ + releaseID: getPropertyWithFallback(release, 'id'), + releaseCover: getPropertyWithFallback(release, 'cover_small'), + releaseTitle: getPropertyWithFallback(release, 'title'), + releaseDate: getPropertyWithFallback(release, 'release_date'), + releaseTracksNumber: getPropertyWithFallback(release, 'nb_tracks'), + releaseLink: getPropertyWithFallback(release, 'link'), + releaseType: getPropertyWithFallback(release, 'record_type'), + isReleaseExplicit: getPropertyWithFallback(release, 'explicit_lyrics') + }); + } + } + } + + return formattedReleases +} + +function getArtistData(artistID) { + socket.emit('getTracklist', { + type: 'artist', + id: artistID + }); + + return new Promise((resolve, reject) => { + socket.on('show_artist', data => { + socket.off('show_artist'); + resolve(data); + }); + }) +} + +function standardizeData(rawObj, formatFunc) { + if (!rawObj.hasLoaded) { + return null + } else { + const { data: rawData } = rawObj; + const formattedData = []; + + for (const dataElement of rawData) { + let formatted = formatFunc(dataElement); + + formattedData.push(formatted); + } + + return { + data: formattedData, + hasLoaded: rawObj.hasLoaded + } + } +} + +// + +var script$b = defineComponent({ + components: { + BaseTabs, + BaseTab + }, + setup(props, ctx) { + const state = reactive({ + currentTab: '', + sortKey: 'releaseDate', + sortOrder: 'desc', + artistReleases: {}, + artistName: '', + artistPicture: '', + currentRelease: computed(() => state.artistReleases[state.currentTab]) + }); + + const artistID = computed(() => ctx.root.$router.currentRoute.params.id); + const hasDataLoaded = ref$2(false); + + getArtistData(unref(artistID)) + .then(artistData => { + hasDataLoaded.value = true; + + const rawData = { + data: [artistData], + hasLoaded: unref(hasDataLoaded) + }; + const { + data: [{ artistName, artistPictureXL, artistReleases }] + } = standardizeData(rawData, formatArtistData); + + Object.assign(state, { + artistName, + artistPicture: artistPictureXL, + artistReleases, + currentTab: Object.keys(artistReleases)[0] + }); + }) + .catch(err => console.error(err)); + + const sortedData = computed(() => { + if (!unref(hasDataLoaded)) { + return [] + } + + let sortKey = state.sortKey; + + if (sortKey === 'releaseTracksNumber') { + sortKey = o => new Number(o.releaseTracksNumber); + } + + return orderBy(state.currentRelease, sortKey, state.sortOrder) + }); + + return { + ...toRefs(state), + downloadLink: computed(() => `https://www.deezer.com/artist/${unref(artistID)}`), + headerStyle: computed(() => ({ + backgroundImage: `linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${state.artistPicture})` + })), + sortedData, + sendAddToQueue, + checkNewRelease + } + }, + data() { + const $t = this.$t.bind(this); + const $tc = this.$tc.bind(this); + + return { + head: [ + { title: $tc('globals.listTabs.title', 1), sortKey: 'releaseTitle' }, + { title: $t('globals.listTabs.releaseDate'), sortKey: 'releaseDate' }, + { title: $tc('globals.listTabs.track', 2), sortKey: 'releaseTracksNumber' }, + // { title: '', width: '32px' } + { title: '', width: null } + ] + } + }, + methods: { + sortBy(key) { + if (key === this.sortKey) { + this.sortOrder = this.sortOrder === 'asc' ? 'desc' : 'asc'; + } else { + this.sortKey = key; + this.sortOrder = 'asc'; + } + } + } +}); + +/* script */ + const __vue_script__$b = script$b; + +/* template */ +var __vue_render__$d = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "div", + { staticClass: "relative image-header" }, + [ + _c( + "header", + { staticClass: "flex items-center", style: _vm.headerStyle }, + [ + _c("h1", { staticClass: "m-0" }, [_vm._v(_vm._s(_vm.artistName))]), + _vm._v(" "), + _c( + "div", + { + staticClass: + "grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center", + attrs: { + "aria-label": "download", + role: "button", + "data-cm-link": _vm.downloadLink + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.sendAddToQueue(_vm.downloadLink) + } + } + }, + [ + _c( + "i", + { + staticClass: "text-4xl material-icons", + attrs: { title: _vm.$t("globals.download_hint") } + }, + [_vm._v("get_app")] + ) + ] + ) + ] + ), + _vm._v(" "), + _c( + "BaseTabs", + _vm._l(_vm.artistReleases, function(item, name) { + return _c( + "BaseTab", + { + key: name, + class: { active: _vm.currentTab === name }, + on: { + click: function($event) { + _vm.currentTab = name; + } + } + }, + [ + _vm._v( + "\n\t\t\t" + + _vm._s(_vm.$tc("globals.listTabs." + name, 2)) + + "\n\t\t" + ) + ] + ) + }), + 1 + ), + _vm._v(" "), + _c("table", { staticClass: "table" }, [ + _c("thead", [ + _c( + "tr", + _vm._l(_vm.head, function(data) { + return _c( + "th", + { + key: data.title, + staticClass: "uppercase-first-letter", + class: { + "sort-asc": + data.sortKey === _vm.sortKey && _vm.sortOrder == "asc", + "sort-desc": + data.sortKey === _vm.sortKey && _vm.sortOrder == "desc", + sortable: data.sortKey, + clickable: data.sortKey + }, + style: { width: data.width ? data.width : "auto" }, + on: { + click: function($event) { + data.sortKey ? _vm.sortBy(data.sortKey) : null; + } + } + }, + [_vm._v("\n\t\t\t\t\t" + _vm._s(data.title) + "\n\t\t\t\t")] + ) + }), + 0 + ) + ]), + _vm._v(" "), + _c( + "tbody", + _vm._l(_vm.sortedData, function(release) { + return _c( + "tr", + { key: release.releaseID }, + [ + _c( + "RouterLink", + { + staticClass: "flex items-center clickable", + attrs: { + tag: "td", + "data-cm-link": release.releaseLink, + to: { name: "Album", params: { id: release.releaseID } } + } + }, + [ + _c("img", { + staticClass: "mr-4 rounded coverart", + staticStyle: { width: "56px", height: "56px" }, + attrs: { src: release.releaseCover } + }), + _vm._v(" "), + release.isReleaseExplicit + ? _c( + "i", + { + staticClass: + "material-icons title-icon title-icon--explicit" + }, + [_vm._v("explicit")] + ) + : _vm._e(), + _vm._v(" "), + _c("div", [ + _c("span", { staticClass: "flex hover:text-primary" }, [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(release.releaseTitle) + + "\n\t\t\t\t\t\t\t" + ), + _vm.checkNewRelease(release.releaseDate) + ? _c( + "i", + { + staticClass: + "material-icons title-icon title-icon--right title-icon--new" + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t\tfiber_new\n\t\t\t\t\t\t\t" + ) + ] + ) + : _vm._e() + ]), + _vm._v(" "), + _c( + "span", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentTab === "all", + expression: "currentTab === 'all'" + } + ], + staticClass: + "block text-xs opacity-50 uppercase-first-letter" + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s( + _vm.$tc( + "globals.listTabs." + release.releaseType + ) + ) + + "\n\t\t\t\t\t\t" + ) + ] + ) + ]) + ] + ), + _vm._v(" "), + _c("td", { staticClass: "w-32 text-center xl:w-40" }, [ + _vm._v(_vm._s(release.releaseDate)) + ]), + _vm._v(" "), + _c("td", { staticClass: "w-20 text-center xl:w-32" }, [ + _vm._v(_vm._s(release.releaseTracksNumber)) + ]), + _vm._v(" "), + _c( + "td", + { + staticClass: "w-8 cursor-pointer", + attrs: { "data-cm-link": release.releaseLink }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.sendAddToQueue(release.releaseLink) + } + } + }, + [ + _c( + "i", + { + staticClass: "material-icons hover:text-primary", + attrs: { title: _vm.$t("globals.download_hint") } + }, + [_vm._v("file_download")] + ) + ] + ) + ], + 1 + ) + }), + 0 + ) + ]) + ], + 1 + ) +}; +var __vue_staticRenderFns__$d = []; +__vue_render__$d._withStripped = true; + + /* style */ + const __vue_inject_styles__$d = undefined; + /* scoped */ + const __vue_scope_id__$d = undefined; + /* functional template */ + const __vue_is_functional_template__$d = false; + /* component normalizer */ + function __vue_normalize__$d( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\Artist.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var Artist = __vue_normalize__$d( + { render: __vue_render__$d, staticRenderFns: __vue_staticRenderFns__$d }, + __vue_inject_styles__$d, + __vue_script__$b, + __vue_scope_id__$d, + __vue_is_functional_template__$d); + +function getChartsData() { + return fetchData('getCharts') +} + +function getChartTracks(chartId) { + return fetchData('getChartTracks', { id: chartId }) +} + +// + +var script$c = { + methods: { + previewMouseEnter, + previewMouseLeave + } +}; + +/* script */ + const __vue_script__$c = script$c; + +/* template */ +var __vue_render__$e = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "i", + { + staticClass: + "absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls", + attrs: { title: _vm.$t("globals.play_hint") }, + on: { + mouseenter: _vm.previewMouseEnter, + mouseleave: _vm.previewMouseLeave + } + }, + [_vm._v("\n\tplay_arrow\n")] + ) +}; +var __vue_staticRenderFns__$e = []; +__vue_render__$e._withStripped = true; + + /* style */ + const __vue_inject_styles__$e = undefined; + /* scoped */ + const __vue_scope_id__$e = undefined; + /* functional template */ + const __vue_is_functional_template__$e = false; + /* component normalizer */ + function __vue_normalize__$e( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\globals\\PreviewControls.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var PreviewControls = __vue_normalize__$e( + { render: __vue_render__$e, staticRenderFns: __vue_staticRenderFns__$e }, + __vue_inject_styles__$e, + __vue_script__$c, + __vue_scope_id__$e, + __vue_is_functional_template__$e); + +// + +var script$d = { + components: { + PreviewControls + }, + data() { + return { + country: '', + id: 0, + countries: [], + chart: [] + } + }, + computed: { + worldwideRelease() { + let worldwideRelease = this.countries.filter(country => { + return country.title === 'Worldwide' + }); + + return worldwideRelease[0] + } + }, + async created() { + // socket.on('setChartTracks', this.setTracklist) + // this.$on('hook:destroyed', () => { + // socket.off('setChartTracks') + // }) + + let { data: chartsData } = await getChartsData(); + let worldwideChart; + + chartsData = chartsData.filter(item => { + if (item.title === 'Worldwide') { + worldwideChart = item; + } + + return item.title !== 'Worldwide' + }); + chartsData.unshift(worldwideChart); + + this.initCharts(chartsData); + }, + methods: { + convertDuration, + playPausePreview, + addToQueue(e) { + e.stopPropagation(); + sendAddToQueue(e.currentTarget.dataset.link); + }, + getTrackList(event) { + document.getElementById('content').scrollTo(0, 0); + + const { + currentTarget: { + dataset: { title, id } + } + } = event; + + this.country = title; + localStorage.setItem('chart', this.country); + this.id = id; + }, + setTracklist(data) { + this.chart = data; + }, + onChangeCountry() { + this.country = ''; + this.id = 0; + }, + initCharts(chartsData) { + this.countries = chartsData; + this.country = localStorage.getItem('chart') || ''; + + if (!this.country) return + + let i = 0; + for (; i < this.countries.length; i++) { + if (this.countries[i].title == this.country) break + } + + if (i !== this.countries.length) { + this.id = this.countries[i].id; + socket.emit('getChartTracks', this.id); + } else { + this.country = ''; + localStorage.setItem('chart', this.country); + } + } + }, + watch: { + id(newId) { + const isActualChart = newId !== 0; + + if (isActualChart) { + getChartTracks(newId).then(response => this.setTracklist(response.result)); + } + } + } +}; + +/* script */ + const __vue_script__$d = script$d; + +/* template */ +var __vue_render__$f = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", [ + _c("h1", { staticClass: "mb-8 text-5xl" }, [ + _vm._v(_vm._s(_vm.$t("charts.title"))) + ]), + _vm._v(" "), + _vm.country === "" + ? _c("div", [ + _c( + "div", + { staticClass: "release-grid" }, + _vm._l(_vm.countries, function(release) { + return _c( + "div", + { + key: release.id, + staticClass: "w-40 h-40 release clickable", + attrs: { + "aria-label": release.title, + "data-id": release.id, + "data-title": release.title, + role: "button" + }, + on: { click: _vm.getTrackList } + }, + [ + _c("img", { + staticClass: "w-full rounded coverart", + attrs: { src: release.picture_medium } + }) + ] + ) + }), + 0 + ) + ]) + : _c("div", [ + _c( + "button", + { + staticClass: "btn btn-primary", + on: { click: _vm.onChangeCountry } + }, + [_vm._v(_vm._s(_vm.$t("charts.changeCountry")))] + ), + _vm._v(" "), + _c( + "button", + { + staticClass: "btn btn-primary", + attrs: { + "data-link": "https://www.deezer.com/playlist/" + _vm.id + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }, + [_vm._v("\n\t\t\t" + _vm._s(_vm.$t("charts.download")) + "\n\t\t")] + ), + _vm._v(" "), + _c("table", { staticClass: "table table--charts" }, [ + _c( + "tbody", + _vm._l(_vm.chart, function(track) { + return _c( + "tr", + { staticClass: "track_row" }, + [ + _c( + "td", + { + staticClass: "p-3 text-center cursor-default", + class: { first: track.position === 1 } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t" + + _vm._s(track.position) + + "\n\t\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c("td", { staticClass: "table__icon table__icon--big" }, [ + _c( + "span", + { + staticClass: + "relative inline-block rounded cursor-pointer", + attrs: { "data-preview": track.preview }, + on: { click: _vm.playPausePreview } + }, + [ + track.preview ? _c("PreviewControls") : _vm._e(), + _vm._v(" "), + _c("img", { + staticClass: "rounded coverart", + attrs: { src: track.album.cover_small } + }) + ], + 1 + ) + ]), + _vm._v(" "), + _c("td", { staticClass: "table__cell--large" }, [ + _vm._v( + "\n\t\t\t\t\t\t" + + _vm._s( + track.title + + (track.title_version && + track.title.indexOf(track.title_version) == -1 + ? " " + track.title_version + : "") + ) + + "\n\t\t\t\t\t" + ) + ]), + _vm._v(" "), + _c( + "router-link", + { + staticClass: + "table__cell table__cell--medium table__cell--center clickable", + attrs: { + to: { + name: "Artist", + params: { id: track.artist.id } + }, + tag: "td" + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t" + + _vm._s(track.artist.name) + + "\n\t\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c( + "router-link", + { + staticClass: + "table__cell--medium table__cell--center clickable", + attrs: { + to: { name: "Album", params: { id: track.album.id } }, + tag: "td" + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t" + + _vm._s(track.album.title) + + "\n\t\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c( + "td", + { staticClass: "table__cell--small table__cell--center" }, + [ + _vm._v( + "\n\t\t\t\t\t\t" + + _vm._s(_vm.convertDuration(track.duration)) + + "\n\t\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c( + "td", + { + staticClass: "cursor-pointer group", + attrs: { + "data-link": track.link, + "aria-label": "download", + role: "button" + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }, + [ + _c( + "i", + { + staticClass: + "transition-colors duration-150 ease-in-out material-icons group-hover:text-primary", + attrs: { title: _vm.$t("globals.download_hint") } + }, + [_vm._v("\n\t\t\t\t\t\t\tget_app\n\t\t\t\t\t\t")] + ) + ] + ) + ], + 1 + ) + }), + 0 + ) + ]) + ]) + ]) +}; +var __vue_staticRenderFns__$f = []; +__vue_render__$f._withStripped = true; + + /* style */ + const __vue_inject_styles__$f = undefined; + /* scoped */ + const __vue_scope_id__$f = undefined; + /* functional template */ + const __vue_is_functional_template__$f = false; + /* component normalizer */ + function __vue_normalize__$f( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\Charts.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var Charts = __vue_normalize__$f( + { render: __vue_render__$f, staticRenderFns: __vue_staticRenderFns__$f }, + __vue_inject_styles__$f, + __vue_script__$d, + __vue_scope_id__$f, + __vue_is_functional_template__$f); + +// + +var script$e = { + computed: { + ...mapGetters(['getErrors']), + title() { + return `${this.getErrors.artist} - ${this.getErrors.title}` + }, + errors() { + return this.getErrors.errors + } + } +}; + +/* script */ + const __vue_script__$e = script$e; + +/* template */ +var __vue_render__$g = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", [ + _c("h1", { staticClass: "mb-8 text-5xl" }, [ + _vm._v(_vm._s(_vm.$t("errors.title", { name: _vm.title }))) + ]), + _vm._v(" "), + _c( + "table", + { staticClass: "table table--tracklist" }, + [ + _c("tr", [ + _c("th", [_vm._v("ID")]), + _vm._v(" "), + _c("th", [_vm._v(_vm._s(_vm.$tc("globals.listTabs.artist", 1)))]), + _vm._v(" "), + _c("th", [_vm._v(_vm._s(_vm.$tc("globals.listTabs.title", 1)))]), + _vm._v(" "), + _c("th", [_vm._v(_vm._s(_vm.$tc("globals.listTabs.error", 1)))]) + ]), + _vm._v(" "), + _vm._l(_vm.errors, function(error) { + return _c("tr", { key: error.data.id }, [ + _c("td", [_vm._v(_vm._s(error.data.id))]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(error.data.artist))]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(error.data.title))]), + _vm._v(" "), + _c("td", [ + _vm._v( + _vm._s( + error.errid + ? _vm.$t("errors.ids." + error.errid) + : error.message + ) + ) + ]) + ]) + }) + ], + 2 + ) + ]) +}; +var __vue_staticRenderFns__$g = []; +__vue_render__$g._withStripped = true; + + /* style */ + const __vue_inject_styles__$g = function (inject) { + if (!inject) return + inject("data-v-ab9cf5f8_0", { source: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", map: {"version":3,"sources":[],"names":[],"mappings":"","file":"Errors.vue"}, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__$g = undefined; + /* module identifier */ + const __vue_module_identifier__$b = undefined; + /* functional template */ + const __vue_is_functional_template__$g = false; + /* component normalizer */ + function __vue_normalize__$g( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\Errors.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + { + let hook; + if (style) { + hook = function(context) { + style.call(this, createInjector(context)); + }; + } + + if (hook !== undefined) { + if (component.functional) { + // register for functional component in vue file + const originalRender = component.render; + component.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context) + }; + } else { + // inject component registration as beforeCreate hook + const existing = component.beforeCreate; + component.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + } + + return component + } + /* style inject */ + function __vue_create_injector__$b() { + const head = document.head || document.getElementsByTagName('head')[0]; + const styles = __vue_create_injector__$b.styles || (__vue_create_injector__$b.styles = {}); + const isOldIE = + typeof navigator !== 'undefined' && + /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + + return function addStyle(id, css) { + if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) return // SSR styles are present. + + const group = isOldIE ? css.media || 'default' : id; + const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined }); + + if (!style.ids.includes(id)) { + let code = css.source; + let index = style.ids.length; + + style.ids.push(id); + + if (isOldIE) { + style.element = style.element || document.querySelector('style[data-group=' + group + ']'); + } + + if (!style.element) { + const el = style.element = document.createElement('style'); + el.type = 'text/css'; + + if (css.media) el.setAttribute('media', css.media); + if (isOldIE) { + el.setAttribute('data-group', group); + el.setAttribute('data-next-index', '0'); + } + + head.appendChild(el); + } + + if (isOldIE) { + index = parseInt(style.element.getAttribute('data-next-index')); + style.element.setAttribute('data-next-index', index + 1); + } + + if (style.element.styleSheet) { + style.parts.push(code); + style.element.styleSheet.cssText = style.parts + .filter(Boolean) + .join('\n'); + } else { + const textNode = document.createTextNode(code); + const nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]); + else style.element.appendChild(textNode); + } + } + } + } + /* style inject SSR */ + + + + var Errors = __vue_normalize__$g( + { render: __vue_render__$g, staticRenderFns: __vue_staticRenderFns__$g }, + __vue_inject_styles__$g, + __vue_script__$e, + __vue_scope_id__$g, + __vue_is_functional_template__$g, + __vue_module_identifier__$b, + __vue_create_injector__$b); + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var script$f = { + inheritAttrs: false, + props: { + cover: { + type: String, + reqired: true + }, + isRounded: { + type: Boolean, + required: false + }, + isCircle: { + type: Boolean, + required: false + }, + link: { + type: String, + reqired: true + } + } +}; + +/* script */ + const __vue_script__$f = script$f; + +/* template */ +var __vue_render__$h = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "relative cover-container group" }, [ + _c("img", { + staticClass: "block w-full opacity-100 coverart", + class: { rounded: _vm.isRounded, "rounded-full": _vm.isCircle }, + attrs: { "aria-hidden": "true", src: _vm.cover } + }), + _vm._v(" "), + _c( + "button", + _vm._g( + { + staticClass: + "absolute p-0 text-center bg-black border-0 rounded-full opacity-0 download_overlay hover:bg-primary", + attrs: { + role: "button", + "aria-label": "download", + "data-link": _vm.link, + tabindex: "0" + } + }, + _vm.$listeners + ), + [ + _c( + "i", + { + staticClass: "text-white cursor-pointer material-icons", + attrs: { title: _vm.$t("globals.download_hint") } + }, + [_vm._v("get_app")] + ) + ] + ) + ]) +}; +var __vue_staticRenderFns__$h = []; +__vue_render__$h._withStripped = true; + + /* style */ + const __vue_inject_styles__$h = function (inject) { + if (!inject) return + inject("data-v-cb0bbf2a_0", { source: ".cover-container[data-v-cb0bbf2a] {\n width: 156px;\n height: 156px;\n margin-bottom: 10px;\n}\n.cover-container .coverart[data-v-cb0bbf2a] {\n backface-visibility: hidden;\n transition: 0.5s ease;\n height: auto;\n}\n.cover-container .download_overlay[data-v-cb0bbf2a] {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n transition: 0.5s ease;\n opacity: 0;\n min-width: 2rem;\n height: 2.75rem;\n text-align: center;\n}\n.cover-container .download_overlay i[data-v-cb0bbf2a] {\n padding: 0.625rem;\n}\n.cover-container .download_overlay[data-v-cb0bbf2a]:focus {\n opacity: 1;\n}\n.cover-container:hover .coverart[data-v-cb0bbf2a] {\n opacity: 0.75;\n}\n.cover-container:hover .download_overlay[data-v-cb0bbf2a] {\n opacity: 1;\n border: 0px;\n}\n\n/*# sourceMappingURL=CoverContainer.vue.map */", map: {"version":3,"sources":["C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui/C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui/C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\globals\\CoverContainer.vue","CoverContainer.vue"],"names":[],"mappings":"AAuBA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;AAAA;AAHA;IAMA,2BAAA;IACA,qBAAA;IACA,YAAA;AAAA;AARA;IAYA,QAAA;IACA,SAAA;IACA,gCAAA;IACA,qBAAA;IACA,UAAA;IACA,eAAA;IACA,eAAA;IACA,kBAAA;AAAA;AAnBA;MAsBA,iBAAA;AAAA;AAtBA;MA0BA,UAAA;AAAA;AA1BA;IAgCA,aAAA;AAAA;AAhCA;IAoCA,UAAA;IACA,WAAA;AAAA;;ACjCA,6CAA6C","file":"CoverContainer.vue","sourcesContent":[null,".cover-container {\n width: 156px;\n height: 156px;\n margin-bottom: 10px; }\n .cover-container .coverart {\n backface-visibility: hidden;\n transition: 0.5s ease;\n height: auto; }\n .cover-container .download_overlay {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n transition: 0.5s ease;\n opacity: 0;\n min-width: 2rem;\n height: 2.75rem;\n text-align: center; }\n .cover-container .download_overlay i {\n padding: 0.625rem; }\n .cover-container .download_overlay:focus {\n opacity: 1; }\n .cover-container:hover .coverart {\n opacity: 0.75; }\n .cover-container:hover .download_overlay {\n opacity: 1;\n border: 0px; }\n\n/*# sourceMappingURL=CoverContainer.vue.map */"]}, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__$h = "data-v-cb0bbf2a"; + /* module identifier */ + const __vue_module_identifier__$c = undefined; + /* functional template */ + const __vue_is_functional_template__$h = false; + /* component normalizer */ + function __vue_normalize__$h( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\globals\\CoverContainer.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + { + let hook; + if (style) { + hook = function(context) { + style.call(this, createInjector(context)); + }; + } + + if (hook !== undefined) { + if (component.functional) { + // register for functional component in vue file + const originalRender = component.render; + component.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context) + }; + } else { + // inject component registration as beforeCreate hook + const existing = component.beforeCreate; + component.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + } + + return component + } + /* style inject */ + function __vue_create_injector__$c() { + const head = document.head || document.getElementsByTagName('head')[0]; + const styles = __vue_create_injector__$c.styles || (__vue_create_injector__$c.styles = {}); + const isOldIE = + typeof navigator !== 'undefined' && + /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + + return function addStyle(id, css) { + if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) return // SSR styles are present. + + const group = isOldIE ? css.media || 'default' : id; + const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined }); + + if (!style.ids.includes(id)) { + let code = css.source; + let index = style.ids.length; + + style.ids.push(id); + + if (isOldIE) { + style.element = style.element || document.querySelector('style[data-group=' + group + ']'); + } + + if (!style.element) { + const el = style.element = document.createElement('style'); + el.type = 'text/css'; + + if (css.media) el.setAttribute('media', css.media); + if (isOldIE) { + el.setAttribute('data-group', group); + el.setAttribute('data-next-index', '0'); + } + + head.appendChild(el); + } + + if (isOldIE) { + index = parseInt(style.element.getAttribute('data-next-index')); + style.element.setAttribute('data-next-index', index + 1); + } + + if (style.element.styleSheet) { + style.parts.push(code); + style.element.styleSheet.cssText = style.parts + .filter(Boolean) + .join('\n'); + } else { + const textNode = document.createTextNode(code); + const nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]); + else style.element.appendChild(textNode); + } + } + } + } + /* style inject SSR */ + + + + var CoverContainer = __vue_normalize__$h( + { render: __vue_render__$h, staticRenderFns: __vue_staticRenderFns__$h }, + __vue_inject_styles__$h, + __vue_script__$f, + __vue_scope_id__$h, + __vue_is_functional_template__$h, + __vue_module_identifier__$c, + __vue_create_injector__$c); + +let settingsData = {}; +let defaultSettingsData = {}; +let spotifyCredentials = {}; + +function getSettingsData() { + { + socket.emit('get_settings_data'); + + return new Promise((resolve, reject) => { + socket.on('init_settings', (settings, credentials, defaults) => { + settingsData = settings; + defaultSettingsData = defaults; + spotifyCredentials = credentials; + // cached = true + + socket.off('init_settings'); + resolve({ settingsData, defaultSettingsData, spotifyCredentials }); + }); + }) + } +} + +/** + * @returns {number} + */ +function getInitialPreviewVolume() { + let volume = parseInt(localStorage.getItem('previewVolume')); + + if (isNaN(volume)) { + volume = 80; // Default + localStorage.setItem('previewVolume', volume.toString()); + } + + return volume +} + +/** + * @returns {boolean} + */ +function checkInitialSlimDownloads() { + return 'true' === localStorage.getItem('slimDownloads') +} + +/** + * @returns {boolean} + */ +function checkInitialSlimSidebar() { + return 'true' === localStorage.getItem('slimSidebar') +} + +/** + * @typedef {object} AppInfo + * @property {string} currentCommit + * @property {string} latestCommit + * @property {boolean} updateAvailable + * @property {string} deemixVersion + * @property {number} previewVolume + * @property {boolean} hasSlimDownloads + * @property {boolean} hasSlimSidebar + */ + +/** + * @returns {AppInfo} + */ +const state = () => ({ + currentCommit: null, + latestCommit: null, + updateAvailable: false, + deemixVersion: null, + previewVolume: getInitialPreviewVolume(), + hasSlimDownloads: checkInitialSlimDownloads(), + hasSlimSidebar: checkInitialSlimSidebar() +}); + +const actions = { + /** + * @param {any} action + * @param {AppInfo} payload + */ + setAppInfo({ commit }, payload) { + commit('SET_CURRENT_COMMIT', payload.currentCommit); + commit('SET_LATEST_COMMIT', payload.latestCommit); + commit('SET_UPDATE_AVAILABLE', payload.updateAvailable); + commit('SET_DEEMIX_VERSION', payload.deemixVersion); + }, + /** + * @param {any} action + * @param {AppInfo['previewVolume']} payload + */ + setPreviewVolume({ commit }, payload) { + commit('SET_PREVIEW_VOLUME', payload); + localStorage.setItem('previewVolume', payload.toString()); + }, + /** + * @param {any} action + * @param {AppInfo['hasSlimDownloads']} payload + */ + setSlimDownloads({ commit }, payload) { + commit('SET_SLIM_DOWNLOADS', payload); + localStorage.setItem('slimDownloads', payload.toString()); + }, + /** + * @param {any} action + * @param {AppInfo['hasSlimSidebar']} payload + */ + setSlimSidebar({ commit }, payload) { + commit('SET_SLIM_SIDEBAR', payload); + localStorage.setItem('slimSidebar', payload.toString()); + + // Moves all toast messages when the option changes + Array.from(document.getElementsByClassName('toastify')).forEach(toast => { + toast.style.transform = `translate(${payload ? '3rem' : '14rem'}, 0)`; + }); + } +}; + +const getters = { + /** + * @param {AppInfo} state + * @returns {AppInfo} + */ + getAppInfo: state => state, + /** + * @param {AppInfo} state + * @returns {AppInfo['previewVolume']} + */ + getPreviewVolume: state => state.previewVolume, + /** + * @param {AppInfo} state + * @returns {AppInfo['hasSlimDownloads']} + */ + getSlimDownloads: state => state.hasSlimDownloads, + /** + * @param {AppInfo} state + * @returns {AppInfo['hasSlimSidebar']} + */ + getSlimSidebar: state => state.hasSlimSidebar +}; + +const mutations = { + /** + * @param {AppInfo} state + * @param {AppInfo['currentCommit']} payload + */ + SET_CURRENT_COMMIT(state, payload) { + state.currentCommit = payload; + }, + /** + * @param {AppInfo} state + * @param {AppInfo['latestCommit']} payload + */ + SET_LATEST_COMMIT(state, payload) { + state.latestCommit = payload; + }, + /** + * @param {AppInfo} state + * @param {AppInfo['updateAvailable']} payload + */ + SET_UPDATE_AVAILABLE(state, payload) { + state.updateAvailable = payload; + }, + /** + * @param {AppInfo} state + * @param {AppInfo['deemixVersion']} payload + */ + SET_DEEMIX_VERSION(state, payload) { + state.deemixVersion = payload; + }, + /** + * @param {AppInfo} state + * @param {AppInfo['previewVolume']} payload + */ + SET_PREVIEW_VOLUME(state, payload) { + state.previewVolume = payload; + }, + /** + * @param {AppInfo} state + * @param {AppInfo['hasSlimDownloads']} payload + */ + SET_SLIM_DOWNLOADS(state, payload) { + state.hasSlimDownloads = payload; + }, + /** + * @param {AppInfo} state + * @param {AppInfo['hasSlimSidebar']} payload + */ + SET_SLIM_SIDEBAR(state, payload) { + state.hasSlimSidebar = payload; + } +}; + +var appInfo = { + state, + getters, + actions, + mutations +}; + +const getDefaultState = () => ({ + arl: localStorage.getItem('arl') || '', + status: null, + user: { + id: null, + name: '', + picture: '' + }, + spotifyUser: { + id: localStorage.getItem('spotifyUser'), + name: null, + picture: null + }, + clientMode: false +}); + +const state$1 = () => { + return getDefaultState() +}; + +const actions$1 = { + login({ commit, dispatch }, payload) { + const { arl, user, status } = payload; + + dispatch('setARL', { arl }); + commit('SET_USER', user); + commit('SET_STATUS', status); + }, + logout({ commit }) { + localStorage.removeItem('arl'); + + commit('RESET_LOGIN'); + }, + setARL({ commit }, payload) { + let { arl, saveOnLocalStorage } = payload; + + saveOnLocalStorage = typeof saveOnLocalStorage === 'undefined' ? true : saveOnLocalStorage; + + commit('SET_ARL', arl); + + if (saveOnLocalStorage) { + localStorage.setItem('arl', arl); + } + }, + removeARL({ commit }) { + commit('SET_ARL', ''); + + localStorage.removeItem('arl'); + }, + setUser({ commit }, payload) { + commit('SET_USER', payload); + }, + setClientMode({ commit }, payload) { + commit('SET_CLIENT_MODE', payload); + } +}; + +const getters$1 = { + getARL: state => state.arl, + getUser: state => state.user, + getSpotifyUser: state => state.spotifyUser, + getClientMode: state => state.clientMode, + + isLoggedIn: state => !!state.arl, + isLoggedWithSpotify: state => !!state.spotifyUser.id +}; + +const mutations$1 = { + SET_ARL(state, payload) { + state.arl = payload; + }, + SET_STATUS(state, payload) { + state.status = payload; + }, + SET_USER(state, payload) { + state.user = payload; + }, + SET_CLIENT_MODE(state, payload) { + state.clientMode = payload; + }, + RESET_LOGIN(state) { + // Needed for reactivity + let clientMode = state.clientMode; + Object.assign(state, getDefaultState()); + state.clientMode = clientMode; + } +}; + +var login = { + state: state$1, + getters: getters$1, + actions: actions$1, + mutations: mutations$1 +}; + +const state$2 = () => ({ + artist: '', + bitrate: '', + cover: '', + downloaded: 0, + errors: [], + failed: 0, + id: '', + progress: 0, + silent: true, + size: 0, + title: '', + type: '', + uuid: '' +}); + +const actions$2 = { + setErrors({ commit }, payload) { + commit('SET_ERRORS', payload); + } +}; + +const getters$2 = { + getErrors: state => state +}; + +const mutations$2 = { + SET_ERRORS(state, payload) { + // The payload has useless data for the GUI, so only the needed data is saved in the store + for (const errorName in state) { + if (state.hasOwnProperty(errorName)) { + const error = payload[errorName]; + + state[errorName] = error; + } + } + } +}; + +var errors = { + state: state$2, + getters: getters$2, + actions: actions$2, + mutations: mutations$2 +}; + +Vue.use(index$2); + +var store = new index$2.Store({ + modules: { + appInfo, + login, + errors + }, + strict: "development" !== 'production' +}); + +const favoriteArtists = ref$2([]); +const favoriteAlbums = ref$2([]); +const favoriteSpotifyPlaylists = ref$2([]); +const favoritePlaylists = ref$2([]); +const favoriteTracks = ref$2([]); + +const isRefreshingFavorites = ref$2(false); + +if (store.getters.isLoggedIn) { + refreshFavorites({ isInitial: true }); +} + +async function refreshFavorites({ isInitial = false }) { + if (!isInitial) { + isRefreshingFavorites.value = true; + } + + const favorites = await fetchData('getFavorites'); + + setAllFavorites(favorites); + + if (store.getters.isLoggedWithSpotify) { + // TODO + const res = await fetchData('getUserSpotifyPlaylists', { spotifyUser: store.getters.getSpotifyUser.id }); + // socket.emit('update_userSpotifyPlaylists', store.getters.getSpotifyUser.id) + } +} + +function useFavorites() { + return { + favoriteArtists, + favoriteAlbums, + favoriteSpotifyPlaylists, + favoritePlaylists, + favoriteTracks, + isRefreshingFavorites, + refreshFavorites + } +} + +function setAllFavorites(data) { + const { tracks, albums, artists, playlists } = data; + + favoriteArtists.value = artists; + favoriteAlbums.value = albums; + favoritePlaylists.value = playlists; + favoriteTracks.value = tracks; +} + +socket.on('updated_userFavorites', data => { + setAllFavorites(data); + // Commented out because the corresponding emit function is never called at the moment + // therefore isRefreshingFavorites is never set to true + // isRefreshingFavorites.value = false +}); + +socket.on('init_favorites', data => { + setAllFavorites(data); + isRefreshingFavorites.value = false; +}); + +socket.on('updated_userSpotifyPlaylists', data => { + favoriteSpotifyPlaylists.value = data; +}); +socket.on('updated_userSpotifyPlaylists', data => { + favoriteSpotifyPlaylists.value = data; +}); +socket.on('updated_userPlaylists', data => { + favoritePlaylists.value = data; +}); +socket.on('updated_userAlbums', data => { + favoriteAlbums.value = data; +}); +socket.on('updated_userArtist', data => { + favoriteArtists.value = data; +}); +socket.on('updated_userTracks', data => { + favoriteTracks.value = data; +}); + +// + +var script$g = defineComponent({ + components: { + PreviewControls, + CoverContainer, + BaseTabs, + BaseTab + }, + setup(props, ctx) { + const state = reactive({ + activeTab: 'playlist', + tabs: ['playlist', 'album', 'artist', 'track'] + }); + const { + favoriteArtists, + favoriteAlbums, + favoriteSpotifyPlaylists, + favoritePlaylists, + favoriteTracks, + isRefreshingFavorites, + refreshFavorites + } = useFavorites(); + const reloadButton = computed(() => ctx.refs.reloadButton); + + watch(isRefreshingFavorites, (newVal, oldVal) => { + // If oldVal is true and newOne is false, it means that a refreshing has just terminated + // because isRefreshingFavorites represents the status of the refresh functionality + const isRefreshingTerminated = oldVal && !newVal; + + if (!isRefreshingTerminated) return + + toast(ctx.root.$t('toasts.refreshFavs'), 'done', true); + }); + + return { + ...toRefs(state), + tracks: favoriteTracks, + albums: favoriteAlbums, + artists: favoriteArtists, + playlists: favoritePlaylists, + spotifyPlaylists: favoriteSpotifyPlaylists, + refreshFavorites, + isRefreshingFavorites + } + }, + computed: { + activeTabEmpty() { + let toCheck = this.getActiveRelease(); + + return toCheck?.length === 0 + } + }, + methods: { + playPausePreview, + convertDuration, + downloadAllOfType() { + try { + let toDownload = this.getActiveRelease(); + + if (this.activeTab === 'track') { + let lovedTracks = this.getLovedTracksPlaylist(); + + sendAddToQueue(lovedTracks.link); + } else { + sendAddToQueue(aggregateDownloadLinks(toDownload)); + } + } catch (error) { + console.error(error.message); + } + }, + addToQueue(e) { + sendAddToQueue(e.currentTarget.dataset.link); + }, + getActiveRelease(tab = this.activeTab) { + let toDownload; + // console.log({ tab, play: this.playlists }) + + switch (tab) { + case 'playlist': + toDownload = this.playlists; + break + case 'album': + toDownload = this.albums; + break + case 'artist': + toDownload = this.artists; + break + case 'track': + toDownload = this.tracks; + break + } + + return toDownload + }, + getTabLength(tab = this.activeTab) { + let total = this[`${tab}s`]?.length; + // TODO: Add Spotify playlists to downlaod queue as well + //if (tab === "playlist") total += this.spotifyPlaylists.length + return total || 0 + }, + getLovedTracksPlaylist() { + let lovedTracks = this.playlists.filter(playlist => { + return playlist.is_loved_track + }); + + if (lovedTracks.length !== 0) { + return lovedTracks[0] + } else { + throw new Error('No loved tracks playlist!') + } + } + } +}); + +/* script */ + const __vue_script__$g = script$g; + +/* template */ +var __vue_render__$i = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "div", + [ + _c("h1", { staticClass: "mb-8 text-5xl" }, [ + _vm._v("\n\t\t" + _vm._s(_vm.$t("favorites.title")) + "\n\t\t"), + _c( + "div", + { + ref: "reloadButton", + staticClass: "inline-block clickable", + attrs: { "aria-label": "reload", role: "button" }, + on: { click: _vm.refreshFavorites } + }, + [ + _c( + "i", + { + staticClass: "material-icons", + class: { spin: _vm.isRefreshingFavorites } + }, + [_vm._v("sync")] + ) + ] + ) + ]), + _vm._v(" "), + _c( + "BaseTabs", + _vm._l(_vm.tabs, function(tab) { + return _c( + "BaseTab", + { + key: tab, + class: { active: _vm.activeTab === tab }, + on: { + click: function($event) { + _vm.activeTab = tab; + } + } + }, + [ + _vm._v( + "\n\t\t\t" + + _vm._s(_vm.$tc("globals.listTabs." + tab, 2)) + + "\n\t\t" + ) + ] + ) + }), + 1 + ), + _vm._v(" "), + !_vm.activeTabEmpty + ? _c( + "button", + { + staticClass: "btn btn-primary", + staticStyle: { "margin-bottom": "2rem" }, + on: { click: _vm.downloadAllOfType } + }, + [ + _vm._v( + "\n\t\t" + + _vm._s( + _vm.$t("globals.download", { + thing: _vm.$tc( + "globals.listTabs." + _vm.activeTab + "N", + _vm.getTabLength() + ) + }) + ) + + "\n\t" + ) + ] + ) + : _vm._e(), + _vm._v(" "), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.activeTab === "playlist", + expression: "activeTab === 'playlist'" + } + ] + }, + [ + _vm.playlists.length == 0 + ? _c("div", [ + _c("h1", [_vm._v(_vm._s(_vm.$t("favorites.noPlaylists")))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.playlists.length > 0 || _vm.spotifyPlaylists > 0 + ? _c( + "div", + { staticClass: "release-grid" }, + [ + _vm._l(_vm.playlists, function(release) { + return _c( + "div", + { key: release.id, staticClass: "release" }, + [ + _c( + "router-link", + { + staticClass: "cursor-pointer", + attrs: { + to: { + name: "Playlist", + params: { id: release.id } + }, + tag: "div" + } + }, + [ + _c("CoverContainer", { + attrs: { + cover: release.picture_medium, + link: release.link, + "is-rounded": "" + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }), + _vm._v(" "), + _c("p", { staticClass: "primary-text" }, [ + _vm._v(_vm._s(release.title)) + ]) + ], + 1 + ), + _vm._v(" "), + _c("p", { staticClass: "secondary-text" }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$t("globals.by", { + artist: release.creator.name + }) + + " - " + + _vm.$tc( + "globals.listTabs.trackN", + release.nb_tracks + ) + ) + + "\n\t\t\t\t" + ) + ]) + ], + 1 + ) + }), + _vm._v(" "), + _vm._l(_vm.spotifyPlaylists, function(release) { + return _c( + "div", + { key: release.id, staticClass: "release" }, + [ + _c( + "router-link", + { + staticClass: "cursor-pointer", + attrs: { + to: { + name: "Spotify Playlist", + params: { id: release.id } + }, + tag: "div" + } + }, + [ + _c("CoverContainer", { + attrs: { + cover: release.picture_medium, + link: release.link, + "is-rounded": "" + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }), + _vm._v(" "), + _c("p", { staticClass: "primary-text" }, [ + _vm._v(_vm._s(release.title)) + ]) + ], + 1 + ), + _vm._v(" "), + _c("p", { staticClass: "secondary-text" }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$t("globals.by", { + artist: release.creator.name + }) + + " - " + + _vm.$tc( + "globals.listTabs.trackN", + release.nb_tracks + ) + ) + + "\n\t\t\t\t" + ) + ]) + ], + 1 + ) + }) + ], + 2 + ) + : _vm._e() + ] + ), + _vm._v(" "), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.activeTab === "album", + expression: "activeTab === 'album'" + } + ] + }, + [ + _vm.albums.length == 0 + ? _c("div", [ + _c("h1", [_vm._v(_vm._s(_vm.$t("favorites.noAlbums")))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.albums.length > 0 + ? _c( + "div", + { staticClass: "release-grid" }, + _vm._l(_vm.albums, function(release) { + return _c( + "router-link", + { + key: release.id, + staticClass: "release clickable", + attrs: { + to: { name: "Album", params: { id: release.id } }, + tag: "div" + } + }, + [ + _c("CoverContainer", { + attrs: { + cover: release.cover_medium, + link: release.link, + "is-rounded": "" + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }), + _vm._v(" "), + _c("p", { staticClass: "primary-text" }, [ + _vm._v(_vm._s(release.title)) + ]), + _vm._v(" "), + _c("p", { staticClass: "secondary-text" }, [ + _vm._v( + _vm._s( + "" + + _vm.$t("globals.by", { + artist: release.artist.name + }) + ) + ) + ]) + ], + 1 + ) + }), + 1 + ) + : _vm._e() + ] + ), + _vm._v(" "), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.activeTab === "artist", + expression: "activeTab === 'artist'" + } + ] + }, + [ + _vm.artists.length == 0 + ? _c("div", [ + _c("h1", [_vm._v(_vm._s(_vm.$t("favorites.noArtists")))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.artists.length > 0 + ? _c( + "div", + { staticClass: "release-grid" }, + _vm._l(_vm.artists, function(release) { + return _c( + "router-link", + { + key: release.id, + staticClass: "release clickable", + attrs: { + to: { name: "Artist", params: { id: release.id } }, + tag: "div" + } + }, + [ + _c("CoverContainer", { + attrs: { + cover: release.picture_medium, + link: release.link, + "is-circle": "" + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }), + _vm._v(" "), + _c("p", { staticClass: "primary-text" }, [ + _vm._v(_vm._s(release.name)) + ]) + ], + 1 + ) + }), + 1 + ) + : _vm._e() + ] + ), + _vm._v(" "), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.activeTab === "track", + expression: "activeTab === 'track'" + } + ] + }, + [ + _vm.tracks.length == 0 + ? _c("div", [ + _c("h1", [_vm._v(_vm._s(_vm.$t("favorites.noTracks")))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.tracks.length > 0 + ? _c( + "table", + { staticClass: "table" }, + _vm._l(_vm.tracks, function(track) { + return _c( + "tr", + { staticClass: "track_row" }, + [ + _c( + "td", + { + staticClass: "p-3 text-center cursor-default", + class: { first: track.position === 1 } + }, + [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s(track.position) + + "\n\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c("td", [ + _c( + "span", + { + staticClass: + "relative inline-block rounded cursor-pointer", + attrs: { "data-preview": track.preview }, + on: { click: _vm.playPausePreview } + }, + [ + track.preview ? _c("PreviewControls") : _vm._e(), + _vm._v(" "), + _c("img", { + staticClass: "rounded coverart", + attrs: { src: track.album.cover_small } + }) + ], + 1 + ) + ]), + _vm._v(" "), + _c("td", { staticClass: "table__cell--large" }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + track.title + + (track.title_version && + track.title.indexOf(track.title_version) == -1 + ? " " + track.title_version + : "") + ) + + "\n\t\t\t\t" + ) + ]), + _vm._v(" "), + _c( + "router-link", + { + staticClass: + "table__cell table__cell--medium table__cell--center clickable", + attrs: { + to: { + name: "Artist", + params: { id: track.artist.id } + }, + tag: "td" + } + }, + [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s(track.artist.name) + + "\n\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c( + "router-link", + { + staticClass: + "table__cell--medium table__cell--center clickable", + attrs: { + to: { + name: "Album", + params: { id: track.album.id } + }, + tag: "td" + } + }, + [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s(track.album.title) + + "\n\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c("td", { staticClass: "table__cell--small" }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s(_vm.convertDuration(track.duration)) + + "\n\t\t\t\t" + ) + ]), + _vm._v(" "), + _c( + "td", + { + staticClass: "cursor-pointer group", + attrs: { + "data-link": track.link, + "aria-label": "download", + role: "button" + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }, + [ + _c( + "div", + { + staticClass: + "table__cell-content table__cell-content--vertical-center" + }, + [ + _c( + "i", + { + staticClass: + "transition-colors duration-150 ease-in-out material-icons group-hover:text-primary", + attrs: { + title: _vm.$t("globals.download_hint") + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\tget_app\n\t\t\t\t\t\t" + ) + ] + ) + ] + ) + ] + ) + ], + 1 + ) + }), + 0 + ) + : _vm._e() + ] + ) + ], + 1 + ) +}; +var __vue_staticRenderFns__$i = []; +__vue_render__$i._withStripped = true; + + /* style */ + const __vue_inject_styles__$i = undefined; + /* scoped */ + const __vue_scope_id__$i = undefined; + /* functional template */ + const __vue_is_functional_template__$i = false; + /* component normalizer */ + function __vue_normalize__$i( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\Favorites.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var Favorites = __vue_normalize__$i( + { render: __vue_render__$i, staticRenderFns: __vue_staticRenderFns__$i }, + __vue_inject_styles__$i, + __vue_script__$g, + __vue_scope_id__$i, + __vue_is_functional_template__$i); + +let homeData = {}; +let cached$1 = false; + +async function getHomeData() { + if (cached$1) { + return homeData + } else { + const data = await fetchData('getHome'); + + homeData = data; + cached$1 = true; + + return data + } +} + +// + +var script$h = { + components: { + CoverContainer + }, + data() { + return { + playlists: [], + albums: [] + } + }, + async created() { + const homeData = await getHomeData(); + + this.initHome(homeData); + }, + computed: { + ...mapGetters(['isLoggedIn']) + }, + methods: { + addToQueue(e) { + sendAddToQueue(e.currentTarget.dataset.link); + }, + initHome(data) { + const { + playlists: { data: playlistData }, + albums: { data: albumData } + } = data; + + this.playlists = playlistData; + this.albums = albumData; + } + } +}; + +/* script */ + const __vue_script__$h = script$h; + +/* template */ +var __vue_render__$j = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { attrs: { id: "home_tab" } }, [ + _c("h1", { staticClass: "mb-8 text-5xl" }, [ + _vm._v(_vm._s(_vm.$t("globals.welcome"))) + ]), + _vm._v(" "), + !_vm.isLoggedIn + ? _c( + "section", + { + ref: "notLogged", + staticClass: + "py-6 border-0 border-t border-solid border-grayscale-500" + }, + [ + _c( + "p", + { staticClass: "mb-4", attrs: { id: "home_not_logged_text" } }, + [_vm._v(_vm._s(_vm.$t("home.needTologin")))] + ), + _vm._v(" "), + _c( + "router-link", + { + staticClass: "btn btn-primary", + attrs: { + tag: "button", + name: "button", + to: { name: "Settings" } + } + }, + [ + _vm._v( + "\n\t\t\t" + _vm._s(_vm.$t("home.openSettings")) + "\n\t\t" + ) + ] + ) + ], + 1 + ) + : _vm._e(), + _vm._v(" "), + _vm.playlists.length + ? _c( + "section", + { + staticClass: + "py-6 border-0 border-t border-solid border-grayscale-500" + }, + [ + _c("h2", { staticClass: "mb-6 text-3xl" }, [ + _vm._v(_vm._s(_vm.$t("home.sections.popularPlaylists"))) + ]), + _vm._v(" "), + _c( + "div", + { staticClass: "release-grid" }, + _vm._l(_vm.playlists, function(release) { + return _c( + "router-link", + { + key: release.id, + staticClass: "release clickable", + attrs: { + tag: "div", + to: { name: "Playlist", params: { id: release.id } }, + tabindex: "0" + }, + nativeOn: { + keyup: function($event) { + if ( + !$event.type.indexOf("key") && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + return _vm.$router.push({ + name: "Playlist", + params: { id: release.id } + }) + } + } + }, + [ + _c("CoverContainer", { + attrs: { + "is-rounded": "", + cover: release.picture_medium, + link: release.link + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }), + _vm._v(" "), + _c("p", { staticClass: "primary-text" }, [ + _vm._v(_vm._s(release.title)) + ]), + _vm._v(" "), + _c("p", { staticClass: "secondary-text" }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$t("globals.by", { + artist: release.user.name + }) + + " - " + + _vm.$tc( + "globals.listTabs.trackN", + release.nb_tracks + ) + ) + + "\n\t\t\t\t" + ) + ]) + ], + 1 + ) + }), + 1 + ) + ] + ) + : _vm._e(), + _vm._v(" "), + _vm.albums.length + ? _c( + "section", + { + staticClass: + "py-6 border-0 border-t border-solid border-grayscale-500" + }, + [ + _c("h2", { staticClass: "mb-6 text-3xl" }, [ + _vm._v(_vm._s(_vm.$t("home.sections.popularAlbums"))) + ]), + _vm._v(" "), + _c( + "div", + { staticClass: "release-grid" }, + _vm._l(_vm.albums, function(release) { + return _c( + "router-link", + { + key: release.id, + staticClass: "release clickable", + attrs: { + tag: "div", + to: { name: "Album", params: { id: release.id } }, + "data-id": release.id, + tabindex: "0" + }, + nativeOn: { + keyup: function($event) { + if ( + !$event.type.indexOf("key") && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + return _vm.$router.push({ + name: "Album", + params: { id: release.id } + }) + } + } + }, + [ + _c("CoverContainer", { + attrs: { + "is-rounded": "", + cover: release.cover_medium, + link: release.link + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }), + _vm._v(" "), + _c("p", { staticClass: "primary-text" }, [ + _vm._v(_vm._s(release.title)) + ]), + _vm._v(" "), + _c("p", { staticClass: "secondary-text" }, [ + _vm._v( + _vm._s( + "" + + _vm.$t("globals.by", { + artist: release.artist.name + }) + ) + ) + ]) + ], + 1 + ) + }), + 1 + ) + ] + ) + : _vm._e() + ]) +}; +var __vue_staticRenderFns__$j = []; +__vue_render__$j._withStripped = true; + + /* style */ + const __vue_inject_styles__$j = function (inject) { + if (!inject) return + inject("data-v-b5946c4c_0", { source: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", map: {"version":3,"sources":[],"names":[],"mappings":"","file":"Home.vue"}, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__$j = undefined; + /* module identifier */ + const __vue_module_identifier__$d = undefined; + /* functional template */ + const __vue_is_functional_template__$j = false; + /* component normalizer */ + function __vue_normalize__$j( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\Home.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + { + let hook; + if (style) { + hook = function(context) { + style.call(this, createInjector(context)); + }; + } + + if (hook !== undefined) { + if (component.functional) { + // register for functional component in vue file + const originalRender = component.render; + component.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context) + }; + } else { + // inject component registration as beforeCreate hook + const existing = component.beforeCreate; + component.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + } + + return component + } + /* style inject */ + function __vue_create_injector__$d() { + const head = document.head || document.getElementsByTagName('head')[0]; + const styles = __vue_create_injector__$d.styles || (__vue_create_injector__$d.styles = {}); + const isOldIE = + typeof navigator !== 'undefined' && + /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + + return function addStyle(id, css) { + if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) return // SSR styles are present. + + const group = isOldIE ? css.media || 'default' : id; + const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined }); + + if (!style.ids.includes(id)) { + let code = css.source; + let index = style.ids.length; + + style.ids.push(id); + + if (isOldIE) { + style.element = style.element || document.querySelector('style[data-group=' + group + ']'); + } + + if (!style.element) { + const el = style.element = document.createElement('style'); + el.type = 'text/css'; + + if (css.media) el.setAttribute('media', css.media); + if (isOldIE) { + el.setAttribute('data-group', group); + el.setAttribute('data-next-index', '0'); + } + + head.appendChild(el); + } + + if (isOldIE) { + index = parseInt(style.element.getAttribute('data-next-index')); + style.element.setAttribute('data-next-index', index + 1); + } + + if (style.element.styleSheet) { + style.parts.push(code); + style.element.styleSheet.cssText = style.parts + .filter(Boolean) + .join('\n'); + } else { + const textNode = document.createTextNode(code); + const nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]); + else style.element.appendChild(textNode); + } + } + } + } + /* style inject SSR */ + + + + var Home = __vue_normalize__$j( + { render: __vue_render__$j, staticRenderFns: __vue_staticRenderFns__$j }, + __vue_inject_styles__$j, + __vue_script__$h, + __vue_scope_id__$j, + __vue_is_functional_template__$j, + __vue_module_identifier__$d, + __vue_create_injector__$d); + +const COUNTRIES = { + AF: 'Afghanistan', + AX: '\u00c5land Islands', + AL: 'Albania', + DZ: 'Algeria', + AS: 'American Samoa', + AD: 'Andorra', + AO: 'Angola', + AI: 'Anguilla', + AQ: 'Antarctica', + AG: 'Antigua and Barbuda', + AR: 'Argentina', + AM: 'Armenia', + AW: 'Aruba', + AU: 'Australia', + AT: 'Austria', + AZ: 'Azerbaijan', + BS: 'Bahamas', + BH: 'Bahrain', + BD: 'Bangladesh', + BB: 'Barbados', + BY: 'Belarus', + BE: 'Belgium', + BZ: 'Belize', + BJ: 'Benin', + BM: 'Bermuda', + BT: 'Bhutan', + BO: 'Bolivia, Plurinational State of', + BQ: 'Bonaire, Sint Eustatius and Saba', + BA: 'Bosnia and Herzegovina', + BW: 'Botswana', + BV: 'Bouvet Island', + BR: 'Brazil', + IO: 'British Indian Ocean Territory', + BN: 'Brunei Darussalam', + BG: 'Bulgaria', + BF: 'Burkina Faso', + BI: 'Burundi', + KH: 'Cambodia', + CM: 'Cameroon', + CA: 'Canada', + CV: 'Cape Verde', + KY: 'Cayman Islands', + CF: 'Central African Republic', + TD: 'Chad', + CL: 'Chile', + CN: 'China', + CX: 'Christmas Island', + CC: 'Cocos (Keeling) Islands', + CO: 'Colombia', + KM: 'Comoros', + CG: 'Congo', + CD: 'Congo, the Democratic Republic of the', + CK: 'Cook Islands', + CR: 'Costa Rica', + CI: "C\u00f4te d'Ivoire", + HR: 'Croatia', + CU: 'Cuba', + CW: 'Cura\u00e7ao', + CY: 'Cyprus', + CZ: 'Czech Republic', + DK: 'Denmark', + DJ: 'Djibouti', + DM: 'Dominica', + DO: 'Dominican Republic', + EC: 'Ecuador', + EG: 'Egypt', + SV: 'El Salvador', + GQ: 'Equatorial Guinea', + ER: 'Eritrea', + EE: 'Estonia', + ET: 'Ethiopia', + FK: 'Falkland Islands (Malvinas)', + FO: 'Faroe Islands', + FJ: 'Fiji', + FI: 'Finland', + FR: 'France', + GF: 'French Guiana', + PF: 'French Polynesia', + TF: 'French Southern Territories', + GA: 'Gabon', + GM: 'Gambia', + GE: 'Georgia', + DE: 'Germany', + GH: 'Ghana', + GI: 'Gibraltar', + GR: 'Greece', + GL: 'Greenland', + GD: 'Grenada', + GP: 'Guadeloupe', + GU: 'Guam', + GT: 'Guatemala', + GG: 'Guernsey', + GN: 'Guinea', + GW: 'Guinea-Bissau', + GY: 'Guyana', + HT: 'Haiti', + HM: 'Heard Island and McDonald Islands', + VA: 'Holy See (Vatican City State)', + HN: 'Honduras', + HK: 'Hong Kong', + HU: 'Hungary', + IS: 'Iceland', + IN: 'India', + ID: 'Indonesia', + IR: 'Iran, Islamic Republic of', + IQ: 'Iraq', + IE: 'Ireland', + IM: 'Isle of Man', + IL: 'Israel', + IT: 'Italy', + JM: 'Jamaica', + JP: 'Japan', + JE: 'Jersey', + JO: 'Jordan', + KZ: 'Kazakhstan', + KE: 'Kenya', + KI: 'Kiribati', + KP: "Korea, Democratic People's Republic of", + KR: 'Korea, Republic of', + KW: 'Kuwait', + KG: 'Kyrgyzstan', + LA: "Lao People's Democratic Republic", + LV: 'Latvia', + LB: 'Lebanon', + LS: 'Lesotho', + LR: 'Liberia', + LY: 'Libya', + LI: 'Liechtenstein', + LT: 'Lithuania', + LU: 'Luxembourg', + MO: 'Macao', + MK: 'Macedonia, the Former Yugoslav Republic of', + MG: 'Madagascar', + MW: 'Malawi', + MY: 'Malaysia', + MV: 'Maldives', + ML: 'Mali', + MT: 'Malta', + MH: 'Marshall Islands', + MQ: 'Martinique', + MR: 'Mauritania', + MU: 'Mauritius', + YT: 'Mayotte', + MX: 'Mexico', + FM: 'Micronesia, Federated States of', + MD: 'Moldova, Republic of', + MC: 'Monaco', + MN: 'Mongolia', + ME: 'Montenegro', + MS: 'Montserrat', + MA: 'Morocco', + MZ: 'Mozambique', + MM: 'Myanmar', + NA: 'Namibia', + NR: 'Nauru', + NP: 'Nepal', + NL: 'Netherlands', + NC: 'New Caledonia', + NZ: 'New Zealand', + NI: 'Nicaragua', + NE: 'Niger', + NG: 'Nigeria', + NU: 'Niue', + NF: 'Norfolk Island', + MP: 'Northern Mariana Islands', + NO: 'Norway', + OM: 'Oman', + PK: 'Pakistan', + PW: 'Palau', + PS: 'Palestine, State of', + PA: 'Panama', + PG: 'Papua New Guinea', + PY: 'Paraguay', + PE: 'Peru', + PH: 'Philippines', + PN: 'Pitcairn', + PL: 'Poland', + PT: 'Portugal', + PR: 'Puerto Rico', + QA: 'Qatar', + RE: 'R\u00e9union', + RO: 'Romania', + RU: 'Russian Federation', + RW: 'Rwanda', + BL: 'Saint Barth\u00e9lemy', + SH: 'Saint Helena, Ascension and Tristan da Cunha', + KN: 'Saint Kitts and Nevis', + LC: 'Saint Lucia', + MF: 'Saint Martin (French part)', + PM: 'Saint Pierre and Miquelon', + VC: 'Saint Vincent and the Grenadines', + WS: 'Samoa', + SM: 'San Marino', + ST: 'Sao Tome and Principe', + SA: 'Saudi Arabia', + SN: 'Senegal', + RS: 'Serbia', + SC: 'Seychelles', + SL: 'Sierra Leone', + SG: 'Singapore', + SX: 'Sint Maarten (Dutch part)', + SK: 'Slovakia', + SI: 'Slovenia', + SB: 'Solomon Islands', + SO: 'Somalia', + ZA: 'South Africa', + GS: 'South Georgia and the South Sandwich Islands', + SS: 'South Sudan', + ES: 'Spain', + LK: 'Sri Lanka', + SD: 'Sudan', + SR: 'Suriname', + SJ: 'Svalbard and Jan Mayen', + SZ: 'Swaziland', + SE: 'Sweden', + CH: 'Switzerland', + SY: 'Syrian Arab Republic', + TW: 'Taiwan, Province of China', + TJ: 'Tajikistan', + TZ: 'Tanzania, United Republic of', + TH: 'Thailand', + TL: 'Timor-Leste', + TG: 'Togo', + TK: 'Tokelau', + TO: 'Tonga', + TT: 'Trinidad and Tobago', + TN: 'Tunisia', + TR: 'Turkey', + TM: 'Turkmenistan', + TC: 'Turks and Caicos Islands', + TV: 'Tuvalu', + UG: 'Uganda', + UA: 'Ukraine', + AE: 'United Arab Emirates', + GB: 'United Kingdom', + US: 'United States', + UM: 'United States Minor Outlying Islands', + UY: 'Uruguay', + UZ: 'Uzbekistan', + VU: 'Vanuatu', + VE: 'Venezuela, Bolivarian Republic of', + VN: 'Viet Nam', + VG: 'Virgin Islands, British', + VI: 'Virgin Islands, U.S.', + WF: 'Wallis and Futuna', + EH: 'Western Sahara', + YE: 'Yemen', + ZM: 'Zambia', + ZW: 'Zimbabwe' +}; + +// + +var script$i = { + data() { + return { + link: '', + title: '', + subtitle: '', + image: '', + data: {}, + type: '', + id: '0', + countries: [] + } + }, + methods: { + convertDuration, + reset() { + this.title = 'Loading...'; + this.subtitle = ''; + this.image = ''; + this.data = {}; + this.type = ''; + this.link = ''; + this.countries = []; + }, + showTrack(data) { + this.reset(); + const { + title, + title_version, + album: { cover_xl }, + link, + available_countries, + id + } = data; + + this.title = title + (title_version && title.indexOf(title_version) == -1 ? ' ' + title_version : ''); + this.image = cover_xl; + this.type = 'track'; + this.link = link; + this.id = id; + + available_countries.forEach(cc => { + let temp = []; + let chars = [...cc].map(c => c.charCodeAt() + 127397); + temp.push(String.fromCodePoint(...chars)); + temp.push(COUNTRIES[cc]); + this.countries.push(temp); + }); + + this.data = data; + }, + showAlbum(data) { + this.reset(); + const { title, cover_xl, link, id } = data; + + this.title = title; + this.image = cover_xl; + this.type = 'album'; + this.link = link; + this.data = data; + this.id = id; + }, + notSupported() { + this.link = 'error'; + }, + addToQueue(e) { + sendAddToQueue(e.currentTarget.dataset.link); + } + }, + mounted() { + socket.on('analyze_track', this.showTrack); + socket.on('analyze_album', this.showAlbum); + socket.on('analyze_notSupported', this.notSupported); + } +}; + +/* script */ + const __vue_script__$i = script$i; + +/* template */ +var __vue_render__$k = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "div", + { staticClass: "image-header", attrs: { id: "analyzer_tab" } }, + [ + _c("h1", { staticClass: "mb-8 text-5xl capitalize" }, [ + _vm._v(_vm._s(_vm.$t("sidebar.linkAnalyzer"))) + ]), + _vm._v(" "), + _vm.link === "" + ? _c("div", [ + _c("p", [ + _vm._v( + "\n\t\t\t" + _vm._s(_vm.$t("linkAnalyzer.info")) + "\n\t\t" + ) + ]), + _vm._v(" "), + _c("p", [ + _vm._v( + "\n\t\t\t" + _vm._s(_vm.$t("linkAnalyzer.useful")) + "\n\t\t" + ) + ]) + ]) + : _vm.link === "error" + ? _c("div", [ + _c("h2", [_vm._v(_vm._s(_vm.$t("linkAnalyzer.linkNotSupported")))]), + _vm._v(" "), + _c("p", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.linkNotSupportedYet"))) + ]) + ]) + : _c("div", [ + _c( + "header", + { + staticClass: "flex items-center", + style: { + "background-image": + "linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('" + + _vm.image + + "')" + } + }, + [ + _c("div", [ + _c("h1", { staticClass: "m-0" }, [_vm._v(_vm._s(_vm.title))]), + _vm._v(" "), + _vm.type === "track" + ? _c( + "h2", + { staticClass: "m-0 mb-3 text-lg" }, + [ + _c( + "i18n", + { attrs: { path: "globals.by", tag: "span" } }, + [ + _c( + "router-link", + { + staticClass: "clickable", + attrs: { + tag: "span", + place: "artist", + to: { + name: "Artist", + params: { id: _vm.data.artist.id } + } + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(_vm.data.artist.name) + + "\n\t\t\t\t\t\t" + ) + ] + ) + ], + 1 + ), + _vm._v("\n\t\t\t\t\t•\n\t\t\t\t\t"), + _c( + "i18n", + { attrs: { path: "globals.in", tag: "span" } }, + [ + _c( + "router-link", + { + staticClass: "clickable", + attrs: { + tag: "span", + place: "album", + to: { + name: "Album", + params: { id: _vm.data.album.id } + } + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(_vm.data.album.title) + + "\n\t\t\t\t\t\t" + ) + ] + ) + ], + 1 + ) + ], + 1 + ) + : _vm.type === "album" + ? _c( + "h2", + { staticClass: "m-0 mb-3 text-lg" }, + [ + _c( + "i18n", + { attrs: { path: "globals.by", tag: "span" } }, + [ + _c( + "router-link", + { + staticClass: "clickable", + attrs: { + tag: "span", + place: "artist", + to: { + name: "Artist", + params: { id: _vm.data.artist.id } + } + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(_vm.data.artist.name) + + "\n\t\t\t\t\t\t" + ) + ] + ) + ], + 1 + ), + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + " • " + + _vm.$tc( + "globals.listTabs.trackN", + _vm.data.nb_tracks + ) + ) + + "\n\t\t\t\t" + ) + ], + 1 + ) + : _vm._e() + ]), + _vm._v(" "), + _c( + "div", + { + staticClass: + "grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center", + attrs: { + role: "button", + "aria-label": "download", + "data-link": _vm.link + }, + on: { + contextmenu: function($event) { + $event.preventDefault(); + return _vm.openQualityModal($event) + }, + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }, + [ + _c( + "i", + { + staticClass: "text-4xl material-icons", + attrs: { title: _vm.$t("globals.download_hint") } + }, + [_vm._v("get_app")] + ) + ] + ) + ] + ), + _vm._v(" "), + _c("table", { staticClass: "table" }, [ + _vm.data.id + ? _c("tr", [ + _c("td", [_vm._v(_vm._s(_vm.$t("linkAnalyzer.table.id")))]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(_vm.data.id))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.isrc + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.isrc"))) + ]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(_vm.data.isrc))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.upc + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.upc"))) + ]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(_vm.data.upc))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.duration + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.duration"))) + ]), + _vm._v(" "), + _c("td", [ + _vm._v(_vm._s(_vm.convertDuration(_vm.data.duration))) + ]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.disk_number + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.diskNumber"))) + ]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(_vm.data.disk_number))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.track_position + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.trackNumber"))) + ]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(_vm.data.track_position))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.release_date + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.releaseDate"))) + ]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(_vm.data.release_date))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.bpm + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.bpm"))) + ]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(_vm.data.bpm))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.label + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.label"))) + ]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(_vm.data.label))]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.record_type + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.recordType"))) + ]), + _vm._v(" "), + _c("td", [ + _vm._v( + _vm._s( + _vm.$tc("globals.listTabs." + _vm.data.record_type, 1) + ) + ) + ]) + ]) + : _vm._e(), + _vm._v(" "), + _vm.data.genres && _vm.data.genres.data.length + ? _c("tr", [ + _c("td", [ + _vm._v(_vm._s(_vm.$t("linkAnalyzer.table.genres"))) + ]), + _vm._v(" "), + _c("td", [ + _vm._v( + _vm._s( + _vm.data.genres.data + .map(function(x) { + return x.name + }) + .join("; ") + ) + ) + ]) + ]) + : _vm._e() + ]), + _vm._v(" "), + _vm.type == "album" + ? _c( + "div", + [ + _c( + "router-link", + { + staticClass: "btn btn-primary", + attrs: { + tag: "button", + name: "button", + to: { name: "Album", params: { id: _vm.id } } + } + }, + [ + _vm._v( + "\n\t\t\t\t" + + _vm._s(_vm.$t("linkAnalyzer.table.tracklist")) + + "\n\t\t\t" + ) + ] + ) + ], + 1 + ) + : _vm._e(), + _vm._v(" "), + _vm.countries.length + ? _c( + "div", + _vm._l(_vm.countries, function(country) { + return _c("p", [ + _vm._v(_vm._s(country[0]) + " - " + _vm._s(country[1])) + ]) + }), + 0 + ) + : _vm._e() + ]) + ] + ) +}; +var __vue_staticRenderFns__$k = []; +__vue_render__$k._withStripped = true; + + /* style */ + const __vue_inject_styles__$k = function (inject) { + if (!inject) return + inject("data-v-507f4ffc_0", { source: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", map: {"version":3,"sources":[],"names":[],"mappings":"","file":"LinkAnalyzer.vue"}, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__$k = undefined; + /* module identifier */ + const __vue_module_identifier__$e = undefined; + /* functional template */ + const __vue_is_functional_template__$k = false; + /* component normalizer */ + function __vue_normalize__$k( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\LinkAnalyzer.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + { + let hook; + if (style) { + hook = function(context) { + style.call(this, createInjector(context)); + }; + } + + if (hook !== undefined) { + if (component.functional) { + // register for functional component in vue file + const originalRender = component.render; + component.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context) + }; + } else { + // inject component registration as beforeCreate hook + const existing = component.beforeCreate; + component.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + } + + return component + } + /* style inject */ + function __vue_create_injector__$e() { + const head = document.head || document.getElementsByTagName('head')[0]; + const styles = __vue_create_injector__$e.styles || (__vue_create_injector__$e.styles = {}); + const isOldIE = + typeof navigator !== 'undefined' && + /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + + return function addStyle(id, css) { + if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) return // SSR styles are present. + + const group = isOldIE ? css.media || 'default' : id; + const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined }); + + if (!style.ids.includes(id)) { + let code = css.source; + let index = style.ids.length; + + style.ids.push(id); + + if (isOldIE) { + style.element = style.element || document.querySelector('style[data-group=' + group + ']'); + } + + if (!style.element) { + const el = style.element = document.createElement('style'); + el.type = 'text/css'; + + if (css.media) el.setAttribute('media', css.media); + if (isOldIE) { + el.setAttribute('data-group', group); + el.setAttribute('data-next-index', '0'); + } + + head.appendChild(el); + } + + if (isOldIE) { + index = parseInt(style.element.getAttribute('data-next-index')); + style.element.setAttribute('data-next-index', index + 1); + } + + if (style.element.styleSheet) { + style.parts.push(code); + style.element.styleSheet.cssText = style.parts + .filter(Boolean) + .join('\n'); + } else { + const textNode = document.createTextNode(code); + const nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]); + else style.element.appendChild(textNode); + } + } + } + } + /* style inject SSR */ + + + + var LinkAnalyzer = __vue_normalize__$k( + { render: __vue_render__$k, staticRenderFns: __vue_staticRenderFns__$k }, + __vue_inject_styles__$k, + __vue_script__$i, + __vue_scope_id__$k, + __vue_is_functional_template__$k, + __vue_module_identifier__$e, + __vue_create_injector__$e); + +/** + * @param {string} text + */ +const upperCaseFirstLowerCaseRest = text => text.charAt(0).toUpperCase() + text.slice(1).toLowerCase(); + +// + +var script$j = { + components: { + CoverContainer + }, + methods: { + upperCaseFirstLowerCaseRest + }, + computed: { + fansNumber() { + let number; + + try { + number = this.$n(this.$attrs.info.nb_fan); + } catch (error) { + number = this.$n(this.$attrs.info.nb_fan, { locale: 'en' }); + } + + return this.$attrs.info.type == 'artist' + ? this.$t('search.fans', { n: number }) + : this.$t('globals.by', { artist: this.$attrs.info.artist }) + + ' - ' + + this.$tc('globals.listTabs.trackN', this.$attrs.info.nb_song) + } + } +}; + +/* script */ + const __vue_script__$j = script$j; + +/* template */ +var __vue_render__$l = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "div", + { staticClass: "flex flex-col items-center justify-center" }, + [ + _c( + "router-link", + { + staticClass: "cursor-pointer", + attrs: { + tag: "div", + to: { + name: _vm.upperCaseFirstLowerCaseRest(_vm.$attrs.info.type), + params: { id: _vm.$attrs.info.id } + } + } + }, + [ + _c("CoverContainer", { + staticClass: "w-40 h-40", + attrs: { + "is-rounded": _vm.$attrs.info.type !== "artist", + "is-circle": _vm.$attrs.info.type === "artist", + cover: _vm.$attrs.info.picture, + link: _vm.$attrs.info.link + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.$emit("add-to-queue", $event) + } + } + }), + _vm._v(" "), + _c( + "p", + { + staticClass: + "mt-4 mb-1 text-xl text-center transition-colors duration-200 ease-in-out hover:text-primary" + }, + [_vm._v("\n\t\t\t" + _vm._s(_vm.$attrs.info.title) + "\n\t\t")] + ) + ], + 1 + ), + _vm._v(" "), + _c("p", { staticClass: "mb-3 text-center secondary-text" }, [ + _vm._v("\n\t\t" + _vm._s(_vm.fansNumber) + "\n\t") + ]), + _vm._v(" "), + _c( + "span", + { + staticClass: + "p-1 px-2 text-xs text-center capitalize bg-primary rounded-xl" + }, + [ + _vm._v( + "\n\t\t" + + _vm._s(_vm.$tc("globals.listTabs." + _vm.$attrs.info.type, 1)) + + "\n\t" + ) + ] + ) + ], + 1 + ) +}; +var __vue_staticRenderFns__$l = []; +__vue_render__$l._withStripped = true; + + /* style */ + const __vue_inject_styles__$l = undefined; + /* scoped */ + const __vue_scope_id__$l = undefined; + /* functional template */ + const __vue_is_functional_template__$l = false; + /* component normalizer */ + function __vue_normalize__$l( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\search\\TopResult.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var TopResult = __vue_normalize__$l( + { render: __vue_render__$l, staticRenderFns: __vue_staticRenderFns__$l }, + __vue_inject_styles__$l, + __vue_script__$j, + __vue_scope_id__$l, + __vue_is_functional_template__$l); + +/** + * @typedef {object} FormattedSearchResult + * @property {FormattedData} data + * @property {boolean} hasLoaded + */ + +/** + * @typedef {object} FormattedData + */ + +/** + * @typedef {function} Formatter + * @returns {FormattedData} formattedData + */ + +/** + * @param {FormattedData} track + */ +function formatSingleTrack(track) { + let isTrackExplicit = getPropertyWithFallback(track, 'explicit_lyrics', 'EXPLICIT_LYRICS'); + + if (typeof isTrackExplicit === 'string') { + isTrackExplicit = isTrackExplicit !== '0'; + } + + return { + /* Track */ + trackTitle: getPropertyWithFallback(track, 'title', 'SNG_TITLE'), + trackTitleVersion: getPropertyWithFallback(track, 'title_version', 'VERSION'), + trackPreview: getPropertyWithFallback(track, 'preview', 'MEDIA.0.HREF'), + trackDuration: getPropertyWithFallback(track, 'duration', 'DURATION'), + trackLink: getPropertyWithFallback(track, 'link') || `https://www.deezer.com/track/${track.SNG_ID}`, + isTrackExplicit, + + /* Artist */ + artistID: getPropertyWithFallback(track, 'artist.id', 'ART_ID'), + artistName: getPropertyWithFallback(track, 'artist.name', 'ART_NAME'), + + /* Album */ + albumID: getPropertyWithFallback(track, 'album.id', 'ALB_ID'), + albumTitle: getPropertyWithFallback(track, 'album.title', 'ALB_TITLE'), + albumPicture: + getPropertyWithFallback(track, 'album.cover_small') || + `https://e-cdns-images.dzcdn.net/images/cover/${track.ALB_PICTURE}/56x56-000000-80-0-0.jpg` + } +} + +function formatAlbums(album) { + let isAlbumExplicit = getPropertyWithFallback( + album, + 'explicit_lyrics', + 'EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS' + ); + + if ('number' === typeof isAlbumExplicit) { + isAlbumExplicit = isAlbumExplicit === 1; + } + + return { + /* Album */ + albumID: getPropertyWithFallback(album, 'id', 'ALB_ID'), + albumTitle: getPropertyWithFallback(album, 'title', 'ALB_TITLE'), + albumCoverMedium: + getPropertyWithFallback(album, 'cover_medium') || + `https://e-cdns-images.dzcdn.net/images/cover/${album.ALB_PICTURE}/156x156-000000-80-0-0.jpg`, + albumLink: getPropertyWithFallback(album, 'link') || `https://deezer.com/album/${album.ALB_ID}`, + albumTracks: getPropertyWithFallback(album, 'nb_tracks', 'NUMBER_TRACK'), + isAlbumExplicit, + + /* Artist */ + artistName: getPropertyWithFallback(album, 'artist.name', 'ART_NAME') + } +} + +function formatArtist(artist) { + return { + /* Artist */ + artistID: getPropertyWithFallback(artist, 'id', 'ART_ID'), + artistName: getPropertyWithFallback(artist, 'name', 'ART_NAME'), + artistPictureMedium: + getPropertyWithFallback(artist, 'picture_medium') || + `https://e-cdns-images.dzcdn.net/images/artist/${artist.ART_PICTURE}/156x156-000000-80-0-0.jpg`, + artistLink: getPropertyWithFallback(artist, 'link') || `https://deezer.com/artist/${artist.ART_ID}`, + // TODO Fix + artistAlbumsNumber: getPropertyWithFallback(artist, 'nb_album', 'NB_FAN') + } +} + +function formatPlaylist(playlist) { + return { + /* Playlist */ + playlistID: getPropertyWithFallback(playlist, 'id', 'PLAYLIST_ID'), + playlistTitle: getPropertyWithFallback(playlist, 'title', 'TITLE'), + playlistPictureMedium: + getPropertyWithFallback(playlist, 'picture_medium') || + `https://e-cdns-images.dzcdn.net/images/${playlist.PICTURE_TYPE}/${ + playlist.PLAYLIST_PICTURE + }/156x156-000000-80-0-0.jpg`, + playlistLink: getPropertyWithFallback(playlist, 'link') || `https://deezer.com/playlist/${playlist.PLAYLIST_ID}`, + playlistTracksNumber: getPropertyWithFallback(playlist, 'nb_tracks', 'NB_SONG'), + + /* Artist */ + artistName: getPropertyWithFallback(playlist, 'user.name') + } +} + +function formatTitle(track) { + const hasTitleVersion = track.trackTitleVersion && track.trackTitle.indexOf(track.trackTitleVersion) === -1; + + return `${track.trackTitle}${hasTitleVersion ? ` ${track.trackTitleVersion}` : ''}` +} + +// + +var script$k = { + components: { + BaseLoadingPlaceholder, + PreviewControls + }, + props: { + viewInfo: { + validator: function (value) { + let isNull = Object.is(value, null); + let isObject = Object.prototype.toString.call(value) === '[object Object]'; + + return isNull || isObject + }, + required: true + }, + itemsToShow: { + type: Number, + required: false + }, + wantHeaders: { + type: Boolean, + required: false, + default: false + } + }, + computed: { + isLoading() { + return !this.viewInfo || !this.viewInfo.hasLoaded + } + }, + methods: { + convertDuration, + formatTitle, + playPausePreview + } +}; + +/* script */ + const __vue_script__$k = script$k; + +/* template */ +var __vue_render__$m = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "section", + [ + _vm.isLoading + ? _c("BaseLoadingPlaceholder") + : [ + _vm.viewInfo.data.length === 0 + ? _c("div", [ + _c("h1", [_vm._v(_vm._s(_vm.$t("search.noResultsTrack")))]) + ]) + : _c("table", { staticClass: "table w-full table--tracks" }, [ + _vm.wantHeaders + ? _c("thead", [ + _c("tr", { staticClass: "capitalize" }, [ + _c( + "th", + { + staticClass: "h-12 pb-3", + attrs: { colspan: "2" } + }, + [ + _vm._v( + _vm._s(_vm.$tc("globals.listTabs.title", 1)) + ) + ] + ), + _vm._v(" "), + _c("th", { staticClass: "h-12 pb-3" }, [ + _vm._v( + _vm._s(_vm.$tc("globals.listTabs.artist", 1)) + ) + ]), + _vm._v(" "), + _c("th", { staticClass: "h-12 pb-3" }, [ + _vm._v(_vm._s(_vm.$tc("globals.listTabs.album", 1))) + ]), + _vm._v(" "), + _c("th", { staticClass: "h-12 pb-3" }, [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("timer") + ]) + ]), + _vm._v(" "), + _c("th", { + staticClass: "h-12 pb-3", + staticStyle: { width: "3.5rem" } + }) + ]) + ]) + : _vm._e(), + _vm._v(" "), + _c( + "tbody", + _vm._l( + _vm.viewInfo.data.slice(0, _vm.itemsToShow), + function(track) { + return _c( + "tr", + { key: track.trackLink }, + [ + _c( + "td", + { staticClass: "table__icon table__icon--big" }, + [ + _c( + "span", + { + staticClass: + "relative inline-block rounded cursor-pointer", + attrs: { + "data-preview": track.trackPreview + }, + on: { + click: function($event) { + return _vm.playPausePreview($event) + } + } + }, + [ + track.trackPreview + ? _c("PreviewControls") + : _vm._e(), + _vm._v(" "), + _c("img", { + staticClass: "rounded coverart", + attrs: { src: track.albumPicture } + }) + ], + 1 + ) + ] + ), + _vm._v(" "), + _c( + "td", + { staticClass: "table__cell table__cell--large" }, + [ + _c( + "div", + { + staticClass: + "break-words table__cell-content table__cell-content--vertical-center" + }, + [ + track.isTrackExplicit + ? _c( + "i", + { + staticClass: + "material-icons title-icon" + }, + [_vm._v("explicit")] + ) + : _vm._e(), + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(_vm.formatTitle(track)) + + "\n\t\t\t\t\t\t" + ) + ] + ) + ] + ), + _vm._v(" "), + _c( + "router-link", + { + staticClass: + "break-words table__cell table__cell--medium table__cell--center", + attrs: { + tag: "td", + to: { + name: "Artist", + params: { id: track.artistID } + } + } + }, + [ + _c( + "span", + { + staticClass: + "cursor-pointer hover:underline" + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(track.artistName) + + "\n\t\t\t\t\t\t" + ) + ] + ) + ] + ), + _vm._v(" "), + _c( + "router-link", + { + staticClass: + "break-words table__cell table__cell--medium table__cell--center", + attrs: { + tag: "td", + to: { + name: "Album", + params: { id: track.albumID } + } + } + }, + [ + _c( + "span", + { + staticClass: + "cursor-pointer hover:underline" + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(track.albumTitle) + + "\n\t\t\t\t\t\t" + ) + ] + ) + ] + ), + _vm._v(" "), + _c( + "td", + { + staticClass: + "table__cell table__cell--small table__cell--center" + }, + [ + _vm._v( + "\n\t\t\t\t\t\t" + + _vm._s( + _vm.convertDuration(track.trackDuration) + ) + + "\n\t\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c( + "td", + { + staticClass: + "cursor-pointer table__cell--center group", + attrs: { + "data-link": track.trackLink, + "aria-label": "download" + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.$emit("add-to-queue", $event) + } + } + }, + [ + _c( + "i", + { + staticClass: + "transition-colors duration-150 ease-in-out material-icons group-hover:text-primary", + attrs: { + title: _vm.$t("globals.download_hint") + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\tget_app\n\t\t\t\t\t\t" + ) + ] + ) + ] + ) + ], + 1 + ) + } + ), + 0 + ) + ]) + ] + ], + 2 + ) +}; +var __vue_staticRenderFns__$m = []; +__vue_render__$m._withStripped = true; + + /* style */ + const __vue_inject_styles__$m = undefined; + /* scoped */ + const __vue_scope_id__$m = undefined; + /* functional template */ + const __vue_is_functional_template__$m = false; + /* component normalizer */ + function __vue_normalize__$m( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\search\\ResultsTracks.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var ResultsTracks = __vue_normalize__$m( + { render: __vue_render__$m, staticRenderFns: __vue_staticRenderFns__$m }, + __vue_inject_styles__$m, + __vue_script__$k, + __vue_scope_id__$m, + __vue_is_functional_template__$m); + +// + +var script$l = { + components: { + BaseLoadingPlaceholder, + CoverContainer + }, + props: { + viewInfo: { + validator: function (value) { + let isNull = Object.is(value, null); + let isObject = Object.prototype.toString.call(value) === '[object Object]'; + + return isNull || isObject + }, + required: true + }, + itemsToShow: { + type: Number, + required: false + }, + wantHeaders: { + type: Boolean, + required: false, + default: false + } + }, + computed: { + isLoading() { + return !this.viewInfo || !this.viewInfo.hasLoaded + } + } +}; + +/* script */ + const __vue_script__$l = script$l; + +/* template */ +var __vue_render__$n = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "section", + [ + _vm.isLoading + ? _c("BaseLoadingPlaceholder") + : [ + _vm.viewInfo.data.length === 0 + ? _c("div", [ + _c("h1", [_vm._v(_vm._s(_vm.$t("search.noResultsAlbum")))]) + ]) + : _c( + "div", + { staticClass: "release-grid" }, + _vm._l(_vm.viewInfo.data.slice(0, _vm.itemsToShow), function( + release + ) { + return _c( + "div", + { key: release.albumID, staticClass: "w-40 release" }, + [ + _c( + "router-link", + { + staticClass: "cursor-pointer", + attrs: { + tag: "div", + to: { + name: "Album", + params: { id: release.albumID } + } + } + }, + [ + _c("CoverContainer", { + attrs: { + "is-rounded": "", + cover: release.albumCoverMedium, + link: release.albumLink + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.$emit("add-to-queue", $event) + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "primary-text" }, [ + release.isAlbumExplicit + ? _c( + "i", + { + staticClass: "material-icons title-icon", + staticStyle: { + "font-size": "1.0625rem !important" + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\texplicit\n\t\t\t\t\t\t" + ) + ] + ) + : _vm._e(), + _vm._v( + "\n\t\t\t\t\t\t" + + _vm._s(release.albumTitle) + + "\n\t\t\t\t\t" + ) + ]) + ], + 1 + ), + _vm._v(" "), + _c("p", { staticClass: "secondary-text" }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$t("globals.by", { + artist: release.artistName + }) + + " - " + + _vm.$tc( + "globals.listTabs.trackN", + release.albumTracks + ) + ) + + "\n\t\t\t\t" + ) + ]) + ], + 1 + ) + }), + 0 + ) + ] + ], + 2 + ) +}; +var __vue_staticRenderFns__$n = []; +__vue_render__$n._withStripped = true; + + /* style */ + const __vue_inject_styles__$n = undefined; + /* scoped */ + const __vue_scope_id__$n = undefined; + /* functional template */ + const __vue_is_functional_template__$n = false; + /* component normalizer */ + function __vue_normalize__$n( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\search\\ResultsAlbums.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var ResultsAlbums = __vue_normalize__$n( + { render: __vue_render__$n, staticRenderFns: __vue_staticRenderFns__$n }, + __vue_inject_styles__$n, + __vue_script__$l, + __vue_scope_id__$n, + __vue_is_functional_template__$n); + +// + +var script$m = { + components: { + BaseLoadingPlaceholder, + CoverContainer + }, + props: { + viewInfo: { + validator: function (value) { + let isNull = Object.is(value, null); + let isObject = Object.prototype.toString.call(value) === '[object Object]'; + + return isNull || isObject + }, + required: true + }, + itemsToShow: { + type: Number, + required: false + }, + wantHeaders: { + type: Boolean, + required: false, + default: false + } + }, + computed: { + isLoading() { + return !this.viewInfo || !this.viewInfo.hasLoaded + } + } +}; + +/* script */ + const __vue_script__$m = script$m; + +/* template */ +var __vue_render__$o = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "section", + [ + _vm.isLoading + ? _c("BaseLoadingPlaceholder") + : [ + _vm.viewInfo.data.length === 0 + ? _c("div", [ + _c("h1", [_vm._v(_vm._s(_vm.$t("search.noResultsArtist")))]) + ]) + : _c( + "div", + { staticClass: "release-grid" }, + _vm._l(_vm.viewInfo.data.slice(0, _vm.itemsToShow), function( + release + ) { + return _c( + "div", + { key: release.artistID, staticClass: "w-40 release" }, + [ + _c( + "router-link", + { + staticClass: "cursor-pointer", + attrs: { + tag: "div", + to: { + name: "Artist", + params: { id: release.artistID } + } + } + }, + [ + _c("CoverContainer", { + attrs: { + "is-circle": "", + cover: release.artistPictureMedium, + link: release.artistLink + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.$emit("add-to-queue", $event) + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "primary-text" }, [ + _vm._v( + "\n\t\t\t\t\t\t" + + _vm._s(release.artistName) + + "\n\t\t\t\t\t" + ) + ]) + ], + 1 + ) + ], + 1 + ) + }), + 0 + ) + ] + ], + 2 + ) +}; +var __vue_staticRenderFns__$o = []; +__vue_render__$o._withStripped = true; + + /* style */ + const __vue_inject_styles__$o = undefined; + /* scoped */ + const __vue_scope_id__$o = undefined; + /* functional template */ + const __vue_is_functional_template__$o = false; + /* component normalizer */ + function __vue_normalize__$o( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\search\\ResultsArtists.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var ResultsArtists = __vue_normalize__$o( + { render: __vue_render__$o, staticRenderFns: __vue_staticRenderFns__$o }, + __vue_inject_styles__$o, + __vue_script__$m, + __vue_scope_id__$o, + __vue_is_functional_template__$o); + +// + +var script$n = { + components: { + BaseLoadingPlaceholder, + CoverContainer + }, + props: { + viewInfo: { + validator: function (value) { + let isNull = Object.is(value, null); + let isObject = Object.prototype.toString.call(value) === '[object Object]'; + + return isNull || isObject + }, + required: true + }, + itemsToShow: { + type: Number, + required: false + }, + wantHeaders: { + type: Boolean, + required: false, + default: false + } + }, + computed: { + isLoading() { + return !this.viewInfo || !this.viewInfo.hasLoaded + } + } +}; + +/* script */ + const __vue_script__$n = script$n; + +/* template */ +var __vue_render__$p = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "section", + [ + _vm.isLoading + ? _c("BaseLoadingPlaceholder") + : [ + _vm.viewInfo.data.length === 0 + ? _c("div", [ + _c("h1", [_vm._v(_vm._s(_vm.$t("search.noResultsPlaylist")))]) + ]) + : _c( + "div", + { staticClass: "release-grid" }, + _vm._l(_vm.viewInfo.data.slice(0, _vm.itemsToShow), function( + playlist + ) { + return _c( + "div", + { key: playlist.playlistID, staticClass: "w-40 release" }, + [ + _c( + "router-link", + { + staticClass: "cursor-pointer", + attrs: { + tag: "div", + to: { + name: "Playlist", + params: { id: playlist.playlistID } + } + } + }, + [ + _c("CoverContainer", { + attrs: { + "is-rounded": "", + cover: playlist.playlistPictureMedium, + link: playlist.playlistLink + }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.$emit("add-to-queue", $event) + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "primary-text" }, [ + _vm._v( + "\n\t\t\t\t\t\t" + + _vm._s(playlist.playlistTitle) + + "\n\t\t\t\t\t" + ) + ]) + ], + 1 + ), + _vm._v(" "), + _c("p", { staticClass: "secondary-text" }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$t("globals.by", { + artist: playlist.artistName + }) + + " - " + + _vm.$tc( + "globals.listTabs.trackN", + playlist.playlistTracksNumber + ) + ) + + "\n\t\t\t\t" + ) + ]) + ], + 1 + ) + }), + 0 + ) + ] + ], + 2 + ) +}; +var __vue_staticRenderFns__$p = []; +__vue_render__$p._withStripped = true; + + /* style */ + const __vue_inject_styles__$p = undefined; + /* scoped */ + const __vue_scope_id__$p = undefined; + /* functional template */ + const __vue_is_functional_template__$p = false; + /* component normalizer */ + function __vue_normalize__$p( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\search\\ResultsPlaylists.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var ResultsPlaylists = __vue_normalize__$p( + { render: __vue_render__$p, staticRenderFns: __vue_staticRenderFns__$p }, + __vue_inject_styles__$p, + __vue_script__$n, + __vue_scope_id__$p, + __vue_is_functional_template__$p); + +// + +var script$o = { + components: { + TopResult, + ResultsTracks, + ResultsAlbums, + ResultsArtists, + ResultsPlaylists + }, + props: { + viewInfo: { + type: Object, + required: false + } + }, + computed: { + thereAreResults() { + let areInfosLoaded = !!this.viewInfo; + + if (!areInfosLoaded) { + return false + } + + let noResultsPresent = this.viewInfo.ORDER.every(section => + section === 'TOP_RESULT' ? this.viewInfo[section].length === 0 : this.viewInfo[section].data.length === 0 + ); + + return !noResultsPresent + } + }, + methods: { + convertDuration, + upperCaseFirstLowerCaseRest, + standardizeData, + formatSingleTrack, + formatAlbums, + formatArtist, + formatPlaylist, + checkSectionResults(section) { + if (section === 'TOP_RESULT') { + return !!this.viewInfo.TOP_RESULT[0] + } else { + return !!this.viewInfo[section].data[0] + } + } + } +}; + +/* script */ + const __vue_script__$o = script$o; + +/* template */ +var __vue_render__$q = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "section", + [ + !_vm.thereAreResults + ? _c("div", [_c("h1", [_vm._v(_vm._s(_vm.$t("search.noResults")))])]) + : _vm._l(_vm.viewInfo.ORDER, function(section) { + return _c( + "section", + { + key: section, + staticClass: + "float-none py-5 border-t border-grayscale-500 first:border-t-0" + }, + [ + _vm.checkSectionResults(section) + ? [ + _c( + "h2", + { + staticClass: "mb-6 capitalize", + class: { + "text-4xl text-center": section === "TOP_RESULT", + "inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out": + section !== "TOP_RESULT" + }, + on: { + click: function($event) { + return _vm.$emit("change-search-tab", section) + } + } + }, + [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$tc( + "globals.listTabs." + section.toLowerCase(), + 2 + ) + ) + + "\n\t\t\t\t" + ) + ] + ), + _vm._v(" "), + section === "TOP_RESULT" + ? _c("TopResult", { + attrs: { info: _vm.viewInfo.TOP_RESULT[0] }, + on: { + "add-to-queue": function($event) { + return _vm.$emit("add-to-queue", $event) + } + } + }) + : section === "TRACK" + ? _c("ResultsTracks", { + attrs: { + viewInfo: _vm.standardizeData( + _vm.viewInfo.TRACK, + _vm.formatSingleTrack + ), + itemsToShow: 6 + }, + on: { + "add-to-queue": function($event) { + return _vm.$emit("add-to-queue", $event) + } + } + }) + : section == "ALBUM" + ? _c("ResultsAlbums", { + attrs: { + viewInfo: _vm.standardizeData( + _vm.viewInfo.ALBUM, + _vm.formatAlbums + ), + itemsToShow: 6 + }, + on: { + "add-to-queue": function($event) { + return _vm.$emit("add-to-queue", $event) + } + } + }) + : section == "PLAYLIST" + ? _c("ResultsPlaylists", { + attrs: { + viewInfo: _vm.standardizeData( + _vm.viewInfo.PLAYLIST, + _vm.formatPlaylist + ), + itemsToShow: 6 + }, + on: { + "add-to-queue": function($event) { + return _vm.$emit("add-to-queue", $event) + } + } + }) + : section === "ARTIST" + ? _c("ResultsArtists", { + attrs: { + viewInfo: _vm.standardizeData( + _vm.viewInfo.ARTIST, + _vm.formatArtist + ), + itemsToShow: 6 + }, + on: { + "add-to-queue": function($event) { + return _vm.$emit("add-to-queue", $event) + } + } + }) + : _vm._e() + ] + : _vm._e() + ], + 2 + ) + }) + ], + 2 + ) +}; +var __vue_staticRenderFns__$q = []; +__vue_render__$q._withStripped = true; + + /* style */ + const __vue_inject_styles__$q = undefined; + /* scoped */ + const __vue_scope_id__$q = undefined; + /* functional template */ + const __vue_is_functional_template__$q = false; + /* component normalizer */ + function __vue_normalize__$q( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\search\\ResultsAll.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var ResultsAll = __vue_normalize__$q( + { render: __vue_render__$q, staticRenderFns: __vue_staticRenderFns__$q }, + __vue_inject_styles__$q, + __vue_script__$o, + __vue_scope_id__$q, + __vue_is_functional_template__$q); + +const searchResult = ref$2({}); + +function performMainSearch(searchTerm) { + fetchData('mainSearch', { term: searchTerm }).then(data => { + searchResult.value = data; + }); +} + +function useMainSearch() { + return { + searchResult, + performMainSearch + } +} + +const result = ref$2({}); + +function performSearch({ term, type, start = 0, nb = 30 }) { + fetchData('search', { + term, + type, + start, + nb + }).then(data => { + result.value = data; + }); +} + +function useSearch() { + return { + result, + performSearch + } +} + +// + +const resetObj = { data: [], next: 0, total: 0, hasLoaded: false }; + +const lastTab = ref$2(null); + +var script$p = defineComponent({ + components: { + BaseLoadingPlaceholder, + BaseTabs, + BaseTab + }, + props: { + performScrolledSearch: { + type: Boolean, + required: false + } + }, + setup(props, ctx) { + const state = reactive({ + currentTab: { + name: '', + searchType: '', + component: {}, + viewInfo: '', + formatFunc: () => {} + }, + results: { + query: '', + allTab: { + ORDER: [], + TOP_RESULT: [], + ALBUM: { + hasLoaded: false + }, + ARTIST: { + hasLoaded: false + }, + TRACK: { + hasLoaded: false + }, + PLAYLIST: { + hasLoaded: false + } + }, + trackTab: { ...resetObj }, + albumTab: { ...resetObj }, + artistTab: { ...resetObj }, + playlistTab: { ...resetObj } + }, + tabs: [ + { + name: ctx.root.$i18n.t('globals.listTabs.all'), + searchType: 'all', + component: ResultsAll, + viewInfo: 'allTab' + }, + { + name: ctx.root.$i18n.tc('globals.listTabs.track', 2), + searchType: 'track', + component: ResultsTracks, + viewInfo: 'trackTab', + formatFunc: formatSingleTrack + }, + { + name: ctx.root.$i18n.tc('globals.listTabs.album', 2), + searchType: 'album', + component: ResultsAlbums, + viewInfo: 'albumTab', + formatFunc: formatAlbums + }, + { + name: ctx.root.$i18n.tc('globals.listTabs.artist', 2), + searchType: 'artist', + component: ResultsArtists, + viewInfo: 'artistTab', + formatFunc: formatArtist + }, + { + name: ctx.root.$i18n.tc('globals.listTabs.playlist', 2), + searchType: 'playlist', + component: ResultsPlaylists, + viewInfo: 'playlistTab', + formatFunc: formatPlaylist + } + ] + }); + const { searchResult, performMainSearch } = useMainSearch(); + const { result, performSearch } = useSearch(); + const searchedTerm = computed(() => ctx.root.$route.query.term); + const isQueryEmpty = computed(() => state.results.query === ''); + const isSearching = ref$2(false); + const isMainSearchCached = computed(() => Object.keys(searchResult.value).length !== 0); + const isNewSearch = computed(() => searchResult.value.QUERY !== searchedTerm.value); + + if (isMainSearchCached.value && !isNewSearch.value) { + onMounted(() => { + handleMainSearch(searchResult.value); + }); + } + + if (searchedTerm.value && (!isMainSearchCached.value || isNewSearch.value)) { + performMainSearch(searchedTerm.value); + isSearching.value = true; + } + + function handleMainSearch(newValue) { + // Hide loading placeholder + isSearching.value = false; + + state.results.query = newValue.QUERY; + + state.results.allTab = newValue; + state.results.allTab.TRACK.hasLoaded = true; + state.results.allTab.ALBUM.hasLoaded = true; + state.results.allTab.ARTIST.hasLoaded = true; + state.results.allTab.PLAYLIST.hasLoaded = true; + + if (lastTab.value && lastTab.value.searchType !== 'all') { + state.currentTab = lastTab.value; + + performSearch({ + term: newValue.QUERY, + type: state.currentTab.searchType + }); + } else { + state.currentTab = state.tabs.find(tab => tab.searchType === 'all'); + } + } + + // Main search watcher + watch(searchResult, handleMainSearch); + + // Search watcher + watch(result, newValue => { + const { next: nextResult, total, type, data: newData } = newValue; + + const currentTabKey = `${type}Tab`; + let next = total; + + // console.log({ currentTabKey, test: state.currentTab.searchType }) + + if (nextResult) { + next = parseInt(nextResult.match(/index=(\d*)/)[1]); + } + // console.log({ next, total, type, newData }) + + if (state.results[currentTabKey].total !== total) { + state.results[currentTabKey].total = total; + } + + if (state.results[currentTabKey].next !== next) { + state.results[currentTabKey].next = next; + + // Preventing duplicate entries by filtering them by ID + const rawData = state.results[currentTabKey].data.concat(newData); + const filteredData = uniqWith(rawData, (obj1, obj2) => { + return obj1.id === obj2.id + }); + + state.results[currentTabKey].data = filteredData; + } + + state.results[currentTabKey].hasLoaded = true; + }); + + state.currentTab = state.tabs.find(tab => tab.searchType === 'all'); + + return { + ...toRefs(state), + isSearching, + isQueryEmpty, + searchResult, + performMainSearch, + performSearch + } + }, + computed: { + loadedTabs() { + const tabsLoaded = []; + + for (const resultKey in this.results) { + if (this.results.hasOwnProperty(resultKey) && resultKey !== 'query') { + const currentResult = this.results[resultKey]; + + if (currentResult.hasLoaded) { + tabsLoaded.push(resultKey.replace(/Tab/g, '')); + } + } + } + + return tabsLoaded + } + }, + methods: { + numberWithDots, + convertDuration, + addToQueue(e) { + sendAddToQueue(e.currentTarget.dataset.link); + }, + getViewInfo() { + if (this.currentTab.searchType === 'all') { + return this.results.allTab + } + + return standardizeData(this.results[this.currentTab.viewInfo], this.currentTab.formatFunc) + }, + changeSearchTab(tabName) { + tabName = tabName.toLowerCase(); + + const newTab = this.tabs.find(tab => { + return tab.searchType === tabName + }); + + if (!newTab) { + console.error(`No tab ${tabName} found`); + return + } + + window.scrollTo(0, 0); + this.currentTab = newTab; + lastTab.value = newTab; + }, + scrolledSearch() { + if (this.currentTab.searchType === 'all') return + + const currentTabKey = `${this.currentTab.searchType}Tab`; + const needToPerformScrolledSearch = this.results[currentTabKey].next < this.results[currentTabKey].total; + + if (needToPerformScrolledSearch) { + this.performSearch({ + term: this.results.query, + type: this.currentTab.searchType, + start: this.results[`${this.currentTab.searchType}Tab`].next + }); + } + }, + isTabLoaded(tab) { + return this.loadedTabs.indexOf(tab.searchType) !== -1 || tab.searchType === 'all' + } + }, + watch: { + performScrolledSearch(needToSearch) { + if (!needToSearch) return + + this.scrolledSearch(needToSearch); + }, + currentTab(newTab, old) { + if (this.isTabLoaded(newTab)) return + + this.performSearch({ + term: this.results.query, + type: newTab.searchType, + start: this.results[`${newTab.searchType}Tab`].next + }); + } + } +}); + +/* script */ + const __vue_script__$p = script$p; + +/* template */ +var __vue_render__$r = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "div", + { attrs: { id: "search_tab" } }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.isQueryEmpty && !_vm.isSearching, + expression: "isQueryEmpty && !isSearching" + } + ] + }, + [ + _c("h2", [_vm._v(_vm._s(_vm.$t("search.startSearching")))]), + _vm._v(" "), + _c("p", [_vm._v(_vm._s(_vm.$t("search.description")))]) + ] + ), + _vm._v(" "), + _c("BaseLoadingPlaceholder", { + attrs: { text: "Searching...", hidden: !_vm.isSearching } + }), + _vm._v(" "), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.isQueryEmpty && !_vm.isSearching, + expression: "!isQueryEmpty && !isSearching" + } + ] + }, + [ + _c( + "BaseTabs", + _vm._l(_vm.tabs, function(tab) { + return _c( + "BaseTab", + { + key: tab.name, + class: { active: _vm.currentTab.name === tab.name }, + on: { + click: function($event) { + return _vm.changeSearchTab(tab.searchType) + } + } + }, + [_vm._v("\n\t\t\t\t" + _vm._s(tab.name) + "\n\t\t\t")] + ) + }), + 1 + ), + _vm._v(" "), + _c( + "keep-alive", + [ + _c(_vm.currentTab.component, { + tag: "component", + attrs: { viewInfo: _vm.getViewInfo(), "want-headers": "" }, + on: { + "add-to-queue": _vm.addToQueue, + "change-search-tab": _vm.changeSearchTab + } + }) + ], + 1 + ) + ], + 1 + ) + ], + 1 + ) +}; +var __vue_staticRenderFns__$r = []; +__vue_render__$r._withStripped = true; + + /* style */ + const __vue_inject_styles__$r = function (inject) { + if (!inject) return + inject("data-v-277a4946_0", { source: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", map: {"version":3,"sources":[],"names":[],"mappings":"","file":"Search.vue"}, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__$r = undefined; + /* module identifier */ + const __vue_module_identifier__$f = undefined; + /* functional template */ + const __vue_is_functional_template__$r = false; + /* component normalizer */ + function __vue_normalize__$r( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\Search.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + { + let hook; + if (style) { + hook = function(context) { + style.call(this, createInjector(context)); + }; + } + + if (hook !== undefined) { + if (component.functional) { + // register for functional component in vue file + const originalRender = component.render; + component.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context) + }; + } else { + // inject component registration as beforeCreate hook + const existing = component.beforeCreate; + component.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + } + + return component + } + /* style inject */ + function __vue_create_injector__$f() { + const head = document.head || document.getElementsByTagName('head')[0]; + const styles = __vue_create_injector__$f.styles || (__vue_create_injector__$f.styles = {}); + const isOldIE = + typeof navigator !== 'undefined' && + /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + + return function addStyle(id, css) { + if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) return // SSR styles are present. + + const group = isOldIE ? css.media || 'default' : id; + const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined }); + + if (!style.ids.includes(id)) { + let code = css.source; + let index = style.ids.length; + + style.ids.push(id); + + if (isOldIE) { + style.element = style.element || document.querySelector('style[data-group=' + group + ']'); + } + + if (!style.element) { + const el = style.element = document.createElement('style'); + el.type = 'text/css'; + + if (css.media) el.setAttribute('media', css.media); + if (isOldIE) { + el.setAttribute('data-group', group); + el.setAttribute('data-next-index', '0'); + } + + head.appendChild(el); + } + + if (isOldIE) { + index = parseInt(style.element.getAttribute('data-next-index')); + style.element.setAttribute('data-next-index', index + 1); + } + + if (style.element.styleSheet) { + style.parts.push(code); + style.element.styleSheet.cssText = style.parts + .filter(Boolean) + .join('\n'); + } else { + const textNode = document.createTextNode(code); + const nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]); + else style.element.appendChild(textNode); + } + } + } + } + /* style inject SSR */ + + + + var Search = __vue_normalize__$r( + { render: __vue_render__$r, staticRenderFns: __vue_staticRenderFns__$r }, + __vue_inject_styles__$r, + __vue_script__$p, + __vue_scope_id__$r, + __vue_is_functional_template__$r, + __vue_module_identifier__$f, + __vue_create_injector__$f); + +// TODO: Use JSON + +const trackTemplateVariables = [ + '%title%', + '%artist%', + '%artists%', + '%allartists%', + '%mainartists%', + '%featartists%', + '%album%', + '%albumartist%', + '%tracknumber%', + '%tracktotal%', + '%discnumber%', + '%disctotal%', + '%genre%', + '%year%', + '%date%', + '%bpm%', + '%label%', + '%isrc%', + '%upc%', + '%explicit%', + '%track_id%', + '%album_id%', + '%artist_id%', + '%playlist_id%', + '%position%' +]; + +var it$1 = "\n \n \n \n \n \n"; + +var gb = "\n \n \n \n \n \n"; + +var es$1 = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n"; + +var de$1 = "\n \n \n \n"; + +var fr$1 = "\n \n \n \n \n \n"; + +var id$1 = "\n \n \n \n \n"; + +var pt$1 = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n"; + +var br = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n"; + +var ru$1 = "\n \n \n \n \n \n"; + +var tr$1 = "\n \n \n \n \n \n \n"; + +var vn$1 = "\n \n \n \n \n \n \n \n \n \n"; + +var hr$1 = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n"; + +var ar$1 = "\r\n\r\n \r\n \r\n \r\n image/svg+xml\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"; + +var ko$1 = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n"; + +var ph$1 = "\n \n \n \n \n \n \n \n"; + +var tw = "\n \n \n \n \n \n \n \n \n \n \n \n \n"; + +var pl$1 = "\n \n \n \n \n"; + +const flags$1 = { + it: it$1, + en: gb, + es: es$1, + de: de$1, + fr: fr$1, + id: id$1, + pt: pt$1, + pt_br: br, + ru: ru$1, + tr: tr$1, + vn: vn$1, + hr: hr$1, + ar: ar$1, + ko: ko$1, + ph: ph$1, + zh_tw: tw, + pl: pl$1 +}; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var script$q = { + props: { + withArrow: { + type: Boolean, + default: true + } + } +}; + +/* script */ + const __vue_script__$q = script$q; + +/* template */ +var __vue_render__$s = function(_h, _vm) { + var _c = _vm._c; + return _c( + "details", + { + class: [_vm.data.staticClass, { "with-arrow": _vm.props.withArrow }], + style: _vm.data.staticStyle + }, + [ + _c( + "summary", + { staticClass: "cursor-pointer" }, + [_vm._t("title", [_vm._v("Setting")])], + 2 + ), + _vm._v(" "), + _c("div", { staticClass: "my-5 space-y-5" }, [_vm._t("default")], 2) + ] + ) +}; +var __vue_staticRenderFns__$s = []; +__vue_render__$s._withStripped = true; + + /* style */ + const __vue_inject_styles__$s = function (inject) { + if (!inject) return + inject("data-v-4fced578_0", { source: "\ndetails > summary::-webkit-details-marker {\n\tdisplay: none;\n}\ndetails.with-arrow > summary::-webkit-details-marker {\n\tdisplay: initial;\n\tvertical-align: var(--arrow-v-align, super);\n}\n", map: {"version":3,"sources":["C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui/C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\globals\\BaseAccordion.vue"],"names":[],"mappings":";AAaA;CACA,aAAA;AACA;AAEA;CACA,gBAAA;CACA,2CAAA;AACA","file":"BaseAccordion.vue","sourcesContent":["\n\n\n\n\n"]}, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__$s = undefined; + /* module identifier */ + const __vue_module_identifier__$g = undefined; + /* functional template */ + const __vue_is_functional_template__$s = true; + /* component normalizer */ + function __vue_normalize__$s( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\globals\\BaseAccordion.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + { + let hook; + if (style) { + hook = function(context) { + style.call(this, createInjector(context)); + }; + } + + if (hook !== undefined) { + if (component.functional) { + // register for functional component in vue file + const originalRender = component.render; + component.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context) + }; + } else { + // inject component registration as beforeCreate hook + const existing = component.beforeCreate; + component.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + } + + return component + } + /* style inject */ + function __vue_create_injector__$g() { + const head = document.head || document.getElementsByTagName('head')[0]; + const styles = __vue_create_injector__$g.styles || (__vue_create_injector__$g.styles = {}); + const isOldIE = + typeof navigator !== 'undefined' && + /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + + return function addStyle(id, css) { + if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) return // SSR styles are present. + + const group = isOldIE ? css.media || 'default' : id; + const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined }); + + if (!style.ids.includes(id)) { + let code = css.source; + let index = style.ids.length; + + style.ids.push(id); + + if (isOldIE) { + style.element = style.element || document.querySelector('style[data-group=' + group + ']'); + } + + if (!style.element) { + const el = style.element = document.createElement('style'); + el.type = 'text/css'; + + if (css.media) el.setAttribute('media', css.media); + if (isOldIE) { + el.setAttribute('data-group', group); + el.setAttribute('data-next-index', '0'); + } + + head.appendChild(el); + } + + if (isOldIE) { + index = parseInt(style.element.getAttribute('data-next-index')); + style.element.setAttribute('data-next-index', index + 1); + } + + if (style.element.styleSheet) { + style.parts.push(code); + style.element.styleSheet.cssText = style.parts + .filter(Boolean) + .join('\n'); + } else { + const textNode = document.createTextNode(code); + const nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]); + else style.element.appendChild(textNode); + } + } + } + } + /* style inject SSR */ + + + + var BaseAccordion = __vue_normalize__$s( + { render: __vue_render__$s, staticRenderFns: __vue_staticRenderFns__$s }, + __vue_inject_styles__$s, + __vue_script__$q, + __vue_scope_id__$s, + __vue_is_functional_template__$s, + __vue_module_identifier__$g, + __vue_create_injector__$g); + +// + +var script$r = { + components: { BaseAccordion }, + props: { + templateVariables: { + type: Array, + required: true + } + } +}; + +/* script */ + const __vue_script__$r = script$r; + +/* template */ +var __vue_render__$t = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "BaseAccordion", + { + staticStyle: { "--arrow-v-align": "baseline", "margin-bottom": "3rem" }, + scopedSlots: _vm._u( + [ + { + key: "title", + fn: function() { + return [_vm._t("title")] + }, + proxy: true + } + ], + null, + true + ) + }, + [ + _vm._v(" "), + _c( + "div", + { + staticClass: + "flex flex-wrap p-4 space-x-2 rounded-2xl bg-background-secondary" + }, + _vm._l(_vm.templateVariables, function(templateVariable) { + return _c( + "span", + { + staticClass: + "inline-block p-2 mt-2 tracking-wider rounded cursor-pointer bg-panels-bg first:ml-2 hover:shadow-outline", + on: { + click: function($event) { + return _vm.$emit("variable-click", templateVariable) + } + } + }, + [_vm._v("\n\t\t\t" + _vm._s(templateVariable) + "\n\t\t")] + ) + }), + 0 + ) + ] + ) +}; +var __vue_staticRenderFns__$t = []; +__vue_render__$t._withStripped = true; + + /* style */ + const __vue_inject_styles__$t = undefined; + /* scoped */ + const __vue_scope_id__$t = undefined; + /* functional template */ + const __vue_is_functional_template__$t = false; + /* component normalizer */ + function __vue_normalize__$t( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\settings\\TemplateVariablesList.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var TemplateVariablesList = __vue_normalize__$t( + { render: __vue_render__$t, staticRenderFns: __vue_staticRenderFns__$t }, + __vue_inject_styles__$t, + __vue_script__$r, + __vue_scope_id__$t, + __vue_is_functional_template__$t); + +// + +var script$s = { + components: { + BaseAccordion, + TemplateVariablesList + }, + data() { + return { + flags: flags$1, + currentLocale: this.$i18n.locale, + locales: this.$i18n.availableLocales, + settings: { + tags: {} + }, + lastSettings: {}, + spotifyFeatures: {}, + lastCredentials: {}, + defaultSettings: {}, + lastUser: '', + spotifyUser: '', + accountNum: 0, + accounts: [], + trackTemplateVariables + } + }, + computed: { + ...mapGetters({ + arl: 'getARL', + user: 'getUser', + isLoggedIn: 'isLoggedIn', + clientMode: 'getClientMode', + previewVolume: 'getPreviewVolume', + hasSlimDownloads: 'getSlimDownloads', + hasSlimSidebar: 'getSlimSidebar' + }), + needToWait() { + return Object.keys(this.getSettings).length === 0 + }, + modelVolume: { + get() { + return this.previewVolume + }, + set: debounce$1(function (value) { + this.setPreviewVolume(value); + }, 20) + }, + modelSlimDownloads: { + get() { + return this.hasSlimDownloads + }, + set(wantSlimDownloads) { + this.setSlimDownloads(wantSlimDownloads); + } + }, + modelSlimSidebar: { + get() { + return this.hasSlimSidebar + }, + set(wantSlimSidebar) { + this.setSlimSidebar(wantSlimSidebar); + } + }, + pictureHref() { + // Default image: https://e-cdns-images.dzcdn.net/images/user/125x125-000000-80-0-0.jpg + return `https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg` + } + }, + async mounted() { + const { settingsData, defaultSettingsData, spotifyCredentials } = await getSettingsData(); + + this.defaultSettings = defaultSettingsData; + this.initSettings(settingsData, spotifyCredentials); + + // TODO Move in store + let storedAccountNum = localStorage.getItem('accountNum'); + + if (storedAccountNum) { + this.accountNum = storedAccountNum; + } + + // TODO Move in store + let spotifyUser = localStorage.getItem('spotifyUser'); + + if (spotifyUser) { + this.lastUser = spotifyUser; + this.spotifyUser = spotifyUser; + socket.emit('update_userSpotifyPlaylists', spotifyUser); + } + + socket.on('updateSettings', this.updateSettings); + socket.on('accountChanged', this.accountChanged); + socket.on('familyAccounts', this.initAccounts); + socket.on('downloadFolderSelected', this.downloadFolderSelected); + socket.on('applogin_arl', this.loggedInViaDeezer); + + this.$on('hook:destroyed', () => { + socket.off('updateSettings'); + socket.off('accountChanged'); + socket.off('familyAccounts'); + socket.off('downloadFolderSelected'); + socket.off('applogin_arl'); + }); + }, + methods: { + ...mapActions({ + dispatchARL: 'setARL', + setPreviewVolume: 'setPreviewVolume', + setSlimDownloads: 'setSlimDownloads', + setSlimSidebar: 'setSlimSidebar' + }), + onTemplateVariableClick(templateName) { + copyToClipboard(templateName); + toast(`Copied ${templateName} to clipboard!`); + }, + revertSettings() { + this.settings = JSON.parse(JSON.stringify(this.lastSettings)); + }, + revertCredentials() { + this.spotifyCredentials = JSON.parse(JSON.stringify(this.lastCredentials)); + this.spotifyUser = (' ' + this.lastUser).slice(1); + }, + copyARLtoClipboard() { + let copyText = this.$refs.loginInput; + + copyText.setAttribute('type', 'text'); + copyText.select(); + copyText.setSelectionRange(0, 99999); + document.execCommand('copy'); + copyText.setAttribute('type', 'password'); + + toast(this.$t('settings.toasts.ARLcopied'), 'assignment'); + }, + changeLocale(newLocale) { + this.$i18n.locale = newLocale; + this.currentLocale = newLocale; + localStorage.setItem('locale', newLocale); + }, + saveSettings() { + this.lastSettings = JSON.parse(JSON.stringify(this.settings)); + this.lastCredentials = JSON.parse(JSON.stringify(this.spotifyFeatures)); + + let changed = false; + + if (this.lastUser != this.spotifyUser) { + // force cloning without linking + this.lastUser = (' ' + this.spotifyUser).slice(1); + localStorage.setItem('spotifyUser', this.lastUser); + changed = true; + } + + socket.emit('saveSettings', this.lastSettings, this.lastCredentials, changed ? this.lastUser : false); + }, + selectDownloadFolder() { + socket.emit('selectDownloadFolder'); + }, + downloadFolderSelected(folder) { + this.$set(this.settings, 'downloadLocation', folder); + }, + loadSettings(data) { + this.lastSettings = JSON.parse(JSON.stringify(data)); + this.settings = JSON.parse(JSON.stringify(data)); + }, + loadCredentials(credentials) { + this.lastCredentials = JSON.parse(JSON.stringify(credentials)); + this.spotifyFeatures = JSON.parse(JSON.stringify(credentials)); + }, + async loggedInViaDeezer(arl) { + this.dispatchARL({ arl }); + // this.login() + // const res = await fetchData('login', { arl, force: true, child: this.accountNum }) + }, + async login() { + let newArl = this.$refs.loginInput.value.trim(); + + if (newArl && newArl !== this.arl) { + const res = await fetchData('login', { arl: newArl, force: true, child: this.accountNum }); + this.loggedInViaDeezer(res.arl); + } + }, + appLogin(e) { + socket.emit('applogin'); + }, + changeAccount() { + socket.emit('changeAccount', this.accountNum); + }, + accountChanged(user, accountNum) { + this.$refs.username.innerText = user.name; + this.$refs.userpicture.src = `https://e-cdns-images.dzcdn.net/images/user/${user.picture}/125x125-000000-80-0-0.jpg`; + this.accountNum = accountNum; + + localStorage.setItem('accountNum', this.accountNum); + }, + initAccounts(accounts) { + this.accounts = accounts; + }, + logout() { + socket.emit('logout'); + }, + initSettings(settings, credentials) { + // this.loadDefaultSettings() + this.loadSettings(settings); + this.loadCredentials(credentials); + + toast(this.$t('settings.toasts.init'), 'settings'); + }, + updateSettings(newSettings, newCredentials) { + this.loadSettings(newSettings); + this.loadCredentials(newCredentials); + + toast(this.$t('settings.toasts.update'), 'settings'); + }, + resetToDefault() { + const wantsToReset = confirm(this.$t('settings.resetMessage')); + + if (!wantsToReset) return + + this.settings = JSON.parse(JSON.stringify(this.defaultSettings)); + toast(this.$t('settings.toasts.reset'), 'settings'); + } + } +}; + +/* script */ + const __vue_script__$s = script$s; + +/* template */ +var __vue_render__$u = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "div", + { staticClass: "fixed-footer" }, + [ + _c("h1", { staticClass: "mb-8 text-5xl" }, [ + _vm._v(_vm._s(_vm.$t("settings.title"))) + ]), + _vm._v(" "), + _vm.isLoggedIn + ? _c( + "div", + { ref: "loggedInInfo", attrs: { id: "logged_in_info" } }, + [ + _c("img", { + ref: "userpicture", + staticClass: "w-32 h-32 rounded-full", + attrs: { + id: "settings_picture", + src: _vm.pictureHref, + alt: "Profile Picture" + } + }), + _vm._v(" "), + _c("i18n", { + attrs: { path: "settings.login.loggedIn", tag: "p" }, + scopedSlots: _vm._u( + [ + { + key: "username", + fn: function() { + return [ + _c( + "strong", + { + ref: "username", + attrs: { id: "settings_username" } + }, + [_vm._v(_vm._s(_vm.user.name || "not logged"))] + ) + ] + }, + proxy: true + } + ], + null, + false, + 2821744753 + ) + }), + _vm._v(" "), + _c( + "button", + { staticClass: "btn btn-primary", on: { click: _vm.logout } }, + [ + _vm._v( + "\n\t\t\t" + + _vm._s(_vm.$t("settings.login.logout")) + + "\n\t\t" + ) + ] + ), + _vm._v(" "), + _vm.accounts.length > 1 + ? _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.accountNum, + expression: "accountNum" + } + ], + attrs: { id: "family_account" }, + on: { + change: [ + function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value; + return val + }); + _vm.accountNum = $event.target.multiple + ? $$selectedVal + : $$selectedVal[0]; + }, + _vm.changeAccount + ] + } + }, + _vm._l(_vm.accounts, function(account, i) { + return _c( + "option", + { key: account, domProps: { value: i.toString() } }, + [ + _vm._v( + "\n\t\t\t\t" + _vm._s(account.name) + "\n\t\t\t" + ) + ] + ) + }), + 0 + ) + : _vm._e() + ], + 1 + ) + : _vm._e(), + _vm._v(" "), + _c("div", { staticClass: "settings-group" }, [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [_vm._v("person")]), + _vm._v(_vm._s(_vm.$t("settings.login.title"))) + ]), + _vm._v(" "), + _c( + "div", + { staticClass: "my-5 space-y-5" }, + [ + _c("div", { staticClass: "flex items-center" }, [ + _c("input", { + ref: "loginInput", + attrs: { + id: "login_input_arl", + autocomplete: "off", + placeholder: "ARL", + type: "password" + }, + domProps: { value: _vm.arl } + }), + _vm._v(" "), + _c( + "button", + { + staticClass: "ml-2 btn btn-primary btn-only-icon", + on: { click: _vm.copyARLtoClipboard } + }, + [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("assignment") + ]) + ] + ) + ]), + _vm._v(" "), + _c( + "RouterLink", + { staticClass: "block", attrs: { to: { name: "ARL" } } }, + [ + _vm._v( + "\n\t\t\t\t" + + _vm._s(_vm.$t("settings.login.arl.question")) + + "\n\t\t\t" + ) + ] + ), + _vm._v(" "), + _vm.clientMode + ? _c( + "a", + { + staticClass: "block", + attrs: { href: "#" }, + on: { click: _vm.appLogin } + }, + [ + _vm._v( + "\n\t\t\t\t" + + _vm._s(_vm.$t("settings.login.login")) + + "\n\t\t\t" + ) + ] + ) + : _vm._e(), + _vm._v(" "), + _c( + "button", + { + staticClass: "btn btn-primary", + staticStyle: { width: "100%" }, + on: { click: _vm.login } + }, + [ + _vm._v( + "\n\t\t\t\t" + + _vm._s(_vm.$t("settings.login.arl.update")) + + "\n\t\t\t" + ) + ] + ) + ], + 1 + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "settings-group" }, [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [_vm._v("language")]), + _vm._v(_vm._s(_vm.$t("settings.languages"))) + ]), + _vm._v(" "), + _c( + "ul", + { staticClass: "my-5" }, + _vm._l(_vm.locales, function(locale) { + return _c("li", { + key: locale, + staticClass: "inline-flex items-center locale-flag", + class: { "locale-flag--current": _vm.currentLocale === locale }, + attrs: { title: locale }, + domProps: { innerHTML: _vm._s(_vm.flags[locale]) }, + on: { + click: function($event) { + return _vm.changeLocale(locale) + } + } + }) + }), + 0 + ) + ]), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [_vm._v("web")]), + _vm._v( + "\n\t\t\t\t" + + _vm._s(_vm.$t("settings.appearance.title")) + + "\n\t\t\t" + ) + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.modelSlimDownloads, + expression: "modelSlimDownloads" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.modelSlimDownloads) + ? _vm._i(_vm.modelSlimDownloads, null) > -1 + : _vm.modelSlimDownloads + }, + on: { + change: function($event) { + var $$a = _vm.modelSlimDownloads, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && (_vm.modelSlimDownloads = $$a.concat([$$v])); + } else { + $$i > -1 && + (_vm.modelSlimDownloads = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))); + } + } else { + _vm.modelSlimDownloads = $$c; + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.appearance.slimDownloadTab"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "mb-4 with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.modelSlimSidebar, + expression: "modelSlimSidebar" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.modelSlimSidebar) + ? _vm._i(_vm.modelSlimSidebar, null) > -1 + : _vm.modelSlimSidebar + }, + on: { + change: function($event) { + var $$a = _vm.modelSlimSidebar, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && (_vm.modelSlimSidebar = $$a.concat([$$v])); + } else { + $$i > -1 && + (_vm.modelSlimSidebar = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))); + } + } else { + _vm.modelSlimSidebar = $$c; + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.appearance.slimSidebar"))) + ]) + ]) + ] + ), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("folder") + ]), + _vm._v( + _vm._s(_vm.$t("settings.downloadPath.title")) + "\n\t\t\t" + ) + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("div", { staticClass: "flex items-center" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.downloadLocation, + expression: "settings.downloadLocation" + } + ], + attrs: { autocomplete: "off", type: "text" }, + domProps: { value: _vm.settings.downloadLocation }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "downloadLocation", + $event.target.value + ); + } + } + }), + _vm._v(" "), + _vm.clientMode + ? _c( + "button", + { + staticClass: "ml-2 btn btn-primary btn-only-icon", + on: { click: _vm.selectDownloadFolder } + }, + [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("folder") + ]) + ] + ) + : _vm._e() + ]) + ] + ), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("font_download") + ]), + _vm._v( + _vm._s(_vm.$t("settings.templates.title")) + "\n\t\t\t" + ) + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("p", [ + _vm._v(_vm._s(_vm.$t("settings.templates.tracknameTemplate"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tracknameTemplate, + expression: "settings.tracknameTemplate" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.tracknameTemplate }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.settings, "tracknameTemplate", $event.target.value); + } + } + }), + _vm._v(" "), + _c("TemplateVariablesList", { + attrs: { "template-variables": _vm.trackTemplateVariables }, + on: { "variable-click": _vm.onTemplateVariableClick }, + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _vm._v( + "\n\t\t\t\t" + + _vm._s( + _vm.$t( + "settings.templates.tracknameAvailableVariables" + ) + ) + + "\n\t\t\t" + ) + ] + }, + proxy: true + } + ]) + }), + _vm._v(" "), + _c("p", [ + _vm._v(_vm._s(_vm.$t("settings.templates.albumTracknameTemplate"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.albumTracknameTemplate, + expression: "settings.albumTracknameTemplate" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.albumTracknameTemplate }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "albumTracknameTemplate", + $event.target.value + ); + } + } + }), + _vm._v(" "), + _c("TemplateVariablesList", { + attrs: { "template-variables": _vm.trackTemplateVariables }, + on: { "variable-click": _vm.onTemplateVariableClick }, + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _vm._v( + "\n\t\t\t\t" + + _vm._s( + _vm.$t( + "settings.templates.albumTracknameAvailableVariables" + ) + ) + + "\n\t\t\t" + ) + ] + }, + proxy: true + } + ]) + }), + _vm._v(" "), + _c("p", [ + _vm._v( + _vm._s(_vm.$t("settings.templates.playlistTracknameTemplate")) + ) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.playlistTracknameTemplate, + expression: "settings.playlistTracknameTemplate" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.playlistTracknameTemplate }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "playlistTracknameTemplate", + $event.target.value + ); + } + } + }), + _vm._v(" "), + _c("TemplateVariablesList", { + attrs: { "template-variables": _vm.trackTemplateVariables }, + on: { "variable-click": _vm.onTemplateVariableClick }, + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _vm._v( + "\n\t\t\t\t" + + _vm._s( + _vm.$t( + "settings.templates.playlistTracknameAvailableVariables" + ) + ) + + "\n\t\t\t" + ) + ] + }, + proxy: true + } + ]) + }) + ], + 1 + ), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("create_new_folder") + ]), + _vm._v( + _vm._s(_vm.$t("settings.folders.title")) + "\n\t\t\t" + ) + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("div", { staticClass: "space-x-5 settings-container" }, [ + _c("div", { staticClass: "settings-container__third" }, [ + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.createPlaylistFolder, + expression: "settings.createPlaylistFolder" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.createPlaylistFolder) + ? _vm._i(_vm.settings.createPlaylistFolder, null) > -1 + : _vm.settings.createPlaylistFolder + }, + on: { + change: function($event) { + var $$a = _vm.settings.createPlaylistFolder, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "createPlaylistFolder", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "createPlaylistFolder", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "createPlaylistFolder", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v( + _vm._s(_vm.$t("settings.folders.createPlaylistFolder")) + ) + ]) + ]), + _vm._v(" "), + _vm.settings.createPlaylistFolder + ? _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v( + _vm._s(_vm.$t("settings.folders.playlistNameTemplate")) + ) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.playlistNameTemplate, + expression: "settings.playlistNameTemplate" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.playlistNameTemplate }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "playlistNameTemplate", + $event.target.value + ); + } + } + }) + ]) + : _vm._e() + ]), + _vm._v(" "), + _c("div", { staticClass: "settings-container__third" }, [ + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.createArtistFolder, + expression: "settings.createArtistFolder" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.createArtistFolder) + ? _vm._i(_vm.settings.createArtistFolder, null) > -1 + : _vm.settings.createArtistFolder + }, + on: { + change: function($event) { + var $$a = _vm.settings.createArtistFolder, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "createArtistFolder", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "createArtistFolder", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "createArtistFolder", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.folders.createArtistFolder"))) + ]) + ]), + _vm._v(" "), + _vm.settings.createArtistFolder + ? _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v( + _vm._s(_vm.$t("settings.folders.artistNameTemplate")) + ) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.artistNameTemplate, + expression: "settings.artistNameTemplate" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.artistNameTemplate }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "artistNameTemplate", + $event.target.value + ); + } + } + }) + ]) + : _vm._e() + ]), + _vm._v(" "), + _c("div", { staticClass: "settings-container__third" }, [ + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.createAlbumFolder, + expression: "settings.createAlbumFolder" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.createAlbumFolder) + ? _vm._i(_vm.settings.createAlbumFolder, null) > -1 + : _vm.settings.createAlbumFolder + }, + on: { + change: function($event) { + var $$a = _vm.settings.createAlbumFolder, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "createAlbumFolder", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "createAlbumFolder", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "createAlbumFolder", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.folders.createAlbumFolder"))) + ]) + ]), + _vm._v(" "), + _vm.settings.createAlbumFolder + ? _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v( + _vm._s(_vm.$t("settings.folders.albumNameTemplate")) + ) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.albumNameTemplate, + expression: "settings.albumNameTemplate" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.albumNameTemplate }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "albumNameTemplate", + $event.target.value + ); + } + } + }) + ]) + : _vm._e() + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.createCDFolder, + expression: "settings.createCDFolder" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.createCDFolder) + ? _vm._i(_vm.settings.createCDFolder, null) > -1 + : _vm.settings.createCDFolder + }, + on: { + change: function($event) { + var $$a = _vm.settings.createCDFolder, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "createCDFolder", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "createCDFolder", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "createCDFolder", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.folders.createCDFolder"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.createStructurePlaylist, + expression: "settings.createStructurePlaylist" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.createStructurePlaylist) + ? _vm._i(_vm.settings.createStructurePlaylist, null) > -1 + : _vm.settings.createStructurePlaylist + }, + on: { + change: function($event) { + var $$a = _vm.settings.createStructurePlaylist, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "createStructurePlaylist", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "createStructurePlaylist", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "createStructurePlaylist", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.folders.createStructurePlaylist"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.createSingleFolder, + expression: "settings.createSingleFolder" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.createSingleFolder) + ? _vm._i(_vm.settings.createSingleFolder, null) > -1 + : _vm.settings.createSingleFolder + }, + on: { + change: function($event) { + var $$a = _vm.settings.createSingleFolder, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "createSingleFolder", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "createSingleFolder", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "createSingleFolder", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.folders.createSingleFolder"))) + ]) + ]) + ] + ), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("title") + ]), + _vm._v( + _vm._s(_vm.$t("settings.trackTitles.title")) + "\n\t\t\t" + ) + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("div", { staticClass: "space-x-5 settings-container" }, [ + _c( + "div", + { + staticClass: + "settings-container__third settings-container__third--only-checkbox" + }, + [ + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.padTracks, + expression: "settings.padTracks" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.padTracks) + ? _vm._i(_vm.settings.padTracks, null) > -1 + : _vm.settings.padTracks + }, + on: { + change: function($event) { + var $$a = _vm.settings.padTracks, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "padTracks", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "padTracks", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "padTracks", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.trackTitles.padTracks"))) + ]) + ]) + ] + ), + _vm._v(" "), + _c("div", { staticClass: "settings-container__third" }, [ + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.trackTitles.paddingSize"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.paddingSize, + expression: "settings.paddingSize" + } + ], + attrs: { max: "10", type: "number" }, + domProps: { value: _vm.settings.paddingSize }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.settings, "paddingSize", $event.target.value); + } + } + }) + ]) + ]), + _vm._v(" "), + _c("div", { staticClass: "settings-container__third" }, [ + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v( + _vm._s( + _vm.$t("settings.trackTitles.illegalCharacterReplacer") + ) + ) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.illegalCharacterReplacer, + expression: "settings.illegalCharacterReplacer" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.illegalCharacterReplacer }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "illegalCharacterReplacer", + $event.target.value + ); + } + } + }) + ]) + ]) + ]) + ] + ), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("album") + ]), + _vm._v(_vm._s(_vm.$t("settings.covers.title"))) + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.saveArtwork, + expression: "settings.saveArtwork" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.saveArtwork) + ? _vm._i(_vm.settings.saveArtwork, null) > -1 + : _vm.settings.saveArtwork + }, + on: { + change: function($event) { + var $$a = _vm.settings.saveArtwork, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set(_vm.settings, "saveArtwork", $$a.concat([$$v])); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "saveArtwork", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "saveArtwork", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.saveArtwork"))) + ]) + ]), + _vm._v(" "), + _vm.settings.saveArtwork + ? _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.coverImageTemplate"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.coverImageTemplate, + expression: "settings.coverImageTemplate" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.coverImageTemplate }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "coverImageTemplate", + $event.target.value + ); + } + } + }) + ]) + : _vm._e(), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.saveArtworkArtist, + expression: "settings.saveArtworkArtist" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.saveArtworkArtist) + ? _vm._i(_vm.settings.saveArtworkArtist, null) > -1 + : _vm.settings.saveArtworkArtist + }, + on: { + change: function($event) { + var $$a = _vm.settings.saveArtworkArtist, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "saveArtworkArtist", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "saveArtworkArtist", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "saveArtworkArtist", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.saveArtworkArtist"))) + ]) + ]), + _vm._v(" "), + _vm.settings.saveArtworkArtist + ? _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.artistImageTemplate"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.artistImageTemplate, + expression: "settings.artistImageTemplate" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.artistImageTemplate }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "artistImageTemplate", + $event.target.value + ); + } + } + }) + ]) + : _vm._e(), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.localArtworkSize"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model.number", + value: _vm.settings.localArtworkSize, + expression: "settings.localArtworkSize", + modifiers: { number: true } + } + ], + attrs: { max: "10000", min: "100", step: "100", type: "number" }, + domProps: { value: _vm.settings.localArtworkSize }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "localArtworkSize", + _vm._n($event.target.value) + ); + }, + blur: function($event) { + return _vm.$forceUpdate() + } + } + }), + _vm._v(" "), + _vm.settings.localArtworkSize > 1200 + ? _c( + "p", + { + staticClass: "input-group-text", + staticStyle: { opacity: "0.75", color: "#ffcc22" } + }, + [ + _vm._v( + "\n\t\t\t\t⚠️ " + + _vm._s(_vm.$t("settings.covers.imageSizeWarning")) + + "\n\t\t\t" + ) + ] + ) + : _vm._e() + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.embeddedArtworkSize"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model.number", + value: _vm.settings.embeddedArtworkSize, + expression: "settings.embeddedArtworkSize", + modifiers: { number: true } + } + ], + attrs: { max: "10000", min: "100", step: "100", type: "number" }, + domProps: { value: _vm.settings.embeddedArtworkSize }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "embeddedArtworkSize", + _vm._n($event.target.value) + ); + }, + blur: function($event) { + return _vm.$forceUpdate() + } + } + }), + _vm._v(" "), + _vm.settings.embeddedArtworkSize > 1200 + ? _c( + "p", + { + staticClass: "input-group-text", + staticStyle: { opacity: "0.75", color: "#ffcc22" } + }, + [ + _vm._v( + "\n\t\t\t\t⚠️ " + + _vm._s(_vm.$t("settings.covers.imageSizeWarning")) + + "\n\t\t\t" + ) + ] + ) + : _vm._e() + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.localArtworkFormat.title"))) + ]), + _vm._v(" "), + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.localArtworkFormat, + expression: "settings.localArtworkFormat" + } + ], + on: { + change: function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value; + return val + }); + _vm.$set( + _vm.settings, + "localArtworkFormat", + $event.target.multiple ? $$selectedVal : $$selectedVal[0] + ); + } + } + }, + [ + _c("option", { attrs: { value: "jpg" } }, [ + _vm._v( + _vm._s(_vm.$t("settings.covers.localArtworkFormat.jpg")) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "png" } }, [ + _vm._v( + _vm._s(_vm.$t("settings.covers.localArtworkFormat.png")) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "jpg,png" } }, [ + _vm._v( + _vm._s(_vm.$t("settings.covers.localArtworkFormat.both")) + ) + ]) + ] + ) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.embeddedArtworkPNG, + expression: "settings.embeddedArtworkPNG" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.embeddedArtworkPNG) + ? _vm._i(_vm.settings.embeddedArtworkPNG, null) > -1 + : _vm.settings.embeddedArtworkPNG + }, + on: { + change: function($event) { + var $$a = _vm.settings.embeddedArtworkPNG, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "embeddedArtworkPNG", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "embeddedArtworkPNG", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "embeddedArtworkPNG", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.embeddedArtworkPNG"))) + ]) + ]), + _vm._v(" "), + _vm.settings.embeddedArtworkPNG + ? _c("p", { staticStyle: { opacity: "0.75", color: "#ffcc22" } }, [ + _vm._v( + "\n\t\t\t⚠️ " + + _vm._s(_vm.$t("settings.covers.embeddedPNGWarning")) + + "\n\t\t" + ) + ]) + : _vm._e(), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.coverDescriptionUTF8, + expression: "settings.tags.coverDescriptionUTF8" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.coverDescriptionUTF8) + ? _vm._i(_vm.settings.tags.coverDescriptionUTF8, null) > -1 + : _vm.settings.tags.coverDescriptionUTF8 + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.coverDescriptionUTF8, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "coverDescriptionUTF8", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "coverDescriptionUTF8", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "coverDescriptionUTF8", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.coverDescriptionUTF8"))) + ]) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.covers.jpegImageQuality"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model.number", + value: _vm.settings.jpegImageQuality, + expression: "settings.jpegImageQuality", + modifiers: { number: true } + } + ], + attrs: { max: "100", min: "1", type: "number" }, + domProps: { value: _vm.settings.jpegImageQuality }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "jpegImageQuality", + _vm._n($event.target.value) + ); + }, + blur: function($event) { + return _vm.$forceUpdate() + } + } + }) + ]) + ] + ), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c( + "i", + { + staticClass: "material-icons", + staticStyle: { width: "1em", height: "1em" } + }, + [_vm._v("bookmarks")] + ), + _vm._v(_vm._s(_vm.$t("settings.tags.head")) + "\n\t\t\t") + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("div", { staticClass: "space-x-5 settings-container" }, [ + _c("div", { staticClass: "settings-container__half" }, [ + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.title, + expression: "settings.tags.title" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.title) + ? _vm._i(_vm.settings.tags.title, null) > -1 + : _vm.settings.tags.title + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.title, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "title", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "title", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "title", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.title"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.artist, + expression: "settings.tags.artist" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.artist) + ? _vm._i(_vm.settings.tags.artist, null) > -1 + : _vm.settings.tags.artist + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.artist, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "artist", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "artist", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "artist", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.artist"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.album, + expression: "settings.tags.album" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.album) + ? _vm._i(_vm.settings.tags.album, null) > -1 + : _vm.settings.tags.album + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.album, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "album", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "album", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "album", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.album"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.cover, + expression: "settings.tags.cover" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.cover) + ? _vm._i(_vm.settings.tags.cover, null) > -1 + : _vm.settings.tags.cover + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.cover, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "cover", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "cover", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "cover", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.cover"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.trackNumber, + expression: "settings.tags.trackNumber" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.trackNumber) + ? _vm._i(_vm.settings.tags.trackNumber, null) > -1 + : _vm.settings.tags.trackNumber + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.trackNumber, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "trackNumber", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "trackNumber", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "trackNumber", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.trackNumber"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.trackTotal, + expression: "settings.tags.trackTotal" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.trackTotal) + ? _vm._i(_vm.settings.tags.trackTotal, null) > -1 + : _vm.settings.tags.trackTotal + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.trackTotal, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "trackTotal", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "trackTotal", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "trackTotal", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.trackTotal"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.discNumber, + expression: "settings.tags.discNumber" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.discNumber) + ? _vm._i(_vm.settings.tags.discNumber, null) > -1 + : _vm.settings.tags.discNumber + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.discNumber, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "discNumber", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "discNumber", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "discNumber", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.discNumber"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.discTotal, + expression: "settings.tags.discTotal" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.discTotal) + ? _vm._i(_vm.settings.tags.discTotal, null) > -1 + : _vm.settings.tags.discTotal + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.discTotal, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "discTotal", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "discTotal", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "discTotal", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.discTotal"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.albumArtist, + expression: "settings.tags.albumArtist" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.albumArtist) + ? _vm._i(_vm.settings.tags.albumArtist, null) > -1 + : _vm.settings.tags.albumArtist + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.albumArtist, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "albumArtist", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "albumArtist", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "albumArtist", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.albumArtist"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.genre, + expression: "settings.tags.genre" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.genre) + ? _vm._i(_vm.settings.tags.genre, null) > -1 + : _vm.settings.tags.genre + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.genre, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "genre", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "genre", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "genre", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.genre"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.year, + expression: "settings.tags.year" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.year) + ? _vm._i(_vm.settings.tags.year, null) > -1 + : _vm.settings.tags.year + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.year, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "year", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "year", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "year", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.year"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.date, + expression: "settings.tags.date" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.date) + ? _vm._i(_vm.settings.tags.date, null) > -1 + : _vm.settings.tags.date + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.date, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "date", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "date", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "date", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.date"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.explicit, + expression: "settings.tags.explicit" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.explicit) + ? _vm._i(_vm.settings.tags.explicit, null) > -1 + : _vm.settings.tags.explicit + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.explicit, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "explicit", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "explicit", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "explicit", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.explicit"))) + ]) + ]) + ]), + _vm._v(" "), + _c("div", { staticClass: "settings-container__half" }, [ + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.isrc, + expression: "settings.tags.isrc" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.isrc) + ? _vm._i(_vm.settings.tags.isrc, null) > -1 + : _vm.settings.tags.isrc + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.isrc, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "isrc", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "isrc", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "isrc", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.isrc"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.length, + expression: "settings.tags.length" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.length) + ? _vm._i(_vm.settings.tags.length, null) > -1 + : _vm.settings.tags.length + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.length, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "length", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "length", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "length", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.length"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.barcode, + expression: "settings.tags.barcode" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.barcode) + ? _vm._i(_vm.settings.tags.barcode, null) > -1 + : _vm.settings.tags.barcode + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.barcode, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "barcode", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "barcode", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "barcode", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.barcode"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.bpm, + expression: "settings.tags.bpm" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.bpm) + ? _vm._i(_vm.settings.tags.bpm, null) > -1 + : _vm.settings.tags.bpm + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.bpm, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "bpm", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "bpm", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "bpm", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.bpm"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.replayGain, + expression: "settings.tags.replayGain" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.replayGain) + ? _vm._i(_vm.settings.tags.replayGain, null) > -1 + : _vm.settings.tags.replayGain + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.replayGain, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "replayGain", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "replayGain", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "replayGain", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.replayGain"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.label, + expression: "settings.tags.label" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.label) + ? _vm._i(_vm.settings.tags.label, null) > -1 + : _vm.settings.tags.label + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.label, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "label", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "label", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "label", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.label"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.lyrics, + expression: "settings.tags.lyrics" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.lyrics) + ? _vm._i(_vm.settings.tags.lyrics, null) > -1 + : _vm.settings.tags.lyrics + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.lyrics, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "lyrics", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "lyrics", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "lyrics", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.lyrics"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.syncedLyrics, + expression: "settings.tags.syncedLyrics" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.syncedLyrics) + ? _vm._i(_vm.settings.tags.syncedLyrics, null) > -1 + : _vm.settings.tags.syncedLyrics + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.syncedLyrics, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "syncedLyrics", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "syncedLyrics", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "syncedLyrics", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.syncedLyrics"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.copyright, + expression: "settings.tags.copyright" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.copyright) + ? _vm._i(_vm.settings.tags.copyright, null) > -1 + : _vm.settings.tags.copyright + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.copyright, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "copyright", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "copyright", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "copyright", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.copyright"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.composer, + expression: "settings.tags.composer" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.composer) + ? _vm._i(_vm.settings.tags.composer, null) > -1 + : _vm.settings.tags.composer + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.composer, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "composer", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "composer", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "composer", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.composer"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.involvedPeople, + expression: "settings.tags.involvedPeople" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.involvedPeople) + ? _vm._i(_vm.settings.tags.involvedPeople, null) > -1 + : _vm.settings.tags.involvedPeople + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.involvedPeople, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "involvedPeople", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "involvedPeople", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "involvedPeople", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.involvedPeople"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.source, + expression: "settings.tags.source" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.source) + ? _vm._i(_vm.settings.tags.source, null) > -1 + : _vm.settings.tags.source + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.source, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "source", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "source", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "source", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.tags.source"))) + ]) + ]) + ]) + ]) + ] + ), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("get_app") + ]), + _vm._v( + _vm._s(_vm.$t("settings.downloads.title")) + "\n\t\t\t" + ) + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.queueConcurrency"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model.number", + value: _vm.settings.queueConcurrency, + expression: "settings.queueConcurrency", + modifiers: { number: true } + } + ], + attrs: { min: "1", type: "number" }, + domProps: { value: _vm.settings.queueConcurrency }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "queueConcurrency", + _vm._n($event.target.value) + ); + }, + blur: function($event) { + return _vm.$forceUpdate() + } + } + }) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.maxBitrate.title"))) + ]), + _vm._v(" "), + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.maxBitrate, + expression: "settings.maxBitrate" + } + ], + on: { + change: function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value; + return val + }); + _vm.$set( + _vm.settings, + "maxBitrate", + $event.target.multiple ? $$selectedVal : $$selectedVal[0] + ); + } + } + }, + [ + _c("option", { attrs: { value: "9" } }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.maxBitrate.9"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "3" } }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.maxBitrate.3"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "1" } }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.maxBitrate.1"))) + ]) + ] + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.overwriteFile.title"))) + ]), + _vm._v(" "), + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.overwriteFile, + expression: "settings.overwriteFile" + } + ], + on: { + change: function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value; + return val + }); + _vm.$set( + _vm.settings, + "overwriteFile", + $event.target.multiple ? $$selectedVal : $$selectedVal[0] + ); + } + } + }, + [ + _c("option", { attrs: { value: "y" } }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.overwriteFile.y"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "n" } }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.overwriteFile.n"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "e" } }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.overwriteFile.e"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "b" } }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.overwriteFile.b"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "t" } }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.overwriteFile.t"))) + ]) + ] + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "space-x-5 settings-container" }, [ + _c( + "div", + { + staticClass: + "settings-container__third settings-container__third--only-checkbox" + }, + [ + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.fallbackBitrate, + expression: "settings.fallbackBitrate" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.fallbackBitrate) + ? _vm._i(_vm.settings.fallbackBitrate, null) > -1 + : _vm.settings.fallbackBitrate + }, + on: { + change: function($event) { + var $$a = _vm.settings.fallbackBitrate, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "fallbackBitrate", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "fallbackBitrate", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "fallbackBitrate", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.fallbackBitrate"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.fallbackSearch, + expression: "settings.fallbackSearch" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.fallbackSearch) + ? _vm._i(_vm.settings.fallbackSearch, null) > -1 + : _vm.settings.fallbackSearch + }, + on: { + change: function($event) { + var $$a = _vm.settings.fallbackSearch, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "fallbackSearch", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "fallbackSearch", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "fallbackSearch", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.fallbackSearch"))) + ]) + ]) + ] + ), + _vm._v(" "), + _c( + "div", + { + staticClass: + "settings-container__third settings-container__third--only-checkbox" + }, + [ + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.logErrors, + expression: "settings.logErrors" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.logErrors) + ? _vm._i(_vm.settings.logErrors, null) > -1 + : _vm.settings.logErrors + }, + on: { + change: function($event) { + var $$a = _vm.settings.logErrors, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "logErrors", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "logErrors", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "logErrors", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.logErrors"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.logSearched, + expression: "settings.logSearched" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.logSearched) + ? _vm._i(_vm.settings.logSearched, null) > -1 + : _vm.settings.logSearched + }, + on: { + change: function($event) { + var $$a = _vm.settings.logSearched, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "logSearched", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "logSearched", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "logSearched", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.logSearched"))) + ]) + ]) + ] + ), + _vm._v(" "), + _c( + "div", + { + staticClass: + "settings-container__third settings-container__third--only-checkbox" + }, + [ + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.syncedLyrics, + expression: "settings.syncedLyrics" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.syncedLyrics) + ? _vm._i(_vm.settings.syncedLyrics, null) > -1 + : _vm.settings.syncedLyrics + }, + on: { + change: function($event) { + var $$a = _vm.settings.syncedLyrics, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "syncedLyrics", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "syncedLyrics", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "syncedLyrics", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.syncedLyrics"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.createM3U8File, + expression: "settings.createM3U8File" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.createM3U8File) + ? _vm._i(_vm.settings.createM3U8File, null) > -1 + : _vm.settings.createM3U8File + }, + on: { + change: function($event) { + var $$a = _vm.settings.createM3U8File, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "createM3U8File", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "createM3U8File", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "createM3U8File", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.createM3U8File"))) + ]) + ]) + ] + ) + ]), + _vm._v(" "), + _vm.settings.createM3U8File + ? _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v( + _vm._s( + _vm.$t("settings.downloads.playlistFilenameTemplate") + ) + ) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.playlistFilenameTemplate, + expression: "settings.playlistFilenameTemplate" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.playlistFilenameTemplate }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.settings, + "playlistFilenameTemplate", + $event.target.value + ); + } + } + }) + ]) + : _vm._e(), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.saveDownloadQueue, + expression: "settings.saveDownloadQueue" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.saveDownloadQueue) + ? _vm._i(_vm.settings.saveDownloadQueue, null) > -1 + : _vm.settings.saveDownloadQueue + }, + on: { + change: function($event) { + var $$a = _vm.settings.saveDownloadQueue, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "saveDownloadQueue", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "saveDownloadQueue", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "saveDownloadQueue", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.downloads.saveDownloadQueue"))) + ]) + ]) + ] + ), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c("i", { staticClass: "material-icons" }, [ + _vm._v("list") + ]), + _vm._v(_vm._s(_vm.$t("settings.other.title"))) + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.savePlaylistAsCompilation, + expression: "settings.tags.savePlaylistAsCompilation" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray( + _vm.settings.tags.savePlaylistAsCompilation + ) + ? _vm._i(_vm.settings.tags.savePlaylistAsCompilation, null) > + -1 + : _vm.settings.tags.savePlaylistAsCompilation + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.savePlaylistAsCompilation, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "savePlaylistAsCompilation", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "savePlaylistAsCompilation", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set( + _vm.settings.tags, + "savePlaylistAsCompilation", + $$c + ); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.savePlaylistAsCompilation"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.useNullSeparator, + expression: "settings.tags.useNullSeparator" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.useNullSeparator) + ? _vm._i(_vm.settings.tags.useNullSeparator, null) > -1 + : _vm.settings.tags.useNullSeparator + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.useNullSeparator, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "useNullSeparator", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "useNullSeparator", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "useNullSeparator", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.useNullSeparator"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.saveID3v1, + expression: "settings.tags.saveID3v1" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.saveID3v1) + ? _vm._i(_vm.settings.tags.saveID3v1, null) > -1 + : _vm.settings.tags.saveID3v1 + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.saveID3v1, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "saveID3v1", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "saveID3v1", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "saveID3v1", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.saveID3v1"))) + ]) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v( + _vm._s(_vm.$t("settings.other.multiArtistSeparator.title")) + ) + ]), + _vm._v(" "), + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.multiArtistSeparator, + expression: "settings.tags.multiArtistSeparator" + } + ], + on: { + change: function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value; + return val + }); + _vm.$set( + _vm.settings.tags, + "multiArtistSeparator", + $event.target.multiple ? $$selectedVal : $$selectedVal[0] + ); + } + } + }, + [ + _c("option", { attrs: { value: "nothing" } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.nothing") + ) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "default" } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.default") + ) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "andFeat" } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.andFeat") + ) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: " & " } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.using", { + separator: " & " + }) + ) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "," } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.using", { + separator: "," + }) + ) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: ", " } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.using", { + separator: ", " + }) + ) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "/" } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.using", { + separator: "/" + }) + ) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: " / " } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.using", { + separator: " / " + }) + ) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: ";" } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.using", { + separator: ";" + }) + ) + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "; " } }, [ + _vm._v( + _vm._s( + _vm.$t("settings.other.multiArtistSeparator.using", { + separator: "; " + }) + ) + ) + ]) + ] + ) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.tags.singleAlbumArtist, + expression: "settings.tags.singleAlbumArtist" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.tags.singleAlbumArtist) + ? _vm._i(_vm.settings.tags.singleAlbumArtist, null) > -1 + : _vm.settings.tags.singleAlbumArtist + }, + on: { + change: function($event) { + var $$a = _vm.settings.tags.singleAlbumArtist, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings.tags, + "singleAlbumArtist", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings.tags, + "singleAlbumArtist", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings.tags, "singleAlbumArtist", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.singleAlbumArtist"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.albumVariousArtists, + expression: "settings.albumVariousArtists" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.albumVariousArtists) + ? _vm._i(_vm.settings.albumVariousArtists, null) > -1 + : _vm.settings.albumVariousArtists + }, + on: { + change: function($event) { + var $$a = _vm.settings.albumVariousArtists, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "albumVariousArtists", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "albumVariousArtists", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "albumVariousArtists", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.albumVariousArtists"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.removeAlbumVersion, + expression: "settings.removeAlbumVersion" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.removeAlbumVersion) + ? _vm._i(_vm.settings.removeAlbumVersion, null) > -1 + : _vm.settings.removeAlbumVersion + }, + on: { + change: function($event) { + var $$a = _vm.settings.removeAlbumVersion, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "removeAlbumVersion", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "removeAlbumVersion", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "removeAlbumVersion", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.removeAlbumVersion"))) + ]) + ]), + _vm._v(" "), + _c("label", { staticClass: "with-checkbox" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.removeDuplicateArtists, + expression: "settings.removeDuplicateArtists" + } + ], + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(_vm.settings.removeDuplicateArtists) + ? _vm._i(_vm.settings.removeDuplicateArtists, null) > -1 + : _vm.settings.removeDuplicateArtists + }, + on: { + change: function($event) { + var $$a = _vm.settings.removeDuplicateArtists, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + _vm.settings, + "removeDuplicateArtists", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + _vm.settings, + "removeDuplicateArtists", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(_vm.settings, "removeDuplicateArtists", $$c); + } + } + } + }), + _vm._v(" "), + _c("span", { staticClass: "checkbox-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.removeDuplicateArtists"))) + ]) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.dateFormat.title"))) + ]), + _vm._v(" "), + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.dateFormat, + expression: "settings.dateFormat" + } + ], + on: { + change: function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value; + return val + }); + _vm.$set( + _vm.settings, + "dateFormat", + $event.target.multiple ? $$selectedVal : $$selectedVal[0] + ); + } + } + }, + [ + _c("option", { attrs: { value: "Y-M-D" } }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$t("settings.other.dateFormat.year") + + "-" + + _vm.$t("settings.other.dateFormat.month") + + "-" + + _vm.$t("settings.other.dateFormat.day") + ) + + "\n\t\t\t\t" + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "Y-D-M" } }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$t("settings.other.dateFormat.year") + + "-" + + _vm.$t("settings.other.dateFormat.day") + + "-" + + _vm.$t("settings.other.dateFormat.month") + ) + + "\n\t\t\t\t" + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "D-M-Y" } }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$t("settings.other.dateFormat.day") + + "-" + + _vm.$t("settings.other.dateFormat.month") + + "-" + + _vm.$t("settings.other.dateFormat.year") + ) + + "\n\t\t\t\t" + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "M-D-Y" } }, [ + _vm._v( + "\n\t\t\t\t\t" + + _vm._s( + _vm.$t("settings.other.dateFormat.month") + + "-" + + _vm.$t("settings.other.dateFormat.day") + + "-" + + _vm.$t("settings.other.dateFormat.year") + ) + + "\n\t\t\t\t" + ) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "Y" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.dateFormat.year"))) + ]) + ] + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.featuredToTitle.title"))) + ]), + _vm._v(" "), + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.featuredToTitle, + expression: "settings.featuredToTitle" + } + ], + on: { + change: function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value; + return val + }); + _vm.$set( + _vm.settings, + "featuredToTitle", + $event.target.multiple ? $$selectedVal : $$selectedVal[0] + ); + } + } + }, + [ + _c("option", { attrs: { value: "0" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.featuredToTitle.0"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "1" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.featuredToTitle.1"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "3" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.featuredToTitle.3"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "2" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.featuredToTitle.2"))) + ]) + ] + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.titleCasing"))) + ]), + _vm._v(" "), + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.titleCasing, + expression: "settings.titleCasing" + } + ], + on: { + change: function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value; + return val + }); + _vm.$set( + _vm.settings, + "titleCasing", + $event.target.multiple ? $$selectedVal : $$selectedVal[0] + ); + } + } + }, + [ + _c("option", { attrs: { value: "nothing" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.nothing"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "lower" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.lower"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "upper" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.upper"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "start" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.start"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "sentence" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.sentence"))) + ]) + ] + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.artistCasing"))) + ]), + _vm._v(" "), + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.artistCasing, + expression: "settings.artistCasing" + } + ], + on: { + change: function($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function(o) { + return o.selected + }) + .map(function(o) { + var val = "_value" in o ? o._value : o.value; + return val + }); + _vm.$set( + _vm.settings, + "artistCasing", + $event.target.multiple ? $$selectedVal : $$selectedVal[0] + ); + } + } + }, + [ + _c("option", { attrs: { value: "nothing" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.nothing"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "lower" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.lower"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "upper" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.upper"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "start" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.start"))) + ]), + _vm._v(" "), + _c("option", { attrs: { value: "sentence" } }, [ + _vm._v(_vm._s(_vm.$t("settings.other.casing.sentence"))) + ]) + ] + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.previewVolume"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model.number", + value: _vm.modelVolume, + expression: "modelVolume", + modifiers: { number: true } + } + ], + staticClass: "slider", + attrs: { max: "100", min: "0", step: "1", type: "range" }, + domProps: { value: _vm.modelVolume }, + on: { + __r: function($event) { + _vm.modelVolume = _vm._n($event.target.value); + }, + blur: function($event) { + return _vm.$forceUpdate() + } + } + }), + _vm._v(" "), + _c("span", [_vm._v(_vm._s(_vm.previewVolume) + "%")]) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.other.executeCommand.title"))) + ]), + _vm._v(" "), + _c("p", { staticClass: "secondary-text" }, [ + _vm._v( + _vm._s(_vm.$t("settings.other.executeCommand.description")) + ) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.settings.executeCommand, + expression: "settings.executeCommand" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.settings.executeCommand }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.settings, "executeCommand", $event.target.value); + } + } + }) + ]) + ] + ), + _vm._v(" "), + _c( + "BaseAccordion", + { + staticClass: "settings-group", + scopedSlots: _vm._u([ + { + key: "title", + fn: function() { + return [ + _c("h3", { staticClass: "settings-group__header" }, [ + _c( + "svg", + { + staticClass: "mr-4 w-6 h-6", + staticStyle: { fill: "#1db954" }, + attrs: { + "enable-background": "new 0 0 24 24", + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" + } + }, + [ + _c("path", { + attrs: { + d: + "m12 24c6.624 0 12-5.376 12-12s-5.376-12-12-12-12 5.376-12 12 5.376 12 12 12zm4.872-6.344v.001c-.807 0-3.356-2.828-10.52-1.36-.189.049-.436.126-.576.126-.915 0-1.09-1.369-.106-1.578 3.963-.875 8.013-.798 11.467 1.268.824.526.474 1.543-.265 1.543zm1.303-3.173c-.113-.03-.08.069-.597-.203-3.025-1.79-7.533-2.512-11.545-1.423-.232.063-.358.126-.576.126-1.071 0-1.355-1.611-.188-1.94 4.716-1.325 9.775-.552 13.297 1.543.392.232.547.533.547.953-.005.522-.411.944-.938.944zm-13.627-7.485c4.523-1.324 11.368-.906 15.624 1.578 1.091.629.662 2.22-.498 2.22l-.001-.001c-.252 0-.407-.063-.625-.189-3.443-2.056-9.604-2.549-13.59-1.436-.175.048-.393.125-.625.125-.639 0-1.127-.499-1.127-1.142 0-.657.407-1.029.842-1.155z" + } + }) + ] + ), + _vm._v( + "\n\t\t\t\t" + + _vm._s(_vm.$t("settings.spotify.title")) + + "\n\t\t\t" + ) + ]) + ] + }, + proxy: true + } + ]) + }, + [ + _vm._v(" "), + _c("RouterLink", { attrs: { to: { name: "Spotify Features" } } }, [ + _vm._v( + "\n\t\t\t" + + _vm._s(_vm.$t("settings.spotify.question")) + + "\n\t\t" + ) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.spotify.clientID"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.spotifyFeatures.clientId, + expression: "spotifyFeatures.clientId" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.spotifyFeatures.clientId }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.spotifyFeatures, "clientId", $event.target.value); + } + } + }) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.spotify.clientSecret"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.spotifyFeatures.clientSecret, + expression: "spotifyFeatures.clientSecret" + } + ], + attrs: { type: "password" }, + domProps: { value: _vm.spotifyFeatures.clientSecret }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.spotifyFeatures, + "clientSecret", + $event.target.value + ); + } + } + }) + ]), + _vm._v(" "), + _c("div", { staticClass: "input-group" }, [ + _c("p", { staticClass: "input-group-text" }, [ + _vm._v(_vm._s(_vm.$t("settings.spotify.username"))) + ]), + _vm._v(" "), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.spotifyUser, + expression: "spotifyUser" + } + ], + attrs: { type: "text" }, + domProps: { value: _vm.spotifyUser }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.spotifyUser = $event.target.value; + } + } + }) + ]) + ], + 1 + ), + _vm._v(" "), + _c("footer", { staticClass: "bg-background-main" }, [ + _c( + "button", + { + staticClass: "mr-2 btn btn-primary", + on: { click: _vm.resetToDefault } + }, + [_vm._v(_vm._s(_vm.$t("settings.reset")))] + ), + _vm._v(" "), + _c( + "button", + { staticClass: "btn btn-primary", on: { click: _vm.saveSettings } }, + [_vm._v(_vm._s(_vm.$t("settings.save")))] + ) + ]) + ], + 1 + ) +}; +var __vue_staticRenderFns__$u = []; +__vue_render__$u._withStripped = true; + + /* style */ + const __vue_inject_styles__$u = function (inject) { + if (!inject) return + inject("data-v-0623362a_0", { source: "#logged_in_info[data-v-0623362a] {\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: space-evenly;\n height: 250px;\n}\n.locale-flag[data-v-0623362a] {\n justify-content: center;\n cursor: pointer;\n width: 60px;\n}\n.locale-flag[data-v-0623362a]:not(:last-child) {\n margin-right: 10px;\n}\n.locale-flag.locale-flag--current svg[data-v-0623362a] {\n filter: brightness(1);\n}\n.locale-flag[data-v-0623362a] svg {\n width: 40px !important;\n height: 40px !important;\n filter: brightness(0.5);\n}\n.settings-group[data-v-0623362a] {\n border-top-width: 1px;\n border-color: gray;\n}\n.settings-group__header[data-v-0623362a] {\n display: inline-flex;\n align-items: center;\n padding-top: 2rem;\n padding-bottom: 2rem;\n font-size: 1.5rem;\n}\n.settings-group__header i.material-icons[data-v-0623362a] {\n margin-right: 1rem;\n}\n.settings-container[data-v-0623362a] {\n display: flex;\n}\n.settings-container__half[data-v-0623362a] {\n width: 50%;\n}\n.settings-container__third[data-v-0623362a] {\n width: 33%;\n}\n.settings-container__third--only-checkbox[data-v-0623362a] {\n display: flex;\n align-items: start;\n flex-direction: column;\n justify-content: center;\n}\n.settings-container__half > *[data-v-0623362a],\n .settings-container__third > *[data-v-0623362a] {\n margin-bottom: 1rem;\n}\n.with-checkbox[data-v-0623362a] {\n display: flex;\n align-items: center;\n}\n.with-checkbox [type='checkbox'][data-v-0623362a] {\n cursor: pointer;\n}\n.with-checkbox .checkbox-text[data-v-0623362a] {\n margin-left: 10px;\n cursor: pointer;\n user-select: none;\n}\n\n/* Input group */\n.input-group .input-group-text[data-v-0623362a] {\n margin-bottom: 0.5rem;\n}\n\n/*# sourceMappingURL=Settings.vue.map */", map: {"version":3,"sources":["C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui/C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui/C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\Settings.vue","Settings.vue"],"names":[],"mappings":"AAqqBA;EACA,aAAA;EACA,mBAAA;EACA,sBAAA;EACA,6BAAA;EACA,aAAA;AAAA;AAGA;EACA,uBAAA;EACA,eAAA;EACA,WAAA;AAAA;AAHA;IAMA,kBAAA;AAAA;AANA;IAWA,qBAAA;AAAA;AAXA;IAgBA,sBAAA;IACA,uBAAA;IACA,uBAAA;AAAA;AAIA;EACA,qBAAA;EACA,kBAAA;AAAA;AAGA;EACA,oBAAA;EACA,mBAAA;EACA,iBAAA;EACA,oBAAA;EACA,iBAAA;AAAA;AALA;IAQA,kBAAA;AAAA;AAIA;EACA,aAAA;AAAA;AAEA;IACA,UAAA;AAAA;AAGA;IACA,UAAA;AAAA;AAEA;MACA,aAAA;MACA,kBAAA;MACA,sBAAA;MACA,uBAAA;AAAA;AAIA;;IAEA,mBAAA;AAAA;AAIA;EACA,aAAA;EACA,mBAAA;AAAA;AAFA;IAKA,eAAA;AAAA;AALA;IASA,iBAAA;IACA,eAAA;IACA,iBAAA;AAAA;;AAIA,gBAAA;AACA;EAEA,qBAAA;AAAA;;AChsBA,uCAAuC","file":"Settings.vue","sourcesContent":[null,"#logged_in_info {\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: space-evenly;\n height: 250px; }\n\n.locale-flag {\n justify-content: center;\n cursor: pointer;\n width: 60px; }\n .locale-flag:not(:last-child) {\n margin-right: 10px; }\n .locale-flag.locale-flag--current svg {\n filter: brightness(1); }\n .locale-flag::v-deep svg {\n width: 40px !important;\n height: 40px !important;\n filter: brightness(0.5); }\n\n.settings-group {\n border-top-width: 1px;\n border-color: gray; }\n\n.settings-group__header {\n display: inline-flex;\n align-items: center;\n padding-top: 2rem;\n padding-bottom: 2rem;\n font-size: 1.5rem; }\n .settings-group__header i.material-icons {\n margin-right: 1rem; }\n\n.settings-container {\n display: flex; }\n .settings-container__half {\n width: 50%; }\n .settings-container__third {\n width: 33%; }\n .settings-container__third--only-checkbox {\n display: flex;\n align-items: start;\n flex-direction: column;\n justify-content: center; }\n .settings-container__half > *,\n .settings-container__third > * {\n margin-bottom: 1rem; }\n\n.with-checkbox {\n display: flex;\n align-items: center; }\n .with-checkbox [type='checkbox'] {\n cursor: pointer; }\n .with-checkbox .checkbox-text {\n margin-left: 10px;\n cursor: pointer;\n user-select: none; }\n\n/* Input group */\n.input-group .input-group-text {\n margin-bottom: 0.5rem; }\n\n/*# sourceMappingURL=Settings.vue.map */"]}, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__$u = "data-v-0623362a"; + /* module identifier */ + const __vue_module_identifier__$h = undefined; + /* functional template */ + const __vue_is_functional_template__$u = false; + /* component normalizer */ + function __vue_normalize__$u( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\Settings.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + { + let hook; + if (style) { + hook = function(context) { + style.call(this, createInjector(context)); + }; + } + + if (hook !== undefined) { + if (component.functional) { + // register for functional component in vue file + const originalRender = component.render; + component.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context) + }; + } else { + // inject component registration as beforeCreate hook + const existing = component.beforeCreate; + component.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + } + + return component + } + /* style inject */ + function __vue_create_injector__$h() { + const head = document.head || document.getElementsByTagName('head')[0]; + const styles = __vue_create_injector__$h.styles || (__vue_create_injector__$h.styles = {}); + const isOldIE = + typeof navigator !== 'undefined' && + /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + + return function addStyle(id, css) { + if (document.querySelector('style[data-vue-ssr-id~="' + id + '"]')) return // SSR styles are present. + + const group = isOldIE ? css.media || 'default' : id; + const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined }); + + if (!style.ids.includes(id)) { + let code = css.source; + let index = style.ids.length; + + style.ids.push(id); + + if (isOldIE) { + style.element = style.element || document.querySelector('style[data-group=' + group + ']'); + } + + if (!style.element) { + const el = style.element = document.createElement('style'); + el.type = 'text/css'; + + if (css.media) el.setAttribute('media', css.media); + if (isOldIE) { + el.setAttribute('data-group', group); + el.setAttribute('data-next-index', '0'); + } + + head.appendChild(el); + } + + if (isOldIE) { + index = parseInt(style.element.getAttribute('data-next-index')); + style.element.setAttribute('data-next-index', index + 1); + } + + if (style.element.styleSheet) { + style.parts.push(code); + style.element.styleSheet.cssText = style.parts + .filter(Boolean) + .join('\n'); + } else { + const textNode = document.createTextNode(code); + const nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]); + else style.element.appendChild(textNode); + } + } + } + } + /* style inject SSR */ + + + + var Settings = __vue_normalize__$u( + { render: __vue_render__$u, staticRenderFns: __vue_staticRenderFns__$u }, + __vue_inject_styles__$u, + __vue_script__$s, + __vue_scope_id__$u, + __vue_is_functional_template__$u, + __vue_module_identifier__$h, + __vue_create_injector__$h); + +// + +var script$t = { + data() { + return { + title: '', + metadata: '', + release_date: '', + label: '', + explicit: false, + image: '', + type: 'empty', + link: '', + body: [] + } + }, + mounted() { + socket.on('show_album', this.showAlbum); + socket.on('show_playlist', this.showPlaylist); + socket.on('show_spotifyplaylist', this.showSpotifyPlaylist); + }, + methods: { + playPausePreview, + reset() { + this.title = 'Loading...'; + this.image = ''; + this.metadata = ''; + this.label = ''; + this.release_date = ''; + this.explicit = false; + this.type = 'empty'; + this.body = []; + }, + addToQueue(e) { + sendAddToQueue(e.currentTarget.dataset.link); + }, + toggleAll(e) { + this.body.forEach(item => { + if (item.type == 'track') { + item.selected = e.currentTarget.checked; + } + }); + }, + selectedLinks() { + var selected = []; + if (this.body) { + this.body.forEach(item => { + if (item.type == 'track' && item.selected) + selected.push(this.type == 'spotifyPlaylist' ? item.uri : item.link); + }); + } + return selected.join(';') + }, + convertDuration: Utils.convertDuration, + showAlbum(data) { + this.reset(); + + const { + id: albumID, + title: albumTitle, + explicit_lyrics, + label: albumLabel, + artist: { name: artistName }, + tracks: albumTracks, + tracks: { length: numberOfTracks }, + release_date, + cover_xl + } = data; + + this.type = 'album'; + this.link = `https://www.deezer.com/album/${albumID}`; + this.title = albumTitle; + this.explicit = explicit_lyrics; + this.label = albumLabel; + this.metadata = `${artistName} • ${this.$tc('globals.listTabs.trackN', numberOfTracks)}`; + this.release_date = release_date.substring(0, 10); + this.image = cover_xl; + + if (isEmpty(albumTracks)) { + this.body = null; + } else { + this.body = albumTracks; + } + }, + showPlaylist(data) { + this.reset(); + + const { + id: playlistID, + title: playlistTitle, + picture_xl: playlistCover, + creation_date, + creator: { name: creatorName }, + tracks: playlistTracks, + tracks: { length: numberOfTracks } + } = data; + + this.type = 'playlist'; + this.link = `https://www.deezer.com/playlist/${playlistID}`; + this.title = playlistTitle; + this.image = playlistCover; + this.release_date = creation_date.substring(0, 10); + this.metadata = `${this.$t('globals.by', { artist: creatorName })} • ${this.$tc( + 'globals.listTabs.trackN', + numberOfTracks + )}`; + + if (isEmpty(playlistTracks)) { + this.body = null; + } else { + this.body = playlistTracks; + } + }, + showSpotifyPlaylist(data) { + this.reset(); + + const { + uri: playlistURI, + name: playlistName, + images, + images: { length: numberOfImages }, + owner: { display_name: ownerName }, + tracks: playlistTracks, + tracks: { length: numberOfTracks } + } = data; + + this.type = 'spotifyPlaylist'; + this.link = playlistURI; + this.title = playlistName; + this.image = numberOfImages + ? images[0].url + : 'https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg'; + this.release_date = ''; + this.metadata = `${this.$t('globals.by', { artist: ownerName })} • ${this.$tc( + 'globals.listTabs.trackN', + numberOfTracks + )}`; + + if (isEmpty(playlistTracks)) { + this.body = null; + } else { + this.body = playlistTracks; + } + }, + selectRow(index, track) { + track.selected = !track.selected; + } + } +}; + +/* script */ + const __vue_script__$t = script$t; + +/* template */ +var __vue_render__$v = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c( + "div", + { + ref: "root", + staticClass: "relative fixed-footer bg-background-main image-header" + }, + [ + _c( + "header", + { + style: { + "background-image": + "linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('" + + _vm.image + + "')" + } + }, + [ + _c("h1", { staticClass: "flex items-center m-0 text-5xl" }, [ + _vm._v("\n\t\t\t" + _vm._s(_vm.title) + " "), + _vm.explicit + ? _c( + "i", + { + staticClass: "material-icons title-icon title-icon--right" + }, + [_vm._v("explicit")] + ) + : _vm._e() + ]), + _vm._v(" "), + _c("h2", { staticClass: "m-0 mb-3 text-lg" }, [ + _vm.metadata ? _c("p", [_vm._v(_vm._s(_vm.metadata))]) : _vm._e(), + _vm._v(" "), + _vm.release_date + ? _c("p", [_vm._v(_vm._s(_vm.release_date))]) + : _vm._e() + ]) + ] + ), + _vm._v(" "), + _c("table", { staticClass: "table table--tracklist" }, [ + _c("thead", [ + _c("tr", [ + _vm._m(0), + _vm._v(" "), + _c("th", [_vm._v("#")]), + _vm._v(" "), + _c("th", [_vm._v(_vm._s(_vm.$tc("globals.listTabs.title", 1)))]), + _vm._v(" "), + _c("th", [_vm._v(_vm._s(_vm.$tc("globals.listTabs.artist", 1)))]), + _vm._v(" "), + _vm.type === "playlist" + ? _c("th", [_vm._v(_vm._s(_vm.$tc("globals.listTabs.album", 1)))]) + : _vm._e(), + _vm._v(" "), + _vm._m(1), + _vm._v(" "), + _c( + "th", + { staticClass: "table__icon table__cell--center clickable" }, + [ + _c("input", { + staticClass: "selectAll", + attrs: { type: "checkbox" }, + on: { click: _vm.toggleAll } + }) + ] + ) + ]) + ]), + _vm._v(" "), + _c( + "tbody", + [ + _vm.type !== "spotifyPlaylist" + ? [ + _vm._l(_vm.body, function(track, index) { + return [ + track.type == "track" + ? _c( + "tr", + { + on: { + click: function($event) { + return _vm.selectRow(index, track) + } + } + }, + [ + _c( + "td", + { + staticClass: + "table__cell--x-small table__cell--center" + }, + [ + _c( + "div", + { + staticClass: + "table__cell-content table__cell-content--vertical-center" + }, + [ + _c( + "i", + _vm._g( + { + staticClass: "material-icons", + class: { + preview_playlist_controls: + track.preview, + "cursor-pointer": track.preview, + disabled: !track.preview + }, + attrs: { + "data-preview": track.preview, + title: _vm.$t("globals.play_hint") + } + }, + { + click: track.preview + ? _vm.playPausePreview + : false + } + ), + [ + _vm._v( + "\n\t\t\t\t\t\t\t\t\tplay_arrow\n\t\t\t\t\t\t\t\t" + ) + ] + ) + ] + ) + ] + ), + _vm._v(" "), + _c( + "td", + { + staticClass: + "table__cell--small table__cell--center track_position" + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s( + _vm.type === "album" + ? track.track_position + : _vm.body.indexOf(track) + 1 + ) + + "\n\t\t\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c( + "td", + { + staticClass: + "table__cell--large table__cell--with-icon" + }, + [ + _c( + "div", + { + staticClass: + "table__cell-content table__cell-content--vertical-center" + }, + [ + track.explicit_lyrics + ? _c( + "i", + { + staticClass: + "material-icons title-icon" + }, + [_vm._v(" explicit ")] + ) + : _vm._e(), + _vm._v( + "\n\t\t\t\t\t\t\t\t" + + _vm._s( + track.title + + (track.title_version && + track.title.indexOf( + track.title_version + ) == -1 + ? " " + track.title_version + : "") + ) + + "\n\t\t\t\t\t\t\t" + ) + ] + ) + ] + ), + _vm._v(" "), + _c( + "router-link", + { + staticClass: + "table__cell--medium table__cell--center clickable", + attrs: { + tag: "td", + to: { + name: "Artist", + params: { id: track.artist.id } + } + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(track.artist.name) + + "\n\t\t\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _vm.type === "playlist" + ? _c( + "router-link", + { + staticClass: + "table__cell--medium table__cell--center clickable", + attrs: { + tag: "td", + to: { + name: "Album", + params: { id: track.album.id } + } + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(track.album.title) + + "\n\t\t\t\t\t\t" + ) + ] + ) + : _vm._e(), + _vm._v(" "), + _c( + "td", + { + staticClass: "table__cell--center", + class: { + "table__cell--small": _vm.type === "album", + "table__cell--x-small": + _vm.type === "playlist" + } + }, + [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s( + _vm.convertDuration(track.duration) + ) + + "\n\t\t\t\t\t\t" + ) + ] + ), + _vm._v(" "), + _c( + "td", + { + staticClass: "table__icon table__cell--center" + }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: track.selected, + expression: "track.selected" + } + ], + staticClass: "clickable", + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(track.selected) + ? _vm._i(track.selected, null) > -1 + : track.selected + }, + on: { + change: function($event) { + var $$a = track.selected, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set( + track, + "selected", + $$a.concat([$$v]) + ); + } else { + $$i > -1 && + _vm.$set( + track, + "selected", + $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(track, "selected", $$c); + } + } + } + }) + ] + ) + ], + 1 + ) + : track.type == "disc_separator" + ? _c( + "tr", + { + staticClass: "table__row-no-highlight", + staticStyle: { opacity: "0.54" } + }, + [ + _vm._m(2, true), + _vm._v(" "), + _c("td", { staticClass: "table__cell--center" }, [ + _vm._v( + "\n\t\t\t\t\t\t\t" + + _vm._s(track.number) + + "\n\t\t\t\t\t\t" + ) + ]), + _vm._v(" "), + _c("td", { attrs: { colspan: "4" } }) + ] + ) + : _vm._e() + ] + }) + ] + : _vm._l(_vm.body, function(track, i) { + return _c("tr", [ + _c("td", [ + track.preview_url + ? _c( + "i", + { + staticClass: "material-icons", + class: { + preview_playlist_controls: track.preview_url, + "cursor-pointer": track.preview_url + }, + attrs: { + "data-preview": track.preview_url, + title: _vm.$t("globals.play_hint") + }, + on: { click: _vm.playPausePreview } + }, + [_vm._v("\n\t\t\t\t\t\t\tplay_arrow\n\t\t\t\t\t\t")] + ) + : _c("i", { staticClass: "material-icons disabled" }, [ + _vm._v("play_arrow") + ]) + ]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(i + 1))]), + _vm._v(" "), + _c("td", { staticClass: "flex items-center" }, [ + track.explicit + ? _c( + "i", + { staticClass: "material-icons title-icon" }, + [_vm._v("explicit")] + ) + : _vm._e(), + _vm._v( + "\n\t\t\t\t\t\t" + _vm._s(track.name) + "\n\t\t\t\t\t" + ) + ]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(track.artists[0].name))]), + _vm._v(" "), + _c("td", [_vm._v(_vm._s(track.album.name))]), + _vm._v(" "), + _c("td", [ + _vm._v( + _vm._s( + _vm.convertDuration( + Math.floor(track.duration_ms / 1000) + ) + ) + ) + ]), + _vm._v(" "), + _c("td", [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: track.selected, + expression: "track.selected" + } + ], + staticClass: "clickable", + attrs: { type: "checkbox" }, + domProps: { + checked: Array.isArray(track.selected) + ? _vm._i(track.selected, null) > -1 + : track.selected + }, + on: { + change: function($event) { + var $$a = track.selected, + $$el = $event.target, + $$c = $$el.checked ? true : false; + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v); + if ($$el.checked) { + $$i < 0 && + _vm.$set(track, "selected", $$a.concat([$$v])); + } else { + $$i > -1 && + _vm.$set( + track, + "selected", + $$a.slice(0, $$i).concat($$a.slice($$i + 1)) + ); + } + } else { + _vm.$set(track, "selected", $$c); + } + } + } + }) + ]) + ]) + }) + ], + 2 + ) + ]), + _vm._v(" "), + _vm.label + ? _c( + "span", + { + staticStyle: { + opacity: "0.4", + "margin-top": "8px", + display: "inline-block", + "font-size": "13px" + } + }, + [_vm._v(_vm._s(_vm.label))] + ) + : _vm._e(), + _vm._v(" "), + _c("footer", { staticClass: "bg-background-main" }, [ + _c( + "button", + { + staticClass: "mr-2 btn btn-primary", + attrs: { "data-link": _vm.link }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }, + [ + _vm._v( + "\n\t\t\t" + + _vm._s( + "" + + _vm.$t("globals.download", { + thing: _vm.$tc("globals.listTabs." + _vm.type, 1) + }) + ) + + "\n\t\t" + ) + ] + ), + _vm._v(" "), + _c( + "button", + { + staticClass: "flex items-center btn btn-primary", + attrs: { "data-link": _vm.selectedLinks() }, + on: { + click: function($event) { + $event.stopPropagation(); + return _vm.addToQueue($event) + } + } + }, + [ + _vm._v("\n\t\t\t" + _vm._s(_vm.$t("tracklist.downloadSelection"))), + _c("i", { staticClass: "ml-2 material-icons" }, [ + _vm._v("file_download") + ]) + ] + ) + ]) + ] + ) +}; +var __vue_staticRenderFns__$v = [ + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("th", [ + _c("i", { staticClass: "material-icons" }, [_vm._v("music_note")]) + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("th", [ + _c("i", { staticClass: "material-icons" }, [_vm._v("timer")]) + ]) + }, + function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("td", [ + _c( + "div", + { + staticClass: + "table__cell-content table__cell-content--vertical-center", + staticStyle: { opacity: "0.54" } + }, + [_c("i", { staticClass: "material-icons" }, [_vm._v("album")])] + ) + ]) + } +]; +__vue_render__$v._withStripped = true; + + /* style */ + const __vue_inject_styles__$v = undefined; + /* scoped */ + const __vue_scope_id__$v = undefined; + /* functional template */ + const __vue_is_functional_template__$v = false; + /* component normalizer */ + function __vue_normalize__$v( + template, style, script, + scope, functional, moduleIdentifier, + createInjector, createInjectorSSR + ) { + const component = (typeof script === 'function' ? script.options : script) || {}; + + // For security concerns, we use only base name in production mode. + component.__file = "C:\\Users\\Roberto\\Dev\\repos\\deemix-pyweb-gitrip\\webui\\src\\components\\pages\\Tracklist.vue"; + + if (!component.render) { + component.render = template.render; + component.staticRenderFns = template.staticRenderFns; + component._compiled = true; + + if (functional) component.functional = true; + } + + component._scopeId = scope; + + return component + } + /* style inject */ + + /* style inject SSR */ + + + + var Tracklist = __vue_normalize__$v( + { render: __vue_render__$v, staticRenderFns: __vue_staticRenderFns__$v }, + __vue_inject_styles__$v, + __vue_script__$t, + __vue_scope_id__$v, + __vue_is_functional_template__$v); + +Vue.use(VueRouter); + +const routes = [ + { + path: window.location.pathname, + name: 'Home', + component: Home, + meta: { + notKeepAlive: true + } + }, + { + path: '/tracklist/:type/:id', + name: 'Tracklist', + component: Tracklist + }, + { + path: '/artist/:id', + name: 'Artist', + component: Artist, + meta: { + notKeepAlive: true + } + }, + { + path: '/album/:id', + name: 'Album', + component: Tracklist + }, + { + path: '/playlist/:id', + name: 'Playlist', + component: Tracklist + }, + { + path: '/spotify-playlist/:id', + name: 'Spotify Playlist', + component: Tracklist + }, + { + path: '/charts', + name: 'Charts', + component: Charts, + meta: { + notKeepAlive: true + } + }, + { + path: '/favorites', + name: 'Favorites', + component: Favorites, + meta: { + notKeepAlive: true + } + }, + { + path: '/errors', + name: 'Errors', + component: Errors + }, + { + path: '/link-analyzer', + name: 'Link Analyzer', + component: LinkAnalyzer + }, + /*{ + path: '/about', + name: 'About', + component: About + },*/ + { + path: '/info-arl', + name: 'ARL', + component: InfoArl + }, + { + path: '/info-spotify', + name: 'Spotify Features', + component: InfoSpotifyFeatures + }, + { + path: '/settings', + name: 'Settings', + component: Settings + }, + { + path: '/search', + name: 'Search', + component: Search, + meta: { + notKeepAlive: true + } + }, + // 404 client side + { + path: '*', + component: Home + } +]; + +const router = new VueRouter({ + mode: 'history', + routes, + scrollBehavior(to, from, savedPosition) { + return { x: 0, y: 0 } + } +}); + +router.beforeEach((to, from, next) => { + let getTracklistParams = null; + + switch (to.name) { + case 'Tracklist': + getTracklistParams = { + type: to.params.type, + id: to.params.id + }; + break + case 'Album': + getTracklistParams = { + type: 'album', + id: to.params.id + }; + break + case 'Playlist': + getTracklistParams = { + type: 'playlist', + id: to.params.id + }; + break + case 'Spotify Playlist': + getTracklistParams = { + type: 'spotifyplaylist', + id: to.params.id + }; + break + } + + if (getTracklistParams) { + socket.emit('getTracklist', getTracklistParams); + fetchData('getTracklist', getTracklistParams); + } + + next(); +}); + +/* ===== App initialization ===== */ +async function startApp() { + new Vue({ + store, + router, + i18n, + render: h => h(App) + }).$mount('#app'); + + const connectResponse = await (await fetch('connect')).json(); + + store.dispatch('setAppInfo', connectResponse.update); + + if (connectResponse.autologin) { + console.info('Autologin'); + let arl = localStorage.getItem('arl'); + const accountNum = localStorage.getItem('accountNum'); + + if (arl) { + arl = arl.trim(); + let result; + + if (accountNum !== 0) { + result = await fetchData('login', { arl, force: true, child: accountNum || 0 }); + } else { + result = await fetchData('login', { arl }); + } + + loggedIn(result); + } + } +} + +function initClient() { + store.dispatch('setClientMode', true); + setClientModeKeyBindings(); +} + +document.addEventListener('DOMContentLoaded', startApp); +window.addEventListener('pywebviewready', initClient); + +/* ===== Global shortcuts ===== */ + +document.addEventListener('paste', pasteEvent => { + if (pasteEvent.target.localName === 'input') return + + let pastedText = pasteEvent.clipboardData.getData('Text'); + + if (isValidURL(pastedText)) { + if (router.currentRoute.name === 'Link Analyzer') { + socket.emit('analyzeLink', pastedText); + } else { + if (pastedText.indexOf('\n') != -1) pastedText = pastedText.replace(/\n/g, ';'); + sendAddToQueue(pastedText); + } + } else { + let searchbar = document.querySelector('#searchbar'); + searchbar.select(); + searchbar.setSelectionRange(0, 99999); + } +}); + +/** + * Sets up key bindings that already work in the browser (server mode) + */ +function setClientModeKeyBindings() { + document.addEventListener('keyup', keyEvent => { + // ALT + left + if (keyEvent.altKey && keyEvent.key === 'ArrowLeft') { + router.back(); + } + + // ALT + right + if (keyEvent.altKey && keyEvent.key === 'ArrowRight') { + router.forward(); + } + }); +} + +/* ===== Socketio listeners ===== */ + +// Debug messages for socketio +socket.on('message', function (msg) { + console.log(msg); +}); + +function loggedIn(data) { + const { status, user } = data; + + switch (status) { + case 1: + case 3: + // Login ok + toast(i18n.t('toasts.loggedIn'), 'done', true, 'login-toast'); + + store.dispatch('login', data); + break + case 2: + // Already logged in + toast(i18n.t('toasts.alreadyLogged'), 'done', true, 'login-toast'); + + store.dispatch('setUser', user); + break + case 0: + // Login failed + toast(i18n.t('toasts.loginFailed'), 'close', true, 'login-toast'); + + store.dispatch('removeARL'); + break + case -1: + toast(i18n.t('toasts.deezerNotAvailable'), 'close', true, 'login-toast'); + return + // TODO + // $('#open_login_prompt').show() + // document.getElementById('logged_in_info').classList.add('hide') + // $('#settings_username').text('Not Logged') + // $('#settings_picture').attr('src', `https://e-cdns-images.dzcdn.net/images/user/125x125-000000-80-0-0.jpg`) + // document.getElementById('home_not_logged_in').classList.remove('hide') + } +} + +/* +socket.on('logging_in', function() { + toast(i18n.t('toasts.loggingIn'), 'loading', false, 'login-toast') +}) + +socket.on('logged_in', function(data) { + +}) + +socket.on('logged_out', function() { + toast(i18n.t('toasts.loggedOut'), 'done', true, 'login-toast') + + store.dispatch('logout') +}) +*/ + +socket.on('restoringQueue', function () { + toast(i18n.t('toasts.restoringQueue'), 'loading', false, 'restoring_queue'); +}); + +socket.on('cancellingCurrentItem', function (uuid) { + toast(i18n.t('toasts.cancellingCurrentItem'), 'loading', false, 'cancelling_' + uuid); +}); + +socket.on('currentItemCancelled', function (uuid) { + toast(i18n.t('toasts.currentItemCancelled'), 'done', true, 'cancelling_' + uuid); +}); + +socket.on('startAddingArtist', function (data) { + toast(i18n.t('toasts.startAddingArtist', { artist: data.name }), 'loading', false, 'artist_' + data.id); +}); + +socket.on('finishAddingArtist', function (data) { + toast(i18n.t('toasts.finishAddingArtist', { artist: data.name }), 'done', true, 'artist_' + data.id); +}); + +socket.on('startConvertingSpotifyPlaylist', function (id) { + toast(i18n.t('toasts.startConvertingSpotifyPlaylist'), 'loading', false, 'spotifyplaylist_' + id); +}); + +socket.on('finishConvertingSpotifyPlaylist', function (id) { + toast(i18n.t('toasts.finishConvertingSpotifyPlaylist'), 'done', true, 'spotifyplaylist_' + id); +}); + +socket.on('errorMessage', function (error) { + toast(error, 'error'); +}); + +socket.on('queueError', function (queueItem) { + if (queueItem.errid) { + toast(queueItem.link + ' - ' + i18n.t(`errors.ids.${queueItem.errid}`), 'error'); + } else { + toast(queueItem.link + ' - ' + queueItem.error, 'error'); + } +}); + +socket.on('alreadyInQueue', function (data) { + toast(i18n.t('toasts.alreadyInQueue', { item: data.title }), 'playlist_add_check'); +}); + +socket.on('loginNeededToDownload', function (data) { + toast(i18n.t('toasts.loginNeededToDownload'), 'report'); +}); + +socket.on('startGeneratingItems', function (data) { + toast(i18n.t('toasts.startGeneratingItems', { n: data.total }), 'loading', false, 'batch_' + data.uuid); +}); + +socket.on('finishGeneratingItems', function (data) { + toast(i18n.t('toasts.finishGeneratingItems', { n: data.total }), 'done', true, 'batch_' + data.uuid); +}); +//# sourceMappingURL=bundle.js.map diff --git a/src/components/pages/Charts.vue b/src/components/pages/Charts.vue index fd94db5..501be80 100644 --- a/src/components/pages/Charts.vue +++ b/src/components/pages/Charts.vue @@ -6,38 +6,38 @@
- +
- - {{ track.artist.name }} {{ track.album.title }} @@ -64,15 +64,15 @@ {{ convertDuration(track.duration) }}
+ {{ track.position }} - + @@ -47,16 +47,16 @@ }} get_app @@ -85,14 +85,14 @@ diff --git a/src/data/charts.js b/src/data/charts.js index adbaf86..62ff84b 100644 --- a/src/data/charts.js +++ b/src/data/charts.js @@ -1,24 +1,9 @@ -import { socket } from '@/utils/socket' import { fetchData } from '@/utils/api' -let chartsData = {} -let cached = false - export function getChartsData() { - if (cached) { - return chartsData - } else { - socket.emit('get_charts_data') - fetchData('getCharts') - - return new Promise((resolve, reject) => { - socket.on('init_charts', data => { - chartsData = data - cached = true - - socket.off('init_charts') - resolve(data) - }) - }) - } + return fetchData('getCharts') +} + +export function getChartTracks(chartId) { + return fetchData('getChartTracks', { id: chartId }) } From b2b85fb84ede8f2ea2d7868941bba54facca52f6 Mon Sep 17 00:00:00 2001 From: Roberto Tonino Date: Fri, 12 Mar 2021 20:12:46 +0100 Subject: [PATCH 11/17] fix: favorites fetching --- public/js/bundle.js | 46 +++++++++++--------------------------------- src/use/favorites.js | 42 ++++++++-------------------------------- src/utils/api.js | 4 +++- 3 files changed, 22 insertions(+), 70 deletions(-) diff --git a/public/js/bundle.js b/public/js/bundle.js index 1a75799..10cb28a 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -12240,7 +12240,9 @@ function fetchData(key, data = {}) { url.searchParams.append(key, data[key]); }); - return fetch(url.href).then(response => response.json()) + return fetch(url.href) + .then(response => response.json()) + .catch(() => {}) } function sendToServer(key, data) { @@ -36285,14 +36287,17 @@ async function refreshFavorites({ isInitial = false }) { isRefreshingFavorites.value = true; } - const favorites = await fetchData('getFavorites'); + const favorites = await fetchData('getUserFavorites'); setAllFavorites(favorites); if (store.getters.isLoggedWithSpotify) { // TODO - const res = await fetchData('getUserSpotifyPlaylists', { spotifyUser: store.getters.getSpotifyUser.id }); - // socket.emit('update_userSpotifyPlaylists', store.getters.getSpotifyUser.id) + const spotifyPlaylists = await fetchData('getUserSpotifyPlaylists', { + spotifyUser: store.getters.getSpotifyUser.id + }); + console.log({ spotifyPlaylists }); + favoriteSpotifyPlaylists.value = spotifyPlaylists; } } @@ -36311,43 +36316,14 @@ function useFavorites() { function setAllFavorites(data) { const { tracks, albums, artists, playlists } = data; + isRefreshingFavorites.value = false; + favoriteArtists.value = artists; favoriteAlbums.value = albums; favoritePlaylists.value = playlists; favoriteTracks.value = tracks; } -socket.on('updated_userFavorites', data => { - setAllFavorites(data); - // Commented out because the corresponding emit function is never called at the moment - // therefore isRefreshingFavorites is never set to true - // isRefreshingFavorites.value = false -}); - -socket.on('init_favorites', data => { - setAllFavorites(data); - isRefreshingFavorites.value = false; -}); - -socket.on('updated_userSpotifyPlaylists', data => { - favoriteSpotifyPlaylists.value = data; -}); -socket.on('updated_userSpotifyPlaylists', data => { - favoriteSpotifyPlaylists.value = data; -}); -socket.on('updated_userPlaylists', data => { - favoritePlaylists.value = data; -}); -socket.on('updated_userAlbums', data => { - favoriteAlbums.value = data; -}); -socket.on('updated_userArtist', data => { - favoriteArtists.value = data; -}); -socket.on('updated_userTracks', data => { - favoriteTracks.value = data; -}); - // var script$g = defineComponent({ diff --git a/src/use/favorites.js b/src/use/favorites.js index e06ef50..5cecd0b 100644 --- a/src/use/favorites.js +++ b/src/use/favorites.js @@ -21,14 +21,17 @@ async function refreshFavorites({ isInitial = false }) { isRefreshingFavorites.value = true } - const favorites = await fetchData('getFavorites') + const favorites = await fetchData('getUserFavorites') setAllFavorites(favorites) if (store.getters.isLoggedWithSpotify) { // TODO - const res = await fetchData('getUserSpotifyPlaylists', { spotifyUser: store.getters.getSpotifyUser.id }) - // socket.emit('update_userSpotifyPlaylists', store.getters.getSpotifyUser.id) + const spotifyPlaylists = await fetchData('getUserSpotifyPlaylists', { + spotifyUser: store.getters.getSpotifyUser.id + }) + console.log({ spotifyPlaylists }) + favoriteSpotifyPlaylists.value = spotifyPlaylists } } @@ -47,39 +50,10 @@ export function useFavorites() { function setAllFavorites(data) { const { tracks, albums, artists, playlists } = data + isRefreshingFavorites.value = false + favoriteArtists.value = artists favoriteAlbums.value = albums favoritePlaylists.value = playlists favoriteTracks.value = tracks } - -socket.on('updated_userFavorites', data => { - setAllFavorites(data) - // Commented out because the corresponding emit function is never called at the moment - // therefore isRefreshingFavorites is never set to true - // isRefreshingFavorites.value = false -}) - -socket.on('init_favorites', data => { - setAllFavorites(data) - isRefreshingFavorites.value = false -}) - -socket.on('updated_userSpotifyPlaylists', data => { - favoriteSpotifyPlaylists.value = data -}) -socket.on('updated_userSpotifyPlaylists', data => { - favoriteSpotifyPlaylists.value = data -}) -socket.on('updated_userPlaylists', data => { - favoritePlaylists.value = data -}) -socket.on('updated_userAlbums', data => { - favoriteAlbums.value = data -}) -socket.on('updated_userArtist', data => { - favoriteArtists.value = data -}) -socket.on('updated_userTracks', data => { - favoriteTracks.value = data -}) diff --git a/src/utils/api.js b/src/utils/api.js index 7b8c4b5..1738cf3 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -5,7 +5,9 @@ export function fetchData(key, data = {}) { url.searchParams.append(key, data[key]) }) - return fetch(url.href).then(response => response.json()) + return fetch(url.href) + .then(response => response.json()) + .catch(() => {}) } export function sendToServer(key, data) { From 1743878a14631427a5ecd7be20a1db03c690e945 Mon Sep 17 00:00:00 2001 From: Roberto Tonino Date: Fri, 12 Mar 2021 20:26:45 +0100 Subject: [PATCH 12/17] feat: setup tracklist with rest api --- public/js/bundle.js | 75 +++++++++++++++--------------- src/components/pages/Tracklist.vue | 46 +++++++++--------- src/data/artist.js | 11 +---- src/router.js | 45 ++++++++++-------- src/use/favorites.js | 1 - 5 files changed, 88 insertions(+), 90 deletions(-) diff --git a/public/js/bundle.js b/public/js/bundle.js index 10cb28a..61f8ab4 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -34602,16 +34602,9 @@ function formatArtistReleases(artistReleases) { } function getArtistData(artistID) { - socket.emit('getTracklist', { + return fetchData('getTracklist', { type: 'artist', id: artistID - }); - - return new Promise((resolve, reject) => { - socket.on('show_artist', data => { - socket.off('show_artist'); - resolve(data); - }); }) } @@ -36296,7 +36289,6 @@ async function refreshFavorites({ isInitial = false }) { const spotifyPlaylists = await fetchData('getUserSpotifyPlaylists', { spotifyUser: store.getters.getSpotifyUser.id }); - console.log({ spotifyPlaylists }); favoriteSpotifyPlaylists.value = spotifyPlaylists; } } @@ -45530,9 +45522,9 @@ var script$t = { } }, mounted() { - socket.on('show_album', this.showAlbum); - socket.on('show_playlist', this.showPlaylist); - socket.on('show_spotifyplaylist', this.showSpotifyPlaylist); + EventBus.$on('showAlbum', this.showAlbum); + EventBus.$on('showPlaylist', this.showPlaylist); + EventBus.$on('showSpotifyPlaylist', this.showSpotifyPlaylist); }, methods: { playPausePreview, @@ -45551,17 +45543,17 @@ var script$t = { }, toggleAll(e) { this.body.forEach(item => { - if (item.type == 'track') { + if (item.type === 'track') { item.selected = e.currentTarget.checked; } }); }, selectedLinks() { - var selected = []; + const selected = []; if (this.body) { this.body.forEach(item => { - if (item.type == 'track' && item.selected) - selected.push(this.type == 'spotifyPlaylist' ? item.uri : item.link); + if (item.type === 'track' && item.selected) + selected.push(this.type === 'spotifyPlaylist' ? item.uri : item.link); }); } return selected.join(';') @@ -45875,11 +45867,11 @@ var __vue_render__$v = function() { staticClass: "table__cell--medium table__cell--center clickable", attrs: { - tag: "td", to: { name: "Artist", params: { id: track.artist.id } - } + }, + tag: "td" } }, [ @@ -45898,11 +45890,11 @@ var __vue_render__$v = function() { staticClass: "table__cell--medium table__cell--center clickable", attrs: { - tag: "td", to: { name: "Album", params: { id: track.album.id } - } + }, + tag: "td" } }, [ @@ -46375,38 +46367,45 @@ const router = new VueRouter({ }); router.beforeEach((to, from, next) => { - let getTracklistParams = null; - switch (to.name) { - case 'Tracklist': - getTracklistParams = { - type: to.params.type, - id: to.params.id - }; + case 'Tracklist': { + // const getTracklistParams = { + // type: to.params.type, + // id: to.params.id + // } + console.warn('This should never happen.'); break - case 'Album': - getTracklistParams = { + } + case 'Album': { + const getTracklistParams = { type: 'album', id: to.params.id }; + fetchData('getTracklist', getTracklistParams).then(albumData => { + EventBus.$emit('showAlbum', albumData); + }); break - case 'Playlist': - getTracklistParams = { + } + case 'Playlist': { + const getTracklistParams = { type: 'playlist', id: to.params.id }; + fetchData('getTracklist', getTracklistParams).then(playlistData => { + EventBus.$emit('showPlaylist', playlistData); + }); break - case 'Spotify Playlist': - getTracklistParams = { + } + case 'Spotify Playlist': { + const getTracklistParams = { type: 'spotifyplaylist', id: to.params.id }; + fetchData('getTracklist', getTracklistParams).then(spotifyPlaylistData => { + EventBus.$emit('showSpotifyPlaylist', spotifyPlaylistData); + }); break - } - - if (getTracklistParams) { - socket.emit('getTracklist', getTracklistParams); - fetchData('getTracklist', getTracklistParams); + } } next(); diff --git a/src/components/pages/Tracklist.vue b/src/components/pages/Tracklist.vue index 4fab29f..9734a85 100644 --- a/src/components/pages/Tracklist.vue +++ b/src/components/pages/Tracklist.vue @@ -1,5 +1,5 @@
{{ label }}
- -
@@ -156,6 +156,7 @@ import { socket } from '@/utils/socket' import { sendAddToQueue } from '@/utils/downloads' import Utils from '@/utils/utils' import { playPausePreview } from '@components/globals/TheTrackPreview.vue' +import EventBus from '@/utils/EventBus' export default { data() { @@ -172,9 +173,9 @@ export default { } }, mounted() { - socket.on('show_album', this.showAlbum) - socket.on('show_playlist', this.showPlaylist) - socket.on('show_spotifyplaylist', this.showSpotifyPlaylist) + EventBus.$on('showAlbum', this.showAlbum) + EventBus.$on('showPlaylist', this.showPlaylist) + EventBus.$on('showSpotifyPlaylist', this.showSpotifyPlaylist) }, methods: { playPausePreview, @@ -193,17 +194,17 @@ export default { }, toggleAll(e) { this.body.forEach(item => { - if (item.type == 'track') { + if (item.type === 'track') { item.selected = e.currentTarget.checked } }) }, selectedLinks() { - var selected = [] + const selected = [] if (this.body) { this.body.forEach(item => { - if (item.type == 'track' && item.selected) - selected.push(this.type == 'spotifyPlaylist' ? item.uri : item.link) + if (item.type === 'track' && item.selected) + selected.push(this.type === 'spotifyPlaylist' ? item.uri : item.link) }) } return selected.join(';') @@ -305,4 +306,3 @@ export default { } } - diff --git a/src/data/artist.js b/src/data/artist.js index a4a17cd..060bd01 100644 --- a/src/data/artist.js +++ b/src/data/artist.js @@ -1,5 +1,5 @@ -import { socket } from '@/utils/socket' import { getPropertyWithFallback } from '@/utils/utils' +import { fetchData } from '@/utils/api' export function formatArtistData(artistData) { return { @@ -36,15 +36,8 @@ function formatArtistReleases(artistReleases) { } export function getArtistData(artistID) { - socket.emit('getTracklist', { + return fetchData('getTracklist', { type: 'artist', id: artistID }) - - return new Promise((resolve, reject) => { - socket.on('show_artist', data => { - socket.off('show_artist') - resolve(data) - }) - }) } diff --git a/src/router.js b/src/router.js index 848a1bf..1dfe3c0 100644 --- a/src/router.js +++ b/src/router.js @@ -1,6 +1,5 @@ import Vue from 'vue' import VueRouter from 'vue-router' -import { socket } from '@/utils/socket' // Pages //import About from '@components/pages/About.vue' @@ -16,6 +15,7 @@ import Search from '@components/pages/Search.vue' import Settings from '@components/pages/Settings.vue' import Tracklist from '@components/pages/Tracklist.vue' import { fetchData } from '@/utils/api' +import EventBus from '@/utils/EventBus' Vue.use(VueRouter) @@ -126,43 +126,50 @@ const router = new VueRouter({ }) router.beforeEach((to, from, next) => { - let getTracklistParams = null - switch (to.name) { - case 'Tracklist': - getTracklistParams = { - type: to.params.type, - id: to.params.id - } + case 'Tracklist': { + // const getTracklistParams = { + // type: to.params.type, + // id: to.params.id + // } + console.warn('This should never happen.') break - case 'Album': - getTracklistParams = { + } + case 'Album': { + const getTracklistParams = { type: 'album', id: to.params.id } + fetchData('getTracklist', getTracklistParams).then(albumData => { + EventBus.$emit('showAlbum', albumData) + }) break - case 'Playlist': - getTracklistParams = { + } + case 'Playlist': { + const getTracklistParams = { type: 'playlist', id: to.params.id } + fetchData('getTracklist', getTracklistParams).then(playlistData => { + EventBus.$emit('showPlaylist', playlistData) + }) break - case 'Spotify Playlist': - getTracklistParams = { + } + case 'Spotify Playlist': { + const getTracklistParams = { type: 'spotifyplaylist', id: to.params.id } + fetchData('getTracklist', getTracklistParams).then(spotifyPlaylistData => { + EventBus.$emit('showSpotifyPlaylist', spotifyPlaylistData) + }) break + } default: break } - if (getTracklistParams) { - socket.emit('getTracklist', getTracklistParams) - fetchData('getTracklist', getTracklistParams) - } - next() }) diff --git a/src/use/favorites.js b/src/use/favorites.js index 5cecd0b..685e6f5 100644 --- a/src/use/favorites.js +++ b/src/use/favorites.js @@ -30,7 +30,6 @@ async function refreshFavorites({ isInitial = false }) { const spotifyPlaylists = await fetchData('getUserSpotifyPlaylists', { spotifyUser: store.getters.getSpotifyUser.id }) - console.log({ spotifyPlaylists }) favoriteSpotifyPlaylists.value = spotifyPlaylists } } From 5ad95b2b76ac9d5aca5ecbe53ed50dcc04ee21ed Mon Sep 17 00:00:00 2001 From: Roberto Tonino Date: Fri, 12 Mar 2021 20:28:07 +0100 Subject: [PATCH 13/17] build --- public/js/bundle.js | 50031 ++++-------------------------------------- 1 file changed, 4128 insertions(+), 45903 deletions(-) diff --git a/public/js/bundle.js b/public/js/bundle.js index 61f8ab4..be0b223 100644 --- a/public/js/bundle.js +++ b/public/js/bundle.js @@ -2,14917 +2,2521 @@ * Vue.js v2.6.12 * (c) 2014-2020 Evan You * Released under the MIT License. - */ -/* */ + */var emptyObject=Object.freeze({});function isUndef(e){return e==null}function isDef(e){return e!=null}function isTrue(e){return e===!0}function isFalse(e){return e===!1}function isPrimitive(e){return typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="boolean"}function isObject(e){return e!==null&&typeof e=="object"}var _toString=Object.prototype.toString;function toRawType(e){return _toString.call(e).slice(8,-1)}function isPlainObject(e){return _toString.call(e)==="[object Object]"}function isRegExp(e){return _toString.call(e)==="[object RegExp]"}function isValidArrayIndex(e){var a=parseFloat(String(e));return a>=0&&Math.floor(a)===a&&isFinite(e)}function isPromise(e){return isDef(e)&&typeof e.then=="function"&&typeof e.catch=="function"}function toString(e){return e==null?"":Array.isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function toNumber(e){var a=parseFloat(e);return isNaN(a)?e:a}function makeMap(e,a){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,a){return hasOwnProperty.call(e,a)}function cached(e){var a=Object.create(null);return function(r){var i=a[r];return i||(a[r]=e(r))}}var camelizeRE=/-(\w)/g,camelize=cached(function(e){return e.replace(camelizeRE,function(a,n){return n?n.toUpperCase():""})}),capitalize=cached(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(function(e){return e.replace(hyphenateRE,"-$1").toLowerCase()});function polyfillBind(e,a){function n(r){var i=arguments.length;return i?i>1?e.apply(a,arguments):e.call(a,r):e.call(a)}return n._length=e.length,n}function nativeBind(e,a){return e.bind(a)}var bind=Function.prototype.bind?nativeBind:polyfillBind;function toArray(e,a){a=a||0;for(var n=e.length-a,r=new Array(n);n--;)r[n]=e[n+a];return r}function extend(e,a){for(var n in a)e[n]=a[n];return e}function toObject(e){for(var a={},n=0;n0,isEdge=UA&&UA.indexOf("edge/")>0,isAndroid=UA&&UA.indexOf("android")>0||weexPlatform==="android",isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==="ios",isChrome=UA&&/chrome\/\d+/.test(UA)&&!isEdge,isPhantomJS=UA&&/phantomjs/.test(UA),isFF=UA&&UA.match(/firefox\/(\d+)/),nativeWatch={}.watch,supportsPassive=!1;if(inBrowser)try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener("test-passive",null,opts)}catch(e){}var _isServer,isServerRendering=function(){return _isServer===void 0&&(!inBrowser&&!inWeex&&typeof global!="undefined"?_isServer=global.process&&global.process.env.VUE_ENV==="server":_isServer=!1),_isServer},devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function isNative(e){return typeof e=="function"&&/native code/.test(e.toString())}var hasSymbol=typeof Symbol!="undefined"&&isNative(Symbol)&&typeof Reflect!="undefined"&&isNative(Reflect.ownKeys),_Set;typeof Set!="undefined"&&isNative(Set)?_Set=Set:_Set=function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(n){return this.set[n]===!0},e.prototype.add=function(n){this.set[n]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var warn=noop,uid=0,Dep=function(){this.id=uid++,this.subs=[]};Dep.prototype.addSub=function(a){this.subs.push(a)},Dep.prototype.removeSub=function(a){remove(this.subs,a)},Dep.prototype.depend=function(){Dep.target&&Dep.target.addDep(this)},Dep.prototype.notify=function(){for(var a=this.subs.slice(),n=0,r=a.length;n-1){if(s&&!hasOwn(i,"default"))l=!1;else if(l===""||l===hyphenate(e)){var o=getTypeIndex(String,i.type);(o<0||c0&&(i=normalizeArrayChildren(i,(a||"")+"_"+r),isTextNode(i[0])&&isTextNode(l)&&(n[s]=createTextVNode(l.text+i[0].text),i.shift()),n.push.apply(n,i)):isPrimitive(i)?isTextNode(l)?n[s]=createTextVNode(l.text+i):i!==""&&n.push(createTextVNode(i)):isTextNode(i)&&isTextNode(l)?n[s]=createTextVNode(l.text+i.text):(isTrue(e._isVList)&&isDef(i.tag)&&isUndef(i.key)&&isDef(a)&&(i.key="__vlist"+a+"_"+r+"__"),n.push(i))}return n}function initProvide(e){var a=e.$options.provide;a&&(e._provided=typeof a=="function"?a.call(e):a)}function initInjections(e){var a=resolveInject(e.$options.inject,e);a&&(toggleObserving(!1),Object.keys(a).forEach(function(n){defineReactive$$1(e,n,a[n])}),toggleObserving(!0))}function resolveInject(e,a){if(e){for(var n=Object.create(null),r=hasSymbol?Reflect.ownKeys(e):Object.keys(e),i=0;i0,s=e?!!e.$stable:!i,l=e&&e.$key;if(!e)r={};else{if(e._normalized)return e._normalized;if(s&&n&&n!==emptyObject&&l===n.$key&&!i&&!n.$hasNormal)return n;r={};for(var c in e)e[c]&&c[0]!=="$"&&(r[c]=normalizeScopedSlot(a,c,e[c]))}for(var o in a)o in r||(r[o]=proxyNormalSlot(a,o));return e&&Object.isExtensible(e)&&(e._normalized=r),def(r,"$stable",s),def(r,"$key",l),def(r,"$hasNormal",i),r}function normalizeScopedSlot(e,a,n){var r=function(){var i=arguments.length?n.apply(null,arguments):n({});return i=i&&typeof i=="object"&&!Array.isArray(i)?[i]:normalizeChildren(i),i&&(i.length===0||i.length===1&&i[0].isComment)?void 0:i};return n.proxy&&Object.defineProperty(e,a,{get:r,enumerable:!0,configurable:!0}),r}function proxyNormalSlot(e,a){return function(){return e[a]}}function renderList(e,a){var n,r,i,s,l;if(Array.isArray(e)||typeof e=="string")for(n=new Array(e.length),r=0,i=e.length;r1?toArray(i):i;for(var s=toArray(arguments,1),l='event handler for "'+n+'"',c=0,o=i.length;cdocument.createEvent("Event").timeStamp&&(getNow=function(){return performance.now()})}function flushSchedulerQueue(){currentFlushTimestamp=getNow(),flushing=!0;var e,a;for(queue.sort(function(i,s){return i.id-s.id}),index=0;indexindex&&queue[n].id>e.id;)n--;queue.splice(n+1,0,e)}waiting||(waiting=!0,nextTick(flushSchedulerQueue))}}var uid$2=0,Watcher=function(a,n,r,i,s){this.vm=a,s&&(a._watcher=this),a._watchers.push(this),i?(this.deep=!!i.deep,this.user=!!i.user,this.lazy=!!i.lazy,this.sync=!!i.sync,this.before=i.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++uid$2,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new _Set,this.newDepIds=new _Set,this.expression="",typeof n=="function"?this.getter=n:(this.getter=parsePath(n),this.getter||(this.getter=noop)),this.value=this.lazy?void 0:this.get()};Watcher.prototype.get=function(){pushTarget(this);var a,n=this.vm;try{a=this.getter.call(n,n)}catch(r){if(this.user)handleError(r,n,'getter for watcher "'+this.expression+'"');else throw r}finally{this.deep&&traverse(a),popTarget(),this.cleanupDeps()}return a},Watcher.prototype.addDep=function(a){var n=a.id;this.newDepIds.has(n)||(this.newDepIds.add(n),this.newDeps.push(a),this.depIds.has(n)||a.addSub(this))},Watcher.prototype.cleanupDeps=function(){for(var a=this.deps.length;a--;){var n=this.deps[a];this.newDepIds.has(n.id)||n.removeSub(this)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Watcher.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():queueWatcher(this)},Watcher.prototype.run=function(){if(this.active){var a=this.get();if(a!==this.value||isObject(a)||this.deep){var n=this.value;if(this.value=a,this.user)try{this.cb.call(this.vm,a,n)}catch(r){handleError(r,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,a,n)}}},Watcher.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Watcher.prototype.depend=function(){for(var a=this.deps.length;a--;)this.deps[a].depend()},Watcher.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||remove(this.vm._watchers,this);for(var a=this.deps.length;a--;)this.deps[a].removeSub(this);this.active=!1}};var sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop,set:noop};function proxy(e,a,n){sharedPropertyDefinition.get=function(){return this[a][n]},sharedPropertyDefinition.set=function(i){this[a][n]=i},Object.defineProperty(e,n,sharedPropertyDefinition)}function initState(e){e._watchers=[];var a=e.$options;a.props&&initProps(e,a.props),a.methods&&initMethods(e,a.methods),a.data?initData(e):observe(e._data={},!0),a.computed&&initComputed(e,a.computed),a.watch&&a.watch!==nativeWatch&&initWatch(e,a.watch)}function initProps(e,a){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],s=!e.$parent;s||toggleObserving(!1);var l=function(o){i.push(o);var d=validateProp(o,a,n,e);defineReactive$$1(r,o,d),o in e||proxy(e,"_props",o)};for(var c in a)l(c);toggleObserving(!0)}function initData(e){var a=e.$options.data;a=e._data=typeof a=="function"?getData(a,e):a||{},isPlainObject(a)||(a={});for(var n=Object.keys(a),r=e.$options.props,i=e.$options.methods,s=n.length;s--;){var l=n[s];r&&hasOwn(r,l)||(isReserved(l)||proxy(e,"_data",l))}observe(a,!0)}function getData(e,a){pushTarget();try{return e.call(a,a)}catch(n){return handleError(n,a,"data()"),{}}finally{popTarget()}}var computedWatcherOptions={lazy:!0};function initComputed(e,a){var n=e._computedWatchers=Object.create(null),r=isServerRendering();for(var i in a){var s=a[i],l=typeof s=="function"?s:s.get;r||(n[i]=new Watcher(e,l||noop,noop,computedWatcherOptions)),i in e||defineComputed(e,i,s)}}function defineComputed(e,a,n){var r=!isServerRendering();typeof n=="function"?(sharedPropertyDefinition.get=r?createComputedGetter(a):createGetterInvoker(n),sharedPropertyDefinition.set=noop):(sharedPropertyDefinition.get=n.get?r&&n.cache!==!1?createComputedGetter(a):createGetterInvoker(n.get):noop,sharedPropertyDefinition.set=n.set||noop),Object.defineProperty(e,a,sharedPropertyDefinition)}function createComputedGetter(e){return function(){var n=this._computedWatchers&&this._computedWatchers[e];if(n)return n.dirty&&n.evaluate(),Dep.target&&n.depend(),n.value}}function createGetterInvoker(e){return function(){return e.call(this,this)}}function initMethods(e,a){var n=e.$options.props;for(var r in a)e[r]=typeof a[r]!="function"?noop:bind(a[r],e)}function initWatch(e,a){for(var n in a){var r=a[n];if(Array.isArray(r))for(var i=0;i-1)return this;var r=toArray(arguments,1);return r.unshift(this),typeof a.install=="function"?a.install.apply(a,r):typeof a=="function"&&a.apply(null,r),n.push(a),this}}function initMixin$1(e){e.mixin=function(a){return this.options=mergeOptions(this.options,a),this}}function initExtend(e){e.cid=0;var a=1;e.extend=function(n){n=n||{};var r=this,i=r.cid,s=n._Ctor||(n._Ctor={});if(s[i])return s[i];var l=n.name||r.options.name,c=function(d){this._init(d)};return c.prototype=Object.create(r.prototype),c.prototype.constructor=c,c.cid=a++,c.options=mergeOptions(r.options,n),c.super=r,c.options.props&&initProps$1(c),c.options.computed&&initComputed$1(c),c.extend=r.extend,c.mixin=r.mixin,c.use=r.use,ASSET_TYPES.forEach(function(o){c[o]=r[o]}),l&&(c.options.components[l]=c),c.superOptions=r.options,c.extendOptions=n,c.sealedOptions=extend({},c.options),s[i]=c,c}}function initProps$1(e){var a=e.options.props;for(var n in a)proxy(e.prototype,"_props",n)}function initComputed$1(e){var a=e.options.computed;for(var n in a)defineComputed(e.prototype,n,a[n])}function initAssetRegisters(e){ASSET_TYPES.forEach(function(a){e[a]=function(n,r){return r?(a==="component"&&isPlainObject(r)&&(r.name=r.name||n,r=this.options._base.extend(r)),a==="directive"&&typeof r=="function"&&(r={bind:r,update:r}),this.options[a+"s"][n]=r,r):this.options[a+"s"][n]}})}function getComponentName(e){return e&&(e.Ctor.options.name||e.tag)}function matches(e,a){return Array.isArray(e)?e.indexOf(a)>-1:typeof e=="string"?e.split(",").indexOf(a)>-1:isRegExp(e)?e.test(a):!1}function pruneCache(e,a){var n=e.cache,r=e.keys,i=e._vnode;for(var s in n){var l=n[s];if(l){var c=getComponentName(l.componentOptions);c&&!a(c)&&pruneCacheEntry(n,s,r,i)}}}function pruneCacheEntry(e,a,n,r){var i=e[a];i&&(!r||i.tag!==r.tag)&&i.componentInstance.$destroy(),e[a]=null,remove(n,a)}var patternTypes=[String,RegExp,Array],KeepAlive={name:"keep-alive",abstract:!0,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var a in this.cache)pruneCacheEntry(this.cache,a,this.keys)},mounted:function(){var a=this;this.$watch("include",function(n){pruneCache(a,function(r){return matches(n,r)})}),this.$watch("exclude",function(n){pruneCache(a,function(r){return!matches(n,r)})})},render:function(){var a=this.$slots.default,n=getFirstComponentChild(a),r=n&&n.componentOptions;if(r){var i=getComponentName(r),s=this,l=s.include,c=s.exclude;if(l&&(!i||!matches(l,i))||c&&i&&matches(c,i))return n;var o=this,d=o.cache,u=o.keys,f=n.key==null?r.Ctor.cid+(r.tag?"::"+r.tag:""):n.key;d[f]?(n.componentInstance=d[f].componentInstance,remove(u,f),u.push(f)):(d[f]=n,u.push(f),this.max&&u.length>parseInt(this.max)&&pruneCacheEntry(d,u[0],u,this._vnode)),n.data.keepAlive=!0}return n||a&&a[0]}},builtInComponents={KeepAlive};function initGlobalAPI(e){var a={};a.get=function(){return config},Object.defineProperty(e,"config",a),e.util={warn,extend,mergeOptions,defineReactive:defineReactive$$1},e.set=set,e.delete=del,e.nextTick=nextTick,e.observable=function(n){return observe(n),n},e.options=Object.create(null),ASSET_TYPES.forEach(function(n){e.options[n+"s"]=Object.create(null)}),e.options._base=e,extend(e.options.components,builtInComponents),initUse(e),initMixin$1(e),initExtend(e),initAssetRegisters(e)}initGlobalAPI(Vue),Object.defineProperty(Vue.prototype,"$isServer",{get:isServerRendering}),Object.defineProperty(Vue.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vue,"FunctionalRenderContext",{value:FunctionalRenderContext}),Vue.version="2.6.12";var isReservedAttr=makeMap("style,class"),acceptValue=makeMap("input,textarea,option,select,progress"),mustUseProp=function(e,a,n){return n==="value"&&acceptValue(e)&&a!=="button"||n==="selected"&&e==="option"||n==="checked"&&e==="input"||n==="muted"&&e==="video"},isEnumeratedAttr=makeMap("contenteditable,draggable,spellcheck"),isValidContentEditableValue=makeMap("events,caret,typing,plaintext-only"),convertEnumeratedValue=function(e,a){return isFalsyAttrValue(a)||a==="false"?"false":e==="contenteditable"&&isValidContentEditableValue(a)?a:"true"},isBooleanAttr=makeMap("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),xlinkNS="http://www.w3.org/1999/xlink",isXlink=function(e){return e.charAt(5)===":"&&e.slice(0,5)==="xlink"},getXlinkProp=function(e){return isXlink(e)?e.slice(6,e.length):""},isFalsyAttrValue=function(e){return e==null||e===!1};function genClassForVnode(e){for(var a=e.data,n=e,r=e;isDef(r.componentInstance);)r=r.componentInstance._vnode,r&&r.data&&(a=mergeClassData(r.data,a));for(;isDef(n=n.parent);)n&&n.data&&(a=mergeClassData(a,n.data));return renderClass(a.staticClass,a.class)}function mergeClassData(e,a){return{staticClass:concat(e.staticClass,a.staticClass),class:isDef(e.class)?[e.class,a.class]:a.class}}function renderClass(e,a){return isDef(e)||isDef(a)?concat(e,stringifyClass(a)):""}function concat(e,a){return e?a?e+" "+a:e:a||""}function stringifyClass(e){return Array.isArray(e)?stringifyArray(e):isObject(e)?stringifyObject(e):typeof e=="string"?e:""}function stringifyArray(e){for(var a="",n,r=0,i=e.length;r-1?unknownElementCache[e]=a.constructor===window.HTMLUnknownElement||a.constructor===window.HTMLElement:unknownElementCache[e]=/HTMLUnknownElement/.test(a.toString())}var isTextInputType=makeMap("text,number,password,search,email,tel,url");function query(e){if(typeof e=="string"){var a=document.querySelector(e);return a||document.createElement("div")}else return e}function createElement$1(e,a){var n=document.createElement(e);return e!=="select"||a.data&&a.data.attrs&&a.data.attrs.multiple!==void 0&&n.setAttribute("multiple","multiple"),n}function createElementNS(e,a){return document.createElementNS(namespaceMap[e],a)}function createTextNode(e){return document.createTextNode(e)}function createComment(e){return document.createComment(e)}function insertBefore(e,a,n){e.insertBefore(a,n)}function removeChild(e,a){e.removeChild(a)}function appendChild(e,a){e.appendChild(a)}function parentNode(e){return e.parentNode}function nextSibling(e){return e.nextSibling}function tagName(e){return e.tagName}function setTextContent(e,a){e.textContent=a}function setStyleScope(e,a){e.setAttribute(a,"")}var nodeOps=Object.freeze({createElement:createElement$1,createElementNS,createTextNode,createComment,insertBefore,removeChild,appendChild,parentNode,nextSibling,tagName,setTextContent,setStyleScope}),ref={create:function(a,n){registerRef(n)},update:function(a,n){a.data.ref!==n.data.ref&&(registerRef(a,!0),registerRef(n))},destroy:function(a){registerRef(a,!0)}};function registerRef(e,a){var n=e.data.ref;if(!isDef(n))return;var r=e.context,i=e.componentInstance||e.elm,s=r.$refs;a?Array.isArray(s[n])?remove(s[n],i):s[n]===i&&(s[n]=void 0):e.data.refInFor?Array.isArray(s[n])?s[n].indexOf(i)<0&&s[n].push(i):s[n]=[i]:s[n]=i}var emptyNode=new VNode("",{},[]),hooks=["create","activate","update","remove","destroy"];function sameVnode(e,a){return e.key===a.key&&(e.tag===a.tag&&e.isComment===a.isComment&&isDef(e.data)===isDef(a.data)&&sameInputType(e,a)||isTrue(e.isAsyncPlaceholder)&&e.asyncFactory===a.asyncFactory&&isUndef(a.asyncFactory.error))}function sameInputType(e,a){if(e.tag!=="input")return!0;var n,r=isDef(n=e.data)&&isDef(n=n.attrs)&&n.type,i=isDef(n=a.data)&&isDef(n=n.attrs)&&n.type;return r===i||isTextInputType(r)&&isTextInputType(i)}function createKeyToOldIdx(e,a,n){var r,i,s={};for(r=a;r<=n;++r)i=e[r].key,isDef(i)&&(s[i]=r);return s}function createPatchFunction(e){var a,n,r={},i=e.modules,s=e.nodeOps;for(a=0;aF?(W=isUndef(_[j+1])?null:_[j+1].elm,x(g,W,_,$,j,S)):$>j&&M(b,P,F)}function C(g,b,_,S){for(var z=_;z-1?baseSetAttr(e,a,n):isBooleanAttr(a)?isFalsyAttrValue(n)?e.removeAttribute(a):(n=a==="allowfullscreen"&&e.tagName==="EMBED"?"true":a,e.setAttribute(a,n)):isEnumeratedAttr(a)?e.setAttribute(a,convertEnumeratedValue(a,n)):isXlink(a)?isFalsyAttrValue(n)?e.removeAttributeNS(xlinkNS,getXlinkProp(a)):e.setAttributeNS(xlinkNS,a,n):baseSetAttr(e,a,n)}function baseSetAttr(e,a,n){if(isFalsyAttrValue(n))e.removeAttribute(a);else{if(isIE&&!isIE9&&e.tagName==="TEXTAREA"&&a==="placeholder"&&n!==""&&!e.__ieph){var r=function(i){i.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(a,n)}}var attrs={create:updateAttrs,update:updateAttrs};function updateClass(e,a){var n=a.elm,r=a.data,i=e.data;if(isUndef(r.staticClass)&&isUndef(r.class)&&(isUndef(i)||isUndef(i.staticClass)&&isUndef(i.class)))return;var s=genClassForVnode(a),l=n._transitionClasses;isDef(l)&&(s=concat(s,stringifyClass(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}var klass={create:updateClass,update:updateClass},validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(e){var a=!1,n=!1,r=!1,i=!1,s=0,l=0,c=0,o=0,d,u,f,h,m;for(f=0;f=0&&!(y=e.charAt(v),y!==" ");v--);(!y||!validDivisionCharRE.test(y))&&(i=!0)}}h===void 0?h=e.slice(0,f).trim():o!==0&&k();function k(){(m||(m=[])).push(e.slice(o,f).trim()),o=f+1}if(m)for(f=0;f-1?{exp:e.slice(0,index$1),key:'"'+e.slice(index$1+1)+'"'}:{exp:e,key:null};for(str=e,index$1=expressionPos=expressionEndPos=0;!eof();)chr=next(),isStringStart(chr)?parseString(chr):chr===91&&parseBracket(chr);return{exp:e.slice(0,expressionPos),key:e.slice(expressionPos+1,expressionEndPos)}}function next(){return str.charCodeAt(++index$1)}function eof(){return index$1>=len}function isStringStart(e){return e===34||e===39}function parseBracket(e){var a=1;for(expressionPos=index$1;!eof();){if(e=next(),isStringStart(e)){parseString(e);continue}if(e===91&&a++,e===93&&a--,a===0){expressionEndPos=index$1;break}}}function parseString(e){for(var a=e;!eof()&&!(e=next(),e===a););}var RANGE_TOKEN="__r",CHECKBOX_RADIO_TOKEN="__c";function model(e,a,n){var r=a.value,i=a.modifiers,s=e.tag,l=e.attrsMap.type;if(e.component)return genComponentModel(e,r,i),!1;if(s==="select")genSelect(e,r,i);else if(s==="input"&&l==="checkbox")genCheckboxModel(e,r,i);else if(s==="input"&&l==="radio")genRadioModel(e,r,i);else if(s==="input"||s==="textarea")genDefaultModel(e,r,i);else if(!config.isReservedTag(s))return genComponentModel(e,r,i),!1;return!0}function genCheckboxModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null",s=getBindingAttr(e,"true-value")||"true",l=getBindingAttr(e,"false-value")||"false";addProp(e,"checked","Array.isArray("+a+")?_i("+a+","+i+")>-1"+(s==="true"?":("+a+")":":_q("+a+","+s+")")),addHandler(e,"change","var $$a="+a+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+l+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+genAssignmentCode(a,"$$a.concat([$$v])")+")}else{$$i>-1&&("+genAssignmentCode(a,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+genAssignmentCode(a,"$$c")+"}",null,!0)}function genRadioModel(e,a,n){var r=n&&n.number,i=getBindingAttr(e,"value")||"null";i=r?"_n("+i+")":i,addProp(e,"checked","_q("+a+","+i+")"),addHandler(e,"change",genAssignmentCode(a,i),null,!0)}function genSelect(e,a,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",s="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",l="var $$selectedVal = "+i+";";l=l+" "+genAssignmentCode(a,s),addHandler(e,"change",l,null,!0)}function genDefaultModel(e,a,n){var r=e.attrsMap.type,i=n||{},s=i.lazy,l=i.number,c=i.trim,o=!s&&r!=="range",d=s?"change":r==="range"?RANGE_TOKEN:"input",u="$event.target.value";c&&(u="$event.target.value.trim()"),l&&(u="_n("+u+")");var f=genAssignmentCode(a,u);o&&(f="if($event.target.composing)return;"+f),addProp(e,"value","("+a+")"),addHandler(e,d,f,null,!0),(c||l)&&addHandler(e,"blur","$forceUpdate()")}function normalizeEvents(e){if(isDef(e[RANGE_TOKEN])){var a=isIE?"change":"input";e[a]=[].concat(e[RANGE_TOKEN],e[a]||[]),delete e[RANGE_TOKEN]}isDef(e[CHECKBOX_RADIO_TOKEN])&&(e.change=[].concat(e[CHECKBOX_RADIO_TOKEN],e.change||[]),delete e[CHECKBOX_RADIO_TOKEN])}var target$1;function createOnceHandler$1(e,a,n){var r=target$1;return function i(){var s=a.apply(null,arguments);s!==null&&remove$2(e,i,n,r)}}var useMicrotaskFix=isUsingMicroTask&&!(isFF&&Number(isFF[1])<=53);function add$1(e,a,n,r){if(useMicrotaskFix){var i=currentFlushTimestamp,s=a;a=s._wrapper=function(l){if(l.target===l.currentTarget||l.timeStamp>=i||l.timeStamp<=0||l.target.ownerDocument!==document)return s.apply(this,arguments)}}target$1.addEventListener(e,a,supportsPassive?{capture:n,passive:r}:n)}function remove$2(e,a,n,r){(r||target$1).removeEventListener(e,a._wrapper||a,n)}function updateDOMListeners(e,a){if(isUndef(e.data.on)&&isUndef(a.data.on))return;var n=a.data.on||{},r=e.data.on||{};target$1=a.elm,normalizeEvents(n),updateListeners(n,r,add$1,remove$2,createOnceHandler$1,a.context),target$1=void 0}var events={create:updateDOMListeners,update:updateDOMListeners},svgContainer;function updateDOMProps(e,a){if(isUndef(e.data.domProps)&&isUndef(a.data.domProps))return;var n,r,i=a.elm,s=e.data.domProps||{},l=a.data.domProps||{};isDef(l.__ob__)&&(l=a.data.domProps=extend({},l));for(n in s)n in l||(i[n]="");for(n in l){if(r=l[n],n==="textContent"||n==="innerHTML"){if(a.children&&(a.children.length=0),r===s[n])continue;i.childNodes.length===1&&i.removeChild(i.childNodes[0])}if(n==="value"&&i.tagName!=="PROGRESS"){i._value=r;var c=isUndef(r)?"":String(r);shouldUpdateValue(i,c)&&(i.value=c)}else if(n==="innerHTML"&&isSVG(i.tagName)&&isUndef(i.innerHTML)){svgContainer=svgContainer||document.createElement("div"),svgContainer.innerHTML=""+r+"";for(var o=svgContainer.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;o.firstChild;)i.appendChild(o.firstChild)}else if(r!==s[n])try{i[n]=r}catch(d){}}}function shouldUpdateValue(e,a){return!e.composing&&(e.tagName==="OPTION"||isNotInFocusAndDirty(e,a)||isDirtyWithModifiers(e,a))}function isNotInFocusAndDirty(e,a){var n=!0;try{n=document.activeElement!==e}catch(r){}return n&&e.value!==a}function isDirtyWithModifiers(e,a){var n=e.value,r=e._vModifiers;if(isDef(r)){if(r.number)return toNumber(n)!==toNumber(a);if(r.trim)return n.trim()!==a.trim()}return n!==a}var domProps={create:updateDOMProps,update:updateDOMProps},parseStyleText=cached(function(e){var a={},n=/;(?![^(]*\))/g,r=/:(.+)/;return e.split(n).forEach(function(i){if(i){var s=i.split(r);s.length>1&&(a[s[0].trim()]=s[1].trim())}}),a});function normalizeStyleData(e){var a=normalizeStyleBinding(e.style);return e.staticStyle?extend(e.staticStyle,a):a}function normalizeStyleBinding(e){return Array.isArray(e)?toObject(e):typeof e=="string"?parseStyleText(e):e}function getStyle(e,a){var n={},r;if(a)for(var i=e;i.componentInstance;)i=i.componentInstance._vnode,i&&i.data&&(r=normalizeStyleData(i.data))&&extend(n,r);(r=normalizeStyleData(e.data))&&extend(n,r);for(var s=e;s=s.parent;)s.data&&(r=normalizeStyleData(s.data))&&extend(n,r);return n}var cssVarRE=/^--/,importantRE=/\s*!important$/,setProp=function(e,a,n){if(cssVarRE.test(a))e.style.setProperty(a,n);else if(importantRE.test(n))e.style.setProperty(hyphenate(a),n.replace(importantRE,""),"important");else{var r=normalize(a);if(Array.isArray(n))for(var i=0,s=n.length;i-1?a.split(whitespaceRE).forEach(function(r){return e.classList.add(r)}):e.classList.add(a);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+a+" ")<0&&e.setAttribute("class",(n+a).trim())}}function removeClass(e,a){if(!a||!(a=a.trim()))return;if(e.classList)a.indexOf(" ")>-1?a.split(whitespaceRE).forEach(function(i){return e.classList.remove(i)}):e.classList.remove(a),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+a+" ";n.indexOf(r)>=0;)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function resolveTransition(e){if(!e)return;if(typeof e=="object"){var a={};return e.css!==!1&&extend(a,autoCssTransition(e.name||"v")),extend(a,e),a}else if(typeof e=="string")return autoCssTransition(e)}var autoCssTransition=cached(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),hasTransition=inBrowser&&!isIE9,TRANSITION="transition",ANIMATION="animation",transitionProp="transition",transitionEndEvent="transitionend",animationProp="animation",animationEndEvent="animationend";hasTransition&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(transitionProp="WebkitTransition",transitionEndEvent="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(animationProp="WebkitAnimation",animationEndEvent="webkitAnimationEnd"));var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function nextFrame(e){raf(function(){raf(e)})}function addTransitionClass(e,a){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(a)<0&&(n.push(a),addClass(e,a))}function removeTransitionClass(e,a){e._transitionClasses&&remove(e._transitionClasses,a),removeClass(e,a)}function whenTransitionEnds(e,a,n){var r=getTransitionInfo(e,a),i=r.type,s=r.timeout,l=r.propCount;if(!i)return n();var c=i===TRANSITION?transitionEndEvent:animationEndEvent,o=0,d=function(){e.removeEventListener(c,u),n()},u=function(f){f.target===e&&(++o>=l&&d())};setTimeout(function(){o0&&(d=TRANSITION,u=s,f=i.length):a===ANIMATION?o>0&&(d=ANIMATION,u=o,f=c.length):(u=Math.max(s,o),d=u>0?s>o?TRANSITION:ANIMATION:null,f=d?d===TRANSITION?i.length:c.length:0);var h=d===TRANSITION&&transformRE.test(n[transitionProp+"Property"]);return{type:d,timeout:u,propCount:f,hasTransform:h}}function getTimeout(e,a){for(;e.length1}function _enter(e,a){a.data.show!==!0&&enter(a)}var transition=inBrowser?{create:_enter,activate:_enter,remove:function(a,n){a.data.show!==!0?leave(a,n):n()}}:{},platformModules=[attrs,klass,events,domProps,style,transition],modules=platformModules.concat(baseModules),patch=createPatchFunction({nodeOps,modules});isIE9&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&trigger(e,"input")});var directive={inserted:function(a,n,r,i){r.tag==="select"?(i.elm&&!i.elm._vOptions?mergeVNodeHook(r,"postpatch",function(){directive.componentUpdated(a,n,r)}):setSelected(a,n,r.context),a._vOptions=[].map.call(a.options,getValue)):(r.tag==="textarea"||isTextInputType(a.type))&&(a._vModifiers=n.modifiers,n.modifiers.lazy||(a.addEventListener("compositionstart",onCompositionStart),a.addEventListener("compositionend",onCompositionEnd),a.addEventListener("change",onCompositionEnd),isIE9&&(a.vmodel=!0)))},componentUpdated:function(a,n,r){if(r.tag==="select"){setSelected(a,n,r.context);var i=a._vOptions,s=a._vOptions=[].map.call(a.options,getValue);if(s.some(function(c,o){return!looseEqual(c,i[o])})){var l=a.multiple?n.value.some(function(c){return hasNoMatchingOption(c,s)}):n.value!==n.oldValue&&hasNoMatchingOption(n.value,s);l&&trigger(a,"change")}}}};function setSelected(e,a,n){actuallySetSelected(e,a),(isIE||isEdge)&&setTimeout(function(){actuallySetSelected(e,a)},0)}function actuallySetSelected(e,a,n){var r=a.value,i=e.multiple;if(i&&!Array.isArray(r))return;for(var s,l,c=0,o=e.options.length;c-1,l.selected!==s&&(l.selected=s);else if(looseEqual(getValue(l),r)){e.selectedIndex!==c&&(e.selectedIndex=c);return}i||(e.selectedIndex=-1)}function hasNoMatchingOption(e,a){return a.every(function(n){return!looseEqual(n,e)})}function getValue(e){return"_value"in e?e._value:e.value}function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){if(!e.target.composing)return;e.target.composing=!1,trigger(e.target,"input")}function trigger(e,a){var n=document.createEvent("HTMLEvents");n.initEvent(a,!0,!0),e.dispatchEvent(n)}function locateNode(e){return e.componentInstance&&(!e.data||!e.data.transition)?locateNode(e.componentInstance._vnode):e}var show={bind:function(a,n,r){var i=n.value;r=locateNode(r);var s=r.data&&r.data.transition,l=a.__vOriginalDisplay=a.style.display==="none"?"":a.style.display;i&&s?(r.data.show=!0,enter(r,function(){a.style.display=l})):a.style.display=i?l:"none"},update:function(a,n,r){var i=n.value,s=n.oldValue;if(!i===!s)return;r=locateNode(r);var l=r.data&&r.data.transition;l?(r.data.show=!0,i?enter(r,function(){a.style.display=a.__vOriginalDisplay}):leave(r,function(){a.style.display="none"})):a.style.display=i?a.__vOriginalDisplay:"none"},unbind:function(a,n,r,i,s){s||(a.style.display=a.__vOriginalDisplay)}},platformDirectives={model:directive,show},transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function getRealChild(e){var a=e&&e.componentOptions;return a&&a.Ctor.options.abstract?getRealChild(getFirstComponentChild(a.children)):e}function extractTransitionData(e){var a={},n=e.$options;for(var r in n.propsData)a[r]=e[r];var i=n._parentListeners;for(var s in i)a[camelize(s)]=i[s];return a}function placeholder(e,a){if(/\d-keep-alive$/.test(a.tag))return e("keep-alive",{props:a.componentOptions.propsData})}function hasParentTransition(e){for(;e=e.parent;)if(e.data.transition)return!0}function isSameChild(e,a){return a.key===e.key&&a.tag===e.tag}var isNotTextNode=function(e){return e.tag||isAsyncPlaceholder(e)},isVShowDirective=function(e){return e.name==="show"},Transition={name:"transition",props:transitionProps,abstract:!0,render:function(a){var n=this,r=this.$slots.default;if(!r)return;if(r=r.filter(isNotTextNode),!r.length)return;var i=this.mode,s=r[0];if(hasParentTransition(this.$vnode))return s;var l=getRealChild(s);if(!l)return s;if(this._leaving)return placeholder(a,s);var c="__transition-"+this._uid+"-";l.key=l.key==null?l.isComment?c+"comment":c+l.tag:isPrimitive(l.key)?String(l.key).indexOf(c)===0?l.key:c+l.key:l.key;var o=(l.data||(l.data={})).transition=extractTransitionData(this),d=this._vnode,u=getRealChild(d);if(l.data.directives&&l.data.directives.some(isVShowDirective)&&(l.data.show=!0),u&&u.data&&!isSameChild(l,u)&&!isAsyncPlaceholder(u)&&!(u.componentInstance&&u.componentInstance._vnode.isComment)){var f=u.data.transition=extend({},o);if(i==="out-in")return this._leaving=!0,mergeVNodeHook(f,"afterLeave",function(){n._leaving=!1,n.$forceUpdate()}),placeholder(a,s);if(i==="in-out"){if(isAsyncPlaceholder(l))return d;var h,m=function(){h()};mergeVNodeHook(o,"afterEnter",m),mergeVNodeHook(o,"enterCancelled",m),mergeVNodeHook(f,"delayLeave",function(v){h=v})}}return s}},props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props,beforeMount:function(){var a=this,n=this._update;this._update=function(r,i){var s=setActiveInstance(a);a.__patch__(a._vnode,a.kept,!1,!0),a._vnode=a.kept,s(),n.call(a,r,i)}},render:function(a){for(var n=this.tag||this.$vnode.data.tag||"span",r=Object.create(null),i=this.prevChildren=this.children,s=this.$slots.default||[],l=this.children=[],c=extractTransitionData(this),o=0;os&&(i.push(o=e.slice(s,c)),r.push(JSON.stringify(o)));var d=parseFilters(l[1].trim());r.push("_s("+d+")"),i.push({"@binding":d}),s=c+l[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ncname="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+unicodeRegExp.source+"]*",qnameCapture="((?:"+ncname+"\\:)?"+ncname+")",startTagOpen=new RegExp("^<"+qnameCapture),startTagClose=/^\s*(\/?)>/,endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>"),doctype=/^]+>/i,comment=/^",""":'"',"&":"&"," ":` +`," ":" ","'":"'"},encodedAttr=/&(?:lt|gt|quot|amp|#39);/g,encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,isIgnoreNewlineTag=makeMap("pre,textarea",!0),shouldIgnoreFirstNewline=function(e,a){return e&&isIgnoreNewlineTag(e)&&a[0]===` +`};function decodeAttr(e,a){var n=a?encodedAttrWithNewLines:encodedAttr;return e.replace(n,function(r){return decodingMap[r]})}function parseHTML(e,a){for(var n=[],r=a.expectHTML,i=a.isUnaryTag||no,s=a.canBeLeftOpenTag||no,l=0,c,o;e;){if(c=e,!o||!isPlainTextElement(o)){var d=e.indexOf("<");if(d===0){if(comment.test(e)){var u=e.indexOf("-->");if(u>=0){a.shouldKeepComment&&a.comment(e.substring(4,u),l,l+u+3),C(u+3);continue}}if(conditionalComment.test(e)){var f=e.indexOf("]>");if(f>=0){C(f+2);continue}}var h=e.match(doctype);if(h){C(h[0].length);continue}var m=e.match(endTag);if(m){var v=l;C(m[0].length),E(m[1],v,l);continue}var y=R();if(y){U(y),shouldIgnoreFirstNewline(y.tagName,e)&&C(1);continue}}var k=void 0,w=void 0,x=void 0;if(d>=0){for(w=e.slice(d);!endTag.test(w)&&!startTagOpen.test(w)&&!comment.test(w)&&!conditionalComment.test(w)&&!(x=w.indexOf("<",1),x<0);)d+=x,w=e.slice(d);k=e.substring(0,d)}d<0&&(k=e),k&&C(k.length),a.chars&&k&&a.chars(k,l-k.length,l)}else{var A=0,M=o.toLowerCase(),D=reCache[M]||(reCache[M]=new RegExp("([\\s\\S]*?)(]*>)","i")),T=e.replace(D,function(I,g,b){return A=b.length,!isPlainTextElement(M)&&M!=="noscript"&&(g=g.replace(//g,"$1").replace(//g,"$1")),shouldIgnoreFirstNewline(M,g)&&(g=g.slice(1)),a.chars&&a.chars(g),""});l+=e.length-T.length,e=T,E(M,l-A,l)}if(e===c){a.chars&&a.chars(e);break}}E();function C(I){l+=I,e=e.substring(I)}function R(){var I=e.match(startTagOpen);if(I){var g={tagName:I[1],attrs:[],start:l};C(I[0].length);for(var b,_;!(b=e.match(startTagClose))&&(_=e.match(dynamicArgAttribute)||e.match(attribute));)_.start=l,C(_[0].length),_.end=l,g.attrs.push(_);if(b)return g.unarySlash=b[1],C(b[0].length),g.end=l,g}}function U(I){var g=I.tagName,b=I.unarySlash;r&&(o==="p"&&isNonPhrasingTag(g)&&E(o),s(g)&&o===g&&E(g));for(var _=i(g)||!!b,S=I.attrs.length,z=new Array(S),P=0;P=0&&!(n[_].lowerCasedTag===S);_--);else _=0;if(_>=0){for(var z=n.length-1;z>=_;z--)a.end&&a.end(n[z].tag,g,b);n.length=_,o=_&&n[_-1].tag}else S==="br"?a.start&&a.start(I,[],!0,g,b):S==="p"&&(a.start&&a.start(I,[],!1,g,b),a.end&&a.end(I,g,b))}}var onRE=/^@|^v-on:/,dirRE=/^v-|^@|^:|^#/,forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,stripParensRE=/^\(|\)$/g,dynamicArgRE=/^\[.*\]$/,argRE=/:(.*)$/,bindRE=/^:|^\.|^v-bind:/,modifierRE=/\.[^.\]]+(?=[^\]]*$)/g,slotRE=/^v-slot(:|$)|^#/,lineBreakRE=/[\r\n]/,whitespaceRE$1=/\s+/g,decodeHTMLCached=cached(he.decode),emptySlotScopeToken="_empty_",warn$2,delimiters,transforms,preTransforms,postTransforms,platformIsPreTag,platformMustUseProp,platformGetTagNamespace;function createASTElement(e,a,n){return{type:1,tag:e,attrsList:a,attrsMap:makeAttrsMap(a),rawAttrsMap:{},parent:n,children:[]}}function parse(e,a){warn$2=a.warn||baseWarn,platformIsPreTag=a.isPreTag||no,platformMustUseProp=a.mustUseProp||no,platformGetTagNamespace=a.getTagNamespace||no;var n=a.isReservedTag||no;transforms=pluckModuleFunction(a.modules,"transformNode"),preTransforms=pluckModuleFunction(a.modules,"preTransformNode"),postTransforms=pluckModuleFunction(a.modules,"postTransformNode"),delimiters=a.delimiters;var r=[],i=a.preserveWhitespace!==!1,s=a.whitespace,l,c,o=!1,d=!1;function u(h){if(f(h),!o&&!h.processed&&(h=processElement(h,a)),!r.length&&h!==l&&(l.if&&(h.elseif||h.else)&&addIfCondition(l,{exp:h.elseif,block:h})),c&&!h.forbidden)if(h.elseif||h.else)processIfConditions(h,c);else{if(h.slotScope){var m=h.slotTarget||'"default"';(c.scopedSlots||(c.scopedSlots={}))[m]=h}c.children.push(h),h.parent=c}h.children=h.children.filter(function(y){return!y.slotScope}),f(h),h.pre&&(o=!1),platformIsPreTag(h.tag)&&(d=!1);for(var v=0;v|^function(?:\s+[\w$]+)?\s*\(/,fnInvokeRE=/\([^)]*?\);*$/,simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},keyNames={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},genGuard=function(e){return"if("+e+")return null;"},modifierCode={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(e,a){var n=a?"nativeOn:":"on:",r="",i="";for(var s in e){var l=genHandler(e[s]);e[s]&&e[s].dynamic?i+=s+","+l+",":r+='"'+s+'":'+l+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function genHandler(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(u){return genHandler(u)}).join(",")+"]";var a=simplePathRE.test(e.value),n=fnExpRE.test(e.value),r=simplePathRE.test(e.value.replace(fnInvokeRE,""));if(e.modifiers){var i="",s="",l=[];for(var c in e.modifiers)if(modifierCode[c])s+=modifierCode[c],keyCodes[c]&&l.push(c);else if(c==="exact"){var o=e.modifiers;s+=genGuard(["ctrl","shift","alt","meta"].filter(function(u){return!o[u]}).map(function(u){return"$event."+u+"Key"}).join("||"))}else l.push(c);l.length&&(i+=genKeyFilter(l)),s&&(i+=s);var d=a?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value;return"function($event){"+i+d+"}"}else return a||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function genKeyFilter(e){return"if(!$event.type.indexOf('key')&&"+e.map(genFilterCode).join("&&")+")return null;"}function genFilterCode(e){var a=parseInt(e,10);if(a)return"$event.keyCode!=="+a;var n=keyCodes[e],r=keyNames[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}function on(e,a){e.wrapListeners=function(n){return"_g("+n+","+a.value+")"}}function bind$1(e,a){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+a.value+","+(a.modifiers&&a.modifiers.prop?"true":"false")+(a.modifiers&&a.modifiers.sync?",true":"")+")"}}var baseDirectives={on,bind:bind$1,cloak:noop},CodegenState=function(a){this.options=a,this.warn=a.warn||baseWarn,this.transforms=pluckModuleFunction(a.modules,"transformCode"),this.dataGenFns=pluckModuleFunction(a.modules,"genData"),this.directives=extend(extend({},baseDirectives),a.directives);var n=a.isReservedTag||no;this.maybeComponent=function(r){return!!r.component||!n(r.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function generate(e,a){var n=new CodegenState(a),r=e?genElement(e,n):'_c("div")';return{render:"with(this){return "+r+"}",staticRenderFns:n.staticRenderFns}}function genElement(e,a){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return genStatic(e,a);if(e.once&&!e.onceProcessed)return genOnce(e,a);if(e.for&&!e.forProcessed)return genFor(e,a);if(e.if&&!e.ifProcessed)return genIf(e,a);if(e.tag==="template"&&!e.slotTarget&&!a.pre)return genChildren(e,a)||"void 0";if(e.tag==="slot")return genSlot(e,a);var n;if(e.component)n=genComponent(e.component,e,a);else{var r;(!e.plain||e.pre&&a.maybeComponent(e))&&(r=genData$2(e,a));var i=e.inlineTemplate?null:genChildren(e,a,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var s=0;s>>0}function containsSlotChild(e){return e.type===1?e.tag==="slot"?!0:e.children.some(containsSlotChild):!1}function genScopedSlot(e,a){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return genIf(e,a,genScopedSlot,"null");if(e.for&&!e.forProcessed)return genFor(e,a,genScopedSlot);var r=e.slotScope===emptySlotScopeToken?"":String(e.slotScope),i="function("+r+"){return "+(e.tag==="template"?e.if&&n?"("+e.if+")?"+(genChildren(e,a)||"undefined")+":undefined":genChildren(e,a)||"undefined":genElement(e,a))+"}",s=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+i+s+"}"}function genChildren(e,a,n,r,i){var s=e.children;if(s.length){var l=s[0];if(s.length===1&&l.for&&l.tag!=="template"&&l.tag!=="slot"){var c=n?a.maybeComponent(l)?",1":",0":"";return""+(r||genElement)(l,a)+c}var o=n?getNormalizationType(s,a.maybeComponent):0,d=i||genNode;return"["+s.map(function(u){return d(u,a)}).join(",")+"]"+(o?","+o:"")}}function getNormalizationType(e,a){for(var n=0,r=0;r`:`
`,div.innerHTML.indexOf(" ")>0}var shouldDecodeNewlines=inBrowser?getShouldDecode(!1):!1,shouldDecodeNewlinesForHref=inBrowser?getShouldDecode(!0):!1,idToTemplate=cached(function(e){var a=query(e);return a&&a.innerHTML}),mount=Vue.prototype.$mount;Vue.prototype.$mount=function(e,a){if(e=e&&query(e),e===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if(typeof r=="string")r.charAt(0)==="#"&&(r=idToTemplate(r));else if(r.nodeType)r=r.innerHTML;else return this;else e&&(r=getOuterHTML(e));if(r){var i=compileToFunctions(r,{outputSourceRange:!1,shouldDecodeNewlines,shouldDecodeNewlinesForHref,delimiters:n.delimiters,comments:n.comments},this),s=i.render,l=i.staticRenderFns;n.render=s,n.staticRenderFns=l}}return mount.call(this,e,a)};function getOuterHTML(e){if(e.outerHTML)return e.outerHTML;var a=document.createElement("div");return a.appendChild(e.cloneNode(!0)),a.innerHTML}Vue.compile=compileToFunctions;function styleInject(e,a){a===void 0&&(a={});var n=a.insertAt;if(!e||typeof document=="undefined")return;var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}var css_248z=`/* fallback */ -var emptyObject = Object.freeze({}); +@font-face { + font-family: 'Material Icons'; -// These helpers produce better VM code in JS engines due to their -// explicitness and function inlining. -function isUndef (v) { - return v === undefined || v === null -} + font-style: normal; -function isDef (v) { - return v !== undefined && v !== null -} + font-weight: 400; -function isTrue (v) { - return v === true -} + src: url('fonts/icons/MaterialIcons-Regular.eot'); /* For IE6-8 */ -function isFalse (v) { - return v === false + src: url('fonts/icons/MaterialIcons-Regular.woff2') format('woff2'), + url('fonts/icons/MaterialIcons-Regular.woff') format('woff'), + url('fonts/icons/MaterialIcons-Regular.ttf') format('truetype'); } -/** - * Check if value is primitive. - */ -function isPrimitive (value) { - return ( - typeof value === 'string' || - typeof value === 'number' || - // $flow-disable-line - typeof value === 'symbol' || - typeof value === 'boolean' - ) +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; } -/** - * Quick object check - this is primarily used to tell - * Objects from primitive values when we know the value - * is a JSON-compliant type. - */ -function isObject (obj) { - return obj !== null && typeof obj === 'object' +.material-icons.title-icon { + margin-right: 0.3125em; + margin-left: -3px; } -/** - * Get the raw type string of a value, e.g., [object Object]. - */ -var _toString = Object.prototype.toString; - -function toRawType (value) { - return _toString.call(value).slice(8, -1) +.material-icons.title-icon.title-icon--right { + margin-right: 0px; + margin-left: 0.3125em; } -/** - * Strict object type check. Only returns true - * for plain JavaScript objects. - */ -function isPlainObject (obj) { - return _toString.call(obj) === '[object Object]' +.material-icons.title-icon.title-icon--explicit { + color: hsl(240, 5%, 59%); } -function isRegExp (v) { - return _toString.call(v) === '[object RegExp]' +.material-icons.title-icon.title-icon--new { + color: hsl(27, 100%, 50%); } -/** - * Check if val is a valid array index. - */ -function isValidArrayIndex (val) { - var n = parseFloat(String(val)); - return n >= 0 && Math.floor(n) === n && isFinite(val) +.material-icons.disabled { + opacity: 0.5; + cursor: default; } -function isPromise (val) { - return ( - isDef(val) && - typeof val.then === 'function' && - typeof val.catch === 'function' - ) +.material-icons.mirrored { + transform: scaleX(-1); } +`;styleInject(css_248z);var css_248z$1=`/* cyrillic-ext */ -/** - * Convert a value to a string that is actually rendered. - */ -function toString (val) { - return val == null - ? '' - : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) - ? JSON.stringify(val, null, 2) - : String(val) -} +@font-face { + font-family: 'Open Sans'; -/** - * Convert an input value to a number for persistence. - * If the conversion fails, return original string. - */ -function toNumber (val) { - var n = parseFloat(val); - return isNaN(n) ? val : n -} + font-style: italic; -/** - * Make a map and return a function for checking if a key - * is in that map. - */ -function makeMap ( - str, - expectsLowerCase -) { - var map = Object.create(null); - var list = str.split(','); - for (var i = 0; i < list.length; i++) { - map[list[i]] = true; - } - return expectsLowerCase - ? function (val) { return map[val.toLowerCase()]; } - : function (val) { return map[val]; } -} - -/** - * Check if a tag is a built-in tag. - */ -var isBuiltInTag = makeMap('slot,component', true); - -/** - * Check if an attribute is a reserved attribute. - */ -var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); - -/** - * Remove an item from an array. - */ -function remove (arr, item) { - if (arr.length) { - var index = arr.indexOf(item); - if (index > -1) { - return arr.splice(index, 1) - } - } -} + font-weight: 300; -/** - * Check whether an object has the property. - */ -var hasOwnProperty = Object.prototype.hasOwnProperty; -function hasOwn (obj, key) { - return hasOwnProperty.call(obj, key) -} - -/** - * Create a cached version of a pure function. - */ -function cached (fn) { - var cache = Object.create(null); - return (function cachedFn (str) { - var hit = cache[str]; - return hit || (cache[str] = fn(str)) - }) -} - -/** - * Camelize a hyphen-delimited string. - */ -var camelizeRE = /-(\w)/g; -var camelize = cached(function (str) { - return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) -}); - -/** - * Capitalize a string. - */ -var capitalize = cached(function (str) { - return str.charAt(0).toUpperCase() + str.slice(1) -}); - -/** - * Hyphenate a camelCase string. - */ -var hyphenateRE = /\B([A-Z])/g; -var hyphenate = cached(function (str) { - return str.replace(hyphenateRE, '-$1').toLowerCase() -}); - -/** - * Simple bind polyfill for environments that do not support it, - * e.g., PhantomJS 1.x. Technically, we don't need this anymore - * since native bind is now performant enough in most browsers. - * But removing it would mean breaking code that was able to run in - * PhantomJS 1.x, so this must be kept for backward compatibility. - */ - -/* istanbul ignore next */ -function polyfillBind (fn, ctx) { - function boundFn (a) { - var l = arguments.length; - return l - ? l > 1 - ? fn.apply(ctx, arguments) - : fn.call(ctx, a) - : fn.call(ctx) - } + font-display: swap; - boundFn._length = fn.length; - return boundFn -} + src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2') format('woff2'); -function nativeBind (fn, ctx) { - return fn.bind(ctx) + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } -var bind = Function.prototype.bind - ? nativeBind - : polyfillBind; +/* cyrillic */ -/** - * Convert an Array-like object to a real Array. - */ -function toArray (list, start) { - start = start || 0; - var i = list.length - start; - var ret = new Array(i); - while (i--) { - ret[i] = list[i + start]; - } - return ret -} +@font-face { + font-family: 'Open Sans'; -/** - * Mix properties into target object. - */ -function extend (to, _from) { - for (var key in _from) { - to[key] = _from[key]; - } - return to -} - -/** - * Merge an Array of Objects into a single Object. - */ -function toObject (arr) { - var res = {}; - for (var i = 0; i < arr.length; i++) { - if (arr[i]) { - extend(res, arr[i]); - } - } - return res -} - -/* eslint-disable no-unused-vars */ - -/** - * Perform no operation. - * Stubbing args to make Flow happy without leaving useless transpiled code - * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). - */ -function noop (a, b, c) {} - -/** - * Always return false. - */ -var no = function (a, b, c) { return false; }; - -/* eslint-enable no-unused-vars */ - -/** - * Return the same value. - */ -var identity = function (_) { return _; }; - -/** - * Generate a string containing static keys from compiler modules. - */ -function genStaticKeys (modules) { - return modules.reduce(function (keys, m) { - return keys.concat(m.staticKeys || []) - }, []).join(',') -} - -/** - * Check if two values are loosely equal - that is, - * if they are plain objects, do they have the same shape? - */ -function looseEqual (a, b) { - if (a === b) { return true } - var isObjectA = isObject(a); - var isObjectB = isObject(b); - if (isObjectA && isObjectB) { - try { - var isArrayA = Array.isArray(a); - var isArrayB = Array.isArray(b); - if (isArrayA && isArrayB) { - return a.length === b.length && a.every(function (e, i) { - return looseEqual(e, b[i]) - }) - } else if (a instanceof Date && b instanceof Date) { - return a.getTime() === b.getTime() - } else if (!isArrayA && !isArrayB) { - var keysA = Object.keys(a); - var keysB = Object.keys(b); - return keysA.length === keysB.length && keysA.every(function (key) { - return looseEqual(a[key], b[key]) - }) - } else { - /* istanbul ignore next */ - return false - } - } catch (e) { - /* istanbul ignore next */ - return false - } - } else if (!isObjectA && !isObjectB) { - return String(a) === String(b) - } else { - return false - } -} + font-style: italic; -/** - * Return the first index at which a loosely equal value can be - * found in the array (if value is a plain object, the array must - * contain an object of the same shape), or -1 if it is not present. - */ -function looseIndexOf (arr, val) { - for (var i = 0; i < arr.length; i++) { - if (looseEqual(arr[i], val)) { return i } - } - return -1 -} - -/** - * Ensure a function is called only once. - */ -function once (fn) { - var called = false; - return function () { - if (!called) { - called = true; - fn.apply(this, arguments); - } - } -} + font-weight: 300; -var SSR_ATTR = 'data-server-rendered'; - -var ASSET_TYPES = [ - 'component', - 'directive', - 'filter' -]; - -var LIFECYCLE_HOOKS = [ - 'beforeCreate', - 'created', - 'beforeMount', - 'mounted', - 'beforeUpdate', - 'updated', - 'beforeDestroy', - 'destroyed', - 'activated', - 'deactivated', - 'errorCaptured', - 'serverPrefetch' -]; - -/* */ - - - -var config = ({ - /** - * Option merge strategies (used in core/util/options) - */ - // $flow-disable-line - optionMergeStrategies: Object.create(null), - - /** - * Whether to suppress warnings. - */ - silent: false, - - /** - * Show production mode tip message on boot? - */ - productionTip: "development" !== 'production', - - /** - * Whether to enable devtools - */ - devtools: "development" !== 'production', - - /** - * Whether to record perf - */ - performance: false, - - /** - * Error handler for watcher errors - */ - errorHandler: null, - - /** - * Warn handler for watcher warns - */ - warnHandler: null, - - /** - * Ignore certain custom elements - */ - ignoredElements: [], - - /** - * Custom user key aliases for v-on - */ - // $flow-disable-line - keyCodes: Object.create(null), - - /** - * Check if a tag is reserved so that it cannot be registered as a - * component. This is platform-dependent and may be overwritten. - */ - isReservedTag: no, - - /** - * Check if an attribute is reserved so that it cannot be used as a component - * prop. This is platform-dependent and may be overwritten. - */ - isReservedAttr: no, - - /** - * Check if a tag is an unknown element. - * Platform-dependent. - */ - isUnknownElement: no, - - /** - * Get the namespace of an element - */ - getTagNamespace: noop, - - /** - * Parse the real tag name for the specific platform. - */ - parsePlatformTagName: identity, - - /** - * Check if an attribute must be bound using property, e.g. value - * Platform-dependent. - */ - mustUseProp: no, - - /** - * Perform updates asynchronously. Intended to be used by Vue Test Utils - * This will significantly reduce performance if set to false. - */ - async: true, - - /** - * Exposed for legacy reasons - */ - _lifecycleHooks: LIFECYCLE_HOOKS -}); - -/* */ - -/** - * unicode letters used for parsing html tags, component names and property paths. - * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname - * skipping \u10000-\uEFFFF due to it freezing up PhantomJS - */ -var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; - -/** - * Check if a string starts with $ or _ - */ -function isReserved (str) { - var c = (str + '').charCodeAt(0); - return c === 0x24 || c === 0x5F -} - -/** - * Define a property. - */ -function def (obj, key, val, enumerable) { - Object.defineProperty(obj, key, { - value: val, - enumerable: !!enumerable, - writable: true, - configurable: true - }); -} - -/** - * Parse simple path. - */ -var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]")); -function parsePath (path) { - if (bailRE.test(path)) { - return - } - var segments = path.split('.'); - return function (obj) { - for (var i = 0; i < segments.length; i++) { - if (!obj) { return } - obj = obj[segments[i]]; - } - return obj - } -} + font-display: swap; -/* */ - -// can we use __proto__? -var hasProto = '__proto__' in {}; - -// Browser environment sniffing -var inBrowser = typeof window !== 'undefined'; -var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; -var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); -var UA = inBrowser && window.navigator.userAgent.toLowerCase(); -var isIE = UA && /msie|trident/.test(UA); -var isIE9 = UA && UA.indexOf('msie 9.0') > 0; -var isEdge = UA && UA.indexOf('edge/') > 0; -var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); -var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); -var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; -var isPhantomJS = UA && /phantomjs/.test(UA); -var isFF = UA && UA.match(/firefox\/(\d+)/); - -// Firefox has a "watch" function on Object.prototype... -var nativeWatch = ({}).watch; - -var supportsPassive = false; -if (inBrowser) { - try { - var opts = {}; - Object.defineProperty(opts, 'passive', ({ - get: function get () { - /* istanbul ignore next */ - supportsPassive = true; - } - })); // https://github.com/facebook/flow/issues/285 - window.addEventListener('test-passive', null, opts); - } catch (e) {} -} - -// this needs to be lazy-evaled because vue may be required before -// vue-server-renderer can set VUE_ENV -var _isServer; -var isServerRendering = function () { - if (_isServer === undefined) { - /* istanbul ignore if */ - if (!inBrowser && !inWeex && typeof global !== 'undefined') { - // detect presence of vue-server-renderer and avoid - // Webpack shimming the process - _isServer = global['process'] && global['process'].env.VUE_ENV === 'server'; - } else { - _isServer = false; - } - } - return _isServer -}; - -// detect devtools -var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; - -/* istanbul ignore next */ -function isNative (Ctor) { - return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) -} - -var hasSymbol = - typeof Symbol !== 'undefined' && isNative(Symbol) && - typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); - -var _Set; -/* istanbul ignore if */ // $flow-disable-line -if (typeof Set !== 'undefined' && isNative(Set)) { - // use native Set when available. - _Set = Set; -} else { - // a non-standard Set polyfill that only works with primitive keys. - _Set = /*@__PURE__*/(function () { - function Set () { - this.set = Object.create(null); - } - Set.prototype.has = function has (key) { - return this.set[key] === true - }; - Set.prototype.add = function add (key) { - this.set[key] = true; - }; - Set.prototype.clear = function clear () { - this.set = Object.create(null); - }; - - return Set; - }()); -} - -/* */ - -var warn = noop; -var tip = noop; -var generateComponentTrace = (noop); // work around flow check -var formatComponentName = (noop); - -{ - var hasConsole = typeof console !== 'undefined'; - var classifyRE = /(?:^|[-_])(\w)/g; - var classify = function (str) { return str - .replace(classifyRE, function (c) { return c.toUpperCase(); }) - .replace(/[-_]/g, ''); }; - - warn = function (msg, vm) { - var trace = vm ? generateComponentTrace(vm) : ''; - - if (config.warnHandler) { - config.warnHandler.call(null, msg, vm, trace); - } else if (hasConsole && (!config.silent)) { - console.error(("[Vue warn]: " + msg + trace)); - } - }; - - tip = function (msg, vm) { - if (hasConsole && (!config.silent)) { - console.warn("[Vue tip]: " + msg + ( - vm ? generateComponentTrace(vm) : '' - )); - } - }; - - formatComponentName = function (vm, includeFile) { - if (vm.$root === vm) { - return '' - } - var options = typeof vm === 'function' && vm.cid != null - ? vm.options - : vm._isVue - ? vm.$options || vm.constructor.options - : vm; - var name = options.name || options._componentTag; - var file = options.__file; - if (!name && file) { - var match = file.match(/([^/\\]+)\.vue$/); - name = match && match[1]; - } - - return ( - (name ? ("<" + (classify(name)) + ">") : "") + - (file && includeFile !== false ? (" at " + file) : '') - ) - }; - - var repeat = function (str, n) { - var res = ''; - while (n) { - if (n % 2 === 1) { res += str; } - if (n > 1) { str += str; } - n >>= 1; - } - return res - }; - - generateComponentTrace = function (vm) { - if (vm._isVue && vm.$parent) { - var tree = []; - var currentRecursiveSequence = 0; - while (vm) { - if (tree.length > 0) { - var last = tree[tree.length - 1]; - if (last.constructor === vm.constructor) { - currentRecursiveSequence++; - vm = vm.$parent; - continue - } else if (currentRecursiveSequence > 0) { - tree[tree.length - 1] = [last, currentRecursiveSequence]; - currentRecursiveSequence = 0; - } - } - tree.push(vm); - vm = vm.$parent; - } - return '\n\nfound in\n\n' + tree - .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) - ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") - : formatComponentName(vm))); }) - .join('\n') - } else { - return ("\n\n(found in " + (formatComponentName(vm)) + ")") - } - }; -} - -/* */ - -var uid = 0; - -/** - * A dep is an observable that can have multiple - * directives subscribing to it. - */ -var Dep = function Dep () { - this.id = uid++; - this.subs = []; -}; - -Dep.prototype.addSub = function addSub (sub) { - this.subs.push(sub); -}; - -Dep.prototype.removeSub = function removeSub (sub) { - remove(this.subs, sub); -}; - -Dep.prototype.depend = function depend () { - if (Dep.target) { - Dep.target.addDep(this); - } -}; - -Dep.prototype.notify = function notify () { - // stabilize the subscriber list first - var subs = this.subs.slice(); - if ( !config.async) { - // subs aren't sorted in scheduler if not running async - // we need to sort them now to make sure they fire in correct - // order - subs.sort(function (a, b) { return a.id - b.id; }); - } - for (var i = 0, l = subs.length; i < l; i++) { - subs[i].update(); - } -}; - -// The current target watcher being evaluated. -// This is globally unique because only one watcher -// can be evaluated at a time. -Dep.target = null; -var targetStack = []; - -function pushTarget (target) { - targetStack.push(target); - Dep.target = target; -} - -function popTarget () { - targetStack.pop(); - Dep.target = targetStack[targetStack.length - 1]; -} - -/* */ - -var VNode = function VNode ( - tag, - data, - children, - text, - elm, - context, - componentOptions, - asyncFactory -) { - this.tag = tag; - this.data = data; - this.children = children; - this.text = text; - this.elm = elm; - this.ns = undefined; - this.context = context; - this.fnContext = undefined; - this.fnOptions = undefined; - this.fnScopeId = undefined; - this.key = data && data.key; - this.componentOptions = componentOptions; - this.componentInstance = undefined; - this.parent = undefined; - this.raw = false; - this.isStatic = false; - this.isRootInsert = true; - this.isComment = false; - this.isCloned = false; - this.isOnce = false; - this.asyncFactory = asyncFactory; - this.asyncMeta = undefined; - this.isAsyncPlaceholder = false; -}; - -var prototypeAccessors = { child: { configurable: true } }; - -// DEPRECATED: alias for componentInstance for backwards compat. -/* istanbul ignore next */ -prototypeAccessors.child.get = function () { - return this.componentInstance -}; - -Object.defineProperties( VNode.prototype, prototypeAccessors ); - -var createEmptyVNode = function (text) { - if ( text === void 0 ) text = ''; - - var node = new VNode(); - node.text = text; - node.isComment = true; - return node -}; - -function createTextVNode (val) { - return new VNode(undefined, undefined, undefined, String(val)) -} - -// optimized shallow clone -// used for static nodes and slot nodes because they may be reused across -// multiple renders, cloning them avoids errors when DOM manipulations rely -// on their elm reference. -function cloneVNode (vnode) { - var cloned = new VNode( - vnode.tag, - vnode.data, - // #7975 - // clone children array to avoid mutating original in case of cloning - // a child. - vnode.children && vnode.children.slice(), - vnode.text, - vnode.elm, - vnode.context, - vnode.componentOptions, - vnode.asyncFactory - ); - cloned.ns = vnode.ns; - cloned.isStatic = vnode.isStatic; - cloned.key = vnode.key; - cloned.isComment = vnode.isComment; - cloned.fnContext = vnode.fnContext; - cloned.fnOptions = vnode.fnOptions; - cloned.fnScopeId = vnode.fnScopeId; - cloned.asyncMeta = vnode.asyncMeta; - cloned.isCloned = true; - return cloned -} - -/* - * not type checking this file because flow doesn't play well with - * dynamically accessing methods on Array prototype - */ - -var arrayProto = Array.prototype; -var arrayMethods = Object.create(arrayProto); - -var methodsToPatch = [ - 'push', - 'pop', - 'shift', - 'unshift', - 'splice', - 'sort', - 'reverse' -]; - -/** - * Intercept mutating methods and emit events - */ -methodsToPatch.forEach(function (method) { - // cache original method - var original = arrayProto[method]; - def(arrayMethods, method, function mutator () { - var args = [], len = arguments.length; - while ( len-- ) args[ len ] = arguments[ len ]; - - var result = original.apply(this, args); - var ob = this.__ob__; - var inserted; - switch (method) { - case 'push': - case 'unshift': - inserted = args; - break - case 'splice': - inserted = args.slice(2); - break - } - if (inserted) { ob.observeArray(inserted); } - // notify change - ob.dep.notify(); - return result - }); -}); - -/* */ - -var arrayKeys = Object.getOwnPropertyNames(arrayMethods); - -/** - * In some cases we may want to disable observation inside a component's - * update computation. - */ -var shouldObserve = true; - -function toggleObserving (value) { - shouldObserve = value; -} - -/** - * Observer class that is attached to each observed - * object. Once attached, the observer converts the target - * object's property keys into getter/setters that - * collect dependencies and dispatch updates. - */ -var Observer = function Observer (value) { - this.value = value; - this.dep = new Dep(); - this.vmCount = 0; - def(value, '__ob__', this); - if (Array.isArray(value)) { - if (hasProto) { - protoAugment(value, arrayMethods); - } else { - copyAugment(value, arrayMethods, arrayKeys); - } - this.observeArray(value); - } else { - this.walk(value); - } -}; - -/** - * Walk through all properties and convert them into - * getter/setters. This method should only be called when - * value type is Object. - */ -Observer.prototype.walk = function walk (obj) { - var keys = Object.keys(obj); - for (var i = 0; i < keys.length; i++) { - defineReactive$$1(obj, keys[i]); - } -}; - -/** - * Observe a list of Array items. - */ -Observer.prototype.observeArray = function observeArray (items) { - for (var i = 0, l = items.length; i < l; i++) { - observe(items[i]); - } -}; - -// helpers - -/** - * Augment a target Object or Array by intercepting - * the prototype chain using __proto__ - */ -function protoAugment (target, src) { - /* eslint-disable no-proto */ - target.__proto__ = src; - /* eslint-enable no-proto */ -} - -/** - * Augment a target Object or Array by defining - * hidden properties. - */ -/* istanbul ignore next */ -function copyAugment (target, src, keys) { - for (var i = 0, l = keys.length; i < l; i++) { - var key = keys[i]; - def(target, key, src[key]); - } + src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2') format('woff2'); + + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } -/** - * Attempt to create an observer instance for a value, - * returns the new observer if successfully observed, - * or the existing observer if the value already has one. - */ -function observe (value, asRootData) { - if (!isObject(value) || value instanceof VNode) { - return - } - var ob; - if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { - ob = value.__ob__; - } else if ( - shouldObserve && - !isServerRendering() && - (Array.isArray(value) || isPlainObject(value)) && - Object.isExtensible(value) && - !value._isVue - ) { - ob = new Observer(value); - } - if (asRootData && ob) { - ob.vmCount++; - } - return ob -} - -/** - * Define a reactive property on an Object. - */ -function defineReactive$$1 ( - obj, - key, - val, - customSetter, - shallow -) { - var dep = new Dep(); - - var property = Object.getOwnPropertyDescriptor(obj, key); - if (property && property.configurable === false) { - return - } +/* greek-ext */ - // cater for pre-defined getter/setters - var getter = property && property.get; - var setter = property && property.set; - if ((!getter || setter) && arguments.length === 2) { - val = obj[key]; - } +@font-face { + font-family: 'Open Sans'; - var childOb = !shallow && observe(val); - Object.defineProperty(obj, key, { - enumerable: true, - configurable: true, - get: function reactiveGetter () { - var value = getter ? getter.call(obj) : val; - if (Dep.target) { - dep.depend(); - if (childOb) { - childOb.dep.depend(); - if (Array.isArray(value)) { - dependArray(value); - } - } - } - return value - }, - set: function reactiveSetter (newVal) { - var value = getter ? getter.call(obj) : val; - /* eslint-disable no-self-compare */ - if (newVal === value || (newVal !== newVal && value !== value)) { - return - } - /* eslint-enable no-self-compare */ - if ( customSetter) { - customSetter(); - } - // #7981: for accessor properties without setter - if (getter && !setter) { return } - if (setter) { - setter.call(obj, newVal); - } else { - val = newVal; - } - childOb = !shallow && observe(newVal); - dep.notify(); - } - }); -} - -/** - * Set a property on an object. Adds the new property and - * triggers change notification if the property doesn't - * already exist. - */ -function set (target, key, val) { - if ( - (isUndef(target) || isPrimitive(target)) - ) { - warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target)))); - } - if (Array.isArray(target) && isValidArrayIndex(key)) { - target.length = Math.max(target.length, key); - target.splice(key, 1, val); - return val - } - if (key in target && !(key in Object.prototype)) { - target[key] = val; - return val - } - var ob = (target).__ob__; - if (target._isVue || (ob && ob.vmCount)) { - warn( - 'Avoid adding reactive properties to a Vue instance or its root $data ' + - 'at runtime - declare it upfront in the data option.' - ); - return val - } - if (!ob) { - target[key] = val; - return val - } - defineReactive$$1(ob.value, key, val); - ob.dep.notify(); - return val -} - -/** - * Delete a property and trigger change if necessary. - */ -function del (target, key) { - if ( - (isUndef(target) || isPrimitive(target)) - ) { - warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target)))); - } - if (Array.isArray(target) && isValidArrayIndex(key)) { - target.splice(key, 1); - return - } - var ob = (target).__ob__; - if (target._isVue || (ob && ob.vmCount)) { - warn( - 'Avoid deleting properties on a Vue instance or its root $data ' + - '- just set it to null.' - ); - return - } - if (!hasOwn(target, key)) { - return - } - delete target[key]; - if (!ob) { - return - } - ob.dep.notify(); -} - -/** - * Collect dependencies on array elements when the array is touched, since - * we cannot intercept array element access like property getters. - */ -function dependArray (value) { - for (var e = (void 0), i = 0, l = value.length; i < l; i++) { - e = value[i]; - e && e.__ob__ && e.__ob__.dep.depend(); - if (Array.isArray(e)) { - dependArray(e); - } - } -} + font-style: italic; -/* */ - -/** - * Option overwriting strategies are functions that handle - * how to merge a parent option value and a child option - * value into the final value. - */ -var strats = config.optionMergeStrategies; - -/** - * Options with restrictions - */ -{ - strats.el = strats.propsData = function (parent, child, vm, key) { - if (!vm) { - warn( - "option \"" + key + "\" can only be used during instance " + - 'creation with the `new` keyword.' - ); - } - return defaultStrat(parent, child) - }; -} - -/** - * Helper that recursively merges two data objects together. - */ -function mergeData (to, from) { - if (!from) { return to } - var key, toVal, fromVal; - - var keys = hasSymbol - ? Reflect.ownKeys(from) - : Object.keys(from); - - for (var i = 0; i < keys.length; i++) { - key = keys[i]; - // in case the object is already observed... - if (key === '__ob__') { continue } - toVal = to[key]; - fromVal = from[key]; - if (!hasOwn(to, key)) { - set(to, key, fromVal); - } else if ( - toVal !== fromVal && - isPlainObject(toVal) && - isPlainObject(fromVal) - ) { - mergeData(toVal, fromVal); - } - } - return to -} - -/** - * Data - */ -function mergeDataOrFn ( - parentVal, - childVal, - vm -) { - if (!vm) { - // in a Vue.extend merge, both should be functions - if (!childVal) { - return parentVal - } - if (!parentVal) { - return childVal - } - // when parentVal & childVal are both present, - // we need to return a function that returns the - // merged result of both functions... no need to - // check if parentVal is a function here because - // it has to be a function to pass previous merges. - return function mergedDataFn () { - return mergeData( - typeof childVal === 'function' ? childVal.call(this, this) : childVal, - typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal - ) - } - } else { - return function mergedInstanceDataFn () { - // instance merge - var instanceData = typeof childVal === 'function' - ? childVal.call(vm, vm) - : childVal; - var defaultData = typeof parentVal === 'function' - ? parentVal.call(vm, vm) - : parentVal; - if (instanceData) { - return mergeData(instanceData, defaultData) - } else { - return defaultData - } - } - } -} + font-weight: 300; -strats.data = function ( - parentVal, - childVal, - vm -) { - if (!vm) { - if (childVal && typeof childVal !== 'function') { - warn( - 'The "data" option should be a function ' + - 'that returns a per-instance value in component ' + - 'definitions.', - vm - ); - - return parentVal - } - return mergeDataOrFn(parentVal, childVal) - } + font-display: swap; - return mergeDataOrFn(parentVal, childVal, vm) -}; - -/** - * Hooks and props are merged as arrays. - */ -function mergeHook ( - parentVal, - childVal -) { - var res = childVal - ? parentVal - ? parentVal.concat(childVal) - : Array.isArray(childVal) - ? childVal - : [childVal] - : parentVal; - return res - ? dedupeHooks(res) - : res -} - -function dedupeHooks (hooks) { - var res = []; - for (var i = 0; i < hooks.length; i++) { - if (res.indexOf(hooks[i]) === -1) { - res.push(hooks[i]); - } - } - return res -} - -LIFECYCLE_HOOKS.forEach(function (hook) { - strats[hook] = mergeHook; -}); - -/** - * Assets - * - * When a vm is present (instance creation), we need to do - * a three-way merge between constructor options, instance - * options and parent options. - */ -function mergeAssets ( - parentVal, - childVal, - vm, - key -) { - var res = Object.create(parentVal || null); - if (childVal) { - assertObjectType(key, childVal, vm); - return extend(res, childVal) - } else { - return res - } -} + src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2') format('woff2'); -ASSET_TYPES.forEach(function (type) { - strats[type + 's'] = mergeAssets; -}); - -/** - * Watchers. - * - * Watchers hashes should not overwrite one - * another, so we merge them as arrays. - */ -strats.watch = function ( - parentVal, - childVal, - vm, - key -) { - // work around Firefox's Object.prototype.watch... - if (parentVal === nativeWatch) { parentVal = undefined; } - if (childVal === nativeWatch) { childVal = undefined; } - /* istanbul ignore if */ - if (!childVal) { return Object.create(parentVal || null) } - { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { return childVal } - var ret = {}; - extend(ret, parentVal); - for (var key$1 in childVal) { - var parent = ret[key$1]; - var child = childVal[key$1]; - if (parent && !Array.isArray(parent)) { - parent = [parent]; - } - ret[key$1] = parent - ? parent.concat(child) - : Array.isArray(child) ? child : [child]; - } - return ret -}; - -/** - * Other object hashes. - */ -strats.props = -strats.methods = -strats.inject = -strats.computed = function ( - parentVal, - childVal, - vm, - key -) { - if (childVal && "development" !== 'production') { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { return childVal } - var ret = Object.create(null); - extend(ret, parentVal); - if (childVal) { extend(ret, childVal); } - return ret -}; -strats.provide = mergeDataOrFn; - -/** - * Default strategy. - */ -var defaultStrat = function (parentVal, childVal) { - return childVal === undefined - ? parentVal - : childVal -}; - -/** - * Validate component names - */ -function checkComponents (options) { - for (var key in options.components) { - validateComponentName(key); - } + unicode-range: U+1F00-1FFF; } -function validateComponentName (name) { - if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) { - warn( - 'Invalid component name: "' + name + '". Component names ' + - 'should conform to valid custom element name in html5 specification.' - ); - } - if (isBuiltInTag(name) || config.isReservedTag(name)) { - warn( - 'Do not use built-in or reserved HTML elements as component ' + - 'id: ' + name - ); - } -} +/* greek */ -/** - * Ensure all props option syntax are normalized into the - * Object-based format. - */ -function normalizeProps (options, vm) { - var props = options.props; - if (!props) { return } - var res = {}; - var i, val, name; - if (Array.isArray(props)) { - i = props.length; - while (i--) { - val = props[i]; - if (typeof val === 'string') { - name = camelize(val); - res[name] = { type: null }; - } else { - warn('props must be strings when using array syntax.'); - } - } - } else if (isPlainObject(props)) { - for (var key in props) { - val = props[key]; - name = camelize(key); - res[name] = isPlainObject(val) - ? val - : { type: val }; - } - } else { - warn( - "Invalid value for option \"props\": expected an Array or an Object, " + - "but got " + (toRawType(props)) + ".", - vm - ); - } - options.props = res; -} - -/** - * Normalize all injections into Object-based format - */ -function normalizeInject (options, vm) { - var inject = options.inject; - if (!inject) { return } - var normalized = options.inject = {}; - if (Array.isArray(inject)) { - for (var i = 0; i < inject.length; i++) { - normalized[inject[i]] = { from: inject[i] }; - } - } else if (isPlainObject(inject)) { - for (var key in inject) { - var val = inject[key]; - normalized[key] = isPlainObject(val) - ? extend({ from: key }, val) - : { from: val }; - } - } else { - warn( - "Invalid value for option \"inject\": expected an Array or an Object, " + - "but got " + (toRawType(inject)) + ".", - vm - ); - } -} +@font-face { + font-family: 'Open Sans'; -/** - * Normalize raw function directives into object format. - */ -function normalizeDirectives (options) { - var dirs = options.directives; - if (dirs) { - for (var key in dirs) { - var def$$1 = dirs[key]; - if (typeof def$$1 === 'function') { - dirs[key] = { bind: def$$1, update: def$$1 }; - } - } - } -} + font-style: italic; -function assertObjectType (name, value, vm) { - if (!isPlainObject(value)) { - warn( - "Invalid value for option \"" + name + "\": expected an Object, " + - "but got " + (toRawType(value)) + ".", - vm - ); - } + font-weight: 300; + + font-display: swap; + + src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2') format('woff2'); + + unicode-range: U+0370-03FF; } -/** - * Merge two option objects into a new one. - * Core utility used in both instantiation and inheritance. - */ -function mergeOptions ( - parent, - child, - vm -) { - { - checkComponents(child); - } +/* vietnamese */ - if (typeof child === 'function') { - child = child.options; - } +@font-face { + font-family: 'Open Sans'; - normalizeProps(child, vm); - normalizeInject(child, vm); - normalizeDirectives(child); - - // Apply extends and mixins on the child options, - // but only if it is a raw options object that isn't - // the result of another mergeOptions call. - // Only merged options has the _base property. - if (!child._base) { - if (child.extends) { - parent = mergeOptions(parent, child.extends, vm); - } - if (child.mixins) { - for (var i = 0, l = child.mixins.length; i < l; i++) { - parent = mergeOptions(parent, child.mixins[i], vm); - } - } - } + font-style: italic; - var options = {}; - var key; - for (key in parent) { - mergeField(key); - } - for (key in child) { - if (!hasOwn(parent, key)) { - mergeField(key); - } - } - function mergeField (key) { - var strat = strats[key] || defaultStrat; - options[key] = strat(parent[key], child[key], vm, key); - } - return options -} - -/** - * Resolve an asset. - * This function is used because child instances need access - * to assets defined in its ancestor chain. - */ -function resolveAsset ( - options, - type, - id, - warnMissing -) { - /* istanbul ignore if */ - if (typeof id !== 'string') { - return - } - var assets = options[type]; - // check local registration variations first - if (hasOwn(assets, id)) { return assets[id] } - var camelizedId = camelize(id); - if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } - var PascalCaseId = capitalize(camelizedId); - if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } - // fallback to prototype chain - var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; - if ( warnMissing && !res) { - warn( - 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, - options - ); - } - return res -} - -/* */ - - - -function validateProp ( - key, - propOptions, - propsData, - vm -) { - var prop = propOptions[key]; - var absent = !hasOwn(propsData, key); - var value = propsData[key]; - // boolean casting - var booleanIndex = getTypeIndex(Boolean, prop.type); - if (booleanIndex > -1) { - if (absent && !hasOwn(prop, 'default')) { - value = false; - } else if (value === '' || value === hyphenate(key)) { - // only cast empty string / same name to boolean if - // boolean has higher priority - var stringIndex = getTypeIndex(String, prop.type); - if (stringIndex < 0 || booleanIndex < stringIndex) { - value = true; - } - } - } - // check default value - if (value === undefined) { - value = getPropDefaultValue(vm, prop, key); - // since the default value is a fresh copy, - // make sure to observe it. - var prevShouldObserve = shouldObserve; - toggleObserving(true); - observe(value); - toggleObserving(prevShouldObserve); - } - { - assertProp(prop, key, value, vm, absent); - } - return value -} + font-weight: 300; -/** - * Get the default value of a prop. - */ -function getPropDefaultValue (vm, prop, key) { - // no default, return undefined - if (!hasOwn(prop, 'default')) { - return undefined - } - var def = prop.default; - // warn against non-factory defaults for Object & Array - if ( isObject(def)) { - warn( - 'Invalid default value for prop "' + key + '": ' + - 'Props with type Object/Array must use a factory function ' + - 'to return the default value.', - vm - ); - } - // the raw prop value was also undefined from previous render, - // return previous default value to avoid unnecessary watcher trigger - if (vm && vm.$options.propsData && - vm.$options.propsData[key] === undefined && - vm._props[key] !== undefined - ) { - return vm._props[key] - } - // call factory function for non-Function types - // a value is Function if its prototype is function even across different execution context - return typeof def === 'function' && getType(prop.type) !== 'Function' - ? def.call(vm) - : def -} - -/** - * Assert whether a prop is valid. - */ -function assertProp ( - prop, - name, - value, - vm, - absent -) { - if (prop.required && absent) { - warn( - 'Missing required prop: "' + name + '"', - vm - ); - return - } - if (value == null && !prop.required) { - return - } - var type = prop.type; - var valid = !type || type === true; - var expectedTypes = []; - if (type) { - if (!Array.isArray(type)) { - type = [type]; - } - for (var i = 0; i < type.length && !valid; i++) { - var assertedType = assertType(value, type[i]); - expectedTypes.push(assertedType.expectedType || ''); - valid = assertedType.valid; - } - } + font-display: swap; - if (!valid) { - warn( - getInvalidTypeMessage(name, value, expectedTypes), - vm - ); - return - } - var validator = prop.validator; - if (validator) { - if (!validator(value)) { - warn( - 'Invalid prop: custom validator check failed for prop "' + name + '".', - vm - ); - } - } -} + src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2') format('woff2'); -var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; - -function assertType (value, type) { - var valid; - var expectedType = getType(type); - if (simpleCheckRE.test(expectedType)) { - var t = typeof value; - valid = t === expectedType.toLowerCase(); - // for primitive wrapper objects - if (!valid && t === 'object') { - valid = value instanceof type; - } - } else if (expectedType === 'Object') { - valid = isPlainObject(value); - } else if (expectedType === 'Array') { - valid = Array.isArray(value); - } else { - valid = value instanceof type; - } - return { - valid: valid, - expectedType: expectedType - } + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } -/** - * Use function string name to check built-in types, - * because a simple equality check will fail when running - * across different vms / iframes. - */ -function getType (fn) { - var match = fn && fn.toString().match(/^\s*function (\w+)/); - return match ? match[1] : '' -} +/* latin-ext */ -function isSameType (a, b) { - return getType(a) === getType(b) -} +@font-face { + font-family: 'Open Sans'; -function getTypeIndex (type, expectedTypes) { - if (!Array.isArray(expectedTypes)) { - return isSameType(expectedTypes, type) ? 0 : -1 - } - for (var i = 0, len = expectedTypes.length; i < len; i++) { - if (isSameType(expectedTypes[i], type)) { - return i - } - } - return -1 -} - -function getInvalidTypeMessage (name, value, expectedTypes) { - var message = "Invalid prop: type check failed for prop \"" + name + "\"." + - " Expected " + (expectedTypes.map(capitalize).join(', ')); - var expectedType = expectedTypes[0]; - var receivedType = toRawType(value); - var expectedValue = styleValue(value, expectedType); - var receivedValue = styleValue(value, receivedType); - // check if we need to specify expected value - if (expectedTypes.length === 1 && - isExplicable(expectedType) && - !isBoolean(expectedType, receivedType)) { - message += " with value " + expectedValue; - } - message += ", got " + receivedType + " "; - // check if we need to specify received value - if (isExplicable(receivedType)) { - message += "with value " + receivedValue + "."; - } - return message + font-style: italic; + + font-weight: 300; + + font-display: swap; + + src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2') format('woff2'); + + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } -function styleValue (value, type) { - if (type === 'String') { - return ("\"" + value + "\"") - } else if (type === 'Number') { - return ("" + (Number(value))) - } else { - return ("" + value) - } +/* latin */ + +@font-face { + font-family: 'Open Sans'; + + font-style: italic; + + font-weight: 300; + + font-display: swap; + + src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2') format('woff2'); + + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } -function isExplicable (value) { - var explicitTypes = ['string', 'number', 'boolean']; - return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; }) -} - -function isBoolean () { - var args = [], len = arguments.length; - while ( len-- ) args[ len ] = arguments[ len ]; - - return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }) -} - -/* */ - -function handleError (err, vm, info) { - // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. - // See: https://github.com/vuejs/vuex/issues/1505 - pushTarget(); - try { - if (vm) { - var cur = vm; - while ((cur = cur.$parent)) { - var hooks = cur.$options.errorCaptured; - if (hooks) { - for (var i = 0; i < hooks.length; i++) { - try { - var capture = hooks[i].call(cur, err, vm, info) === false; - if (capture) { return } - } catch (e) { - globalHandleError(e, cur, 'errorCaptured hook'); - } - } - } - } - } - globalHandleError(err, vm, info); - } finally { - popTarget(); - } +/* cyrillic-ext */ + +@font-face { + font-family: 'Open Sans'; + + font-style: italic; + + font-weight: 400; + + font-display: swap; + + src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2') format('woff2'); + + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } -function invokeWithErrorHandling ( - handler, - context, - args, - vm, - info -) { - var res; - try { - res = args ? handler.apply(context, args) : handler.call(context); - if (res && !res._isVue && isPromise(res) && !res._handled) { - res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); - // issue #9511 - // avoid catch triggering multiple times when nested calls - res._handled = true; - } - } catch (e) { - handleError(e, vm, info); - } - return res -} - -function globalHandleError (err, vm, info) { - if (config.errorHandler) { - try { - return config.errorHandler.call(null, err, vm, info) - } catch (e) { - // if the user intentionally throws the original error in the handler, - // do not log it twice - if (e !== err) { - logError(e, null, 'config.errorHandler'); - } - } - } - logError(err, vm, info); +/* cyrillic */ + +@font-face { + font-family: 'Open Sans'; + + font-style: italic; + + font-weight: 400; + + font-display: swap; + + src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2') format('woff2'); + + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } -function logError (err, vm, info) { - { - warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); - } - /* istanbul ignore else */ - if ((inBrowser || inWeex) && typeof console !== 'undefined') { - console.error(err); - } else { - throw err - } +/* greek-ext */ + +@font-face { + font-family: 'Open Sans'; + + font-style: italic; + + font-weight: 400; + + font-display: swap; + + src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2') format('woff2'); + + unicode-range: U+1F00-1FFF; } -/* */ +/* greek */ -var isUsingMicroTask = false; +@font-face { + font-family: 'Open Sans'; -var callbacks = []; -var pending = false; + font-style: italic; -function flushCallbacks () { - pending = false; - var copies = callbacks.slice(0); - callbacks.length = 0; - for (var i = 0; i < copies.length; i++) { - copies[i](); - } + font-weight: 400; + + font-display: swap; + + src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2') format('woff2'); + + unicode-range: U+0370-03FF; } -// Here we have async deferring wrappers using microtasks. -// In 2.5 we used (macro) tasks (in combination with microtasks). -// However, it has subtle problems when state is changed right before repaint -// (e.g. #6813, out-in transitions). -// Also, using (macro) tasks in event handler would cause some weird behaviors -// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). -// So we now use microtasks everywhere, again. -// A major drawback of this tradeoff is that there are some scenarios -// where microtasks have too high a priority and fire in between supposedly -// sequential events (e.g. #4521, #6690, which have workarounds) -// or even between bubbling of the same event (#6566). -var timerFunc; - -// The nextTick behavior leverages the microtask queue, which can be accessed -// via either native Promise.then or MutationObserver. -// MutationObserver has wider support, however it is seriously bugged in -// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It -// completely stops working after triggering a few times... so, if native -// Promise is available, we will use it: -/* istanbul ignore next, $flow-disable-line */ -if (typeof Promise !== 'undefined' && isNative(Promise)) { - var p = Promise.resolve(); - timerFunc = function () { - p.then(flushCallbacks); - // In problematic UIWebViews, Promise.then doesn't completely break, but - // it can get stuck in a weird state where callbacks are pushed into the - // microtask queue but the queue isn't being flushed, until the browser - // needs to do some other work, e.g. handle a timer. Therefore we can - // "force" the microtask queue to be flushed by adding an empty timer. - if (isIOS) { setTimeout(noop); } - }; - isUsingMicroTask = true; -} else if (!isIE && typeof MutationObserver !== 'undefined' && ( - isNative(MutationObserver) || - // PhantomJS and iOS 7.x - MutationObserver.toString() === '[object MutationObserverConstructor]' -)) { - // Use MutationObserver where native Promise is not available, - // e.g. PhantomJS, iOS7, Android 4.4 - // (#6466 MutationObserver is unreliable in IE11) - var counter = 1; - var observer = new MutationObserver(flushCallbacks); - var textNode = document.createTextNode(String(counter)); - observer.observe(textNode, { - characterData: true - }); - timerFunc = function () { - counter = (counter + 1) % 2; - textNode.data = String(counter); - }; - isUsingMicroTask = true; -} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { - // Fallback to setImmediate. - // Technically it leverages the (macro) task queue, - // but it is still a better choice than setTimeout. - timerFunc = function () { - setImmediate(flushCallbacks); - }; -} else { - // Fallback to setTimeout. - timerFunc = function () { - setTimeout(flushCallbacks, 0); - }; -} - -function nextTick (cb, ctx) { - var _resolve; - callbacks.push(function () { - if (cb) { - try { - cb.call(ctx); - } catch (e) { - handleError(e, ctx, 'nextTick'); - } - } else if (_resolve) { - _resolve(ctx); - } - }); - if (!pending) { - pending = true; - timerFunc(); - } - // $flow-disable-line - if (!cb && typeof Promise !== 'undefined') { - return new Promise(function (resolve) { - _resolve = resolve; - }) - } +/* vietnamese */ + +@font-face { + font-family: 'Open Sans'; + + font-style: italic; + + font-weight: 400; + + font-display: swap; + + src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2') format('woff2'); + + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } -/* */ - -var mark; -var measure; - -{ - var perf = inBrowser && window.performance; - /* istanbul ignore if */ - if ( - perf && - perf.mark && - perf.measure && - perf.clearMarks && - perf.clearMeasures - ) { - mark = function (tag) { return perf.mark(tag); }; - measure = function (name, startTag, endTag) { - perf.measure(name, startTag, endTag); - perf.clearMarks(startTag); - perf.clearMarks(endTag); - // perf.clearMeasures(name) - }; - } +/* latin-ext */ + +@font-face { + font-family: 'Open Sans'; + + font-style: italic; + + font-weight: 400; + + font-display: swap; + + src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2') format('woff2'); + + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } -/* not type checking this file because flow doesn't play well with Proxy */ - -var initProxy; - -{ - var allowedGlobals = makeMap( - 'Infinity,undefined,NaN,isFinite,isNaN,' + - 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + - 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + - 'require' // for Webpack/Browserify - ); - - var warnNonPresent = function (target, key) { - warn( - "Property or method \"" + key + "\" is not defined on the instance but " + - 'referenced during render. Make sure that this property is reactive, ' + - 'either in the data option, or for class-based components, by ' + - 'initializing the property. ' + - 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', - target - ); - }; - - var warnReservedPrefix = function (target, key) { - warn( - "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + - 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + - 'prevent conflicts with Vue internals. ' + - 'See: https://vuejs.org/v2/api/#data', - target - ); - }; - - var hasProxy = - typeof Proxy !== 'undefined' && isNative(Proxy); - - if (hasProxy) { - var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); - config.keyCodes = new Proxy(config.keyCodes, { - set: function set (target, key, value) { - if (isBuiltInModifier(key)) { - warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); - return false - } else { - target[key] = value; - return true - } - } - }); - } +/* latin */ - var hasHandler = { - has: function has (target, key) { - var has = key in target; - var isAllowed = allowedGlobals(key) || - (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); - if (!has && !isAllowed) { - if (key in target.$data) { warnReservedPrefix(target, key); } - else { warnNonPresent(target, key); } - } - return has || !isAllowed - } - }; - - var getHandler = { - get: function get (target, key) { - if (typeof key === 'string' && !(key in target)) { - if (key in target.$data) { warnReservedPrefix(target, key); } - else { warnNonPresent(target, key); } - } - return target[key] - } - }; - - initProxy = function initProxy (vm) { - if (hasProxy) { - // determine which proxy handler to use - var options = vm.$options; - var handlers = options.render && options.render._withStripped - ? getHandler - : hasHandler; - vm._renderProxy = new Proxy(vm, handlers); - } else { - vm._renderProxy = vm; - } - }; -} - -/* */ - -var seenObjects = new _Set(); - -/** - * Recursively traverse an object to evoke all converted - * getters, so that every nested property inside the object - * is collected as a "deep" dependency. - */ -function traverse (val) { - _traverse(val, seenObjects); - seenObjects.clear(); -} - -function _traverse (val, seen) { - var i, keys; - var isA = Array.isArray(val); - if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { - return - } - if (val.__ob__) { - var depId = val.__ob__.dep.id; - if (seen.has(depId)) { - return - } - seen.add(depId); - } - if (isA) { - i = val.length; - while (i--) { _traverse(val[i], seen); } - } else { - keys = Object.keys(val); - i = keys.length; - while (i--) { _traverse(val[keys[i]], seen); } - } +@font-face { + font-family: 'Open Sans'; + + font-style: italic; + + font-weight: 400; + + font-display: swap; + + src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2') format('woff2'); + + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } -/* */ - -var normalizeEvent = cached(function (name) { - var passive = name.charAt(0) === '&'; - name = passive ? name.slice(1) : name; - var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first - name = once$$1 ? name.slice(1) : name; - var capture = name.charAt(0) === '!'; - name = capture ? name.slice(1) : name; - return { - name: name, - once: once$$1, - capture: capture, - passive: passive - } -}); - -function createFnInvoker (fns, vm) { - function invoker () { - var arguments$1 = arguments; - - var fns = invoker.fns; - if (Array.isArray(fns)) { - var cloned = fns.slice(); - for (var i = 0; i < cloned.length; i++) { - invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler"); - } - } else { - // return handler return value for single handlers - return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler") - } - } - invoker.fns = fns; - return invoker -} - -function updateListeners ( - on, - oldOn, - add, - remove$$1, - createOnceHandler, - vm -) { - var name, def$$1, cur, old, event; - for (name in on) { - def$$1 = cur = on[name]; - old = oldOn[name]; - event = normalizeEvent(name); - if (isUndef(cur)) { - warn( - "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), - vm - ); - } else if (isUndef(old)) { - if (isUndef(cur.fns)) { - cur = on[name] = createFnInvoker(cur, vm); - } - if (isTrue(event.once)) { - cur = on[name] = createOnceHandler(event.name, cur, event.capture); - } - add(event.name, cur, event.capture, event.passive, event.params); - } else if (cur !== old) { - old.fns = cur; - on[name] = old; - } - } - for (name in oldOn) { - if (isUndef(on[name])) { - event = normalizeEvent(name); - remove$$1(event.name, oldOn[name], event.capture); - } - } +/* cyrillic-ext */ + +@font-face { + font-family: 'Open Sans'; + + font-style: italic; + + font-weight: 600; + + font-display: swap; + + src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2') format('woff2'); + + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } -/* */ +/* cyrillic */ -function mergeVNodeHook (def, hookKey, hook) { - if (def instanceof VNode) { - def = def.data.hook || (def.data.hook = {}); - } - var invoker; - var oldHook = def[hookKey]; - - function wrappedHook () { - hook.apply(this, arguments); - // important: remove merged hook to ensure it's called only once - // and prevent memory leak - remove(invoker.fns, wrappedHook); - } +@font-face { + font-family: 'Open Sans'; - if (isUndef(oldHook)) { - // no existing hook - invoker = createFnInvoker([wrappedHook]); - } else { - /* istanbul ignore if */ - if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { - // already a merged invoker - invoker = oldHook; - invoker.fns.push(wrappedHook); - } else { - // existing plain hook - invoker = createFnInvoker([oldHook, wrappedHook]); - } - } + font-style: italic; + + font-weight: 600; + + font-display: swap; + + src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2') format('woff2'); - invoker.merged = true; - def[hookKey] = invoker; + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } -/* */ +/* greek-ext */ -function extractPropsFromVNodeData ( - data, - Ctor, - tag -) { - // we are only extracting raw values here. - // validation and default values are handled in the child - // component itself. - var propOptions = Ctor.options.props; - if (isUndef(propOptions)) { - return - } - var res = {}; - var attrs = data.attrs; - var props = data.props; - if (isDef(attrs) || isDef(props)) { - for (var key in propOptions) { - var altKey = hyphenate(key); - { - var keyInLowerCase = key.toLowerCase(); - if ( - key !== keyInLowerCase && - attrs && hasOwn(attrs, keyInLowerCase) - ) { - tip( - "Prop \"" + keyInLowerCase + "\" is passed to component " + - (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + - " \"" + key + "\". " + - "Note that HTML attributes are case-insensitive and camelCased " + - "props need to use their kebab-case equivalents when using in-DOM " + - "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." - ); - } - } - checkProp(res, props, key, altKey, true) || - checkProp(res, attrs, key, altKey, false); - } - } - return res -} - -function checkProp ( - res, - hash, - key, - altKey, - preserve -) { - if (isDef(hash)) { - if (hasOwn(hash, key)) { - res[key] = hash[key]; - if (!preserve) { - delete hash[key]; - } - return true - } else if (hasOwn(hash, altKey)) { - res[key] = hash[altKey]; - if (!preserve) { - delete hash[altKey]; - } - return true - } - } - return false -} - -/* */ - -// The template compiler attempts to minimize the need for normalization by -// statically analyzing the template at compile time. -// -// For plain HTML markup, normalization can be completely skipped because the -// generated render function is guaranteed to return Array. There are -// two cases where extra normalization is needed: - -// 1. When the children contains components - because a functional component -// may return an Array instead of a single root. In this case, just a simple -// normalization is needed - if any child is an Array, we flatten the whole -// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep -// because functional components already normalize their own children. -function simpleNormalizeChildren (children) { - for (var i = 0; i < children.length; i++) { - if (Array.isArray(children[i])) { - return Array.prototype.concat.apply([], children) - } - } - return children -} - -// 2. When the children contains constructs that always generated nested Arrays, -// e.g.