diff --git a/CHANGELOG.md b/CHANGELOG.md index 934fce9bcf..5d013dd0c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.5.27 (29-03-2022) + +#### Fixes +- Fix backup / restore page ([10447](https://github.com/pymedusa/Medusa/pull/10447)) + ## 0.5.26 (28-03-2022) #### Improvements diff --git a/medusa/common.py b/medusa/common.py index da0582cac8..b164b2e30e 100644 --- a/medusa/common.py +++ b/medusa/common.py @@ -39,7 +39,7 @@ log.logger.addHandler(logging.NullHandler()) INSTANCE_ID = text_type(uuid.uuid1()) -VERSION = '0.5.26' +VERSION = '0.5.27' USER_AGENT = 'Medusa/{version} ({system}; {release}; {instance})'.format( version=VERSION, system=platform.system(), release=platform.release(), diff --git a/themes-default/slim/src/components/config-backup-restore.vue b/themes-default/slim/src/components/config-backup-restore.vue index aeff35259e..89863ee285 100644 --- a/themes-default/slim/src/components/config-backup-restore.vue +++ b/themes-default/slim/src/components/config-backup-restore.vue @@ -52,6 +52,7 @@ \n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./lazy-image.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./lazy-image.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./lazy-image.vue?vue&type=template&id=05ed6915&scoped=true&\"\nimport script from \"./lazy-image.vue?vue&type=script&lang=js&\"\nexport * from \"./lazy-image.vue?vue&type=script&lang=js&\"\nimport style0 from \"./lazy-image.vue?vue&type=style&index=0&id=05ed6915&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"05ed6915\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{staticClass:\"app-image\",class:_vm.lazyCls,style:(_vm.style),attrs:{\"data-src\":_vm.lazySrc,\"data-srcset\":_vm.lazySrcset},on:{\"error\":function($event){_vm.error = true}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./asset.vue?vue&type=template&id=ad0dcc86&scoped=true&\"\nimport script from \"./asset.vue?vue&type=script&lang=js&\"\nexport * from \"./asset.vue?vue&type=script&lang=js&\"\nimport style0 from \"./asset.vue?vue&type=style&index=0&id=ad0dcc86&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ad0dcc86\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.lazy)?_c('div',{staticStyle:{\"display\":\"inherit\"}},[(!_vm.link)?_c('img',_vm._b({on:{\"error\":function($event){_vm.error = true}}},'img',{ src: _vm.src, class: _vm.cls, class: _vm.newCls },false)):_c('app-link',{attrs:{\"href\":_vm.href}},[_c('img',_vm._b({on:{\"error\":function($event){_vm.error = true}}},'img',{ src: _vm.src, class: _vm.newCls, style: _vm.imgStyle },false))])],1):_c('div',{staticStyle:{\"display\":\"inherit\"}},[(!_vm.link)?_c('lazy-image',{attrs:{\"lazy-src\":_vm.src,\"lazy-cls\":_vm.newCls,\"lazy-default-src\":_vm.defaultSrc,\"lazy-width\":_vm.imgWidth}}):_c('app-link',{attrs:{\"href\":_vm.href}},[_c('lazy-image',{attrs:{\"lazy-src\":_vm.src,\"lazy-cls\":_vm.newCls,\"lazy-default-src\":_vm.defaultSrc}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"select-list max-width\"},[_c('ul',[_vm._l((_vm.items),function(exception){return _c('li',{key:((exception.title) + \"-\" + (exception.season))},[_c('div',{staticClass:\"input-group form-inline\",attrs:{\"disabled\":!exception.custom}},[_c('input',{staticClass:\"form-control input-sm\",attrs:{\"type\":\"text\",\"disabled\":!exception.custom},domProps:{\"value\":exception.title}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(exception.season),expression:\"exception.season\"}],staticClass:\"select-season\",attrs:{\"name\":\"scene-exception-season\",\"disabled\":!exception.custom},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(exception, \"season\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.availableSeasons),function(season){return _c('option',{key:season.value,domProps:{\"value\":season.value}},[_vm._v(\"\\n \"+_vm._s(season.description)+\"\\n \")])}),0),_vm._v(\" \"),(!exception.custom)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right\",value:('This exception has been automatically added through an automated process sourcing title aliases from medusa github repo, thexem.de or anidb.info'),expression:\"'This exception has been automatically added through an automated process sourcing title aliases from medusa github repo, thexem.de or anidb.info'\",modifiers:{\"right\":true}}],staticClass:\"external-scene-exception\"},[_vm._m(0,true)]):_c('div',{staticClass:\"input-group-btn\",on:{\"click\":function($event){return _vm.removeException(exception)}}},[_vm._m(1,true)])])])}),_vm._v(\" \"),_c('div',{staticClass:\"new-item\"},[_c('div',{staticClass:\"input-group form-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newItem),expression:\"newItem\"}],ref:\"newItemInput\",staticClass:\"form-control input-sm\",attrs:{\"type\":\"text\",\"placeholder\":\"add new values per line\"},domProps:{\"value\":(_vm.newItem)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newItem=$event.target.value}}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedSeason),expression:\"selectedSeason\"}],staticClass:\"select-season\",attrs:{\"name\":\"add-exception-season\"},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.selectedSeason=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.availableSeasons),function(season){return _c('option',{key:season.value,domProps:{\"value\":season.value}},[_vm._v(\"\\n \"+_vm._s(season.description)+\"\\n \")])}),0),_vm._v(\" \"),_c('div',{staticClass:\"input-group-btn\",attrs:{\"disabled\":!_vm.unique},on:{\"click\":function($event){return _vm.addException()}}},[_vm._m(2)])])]),_vm._v(\" \"),(!_vm.unique)?_c('div',[_vm._m(3)]):_vm._e(),_vm._v(\" \"),(_vm.newItem.length > 0 && _vm.unique)?_c('div',{staticClass:\"new-item-help\"},[_vm._v(\"\\n Click \"),_c('i',{staticClass:\"glyphicon glyphicon-plus\"}),_vm._v(\" to add your \"),_c('b',[_vm._v(_vm._s(_vm.selectedSeason === -1 ? 'Show Exception' : 'Season Exception'))]),_vm._v(\".\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"align-center\"},[_c('img',{attrs:{\"src\":\"images/ico/favicon-16.png\",\"width\":\"16\",\"height\":\"16\",\"alt\":\"search\",\"title\":\"This exception has been automatically added through an automated process sourcing title aliases from medusa github repo, thexem.de or anidb.info\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn btn-default input-sm\",staticStyle:{\"font-size\":\"14px\"}},[_c('i',{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"title\":\"Remove\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn btn-default input-sm\",staticStyle:{\"font-size\":\"14px\"}},[_c('i',{staticClass:\"glyphicon glyphicon-plus\",attrs:{\"title\":\"Add\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"This exception has already been added for this show.\"),_c('br'),_vm._v(\"Can't add the same exception twice!\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-scene-exceptions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-scene-exceptions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-scene-exceptions.vue?vue&type=template&id=2cd053b2&scoped=true&\"\nimport script from \"./config-scene-exceptions.vue?vue&type=script&lang=js&\"\nexport * from \"./config-scene-exceptions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-scene-exceptions.vue?vue&type=style&index=0&id=2cd053b2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2cd053b2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"config-subtitle-languages\"}},[_c('vue-tags-input',{attrs:{\"tags\":_vm.wantedLanguages,\"autocomplete-items\":_vm.filteredItems,\"add-only-from-autocomplete\":\"\",\"placeholder\":\"Write to search a language and select it\"},on:{\"tags-changed\":_vm.tagsChanged},scopedSlots:_vm._u([{key:\"autocomplete-item\",fn:function(props){return _c('div',{staticClass:\"autocomplete-item\",on:{\"click\":function($event){return props.performAdd(props.item)}}},[_c('img',{staticStyle:{\"vertical-align\":\"middle !important\"},attrs:{\"src\":(\"images/subtitles/flags/\" + (props.item.text) + \".png\"),\"onError\":\"this.onerror=null; this.src='images/flags/unknown.png';\"}}),_vm._v(\"\\n \"+_vm._s(props.item.name)+\"\\n \")])}},{key:\"tag-left\",fn:function(props){return _c('div',{staticClass:\"country-left\",on:{\"click\":function($event){return props.performOpenEdit(props.index)}}},[_c('img',{staticStyle:{\"vertical-align\":\"middle !important\"},attrs:{\"src\":(\"images/subtitles/flags/\" + (props.tag.text) + \".png\"),\"onError\":\"this.onerror=null; this.src='images/flags/unknown.png';\"}})])}}]),model:{value:(_vm.tag),callback:function ($$v) {_vm.tag=$$v},expression:\"tag\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-subtitle-languages.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-subtitle-languages.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-subtitle-languages.vue?vue&type=template&id=0fbc8b46&scoped=true&\"\nimport script from \"./config-subtitle-languages.vue?vue&type=script&lang=js&\"\nexport * from \"./config-subtitle-languages.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-subtitle-languages.vue?vue&type=style&index=0&id=0fbc8b46&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0fbc8b46\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox.vue?vue&type=template&id=1f6251e9&scoped=true&\"\nimport script from \"./config-textbox.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox.vue?vue&type=style&index=0&id=1f6251e9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f6251e9\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"config-textbox\"}},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":_vm.id}},[_c('span',[_vm._v(_vm._s(_vm.label))])])]),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('div',{staticClass:\"parent\",class:_vm.inputClass},[((({id: _vm.id, type: _vm.type, name: _vm.id, placeholder: _vm.placeholder, disabled: _vm.disabled}).type)==='checkbox')?_c('input',_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.localValue),expression:\"localValue\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.localValue)?_vm._i(_vm.localValue,null)>-1:(_vm.localValue)},on:{\"input\":function($event){return _vm.updateValue()},\"change\":function($event){var $$a=_vm.localValue,$$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.localValue=$$a.concat([$$v]))}else{$$i>-1&&(_vm.localValue=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.localValue=$$c}}}},'input',{id: _vm.id, type: _vm.type, name: _vm.id, placeholder: _vm.placeholder, disabled: _vm.disabled},false)):((({id: _vm.id, type: _vm.type, name: _vm.id, placeholder: _vm.placeholder, disabled: _vm.disabled}).type)==='radio')?_c('input',_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.localValue),expression:\"localValue\"}],attrs:{\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.localValue,null)},on:{\"input\":function($event){return _vm.updateValue()},\"change\":function($event){_vm.localValue=null}}},'input',{id: _vm.id, type: _vm.type, name: _vm.id, placeholder: _vm.placeholder, disabled: _vm.disabled},false)):_c('input',_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.localValue),expression:\"localValue\"}],attrs:{\"type\":({id: _vm.id, type: _vm.type, name: _vm.id, placeholder: _vm.placeholder, disabled: _vm.disabled}).type},domProps:{\"value\":(_vm.localValue)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.localValue=$event.target.value},function($event){return _vm.updateValue()}]}},'input',{id: _vm.id, type: _vm.type, name: _vm.id, placeholder: _vm.placeholder, disabled: _vm.disabled},false)),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"uri-error\"}},[(_vm.uriError)?_c('div',{staticClass:\"uri-error\"},[_vm._v(\"Make sure to start your URI with http://, https://, scgi://, etc..\")]):_vm._e()]),_vm._v(\" \"),_vm._t(\"warning\")],2),_vm._v(\" \"),_vm._l((_vm.explanations),function(explanation,index){return _c('p',{key:index},[_vm._v(_vm._s(explanation))])}),_vm._v(\" \"),_vm._t(\"default\")],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox-number.vue?vue&type=template&id=69e4e766&\"\nimport script from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox-number.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"config-textbox-number-content\"}},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":_vm.id}},[_c('span',[_vm._v(_vm._s(_vm.label))])])]),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('input',_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.localValue),expression:\"localValue\"}],attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.localValue)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.localValue=$event.target.value},function($event){return _vm.updateValue()}]}},'input',{min: _vm.min, max: _vm.max, step: _vm.step, id: _vm.id, name: _vm.id, class: _vm.inputClass, placeholder: _vm.placeholder, disabled: _vm.disabled},false)),_vm._v(\" \"),_vm._l((_vm.explanations),function(explanation,index){return _c('p',{key:index},[_vm._v(_vm._s(explanation))])}),_vm._v(\" \"),_vm._t(\"default\")],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.experimental || _vm.experimentalEnabled)?_c('div',{attrs:{\"id\":\"config-toggle-slider-content\"}},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":_vm.id}},[_c('span',[_vm._v(_vm._s(_vm.label))])])]),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('toggle-button',_vm._b({attrs:{\"width\":45,\"height\":22,\"sync\":\"\"},on:{\"input\":function($event){return _vm.updateValue()}},model:{value:(_vm.localChecked),callback:function ($$v) {_vm.localChecked=$$v},expression:\"localChecked\"}},'toggle-button',{id: _vm.id, name: _vm.id, disabled: _vm.disabled},false)),_vm._v(\" \"),_vm._l((_vm.explanations),function(explanation,index){return _c('p',{key:index},[_vm._v(_vm._s(explanation))])}),_vm._v(\" \"),_vm._t(\"default\"),_vm._v(\" \"),(_vm.experimental)?_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"This is an experimental feature\")]):_vm._e()],2)])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-toggle-slider.vue?vue&type=template&id=4bfe1717&\"\nimport script from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-toggle-slider.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"custom-newznab\"}},[_c('config-template',{attrs:{\"label-for\":\"select_newznab_provider\",\"label\":\"Select Provider\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProvider),expression:\"selectedProvider\"}],staticClass:\"form-control input-sm max-input350\",attrs:{\"id\":\"select-provider\"},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.selectedProvider=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"#add\"}},[_vm._v(\"--- add new provider ---\")]),_vm._v(\" \"),_vm._l((_vm.newznabProviderOptions),function(option){return _c('option',{key:option.value,domProps:{\"value\":option.value}},[_vm._v(\"\\n \"+_vm._s(option.text)+\"\\n \")])})],2)]),_vm._v(\" \"),(_vm.currentProvider && _vm.selectedProvider !== '#add')?_c('div',{staticClass:\"edit-provider\"},[_c('config-textbox',{attrs:{\"disabled\":\"\",\"label\":\"Provider name\",\"id\":\"edit_provider_name\"},model:{value:(_vm.currentProvider.name),callback:function ($$v) {_vm.$set(_vm.currentProvider, \"name\", $$v)},expression:\"currentProvider.name\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"disabled\":\"\",\"label\":\"Site Url\",\"id\":\"edit_provider_url\"},model:{value:(_vm.currentProvider.url),callback:function ($$v) {_vm.$set(_vm.currentProvider, \"url\", $$v)},expression:\"currentProvider.url\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"Api key\",\"id\":\"edit_provider_api\"},model:{value:(_vm.currentProvider.config.apikey),callback:function ($$v) {_vm.$set(_vm.currentProvider.config, \"apikey\", $$v)},expression:\"currentProvider.config.apikey\"}}),_vm._v(\" \"),_c('config-template',{attrs:{\"label\":\"Categories\",\"label-for\":\"catids\"}},[_c('multiselect',{attrs:{\"value\":_vm.providerCatIds,\"multiple\":true,\"options\":_vm.availableCategories,\"label\":\"id\",\"track-by\":\"id\",\"taggable\":true,\"tag-placeholder\":\"Add this as new cat id\",\"placeholder\":\"Search or add a cat id\"},on:{\"tag\":_vm.addTag,\"input\":function($event){_vm.currentProvider.config.catIds = $event.map(function (cat) { return cat.id; })}},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return [(props.option.isTag)?_c('span',[_c('strong',[_vm._v(_vm._s(props.option.label))])]):_c('span',[_c('strong',[_vm._v(_vm._s(props.option.id))]),_vm._v(\" (\"+_vm._s(props.option.name)+\")\")])]}}],null,false,2742372380)})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa btn-danger newznab_delete\",attrs:{\"disabled\":_vm.currentProvider.default,\"id\":\"newznab_delete\"},on:{\"click\":_vm.removeProvider}},[_vm._v(\"Delete\")]),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter_refresh\",on:{\"click\":function($event){return _vm.$emit('save')}}},[_vm._v(\"Save Changes\")]),_vm._v(\" \"),(_vm.currentProvider.manager === 'prowlarr')?_c('p',{staticClass:\"manager-note\"},[_c('img',{staticStyle:{\"width\":\"16px\"},attrs:{\"src\":\"images/providers/prowlarr.png\"}}),_vm._v(\"\\n Note! This is a provider configured through the 'Configure Custom Prowlarr Providers' tab.\\n \")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.selectedProvider === '#add')?_c('div',{staticClass:\"add-provider\"},[_c('config-textbox',{attrs:{\"label\":\"Provider name\",\"id\":\"add_provider_name\"},scopedSlots:_vm._u([{key:\"warning\",fn:function(){return [_c('transition',{attrs:{\"name\":\"warning\"}},[(!_vm.providerIdAvailable)?_c('div',{staticClass:\"warning\"},[_vm._v(\"This provider id is already used.\")]):_vm._e()])]},proxy:true}],null,false,3405532282),model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"label\":\"Site Url\",\"id\":\"add_provider_url\"},model:{value:(_vm.url),callback:function ($$v) {_vm.url=$$v},expression:\"url\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"Api key\",\"id\":\"add_provider_api\"},model:{value:(_vm.apikey),callback:function ($$v) {_vm.apikey=$$v},expression:\"apikey\"}}),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",attrs:{\"disabled\":!_vm.providerIdAvailable},on:{\"click\":_vm.addProvider}},[_vm._v(\"Add Provider\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-custom-newznab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-custom-newznab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-custom-newznab.vue?vue&type=template&id=5a5b710f&scoped=true&\"\nimport script from \"./config-custom-newznab.vue?vue&type=script&lang=js&\"\nexport * from \"./config-custom-newznab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-custom-newznab.vue?vue&type=style&index=0&id=5a5b710f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5a5b710f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"custom-prowlarr\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12\"},[_c('config-textbox',{attrs:{\"label\":\"Prowler Url\",\"id\":\"prowler_url\"},model:{value:(_vm.prowlarr.url),callback:function ($$v) {_vm.$set(_vm.prowlarr, \"url\", $$v)},expression:\"prowlarr.url\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"label\":\"Api Key\",\"id\":\"prowler_apikey\"},model:{value:(_vm.prowlarr.apikey),callback:function ($$v) {_vm.$set(_vm.prowlarr, \"apikey\", $$v)},expression:\"prowlarr.apikey\"}}),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",on:{\"click\":_vm.saveConfig}},[_vm._v(\"Save\")]),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",on:{\"click\":_vm.testConnectivity}},[_vm._v(\"Test\")]),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",on:{\"click\":_vm.getAvailableProviders}},[_vm._v(\"Get Providers\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.testResult),expression:\"testResult\"}],staticClass:\"testresult\"},[_vm._v(_vm._s(_vm.testResult))])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12 vgt-table-styling\"},[_c('h3',[_vm._v(\"Available providers\")]),_vm._v(\" \"),_c('vue-good-table',{attrs:{\"columns\":_vm.columns,\"rows\":_vm.prowlarrProviders,\"search-options\":{\n enabled: false\n },\"sort-options\":{\n enabled: true,\n initialSortBy: { field: 'name', type: 'asc' }\n },\"styleClass\":\"vgt-table condensed\"},scopedSlots:_vm._u([{key:\"table-row\",fn:function(props){return [(props.column.label === 'Added')?_c('span',{staticClass:\"align-center\"},[(props.row.localProvider)?_c('img',{attrs:{\"src\":\"/images/yes16.png\"}}):_vm._e()]):(props.column.label === 'Action')?_c('span',{staticClass:\"align-center\"},[(!props.row.localProvider)?_c('button',{staticClass:\"btn-medusa config_submitter\",on:{\"click\":function($event){return _vm.addProvider(props.row)}}},[_vm._v(\"Add Provider\")]):_c('button',{staticClass:\"btn-medusa btn-danger\",on:{\"click\":function($event){return _vm.removeProvider(props.row)}}},[_vm._v(\"Remove Provider\")])]):_vm._e()]}}])})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-custom-prowlarr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-custom-prowlarr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-custom-prowlarr.vue?vue&type=template&id=b85ae602&scoped=true&\"\nimport script from \"./config-custom-prowlarr.vue?vue&type=script&lang=js&\"\nexport * from \"./config-custom-prowlarr.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-custom-prowlarr.vue?vue&type=style&index=0&id=b85ae602&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b85ae602\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-custom-torrentrss.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-custom-torrentrss.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-custom-torrentrss.vue?vue&type=template&id=52661c90&scoped=true&\"\nimport script from \"./config-custom-torrentrss.vue?vue&type=script&lang=js&\"\nexport * from \"./config-custom-torrentrss.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-custom-torrentrss.vue?vue&type=style&index=0&id=52661c90&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52661c90\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"custom-torrentrss\"}},[_c('config-template',{attrs:{\"label-for\":\"select_torrentrss_provider\",\"label\":\"Select Provider\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProvider),expression:\"selectedProvider\"}],staticClass:\"form-control input-sm max-input350\",attrs:{\"id\":\"select-provider\"},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.selectedProvider=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"#add\"}},[_vm._v(\"--- add new provider ---\")]),_vm._v(\" \"),_vm._l((_vm.torrentrssProviderOptions),function(option){return _c('option',{key:option.value,domProps:{\"value\":option.value}},[_vm._v(\"\\n \"+_vm._s(option.text)+\"\\n \")])})],2)]),_vm._v(\" \"),(_vm.currentProvider && _vm.selectedProvider !== '#add')?_c('div',{staticClass:\"edit-provider\"},[_c('config-textbox',{attrs:{\"disabled\":\"\",\"label\":\"Provider name\",\"id\":\"edit_provider_name\"},model:{value:(_vm.currentProvider.name),callback:function ($$v) {_vm.$set(_vm.currentProvider, \"name\", $$v)},expression:\"currentProvider.name\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"disabled\":\"\",\"label\":\"Rss Url\",\"id\":\"edit_provider_url\"},model:{value:(_vm.currentProvider.url),callback:function ($$v) {_vm.$set(_vm.currentProvider, \"url\", $$v)},expression:\"currentProvider.url\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"label\":\"Cookies (optional)\",\"id\":\"edit_provider_cookies\"},model:{value:(_vm.currentProvider.config.cookies),callback:function ($$v) {_vm.$set(_vm.currentProvider.config, \"cookies\", $$v)},expression:\"currentProvider.config.cookies\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"label\":\"Search element\",\"id\":\"edit_provider_search_element\"},model:{value:(_vm.currentProvider.config.titleTag),callback:function ($$v) {_vm.$set(_vm.currentProvider.config, \"titleTag\", $$v)},expression:\"currentProvider.config.titleTag\"}}),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa btn-danger torrentrss_delete\",attrs:{\"id\":\"torrentrss_delete\"},on:{\"click\":_vm.removeProvider}},[_vm._v(\"Delete\")]),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter_refresh\",on:{\"click\":function($event){return _vm.$emit('save')}}},[_vm._v(\"Save Changes\")])],1):_vm._e(),_vm._v(\" \"),(_vm.selectedProvider === '#add')?_c('div',{staticClass:\"add-provider\"},[_c('config-textbox',{attrs:{\"label\":\"Provider name\",\"id\":\"add_provider_name\"},scopedSlots:_vm._u([{key:\"warning\",fn:function(){return [_c('transition',{attrs:{\"name\":\"warning\"}},[(!_vm.providerIdAvailable)?_c('div',{staticClass:\"warning\"},[_vm._v(\"This provider id is already used.\")]):_vm._e()])]},proxy:true}],null,false,3405532282),model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"label\":\"Site Url\",\"id\":\"add_provider_url\"},model:{value:(_vm.url),callback:function ($$v) {_vm.url=$$v},expression:\"url\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"label\":\"Cookies\",\"id\":\"add_provider_cookies\"},model:{value:(_vm.cookies),callback:function ($$v) {_vm.cookies=$$v},expression:\"cookies\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"label\":\"Search element\",\"id\":\"add_provider_search_element\"},model:{value:(_vm.searchElement),callback:function ($$v) {_vm.searchElement=$$v},expression:\"searchElement\"}}),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",attrs:{\"disabled\":!_vm.providerIdAvailable},on:{\"click\":_vm.addProvider}},[_vm._v(\"Add Provider\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-custom-torznab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-custom-torznab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-custom-torznab.vue?vue&type=template&id=3cf848cc&scoped=true&\"\nimport script from \"./config-custom-torznab.vue?vue&type=script&lang=js&\"\nexport * from \"./config-custom-torznab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-custom-torznab.vue?vue&type=style&index=0&id=3cf848cc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3cf848cc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"custom-torznab\"}},[_c('config-template',{attrs:{\"label-for\":\"select_torznab_provider\",\"label\":\"Select Provider\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProvider),expression:\"selectedProvider\"}],staticClass:\"form-control input-sm max-input350\",attrs:{\"id\":\"select-provider\"},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.selectedProvider=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"#add\"}},[_vm._v(\"--- add new provider ---\")]),_vm._v(\" \"),_vm._l((_vm.torznabProviderOptions),function(option){return _c('option',{key:option.value,domProps:{\"value\":option.value}},[_vm._v(\"\\n \"+_vm._s(option.text)+\"\\n \")])})],2)]),_vm._v(\" \"),(_vm.currentProvider && _vm.selectedProvider !== '#add')?_c('div',{staticClass:\"edit-provider\"},[_c('config-textbox',{attrs:{\"disabled\":\"\",\"label\":\"Provider name\",\"id\":\"edit_provider_name\"},model:{value:(_vm.currentProvider.name),callback:function ($$v) {_vm.$set(_vm.currentProvider, \"name\", $$v)},expression:\"currentProvider.name\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"disabled\":\"\",\"label\":\"Site Url\",\"id\":\"edit_provider_url\"},model:{value:(_vm.currentProvider.url),callback:function ($$v) {_vm.$set(_vm.currentProvider, \"url\", $$v)},expression:\"currentProvider.url\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"Api key\",\"id\":\"edit_provider_api\"},model:{value:(_vm.currentProvider.config.apikey),callback:function ($$v) {_vm.$set(_vm.currentProvider.config, \"apikey\", $$v)},expression:\"currentProvider.config.apikey\"}}),_vm._v(\" \"),_c('config-template',{attrs:{\"label\":\"Categories\",\"label-for\":\"catids\"}},[_c('multiselect',{attrs:{\"value\":_vm.providerCatIds,\"multiple\":true,\"options\":_vm.availableCategories,\"label\":\"id\",\"track-by\":\"id\",\"taggable\":true,\"tag-placeholder\":\"Add this as new cat id\",\"placeholder\":\"Search or add a cat id\"},on:{\"tag\":_vm.addTag,\"input\":function($event){_vm.currentProvider.config.catIds = $event.map(function (cat) { return cat.id; })}},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return [(props.option.isTag)?_c('span',[_c('strong',[_vm._v(_vm._s(props.option.label))])]):_c('span',[_c('strong',[_vm._v(_vm._s(props.option.id))]),_vm._v(\" (\"+_vm._s(props.option.name)+\")\")])]}}],null,false,2742372380)})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa btn-danger torznab_delete\",attrs:{\"disabled\":_vm.currentProvider.default,\"id\":\"torznab_delete\"},on:{\"click\":_vm.removeProvider}},[_vm._v(\"Delete\")]),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter_refresh\",on:{\"click\":function($event){return _vm.$emit('save')}}},[_vm._v(\"Save Changes\")]),_vm._v(\" \"),(_vm.currentProvider.manager === 'prowlarr')?_c('p',{staticClass:\"manager-note\"},[_c('img',{staticStyle:{\"width\":\"16px\"},attrs:{\"src\":\"images/providers/prowlarr.png\"}}),_vm._v(\"\\n Note! This is a provider configured through the 'Configure Custom Prowlarr Providers' tab.\\n \")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.selectedProvider === '#add')?_c('div',{staticClass:\"add-provider\"},[_c('config-textbox',{attrs:{\"label\":\"Provider name\",\"id\":\"add_provider_name\"},scopedSlots:_vm._u([{key:\"warning\",fn:function(){return [_c('transition',{attrs:{\"name\":\"warning\"}},[(!_vm.providerIdAvailable)?_c('div',{staticClass:\"warning\"},[_vm._v(\"This provider id is already used.\")]):_vm._e()])]},proxy:true}],null,false,3405532282),model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"label\":\"Site Url\",\"id\":\"add_provider_url\"},model:{value:(_vm.url),callback:function ($$v) {_vm.url=$$v},expression:\"url\"}}),_vm._v(\" \"),_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"Api key\",\"id\":\"add_provider_api\"},model:{value:(_vm.apikey),callback:function ($$v) {_vm.apikey=$$v},expression:\"apikey\"}}),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",attrs:{\"disabled\":!_vm.providerIdAvailable},on:{\"click\":_vm.addProvider}},[_vm._v(\"Add Provider\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"provider-options-nzb\"}},[(Object.keys(_vm.editProvider).length > 0)?_c('div',{staticClass:\"providerDiv\",attrs:{\"id\":((_vm.editProvider.id) + \"Div\")}},[('username' in _vm.editProvider.config && _vm.editProvider.subType !== 'newznab')?_c('config-textbox',{attrs:{\"label\":\"Username\",\"id\":((_vm.editProvider.id) + \"_username\")},model:{value:(_vm.editProvider.config.username),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"username\", $$v)},expression:\"editProvider.config.username\"}}):_vm._e(),_vm._v(\" \"),(_vm.editProvider.default && _vm.editProvider.needsAuth)?[_c('config-template',{attrs:{\"label-for\":((_vm.editProvider.id) + \"_url\"),\"label\":\"URL\"}},[_c('input',{staticClass:\"form-control input-sm max-input350\",attrs:{\"type\":\"text\",\"id\":((_vm.editProvider.id) + \"_url\"),\"disabled\":\"\"},domProps:{\"value\":(\"\" + (_vm.editProvider.url))}})]),_vm._v(\" \"),('apikey' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"API key\",\"id\":((_vm.editProvider.id) + \"_url\"),\"input-class\":\"newznab_api_key\"},model:{value:(_vm.editProvider.config.apikey),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"apikey\", $$v)},expression:\"editProvider.config.apikey\"}}):_vm._e()]:(_vm.editProvider.subType !== 'newznab')?[('apikey' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"API key\",\"id\":((_vm.editProvider.id) + \"_url\"),\"input-class\":\"newznab_api_key\"},model:{value:(_vm.editProvider.config.apikey),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"apikey\", $$v)},expression:\"editProvider.config.apikey\"}}):_vm._e()]:_vm._e(),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable daily searches\",\"name\":((_vm.editProvider.id) + \"_enable_daily\"),\"id\":((_vm.editProvider.id) + \"_enable_daily\")},model:{value:(_vm.editProvider.config.search.daily.enabled),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search.daily, \"enabled\", $$v)},expression:\"editProvider.config.search.daily.enabled\"}},[_c('p',[_vm._v(\"enable provider to perform daily searches.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable manual searches\",\"name\":((_vm.editProvider.id) + \"_enable_manual\"),\"id\":((_vm.editProvider.id) + \"_enable_manual\")},model:{value:(_vm.editProvider.config.search.manual.enabled),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search.manual, \"enabled\", $$v)},expression:\"editProvider.config.search.manual.enabled\"}},[_c('p',[_vm._v(\"enable provider to be used in 'Manual Search' feature.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable backlog searches\",\"name\":((_vm.editProvider.id) + \"_enable_backlog\"),\"id\":((_vm.editProvider.id) + \"_enable_backlog\")},model:{value:(_vm.editProvider.config.search.backlog.enabled),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search.backlog, \"enabled\", $$v)},expression:\"editProvider.config.search.backlog.enabled\"}},[_c('p',[_vm._v(\"enable provider to perform backlog searches.\")])]),_vm._v(\" \"),_c('config-template',{attrs:{\"label-for\":\"backlog_search_mode\",\"label\":\"Backlog search mode\"}},[_c('div',{staticClass:\"radio-item\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editProvider.config.search.mode),expression:\"editProvider.config.search.mode\"}],attrs:{\"type\":\"radio\",\"name\":((_vm.editProvider.id) + \"_search_mode_sponly\"),\"id\":((_vm.editProvider.id) + \"_search_mode_sponly\"),\"value\":\"sponly\"},domProps:{\"checked\":_vm._q(_vm.editProvider.config.search.mode,\"sponly\")},on:{\"change\":function($event){return _vm.$set(_vm.editProvider.config.search, \"mode\", \"sponly\")}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"one\"}},[_vm._v(\"Season packs only\")])]),_vm._v(\" \"),_c('div',{staticClass:\"radio-item\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editProvider.config.search.mode),expression:\"editProvider.config.search.mode\"}],attrs:{\"type\":\"radio\",\"name\":((_vm.editProvider.id) + \"_search_mode_eponly\"),\"id\":((_vm.editProvider.id) + \"_search_mode_eponly\"),\"value\":\"eponly\"},domProps:{\"checked\":_vm._q(_vm.editProvider.config.search.mode,\"eponly\")},on:{\"change\":function($event){return _vm.$set(_vm.editProvider.config.search, \"mode\", \"eponly\")}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"one\"}},[_vm._v(\"Episodes only\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"when searching with backlog you can choose to have it look for season packs only, or choose to have it build a complete season from just single episodes.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable fallback\",\"name\":((_vm.editProvider.id) + \"_enable_fallback\"),\"id\":((_vm.editProvider.id) + \"_enable_fallback\")},model:{value:(_vm.editProvider.config.search.fallback),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search, \"fallback\", $$v)},expression:\"editProvider.config.search.fallback\"}},[_c('p',[_vm._v(\"when searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable search delay\",\"name\":((_vm.editProvider.id) + \"_enable_search_delay\"),\"id\":((_vm.editProvider.id) + \"_enable_search_delay\")},model:{value:(_vm.editProvider.config.search.delay.enabled),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search.delay, \"enabled\", $$v)},expression:\"editProvider.config.search.delay.enabled\"}},[_c('p',[_vm._v(\"Enable to delay downloads for this provider for an x amount of hours. The provider will start snatching results for a specific episode after a delay has expired, compared to when it first got a result for the specific episode.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A negative value will have the daily search accepts results before the episode scheduled air date/time.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Proper and Backlog searches are exempted from the delay.\")])]),_vm._v(\" \"),(_vm.editProvider.config.search.delay.enabled)?_c('config-textbox-number',{attrs:{\"value\":_vm.editProvider.config.search.delay.duration / 60.0,\"label\":\"Search delay (hours)\",\"id\":((_vm.editProvider.id) + \"_search_delay_duration\"),\"min\":0.5,\"step\":0.5},on:{\"input\":function($event){_vm.editProvider.config.search.delay.duration = $event * 60}}},[_c('p',[_vm._v(\"Amount of hours to wait for downloading a result compared to the first result for a specific episode.\")])]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",staticStyle:{\"float\":\"left\"},attrs:{\"disabled\":_vm.saving},on:{\"click\":_vm.save}},[_vm._v(\"Save Changes\")]),_vm._v(\" \"),_c('test-provider',{attrs:{\"provider-id\":_vm.editProvider.id,\"provider-name\":_vm.editProvider.name}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./test-provider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./test-provider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./test-provider.vue?vue&type=template&id=a8b1934a&scoped=true&\"\nimport script from \"./test-provider.vue?vue&type=script&lang=js&\"\nexport * from \"./test-provider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./test-provider.vue?vue&type=style&index=0&id=a8b1934a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a8b1934a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"test-provider\"},[_c('button',{staticClass:\"btn-medusa config_submitter\",on:{\"click\":_vm.test}},[_vm._v(\"Test for results\")]),_vm._v(\" \"),(_vm.loading)?_c('state-switch',{attrs:{\"state\":\"loading\",\"theme\":_vm.layout.themeName}}):_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.testResult),expression:\"testResult\"}],staticClass:\"testresult\"},[_vm._v(_vm._s(_vm.testResult))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-provider-nzb.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-provider-nzb.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./config-provider-nzb.vue?vue&type=template&id=6826977e&\"\nimport script from \"./config-provider-nzb.vue?vue&type=script&lang=js&\"\nexport * from \"./config-provider-nzb.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-provider-torrent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-provider-torrent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-provider-torrent.vue?vue&type=template&id=66655510&\"\nimport script from \"./config-provider-torrent.vue?vue&type=script&lang=js&\"\nexport * from \"./config-provider-torrent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"provider-options-torrent\"}},[(Object.keys(_vm.editProvider).length > 0)?_c('div',{staticClass:\"providerDiv\",attrs:{\"id\":((_vm.editProvider.id) + \"Div\")}},[('customUrl' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"label\":\"Custom Url\",\"id\":((_vm.editProvider.id) + \"_custom_url\")},model:{value:(_vm.editProvider.config.customUrl),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"customUrl\", $$v)},expression:\"editProvider.config.customUrl\"}},[_c('p',[_vm._v(\"The URL should include the protocol (and port if applicable). Examples: http://192.168.1.4/ or http://localhost:3000/\")])]):_vm._e(),_vm._v(\" \"),('apikey' in _vm.editProvider.config && _vm.editProvider.config.subType !== 'torznab')?_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"API key\",\"id\":((_vm.editProvider.id) + \"_api_key\")},model:{value:(_vm.editProvider.config.apikey),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"apikey\", $$v)},expression:\"editProvider.config.apikey\"}}):_vm._e(),_vm._v(\" \"),('digest' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"Digest\",\"id\":((_vm.editProvider.id) + \"_digest\")},model:{value:(_vm.editProvider.config.digest),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"digest\", $$v)},expression:\"editProvider.config.digest\"}}):_vm._e(),_vm._v(\" \"),('hash' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"label\":\"Hash\",\"id\":((_vm.editProvider.id) + \"_hash\")},model:{value:(_vm.editProvider.config.hash),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"hash\", $$v)},expression:\"editProvider.config.hash\"}}):_vm._e(),_vm._v(\" \"),('username' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"label\":\"Username\",\"id\":((_vm.editProvider.id) + \"_username\")},model:{value:(_vm.editProvider.config.username),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"username\", $$v)},expression:\"editProvider.config.username\"}}):_vm._e(),_vm._v(\" \"),('password' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"autocomplete\":\"no\",\"type\":\"password\",\"label\":\"Password\",\"id\":((_vm.editProvider.id) + \"_password\")},model:{value:(_vm.editProvider.config.password),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"password\", $$v)},expression:\"editProvider.config.password\"}}):_vm._e(),_vm._v(\" \"),(_vm.editProvider.config.cookies.enabled || _vm.editProvider.subType === 'torrentrss')?_c('config-textbox',{attrs:{\"label\":\"Cookies\",\"id\":((_vm.editProvider.id) + \"_cookies\")},model:{value:(_vm.editProvider.config.cookies.values),callback:function ($$v) {_vm.$set(_vm.editProvider.config.cookies, \"values\", $$v)},expression:\"editProvider.config.cookies.values\"}},[(_vm.editProvider.config.cookies.required)?[_c('p',[_vm._v(\"eg. \"+_vm._s(_vm.editProvider.config.cookies.required.map(function (cookie) { return cookie + '=xx;'; }).join('').slice(0, -1)))]),_vm._v(\" \"),_c('p',[_vm._v(\"This provider requires the following cookies: \"+_vm._s(_vm.editProvider.config.cookies.required.join(', '))+\".\\n \"),_c('br'),_vm._v(\"For a step by step guide please follow the link to our \"),_c('app-link',{attrs:{\"href\":\"https://github.com/pymedusa/Medusa/wiki/Configure-Providers-with-captcha-protection\"}},[_vm._v(\"WIKI\")])],1)]:_vm._e()],2):_vm._e(),_vm._v(\" \"),('passkey' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"label\":\"Passkey\",\"id\":((_vm.editProvider.id) + \"_passkey\")},model:{value:(_vm.editProvider.config.passkey),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"passkey\", $$v)},expression:\"editProvider.config.passkey\"}}):_vm._e(),_vm._v(\" \"),('pin' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"Pin\",\"id\":((_vm.editProvider.id) + \"_pin\")},model:{value:(_vm.editProvider.config.pin),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"pin\", $$v)},expression:\"editProvider.config.pin\"}}):_vm._e(),_vm._v(\" \"),('pid' in _vm.editProvider.config)?_c('config-textbox',{attrs:{\"type\":\"password\",\"label\":\"Pid\",\"id\":((_vm.editProvider.id) + \"_pid\")},model:{value:(_vm.editProvider.config.pid),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"pid\", $$v)},expression:\"editProvider.config.pid\"}}):_vm._e(),_vm._v(\" \"),('ratio' in _vm.editProvider.config)?_c('config-textbox-number',{attrs:{\"min\":-1,\"step\":0.1,\"label\":\"Seed ratio\",\"id\":((_vm.editProvider.id) + \"_seed_ratio\")},model:{value:(_vm.editProvider.config.ratio),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"ratio\", $$v)},expression:\"editProvider.config.ratio\"}},[_c('p',[_vm._v(\"Configure a desired seeding ratio. Used by the (automated download handler in config - postprocessing)\\n \"),_c('br'),_vm._v(\"-1 for provider specific option is disabled.\\n \"),_c('br'),_vm._v(\"0 for not using a seed ratio. Actions configured in the download handler, will not wait for finished seeding.\\n \"),_c('br'),_vm._v(\"If disabled the global option is used in config - postprocessing (automated download handling))\\n \")])]):_vm._e(),_vm._v(\" \"),('minseed' in _vm.editProvider.config)?_c('config-textbox-number',{attrs:{\"label\":\"Minimum seeders\",\"min\":0,\"step\":1,\"id\":((_vm.editProvider.id) + \"_min_seed\")},model:{value:(_vm.editProvider.config.minseed),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"minseed\", $$v)},expression:\"editProvider.config.minseed\"}}):_vm._e(),_vm._v(\" \"),('minleech' in _vm.editProvider.config)?_c('config-textbox-number',{attrs:{\"label\":\"Minimum leechers\",\"min\":0,\"step\":1,\"id\":((_vm.editProvider.id) + \"_min_leech\")},model:{value:(_vm.editProvider.config.minleech),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"minleech\", $$v)},expression:\"editProvider.config.minleech\"}}):_vm._e(),_vm._v(\" \"),('confirmed' in _vm.editProvider.config)?_c('config-toggle-slider',{attrs:{\"label\":\"Confirmed downloads\",\"name\":((_vm.editProvider.id) + \"_confirmed\"),\"id\":((_vm.editProvider.id) + \"_confirmed\")},model:{value:(_vm.editProvider.config.confirmed),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"confirmed\", $$v)},expression:\"editProvider.config.confirmed\"}},[_c('p',[_vm._v(\"only download torrents from trusted or verified uploaders ?\")])]):_vm._e(),_vm._v(\" \"),('ranked' in _vm.editProvider.config)?_c('config-toggle-slider',{attrs:{\"label\":\"Ranked torrents\",\"name\":((_vm.editProvider.id) + \"_ranked\"),\"id\":((_vm.editProvider.id) + \"_ranked\")},model:{value:(_vm.editProvider.config.ranked),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"ranked\", $$v)},expression:\"editProvider.config.ranked\"}},[_c('p',[_vm._v(\"only download ranked torrents (trusted releases)\")])]):_vm._e(),_vm._v(\" \"),('sorting' in _vm.editProvider.config)?_c('config-template',{attrs:{\"label-for\":\"sorting\",\"label\":\"Sorting results by\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editProvider.config.sorting),expression:\"editProvider.config.sorting\"}],staticClass:\"form-control input-sm max-input350\",attrs:{\"id\":\"sorting\"},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.editProvider.config, \"sorting\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"last\"}},[_vm._v(\"last\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"seeders\"}},[_vm._v(\"seeders\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"leechers\"}},[_vm._v(\"leechers\")])])]):_vm._e(),_vm._v(\" \"),('freeleech' in _vm.editProvider.config)?_c('config-toggle-slider',{attrs:{\"label\":\"Freeleech\",\"name\":((_vm.editProvider.id) + \"_freeleech\"),\"id\":((_vm.editProvider.id) + \"_freeleech\")},model:{value:(_vm.editProvider.config.freeleech),callback:function ($$v) {_vm.$set(_vm.editProvider.config, \"freeleech\", $$v)},expression:\"editProvider.config.freeleech\"}},[_c('p',[_vm._v(\"only download \"),_c('b',[_vm._v(\"\\\"FreeLeech\\\"\")]),_vm._v(\" torrents.\")])]):_vm._e(),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable daily searches\",\"name\":((_vm.editProvider.id) + \"_enable_daily\"),\"id\":((_vm.editProvider.id) + \"_enable_daily\")},model:{value:(_vm.editProvider.config.search.daily.enabled),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search.daily, \"enabled\", $$v)},expression:\"editProvider.config.search.daily.enabled\"}},[_c('p',[_vm._v(\"enable provider to perform daily searches.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable manual searches\",\"name\":((_vm.editProvider.id) + \"_enable_manual\"),\"id\":((_vm.editProvider.id) + \"_enable_manual\")},model:{value:(_vm.editProvider.config.search.manual.enabled),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search.manual, \"enabled\", $$v)},expression:\"editProvider.config.search.manual.enabled\"}},[_c('p',[_vm._v(\"enable provider to be used in 'Manual Search' feature.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable backlog searches\",\"name\":((_vm.editProvider.id) + \"_enable_backlog\"),\"id\":((_vm.editProvider.id) + \"_enable_backlog\")},model:{value:(_vm.editProvider.config.search.backlog.enabled),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search.backlog, \"enabled\", $$v)},expression:\"editProvider.config.search.backlog.enabled\"}},[_c('p',[_vm._v(\"enable provider to perform backlog searches.\")])]),_vm._v(\" \"),_c('config-template',{attrs:{\"label-for\":\"backlog_search_mode\",\"label\":\"Backlog search mode\"}},[_c('div',{staticClass:\"radio-item\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editProvider.config.search.mode),expression:\"editProvider.config.search.mode\"}],attrs:{\"type\":\"radio\",\"name\":((_vm.editProvider.id) + \"_search_mode_sponly\"),\"id\":((_vm.editProvider.id) + \"_search_mode_sponly\"),\"value\":\"sponly\"},domProps:{\"checked\":_vm._q(_vm.editProvider.config.search.mode,\"sponly\")},on:{\"change\":function($event){return _vm.$set(_vm.editProvider.config.search, \"mode\", \"sponly\")}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"one\"}},[_vm._v(\"Season packs only\")])]),_vm._v(\" \"),_c('div',{staticClass:\"radio-item\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editProvider.config.search.mode),expression:\"editProvider.config.search.mode\"}],attrs:{\"type\":\"radio\",\"name\":((_vm.editProvider.id) + \"_search_mode_eponly\"),\"id\":((_vm.editProvider.id) + \"_search_mode_eponly\"),\"value\":\"eponly\"},domProps:{\"checked\":_vm._q(_vm.editProvider.config.search.mode,\"eponly\")},on:{\"change\":function($event){return _vm.$set(_vm.editProvider.config.search, \"mode\", \"eponly\")}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"one\"}},[_vm._v(\"Episodes only\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"when searching with backlog you can choose to have it look for season packs only, or choose to have it build a complete season from just single episodes.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable fallback\",\"name\":((_vm.editProvider.id) + \"_enable_fallback\"),\"id\":((_vm.editProvider.id) + \"_enable_fallback\")},model:{value:(_vm.editProvider.config.search.fallback),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search, \"fallback\", $$v)},expression:\"editProvider.config.search.fallback\"}},[_c('p',[_vm._v(\"when searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Enable search delay\",\"name\":((_vm.editProvider.id) + \"_enable_search_delay\"),\"id\":((_vm.editProvider.id) + \"_enable_search_delay\")},model:{value:(_vm.editProvider.config.search.delay.enabled),callback:function ($$v) {_vm.$set(_vm.editProvider.config.search.delay, \"enabled\", $$v)},expression:\"editProvider.config.search.delay.enabled\"}},[_c('p',[_vm._v(\"Enable to delay downloads for this provider for an x amount of hours. The provider will start snatching results for a specific episode after a delay has expired, compared to when it first got a result for the specific episode.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A negative value will have the daily search accepts results before the episode scheduled air date/time.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Proper and Backlog searches are exempted from the delay.\")])]),_vm._v(\" \"),(_vm.editProvider.config.search.delay.enabled)?_c('config-textbox-number',{attrs:{\"value\":_vm.editProvider.config.search.delay.duration / 60.0,\"label\":\"Search delay (hours)\",\"id\":((_vm.editProvider.id) + \"_search_delay_duration\"),\"step\":0.5},on:{\"input\":function($event){_vm.editProvider.config.search.delay.duration = $event * 60}}},[_c('p',[_vm._v(\"Amount of hours to wait for downloading a result compared to the first result for a specific episode.\")])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",staticStyle:{\"float\":\"left\"},attrs:{\"disabled\":_vm.saving},on:{\"click\":_vm.save}},[_vm._v(\"Save Changes\")]),_vm._v(\" \"),_c('test-provider',{attrs:{\"provider-id\":_vm.editProvider.id,\"provider-name\":_vm.editProvider.name}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./custom-logs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./custom-logs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./custom-logs.vue?vue&type=template&id=12aec99f&scoped=true&\"\nimport script from \"./custom-logs.vue?vue&type=script&lang=js&\"\nexport * from \"./custom-logs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./custom-logs.vue?vue&type=style&index=0&id=12aec99f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"12aec99f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"select-list\"},[_c('div',{staticClass:\"wrapper\"},_vm._l((_vm.customLogs),function(customLog){return _c('div',{key:customLog.identifier},[_c('div',{staticClass:\"level\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(customLog.level),expression:\"customLog.level\"}],on:{\"input\":function($event){return _vm.saveLogs($event, customLog.identifier)},\"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(customLog, \"level\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.levels),function(option){return _c('option',{key:option.value,domProps:{\"value\":option.value}},[_vm._v(_vm._s(option.text)+\"\\n \")])}),0)]),_vm._v(\" \"),_c('div',{staticClass:\"identifier\"},[_vm._v(_vm._s(customLog.identifier))])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./externals.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./externals.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./externals.vue?vue&type=template&id=7713c2cf&\"\nimport script from \"./externals.vue?vue&type=script&lang=js&\"\nexport * from \"./externals.vue?vue&type=script&lang=js&\"\nimport style0 from \"./externals.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"external-ids\"},[_c('span',[_vm._v(\" - \")]),_vm._v(\" \"),(_vm.externals.imdb && _vm.show.imdbInfo)?_c('app-link',{attrs:{\"href\":(\"https://www.imdb.com/title/\" + (_vm.show.imdbInfo.imdbId)),\"title\":(\"https://www.imdb.com/title/\" + (_vm.show.imdbInfo.imdbId))}},[_c('img',{staticStyle:{\"margin-top\":\"-1px\",\"vertical-align\":\"middle\"},attrs:{\"alt\":\"[imdb]\",\"height\":\"16\",\"width\":\"16\",\"src\":\"images/imdb16.png\"}})]):_vm._e(),_vm._v(\" \"),(_vm.externals.trakt)?_c('app-link',{attrs:{\"href\":(\"https://trakt.tv/shows/\" + (_vm.externals.trakt)),\"title\":(\"https://trakt.tv/shows/\" + (_vm.externals.trakt))}},[_c('img',{attrs:{\"alt\":\"[trakt]\",\"height\":\"16\",\"width\":\"16\",\"src\":\"images/trakt.png\"}})]):_vm._e(),_vm._v(\" \"),(_vm.externals.tvdb)?_c('app-link',{attrs:{\"href\":(\"https://www.thetvdb.com/dereferrer/series/\" + (_vm.externals.tvdb)),\"title\":(\"https://www.thetvdb.com/dereferrer/series/\" + (_vm.externals.tvdb))}},[_c('img',{attrs:{\"alt\":\"[tvdb]\",\"height\":\"16\",\"width\":\"16\",\"src\":\"images/thetvdb16.png\"}})]):_vm._e(),_vm._v(\" \"),(_vm.externals.tvmaze)?_c('app-link',{attrs:{\"href\":(\"https://www.tvmaze.com/shows/\" + (_vm.externals.tvmaze)),\"title\":(\"https://www.tvmaze.com/shows/\" + (_vm.externals.tvmaze))}},[_c('img',{attrs:{\"alt\":\"[tvmaze]\",\"height\":\"16\",\"width\":\"16\",\"src\":\"images/tvmaze16.png\"}})]):_vm._e(),_vm._v(\" \"),(_vm.externals.tmdb)?_c('app-link',{attrs:{\"href\":(\"https://www.themoviedb.org/tv/\" + (_vm.externals.tmdb)),\"title\":(\"https://www.themoviedb.org/tv/\" + (_vm.externals.tmdb))}},[_c('img',{attrs:{\"alt\":\"[tmdb]\",\"height\":\"16\",\"width\":\"16\",\"src\":\"images/tmdb16.png\"}})]):_vm._e(),_vm._v(\" \"),(_vm.show.xemNumbering && _vm.show.xemNumbering.length > 0)?_c('app-link',{attrs:{\"href\":(\"http://thexem.de/search?q=\" + (_vm.show.title)),\"title\":(\"http://thexem.de/search?q=\" + (_vm.show.title))}},[_c('img',{staticStyle:{\"margin-top\":\"-1px\",\"vertical-align\":\"middle\"},attrs:{\"alt\":\"[xem]\",\"height\":\"16\",\"width\":\"16\",\"src\":\"images/xem.png\"}})]):_vm._e(),_vm._v(\" \"),(_vm.externals.tvdb)?_c('app-link',{attrs:{\"href\":(\"https://fanart.tv/series/\" + (_vm.externals.tvdb)),\"title\":(\"https://fanart.tv/series/\" + (_vm.externals.tvdb))}},[_c('img',{staticClass:\"fanart\",attrs:{\"alt\":\"[fanart.tv]\",\"height\":\"16\",\"width\":\"16\",\"src\":\"images/fanart.tv.png\"}})]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"file-browser max-width\"},[_c('div',{class:(_vm.showBrowseButton ? 'input-group' : 'input-group-no-btn')},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPath),expression:\"currentPath\"}],ref:\"locationInput\",staticClass:\"form-control input-sm fileBrowserField\",attrs:{\"name\":_vm.name,\"type\":\"text\"},domProps:{\"value\":(_vm.currentPath)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPath=$event.target.value}}}),_vm._v(\" \"),(_vm.showBrowseButton)?_c('div',{staticClass:\"input-group-btn\",attrs:{\"title\":_vm.title,\"alt\":_vm.title},on:{\"click\":function($event){$event.preventDefault();return _vm.openDialog.apply(null, arguments)}}},[_vm._m(0)]):_vm._e()]),_vm._v(\" \"),_c('div',{ref:\"fileBrowserDialog\",staticClass:\"fileBrowserDialog\",staticStyle:{\"display\":\"none\"}}),_vm._v(\" \"),_c('input',{ref:\"fileBrowserSearchBox\",staticClass:\"form-control\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.currentPath},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.browse($event.target.value)}}}),_vm._v(\" \"),_c('ul',{ref:\"fileBrowserFileList\",staticStyle:{\"display\":\"none\"}},_vm._l((_vm.files),function(file){return _c('li',{key:file.name,staticClass:\"ui-state-default ui-corner-all\"},[_c('a',{on:{\"mouseover\":function($event){return _vm.toggleFolder(file, $event)},\"mouseout\":function($event){return _vm.toggleFolder(file, $event)},\"click\":function($event){return _vm.fileClicked(file)}}},[_c('span',{class:'ui-icon ' + (file.isFile ? 'ui-icon-blank' : 'ui-icon-folder-collapsed')}),_vm._v(\" \"+_vm._s(file.name)+\"\\n \")])])}),0)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn btn-default input-sm\",staticStyle:{\"font-size\":\"14px\"}},[_c('i',{staticClass:\"glyphicon glyphicon-open\"})])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./file-browser.vue?vue&type=template&id=26cffdc4&scoped=true&\"\nimport script from \"./file-browser.vue?vue&type=script&lang=js&\"\nexport * from \"./file-browser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./file-browser.vue?vue&type=style&index=0&id=26cffdc4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26cffdc4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('select')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./language-select.vue?vue&type=template&id=6d9e3033&\"\nimport script from \"./language-select.vue?vue&type=script&lang=js&\"\nexport * from \"./language-select.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load-progress-bar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load-progress-bar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./load-progress-bar.vue?vue&type=template&id=3b82c21e&\"\nimport script from \"./load-progress-bar.vue?vue&type=script&lang=js&\"\nexport * from \"./load-progress-bar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./load-progress-bar.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.display)?_c('div',{staticClass:\"load-progress-bar-container\"},[_c('div',{staticClass:\"border\"},[_c('div',{staticClass:\"msg\"},[_vm._v(_vm._s(_vm.loadMsg))]),_vm._v(\" \"),_c('div',{staticClass:\"progress\",style:(_vm.styleProgress)})])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"name-pattern-wrapper\"}},[(_vm.type)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"enable_naming_custom\"}},[_c('span',[_vm._v(\"Custom \"+_vm._s(_vm.type))])])]),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('toggle-button',{attrs:{\"width\":45,\"height\":22,\"id\":\"enable_naming_custom\",\"name\":\"enable_naming_custom\",\"sync\":\"\"},on:{\"input\":function($event){return _vm.update()}},model:{value:(_vm.isEnabled),callback:function ($$v) {_vm.isEnabled=$$v},expression:\"isEnabled\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"Name \"+_vm._s(_vm.type)+\" shows differently than regular shows?\")])],1)]):_vm._e(),_vm._v(\" \"),(!_vm.type || _vm.isEnabled)?_c('div',{staticClass:\"episode-naming\"},[_c('div',{staticClass:\"form-group\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedNamingPattern),expression:\"selectedNamingPattern\"}],staticClass:\"form-control input-sm\",attrs:{\"id\":\"name_presets\"},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.selectedNamingPattern=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.updatePatternSamples],\"input\":function($event){return _vm.update()}}},_vm._l((_vm.presets),function(preset){return _c('option',{key:preset.pattern,attrs:{\"id\":preset.pattern}},[_vm._v(_vm._s(preset.example))])}),0)])]),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"naming_custom\"}},[(_vm.isCustom)?_c('div',{staticClass:\"form-group\",staticStyle:{\"padding-top\":\"0\"}},[_vm._m(1),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.customName),expression:\"customName\"}],staticClass:\"form-control-inline-max input-sm max-input350\",attrs:{\"type\":\"text\",\"name\":\"naming_pattern\",\"id\":\"naming_pattern\"},domProps:{\"value\":(_vm.customName)},on:{\"change\":_vm.updatePatternSamples,\"input\":[function($event){if($event.target.composing){ return; }_vm.customName=$event.target.value},function($event){return _vm.update()}]}}),_vm._v(\" \"),_c('img',{staticClass:\"legend\",attrs:{\"src\":\"images/legend16.png\",\"width\":\"16\",\"height\":\"16\",\"alt\":\"[Toggle Key]\",\"id\":\"show_naming_key\",\"title\":\"Toggle Naming Legend\"},on:{\"click\":function($event){_vm.showLegend = !_vm.showLegend}}})])]):_vm._e(),_vm._v(\" \"),(_vm.showLegend && _vm.isCustom)?_c('div',{staticClass:\"nocheck\",attrs:{\"id\":\"naming_key\"}},[_c('table',{staticClass:\"Key\"},[_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('tbody',[_vm._m(4),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_c('tr',[_vm._m(20),_vm._v(\" \"),_c('td',[_vm._v(\"%M\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('M')))])]),_vm._v(\" \"),_c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%D\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('d')))])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%Y\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('yyyy')))])]),_vm._v(\" \"),_c('tr',[_vm._m(21),_vm._v(\" \"),_c('td',[_vm._v(\"%CM\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('M')))])]),_vm._v(\" \"),_c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%CD\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('d')))])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%CY\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('yyyy')))])]),_vm._v(\" \"),_vm._m(22),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_c('tr',{staticClass:\"even\"},[_vm._m(28),_vm._v(\" \"),_c('td',[_vm._v(\"%SY\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('yyyy')))])]),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_vm._m(31)])])]):_vm._e()]),_vm._v(\" \"),(_vm.selectedMultiEpStyle)?_c('div',{staticClass:\"form-group\"},[_vm._m(32),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedMultiEpStyle),expression:\"selectedMultiEpStyle\"}],staticClass:\"form-control input-sm\",attrs:{\"id\":\"naming_multi_ep\",\"name\":\"naming_multi_ep\"},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.selectedMultiEpStyle=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.updatePatternSamples],\"input\":function($event){return _vm.update($event)}}},_vm._l((_vm.availableMultiEpStyles),function(multiEpStyle){return _c('option',{key:multiEpStyle.value,attrs:{\"id\":\"multiEpStyle\"},domProps:{\"value\":multiEpStyle.value}},[_vm._v(_vm._s(multiEpStyle.text))])}),0)])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"form-group row\"},[_c('h3',{staticClass:\"col-sm-12\"},[_vm._v(\"Single-EP Sample:\")]),_vm._v(\" \"),_c('div',{staticClass:\"example col-sm-12\"},[_c('span',{staticClass:\"jumbo\",attrs:{\"id\":\"naming_example\"}},[_vm._v(_vm._s(_vm.namingExample))])])]),_vm._v(\" \"),(_vm.isMulti)?_c('div',{staticClass:\"form-group row\"},[_c('h3',{staticClass:\"col-sm-12\"},[_vm._v(\"Multi-EP sample:\")]),_vm._v(\" \"),_c('div',{staticClass:\"example col-sm-12\"},[_c('span',{staticClass:\"jumbo\",attrs:{\"id\":\"naming_example_multi\"}},[_vm._v(_vm._s(_vm.namingExampleMulti))])])]):_vm._e(),_vm._v(\" \"),(_vm.animeType > 0)?_c('div',{staticClass:\"form-group\"},[_vm._m(33),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.animeType),expression:\"animeType\"}],attrs:{\"type\":\"radio\",\"name\":\"naming_anime\",\"id\":\"naming_anime\",\"value\":\"1\"},domProps:{\"checked\":_vm._q(_vm.animeType,\"1\")},on:{\"change\":[function($event){_vm.animeType=\"1\"},_vm.updatePatternSamples]}}),_vm._v(\" \"),_c('span',[_vm._v(\"Add the absolute number to the season/episode format?\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Only applies to animes. (e.g. S15E45 - 310 vs S15E45)\")])])]):_vm._e(),_vm._v(\" \"),(_vm.animeType > 0)?_c('div',{staticClass:\"form-group\"},[_vm._m(34),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.animeType),expression:\"animeType\"}],attrs:{\"type\":\"radio\",\"name\":\"naming_anime\",\"id\":\"naming_anime_only\",\"value\":\"2\"},domProps:{\"checked\":_vm._q(_vm.animeType,\"2\")},on:{\"change\":[function($event){_vm.animeType=\"2\"},_vm.updatePatternSamples]}}),_vm._v(\" \"),_c('span',[_vm._v(\"Replace season/episode format with absolute number\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Only applies to animes.\")])])]):_vm._e(),_vm._v(\" \"),(_vm.animeType > 0)?_c('div',{staticClass:\"form-group\"},[_vm._m(35),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.animeType),expression:\"animeType\"}],attrs:{\"type\":\"radio\",\"name\":\"naming_anime\",\"id\":\"naming_anime_none\",\"value\":\"3\"},domProps:{\"checked\":_vm._q(_vm.animeType,\"3\")},on:{\"change\":[function($event){_vm.animeType=\"3\"},_vm.updatePatternSamples]}}),_vm._v(\" \"),_c('span',[_vm._v(\"Don't include the absolute number\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Only applies to animes.\")])])]):_vm._e()]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"name_presets\"}},[_c('span',[_vm._v(\"Name Pattern:\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\"},[_c('span',[_vm._v(\" \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',{staticClass:\"align-right\"},[_vm._v(\"Meaning\")]),_vm._v(\" \"),_c('th',[_vm._v(\"Pattern\")]),_vm._v(\" \"),_c('th',{attrs:{\"width\":\"60%\"}},[_vm._v(\"Result\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tfoot',[_c('tr',[_c('th',{attrs:{\"colspan\":\"3\"}},[_vm._v(\"Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Show Name:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%SN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Show Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%S.N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Show.Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%S_N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Show_Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Season Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%S\")]),_vm._v(\" \"),_c('td',[_vm._v(\"2\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%0S\")]),_vm._v(\" \"),_c('td',[_vm._v(\"02\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"XEM Season Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%XS\")]),_vm._v(\" \"),_c('td',[_vm._v(\"2\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%0XS\")]),_vm._v(\" \"),_c('td',[_vm._v(\"02\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Episode Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%E\")]),_vm._v(\" \"),_c('td',[_vm._v(\"3\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%0E\")]),_vm._v(\" \"),_c('td',[_vm._v(\"03\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"XEM Episode Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%XE\")]),_vm._v(\" \"),_c('td',[_vm._v(\"3\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%0XE\")]),_vm._v(\" \"),_c('td',[_vm._v(\"03\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Absolute Episode Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%AB\")]),_vm._v(\" \"),_c('td',[_vm._v(\"003\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Xem Absolute Episode Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%XAB\")]),_vm._v(\" \"),_c('td',[_vm._v(\"003\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Episode Name:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%EN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Episode Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%E.N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Episode.Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%E_N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Episode_Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Air Date:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Post-Processing Date:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Quality:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%QN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p BluRay\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%Q.N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p.BluRay\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%Q_N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p_BluRay\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Scene Quality:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%SQN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p HDTV x264\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%SQ.N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p.HDTV.x264\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%SQ_N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p_HDTV_x264\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Show premiere year:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('i',{staticClass:\"glyphicon glyphicon-info-sign\",attrs:{\"title\":\"Multi-EP style is ignored\"}}),_vm._v(\" \"),_c('b',[_vm._v(\"Release Name:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%RN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Show.Name.S02E03.HDTV.x264-RLSGROUP\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('i',{staticClass:\"glyphicon glyphicon-info-sign\",attrs:{\"title\":\"UNKNOWN_RELEASE_GROUP is used in place of RLSGROUP if it could not be properly detected\"}}),_vm._v(\" \"),_c('b',[_vm._v(\"Release Group:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%RG\")]),_vm._v(\" \"),_c('td',[_vm._v(\"RLSGROUP\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('i',{staticClass:\"glyphicon glyphicon-info-sign\",attrs:{\"title\":\"If episode is proper/repack add 'proper' to name.\"}}),_vm._v(\" \"),_c('b',[_vm._v(\"Release Type:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%RT\")]),_vm._v(\" \"),_c('td',[_vm._v(\"PROPER\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"naming_multi_ep\"}},[_c('span',[_vm._v(\"Multi-Episode Style:\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"naming_anime\"}},[_c('span',[_vm._v(\"Add Absolute Number\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"naming_anime_only\"}},[_c('span',[_vm._v(\"Only Absolute Number\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"naming_anime_none\"}},[_c('span',[_vm._v(\"No Absolute Number\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./name-pattern.vue?vue&type=template&id=03072bae&\"\nimport script from \"./name-pattern.vue?vue&type=script&lang=js&\"\nexport * from \"./name-pattern.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./plot-info.vue?vue&type=template&id=b01c2572&\"\nimport script from \"./plot-info.vue?vue&type=script&lang=js&\"\nexport * from \"./plot-info.vue?vue&type=script&lang=js&\"\nimport style0 from \"./plot-info.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.description !== '')?_c('img',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right\",value:({content: _vm.description}),expression:\"{content: description}\",modifiers:{\"right\":true}}],class:_vm.plotInfoClass,attrs:{\"src\":\"images/info32.png\",\"width\":\"16\",\"height\":\"16\",\"alt\":\"\"}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./progress-bar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./progress-bar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./progress-bar.vue?vue&type=template&id=2a6be2d2&scoped=true&\"\nimport script from \"./progress-bar.vue?vue&type=script&lang=js&\"\nexport * from \"./progress-bar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./progress-bar.vue?vue&type=style&index=0&id=2a6be2d2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a6be2d2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._b({staticClass:\"progressbar hidden-print ui-progressbar ui-corner-all ui-widget ui-widget-content\",attrs:{\"role\":\"progressbar\"}},'div',{ title: _vm.title },false),[(_vm.text)?_c('div',{staticClass:\"progressbarText\"},[_vm._v(_vm._s(_vm.text))]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.normalisedPercentage >= 1),expression:\"normalisedPercentage >= 1\"}],class:['ui-progressbar-value', 'ui-corner-left', 'ui-widget-header', 'progress-' + _vm.normalisedPercentage],style:({ width: (_vm.percentage + \"%\") })})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"show-option pull-right\"},[_vm._v(\"\\n Poster Size:\\n \"),_c('div',{staticStyle:{\"width\":\"100px\",\"display\":\"inline-block\",\"margin-left\":\"7px\"},attrs:{\"id\":\"posterSizeSlider\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./poster-size-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./poster-size-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./poster-size-slider.vue?vue&type=template&id=2421162a&\"\nimport script from \"./poster-size-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./poster-size-slider.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./quality-chooser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./quality-chooser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./quality-chooser.vue?vue&type=template&id=7daf2e28&scoped=true&\"\nimport script from \"./quality-chooser.vue?vue&type=script&lang=js&\"\nexport * from \"./quality-chooser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./quality-chooser.vue?vue&type=style&index=0&id=7daf2e28&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7daf2e28\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.selectedQualityPreset),expression:\"selectedQualityPreset\",modifiers:{\"number\":true}}],staticClass:\"form-control form-control-inline input-sm\",attrs:{\"name\":\"quality_preset\"},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 _vm._n(val)}); _vm.selectedQualityPreset=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[(_vm.keep)?_c('option',{attrs:{\"value\":\"keep\"}},[_vm._v(\"< Keep >\")]):_vm._e(),_vm._v(\" \"),_c('option',{domProps:{\"value\":0}},[_vm._v(\"Custom\")]),_vm._v(\" \"),_vm._l((_vm.qualityPresets),function(preset){return _c('option',{key:(\"quality-preset-\" + (preset.key)),domProps:{\"value\":preset.value}},[_vm._v(\"\\n \"+_vm._s(preset.name)+\"\\n \")])})],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedQualityPreset === 0),expression:\"selectedQualityPreset === 0\"}],attrs:{\"id\":\"customQualityWrapper\"}},[_vm._m(0),_vm._v(\" \"),_c('div',[_c('h5',[_vm._v(\"Allowed\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.allowedQualities),expression:\"allowedQualities\",modifiers:{\"number\":true}}],staticClass:\"form-control form-control-inline input-sm\",attrs:{\"name\":\"allowed_qualities\",\"multiple\":\"multiple\",\"size\":_vm.validQualities.length},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 _vm._n(val)}); _vm.allowedQualities=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.validQualities),function(quality){return _c('option',{key:(\"quality-list-\" + (quality.key)),domProps:{\"value\":quality.value}},[_vm._v(\"\\n \"+_vm._s(quality.name)+\"\\n \")])}),0)]),_vm._v(\" \"),_c('div',[_c('h5',[_vm._v(\"Preferred\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.preferredQualities),expression:\"preferredQualities\",modifiers:{\"number\":true}}],staticClass:\"form-control form-control-inline input-sm\",attrs:{\"name\":\"preferred_qualities\",\"multiple\":\"multiple\",\"size\":_vm.validQualities.length,\"disabled\":_vm.allowedQualities.length === 0},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 _vm._n(val)}); _vm.preferredQualities=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.validQualities),function(quality){return _c('option',{key:(\"quality-list-\" + (quality.key)),domProps:{\"value\":quality.value}},[_vm._v(\"\\n \"+_vm._s(quality.name)+\"\\n \")])}),0)])]),_vm._v(\" \"),(_vm.selectedQualityPreset !== 'keep')?_c('div',[((_vm.allowedQualities.length + _vm.preferredQualities.length) >= 1)?_c('div',{attrs:{\"id\":\"qualityExplanation\"}},[_vm._m(1),_vm._v(\" \"),(_vm.preferredQualities.length === 0)?_c('h5',[_vm._v(\"\\n This will download \"),_c('b',[_vm._v(\"any\")]),_vm._v(\" of these qualities and then stops searching:\\n \"),_c('label',{attrs:{\"id\":\"allowedExplanation\"}},[_vm._v(_vm._s(_vm.explanation.allowed.join(', ')))])]):[_c('h5',[_vm._v(\"\\n Downloads \"),_c('b',[_vm._v(\"any\")]),_vm._v(\" of these qualities:\\n \"),_c('label',{attrs:{\"id\":\"allowedPreferredExplanation\"}},[_vm._v(_vm._s(_vm.explanation.allowed.join(', ')))])]),_vm._v(\" \"),_c('h5',[_vm._v(\"\\n But it will stop searching when one of these is downloaded:\\n \"),_c('label',{attrs:{\"id\":\"preferredExplanation\"}},[_vm._v(_vm._s(_vm.explanation.preferred.join(', ')))])])]],2):_c('div',[_vm._v(\"Please select at least one allowed quality.\")])]):_vm._e(),_vm._v(\" \"),(_vm.backloggedEpisodes)?_c('div',[_c('h5',{staticClass:\"{ 'red-text': !backloggedEpisodes.status }\",domProps:{\"innerHTML\":_vm._s(_vm.backloggedEpisodes.html)}})]):_vm._e(),_vm._v(\" \"),(_vm.archive)?_c('div',{attrs:{\"id\":\"archive\"}},[_c('h5',[_c('b',[_vm._v(\"Archive downloaded episodes that are not currently in\\n \"),_c('app-link',{staticClass:\"backlog-link\",attrs:{\"href\":\"manage/backlogOverview/\",\"target\":\"_blank\"}},[_vm._v(\"backlog\")]),_vm._v(\".\")],1),_vm._v(\" \"),_c('br'),_vm._v(\"Avoids unnecessarily increasing your backlog\\n \"),_c('br')]),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa btn-inline\",attrs:{\"disabled\":_vm.archiveButton.disabled},on:{\"click\":function($event){$event.preventDefault();return _vm.archiveEpisodes.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.archiveButton.text)+\"\\n \")]),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.archivedStatus))])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_c('strong',[_vm._v(\"Preferred\")])]),_vm._v(\" qualities will replace those in \"),_c('b',[_c('strong',[_vm._v(\"allowed\")])]),_vm._v(\", even if they are lower.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h5',[_c('b',[_vm._v(\"Quality setting explanation:\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scene-number-input.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scene-number-input.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./scene-number-input.vue?vue&type=template&id=8a700f60&scoped=true&\"\nimport script from \"./scene-number-input.vue?vue&type=script&lang=js&\"\nexport * from \"./scene-number-input.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scene-number-input.vue?vue&type=style&index=0&id=8a700f60&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8a700f60\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{staticClass:\"sceneSeasonXEpisode form-control input-scene addQTip\",class:[\n _vm.isValid === true ? 'isValid' : '',\n _vm.isValid === false ? 'isInvalid' : '',\n _vm.numberingFrom === 'custom' ? 'isCustom' : ''\n ],staticStyle:{\"padding\":\"0\",\"text-align\":\"center\",\"max-width\":\"60px\"},attrs:{\"type\":\"text\",\"placeholder\":((_vm.sceneSeason || _vm.initialEpisode.season) + \"x\" + (_vm.sceneEpisode || _vm.initialEpisode.episode)),\"size\":\"6\",\"maxlength\":\"8\",\"title\":\"Change this value if scene numbering differs from the indexer episode numbering. Generally used for non-anime shows.\"},domProps:{\"value\":((_vm.sceneSeason || _vm.initialEpisode.season) + \"x\" + (_vm.sceneEpisode || _vm.initialEpisode.episode))},on:{\"change\":_vm.changeSceneNumbering}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scene-number-anime-input.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scene-number-anime-input.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./scene-number-anime-input.vue?vue&type=template&id=9e73c4ba&scoped=true&\"\nimport script from \"./scene-number-anime-input.vue?vue&type=script&lang=js&\"\nexport * from \"./scene-number-anime-input.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scene-number-anime-input.vue?vue&type=style&index=0&id=9e73c4ba&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9e73c4ba\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{staticClass:\"sceneAbsolute form-control input-scene addQTip\",class:[\n _vm.isValid === true ? 'isValid' : '',\n _vm.isValid === false ? 'isInvalid' : '',\n _vm.numberingFrom === 'custom' ? 'isCustom' : ''\n ],staticStyle:{\"padding\":\"0\",\"text-align\":\"center\",\"max-width\":\"60px\"},attrs:{\"type\":\"text\",\"placeholder\":_vm.sceneAbsolute,\"size\":\"6\",\"maxlength\":\"8\",\"title\":\"Change this value if scene absolute numbering differs from the indexer absolute numbering. Generally used for anime shows.\"},domProps:{\"value\":_vm.sceneAbsolute},on:{\"change\":_vm.changeSceneNumbering}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"scroll-buttons-wrapper\"}},[_c('div',{staticClass:\"scroll-wrapper top\",class:{ show: _vm.showToTop },on:{\"click\":function($event){$event.preventDefault();return _vm.scrollTop.apply(null, arguments)}}},[_vm._m(0)]),_vm._v(\" \"),_c('div',{staticClass:\"scroll-wrapper left\",class:{ show: _vm.showLeftRight }},[_c('span',{staticClass:\"scroll-left-inner\"},[_c('i',{staticClass:\"glyphicon glyphicon-circle-arrow-left\",on:{\"click\":function($event){$event.preventDefault();return _vm.scrollLeft.apply(null, arguments)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"scroll-wrapper right\",class:{ show: _vm.showLeftRight }},[_c('span',{staticClass:\"scroll-right-inner\"},[_c('i',{staticClass:\"glyphicon glyphicon-circle-arrow-right\",on:{\"click\":function($event){$event.preventDefault();return _vm.scrollRight.apply(null, arguments)}}})])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"scroll-top-inner\"},[_c('i',{staticClass:\"glyphicon glyphicon-circle-arrow-up\"})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./scroll-buttons.vue?vue&type=template&id=03c5223c&\"\nimport script from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nexport * from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scroll-buttons.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./search.vue?vue&type=template&id=4a074bc4&scoped=true&\"\nimport script from \"./search.vue?vue&type=script&lang=js&\"\nexport * from \"./search.vue?vue&type=script&lang=js&\"\nimport style0 from \"./search.vue?vue&type=style&index=0&id=4a074bc4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a074bc4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-wrapper\"},[(_vm.searchType === 'backlog')?_c('img',{ref:(\"search-\" + (_vm.episode.slug)),staticClass:\"epForcedSearch\",attrs:{\"id\":(_vm.showSlug + \"x\" + (_vm.episode.season) + \"x\" + (_vm.episode.episode)),\"name\":(_vm.showSlug + \"x\" + (_vm.episode.season) + \"x\" + (_vm.episode.episode)),\"src\":\"images/search16.png\",\"height\":\"16\",\"alt\":_vm.retryDownload(_vm.episode) ? 'retry' : 'search',\"title\":_vm.retryDownload(_vm.episode) ? 'Retry Download' : 'Forced Seach'},on:{\"click\":function($event){return _vm.queueSearch(_vm.episode)}}}):_vm._e(),_vm._v(\" \"),(_vm.searchType === 'manual')?_c('app-link',{staticClass:\"epManualSearch\",attrs:{\"id\":(_vm.showSlug + \"x\" + (_vm.episode.episode)),\"name\":(_vm.showSlug + \"x\" + (_vm.episode.season) + \"x\" + (_vm.episode.episode)),\"href\":(\"home/snatchSelection?showslug=\" + _vm.showSlug + \"&season=\" + (_vm.episode.season) + \"&episode=\" + (_vm.episode.episode))}},[_c('img',{attrs:{\"data-ep-manual-search\":\"\",\"src\":\"images/manualsearch.png\",\"width\":\"16\",\"height\":\"16\",\"alt\":\"search\",\"title\":\"Manual Search\"}})]):_vm._e(),_vm._v(\" \"),_c('modal',{attrs:{\"name\":\"query-start-backlog-search\",\"height\":'auto',\"width\":'80%'},on:{\"before-open\":_vm.beforeBacklogSearchModalClose}},[_c('transition',{attrs:{\"name\":\"modal\"}},[_c('div',{staticClass:\"modal-mask\"},[_c('div',{staticClass:\"modal-wrapper\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"aria-hidden\":\"true\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h4',{staticClass:\"modal-title\"},[_vm._v(\"Start search?\")])]),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('p',[_vm._v(\"Some episodes have been changed to 'Wanted'. Do you want to trigger a backlog search for these \"+_vm._s(_vm.backlogSearchEpisodes.length)+\" episode(s)\")])]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn-medusa btn-danger\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.$modal.hide('query-start-backlog-search')}}},[_vm._v(\"No\")]),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa btn-success\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"},on:{\"click\":function($event){_vm.search(_vm.backlogSearchEpisodes, 'backlog'); _vm.$modal.hide('query-start-backlog-search')}}},[_vm._v(\"Yes\")])])])])])])],1),_vm._v(\" \"),_c('modal',{attrs:{\"name\":\"query-mark-failed-and-search\",\"height\":'auto',\"width\":'80%'},on:{\"before-open\":_vm.beforeFailedSearchModalClose}},[_c('transition',{attrs:{\"name\":\"modal\"}},[_c('div',{staticClass:\"modal-mask\"},[_c('div',{staticClass:\"modal-wrapper\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_vm._v(\"\\n Mark episode as failed and search?\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('p',[_vm._v(\"Starting to search for the episode\")]),_vm._v(\" \"),(_vm.failedSearchEpisodes && _vm.failedSearchEpisodes.length === 1)?_c('p',[_vm._v(\"Would you also like to mark episode \"+_vm._s(_vm.failedSearchEpisodes[0].slug)+\" as \\\"failed\\\"? This will make sure the episode cannot be downloaded again\")]):(_vm.failedSearchEpisodes)?_c('p',[_vm._v(\"Would you also like to mark episodes \"+_vm._s(_vm.failedSearchEpisodes.map(function (ep) { return ep.slug; }).join(', '))+\" as \\\"failed\\\"? This will make sure the episode cannot be downloaded again\")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn-medusa btn-danger\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"},on:{\"click\":function($event){_vm.search(_vm.failedSearchEpisodes, 'backlog'); _vm.$modal.hide('query-mark-failed-and-search')}}},[_vm._v(\"No\")]),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa btn-success\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"},on:{\"click\":function($event){_vm.search(_vm.failedSearchEpisodes, 'failed'); _vm.$modal.hide('query-mark-failed-and-search')}}},[_vm._v(\"Yes\")]),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa btn-danger\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.$modal.hide('query-mark-failed-and-search')}}},[_vm._v(\"Cancel\")])])])])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"search-template-container\"}},[_c('vue-snotify'),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},_vm._l((_vm.defaultEpisodeTemplates),function(template){return _c('search-template-pattern',_vm._b({key:template.id},'search-template-pattern',{ template: template, format: _vm.showFormat, animeType: _vm.animeType },false))}),1)])]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},[_vm._m(1),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},_vm._l((_vm.defaultSeasonTemplates),function(template){return _c('search-template-pattern',_vm._b({key:template.id},'search-template-pattern',{ template: template, format: _vm.showFormat, animeType: _vm.animeType },false))}),1)])]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"row\"},[_vm._m(2),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},_vm._l((_vm.customTemplates),function(template){return _c('search-template-pattern',_vm._b({key:template.template,on:{\"remove\":_vm.remove}},'search-template-pattern',{ template: template, format: _vm.showFormat, animeType: _vm.animeType },false))}),1)])]),_vm._v(\" \"),_c('search-template-custom',_vm._b({on:{\"input\":_vm.add}},'search-template-custom',{ show: _vm.show, animeType: _vm.animeType, format: _vm.showFormat },false)),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showFormat === 'anime'),expression:\"showFormat === 'anime'\"}]},[_c('div',{staticClass:\"row\"},[(_vm.animeType > 0)?_c('div',{staticClass:\"form-group\"},[_vm._m(3),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.animeType),expression:\"animeType\"}],attrs:{\"type\":\"radio\",\"name\":\"naming_anime\",\"id\":\"naming_anime\"},domProps:{\"value\":1,\"checked\":_vm._q(_vm.animeType,1)},on:{\"change\":function($event){_vm.animeType=1}}}),_vm._v(\" \"),_c('span',[_vm._v(\"Add the absolute number to the season/episode format?\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Only applies to animes. (e.g. S15E45 - 310 vs S15E45)\")])])]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[(_vm.animeType > 0)?_c('div',{staticClass:\"form-group\"},[_vm._m(4),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.animeType),expression:\"animeType\"}],attrs:{\"type\":\"radio\",\"name\":\"naming_anime\",\"id\":\"naming_anime_only\"},domProps:{\"value\":2,\"checked\":_vm._q(_vm.animeType,2)},on:{\"change\":function($event){_vm.animeType=2}}}),_vm._v(\" \"),_c('span',[_vm._v(\"Replace season/episode format with absolute number\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Only applies to animes.\")])])]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[(_vm.animeType > 0)?_c('div',{staticClass:\"form-group\"},[_vm._m(5),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.animeType),expression:\"animeType\"}],attrs:{\"type\":\"radio\",\"name\":\"naming_anime\",\"id\":\"naming_anime_none\"},domProps:{\"value\":3,\"checked\":_vm._q(_vm.animeType,3)},on:{\"change\":function($event){_vm.animeType=3}}}),_vm._v(\" \"),_c('span',[_vm._v(\"Don't include the absolute number\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Only applies to animes.\")])])]):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"nocheck\",attrs:{\"id\":\"naming-key\"}},[_c('table',{staticClass:\"Key\"},[_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('tbody',[_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_c('tr',[_vm._m(24),_vm._v(\" \"),_c('td',[_vm._v(\"%M\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('M')))])]),_vm._v(\" \"),_c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%D\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('d')))])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%Y\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('yyyy')))])]),_vm._v(\" \"),_c('tr',[_vm._m(25),_vm._v(\" \"),_c('td',[_vm._v(\"%CM\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('M')))])]),_vm._v(\" \"),_c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%CD\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('d')))])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%CY\")]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.getDateFormat('yyyy')))])]),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_vm._m(28),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_vm._m(31),_vm._v(\" \"),_vm._m(32),_vm._v(\" \"),_vm._m(33),_vm._v(\" \"),_vm._m(34)])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"default_templates\"}},[_c('span',[_vm._v(\"Default Episode Templates\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"default_templates\"}},[_c('span',[_vm._v(\"Default Season Templates\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"default_templates\"}},[_c('span',[_vm._v(\"Custom Templates\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"col-sm-2 control-label\",attrs:{\"for\":\"naming_anime\"}},[_c('span',[_vm._v(\"Add Absolute Number\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"col-sm-2 control-label\",attrs:{\"for\":\"naming_anime_only\"}},[_c('span',[_vm._v(\"Only Absolute Number\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"col-sm-2 control-label\",attrs:{\"for\":\"naming_anime_none\"}},[_c('span',[_vm._v(\"No Absolute Number\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',{staticClass:\"align-right\"},[_vm._v(\"Meaning\")]),_vm._v(\" \"),_c('th',[_vm._v(\"Pattern\")]),_vm._v(\" \"),_c('th',{attrs:{\"width\":\"60%\"}},[_vm._v(\"Result\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tfoot',[_c('tr',[_c('th',{attrs:{\"colspan\":\"3\"}},[_vm._v(\"\\n Use lower case if you want lower case names (eg.\\n %sn, %e.n, %q_n etc)\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Show Name:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%SN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Show Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%S.N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Show.Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%S_N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Show_Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Season Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%S\")]),_vm._v(\" \"),_c('td',[_vm._v(\"2\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%0S\")]),_vm._v(\" \"),_c('td',[_vm._v(\"02\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"XEM Season Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%XS\")]),_vm._v(\" \"),_c('td',[_vm._v(\"2\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%0XS\")]),_vm._v(\" \"),_c('td',[_vm._v(\"02\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Episode Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%E\")]),_vm._v(\" \"),_c('td',[_vm._v(\"3\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%0E\")]),_vm._v(\" \"),_c('td',[_vm._v(\"03\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"XEM Episode Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%XE\")]),_vm._v(\" \"),_c('td',[_vm._v(\"3\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%0XE\")]),_vm._v(\" \"),_c('td',[_vm._v(\"03\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Absolute Episode Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%AB\")]),_vm._v(\" \"),_c('td',[_vm._v(\"003\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Xem Absolute Episode Number:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%XAB\")]),_vm._v(\" \"),_c('td',[_vm._v(\"003\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Episode Name:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%EN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Episode Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%E.N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Episode.Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%E_N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Episode_Name\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Air Date:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Post-Processing Date:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Quality:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%QN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p BluRay\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%Q.N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p.BluRay\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%Q_N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p_BluRay\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('b',[_vm._v(\"Scene Quality:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%SQN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p HDTV x264\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%SQ.N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p.HDTV.x264\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" \")]),_vm._v(\" \"),_c('td',[_vm._v(\"%SQ_N\")]),_vm._v(\" \"),_c('td',[_vm._v(\"720p_HDTV_x264\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('i',{staticClass:\"glyphicon glyphicon-info-sign\",attrs:{\"title\":\"Multi-EP style is ignored\"}}),_vm._v(\" \"),_c('b',[_vm._v(\"Release Name:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%RN\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Show.Name.S02E03.HDTV.x264-RLSGROUP\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticClass:\"align-right\"},[_c('i',{staticClass:\"glyphicon glyphicon-info-sign\",attrs:{\"title\":\"UNKNOWN_RELEASE_GROUP is used in place of RLSGROUP if it could not be properly detected\"}}),_vm._v(\" \"),_c('b',[_vm._v(\"Release Group:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%RG\")]),_vm._v(\" \"),_c('td',[_vm._v(\"RLSGROUP\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"even\"},[_c('td',{staticClass:\"align-right\"},[_c('i',{staticClass:\"glyphicon glyphicon-info-sign\",attrs:{\"title\":\"If episode is proper/repack add 'proper' to name.\"}}),_vm._v(\" \"),_c('b',[_vm._v(\"Release Type:\")])]),_vm._v(\" \"),_c('td',[_vm._v(\"%RT\")]),_vm._v(\" \"),_c('td',[_vm._v(\"PROPER\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-template-custom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-template-custom.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./search-template-custom.vue?vue&type=template&id=4f60cc3f&scoped=true&\"\nimport script from \"./search-template-custom.vue?vue&type=script&lang=js&\"\nexport * from \"./search-template-custom.vue?vue&type=script&lang=js&\"\nimport style0 from \"./search-template-custom.vue?vue&type=style&index=0&id=4f60cc3f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f60cc3f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\",attrs:{\"id\":\"search-template-custom\"}},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12 content\"},[_c('div',{staticClass:\"row\"},[_vm._m(1),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 content\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedTitle),expression:\"selectedTitle\"}],staticClass:\"form-control input-sm\",attrs:{\"id\":\"default_page\",\"name\":\"default_page\"},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.selectedTitle=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.selectTitles),function(option){return _c('option',{key:option.title,domProps:{\"value\":option}},[_vm._v(_vm._s(_vm.titleOptionDescription(option))+\"\\n \")])}),0)])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_vm._m(2),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10\"},[_c('div',{staticClass:\"checkbox\"},[_c('label',{attrs:{\"for\":\"episode\"}},[_vm._v(\"Episode\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.episodeOrSeason),expression:\"episodeOrSeason\"}],attrs:{\"type\":\"radio\",\"id\":\"episode\"},domProps:{\"value\":'episode',\"checked\":_vm._q(_vm.episodeOrSeason,'episode')},on:{\"change\":function($event){_vm.episodeOrSeason='episode'}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"episode\"}},[_vm._v(\"Season\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.episodeOrSeason),expression:\"episodeOrSeason\"}],attrs:{\"type\":\"radio\",\"id\":\"season\"},domProps:{\"value\":'season',\"checked\":_vm._q(_vm.episodeOrSeason,'season')},on:{\"change\":function($event){_vm.episodeOrSeason='season'}}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_vm._m(3),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 pattern\"},[(_vm.selectedTitle)?_c('span',{ref:\"inputTitle\"},[_vm._v(\"%SN\")]):_vm._e(),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.addPattern),expression:\"addPattern\"}],staticClass:\"form-control-inline-max input-sm max-input350 search-pattern\",staticStyle:{\"padding-left\":\"50px\"},attrs:{\"type\":\"text\",\"name\":\"new_pattern\",\"disabled\":!_vm.selectedTitle},domProps:{\"value\":(_vm.addPattern)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.addPattern=$event.target.value}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.enabled),expression:\"enabled\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.enabled)?_vm._i(_vm.enabled,null)>-1:(_vm.enabled)},on:{\"change\":function($event){var $$a=_vm.enabled,$$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.enabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.enabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.enabled=$$c}}}}),_vm._v(\" \"),(!_vm.validated && _vm.isValidMessage)?_c('p',[_vm._v(_vm._s(_vm.isValidMessage))]):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_vm._m(4),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10\",class:{ 'error-message': !_vm.validated }},[_vm._v(\"\\n \"+_vm._s(_vm.patternExample)+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-2\"}),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-10 vertical-align\"},[_c('input',{staticClass:\"btn-medusa pull-left button\",attrs:{\"id\":\"submit\",\"type\":\"submit\",\"value\":\"Add custom exception\",\"disabled\":!_vm.validated},on:{\"click\":_vm.add}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.notification))])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"default_templates\"}},[_c('span',[_vm._v(\"Add Custom Template\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\"},[_c('span',[_vm._v(\"Title:\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\"},[_c('span',[_vm._v(\"Episode or Season search:\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\"},[_c('span',[_vm._v(\"Search Template:\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-sm-2\"},[_c('label',{staticClass:\"control-label\"},[_c('span',[_vm._v(\"example:\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-template-pattern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-template-pattern.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./search-template-pattern.vue?vue&type=template&id=007d54df&scoped=true&\"\nimport script from \"./search-template-pattern.vue?vue&type=script&lang=js&\"\nexport * from \"./search-template-pattern.vue?vue&type=script&lang=js&\"\nimport style0 from \"./search-template-pattern.vue?vue&type=style&index=0&id=007d54df&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"007d54df\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-template-container.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-template-container.vue?vue&type=script&lang=js&\"","\n\n\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"search-template-pattern\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 content\"},[_c('div',{staticClass:\"template-wrapper\"},[_c('span',{staticClass:\"template-title\"},[_vm._v(_vm._s(_vm.searchTemplate.title))]),_vm._v(\" \"),_c('img',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right\",value:({\n content: _vm.searchTemplate.season === -1 ? 'Show Exception' : (\"Season \" + (_vm.searchTemplate.season) + \" Exception\")\n }),expression:\"{\\n content: searchTemplate.season === -1 ? 'Show Exception' : `Season ${searchTemplate.season} Exception`\\n }\",modifiers:{\"right\":true}}],staticStyle:{\"margin-bottom\":\"2px\"},attrs:{\"src\":\"images/info32.png\",\"width\":\"16\",\"height\":\"16\",\"alt\":\"\"}}),_vm._v(\" \"),(!_vm.searchTemplate.default)?_c('img',{staticClass:\"template-remove\",attrs:{\"src\":\"images/no16.png\"},on:{\"click\":function($event){return _vm.$emit('remove', _vm.searchTemplate)}}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.right\",value:({ content: _vm.tooltipContent }),expression:\"{ content: tooltipContent }\",modifiers:{\"right\":true}}],staticClass:\"tooltip-wrapper-pattern\"},[_c('div',{staticClass:\"template-body\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTemplate.template),expression:\"searchTemplate.template\"}],staticClass:\"form-control-inline-max input-sm max-input350 search-pattern\",class:{ invalid: !_vm.validated },attrs:{\"type\":\"text\",\"name\":\"search_pattern\",\"disabled\":\"disabled\"},domProps:{\"value\":(_vm.searchTemplate.template)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.searchTemplate, \"template\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTemplate.enabled),expression:\"searchTemplate.enabled\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.searchTemplate.enabled)?_vm._i(_vm.searchTemplate.enabled,null)>-1:(_vm.searchTemplate.enabled)},on:{\"change\":function($event){var $$a=_vm.searchTemplate.enabled,$$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.searchTemplate, \"enabled\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.searchTemplate, \"enabled\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.searchTemplate, \"enabled\", $$c)}}}}),_vm._v(\" \"),_c('i',{staticClass:\"show-template glyphicon\",class:(\"glyphicon-eye-\" + (_vm.showExample ? 'close' : 'open')),attrs:{\"title\":\"Show template example\"},on:{\"click\":function($event){_vm.showExample = !_vm.showExample}}})])])]),_vm._v(\" \"),(_vm.showExample)?_c('span',{staticClass:\"template-example\",class:{ invalid: !_vm.validated },attrs:{\"name\":\"search_pattern\"}},[_vm._v(\"Example: \"+_vm._s(_vm.searchTemplateExample)+\"\\n \")]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./search-template-container.vue?vue&type=template&id=110c2eea&\"\nimport script from \"./search-template-container.vue?vue&type=script&lang=js&\"\nexport * from \"./search-template-container.vue?vue&type=script&lang=js&\"\nimport style0 from \"./search-template-container.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./select-list.vue?vue&type=template&id=1843461f&scoped=true&\"\nimport script from \"./select-list.vue?vue&type=script&lang=js&\"\nexport * from \"./select-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-list.vue?vue&type=style&index=0&id=1843461f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1843461f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._b({staticClass:\"select-list max-width\"},'div',{disabled: _vm.disabled},false),[_c('i',{staticClass:\"switch-input glyphicon glyphicon-refresh\",attrs:{\"title\":\"Switch between a list and comma separated values\"},on:{\"click\":function($event){return _vm.switchFields()}}}),_vm._v(\" \"),(!_vm.csvMode)?_c('ul',[_vm._l((_vm.editItems),function(item){return _c('li',{key:item.id},[_c('div',{staticClass:\"input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.value),expression:\"item.value\"}],staticClass:\"form-control input-sm\",attrs:{\"disabled\":\"\",\"type\":\"text\"},domProps:{\"value\":(item.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(item, \"value\", $event.target.value)},function($event){return _vm.removeEmpty(item)}]}}),_vm._v(\" \"),_c('div',{staticClass:\"input-group-btn\",on:{\"click\":function($event){return _vm.deleteItem(item)}}},[_vm._m(0,true)])])])}),_vm._v(\" \"),_c('div',{staticClass:\"new-item\"},[_c('div',{staticClass:\"input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newItem),expression:\"newItem\"}],ref:\"newItemInput\",staticClass:\"form-control input-sm\",attrs:{\"type\":\"text\",\"placeholder\":\"add new values per line\"},domProps:{\"value\":(_vm.newItem)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newItem=$event.target.value}}}),_vm._v(\" \"),_c('div',{staticClass:\"input-group-btn\",on:{\"click\":function($event){return _vm.addNewItem()}}},[_vm._m(1)])])]),_vm._v(\" \"),(_vm.newItem.length > 0)?_c('div',{staticClass:\"new-item-help\"},[_vm._v(\"\\n Click \"),_c('i',{staticClass:\"glyphicon glyphicon-plus\"}),_vm._v(\" to finish adding the value.\\n \")]):_vm._e()],2):_c('div',{staticClass:\"csv\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv),expression:\"csv\"}],staticClass:\"form-control input-sm\",attrs:{\"type\":\"text\",\"placeholder\":\"add values comma separated\"},domProps:{\"value\":(_vm.csv)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.csv=$event.target.value}}})])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn btn-default input-sm\",staticStyle:{\"font-size\":\"14px\",\"background-color\":\"rgb(238, 238, 238)\"}},[_c('i',{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"title\":\"Remove\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn btn-default input-sm\",staticStyle:{\"font-size\":\"14px\"}},[_c('i',{staticClass:\"glyphicon glyphicon-plus\",attrs:{\"title\":\"Add\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-trakt-lists.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-trakt-lists.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./select-trakt-lists.vue?vue&type=template&id=20efe074&scoped=true&\"\nimport script from \"./select-trakt-lists.vue?vue&type=script&lang=js&\"\nexport * from \"./select-trakt-lists.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-trakt-lists.vue?vue&type=style&index=0&id=20efe074&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"20efe074\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"select-trakt-list max-width\"},[_c('ul',_vm._l((_vm.availableLists),function(availableList){return _c('li',{key:availableList},[_c('div',{staticClass:\"trakt-list-group\"},[_c('input',{staticClass:\"form-control input-sm available-list\",attrs:{\"disabled\":\"\",\"type\":\"text\"},domProps:{\"value\":availableList}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.selectedLists.find(function (list) { return list === availableList; })},on:{\"input\":function($event){return _vm.saveLists($event, availableList)}}})])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./show-selector.vue?vue&type=template&id=43633cb1&\"\nimport script from \"./show-selector.vue?vue&type=script&lang=js&\"\nexport * from \"./show-selector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./show-selector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"show-selector form-inline hidden-print\"},[_c('div',{staticClass:\"select-show-group pull-left top-5 bottom-5\"},[(_vm.shows.length === 0)?_c('select',{class:_vm.selectClass,attrs:{\"disabled\":\"\"}},[_c('option',[_vm._v(\"Loading...\")])]):_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedShowSlug),expression:\"selectedShowSlug\"}],class:_vm.selectClass,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.selectedShowSlug=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.changeRoute($event.target.value);}]}},[(_vm.placeHolder)?_c('option',{attrs:{\"disabled\":\"\",\"hidden\":\"\"},domProps:{\"value\":_vm.placeHolder,\"selected\":!_vm.selectedShowSlug}},[_vm._v(_vm._s(_vm.placeHolder))]):_vm._e(),_vm._v(\" \"),(_vm.sortedLists && _vm.sortedLists.length > 1)?_vm._l((_vm.sortedLists),function(list){return _c('optgroup',{key:list.listTitle,attrs:{\"label\":list.listTitle}},_vm._l((list.shows),function(show){return _c('option',{key:show.id.slug,domProps:{\"value\":show.id.slug}},[_vm._v(_vm._s(show.title))])}),0)}):_vm._l((_vm.sortedLists[0].shows),function(show){return _c('option',{key:show.id.slug,domProps:{\"value\":show.id.slug}},[_vm._v(_vm._s(show.title))])})],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._b({staticClass:\"sorted-select-list max-width\"},'div',{disabled: _vm.disabled},false),[_c('draggable',{staticClass:\"list-group\",attrs:{\"tag\":\"ul\",\"handle\":\".handle\"},on:{\"start\":function($event){_vm.dragging = true},\"end\":function($event){_vm.dragging = false}},model:{value:(_vm.editItems),callback:function ($$v) {_vm.editItems=$$v},expression:\"editItems\"}},_vm._l((_vm.editItems),function(item){return _c('li',{key:item.id,staticClass:\"draggable-list\"},[_c('font-awesome-icon',{staticClass:\"handle\",attrs:{\"icon\":'align-justify'}}),_vm._v(\" \"),_c('div',{staticClass:\"draggable-input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.value),expression:\"item.value\"}],staticClass:\"form-control input-sm\",attrs:{\"type\":\"text\"},domProps:{\"value\":(item.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(item, \"value\", $event.target.value)},function($event){return _vm.removeEmpty(item)}]}}),_vm._v(\" \"),_c('div',{staticClass:\"input-group-btn\",on:{\"click\":function($event){return _vm.deleteItem(item)}}},[_c('div',{staticClass:\"btn btn-default input-sm\",staticStyle:{\"font-size\":\"14px\"}},[_c('i',{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"title\":\"Remove\"}})])])])],1)}),0),_vm._v(\" \"),_c('div',{staticClass:\"new-item\"},[_c('div',{staticClass:\"draggable-input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newItem),expression:\"newItem\"}],ref:\"newItemInput\",staticClass:\"form-control input-sm\",attrs:{\"type\":\"text\",\"placeholder\":\"add new values per line\"},domProps:{\"value\":(_vm.newItem)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newItem=$event.target.value}}}),_vm._v(\" \"),_c('div',{staticClass:\"input-group-btn\",on:{\"click\":function($event){return _vm.addNewItem()}}},[_vm._m(0)])])]),_vm._v(\" \"),(_vm.newItem.length > 0)?_c('div',{staticClass:\"new-item-help\"},[_vm._v(\"\\n Click \"),_c('i',{staticClass:\"glyphicon glyphicon-plus\"}),_vm._v(\" to finish adding the value.\\n \")]):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn btn-default input-sm\",staticStyle:{\"font-size\":\"14px\"}},[_c('i',{staticClass:\"glyphicon glyphicon-plus\",attrs:{\"title\":\"Add\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sorted-select-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sorted-select-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./sorted-select-list.vue?vue&type=template&id=48a6e4c2&scoped=true&\"\nimport script from \"./sorted-select-list.vue?vue&type=script&lang=js&\"\nexport * from \"./sorted-select-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./sorted-select-list.vue?vue&type=style&index=0&id=48a6e4c2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"48a6e4c2\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./submenu-offset.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./submenu-offset.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./submenu-offset.vue?vue&type=template&id=0d6fc9aa&scoped=true&\"\nimport script from \"./submenu-offset.vue?vue&type=script&lang=js&\"\nexport * from \"./submenu-offset.vue?vue&type=script&lang=js&\"\nimport style0 from \"./submenu-offset.vue?vue&type=style&index=0&id=0d6fc9aa&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d6fc9aa\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$route.meta.subMenu)?_c('div',{staticClass:\"submenu-offset\"}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./test-guessit.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./test-guessit.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./test-guessit.vue?vue&type=template&id=3796064f&scoped=true&\"\nimport script from \"./test-guessit.vue?vue&type=script&lang=js&\"\nexport * from \"./test-guessit.vue?vue&type=script&lang=js&\"\nimport style0 from \"./test-guessit.vue?vue&type=style&index=0&id=3796064f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3796064f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_vm._m(1),_vm._v(\" \"),_c('div',{staticClass:\"col-lg-10\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.releaseName),expression:\"releaseName\"}],staticClass:\"form-control input-sm\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.releaseName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.releaseName=$event.target.value}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12\"},[_c('pre',[_vm._v(_vm._s(JSON.stringify(_vm.guessitResult, undefined, 4)))])])]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12\"},[_c('div',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.error))])])]):_vm._e(),_vm._v(\" \"),(_vm.show)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12 matched-show\"},[_c('div',[_vm._v(\"Matched to show:\")]),_vm._v(\" \"),_c('div',[_c('app-link',{attrs:{\"href\":(\"home/displayShow?showslug=\" + (_vm.show.id.slug))}},[_vm._v(_vm._s(_vm.show.title))])],1)])]):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",on:{\"click\":function($event){$event.preventDefault();return _vm.testReleaseName.apply(null, arguments)}}},[_vm._v(\"Test Release Name\")])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12\"},[_c('p',[_vm._v(\"Guessit is a library used for parsing release names. As a minimum Medusa requires a show title, season and episode (if not parsed as a season pack).\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You can fill in your release name and click the `Test Release Name` button, to get the guessit response.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-lg-2\"},[_c('span',[_vm._v(\"Release name:\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('config-toggle-slider',{attrs:{\"label\":\"Enable\",\"id\":\"use_trakt\",\"explanations\":['Send Trakt.tv notifications?']},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.trakt.enabled),callback:function ($$v) {_vm.$set(_vm.trakt, \"enabled\", $$v)},expression:\"trakt.enabled\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.trakt.enabled),expression:\"trakt.enabled\"}],attrs:{\"id\":\"content-use-trakt-client\"}},[_c('config-template',{attrs:{\"label-for\":\"trakt_request_auth\",\"label\":\"\"}},[_c('input',{staticClass:\"btn-medusa\",attrs:{\"type\":\"button\",\"value\":\"Connect to your trakt account\",\"id\":\"Trakt\"},on:{\"click\":_vm.TraktRequestDeviceCode}}),_vm._v(\" \"),(_vm.traktRequestSend && _vm.traktUserCode)?_c('span',{staticStyle:{\"display\":\"inline\"}},[_vm._v(\"Use this code in the popup: \"+_vm._s(_vm.traktUserCode))]):_vm._e(),_vm._v(\" \"),(_vm.traktRequestSend && _vm.traktUserCode && _vm.traktRequestMessage)?_c('p',[_vm._v(\"Trakt request status: \"+_vm._s(_vm.traktRequestMessage))]):_vm._e(),_vm._v(\" \"),(_vm.traktRequestAuthenticated && _vm.traktRequestMessage)?_c('p',[_vm._v(_vm._s(_vm.traktRequestMessage))]):_vm._e()]),_vm._v(\" \"),(!_vm.authOnly)?[_c('config-textbox-number',{attrs:{\"label\":\"API Timeout\",\"id\":\"trakt_timeout\",\"explanations\":['Seconds to wait for Trakt API to respond. (Use 0 to wait forever)']},model:{value:(_vm.trakt.timeout),callback:function ($$v) {_vm.$set(_vm.trakt, \"timeout\", $$v)},expression:\"trakt.timeout\"}}),_vm._v(\" \"),_c('config-template',{attrs:{\"label-for\":\"trakt_default_indexer\",\"label\":\"Default indexer\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.trakt.defaultIndexer),expression:\"trakt.defaultIndexer\"}],staticClass:\"form-control\",attrs:{\"id\":\"trakt_default_indexer\",\"name\":\"trakt_default_indexer\"},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.trakt, \"defaultIndexer\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.traktIndexersOptions),function(option){return _c('option',{key:option.key,domProps:{\"value\":option.value}},[_vm._v(\"\\n \"+_vm._s(option.text)+\"\\n \")])}),0)]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Sync libraries\",\"id\":\"trakt_sync\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.trakt.sync),callback:function ($$v) {_vm.$set(_vm.trakt, \"sync\", $$v)},expression:\"trakt.sync\"}},[_c('p',[_vm._v(\"Sync your Medusa show library with your Trakt collection.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Note: Don't enable this setting if you use the Trakt addon for Kodi or any other script that syncs your library.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Kodi detects that the episode was deleted and removes from collection which causes Medusa to re-add it. This causes a loop between Medusa and Kodi adding and deleting the episode.\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.trakt.sync),expression:\"trakt.sync\"}],attrs:{\"id\":\"content-use-trakt-client\"}},[_c('config-toggle-slider',{attrs:{\"label\":\"Remove Episodes From Collection\",\"id\":\"trakt_remove_watchlist\",\"explanations\":['Remove an Episode from your Trakt Collection if it is not in your Medusa Library.', 'Note:Don\\'t enable this setting if you use the Trakt addon for Kodi or any other script that syncs your library.']},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.trakt.removeWatchlist),callback:function ($$v) {_vm.$set(_vm.trakt, \"removeWatchlist\", $$v)},expression:\"trakt.removeWatchlist\"}})],1),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Sync watchlist\",\"id\":\"trakt_sync_watchlist\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.trakt.syncWatchlist),callback:function ($$v) {_vm.$set(_vm.trakt, \"syncWatchlist\", $$v)},expression:\"trakt.syncWatchlist\"}},[_c('p',[_vm._v(\"Sync your Medusa library with your Trakt Watchlist (either Show and Episode).\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Episode will be added on watch list when wanted or snatched and will be removed when downloaded\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Note: By design, Trakt automatically removes episodes and/or shows from watchlist as soon you have watched them.\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.trakt.syncWatchlist),expression:\"trakt.syncWatchlist\"}],attrs:{\"id\":\"content-use-trakt-client\"}},[_c('config-template',{attrs:{\"label-for\":\"trakt_default_indexer\",\"label\":\"Watchlist add method\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.trakt.methodAdd),expression:\"trakt.methodAdd\"}],staticClass:\"form-control\",attrs:{\"id\":\"trakt_method_add\",\"name\":\"trakt_method_add\"},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.trakt, \"methodAdd\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.traktMethodOptions),function(option){return _c('option',{key:option.key,domProps:{\"value\":option.value}},[_vm._v(\"\\n \"+_vm._s(option.text)+\"\\n \")])}),0),_vm._v(\" \"),_c('p',[_vm._v(\"method in which to download episodes for new shows.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Remove episode\",\"id\":\"trakt_remove_watchlist\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.trakt.removeWatchlist),callback:function ($$v) {_vm.$set(_vm.trakt, \"removeWatchlist\", $$v)},expression:\"trakt.removeWatchlist\"}},[_c('p',[_vm._v(\"remove an episode from your watchlist after it's downloaded.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Remove series\",\"id\":\"trakt_remove_serieslist\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.trakt.removeSerieslist),callback:function ($$v) {_vm.$set(_vm.trakt, \"removeSerieslist\", $$v)},expression:\"trakt.removeSerieslist\"}},[_c('p',[_vm._v(\"remove the whole series from your watchlist after any download.\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Remove watched show\",\"id\":\"trakt_remove_show_from_application\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.trakt.removeShowFromApplication),callback:function ($$v) {_vm.$set(_vm.trakt, \"removeShowFromApplication\", $$v)},expression:\"trakt.removeShowFromApplication\"}},[_c('p',[_vm._v(\"remove the show from Medusa if it\\\\'s ended and completely watched\")])]),_vm._v(\" \"),_c('config-toggle-slider',{attrs:{\"label\":\"Start paused\",\"id\":\"trakt_start_paused\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.trakt.startPaused),callback:function ($$v) {_vm.$set(_vm.trakt, \"startPaused\", $$v)},expression:\"trakt.startPaused\"}},[_c('p',[_vm._v(\"shows grabbed from your trakt watchlist start paused.\")])])],1),_vm._v(\" \"),_c('config-textbox',{class:_vm.traktBlacklistClass,attrs:{\"label\":\"Trakt blackList name\",\"id\":\"trakt_blacklist_name\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.trakt.blacklistName),callback:function ($$v) {_vm.$set(_vm.trakt, \"blacklistName\", $$v)},expression:\"trakt.blacklistName\"}},[_c('p',[_vm._v(\"Name(slug) of List on Trakt for blacklisting show on 'Add Trending Show' & 'Add Recommended Shows' pages\")])])]:_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"testNotification\",attrs:{\"id\":\"testTrakt-result\"}},[_vm._v(_vm._s(_vm.testTraktResult))]),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"id\":\"trakt_pin_url\"},domProps:{\"value\":_vm.trakt.pinUrl}}),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa\",attrs:{\"id\":\"testTrakt\"},on:{\"click\":_vm.testTrakt}},[_vm._v(\"Test Trakt\")]),_vm._v(\" \"),(!_vm.authOnly)?_c('button',{staticClass:\"btn-medusa\",attrs:{\"id\":\"forceSync\"},on:{\"click\":_vm.traktForceSync}},[_vm._v(\"Force Sync\")]):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"btn-medusa config_submitter\",attrs:{\"disabled\":_vm.saving},on:{\"click\":_vm.save}},[_vm._v(\"Save Changes\")])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./trakt-authentication.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./trakt-authentication.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./trakt-authentication.vue?vue&type=template&id=769fed2d&scoped=true&\"\nimport script from \"./trakt-authentication.vue?vue&type=script&lang=js&\"\nexport * from \"./trakt-authentication.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"769fed2d\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./alerts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./alerts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./alerts.vue?vue&type=template&id=4c38c771&\"\nimport script from \"./alerts.vue?vue&type=script&lang=js&\"\nexport * from \"./alerts.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.system.branch !== null)?_c('div',{attrs:{\"id\":\"alerts\"}},[(_vm.system.branch !== 'master' && !_vm.developer)?_c('div',{staticClass:\"text-center\"},[_c('div',{staticClass:\"alert alert-danger upgrade-notification hidden-print\",attrs:{\"role\":\"alert\"}},[_c('span',[_vm._v(\"You're using the \"+_vm._s(_vm.system.branch)+\" branch. Please use 'master' unless specifically asked\")])])]):_vm._e(),_vm._v(\" \"),(_vm.system.newestVersionMessage)?_c('div',{staticClass:\"text-center\"},[_c('div',{staticClass:\"alert alert-success upgrade-notification hidden-print\",attrs:{\"role\":\"alert\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.system.newestVersionMessage)}})])]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-header.vue?vue&type=template&id=2843f38c&\"\nimport script from \"./app-header.vue?vue&type=script&lang=js&\"\nexport * from \"./app-header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app-header.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"navbar navbar-default navbar-fixed-top hidden-print\",attrs:{\"role\":\"navigation\"}},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"navbar-header\"},[_c('button',{staticClass:\"navbar-toggle collapsed\",attrs:{\"type\":\"button\",\"data-toggle\":\"collapse\",\"data-target\":\"#main_nav\"}},[(_vm.toolsBadgeCount > 0)?_c('span',{class:(\"floating-badge\" + _vm.toolsBadgeClass)},[_vm._v(_vm._s(_vm.toolsBadgeCount))]):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"sr-only\"},[_vm._v(\"Toggle navigation\")]),_vm._v(\" \"),_c('span',{staticClass:\"icon-bar\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon-bar\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon-bar\"})]),_vm._v(\" \"),_c('app-link',{staticClass:\"navbar-brand\",attrs:{\"href\":\"home/\",\"title\":\"Medusa\"}},[_c('img',{staticClass:\"img-responsive pull-left\",staticStyle:{\"height\":\"50px\"},attrs:{\"alt\":\"Medusa\",\"src\":\"images/medusa.png\"}})])],1),_vm._v(\" \"),(_vm.isAuthenticated)?_c('div',{staticClass:\"collapse navbar-collapse\",attrs:{\"id\":\"main_nav\"}},[_c('ul',{staticClass:\"nav navbar-nav navbar-right navbar-mobile\"},[_c('li',{staticClass:\"navbar-split dropdown\",class:{ active: _vm.topMenu === 'home' },attrs:{\"id\":\"NAVhome\"}},[_c('app-link',{staticClass:\"dropdown-toggle\",attrs:{\"aria-haspopup\":\"true\",\"data-toggle\":\"dropdown\",\"data-hover\":\"dropdown\"}},[_c('span',[_vm._v(\"Shows\")]),_vm._v(\" \"),_c('b',{staticClass:\"caret\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',[_c('app-link',{attrs:{\"href\":\"home/\"}},[_c('i',{staticClass:\"menu-icon-home\"}),_vm._v(\" Show List\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"addShows/\"}},[_c('i',{staticClass:\"menu-icon-addshow\"}),_vm._v(\" Add Shows\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"addRecommended/\"}},[_c('i',{staticClass:\"menu-icon-addshow\"}),_vm._v(\" Add Recommended Shows\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"home/postprocess/\"}},[_c('i',{staticClass:\"menu-icon-postprocess\"}),_vm._v(\" Manual Post-Processing\")])],1),_vm._v(\" \"),(_vm.recentShows.length > 0)?_c('li',{staticClass:\"divider\",attrs:{\"role\":\"separator\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.recentShows),function(recentShow){return _c('li',{key:recentShow.link},[_c('app-link',{attrs:{\"href\":recentShow.link}},[_c('i',{staticClass:\"menu-icon-addshow\"}),_vm._v(\" \"+_vm._s(recentShow.name)+\"\\n \")])],1)})],2),_vm._v(\" \"),_c('div',{staticStyle:{\"clear\":\"both\"}})],1),_vm._v(\" \"),_c('li',{staticClass:\"navbar-split\",class:{ active: _vm.topMenu === 'schedule' },attrs:{\"id\":\"NAVschedule\"}},[_c('app-link',{attrs:{\"href\":\"schedule/\"}},[_vm._v(\"Schedule\")])],1),_vm._v(\" \"),_c('li',{staticClass:\"navbar-split\",class:{ active: _vm.topMenu === 'history' },attrs:{\"id\":\"NAVhistory\"}},[_c('app-link',{attrs:{\"href\":\"history/\"}},[_vm._v(\"History\")])],1),_vm._v(\" \"),_c('li',{staticClass:\"navbar-split dropdown\",class:{ active: _vm.topMenu === 'manage' },attrs:{\"id\":\"NAVmanage\"}},[_c('app-link',{staticClass:\"dropdown-toggle\",attrs:{\"aria-haspopup\":\"true\",\"data-toggle\":\"dropdown\",\"data-hover\":\"dropdown\"}},[_c('span',[_vm._v(\"Manage\")]),_vm._v(\" \"),_c('b',{staticClass:\"caret\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',[_c('app-link',{attrs:{\"href\":\"manage/\"}},[_c('i',{staticClass:\"menu-icon-manage\"}),_vm._v(\" Mass Update\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"manage/changeIndexer/\"}},[_c('i',{staticClass:\"menu-icon-manage-change\"}),_vm._v(\" Change Indexer\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"manage/backlogOverview/\"}},[_c('i',{staticClass:\"menu-icon-backlog-view\"}),_vm._v(\" Backlog Overview\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"manage/manageSearches/\"}},[_c('i',{staticClass:\"menu-icon-manage-searches\"}),_vm._v(\" Manage Searches\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"manage/episodeStatuses/\"}},[_c('i',{staticClass:\"menu-icon-manage2\"}),_vm._v(\" Episode Status Management\")])],1),_vm._v(\" \"),(_vm.linkVisible.plex)?_c('li',[_c('a',{attrs:{\"href\":\"home/updatePLEX/\"},on:{\"click\":function($event){$event.preventDefault();return _vm.updatePlex.apply(null, arguments)}}},[_c('i',{staticClass:\"menu-icon-plex\"}),_vm._v(\" Update PLEX\")])]):_vm._e(),_vm._v(\" \"),(_vm.linkVisible.kodi)?_c('li',[_c('a',{attrs:{\"href\":\"home/updateKODI/\"},on:{\"click\":function($event){$event.preventDefault();return _vm.updateKodi.apply(null, arguments)}}},[_c('i',{staticClass:\"menu-icon-kodi\"}),_vm._v(\" Update KODI\")])]):_vm._e(),_vm._v(\" \"),(_vm.linkVisible.emby)?_c('li',[_c('a',{attrs:{\"href\":\"home/updateEMBY/\"},on:{\"click\":function($event){$event.preventDefault();return _vm.updateEmby.apply(null, arguments)}}},[_c('i',{staticClass:\"menu-icon-emby\"}),_vm._v(\" Update Emby\")])]):_vm._e(),_vm._v(\" \"),(_vm.linkVisible.manageTorrents)?_c('li',[_c('app-link',{attrs:{\"href\":\"manage/manageTorrents/\",\"target\":\"_blank\"}},[_c('i',{staticClass:\"menu-icon-bittorrent\"}),_vm._v(\" Manage Torrents\")])],1):_vm._e(),_vm._v(\" \"),(_vm.linkVisible.failedDownloads)?_c('li',[_c('app-link',{attrs:{\"href\":\"manage/failedDownloads/\"}},[_c('i',{staticClass:\"menu-icon-failed-download\"}),_vm._v(\" Failed Downloads\")])],1):_vm._e(),_vm._v(\" \"),(_vm.linkVisible.subtitleMissed)?_c('li',[_c('app-link',{attrs:{\"href\":\"manage/subtitleMissed/\"}},[_c('i',{staticClass:\"menu-icon-backlog\"}),_vm._v(\" Missed Subtitle Management\")])],1):_vm._e()]),_vm._v(\" \"),_c('div',{staticStyle:{\"clear\":\"both\"}})],1),_vm._v(\" \"),_c('li',{staticClass:\"navbar-split dropdown\",class:{ active: _vm.topMenu === 'config' },attrs:{\"id\":\"NAVconfig\"}},[_c('app-link',{staticClass:\"dropdown-toggle\",attrs:{\"aria-haspopup\":\"true\",\"data-toggle\":\"dropdown\",\"data-hover\":\"dropdown\"}},[_c('span',{staticClass:\"visible-xs-inline\"},[_vm._v(\"Config\")]),_c('img',{staticClass:\"navbaricon hidden-xs\",attrs:{\"src\":\"images/menu/system18.png\"}}),_vm._v(\" \"),_c('b',{staticClass:\"caret\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',[_c('app-link',{attrs:{\"href\":\"config/\"}},[_c('i',{staticClass:\"menu-icon-help\"}),_vm._v(\" Help & Info\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"config/general/\"}},[_c('i',{staticClass:\"menu-icon-config\"}),_vm._v(\" General\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"config/backuprestore/\"}},[_c('i',{staticClass:\"menu-icon-backup\"}),_vm._v(\" Backup & Restore\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"config/search/\"}},[_c('i',{staticClass:\"menu-icon-manage-searches\"}),_vm._v(\" Search Settings\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"config/providers/\"}},[_c('i',{staticClass:\"menu-icon-provider\"}),_vm._v(\" Search Providers\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"config/subtitles/\"}},[_c('i',{staticClass:\"menu-icon-backlog\"}),_vm._v(\" Subtitles Settings\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"config/postProcessing/\"}},[_c('i',{staticClass:\"menu-icon-postprocess\"}),_vm._v(\" Post-Processing\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"config/notifications/\"}},[_c('i',{staticClass:\"menu-icon-notification\"}),_vm._v(\" Notifications\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"config/anime/\"}},[_c('i',{staticClass:\"menu-icon-anime\"}),_vm._v(\" Anime\")])],1)]),_vm._v(\" \"),_c('div',{staticStyle:{\"clear\":\"both\"}})],1),_vm._v(\" \"),_c('li',{staticClass:\"navbar-split dropdown\",class:{ active: _vm.topMenu === 'system' },attrs:{\"id\":\"NAVsystem\"}},[_c('app-link',{staticClass:\"padding-right-15 dropdown-toggle\",attrs:{\"aria-haspopup\":\"true\",\"data-toggle\":\"dropdown\",\"data-hover\":\"dropdown\"}},[_c('span',{staticClass:\"visible-xs-inline\"},[_vm._v(\"Tools\")]),_c('img',{staticClass:\"navbaricon hidden-xs\",attrs:{\"src\":\"images/menu/system18-2.png\"}}),_vm._v(\" \"),(_vm.toolsBadgeCount > 0)?_c('span',{class:(\"badge\" + _vm.toolsBadgeClass)},[_vm._v(_vm._s(_vm.toolsBadgeCount))]):_vm._e(),_vm._v(\" \"),_c('b',{staticClass:\"caret\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',[_c('app-link',{attrs:{\"href\":\"news/\"}},[_c('i',{staticClass:\"menu-icon-news\"}),_vm._v(\" News \"),(_vm.system.news.unread > 0)?_c('span',{staticClass:\"badge\"},[_vm._v(_vm._s(_vm.system.news.unread))]):_vm._e()])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"IRC/\"}},[_c('i',{staticClass:\"menu-icon-irc\"}),_vm._v(\" IRC\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"changes/\"}},[_c('i',{staticClass:\"menu-icon-changelog\"}),_vm._v(\" Changelog\")])],1),_vm._v(\" \"),_c('li',{staticClass:\"divider\",attrs:{\"role\":\"separator\"}}),_vm._v(\" \"),(_vm.config.logs.numErrors > 0)?_c('li',[_c('app-link',{attrs:{\"href\":\"errorlogs/\"}},[_c('i',{staticClass:\"menu-icon-error\"}),_vm._v(\" View Errors \"),_c('span',{staticClass:\"badge btn-danger\"},[_vm._v(_vm._s(_vm.config.logs.numErrors))])])],1):_vm._e(),_vm._v(\" \"),(_vm.config.logs.numWarnings > 0)?_c('li',[_c('app-link',{attrs:{\"href\":(\"errorlogs/?level=\" + _vm.warningLevel)}},[_c('i',{staticClass:\"menu-icon-viewlog-errors\"}),_vm._v(\" View Warnings \"),_c('span',{staticClass:\"badge btn-warning\"},[_vm._v(_vm._s(_vm.config.logs.numWarnings))])])],1):_vm._e(),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"errorlogs/viewlog/\"}},[_c('i',{staticClass:\"menu-icon-viewlog\"}),_vm._v(\" View Log\")])],1),_vm._v(\" \"),_c('li',{staticClass:\"divider\",attrs:{\"role\":\"separator\"}}),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":'home/update'},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.checkForupdates($event)}}},[_c('i',{staticClass:\"menu-icon-update\"}),_vm._v(\" Check For Updates\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":'home/restart'}},[_c('i',{staticClass:\"menu-icon-restart\"}),_vm._v(\" Restart\")])],1),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":'home/shutdown'},on:{\"click\":function($event){$event.preventDefault();return _vm.$router.push({ name: 'shutdown' });}}},[_c('i',{staticClass:\"menu-icon-shutdown\"}),_vm._v(\" Shutdown\")])],1),_vm._v(\" \"),(_vm.username)?_c('li',[_c('app-link',{attrs:{\"href\":\"logout\"},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.confirmDialog($event, 'logout')}}},[_c('i',{staticClass:\"menu-icon-shutdown\"}),_vm._v(\" Logout\")])],1):_vm._e(),_vm._v(\" \"),_c('li',{staticClass:\"divider\",attrs:{\"role\":\"separator\"}}),_vm._v(\" \"),_c('li',[_c('app-link',{attrs:{\"href\":\"home/status/\"}},[_c('i',{staticClass:\"menu-icon-info\"}),_vm._v(\" Server Status\")])],1)]),_vm._v(\" \"),_c('div',{staticStyle:{\"clear\":\"both\"}})],1)])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.subMenu.length > 0)?_c('div',{attrs:{\"id\":\"sub-menu-wrapper\"}},[_c('div',{staticClass:\"col-md-12 shadow\",attrs:{\"id\":\"sub-menu-container\"}},[_c('div',{staticClass:\"submenu-default hidden-print\",attrs:{\"id\":\"sub-menu\"}},[_vm._l((_vm.subMenu),function(menuItem){return _c('app-link',{key:(\"sub-menu-\" + (menuItem.title)),staticClass:\"btn-medusa top-5 bottom-5\",attrs:{\"href\":menuItem.path},nativeOn:_vm._d({},[_vm.clickEventCond(menuItem),function($event){$event.preventDefault();return _vm.runMethod($event, menuItem)}])},[_c('span',{class:['pull-left', menuItem.icon]}),_vm._v(\" \"+_vm._s(menuItem.title)+\"\\n \")])}),_vm._v(\" \"),(_vm.showForRoutes)?_c('show-selector',{attrs:{\"show-slug\":_vm.$route.query.showslug,\"follow-selection\":\"\"}}):_vm._e()],2)]),_vm._v(\" \"),_c('div',{staticClass:\"btn-group\"})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sub-menu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sub-menu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./sub-menu.vue?vue&type=template&id=14a2394c&scoped=true&\"\nimport script from \"./sub-menu.vue?vue&type=script&lang=js&\"\nexport * from \"./sub-menu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./sub-menu.vue?vue&type=style&index=0&id=14a2394c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"14a2394c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',[_c('div',{staticClass:\"footer clearfix\"},[_c('span',{staticClass:\"footerhighlight\"},[_vm._v(_vm._s(_vm.stats.overall.shows.total))]),_vm._v(\" Shows (\"),_c('span',{staticClass:\"footerhighlight\"},[_vm._v(_vm._s(_vm.stats.overall.shows.active))]),_vm._v(\" Active)\\n | \"),_c('span',{staticClass:\"footerhighlight\"},[_vm._v(_vm._s(_vm.stats.overall.episodes.downloaded))]),_vm._v(\" \"),(_vm.stats.overall.episodes.snatched)?[_c('span',{staticClass:\"footerhighlight\"},[_c('app-link',{attrs:{\"href\":(\"manage/episodeStatuses?status=\" + _vm.snatchedStatus),\"title\":\"View overview of snatched episodes\"}},[_vm._v(\"+\"+_vm._s(_vm.stats.overall.episodes.snatched))])],1),_vm._v(\"\\n Snatched\\n \")]:_vm._e(),_vm._v(\"\\n / \"),_c('span',{staticClass:\"footerhighlight\"},[_vm._v(_vm._s(_vm.stats.overall.episodes.total))]),_vm._v(\" Episodes Downloaded \"),(_vm.episodePercentage)?_c('span',{staticClass:\"footerhighlight\"},[_vm._v(\"(\"+_vm._s(_vm.episodePercentage)+\")\")]):_vm._e(),_vm._v(\"\\n | Daily Search: \"),_c('span',{staticClass:\"footerhighlight\"},[_vm._v(_vm._s(_vm.schedulerNextRun('dailySearch')))]),_vm._v(\"\\n | Backlog Search: \"),_c('span',{staticClass:\"footerhighlight\"},[_vm._v(_vm._s(_vm.schedulerNextRun('backlog')))]),_vm._v(\" \"),_c('div',[(_vm.system.memoryUsage)?[_vm._v(\"\\n Memory used: \"),_c('span',{staticClass:\"footerhighlight\"},[_vm._v(_vm._s(_vm.system.memoryUsage))]),_vm._v(\" |\\n \")]:_vm._e(),_vm._v(\" \"),_vm._v(\"\\n Branch: \"),_c('span',{staticClass:\"footerhighlight\"},[_vm._v(_vm._s(_vm.system.branch || 'Unknown'))]),_vm._v(\" |\\n Now: \"),_c('span',{staticClass:\"footerhighlight\"},[_vm._v(_vm._s(_vm.nowInUserPreset))])],2)],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-footer.vue?vue&type=template&id=5cf1e725&scoped=true&\"\nimport script from \"./app-footer.vue?vue&type=script&lang=js&\"\nexport * from \"./app-footer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5cf1e725\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./app.vue?vue&type=template&id=403afa3a&\"\nimport script from \"./app.vue?vue&type=script&lang=js&\"\nexport * from \"./app.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(_vm.isAuthenticated)?_c('div',[(_vm.showsLoading)?_c('load-progress-bar',_vm._b({},'load-progress-bar',{display: _vm.showsLoading.display, current: _vm.showsLoading.current, total: _vm.showsLoading.total},false)):_vm._e(),_vm._v(\" \"),_c('app-header'),_vm._v(\" \"),_c('sub-menu'),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"content-row\"}},[_c('submenu-offset'),_vm._v(\" \"),_c('div',{class:_vm.layout.wide ? 'col-lg-12 col-md-12' : 'col-lg-10 col-lg-offset-1 col-md-10 col-md-offset-1',attrs:{\"id\":\"content-col\"}},[_c('vue-snotify'),_vm._v(\" \"),_c('alerts'),_vm._v(\" \"),(_vm.$route.meta.header)?_c('h1',{staticClass:\"header\"},[_vm._v(_vm._s(_vm.$route.meta.header))]):_vm._e(),_vm._v(\" \"),_c('keep-alive',{attrs:{\"exclude\":_vm.excludeFromCaching}},[_c('router-view',{key:_vm.$route.meta.nocache ? (\"\" + (_vm.$route.fullPath)) : _vm.$route.name})],1),_vm._v(\" \"),_c('app-footer'),_vm._v(\" \"),_c('scroll-buttons')],1)],1)],1):_c('div',[_c('router-view')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{ref:\"changeIndexerRow\"},[_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentShow.checked),expression:\"currentShow.checked\"}],attrs:{\"type\":\"checkbox\",\"data-slug\":_vm.show.id.slug},domProps:{\"checked\":Array.isArray(_vm.currentShow.checked)?_vm._i(_vm.currentShow.checked,null)>-1:(_vm.currentShow.checked)},on:{\"change\":function($event){var $$a=_vm.currentShow.checked,$$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.currentShow, \"checked\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.currentShow, \"checked\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.currentShow, \"checked\", $$c)}}}})]),_vm._v(\" \"),_c('td',[_c('app-link',{attrs:{\"href\":(\"home/displayShow?showslug=\" + (_vm.show.id.slug))}},[_vm._v(_vm._s(_vm.show.name))])],1),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.show.indexer))]),_vm._v(\" \"),_c('td',[_c('select-indexer',_vm._b({on:{\"change\":_vm.selectIndexerChange}},'select-indexer',{show: _vm.show, searchedShow: _vm.searchedShow},false))],1),_vm._v(\" \"),_c('td',{staticClass:\"align-center\"},[(_vm.state)?_c('div',{staticClass:\"step-container\"},[_c('div',{staticClass:\"state\"},[_c('state-switch',{attrs:{\"state\":_vm.state}})],1),_vm._v(\" \"),_c('div',{staticClass:\"stepdisplay\"},[_c('ul',_vm._l((_vm.show.changeStatus.steps),function(step){return _c('li',{key:step},[_vm._v(_vm._s(step))])}),0)])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-indexer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-indexer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./select-indexer.vue?vue&type=template&id=75f70d78&scoped=true&\"\nimport script from \"./select-indexer.vue?vue&type=script&lang=js&\"\nexport * from \"./select-indexer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-indexer.vue?vue&type=style&index=0&id=75f70d78&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"75f70d78\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"align-center\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedIndexer),expression:\"selectedIndexer\"}],attrs:{\"name\":\"indexer\"},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.selectedIndexer=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.$emit('change', _vm.selectedIndexer)}]}},[_c('option',{attrs:{\"disabled\":\"\",\"value\":\"--select--\"}},[_vm._v(\"--select--\")]),_vm._v(\" \"),_vm._l((_vm.externalsOptions),function(option){return _c('option',{key:option.value,domProps:{\"value\":{value: option.value, text: option.text}}},[_vm._v(\"\\n \"+_vm._s(option.text)+\"\\n \")])})],2),_vm._v(\" \"),(_vm.searchedShow && _vm.searchedShow.searched)?_c('div',{staticClass:\"star\",attrs:{\"title\":\"This indexer was manually selected\"}},[_vm._v(\"*\")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./change-indexer-row.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-1[0].rules[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./change-indexer-row.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./change-indexer-row.vue?vue&type=template&id=2f075332&scoped=true&\"\nimport script from \"./change-indexer-row.vue?vue&type=script&lang=js&\"\nexport * from \"./change-indexer-row.vue?vue&type=script&lang=js&\"\nimport style0 from \"./change-indexer-row.vue?vue&type=style&index=0&id=2f075332&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2f075332\",\n null\n \n)\n\nexport default component.exports","// @TODO: Remove this file before v1.0.0\nimport Vue from 'vue';\nimport AsyncComputed from 'vue-async-computed';\nimport VueMeta from 'vue-meta';\nimport Snotify from 'vue-snotify';\nimport VueCookies from 'vue-cookies';\nimport VModal from 'vue-js-modal';\nimport { VTooltip } from 'v-tooltip';\nimport { library } from '@fortawesome/fontawesome-svg-core';\nimport { faAlignJustify, faImages } from '@fortawesome/free-solid-svg-icons';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\n\nlibrary.add([faAlignJustify, faImages, faTimesCircle]);\n\nimport { App } from './components';\nimport store from './store';\nimport { isDevelopment } from './utils/core';\n\n/**\n * Register global components and x-template components.\n */\nexport const registerGlobalComponents = () => {\n // Start with the x-template components\n let { components = [] } = window;\n\n // Add global components (in use by `main.mako`)\n // @TODO: These should be registered in an `App.vue` component when possible,\n // along with some of the `main.mako` template\n components = components.concat([\n App\n ]);\n\n // Register the components globally\n components.forEach(component => {\n if (isDevelopment) {\n console.debug(`Registering ${component.name}`);\n }\n Vue.component(component.name, component);\n });\n};\n\n/**\n * Register plugins.\n */\nexport const registerPlugins = () => {\n Vue.use(AsyncComputed);\n Vue.use(VueMeta);\n Vue.use(Snotify);\n Vue.use(VueCookies);\n Vue.use(VModal, { dynamicDefault: { height: 'auto' } });\n Vue.use(VTooltip);\n\n // Set default cookie expire time\n Vue.$cookies.config('10y');\n};\n\n/**\n * Apply the global Vue shim.\n */\nexport default () => {\n const warningTemplate = (name, state) =>\n `${name} is using the global Vuex '${state}' state, ` +\n `please replace that with a local one using: mapState(['${state}'])`;\n\n Vue.mixin({\n data() {\n // These are only needed for the root Vue\n if (this.$root === this) {\n return {\n pageComponent: false,\n showsLoading: false\n };\n }\n return {};\n },\n mounted() {\n if (this.$root === this && !window.location.pathname.includes('/login')) {\n const { username } = window;\n Promise.all([\n /* This is used by the `app-header` component\n to only show the logout button if a username is set */\n store.dispatch('login', { username }),\n store.dispatch('getConfig'),\n store.dispatch('getStats')\n ]).then(([_, config]) => {\n this.$root.$emit('loaded');\n // Legacy - send config.general to jQuery (received by index.js)\n const event = new CustomEvent('medusa-config-loaded', { detail: { general: config.main, layout: config.layout } });\n window.dispatchEvent(event);\n }).catch(error => {\n console.debug(error);\n alert('Unable to connect to Medusa!'); // eslint-disable-line no-alert\n });\n }\n },\n // Make auth and config accessible to all components\n // @TODO: Remove this completely\n computed: {\n // Deprecate the global `Vuex.mapState(['auth', 'config'])`\n auth() {\n if (isDevelopment && !this.__VUE_DEVTOOLS_UID__) {\n console.warn(warningTemplate(this._name, 'auth'));\n }\n return this.$store.state.auth;\n },\n config() {\n if (isDevelopment && !this.__VUE_DEVTOOLS_UID__) {\n console.warn(warningTemplate(this._name, 'config'));\n }\n return this.$store.state.config;\n }\n }\n });\n\n if (isDevelopment) {\n console.debug('Loading local Vue');\n }\n\n registerPlugins();\n\n registerGlobalComponents();\n};\n","/**\n * Vue Cookie handler for the vue-good-tables enable/disable columns feature.\n * @param {String} cookiePrefix String used to specify the specific table.\n * @example - Prefix `Home` with the column Label `title` will result in the cookie key `Home-title`\n * @returns {void}\n */\nexport const manageCookieMixin = cookiePrefix => {\n return {\n methods: {\n getCookie(key) {\n if (key.includes(cookiePrefix)) {\n return JSON.parse(key);\n }\n try {\n return JSON.parse(this.$cookies.get(`${cookiePrefix}-${key}`));\n } catch {\n return null;\n }\n },\n setCookie(key, value) {\n return this.$cookies.set(`${cookiePrefix}-${key}`, JSON.stringify(value));\n },\n /**\n * Save vue-good-table sort field and sort order (desc/asc)\n * @param {*} evt - Vue good table sorting event (triggered by the `on-sort-change` event)\n */\n saveSorting(evt) {\n const { setCookie } = this;\n // Store cookies, for sort field and type (asc/desc)\n setCookie('sort-field', evt.map(item => item.field));\n setCookie('sort-type', evt.map(item => item.type));\n },\n /**\n * Get vue-good-table sort field and sort order.\n * @param {string} defaultField - default vue good table field to sort by.\n * @param {string} defaultType - default vue good table sort order (ascending / descending).\n * @returns {object} - Object with the field and type properties.\n */\n getSortBy(defaultField = 'title', defaultType = 'asc') {\n const { getCookie } = this;\n // Try to get cookies, for sort field and type (asc/desc)\n const sortField = getCookie('sort-field');\n const sortType = getCookie('sort-type');\n const sort = [];\n\n if (Array.isArray(sortField) && sortField.length === 2) {\n sortField.forEach((_, index) => {\n sort.push({ field: sortField[index] || defaultField, type: sortType[index] || defaultType });\n });\n return sort;\n }\n\n if (sortField === null || sortType === null) {\n return ({ field: defaultField, type: defaultType });\n }\n\n return ({ field: sortField[0] || defaultField, type: sortType[0] || defaultType });\n }\n },\n created() {\n // Watch the columns property on the VM. This is the default named property for the vue-good-tables columns.\n this.$watch(() => this.columns, columns => {\n // Monitor the columns, to update the cookies, when changed.\n const { setCookie } = this;\n for (const column of columns) {\n if (column) {\n setCookie(column.label, column.hidden);\n }\n }\n }, { deep: true });\n }\n };\n};\n","import pretty from 'pretty-bytes';\nimport { mapGetters, mapState } from 'vuex';\n\n/**\n * Vue bindings for the simple, small poster and banner layouts.\n * @returns {void}\n */\nexport const showlistTableMixin = {\n data() {\n const { getCookie } = this;\n return {\n columns: [{\n label: 'Next Ep',\n field: 'nextAirDate',\n type: 'date',\n sortable: true,\n dateInputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ssXXX',\n dateOutputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ssXXX',\n sortFn: this.sortDateNext,\n hidden: getCookie('Next Ep')\n }, {\n label: 'Prev Ep',\n field: 'prevAirDate',\n type: 'date',\n sortable: true,\n dateInputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ssXXX',\n dateOutputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ssXXX',\n sortFn: this.sortDatePrev,\n hidden: getCookie('Prev Ep')\n }, {\n label: 'Show',\n field: 'title',\n filterOptions: {\n enabled: true\n },\n sortFn: this.sortTitle,\n hidden: getCookie('Show')\n }, {\n label: 'Network',\n field: 'network',\n filterOptions: {\n enabled: true\n },\n hidden: getCookie('Network')\n }, {\n label: 'Indexer',\n field: 'indexer',\n filterOptions: {\n enabled: true,\n filterDropdownItems: ['tvdb', 'tvmaze', 'tmdb', 'imdb']\n },\n hidden: getCookie('Indexer')\n }, {\n label: 'Quality',\n field: 'config.qualities',\n filterOptions: {\n enabled: true,\n filterFn: this.qualityColumnFilterFn\n },\n sortable: false,\n hidden: getCookie('Quality')\n }, {\n label: 'Downloads',\n field: 'stats.tooltip.percentage',\n sortFn: this.sortDownloads,\n type: 'boolean',\n hidden: getCookie('Downloads')\n }, {\n label: 'Size',\n type: 'number',\n field: 'stats.episodes.size',\n hidden: getCookie('Size')\n }, {\n label: 'Active',\n field: this.fealdFnActive,\n filterOptions: {\n enabled: true,\n filterDropdownItems: [\n { value: true, text: 'yes' },\n { value: false, text: 'no' }\n ]\n },\n type: 'boolean',\n hidden: getCookie('Active')\n }, {\n label: 'Status',\n field: 'status',\n filterOptions: {\n enabled: true\n },\n hidden: getCookie('Status')\n }, {\n label: 'Xem',\n field: this.fealdFnXem,\n filterOptions: {\n enabled: true,\n filterDropdownItems: [\n { value: true, text: 'yes' },\n { value: false, text: 'no' }\n ]\n },\n type: 'boolean',\n hidden: getCookie('Xem')\n }]\n };\n },\n computed: {\n ...mapState({\n config: state => state.config.general,\n indexerConfig: state => state.config.indexers.indexers,\n stateLayout: state => state.config.layout,\n qualityValues: state => state.config.consts.qualities.values\n }),\n ...mapGetters({\n fuzzyParseDateTime: 'fuzzyParseDateTime',\n showsInLists: 'showsInLists',\n getShowIndexerUrl: 'getShowIndexerUrl'\n }),\n maxNextAirDate() {\n const { shows } = this;\n return Math.max(...shows.filter(show => show.nextAirDate).map(show => Date.parse(show.nextAirDate)));\n }\n },\n methods: {\n prettyBytes: bytes => pretty(bytes),\n parsePrevDateFn(row) {\n const { fuzzyParseDateTime } = this;\n if (row.prevAirDate) {\n console.log(`Calculating time for show ${row.title} prev date: ${row.prevAirDate}`);\n return fuzzyParseDateTime(row.prevAirDate);\n }\n\n return '';\n },\n parseNextDateFn(row) {\n const { fuzzyParseDateTime } = this;\n if (row.nextAirDate) {\n console.log(`Calculating time for show ${row.title} next date: ${row.nextAirDate}`);\n return fuzzyParseDateTime(row.nextAirDate);\n }\n\n return '';\n },\n fealdFnXem(row) {\n return row.xemNumbering && row.xemNumbering.length !== 0;\n },\n fealdFnActive(row) {\n return row.config && !row.config.paused && row.status === 'Continuing';\n },\n sortDateNext(x, y) {\n const { maxNextAirDate } = this;\n\n if (x === null && y === null) {\n return 0;\n }\n\n if (x === null || y === null) {\n return x === null ? 1 : -1;\n }\n\n // Convert to timestamps\n x = Date.parse(x);\n y = Date.parse(y);\n\n // This next airdate lies in the past. We need to correct this.\n if (x < Date.now()) {\n x += maxNextAirDate;\n }\n\n if (y < Date.now()) {\n y += maxNextAirDate;\n }\n\n return (x < y ? -1 : (x > y ? 1 : 0));\n },\n sortDatePrev(x, y) {\n if (x === null && y === null) {\n return 0;\n }\n\n // Standardize dates and nulls\n x = x ? Date.parse(x) : 0;\n y = y ? Date.parse(y) : 0;\n\n if (x === null || y === null) {\n return x === null ? -1 : 1;\n }\n\n const xTsDiff = x - Date.now();\n const yTsDiff = y - Date.now();\n\n return xTsDiff < yTsDiff ? -1 : (xTsDiff > yTsDiff ? 1 : 0);\n },\n sortTitle(x, y) {\n const { stateLayout } = this;\n const { sortArticle } = stateLayout;\n\n let titleX = x;\n let titleY = y;\n\n if (!sortArticle) {\n titleX = titleX.replace(/^((?:a(?!\\s+to)n?)|the)\\s/i, '').toLowerCase();\n titleY = titleY.replace(/^((?:a(?!\\s+to)n?)|the)\\s/i, '').toLowerCase();\n }\n\n return (titleX < titleY ? -1 : (titleX > titleY ? 1 : 0));\n },\n sortDownloads(x, y, _, rowX, rowY) {\n if ((x === 0 || x === 100) && x === y) {\n return rowX.stats.episodes.total < rowY.stats.episodes.total ? -1 : (rowX.stats.episodes.total < rowY.stats.episodes.total ? 1 : 0);\n }\n\n return x < y ? -1 : (x > y ? 1 : 0);\n },\n qualityColumnFilterFn(data, filterString) {\n const { qualityValues } = this;\n return [...data.allowed, ...data.preferred].map(q => qualityValues.find(qv => qv.value === q).name.includes(filterString)).some(isTrue => isTrue);\n }\n }\n};\n","/** @type {import('.').SubMenu} */\nexport const configSubMenu = [\n { title: 'General', path: 'config/general/', icon: 'menu-icon-config' },\n { title: 'Backup/Restore', path: 'config/backuprestore/', icon: 'menu-icon-backup' },\n { title: 'Search Settings', path: 'config/search/', icon: 'menu-icon-manage-searches' },\n { title: 'Search Providers', path: 'config/providers/', icon: 'menu-icon-provider' },\n { title: 'Subtitles Settings', path: 'config/subtitles/', icon: 'menu-icon-backlog' },\n { title: 'Post-Processing', path: 'config/postProcessing/', icon: 'menu-icon-postprocess' },\n { title: 'Notifications', path: 'config/notifications/', icon: 'menu-icon-notification' },\n { title: 'Anime', path: 'config/anime/', icon: 'menu-icon-anime' }\n];\n\n// eslint-disable-next-line valid-jsdoc\n/** @type {import('.').SubMenuFunction} */\nexport const errorlogsSubMenu = vm => {\n const { $route, $store } = vm;\n const level = $route.params.level || $route.query.level;\n const { config } = $store.state;\n const { loggingLevels, numErrors, numWarnings } = config.general.logs;\n if (Object.keys(loggingLevels).length === 0) {\n return [];\n }\n\n const isLevelError = (level === undefined || Number(level) === loggingLevels.error);\n\n return [\n {\n title: 'Clear Errors',\n path: 'errorlogs/clearerrors/',\n requires: numErrors >= 1 && isLevelError,\n icon: 'ui-icon ui-icon-trash'\n },\n {\n title: 'Clear Warnings',\n path: `errorlogs/clearerrors/?level=${loggingLevels.warning}`,\n requires: numWarnings >= 1 && Number(level) === loggingLevels.warning,\n icon: 'ui-icon ui-icon-trash'\n },\n {\n title: 'Submit Errors',\n path: 'errorlogs/submit_errors/',\n requires: numErrors >= 1 && isLevelError,\n confirm: 'submiterrors',\n icon: 'ui-icon ui-icon-arrowreturnthick-1-n'\n }\n ];\n};\n\n/** @type {import('.').SubMenu} */\nexport const historySubMenu = [\n { title: 'Clear History', path: 'history/clearHistory', icon: 'ui-icon ui-icon-trash', confirm: 'clearhistory' },\n { title: 'Trim History', path: 'history/trimHistory', icon: 'menu-icon-cut', confirm: 'trimhistory' }\n];\n\n// eslint-disable-next-line valid-jsdoc\n/** @type {import('.').SubMenuFunction} */\nexport const showSubMenu = vm => {\n const { $route, $store } = vm;\n const { config } = $store.state;\n const { notifiers } = config;\n\n const showSlug = $route.params.showSlug || $route.query.showslug;\n\n const show = $store.getters.getCurrentShow;\n const { showQueueStatus } = show;\n\n const queuedActionStatus = action => {\n if (!showQueueStatus) {\n return false;\n }\n return Boolean(showQueueStatus.find(status => status.action === action && status.active === true));\n };\n\n const isBeingAdded = queuedActionStatus('isBeingAdded');\n const isBeingUpdated = queuedActionStatus('isBeingUpdated');\n const isBeingSubtitled = queuedActionStatus('isBeingSubtitled');\n\n /** @type {import('.').SubMenu} */\n let menu = [{\n title: 'Edit',\n path: `home/editShow?showslug=${showSlug}`,\n icon: 'ui-icon ui-icon-pencil'\n }];\n if (!isBeingAdded && !isBeingUpdated) {\n menu = menu.concat([\n {\n title: show.config.paused ? 'Resume' : 'Pause',\n path: `home/togglePause?showslug=${showSlug}`,\n icon: `ui-icon ui-icon-${show.config.paused ? 'play' : 'pause'}`\n },\n {\n title: 'Remove',\n path: `home/deleteShow?showslug=${showSlug}`,\n confirm: 'removeshow',\n icon: 'ui-icon ui-icon-trash'\n },\n {\n title: 'Re-scan files',\n path: `home/refreshShow?showslug=${showSlug}`,\n icon: 'ui-icon ui-icon-refresh'\n },\n {\n title: 'Force Full Update',\n path: `home/updateShow?showslug=${showSlug}`,\n icon: 'ui-icon ui-icon-transfer-e-w'\n },\n {\n title: 'Update show in KODI',\n path: `home/updateKODI?showslug=${showSlug}`,\n method: 'updatekodi',\n requires: notifiers.kodi.enabled && notifiers.kodi.update.library,\n icon: 'menu-icon-kodi'\n },\n {\n title: 'Update show in Emby',\n path: `home/updateEMBY?showslug=${showSlug}`,\n requires: notifiers.emby.enabled,\n icon: 'menu-icon-emby'\n },\n {\n title: 'Preview Rename',\n path: `home/testRename?showslug=${showSlug}`,\n icon: 'ui-icon ui-icon-tag'\n },\n {\n title: 'Download Subtitles',\n path: `home/subtitleShow?showslug=${showSlug}`,\n requires: config.subtitles.enabled && !isBeingSubtitled && show.config.subtitlesEnabled,\n icon: 'menu-icon-backlog'\n }\n ]);\n }\n return menu;\n};\n","import {\n configSubMenu,\n errorlogsSubMenu,\n historySubMenu,\n showSubMenu\n} from './sub-menus';\n\n/** @type {import('.').Route[]} */\nconst homeRoutes = [\n {\n path: '/home',\n name: 'home',\n meta: {\n title: 'Home',\n topMenu: 'home',\n converted: true\n },\n component: () => import('../components/home.vue')\n },\n {\n path: '/home/editShow',\n name: 'editShow',\n meta: {\n topMenu: 'home',\n subMenu: showSubMenu,\n converted: true,\n nocache: true // Use this flag, to have the router-view use :key=\"$route.fullPath\"\n },\n component: () => import('../components/edit-show.vue')\n },\n {\n path: '/home/displayShow',\n name: 'show',\n meta: {\n topMenu: 'home',\n subMenu: showSubMenu,\n converted: true,\n nocache: true // Use this flag, to have the router-view use :key=\"$route.fullPath\"\n },\n component: () => import('../components/display-show.vue')\n },\n {\n path: '/home/snatchSelection',\n name: 'snatchSelection',\n meta: {\n topMenu: 'home',\n subMenu: showSubMenu,\n converted: true,\n nocache: true // Use this flag, to have the router-view use :key=\"$route.fullPath\"\n },\n component: () => import('../components/snatch-selection.vue')\n },\n {\n path: '/home/testRename',\n name: 'testRename',\n meta: {\n topMenu: 'home',\n subMenu: showSubMenu,\n title: 'Preview Rename',\n header: 'Preview Rename',\n converted: true\n },\n component: () => import('../components/test-rename.vue')\n },\n {\n path: '/home/postprocess',\n name: 'postprocess',\n meta: {\n title: 'Manual Post-Processing',\n header: 'Manual Post-Processing',\n topMenu: 'home',\n converted: true\n },\n component: () => import('../components/manual-post-process.vue')\n },\n {\n path: '/home/status',\n name: 'status',\n meta: {\n title: 'Status',\n topMenu: 'system',\n converted: true\n },\n component: () => import('../components/status.vue')\n },\n {\n path: '/home/restart',\n name: 'restart',\n meta: {\n title: 'Restarting...',\n header: 'Performing Restart',\n topMenu: 'system',\n converted: true\n },\n component: () => import('../components/restart.vue')\n },\n {\n path: '/home/shutdown',\n name: 'shutdown',\n meta: {\n header: 'Shutting down',\n topMenu: 'system',\n converted: true\n },\n component: () => import('../components/restart.vue'),\n props: { shutdown: true }\n },\n {\n path: '/home/update',\n name: 'update',\n meta: {\n header: 'Update Medusa',\n topMenu: 'system',\n converted: true\n },\n component: () => import('../components/update.vue')\n }\n];\n\n/** @type {import('.').Route[]} */\nconst configRoutes = [\n {\n path: '/config',\n name: 'config',\n meta: {\n title: 'Help & Info',\n header: 'Medusa Configuration',\n topMenu: 'config',\n subMenu: configSubMenu,\n converted: true\n },\n component: () => import('../components/config.vue')\n },\n {\n path: '/config/anime',\n name: 'configAnime',\n meta: {\n title: 'Config - Anime',\n header: 'Anime',\n topMenu: 'config',\n subMenu: configSubMenu,\n converted: true\n },\n component: () => import('../components/config-anime.vue')\n },\n {\n path: '/config/backuprestore',\n name: 'configBackupRestore',\n meta: {\n title: 'Config - Backup/Restore',\n header: 'Backup/Restore',\n topMenu: 'config',\n subMenu: configSubMenu,\n converted: true\n },\n component: () => import('../components/config-backup-restore.vue')\n },\n {\n path: '/config/general',\n name: 'configGeneral',\n meta: {\n title: 'Config - General',\n header: 'General Configuration',\n topMenu: 'config',\n subMenu: configSubMenu,\n converted: true\n },\n component: () => import('../components/config-general.vue')\n },\n {\n path: '/config/notifications',\n name: 'configNotifications',\n meta: {\n title: 'Config - Notifications',\n header: 'Notifications',\n topMenu: 'config',\n subMenu: configSubMenu,\n converted: true\n },\n component: () => import('../components/config-notifications.vue')\n },\n {\n path: '/config/postProcessing',\n name: 'configPostProcessing',\n meta: {\n title: 'Config - Post-Processing',\n header: 'Post-Processing',\n topMenu: 'config',\n subMenu: configSubMenu,\n converted: true\n },\n component: () => import('../components/config-post-processing.vue')\n },\n {\n path: '/config/providers',\n name: 'configSearchProviders',\n meta: {\n title: 'Config - Providers',\n header: 'Search Providers',\n topMenu: 'config',\n subMenu: configSubMenu,\n converted: true\n },\n component: () => import('../components/config-providers.vue')\n },\n {\n path: '/config/search',\n name: 'configSearchSettings',\n meta: {\n title: 'Config - Episode Search',\n header: 'Search Settings',\n topMenu: 'config',\n subMenu: configSubMenu,\n converted: true\n },\n component: () => import('../components/config-search.vue')\n },\n {\n path: '/config/subtitles',\n name: 'configSubtitles',\n meta: {\n title: 'Config - Subtitles',\n header: 'Subtitles',\n topMenu: 'config',\n subMenu: configSubMenu,\n converted: true\n },\n component: () => import('../components/config-subtitles.vue')\n }\n];\n\n/** @type {import('.').Route[]} */\nconst addShowRoutes = [\n {\n path: '/addShows',\n name: 'addShows',\n meta: {\n title: 'Add Shows',\n header: 'Add Shows',\n topMenu: 'home',\n converted: true\n },\n component: () => import('../components/add-shows.vue')\n },\n {\n path: '/addShows/existingShows',\n name: 'addExistingShows',\n meta: {\n title: 'Add Existing Shows',\n header: 'Add Existing Shows',\n topMenu: 'home',\n converted: true,\n nocache: true\n },\n component: () => import('../components/new-shows-existing.vue')\n },\n {\n path: '/addShows/newShow',\n name: 'addNewShow',\n meta: {\n title: 'Add New Show',\n header: 'Add New Show',\n topMenu: 'home',\n converted: true,\n nocache: true\n },\n props: route => ({ ...route.params }),\n component: () => import('../components/new-show.vue')\n }\n];\n\n/** @type {import('.').Route} */\nconst loginRoute = {\n path: '/login',\n name: 'login',\n meta: {\n title: 'Login'\n },\n component: () => import('../components/login.vue')\n};\n\n/** @type {import('.').Route} */\nconst addRecommendedRoute = {\n path: '/addRecommended',\n name: 'addRecommended',\n meta: {\n title: 'Add Recommended Shows',\n header: 'Add Recommended Shows',\n topMenu: 'home',\n converted: true\n },\n component: () => import('../components/recommended.vue')\n};\n\n/** @type {import('.').Route} */\nconst scheduleRoute = {\n path: '/schedule',\n name: 'schedule',\n meta: {\n title: 'Schedule',\n header: 'Schedule',\n topMenu: 'schedule',\n converted: true\n },\n component: () => import('../components/schedule.vue')\n};\n\n/** @type {import('.').Route} */\nconst historyRoute = {\n path: '/history',\n name: 'history',\n meta: {\n title: 'History',\n header: 'History',\n topMenu: 'history',\n subMenu: historySubMenu,\n converted: true\n },\n component: () => import('../components/history.vue')\n};\n\n/** @type {import('.').Route} */\nconst downloadsRoute = {\n path: '/downloads',\n name: 'downloads',\n meta: {\n title: 'Downloads',\n header: 'Downloads',\n converted: true\n },\n component: () => import('../components/current-downloads.vue')\n};\n\n/** @type {import('.').Route[]} */\nconst manageRoutes = [\n {\n path: '/manage',\n name: 'manage',\n meta: {\n title: 'Mass Update',\n topMenu: 'manage',\n converted: true\n },\n component: () => import('../components/manage-mass-update.vue'),\n props: true\n },\n {\n path: '/manage/changeIndexer',\n name: 'manageChangeIndexer',\n meta: {\n title: 'Change show indexer',\n header: 'Change show indexer',\n topMenu: 'manage',\n converted: true\n },\n component: () => import('../components/change-indexer.vue')\n },\n {\n path: '/manage/backlogOverview',\n name: 'manageBacklogOverview',\n meta: {\n title: 'Backlog Overview',\n header: 'Backlog Overview',\n topMenu: 'manage',\n converted: true\n },\n component: () => import('../components/manage-backlog.vue')\n },\n {\n path: '/manage/episodeStatuses',\n name: 'manageEpisodeOverview',\n meta: {\n title: 'Episode Overview',\n header: 'Episode Overview',\n topMenu: 'manage',\n converted: true\n },\n component: () => import('../components/manage-episode-status.vue')\n },\n {\n path: '/manage/failedDownloads',\n name: 'manageFailedDownloads',\n meta: {\n title: 'Failed Downloads',\n header: 'Failed Downloads',\n topMenu: 'manage',\n converted: true\n },\n component: () => import('../components/manage-failed-downloads.vue')\n },\n {\n path: '/manage/manageSearches',\n name: 'manageManageSearches',\n meta: {\n title: 'Manage Searches',\n header: 'Manage Searches',\n topMenu: 'manage',\n converted: true\n },\n component: () => import('../components/manage-searches.vue')\n },\n {\n path: '/manage/massEdit',\n name: 'manageMassEdit',\n meta: {\n title: 'Mass Edit',\n topMenu: 'manage',\n converted: true\n },\n component: () => import('../components/manage-mass-edit.vue'),\n props: true\n },\n {\n path: '/manage/subtitleMissed',\n name: 'manageSubtitleMissed',\n meta: {\n title: 'Missing Subtitles',\n header: 'Missing Subtitles',\n topMenu: 'manage',\n converted: true\n },\n component: () => import('../components/manage-missing-subtitles.vue')\n }\n];\n\n/** @type {import('.').Route[]} */\nconst errorLogsRoutes = [\n {\n path: '/errorlogs',\n name: 'errorlogs',\n meta: {\n title: 'Logs & Errors',\n topMenu: 'system',\n subMenu: errorlogsSubMenu,\n converted: true\n },\n component: () => import('../components/log-reporter.vue'),\n props: true\n },\n {\n path: '/errorlogs/viewlog',\n name: 'viewlog',\n meta: {\n title: 'Logs',\n header: 'Log File',\n topMenu: 'system',\n converted: true\n },\n component: () => import('../components/logs.vue')\n }\n];\n\n/** @type {import('.').Route} */\nconst newsRoute = {\n path: '/news',\n name: 'news',\n meta: {\n title: 'News',\n header: 'News',\n topMenu: 'system',\n converted: true\n },\n component: () => import('../components/news.vue')\n};\n\n/** @type {import('.').Route} */\nconst changesRoute = {\n path: '/changes',\n name: 'changes',\n meta: {\n title: 'Changelog',\n header: 'Changelog',\n topMenu: 'system',\n converted: true\n },\n component: () => import('../components/changelog.vue')\n};\n\n/** @type {import('.').Route} */\nconst ircRoute = {\n path: '/IRC',\n name: 'IRC',\n meta: {\n title: 'IRC',\n topMenu: 'system',\n converted: true\n },\n component: () => import('../components/irc.vue')\n};\n\n/** @type {import('.').Route} */\nconst notFoundRoute = {\n path: '/not-found',\n name: 'not-found',\n meta: {\n title: '404',\n header: '404 - page not found'\n },\n component: () => import('../components/http/404.vue')\n};\n\n// @NOTE: Redirect can only be added once all routes are vue\n/** @type {import('.').Route} */\nconst notFoundRedirect = {\n path: '*',\n redirect: '/not-found'\n};\n\n/** @type {import('.').Route[]} */\nexport default [\n ...homeRoutes,\n ...configRoutes,\n ...addShowRoutes,\n loginRoute,\n addRecommendedRoute,\n scheduleRoute,\n historyRoute,\n downloadsRoute,\n ...manageRoutes,\n ...errorLogsRoutes,\n newsRoute,\n changesRoute,\n ircRoute,\n notFoundRoute,\n notFoundRedirect\n];\n","import Vue from 'vue';\nimport VueRouter from 'vue-router';\n\nimport routes from './routes';\n\nVue.use(VueRouter);\nconst router = new VueRouter({\n mode: 'history',\n routes\n});\n\nrouter.beforeEach((to, from, next) => {\n const { meta } = to;\n const { title } = meta;\n\n // If there's no title then it's not a .vue route\n // or it's handling its own title\n if (title) {\n document.title = `${title} | Medusa`;\n }\n\n // Always call next otherwise the will be empty\n next();\n});\n\nexport default router;\n","import axios from 'axios';\n\n// This should be more dynamic. As now when we change the apiKey in config-general.vue. This won't work anymore.\n// Because of this, a page reload is required.\n\nexport default function() {\n this.webRoot = document.body.getAttribute('web-root');\n this.token = null;\n this.getToken = () => {\n return axios.get(`${this.webRoot}/token`)\n .then(response => {\n this.token = response.data;\n this.apiRoute = axios.create({\n baseURL: `${this.webRoot}/`,\n timeout: 60000,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n }\n });\n\n this.api = axios.create({\n baseURL: `${this.webRoot}/api/v2/`,\n timeout: 30000,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'x-auth': `Bearer ${this.token}`\n }\n });\n });\n };\n}\n","import {\n AUTHENTICATE,\n LOGIN_PENDING,\n LOGIN_SUCCESS,\n LOGIN_FAILED,\n LOGOUT,\n REFRESH_TOKEN,\n REMOVE_AUTH_ERROR\n} from '../mutation-types';\nimport ApiClient from '../../api';\nimport VueJwtDecode from 'vue-jwt-decode';\n\nconst state = {\n isAuthenticated: false,\n user: {},\n tokens: {\n access: null,\n refresh: null\n },\n error: null,\n client: null,\n apiKey: null,\n webRoot: null\n};\n\nconst mutations = {\n [LOGIN_PENDING]() { },\n [LOGIN_SUCCESS](state, user) {\n state.user.username = user.username;\n state.user.group = user.group;\n state.apiKey = user.apiKey;\n state.webRoot = user.webRoot;\n state.isAuthenticated = true;\n state.error = null;\n },\n [LOGIN_FAILED](state, { error }) {\n state.user = {};\n state.isAuthenticated = false;\n state.error = error;\n },\n [LOGOUT](state) {\n state.user = {};\n state.isAuthenticated = false;\n state.error = null;\n },\n [REFRESH_TOKEN]() {},\n [REMOVE_AUTH_ERROR]() {},\n [AUTHENTICATE](state, client) {\n state.client = client;\n state.tokens.access = client.token;\n }\n};\n\nconst getters = {};\n\nconst actions = {\n login({ commit, state }) {\n commit(LOGIN_PENDING);\n\n // Check if we got a token from the /token call.\n const { client } = state;\n const { token } = client;\n if (!token) {\n commit(LOGIN_FAILED, { error: 'Missing token' });\n return { success: false, error: 'Missing token' };\n }\n\n const credentials = VueJwtDecode.decode(token);\n\n // @TODO: Add real JWT login\n const apiLogin = credentials => Promise.resolve(credentials);\n\n return apiLogin(credentials).then(user => {\n commit(LOGIN_SUCCESS, user);\n return { success: true };\n }).catch(error => {\n commit(LOGIN_FAILED, { error, credentials });\n return { success: false, error };\n });\n },\n logout(context) {\n const { commit } = context;\n commit(LOGOUT);\n },\n auth({ commit }) {\n // Get the JWT token\n return new Promise(resolve => {\n const apiClient = new ApiClient();\n apiClient.getToken()\n .then(() => {\n commit(AUTHENTICATE, apiClient);\n resolve();\n });\n });\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","const state = {\n show: {\n airs: null,\n airsFormatValid: null,\n akas: null,\n cache: null,\n classification: null,\n seasonCount: [],\n config: {\n airByDate: null,\n aliases: [],\n anime: null,\n defaultEpisodeStatus: null,\n dvdOrder: null,\n location: null,\n locationValid: null,\n paused: null,\n qualities: {\n allowed: [],\n preferred: []\n },\n release: {\n requiredWords: [],\n ignoredWords: [],\n blacklist: [],\n whitelist: [],\n requiredWordsExclude: null,\n ignoredWordsExclude: null\n },\n scene: null,\n seasonFolders: null,\n sports: null,\n subtitlesEnabled: null,\n airdateOffset: null,\n templates: null,\n searchTemplates: []\n },\n countries: null,\n genres: [],\n id: {\n tvdb: null,\n trakt: null,\n imdb: null,\n slug: null\n },\n indexer: null,\n imdbInfo: {\n akas: null,\n certificates: null,\n countries: null,\n countryCodes: null,\n genres: null,\n imdbId: null,\n imdbInfoId: null,\n indexer: null,\n indexerId: null,\n lastUpdate: null,\n plot: null,\n rating: null,\n runtimes: null,\n title: null,\n votes: null\n },\n language: null,\n network: null,\n nextAirDate: null,\n plot: null,\n rating: {\n imdb: {\n rating: null,\n votes: null\n }\n },\n runtime: null,\n showType: null,\n status: null,\n title: null,\n type: null,\n year: {},\n size: null,\n\n // ===========================\n // Detailed (`?detailed=true`)\n // ===========================\n\n showQueueStatus: [],\n xemNumbering: [],\n sceneAbsoluteNumbering: [],\n xemAbsoluteNumbering: [],\n sceneNumbering: [],\n\n // ===========================\n // Episodes (`?episodes=true`)\n // ===========================\n\n // Seasons array is added to the show object under this query,\n // but we currently check to see if this property is defined before fetching the show with `?episodes=true`.\n seasons: [],\n episodeCount: null\n },\n provider: {\n id: null,\n name: null,\n config: {},\n cache: []\n }\n};\n\nconst mutations = {};\n\nconst getters = {};\n\nconst actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import Vue from 'vue';\nimport { ADD_HISTORY, ADD_HISTORY_ROW, ADD_SHOW_HISTORY, ADD_SHOW_EPISODE_HISTORY } from '../mutation-types';\nimport { episodeToSlug } from '../../utils/core';\n\nconst state = {\n remote: {\n rows: [],\n totalRows: 0,\n page: 1,\n perPage: 25,\n sort: [{\n field: 'date',\n type: 'desc'\n }],\n filter: null\n },\n remoteCompact: {\n rows: [],\n totalRows: 0,\n page: 1,\n perPage: 25,\n sort: [{\n field: 'date',\n type: 'desc'\n }],\n filter: null\n },\n episodeHistory: {},\n historyLast: null,\n historyLastCompact: null,\n loading: false\n};\n\nconst mutations = {\n [ADD_HISTORY_ROW](state, { history, compact }) {\n // Only evaluate compact once.\n const historyKey = compact ? 'remoteCompact' : 'remote';\n\n // Update state, add one item at the top.\n state[historyKey].rows.unshift(history);\n },\n [ADD_HISTORY](state, { history, compact }) {\n // Only evaluate compact once.\n const historyKey = compact ? 'remoteCompact' : 'remote';\n\n // Update state\n Vue.set(state[historyKey], 'rows', history);\n },\n [ADD_SHOW_HISTORY](state, { showSlug, history }) {\n // Add history data to episodeHistory, but without passing the show slug.\n for (const row of history) {\n if (!Object.keys(state.episodeHistory).includes(showSlug)) {\n Vue.set(state.episodeHistory, showSlug, {});\n }\n\n const episodeSlug = episodeToSlug(row.season, row.episode);\n if (!state.episodeHistory[showSlug][episodeSlug]) {\n state.episodeHistory[showSlug][episodeSlug] = [];\n }\n\n state.episodeHistory[showSlug][episodeSlug].push(row);\n }\n },\n [ADD_SHOW_EPISODE_HISTORY](state, { showSlug, episodeSlug, history }) {\n // Keep an object of shows, with their history per episode\n // Example: {tvdb1234: {s01e01: [history]}}\n\n if (!Object.keys(state.episodeHistory).includes(showSlug)) {\n Vue.set(state.episodeHistory, showSlug, {});\n }\n\n Vue.set(state.episodeHistory[showSlug], episodeSlug, history);\n },\n setLoading(state, value) {\n state.loading = value;\n },\n setRemoteTotal(state, { total, compact = false }) {\n state[compact ? 'remoteCompact' : 'remote'].totalRows = total;\n }\n};\n\nconst getters = {\n getShowHistoryBySlug: state => showSlug => state.showHistory[showSlug],\n getLastReleaseName: state => ({ showSlug, episodeSlug }) => {\n if (state.episodeHistory[showSlug] !== undefined) {\n if (state.episodeHistory[showSlug][episodeSlug] !== undefined) {\n if (state.episodeHistory[showSlug][episodeSlug].length === 1) {\n return state.episodeHistory[showSlug][episodeSlug][0].resource;\n }\n const filteredHistory = state.episodeHistory[showSlug][episodeSlug]\n .slice()\n .sort((a, b) => (a.actionDate - b.actionDate) * -1)\n .filter(ep => ['Snatched', 'Downloaded'].includes(ep.statusName) && ep.resource !== '');\n if (filteredHistory.length > 0) {\n return filteredHistory[0].resource;\n }\n }\n }\n },\n getEpisodeHistory: state => ({ showSlug, episodeSlug }) => {\n if (state.episodeHistory[showSlug] === undefined) {\n return [];\n }\n\n return state.episodeHistory[showSlug][episodeSlug] || [];\n },\n getSeasonHistory: state => ({ showSlug, season }) => {\n if (state.episodeHistory[showSlug] === undefined) {\n return [];\n }\n\n return Object.values(state.episodeHistory[showSlug]).flat().filter(row => row.season === season) || [];\n }\n};\n\n/**\n * An object representing request parameters for getting a show from the API.\n *\n * @typedef {object} ShowGetParameters\n * @property {boolean} detailed Fetch detailed information? (e.g. scene/xem numbering)\n * @property {boolean} episodes Fetch seasons & episodes?\n */\n\nconst actions = {\n /**\n * Get show history from API and commit it to the store.\n *\n * @param {*} context The store context.\n * @param {ShowIdentifier&ShowGetParameters} parameters Request parameters.\n * @returns {Promise} The API response.\n */\n async getShowHistory({ rootState, commit }, { slug }) {\n const response = await rootState.auth.client.api.get(`/history/${slug}`);\n if (response.data.length > 0) {\n commit(ADD_SHOW_HISTORY, { showSlug: slug, history: response.data });\n }\n },\n /**\n * Get detailed history from API and commit them to the store.\n *\n * @param {*} context - The store context.\n * @param {object} args - arguments.\n */\n async getHistory({ rootState, commit }, args) {\n let url = '/history';\n const page = args?.page || 1;\n const limit = args?.perPage || 1000;\n let sort = args?.sort || [{ field: 'date', type: 'desc' }];\n const filter = args?.filter || {};\n const showSlug = args?.showSlug;\n const compact = args?.compact;\n\n const params = {\n page,\n limit\n };\n\n if (sort) {\n if (!Array.isArray(sort)) {\n sort = [sort];\n }\n params.sort = sort;\n }\n\n if (filter) {\n params.filter = filter;\n }\n\n if (showSlug) {\n url = `${url}/${showSlug}`;\n }\n\n if (compact) {\n params.compact = true;\n }\n\n commit('setLoading', true);\n let response = null;\n try {\n response = await rootState.auth.client.api.get(url, { params }); // eslint-disable-line no-await-in-loop\n if (response) {\n commit('setRemoteTotal', { total: Number(response.headers['x-pagination-count']), compact });\n if (showSlug) {\n commit(ADD_SHOW_HISTORY, { showSlug, history: response.data, compact });\n } else {\n commit(ADD_HISTORY, { history: response.data, compact });\n }\n }\n } catch (error) {\n if (error.response && error.response.status === 404) {\n console.debug(`No history available${showSlug ? ' for show ' + showSlug : ''}`);\n }\n }\n\n commit('setLoading', false);\n },\n /**\n * Get episode history from API and commit it to the store.\n *\n * @param {*} context The store context.\n * @param {ShowIdentifier&ShowGetParameters} parameters Request parameters.\n * @returns {Promise} The API response.\n */\n getShowEpisodeHistory({ rootState, commit }, { showSlug, episodeSlug }) {\n return new Promise(resolve => {\n rootState.auth.client.api.get(`/history/${showSlug}/episode/${episodeSlug}`)\n .then(response => {\n if (response.data.length > 0) {\n commit(ADD_SHOW_EPISODE_HISTORY, { showSlug, episodeSlug, history: response.data });\n }\n resolve();\n })\n .catch(() => {\n console.warn(`No episode history found for show ${showSlug} and episode ${episodeSlug}`);\n });\n });\n },\n updateHistory({ rootState, commit }, data) {\n // Update store's search queue item. (provided through websocket)\n const compact = rootState.config.layout.history === 'compact';\n // We can't live update the compact layout, as it requires to aggregate the data.\n if (compact) {\n return;\n }\n commit(ADD_HISTORY_ROW, { history: data });\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { NOTIFICATIONS_ENABLED, NOTIFICATIONS_DISABLED } from '../mutation-types';\n\nconst state = {\n enabled: true\n};\n\nconst mutations = {\n [NOTIFICATIONS_ENABLED](state) {\n state.enabled = true;\n },\n [NOTIFICATIONS_DISABLED](state) {\n state.enabled = false;\n }\n};\n\nconst getters = {};\n\nconst actions = {\n enable(context) {\n const { commit } = context;\n commit(NOTIFICATIONS_ENABLED);\n },\n disable(context) {\n const { commit } = context;\n commit(NOTIFICATIONS_DISABLED);\n },\n test() {\n return window.displayNotification('error', 'test', 'test
hello world', 'notification-test');\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import Vue from 'vue';\nimport {\n ADD_PROVIDER,\n ADD_PROVIDERS,\n ADD_PROVIDER_CACHE,\n ADD_SEARCH_RESULTS,\n REMOVE_PROVIDER\n} from '../mutation-types';\n\nconst state = {\n providers: []\n};\n\nconst mutations = {\n [ADD_PROVIDER](state, provider) {\n if (!state.providers.find(p => p.id === provider.id)) {\n state.providers.push(provider);\n }\n },\n [ADD_PROVIDERS](state, providers) {\n providers.forEach(provider => {\n const existingProvider = state.providers.find(p => p.id === provider.id);\n if (existingProvider) {\n Vue.set(state.providers, state.providers.indexOf(existingProvider), provider);\n } else {\n state.providers.push(provider);\n }\n });\n },\n [REMOVE_PROVIDER](state, providerId) {\n state.providers = state.providers.filter(prov => prov.id !== providerId);\n },\n [ADD_PROVIDER_CACHE](state, { providerId, cache }) {\n // Check if this provider has already been added.\n let currentProvider = state.providers.find(prov => prov.id === providerId);\n if (!currentProvider) {\n currentProvider = {\n name: '',\n config: {}\n };\n state.providers.push(currentProvider);\n }\n\n if (currentProvider.cache === undefined) {\n Vue.set(currentProvider, 'cache', []);\n }\n\n const newCache = [];\n\n for (const result of cache) {\n const existingIdentifier = currentProvider.cache.find(item => item.identifier === result.identifier);\n if (existingIdentifier) {\n newCache.push({ ...existingIdentifier, ...result });\n } else {\n newCache.push(result);\n }\n }\n\n Vue.set(currentProvider, 'cache', newCache);\n },\n /**\n * Add search results which have been retreived through the webSocket.\n * @param {*} state - Vue state\n * @param {Array} searchResults - One or more search results.\n */\n [ADD_SEARCH_RESULTS](state, searchResults) {\n for (const searchResult of searchResults) {\n let currentProvider = state.providers.find(prov => prov.id === searchResult.provider.id);\n\n if (!currentProvider) {\n currentProvider = {\n name: '',\n config: {},\n cache: []\n };\n }\n\n const { cache } = currentProvider;\n\n // Check if we don't allready have this result in our store.\n // In that case, we update the existing object.\n const existingSearchResult = (cache || []).find(result => result.identifier === searchResult.identifier);\n if (existingSearchResult) {\n // Because this is an existing result, whe're not overwriting dateAdded field.\n const { dateAdded, ...rest } = searchResult;\n Vue.set(currentProvider.cache, cache.indexOf(existingSearchResult), { ...existingSearchResult, ...rest });\n } else {\n Vue.set(currentProvider, 'cache', [...cache || [], ...[searchResult]]);\n }\n }\n }\n};\n\nconst getters = {\n providerNameToId: _ => providerName => providerName.replace(/[^\\d\\w_]/gi, '_').toLowerCase().trim() // eslint-disable-line unicorn/better-regex\n};\n\n/**\n * An object representing request parameters for getting a show from the API.\n *\n * @typedef {object} ShowGetParameters\n * @property {boolean} detailed Fetch detailed information? (e.g. scene/xem numbering)\n * @property {boolean} episodes Fetch seasons & episodes?\n */\n\nconst actions = {\n /**\n * Get providers.\n *\n * @param {*} context The store context.\n * @returns {Promise} The API response.\n */\n getProviders({ rootState, commit }) {\n return new Promise((resolve, reject) => {\n rootState.auth.client.api.get('/providers')\n .then(response => {\n commit(ADD_PROVIDERS, response.data);\n resolve();\n })\n .catch(error => {\n console.error(`Could not get providers with error: ${error}`);\n reject();\n });\n });\n },\n /**\n * Get provider cache results for enabled providers.\n *\n * @param {*} context The store context.\n * @param {String} The provider id.\n * @returns {void}.\n */\n async getProviderCacheResults({ rootState, commit, state }, { showSlug, season, episode }) {\n const limit = 1000;\n const params = { limit, showslug: showSlug, season };\n if (episode) {\n params.episode = episode;\n }\n\n const getProviderResults = async provider => {\n let page = 0;\n let lastPage = false;\n const results = [];\n\n const currentProvider = state.providers.find(prov => prov.id === provider.id);\n if (!currentProvider) {\n return results;\n }\n\n const { id: providerId } = currentProvider;\n\n page = 0;\n lastPage = false;\n\n while (!lastPage) {\n let response = null;\n page += 1;\n\n params.page = page;\n\n try {\n response = await rootState.auth.client.api.get(`/providers/${providerId}/results`, { params }); // eslint-disable-line no-await-in-loop\n } catch (error) {\n if (error.response && error.response.status === 404) {\n console.debug(`No results available for provider ${provider}`);\n }\n\n lastPage = true;\n }\n\n if (response) {\n commit(ADD_PROVIDER_CACHE, { providerId, cache: response.data });\n results.push(...response.data);\n\n if (response.data.length < limit) {\n lastPage = true;\n }\n } else {\n lastPage = true;\n }\n }\n return results;\n };\n\n const result = {\n providersSearched: 0,\n totalSearchResults: []\n };\n\n for (const provider of state.providers) {\n if (!provider.config.enabled) {\n continue;\n }\n\n result.providersSearched += 1;\n const providerResults = await getProviderResults(provider); // eslint-disable-line no-await-in-loop\n result.totalSearchResults.push(...providerResults);\n }\n\n return result;\n },\n /**\n * Get provider cache results for enabled providers.\n *\n * @param {*} {commit} Destructured commit object.\n * @param {Object} searchResult - Search result.\n * @returns {void}.\n */\n addManualSearchResult({ commit }, searchResult) {\n commit(ADD_SEARCH_RESULTS, [searchResult]);\n }\n\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import Vue from 'vue';\nimport {\n ADD_RECOMMENDED_SHOW,\n SET_RECOMMENDED_SHOWS,\n SET_RECOMMENDED_SHOWS_TRAKT_REMOVED,\n SET_RECOMMENDED_SHOWS_CATEGORIES\n} from '../mutation-types';\n\nconst IMDB = 10;\nconst ANIDB = 11;\nconst TRAKT = 12;\nconst ANILIST = 13;\nconst ALL = -1;\n\nconst state = {\n limit: 1000,\n page: {\n [IMDB]: 1,\n [ANIDB]: 1,\n [TRAKT]: 1,\n [ANILIST]: 1,\n [ALL]: 1\n },\n shows: [],\n trakt: {\n removedFromMedusa: [],\n blacklistEnabled: false,\n availableLists: []\n },\n categories: {},\n externals: {\n IMDB,\n ANIDB,\n TRAKT,\n ANILIST\n },\n sourceToString: {\n [IMDB]: 'imdb',\n [ANIDB]: 'anidb',\n [TRAKT]: 'trakt',\n [ANILIST]: 'anilist'\n }\n};\n\nconst mutations = {\n [ADD_RECOMMENDED_SHOW](state, show) {\n const existingShow = state.shows.find(({ seriesId, source }) => Number(show.seriesId[show.source]) === Number(seriesId[source]));\n\n if (!existingShow) {\n console.debug(`Adding ${show.title || show.source + String(show.seriesId)} as it wasn't found in the shows array`, show);\n state.shows.push(show);\n return;\n }\n\n // Merge new recommended show object over old one\n // this allows detailed queries to update the record\n // without the non-detailed removing the extra data\n console.debug(`Found ${show.title || show.source + String(show.seriesId)} in shows array attempting merge`);\n const newShow = {\n ...existingShow,\n ...show\n };\n\n // Update state\n Vue.set(state.shows, state.shows.indexOf(existingShow), newShow);\n console.debug(`Merged ${newShow.title || newShow.source + String(newShow.seriesId)}`, newShow);\n },\n [SET_RECOMMENDED_SHOWS](state, { shows, source }) {\n if (shows.length < state.limit) {\n state.page[source] = -1;\n }\n state.shows = [...state.shows, ...shows];\n },\n [SET_RECOMMENDED_SHOWS_TRAKT_REMOVED](state, data) {\n state.trakt.removedFromMedusa = data.removedFromMedusa;\n state.trakt.blacklistEnabled = data.blacklistEnabled;\n state.trakt.availableLists = data.availableLists;\n },\n [SET_RECOMMENDED_SHOWS_CATEGORIES](state, data) {\n state.categories = data;\n },\n increasePage(state, source) {\n state.page[source] += 1;\n },\n resetPage(state, source) {\n state.page[source] = 1;\n }\n};\n\nconst getters = {};\n\nconst actions = {\n /**\n * Get recommended shows from API and commit them to the store.\n *\n * @param {*} context - The store context.\n * @param {String} source - Identifier for the recommended shows list.\n * @returns {(undefined|Promise)} undefined if `shows` was provided or the API response if not.\n */\n getRecommendedShows({ rootState, state, commit }, source) {\n if (state.page[source] === -1) {\n return;\n }\n const identifier = source ? state.sourceToString[source] : '';\n const { page } = state;\n return rootState.auth.client.api.get(`/recommended/${identifier}?page=${page[source]}&limit=${state.limit}`, { timeout: 90000 })\n .then(response => {\n commit(SET_RECOMMENDED_SHOWS, { shows: response.data, source });\n });\n },\n getRecommendedShowsOptions({ rootState, commit }) {\n rootState.auth.client.api.get('/recommended/trakt/removed', { timeout: 60000 })\n .then(response => {\n commit(SET_RECOMMENDED_SHOWS_TRAKT_REMOVED, response.data);\n });\n rootState.auth.client.api.get('/recommended/categories', { timeout: 60000 })\n .then(response => {\n commit(SET_RECOMMENDED_SHOWS_CATEGORIES, response.data);\n });\n },\n /**\n * Get more recommended shows from the paginated api.\n *\n * This method is triggered through a manual user interaction,\n * clicking on a \"Get More\" button.\n *\n * @param {*} param - Commit and dispatch.\n * @param {*} source - Get a specific source (imdb, trakt, all, ..)\n * @returns {Promise} - A promise from the getRecommendedShows method.\n */\n getMoreShows({ commit, dispatch }, source) {\n commit('increasePage', source);\n return dispatch('getRecommendedShows', source);\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import Vue from 'vue';\nimport {\n ADD_SHOW,\n ADD_SHOW_QUEUE_ITEM,\n ADD_SHOW_CONFIG,\n ADD_SHOWS,\n ADD_SHOW_CONFIG_TEMPLATE,\n ADD_SHOW_EPISODE,\n ADD_SHOW_SCENE_EXCEPTION,\n REMOVE_SHOW_SCENE_EXCEPTION,\n REMOVE_SHOW,\n REMOVE_SHOW_CONFIG_TEMPLATE\n} from '../mutation-types';\n\n/**\n * @typedef {object} ShowIdentifier\n * @property {string} indexer The indexer name (e.g. `tvdb`)\n * @property {number} id The show ID on the indexer (e.g. `12345`)\n */\n\nconst state = {\n shows: [],\n currentShow: {\n showSlug: null\n },\n loading: {\n total: null,\n current: null,\n display: false,\n finished: false\n },\n queueitems: []\n};\n\nconst mutations = {\n [ADD_SHOW](state, show) {\n const existingShow = state.shows.find(({ id, indexer }) => Number(show.id[show.indexer]) === Number(id[indexer]));\n\n if (!existingShow) {\n console.debug(`Adding ${show.title || show.indexer + String(show.id)} as it wasn't found in the shows array`, show);\n state.shows.push(show);\n return;\n }\n\n // Merge new show object over old one\n // this allows detailed queries to update the record\n // without the non-detailed removing the extra data\n console.debug(`Found ${show.title || show.indexer + String(show.id)} in shows array attempting merge`);\n const newShow = {\n ...existingShow,\n ...show\n };\n\n // Repair the searchTemplates\n newShow.config.searchTemplates = show.config.searchTemplates ? show.config.searchTemplates : existingShow.config.searchTemplates;\n\n // Update state\n Vue.set(state.shows, state.shows.indexOf(existingShow), newShow);\n console.debug(`Merged ${newShow.title || newShow.indexer + String(newShow.id)}`, newShow);\n },\n [ADD_SHOWS](state, shows) {\n // If the show is already available, we only want to merge values\n const mergedShows = [];\n for (const newShow of shows) {\n const existing = state.shows.find(stateShow => stateShow.id.slug === newShow.id.slug);\n if (existing) {\n const {\n sceneAbsoluteNumbering,\n xemAbsoluteNumbering,\n sceneNumbering,\n ...showWithoutDetailed\n } = newShow;\n\n // Repair searchTemplates.\n const mergedShow = { ...existing, ...showWithoutDetailed };\n mergedShow.config.searchTemplates = showWithoutDetailed.config.searchTemplates ? showWithoutDetailed.config.searchTemplates : existing.config.searchTemplates;\n\n mergedShows.push(mergedShow);\n } else {\n mergedShows.push(newShow);\n }\n }\n state.shows = mergedShows;\n console.debug(`Added ${shows.length} shows to store`);\n },\n [ADD_SHOW_CONFIG](state, { show, config }) {\n const existingShow = state.shows.find(({ id, indexer }) => Number(show.id[show.indexer]) === Number(id[indexer]));\n existingShow.config = { ...existingShow.config, ...config };\n },\n currentShow(state, showSlug) {\n state.currentShow.showSlug = showSlug;\n },\n setLoadingTotal(state, total) {\n state.loading.total = total;\n },\n setLoadingCurrent(state, current) {\n state.loading.current = current;\n },\n updateLoadingCurrent(state, current) {\n state.loading.current += current;\n },\n setLoadingDisplay(state, display) {\n state.loading.display = display;\n },\n setLoadingFinished(state, finished) {\n state.loading.finished = finished;\n },\n [ADD_SHOW_EPISODE](state, { show, episodes }) {\n // Creating a new show object (from the state one) as we want to trigger a store update\n const newShow = Object.assign({}, state.shows.find(({ id, indexer }) => Number(show.id[show.indexer]) === Number(id[indexer])));\n\n if (!newShow.seasons) {\n newShow.seasons = [];\n }\n\n // Recreate an Array with season objects, with each season having an episodes array.\n // This format is used by vue-good-table (displayShow).\n episodes.forEach(episode => {\n let existingSeason = newShow.seasons.find(season => season.season === episode.season);\n\n if (existingSeason) {\n // Shallow copy\n existingSeason = { ...existingSeason };\n\n const foundIndex = existingSeason.children.findIndex(element => element.slug === episode.slug);\n if (foundIndex === -1) {\n existingSeason.children.push(episode);\n } else {\n existingSeason.children.splice(foundIndex, 1, episode);\n }\n } else {\n const newSeason = {\n season: episode.season,\n children: [],\n html: false,\n mode: 'span',\n label: 1\n };\n newShow.seasons.push(newSeason);\n newSeason.children.push(episode);\n }\n });\n\n // Update state\n const existingShow = state.shows.find(({ id, indexer }) => Number(show.id[show.indexer]) === Number(id[indexer]));\n Vue.set(state.shows, state.shows.indexOf(existingShow), newShow);\n console.log(`Storing episodes for show ${newShow.title} seasons: ${[...new Set(episodes.map(episode => episode.season))].join(', ')}`);\n },\n [ADD_SHOW_SCENE_EXCEPTION](state, { show, exception }) {\n // Get current show object\n const currentShow = Object.assign({}, state.shows.find(({ id, indexer }) => Number(show.id[show.indexer]) === Number(id[indexer])));\n\n if (currentShow.config.aliases.find(e => e.title === exception.title && e.season === exception.season)) {\n console.warn(`Can't add exception ${exception.title} with season ${exception.season} to show ${currentShow.title} as it already exists.`);\n return;\n }\n\n currentShow.config.aliases.push(exception);\n },\n [REMOVE_SHOW_SCENE_EXCEPTION](state, { show, exception }) {\n // Get current show object\n const currentShow = Object.assign({}, state.shows.find(({ id, indexer }) => Number(show.id[show.indexer]) === Number(id[indexer])));\n\n if (!currentShow.config.aliases.find(e => e.title === exception.title && e.season === exception.season)) {\n console.warn(`Can't remove exception ${exception.title} with season ${exception.season} to show ${currentShow.title} as it does not exist.`);\n return;\n }\n\n currentShow.config.aliases.splice(currentShow.config.aliases.indexOf(exception), 1);\n },\n [ADD_SHOW_QUEUE_ITEM](state, queueItem) {\n const existingQueueItem = state.queueitems.find(item => item.identifier === queueItem.identifier);\n\n if (existingQueueItem) {\n Vue.set(state.queueitems, state.queueitems.indexOf(existingQueueItem), { ...existingQueueItem, ...queueItem });\n } else {\n Vue.set(state.queueitems, state.queueitems.length, queueItem);\n }\n },\n [ADD_SHOW_CONFIG_TEMPLATE](state, { show, template }) {\n // Get current show object\n const currentShow = Object.assign({}, state.shows.find(({ id, indexer }) => Number(show.id[show.indexer]) === Number(id[indexer])));\n\n if (currentShow.config.searchTemplates.find(t => t.template === template.pattern)) {\n console.warn(`Can't add template (${template.pattern} to show ${currentShow.title} as it already exists.`);\n return;\n }\n\n currentShow.config.searchTemplates.push(template);\n },\n [REMOVE_SHOW_CONFIG_TEMPLATE](state, { show, template }) {\n // Get current show object\n const currentShow = Object.assign({}, state.shows.find(({ id, indexer }) => Number(show.id[show.indexer]) === Number(id[indexer])));\n\n if (template.id) {\n currentShow.config.searchTemplates = currentShow.config.searchTemplates.filter(\n t => t.id !== template.id\n );\n return;\n }\n\n currentShow.config.searchTemplates = currentShow.config.searchTemplates.filter(\n t => !(t.title === template.title && t.season === template.season && t.template === template.template)\n );\n },\n [REMOVE_SHOW](state, removedShow) {\n state.shows = state.shows.filter(existingShow => removedShow.id.slug !== existingShow.id.slug);\n },\n initShowsFromStore(state) {\n // Check if the ID exists\n if (localStorage.getItem('shows')) {\n Vue.set(state, 'shows', JSON.parse(localStorage.getItem('shows')));\n }\n }\n};\n\nconst getters = {\n getShowById: state => {\n /**\n * Get a show from the loaded shows state, identified by show slug.\n *\n * @param {string} showSlug Show identifier.\n * @returns {object|undefined} Show object or undefined if not found.\n */\n const getShowById = showSlug => state.shows.find(show => show.id.slug === showSlug);\n return getShowById;\n },\n getShowByTitle: state => title => state.shows.find(show => show.title === title),\n getSeason: state => ({ showSlug, season }) => {\n const show = state.shows.find(show => show.id.slug === showSlug);\n return show && show.seasons ? show.seasons[season] : undefined;\n },\n getEpisode: state => ({ showSlug, season, episode }) => {\n const show = state.shows.find(show => show.id.slug === showSlug);\n return show && show.seasons && show.seasons.find(s => s.season === season) ? show.seasons.find(s => s.season === season).children.find(ep => ep.episode === episode) : undefined;\n },\n getCurrentShow: (state, _, rootState) => {\n return state.shows.find(show => show.id.slug === state.currentShow.showSlug) || rootState.defaults.show;\n },\n getShowIndexerUrl: (state, getters, rootState) => show => {\n const indexerConfig = rootState.config.indexers.indexers;\n if (!show.indexer || !indexerConfig[show.indexer]) {\n return;\n }\n\n const id = show.id[show.indexer];\n const indexerUrl = indexerConfig[show.indexer].showUrl;\n\n if (show.indexer === 'imdb') {\n return `${indexerUrl}${String(id).padStart(7, '0')}`;\n }\n return `${indexerUrl}${id}`;\n },\n showsWithStats: (state, getters, rootState) => {\n if (!state.shows) {\n return [];\n }\n\n return state.shows.map(show => {\n let showStats = rootState.stats.show.stats.find(stat => stat.indexerId === getters.indexerNameToId(show.indexer) && stat.seriesId === show.id[show.indexer]);\n const newLine = '\\u000D';\n let text = 'Unaired';\n let title = '';\n\n if (!showStats) {\n showStats = {\n epDownloaded: 0,\n epSnatched: 0,\n epTotal: 0,\n seriesSize: 0\n };\n }\n\n if (showStats.epTotal >= 1) {\n text = showStats.epDownloaded;\n title = `Downloaded: ${showStats.epDownloaded}`;\n\n if (showStats.epSnatched) {\n text += `+${showStats.epSnatched}`;\n title += `${newLine}Snatched: ${showStats.epSnatched}`;\n }\n\n text += ` / ${showStats.epTotal}`;\n title += `${newLine}Total: ${showStats.epTotal}`;\n }\n\n show.stats = {\n episodes: {\n total: showStats.epTotal,\n snatched: showStats.epSnatched,\n downloaded: showStats.epDownloaded,\n size: showStats.seriesSize\n },\n tooltip: {\n text,\n title,\n percentage: (showStats.epDownloaded * 100) / (showStats.epTotal || 1)\n }\n };\n return show;\n });\n },\n showsInLists: (state, getters, rootState) => {\n const { layout, general } = rootState.config;\n const { show } = layout;\n const { showListOrder } = show;\n const { rootDirs } = general;\n const { selectedRootIndex, local } = layout;\n const { showFilterByName } = local;\n\n const { showsWithStats } = getters;\n\n let shows = null;\n\n // Filter root dirs\n shows = showsWithStats.filter(show => selectedRootIndex === -1 || show.config.location.includes(rootDirs.slice(1)[selectedRootIndex]));\n\n // Filter by text for the banner, simple and smallposter layouts.\n // The Poster layout uses vue-isotope and this does not respond well to changes to the `list` property.\n if (layout.home !== 'poster') {\n shows = shows.filter(show => show.title.toLowerCase().includes(showFilterByName.toLowerCase()));\n }\n\n const categorizedShows = showListOrder.filter(\n listTitle => shows.filter(\n show => show.config.showLists.map(\n list => list.toLowerCase()\n ).includes(listTitle.toLowerCase())\n ).length > 0\n ).map(\n listTitle => ({ listTitle, shows: shows.filter(\n show => show.config.showLists.map(list => list.toLowerCase()).includes(listTitle.toLowerCase())\n ) })\n );\n\n // Check for shows that are not in any category anymore\n const uncategorizedShows = shows.filter(show => {\n return show.config.showLists.map(item => {\n return showListOrder.map(list => list.toLowerCase()).includes(item.toLowerCase());\n }).every(item => !item);\n });\n\n if (uncategorizedShows.length > 0) {\n categorizedShows.push({ listTitle: 'uncategorized', shows: uncategorizedShows });\n }\n\n if (categorizedShows.length === 0 && uncategorizedShows.length === 0) {\n categorizedShows.push({ listTitle: 'Series', shows: [] });\n }\n\n return categorizedShows;\n }\n};\n\n/**\n * An object representing request parameters for getting a show from the API.\n *\n * @typedef {object} ShowGetParameters\n * @property {boolean} detailed Fetch detailed information? (e.g. scene/xem numbering)\n * @property {boolean} episodes Fetch seasons & episodes?\n */\n\nconst actions = {\n /**\n * Get show from API and commit it to the store.\n *\n * @param {*} context The store context.\n * @param {ShowIdentifier&ShowGetParameters} parameters Request parameters.\n * @returns {Promise} The API response.\n */\n getShow({ rootState, commit }, { showSlug, detailed, episodes }) {\n return new Promise((resolve, reject) => {\n const params = {};\n let timeout = 30000;\n\n if (detailed !== undefined) {\n params.detailed = detailed;\n timeout = 60000;\n timeout = 60000;\n }\n\n if (episodes !== undefined) {\n params.episodes = episodes;\n timeout = 60000;\n }\n\n rootState.auth.client.api.get(`/series/${showSlug}`, { params, timeout })\n .then(res => {\n commit(ADD_SHOW, res.data);\n resolve(res.data);\n })\n .catch(error => {\n reject(error);\n });\n });\n },\n /**\n * Get episdoes for a specified show from API and commit it to the store.\n *\n * @param {*} context - The store context.\n * @param {ShowParameteres} parameters - Request parameters.\n * @returns {Promise} The API response.\n */\n getEpisodes({ rootState, commit, getters }, { showSlug, season }) {\n return new Promise((resolve, reject) => {\n const { getShowById } = getters;\n const show = getShowById(showSlug);\n\n const limit = 1000;\n const params = {\n limit\n };\n\n if (season !== undefined) {\n params.season = season;\n }\n\n // Get episodes\n rootState.auth.client.api.get(`/series/${showSlug}/episodes`, { params })\n .then(response => {\n commit(ADD_SHOW_EPISODE, { show, episodes: response.data });\n resolve();\n })\n .catch(error => {\n console.log(`Could not retrieve a episodes for show ${showSlug}, error: ${error}`);\n reject(error);\n });\n });\n },\n /**\n * Get shows from API and commit them to the store.\n *\n * @param {*} context - The store context.\n * @param {(ShowIdentifier&ShowGetParameters)[]} shows Shows to get. If not provided, gets the first 1k shows.\n * @returns {undefined|Promise} undefined if `shows` was provided or the API response if not.\n */\n getShows(context, shows) {\n const { commit, dispatch, state, rootState } = context;\n\n // If no shows are provided get the first 1000\n if (shows) {\n // Return a specific show list. (not used afaik).\n return shows.forEach(show => dispatch('getShow', show));\n }\n\n return new Promise((resolve, _) => {\n // Loading new shows, commit show loading information to state.\n commit('setLoadingTotal', 0);\n commit('setLoadingCurrent', 0);\n commit('setLoadingDisplay', true);\n\n const limit = 1000;\n const page = 1;\n const params = {\n limit,\n page\n };\n\n const pageRequests = [];\n const newShows = [];\n\n // Get first page\n pageRequests.push(rootState.auth.client.api.get('/series', { params })\n .then(response => {\n commit('setLoadingTotal', Number(response.headers['x-pagination-count']));\n const totalPages = Number(response.headers['x-pagination-total']);\n\n newShows.push(...response.data);\n\n commit('updateLoadingCurrent', response.data.length);\n\n // Optionally get additional pages\n for (let page = 2; page <= totalPages; page++) {\n pageRequests.push(new Promise((resolve, reject) => {\n const newPage = { page };\n newPage.limit = params.limit;\n return rootState.auth.client.api.get('/series', { params: newPage })\n .then(response => {\n newShows.push(...response.data);\n commit('updateLoadingCurrent', response.data.length);\n resolve();\n })\n .catch(error => {\n reject(error);\n });\n }));\n }\n })\n .catch(() => {\n console.log('Could not retrieve a list of shows');\n })\n .finally(() => {\n Promise.all(pageRequests)\n .then(() => {\n // Commit all the found shows to store.\n commit(ADD_SHOWS, newShows);\n\n // Update (namespaced) localStorage\n const namespace = rootState.config.system.webRoot ? `${rootState.config.system.webRoot}_` : '';\n try {\n localStorage.setItem(`${namespace}shows`, JSON.stringify(state.shows));\n } catch (error) {\n console.warn(error);\n }\n resolve();\n });\n })\n );\n });\n },\n setShow({ rootState }, { showSlug, data }) {\n // Update show, updated show will arrive over a WebSocket message\n return rootState.auth.client.api.patch(`series/${showSlug}`, data);\n },\n updateShow(context, show) {\n // Update local store\n const { commit } = context;\n return commit(ADD_SHOW, show);\n },\n addSceneException(context, { show, exception }) {\n const { commit } = context;\n commit(ADD_SHOW_SCENE_EXCEPTION, { show, exception });\n },\n removeSceneException(context, { show, exception }) {\n const { commit } = context;\n commit(REMOVE_SHOW_SCENE_EXCEPTION, { show, exception });\n },\n setCurrentShow(context, showSlug) {\n return new Promise(resolve => {\n // Set current show\n const { commit } = context;\n commit('currentShow', showSlug);\n resolve();\n });\n },\n setShowConfig(context, { show, config }) {\n const { commit } = context;\n commit(ADD_SHOW_CONFIG, { show, config });\n },\n removeShow({ commit, rootState, state }, show) {\n // Remove the show from store and localStorage (provided through websocket)\n commit(REMOVE_SHOW, show);\n\n // Update recentShows.\n rootState.config.general.recentShows = rootState.config.general.recentShows.filter(\n recentShow => recentShow.showSlug !== show.id.slug\n );\n const config = {\n recentShows: rootState.config.general.recentShows\n };\n rootState.auth.client.api.patch('config/main', config);\n\n // Update (namespaced) localStorage\n const namespace = rootState.config.system.webRoot ? `${rootState.config.system.webRoot}_` : '';\n localStorage.setItem(`${namespace}shows`, JSON.stringify(state.shows));\n },\n updateShowQueueItem(context, queueItem) {\n // Update store's search queue item. (provided through websocket)\n const { commit } = context;\n return commit(ADD_SHOW_QUEUE_ITEM, queueItem);\n },\n addSearchTemplate({ rootState, getters, commit }, { show, template }) {\n commit(ADD_SHOW_CONFIG_TEMPLATE, { show, template });\n const data = {\n config: {\n searchTemplates: getters.getCurrentShow.config.searchTemplates\n }\n };\n return rootState.auth.client.api.patch(`series/${show.indexer}${show.id[show.indexer]}`, data);\n },\n removeSearchTemplate({ rootState, getters, commit }, { show, template }) {\n commit(REMOVE_SHOW_CONFIG_TEMPLATE, { show, template });\n const data = {\n config: {\n searchTemplates: getters.getCurrentShow.config.searchTemplates\n }\n };\n return rootState.auth.client.api.patch(`series/${show.indexer}${show.id[show.indexer]}`, data);\n }\n\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_SCHEDULE } from '../mutation-types';\n\nconst state = {\n categories: ['later', 'missed', 'soon', 'today'],\n later: [],\n missed: [],\n soon: [],\n today: [],\n displayCategory: {\n later: false,\n missed: false,\n soon: true,\n today: true\n }\n};\n\nconst mutations = {\n [ADD_SCHEDULE](state, schedule) {\n for (const category in schedule) { // eslint-disable-line guard-for-in\n state[category] = schedule[category];\n }\n },\n setDisplayCategory(state, { category, value }) {\n state.displayCategory[category] = value;\n }\n};\n\nconst getters = {\n getScheduleFlattened: state => {\n const flattendedSchedule = [];\n const { categories, displayCategory } = state;\n for (const category of categories) {\n if (!displayCategory[category]) {\n continue;\n }\n\n const episodes = state[category];\n for (const episode of episodes) {\n episode.class = category;\n }\n flattendedSchedule.push(...episodes);\n }\n return flattendedSchedule;\n },\n /**\n * Group the coming episodes into an array of objects with an attibute header (the week day)\n * and an attribute episodes with an array of coming episodes.\n * @param {object} state - local state object.\n * @param {object} getters - local getters object.\n * @param {object} rootState - root state object.\n * @returns {array} - Array of grouped episodes by header.\n */\n groupedSchedule: (state, getters, rootState) => {\n const { missed, soon, today, later, displayCategory } = state;\n const { displayPaused } = rootState.config.layout.comingEps;\n\n const days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\n\n /* Return an array of the days to come */\n const comingDays = (currentDay, nrComingDays) => {\n let currentDayOfTheWeek = currentDay.getDay();\n const returnDays = [];\n for (let i = 0; i < nrComingDays; i++) {\n if (currentDayOfTheWeek > 7) {\n currentDayOfTheWeek = 1;\n }\n returnDays.push(currentDayOfTheWeek);\n currentDayOfTheWeek += 1;\n }\n return returnDays;\n };\n\n const _MS_PER_DAY = 1000 * 60 * 60 * 24;\n\n // A and b are javascript Date objects\n function dateDiffInDays(a, b) {\n // Discard the time and time-zone information.\n const utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());\n const utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());\n\n return Math.floor((utc2 - utc1) / _MS_PER_DAY);\n }\n\n const newArray = [];\n const combinedEpisodes = [];\n\n if (displayCategory.missed) {\n combinedEpisodes.push(...missed);\n }\n\n if (displayCategory.today) {\n combinedEpisodes.push(...today);\n }\n\n if (displayCategory.soon) {\n combinedEpisodes.push(...soon);\n }\n\n if (displayCategory.later) {\n combinedEpisodes.push(...later);\n }\n\n const filteredEpisodes = combinedEpisodes.filter(item => !item.paused || displayPaused);\n if (filteredEpisodes.length === 0) {\n return [];\n }\n\n let currentDay = new Date(filteredEpisodes[0].airdate);\n\n // Group the coming episodes by day.\n for (const episode of filteredEpisodes) {\n // Calculate the gaps in the week, for which we don't have any scheduled shows.\n if (currentDay !== new Date(episode.airdate)) {\n const diffDays = dateDiffInDays(currentDay, new Date(episode.airdate));\n if (diffDays > 1) {\n let dayHeader = days[comingDays(currentDay, diffDays)[1] - 1];\n\n // Add the elipses if there is a wider gap then 1 day.\n if (diffDays > 2) {\n dayHeader = `${dayHeader} ...`;\n }\n\n newArray.push({\n header: dayHeader,\n class: 'soon',\n episodes: []\n });\n }\n }\n\n currentDay = new Date(episode.airdate);\n\n let weekDay = newArray.find(item => item.airdate === episode.airdate);\n if (!weekDay) {\n weekDay = {\n airdate: episode.airdate,\n header: days[episode.weekday],\n class: 'soon',\n episodes: []\n };\n newArray.push(weekDay);\n }\n\n episode.airsTime = episode.airs.split(' ').slice(-2).join(' ');\n weekDay.episodes.push(episode);\n }\n return newArray;\n },\n /**\n * Group and sort the coming episodes into an array of objects with an attibute header (the week day).\n * Group the coming episodes into groups of missed, today, soon (subgrouped per day) and later.\n * @param {object} state - local state object.\n * @param {object} getters - local getters object.\n * @param {object} rootState - root state object.\n * @returns {array} - Array of grouped episodes by header.\n */\n sortedSchedule: (state, getters, rootState) => sort => {\n const {\n displayCategory,\n missed, today, soon, later\n } = state;\n const { displayPaused } = rootState.config.layout.comingEps;\n const days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\n const newArray = [];\n\n if (sort === 'date') {\n if (displayCategory.missed) {\n // Group missed episodes (one group)\n newArray.push({\n header: 'missed',\n class: 'missed',\n episodes: missed.filter(item => !item.paused || displayPaused)\n });\n }\n\n if (displayCategory.today) {\n // Group missed episodes (one group)\n newArray.push({\n header: 'today',\n class: 'today',\n episodes: today.filter(item => !item.paused || displayPaused)\n });\n }\n\n if (displayCategory.soon) {\n // Group the coming episodes by day.\n for (const episode of soon.filter(item => !item.paused || displayPaused)) {\n let weekDay = newArray.find(item => item.header === days[episode.weekday]);\n if (!weekDay) {\n weekDay = {\n header: days[episode.weekday],\n class: 'soon',\n episodes: []\n };\n newArray.push(weekDay);\n }\n weekDay.episodes.push(episode);\n }\n }\n\n if (displayCategory.later) {\n // Group later episodes (one group)\n newArray.push({\n header: 'later',\n class: 'later',\n episodes: later.filter(item => !item.paused || displayPaused)\n });\n }\n return newArray;\n }\n\n if (sort === 'network') {\n const { getScheduleFlattened } = getters;\n const filteredSchedule = getScheduleFlattened.filter(item => !item.paused || displayPaused);\n\n for (const episode of filteredSchedule.sort((a, b) => a.network.localeCompare(b.network))) {\n let network = newArray.find(item => item.header === episode.network);\n if (!network) {\n network = {\n header: episode.network,\n class: episode.class,\n episodes: []\n };\n newArray.push(network);\n }\n network.episodes.push(episode);\n }\n return newArray;\n }\n }\n};\n\n/**\n * An object representing request parameters for getting a show from the API.\n *\n * @typedef {object} ShowGetParameters\n * @property {boolean} detailed Fetch detailed information? (e.g. scene/xem numbering)\n * @property {boolean} episodes Fetch seasons & episodes?\n */\n\nconst actions = {\n /**\n * Get show schedule from API and commit it to the store.\n *\n * @param {*} context The store context.\n * @param {ShowIdentifier&ShowGetParameters} parameters Request parameters.\n * @returns {Promise} The API response.\n */\n async getSchedule({ rootState, commit, state }) {\n const params = {\n category: state.categories,\n paused: true\n };\n const response = await rootState.auth.client.api.get('/schedule', { params });\n if (response.data) {\n commit(ADD_SCHEDULE, response.data);\n }\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import {\n SOCKET_ONOPEN,\n SOCKET_ONCLOSE,\n SOCKET_ONERROR,\n SOCKET_ONMESSAGE,\n SOCKET_RECONNECT,\n SOCKET_RECONNECT_ERROR\n} from '../mutation-types';\n\nconst state = {\n isConnected: false,\n // Current message\n message: {},\n // Delivered messages for this session\n messages: [],\n reconnectError: false\n};\n\nconst mutations = {\n [SOCKET_ONOPEN](state) {\n state.isConnected = true;\n },\n [SOCKET_ONCLOSE](state) {\n state.isConnected = false;\n },\n [SOCKET_ONERROR](state, event) {\n console.error(state, event);\n },\n // Default handler called for all websocket methods\n [SOCKET_ONMESSAGE](state, message) {\n const { data, event } = message;\n\n // Set the current message\n state.message = message;\n\n if (event === 'notification') {\n // Save it so we can look it up later\n const existingMessage = state.messages.filter(message => message.hash === data.hash);\n if (existingMessage.length === 1) {\n state.messages[state.messages.indexOf(existingMessage)] = message;\n } else {\n state.messages.push(message);\n }\n }\n },\n // Mutations for websocket reconnect methods\n [SOCKET_RECONNECT](state, count) {\n console.info(state, count);\n },\n [SOCKET_RECONNECT_ERROR](state) {\n state.reconnectError = true;\n\n const title = 'Error connecting to websocket';\n let error = '';\n error += 'Please check your network connection. ';\n error += 'If you are using a reverse proxy, please take a look at our wiki for config examples.';\n\n window.displayNotification('notice', title, error);\n }\n};\n\nconst getters = {};\n\nconst actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_STATS, SET_STATS, SET_MAX_DOWNLOAD_COUNT } from '../mutation-types';\n\nconst state = {\n overall: {\n episodes: {\n downloaded: null,\n snatched: null,\n total: null\n },\n shows: {\n active: null,\n total: null\n }\n },\n show: {\n maxDownloadCount: 0,\n stats: []\n }\n};\n\nconst mutations = {\n [ADD_STATS](state, payload) {\n const { type, stats } = payload;\n state[type] = Object.assign(state[type], stats);\n },\n [SET_STATS](state, stats) {\n state.stats = stats;\n },\n [SET_MAX_DOWNLOAD_COUNT](state, downloadCount) {\n state.maxDownloadCount = downloadCount;\n }\n};\n\nconst getters = {};\n\nconst actions = {\n getStats({ rootState, commit }, type) {\n return rootState.auth.client.api.get(`/stats/${(type || '')}`).then(res => {\n commit(ADD_STATS, {\n type: (type || 'overall'),\n stats: res.data\n });\n });\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG, UPDATE_SHOWLIST_DEFAULT } from '../../mutation-types';\n\nconst state = {\n anidb: {\n enabled: false,\n username: null,\n password: null,\n useMylist: false\n },\n autoAnimeToList: false,\n showlistDefaultAnime: []\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'anime') {\n state = Object.assign(state, config);\n }\n },\n [UPDATE_SHOWLIST_DEFAULT](state, value) {\n state.showlistDefaultAnime = value;\n }\n};\n\nconst getters = {};\n\nconst actions = {\n updateShowlistDefault(context, showlistDefaultAnime) {\n const { commit } = context;\n return commit(UPDATE_SHOWLIST_DEFAULT, showlistDefaultAnime);\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG } from '../../mutation-types';\n\nconst state = {\n torrents: {\n authType: null,\n dir: null,\n enabled: null,\n highBandwidth: null,\n host: null,\n label: null,\n labelAnime: null,\n method: null,\n path: null,\n paused: null,\n rpcUrl: null,\n seedLocation: null,\n seedTime: null,\n username: null,\n password: null,\n verifySSL: null,\n testStatus: 'Click below to test'\n },\n nzb: {\n enabled: null,\n method: null,\n nzbget: {\n category: null,\n categoryAnime: null,\n categoryAnimeBacklog: null,\n categoryBacklog: null,\n host: null,\n priority: null,\n useHttps: null,\n username: null,\n password: null\n },\n sabnzbd: {\n category: null,\n forced: null,\n categoryAnime: null,\n categoryBacklog: null,\n categoryAnimeBacklog: null,\n host: null,\n username: null,\n password: null,\n apiKey: null\n }\n }\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'clients') {\n state = Object.assign(state, config);\n }\n }\n};\n\nconst getters = {};\n\nconst actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG } from '../../mutation-types';\n\n/**\n * An object representing a split quality.\n *\n * @typedef {Object} Quality\n * @property {number[]} allowed - Allowed qualities\n * @property {number[]} preferred - Preferred qualities\n */\n\nconst state = {\n qualities: {\n values: [],\n anySets: [],\n presets: []\n },\n statuses: [],\n clientStatuses: []\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'consts') {\n state = Object.assign(state, config);\n }\n }\n};\n\nconst getters = {\n // Get a quality object using a key or a value\n getQuality: state => ({ key, value }) => {\n if ([key, value].every(x => x === undefined) || [key, value].every(x => x !== undefined)) {\n throw new Error('Conflict in `getQuality`: Please provide either `key` or `value`.');\n }\n return state.qualities.values.find(quality => key === quality.key || value === quality.value);\n },\n // Get a quality any-set object using a key or a value\n getQualityAnySet: state => ({ key, value }) => {\n if ([key, value].every(x => x === undefined) || [key, value].every(x => x !== undefined)) {\n throw new Error('Conflict in `getQualityAnySet`: Please provide either `key` or `value`.');\n }\n return state.qualities.anySets.find(preset => key === preset.key || value === preset.value);\n },\n // Get a quality preset object using a key or a value\n getQualityPreset: state => ({ key, value }) => {\n if ([key, value].every(x => x === undefined) || [key, value].every(x => x !== undefined)) {\n throw new Error('Conflict in `getQualityPreset`: Please provide either `key` or `value`.');\n }\n return state.qualities.presets.find(preset => key === preset.key || value === preset.value);\n },\n // Get a status object using a key or a value\n getStatus: state => ({ key, value }) => {\n if ([key, value].every(x => x === undefined) || [key, value].every(x => x !== undefined)) {\n throw new Error('Conflict in `getStatus`: Please provide either `key` or `value`.');\n }\n return state.statuses.find(status => key === status.key || value === status.value);\n },\n /**\n * Get an episode overview status using the episode status and quality.\n *\n * @typedef {Object} - Episode status\n * @property {Object} quality - Episode quality\n * @property {Object} configQualities - Shows configured qualities (allowed and preferred)\n * @returns {String} The overview status\n */\n // eslint-disable-next-line no-unused-vars\n getOverviewStatus: _state => (status, quality, configQualities) => {\n if (['Unset', 'Unaired'].includes(status)) {\n return 'Unaired';\n }\n\n if (['Skipped', 'Ignored'].includes(status)) {\n return 'Skipped';\n }\n\n if (['Archived'].includes(status)) {\n return 'Preferred';\n }\n\n if (['Wanted', 'Failed'].includes(status)) {\n return 'Wanted';\n }\n\n if (['Snatched', 'Snatched (Proper)', 'Snatched (Best)'].includes(status)) {\n return 'Snatched';\n }\n\n if (['Downloaded'].includes(status)) {\n // Check if the show has been configured with only allowed qualities.\n if (configQualities.allowed.length > 0 && configQualities.preferred.length === 0) {\n // This is a hack, because technically the quality does not fit in the Preferred quality.\n // But because 'preferred' translates to the css color \"green\", we use it.\n if (configQualities.allowed.includes(quality)) {\n return 'Preferred';\n }\n }\n\n if (configQualities.preferred.includes(quality)) {\n return 'Preferred';\n }\n\n if (configQualities.allowed.includes(quality)) {\n return 'Allowed';\n }\n\n return 'Wanted';\n }\n\n return status;\n },\n splitQuality: state => {\n /**\n * Split a combined quality to allowed and preferred qualities.\n * Converted Python method from `medusa.common.Quality.split_quality`.\n *\n * @param {number} quality - The combined quality to split\n * @returns {Quality} The split quality\n */\n const _splitQuality = quality => {\n return state.qualities.values.reduce((result, { value }) => {\n quality >>>= 0; // Unsigned int\n if (value & quality) {\n result.allowed.push(value);\n }\n if ((value << 16) & quality) {\n result.preferred.push(value);\n }\n return result;\n }, { allowed: [], preferred: [] });\n };\n return _splitQuality;\n }\n};\n\nconst actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG } from '../../mutation-types';\n\nconst state = {\n main: {\n externalMappings: {},\n statusMap: {},\n traktIndexers: {},\n validLanguages: [],\n langabbvToId: {},\n recommendedLists: {}\n },\n indexers: {\n tvdb: {\n apiParams: {\n useZip: null,\n language: null\n },\n baseUrl: null,\n enabled: null,\n icon: null,\n id: null,\n identifier: null,\n mappedTo: null,\n name: null,\n scene_loc: null, // eslint-disable-line camelcase\n showUrl: null,\n xemOrigin: null\n },\n tmdb: {\n apiParams: {\n useZip: null,\n language: null\n },\n baseUrl: null,\n enabled: null,\n icon: null,\n id: null,\n identifier: null,\n mappedTo: null,\n name: null,\n scene_loc: null, // eslint-disable-line camelcase\n showUrl: null,\n xemOrigin: null\n },\n tvmaze: {\n apiParams: {\n useZip: null,\n language: null\n },\n baseUrl: null,\n enabled: null,\n icon: null,\n id: null,\n identifier: null,\n mappedTo: null,\n name: null,\n scene_loc: null, // eslint-disable-line camelcase\n showUrl: null,\n xemOrigin: null\n },\n imdb: {\n apiParams: {\n useZip: null,\n language: null\n },\n baseUrl: null,\n enabled: null,\n icon: null,\n id: null,\n identifier: null,\n mappedTo: null,\n name: null,\n scene_loc: null, // eslint-disable-line camelcase\n showUrl: null,\n xemOrigin: null\n }\n }\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'indexers') {\n state = Object.assign(state, config);\n }\n }\n};\n\nconst getters = {\n // Get an indexer's name using its ID.\n indexerIdToName: state => indexerId => {\n if (!indexerId) {\n return undefined;\n }\n const { indexers } = state;\n return Object.keys(indexers).find(name => indexers[name].id === Number.parseInt(indexerId, 10));\n },\n // Get an indexer's ID using its name.\n indexerNameToId: state => indexerName => {\n const { indexers } = state;\n if (!indexerName || !indexers) {\n return undefined;\n }\n return indexers[indexerName].id;\n },\n /**\n * Return the indexers showUrl.\n * @param {object} state - State object.\n * @returns {string|undefined} Indexers show url or undefined if not found.\n */\n getIndexer: state => indexerId => {\n return Object.values(state.indexers).find(indexer => indexer.id === indexerId);\n }\n};\n\nconst actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG, UPDATE_LAYOUT_LOCAL } from '../../mutation-types';\nimport formatDate from 'date-fns/format';\nimport parseISO from 'date-fns/parseISO';\nimport TimeAgo from 'javascript-time-ago';\nimport en from 'javascript-time-ago/locale/en';\n\nimport { convertDateFormat, divmod } from '../../../utils/core';\n\n// Add locale-specific relative date/time formatting rules.\nTimeAgo.addDefaultLocale(en);\n\nconst state = {\n show: {\n specials: null,\n showListOrder: [],\n pagination: {\n enable: null\n }\n },\n home: null,\n selectedRootIndex: null,\n history: null,\n historyLimit: null,\n schedule: null,\n wide: null,\n timezoneDisplay: null,\n timeStyle: null,\n dateStyle: null,\n themeName: null,\n splitHomeInTabs: null,\n animeSplitHome: null,\n fanartBackground: null,\n fanartBackgroundOpacity: null,\n trimZero: null,\n sortArticle: null,\n fuzzyDating: null,\n comingEps: {\n missedRange: null,\n sort: null,\n displayPaused: null,\n layout: null\n },\n backlogOverview: {\n status: null,\n period: null\n },\n posterSortdir: null,\n posterSortby: null,\n // Local config store properties, are saved to.\n local: {\n showFilterByName: '',\n posterSize: 188,\n currentShowTab: null\n }\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'layout') {\n state = Object.assign(state, config);\n }\n },\n [UPDATE_LAYOUT_LOCAL](state, local) {\n state.local = { ...state.local, ...local };\n }\n};\n\nconst getters = {\n fuzzyParseDateTime: state => (airDate, showSeconds = false) => {\n const timeAgo = new TimeAgo('en-US');\n const { dateStyle, fuzzyDating, timeStyle } = state;\n\n if (!airDate || !dateStyle) {\n return '';\n }\n\n if (fuzzyDating) {\n return timeAgo.format(new Date(airDate));\n }\n\n if (dateStyle === '%x') {\n return new Date(airDate).toLocaleString();\n }\n\n // Only the history page should show seconds.\n const formatTimeStyle = showSeconds ? timeStyle : timeStyle.replace(':%S', '');\n const fdate = parseISO(airDate);\n return formatDate(fdate, convertDateFormat(`${dateStyle} ${formatTimeStyle}`));\n },\n getShowFilterByName: state => {\n return state.local.showFilterByName;\n },\n /**\n * PrettyTimeDelta\n *\n * Translate seconds into a pretty hours, minutes, seconds representation.\n * @param {object} state - State object.\n * @returns {number} seconds - Number of seconds to translate.\n */\n prettyTimeDelta: state => seconds => { // eslint-disable-line no-unused-vars\n let signStr = '';\n if (seconds < 0) {\n signStr = '-';\n }\n\n let days = 0;\n let hours = 0;\n let minutes = 0;\n\n const daysSeconds = divmod(seconds, 86400);\n days = daysSeconds.quotient;\n seconds = daysSeconds.remainder;\n\n const hoursSeconds = divmod(seconds, 3600);\n hours = hoursSeconds.quotient;\n seconds = hoursSeconds.remainder;\n\n const minuteSeconds = divmod(seconds, 60);\n minutes = minuteSeconds.quotient;\n seconds = minuteSeconds.remainder;\n\n if (days > 0) {\n signStr += ` ${days}d`;\n }\n\n if (hours > 0) {\n signStr += ` ${hours}h`;\n }\n\n if (minutes > 0) {\n signStr += ` ${minutes}m`;\n }\n\n if (seconds > 0) {\n signStr += ` ${seconds}s`;\n }\n\n return signStr;\n }\n};\n\nconst actions = {\n setLayout({ rootState, commit }, { page, layout }) {\n // Don't wait for the api, just commit to store.\n commit(ADD_CONFIG, {\n section: 'layout', config: { [page]: layout }\n });\n\n return rootState.auth.client.api.patch('config/main', { layout: { [page]: layout } });\n },\n setTheme({ rootState, commit }, { themeName }) {\n return rootState.auth.client.api.patch('config/main', { layout: { themeName } })\n .then(() => {\n return commit(ADD_CONFIG, {\n section: 'layout', config: { themeName }\n });\n });\n },\n setSpecials({ rootState, commit, state }, specials) {\n const show = Object.assign({}, state.show);\n show.specials = specials;\n\n return rootState.auth.client.api.patch('config/main', { layout: { show } })\n .then(() => {\n return commit(ADD_CONFIG, {\n section: 'layout', config: { show }\n });\n });\n },\n setPosterSortBy({ rootState, commit }, { value }) {\n return rootState.auth.client.api.patch('config/main', { layout: { posterSortby: value } })\n .then(() => {\n return commit(ADD_CONFIG, {\n section: 'layout', config: { posterSortby: value }\n });\n });\n },\n setPosterSortDir({ rootState, commit }, { value }) {\n return rootState.auth.client.api.patch('config/main', { layout: { posterSortdir: value } })\n .then(() => {\n return commit(ADD_CONFIG, {\n section: 'layout', config: { posterSortdir: value }\n });\n });\n },\n setLayoutShow({ rootState, commit }, value) {\n return rootState.auth.client.api.patch('config/main', { layout: { show: value } })\n .then(() => {\n return commit(ADD_CONFIG, {\n section: 'layout', config: { show: value }\n });\n });\n },\n setStoreLayout({ rootState, commit }, { key, value }) {\n return rootState.auth.client.api.patch('config/main', { layout: { [key]: value } })\n .then(() => {\n return commit(ADD_CONFIG, {\n section: 'layout', config: { [key]: value }\n });\n });\n },\n setLayoutLocal(context, { key, value }) {\n const { commit } = context;\n return commit(UPDATE_LAYOUT_LOCAL, { [key]: value });\n },\n setBacklogOverview({ rootState, commit, state }, { key, value }) {\n const backlogOverview = { ...state.backlogOverview };\n backlogOverview[key] = value;\n commit(ADD_CONFIG, {\n section: 'layout', config: { backlogOverview }\n });\n return rootState.auth.client.api.patch('config/main', { layout: { backlogOverview } });\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n accessToken: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n webhook: null,\n tts: null,\n overrideAvatar: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n host: null,\n port: null,\n from: null,\n tls: null,\n username: null,\n password: null,\n addressList: [],\n subject: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n host: null,\n apiKey: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n api: null,\n id: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n host: null,\n password: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n alwaysOn: null,\n libraryCleanPending: null,\n cleanLibrary: null,\n host: [],\n username: null,\n password: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n update: {\n library: null,\n full: null,\n onlyFirst: null\n }\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n host: null,\n database: null,\n mount: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n host: null,\n dbloc: null,\n database: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n client: {\n host: [],\n username: null,\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null\n },\n server: {\n updateLibrary: null,\n host: [],\n enabled: null,\n https: null,\n username: null,\n password: null,\n token: null\n }\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n api: [],\n messageTitle: null,\n priority: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n authToken: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n authToken: null,\n device: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n api: null,\n device: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n apiKey: null,\n userKey: null,\n device: [],\n sound: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n host: null,\n name: null,\n shareName: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n webhook: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n api: null,\n id: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n pinUrl: null,\n username: null,\n accessToken: null,\n timeout: null,\n defaultIndexer: null,\n sync: null,\n syncRemove: null,\n syncWatchlist: null,\n methodAdd: null,\n removeWatchlist: null,\n removeSerieslist: null,\n removeShowFromApplication: null,\n startPaused: null,\n blacklistName: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","export const state = {\n enabled: null,\n notifyOnSnatch: null,\n notifyOnDownload: null,\n notifyOnSubtitleDownload: null,\n dmto: null,\n prefix: null,\n directMessage: null\n};\n\nexport const mutations = {};\n\nexport const getters = {};\n\nexport const actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import anime from './anime';\nimport clients from './clients';\nimport consts from './consts';\nimport indexers from './indexers';\nimport layout from './layout';\nimport general from './general';\nimport metadata from './metadata';\nimport notifiers from './notifiers';\nimport postprocessing from './postprocessing';\nimport search from './search';\nimport subtitles from './subtitles';\nimport system from './system';\n\nconst modules = {\n anime,\n clients,\n consts,\n indexers,\n layout,\n general,\n metadata,\n notifiers,\n postprocessing,\n search,\n subtitles,\n system\n};\n\nconst state = {};\n\nconst mutations = {};\n\nconst getters = {};\n\nconst actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions,\n modules\n};\n","import { ADD_CONFIG } from '../../mutation-types';\nimport { arrayUnique, arrayExclude } from '../../../utils/core';\n\nconst state = {\n addTitleWithYear: null,\n wikiUrl: null,\n donationsUrl: null,\n namingForceFolders: null,\n sourceUrl: null,\n rootDirs: [],\n subtitles: {\n enabled: null\n },\n brokenProviders: [],\n logs: {\n debug: null,\n dbDebug: null,\n loggingLevels: {},\n numErrors: null,\n numWarnings: null,\n actualLogDir: null,\n nr: null,\n size: null,\n subliminalLog: null,\n privacyLevel: null,\n custom: {}\n },\n cpuPreset: null,\n subtitlesMulti: null,\n anonRedirect: null,\n recentShows: [],\n randomShowSlug: null, // @TODO: Recreate this in Vue when the webapp has a reliable list of shows to choose from.\n showDefaults: {\n status: null,\n statusAfter: null,\n quality: null,\n subtitles: null,\n seasonFolders: null,\n anime: null,\n scene: null,\n showLists: null\n },\n launchBrowser: null,\n defaultPage: null,\n trashRemoveShow: null,\n indexerDefaultLanguage: null,\n showUpdateHour: null,\n indexerTimeout: null,\n indexerDefault: null,\n plexFallBack: {\n enable: null,\n notifications: null,\n timeout: null\n },\n recommended: {\n cache: {\n shows: null,\n trakt: null,\n imdb: null,\n anidb: null,\n anilist: null,\n purgeAfterDays: null\n },\n trakt: {\n selectedLists: [],\n availableLists: []\n }\n },\n versionNotify: null,\n autoUpdate: null,\n updateFrequency: null,\n notifyOnUpdate: null,\n availableThemes: null,\n timePresets: [],\n datePresets: [],\n webInterface: {\n apiKey: null,\n log: null,\n username: null,\n password: null,\n port: null,\n host: null,\n notifyOnLogin: null,\n ipv6: null,\n httpsEnable: null,\n httpsCert: null,\n httpsKey: null,\n handleReverseProxy: null\n },\n sslVerify: null,\n sslCaBundle: null,\n noRestart: null,\n encryptionVersion: null,\n calendarUnprotected: null,\n calendarIcons: null,\n proxySetting: null,\n proxyProviders: null,\n proxyClients: null,\n proxyIndexers: null,\n proxyOthers: null,\n skipRemovedFiles: null,\n epDefaultDeletedStatus: null,\n developer: null,\n experimental: null,\n git: {\n username: null,\n password: null,\n token: null,\n authType: null,\n remote: null,\n path: null,\n org: null,\n reset: null,\n resetBranches: null,\n url: null\n },\n // Remove backlogOverview after manage_backlogOverview.mako is gone.\n backlogOverview: {\n status: null,\n period: null\n },\n // Remove themeName when we get fully rid of MEDUSA.config.\n themeName: null,\n providers: {\n prowlarr: {\n url: null,\n apikey: null\n }\n }\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'main') {\n state = Object.assign(state, config);\n }\n },\n addRecentShow(state, { show }) {\n state.recentShows = state.recentShows.filter(\n filterShow =>\n !(filterShow.showSlug === show.showSlug && filterShow.name === show.name)\n );\n\n state.recentShows.unshift(show); // Add the new show object to the start of the array.\n state.recentShows = state.recentShows.slice(0, 5); // Cut the array of at 5 items.\n },\n updateTraktSelectedLists(state, selectedLists) {\n state.recommended.trakt.selectedLists = selectedLists;\n }\n};\n\nconst getters = {\n effectiveIgnored: (state, _, rootState) => series => {\n const seriesIgnored = series.config.release.ignoredWords.map(x => x.toLowerCase());\n const globalIgnored = rootState.config.search.filters.ignored.map(x => x.toLowerCase());\n if (!series.config.release.ignoredWordsExclude) {\n return arrayUnique(globalIgnored.concat(seriesIgnored));\n }\n return arrayExclude(globalIgnored, seriesIgnored);\n },\n effectiveRequired: (state, _, rootState) => series => {\n const seriesRequired = series.config.release.requiredWords.map(x => x.toLowerCase());\n const globalRequired = rootState.config.search.filters.required.map(x => x.toLowerCase());\n if (!series.config.release.requiredWordsExclude) {\n return arrayUnique(globalRequired.concat(seriesRequired));\n }\n return arrayExclude(globalRequired, seriesRequired);\n }\n};\n\nconst actions = {\n getConfig({ rootState, commit }, section) {\n return rootState.auth.client.api.get('/config/' + (section || '')).then(res => {\n if (section) {\n const config = res.data;\n commit(ADD_CONFIG, { section, config });\n return config;\n }\n\n const sections = res.data;\n Object.keys(sections).forEach(section => {\n const config = sections[section];\n commit(ADD_CONFIG, { section, config });\n });\n return sections;\n });\n },\n setConfig({ rootState }, { section, config }) {\n return rootState.auth.client.api.patch(`config/${section}`, config);\n },\n updateConfig({ commit }, { section, config }) {\n return commit(ADD_CONFIG, { section, config });\n },\n getApiKey({ rootState, commit }) {\n const section = 'main';\n const config = { webInterface: { apiKey: '' } };\n return rootState.auth.client.apiRoute.get('config/general/generate_api_key')\n .then(response => {\n config.webInterface.apiKey = response.data;\n return commit(ADD_CONFIG, { section, config });\n });\n },\n setRecentShow({ rootState, commit, state }, show) {\n commit('addRecentShow', { show });\n const config = {\n recentShows: state.recentShows\n };\n return rootState.auth.client.api.patch('config/main', config);\n },\n setCustomLogs({ rootState, commit }, logs) {\n // Convert back to object.\n const reducedLogs = logs.reduce((obj, item) => ({ ...obj, [item.identifier]: item.level }), {});\n\n return rootState.auth.client.api.patch('config/main', { logs: { custom: logs } })\n .then(() => {\n return commit(ADD_CONFIG, {\n section: 'main', config: { logs: { custom: reducedLogs } }\n });\n });\n },\n setTraktSelectedLists({ rootState, commit }, selectedLists) {\n return rootState.auth.client.api.patch('config/main', { recommended: { trakt: { selectedLists } } })\n .then(() => {\n return commit('updateTraktSelectedLists', selectedLists);\n });\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG } from '../../mutation-types';\n\nconst state = {\n metadataProviders: {}\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'metadata') {\n state = Object.assign(state, config);\n }\n }\n};\n\nconst getters = {};\n\nconst actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG } from '../../../mutation-types';\nimport boxcar2 from './boxcar2';\nimport discord from './discord';\nimport email from './email';\nimport emby from './emby';\nimport freemobile from './freemobile';\nimport growl from './growl';\nimport kodi from './kodi';\nimport libnotify from './libnotify';\nimport nmj from './nmj';\nimport nmjv2 from './nmjv2';\nimport plex from './plex';\nimport prowl from './prowl';\nimport pushalot from './pushalot';\nimport pushbullet from './pushbullet';\nimport join from './join';\nimport pushover from './pushover';\nimport pyTivo from './py-tivo';\nimport slack from './slack';\nimport synology from './synology';\nimport synologyIndex from './synology-index';\nimport telegram from './telegram';\nimport trakt from './trakt';\nimport twitter from './twitter';\n\nconst state = {};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'notifiers') {\n state = Object.assign(state, config);\n }\n }\n};\n\nconst getters = {};\n\nconst actions = {};\n\nconst modules = {\n boxcar2,\n discord,\n email,\n emby,\n freemobile,\n growl,\n kodi,\n libnotify,\n nmj,\n nmjv2,\n plex,\n prowl,\n pushalot,\n pushbullet,\n join,\n pushover,\n pyTivo,\n slack,\n synology,\n synologyIndex,\n telegram,\n trakt,\n twitter\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions,\n modules\n};\n","import { ADD_CONFIG } from '../../mutation-types';\n\nconst state = {\n naming: {\n pattern: null,\n multiEp: null,\n enableCustomNamingSports: null,\n enableCustomNamingAirByDate: null,\n patternSports: null,\n patternAirByDate: null,\n enableCustomNamingAnime: null,\n patternAnime: null,\n animeMultiEp: null,\n animeNamingType: null,\n stripYear: null\n },\n showDownloadDir: null,\n processAutomatically: null,\n processMethod: null,\n specificProcessMethod: null,\n processMethodTorrent: null,\n processMethodNzb: null,\n deleteRarContent: null,\n unpack: null,\n noDelete: null,\n reflinkAvailable: null,\n postponeIfSyncFiles: null,\n autoPostprocessorFrequency: 10,\n airdateEpisodes: null,\n moveAssociatedFiles: null,\n allowedExtensions: [],\n addShowsWithoutDir: null,\n createMissingShowDirs: null,\n renameEpisodes: null,\n postponeIfNoSubs: null,\n nfoRename: null,\n syncFiles: [],\n fileTimestampTimezone: 'local',\n extraScripts: [],\n extraScriptsUrl: null,\n multiEpStrings: {},\n downloadHandler: {\n enabled: null,\n frequency: null,\n minFrequency: null,\n torrentSeedRatio: null,\n torrentSeedAction: null\n },\n ffmpeg: {\n checkStreams: null,\n path: ''\n }\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'postprocessing') {\n state = Object.assign(state, config);\n }\n }\n};\n\nconst getters = {};\n\nconst actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG } from '../../mutation-types';\n\nconst state = {\n filters: {\n ignoreUnknownSubs: false,\n ignored: [\n 'german',\n 'french',\n 'core2hd',\n 'dutch',\n 'swedish',\n 'reenc',\n 'MrLss',\n 'dubbed'\n ],\n undesired: [\n 'internal',\n 'xvid'\n ],\n ignoredSubsList: [\n 'dk',\n 'fin',\n 'heb',\n 'kor',\n 'nor',\n 'nordic',\n 'pl',\n 'swe'\n ],\n required: [],\n preferred: []\n },\n general: {\n minDailySearchFrequency: 10,\n minBacklogFrequency: 720,\n dailySearchFrequency: 40,\n checkPropersInterval: '4h',\n usenetRetention: 500,\n maxCacheAge: 30,\n backlogDays: 7,\n backlogFrequency: 720,\n cacheTrimming: false,\n downloadPropers: true,\n failedDownloads: {\n enabled: null,\n deleteFailed: null\n },\n removeFromClient: false,\n randomizeProviders: false,\n propersSearchDays: 2,\n allowHighPriority: true,\n trackersList: [\n 'udp://tracker.coppersurfer.tk:6969/announce',\n 'udp://tracker.leechers-paradise.org:6969/announce',\n 'udp://tracker.zer0day.to:1337/announce',\n 'udp://tracker.opentrackr.org:1337/announce',\n 'http://tracker.opentrackr.org:1337/announce',\n 'udp://p4p.arenabg.com:1337/announce',\n 'http://p4p.arenabg.com:1337/announce',\n 'udp://explodie.org:6969/announce',\n 'udp://9.rarbg.com:2710/announce',\n 'http://explodie.org:6969/announce',\n 'http://tracker.dler.org:6969/announce',\n 'udp://public.popcorn-tracker.org:6969/announce',\n 'udp://tracker.internetwarriors.net:1337/announce',\n 'udp://ipv4.tracker.harry.lu:80/announce',\n 'http://ipv4.tracker.harry.lu:80/announce',\n 'udp://mgtracker.org:2710/announce',\n 'http://mgtracker.org:6969/announce',\n 'udp://tracker.mg64.net:6969/announce',\n 'http://tracker.mg64.net:6881/announce',\n 'http://torrentsmd.com:8080/announce'\n ]\n }\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'search') {\n state = Object.assign(state, config);\n }\n }\n};\n\nconst getters = {};\n\nconst actions = {};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG } from '../../mutation-types';\n\nconst state = {\n acceptUnknownEmbeddedSubs: null,\n codeFilter: [],\n enabled: null,\n eraseCache: null,\n extraScripts: [],\n finderFrequency: null,\n hearingImpaired: null,\n ignoreEmbeddedSubs: null,\n keepOnlyWanted: null,\n location: null,\n logHistory: null,\n multiLanguage: null,\n perfectMatch: null,\n preScripts: [],\n providerLogins: {\n addic7ed: { user: '', pass: '' },\n legendastv: { user: '', pass: '' },\n opensubtitles: { user: '', pass: '' }\n },\n services: [],\n stopAtFirst: null,\n wantedLanguages: [],\n wikiUrl: ''\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'subtitles') {\n state = Object.assign(state, config);\n }\n }\n};\n\nconst getters = {};\n\nconst actions = {\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import { ADD_CONFIG, ADD_REMOTE_BRANCHES, ADD_SHOW_QUEUE_ITEM } from '../../mutation-types';\n/**\n * An object representing a scheduler.\n *\n * If a scheduler isn't initialized on the backend,\n * this object will only have the `key` and `name` properties.\n * @typedef {object} Scheduler\n * @property {string} key\n * A camelCase key representing this scheduler.\n * @property {string} name\n * The scheduler's name.\n * @property {boolean} [isAlive]\n * Is the scheduler alive?\n * @property {boolean|string} [isEnabled]\n * Is the scheduler enabled? For the `backlog` scheduler, the value might be `Paused`.\n * @property {boolean} [isActive]\n * Is the scheduler's action currently running?\n * @property {string|null} [startTime]\n * The time of day in which this scheduler runs (format: ISO-8601 time), or `null` if not applicable.\n * @property {number} [cycleTime]\n * The duration in milliseconds between each run, or `null` if not applicable.\n * @property {number} [nextRun]\n * The duration in milliseconds until the next run.\n * @property {string} [lastRun]\n * The date and time of the previous run (format: ISO-8601 date-time).\n * @property {boolean} [isSilent]\n * Is the scheduler silent?\n */\n\nconst state = {\n branch: null,\n memoryUsage: null,\n schedulers: [],\n showQueue: [],\n diskSpace: [],\n sslVersion: null,\n pythonVersion: null,\n pid: null,\n os: null,\n logDir: null,\n dbPath: null,\n configFile: null,\n databaseVersion: {\n major: null,\n minor: null\n },\n locale: null,\n timezone: null,\n localUser: null,\n programDir: null,\n dataDir: null,\n cacheDir: null,\n appArgs: [],\n webRoot: null,\n runsInDocker: null,\n newestVersionMessage: null,\n gitRemoteBranches: [],\n cpuPresets: null,\n news: {\n lastRead: null,\n latest: null,\n unread: null\n },\n ffprobeVersion: null\n};\n\nconst mutations = {\n [ADD_CONFIG](state, { section, config }) {\n if (section === 'system') {\n state = Object.assign(state, config);\n }\n },\n [ADD_REMOTE_BRANCHES](state, branches) {\n state.gitRemoteBranches = branches;\n }\n};\n\nconst getters = {\n getScheduler: state => {\n /**\n * Get a scheduler object using a key.\n *\n * @param {string} key The combined quality to split.\n * @returns {Scheduler|object} The scheduler object or an empty object if not found.\n */\n const _getScheduler = key => state.schedulers.find(scheduler => key === scheduler.key) || {};\n return _getScheduler;\n }\n};\n\nconst actions = {\n getGitRemoteBranches({ rootState, commit }) {\n return rootState.auth.client.apiRoute('home/branchForceUpdate')\n .then(response => {\n if (response.data && response.data.branches.length > 0) {\n commit(ADD_REMOTE_BRANCHES, response.data.branches);\n return response.data.branches;\n }\n });\n },\n getShowQueue({ rootState, commit }) {\n return rootState.auth.client.api.get('/config/system/showQueue').then(res => {\n const showQueue = res.data;\n const config = { showQueue };\n commit(ADD_CONFIG, { section: 'system', config });\n return showQueue;\n });\n },\n updateQueueItemShow({ commit }, queueItem) {\n // Update store's show queue item. (provided through websocket)\n return commit(ADD_SHOW_QUEUE_ITEM, queueItem);\n }\n\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import Vue from 'vue';\nimport { ADD_QUEUE_ITEM, SET_LAST_ITEM } from '../mutation-types';\n\nconst state = {\n queueitems: [],\n last: null\n};\n\nconst mutations = {\n [ADD_QUEUE_ITEM](state, queueItem) {\n const existingQueueItem = state.queueitems.find(item => item.identifier === queueItem.identifier);\n\n if (existingQueueItem) {\n Vue.set(state.queueitems, state.queueitems.indexOf(existingQueueItem), { ...existingQueueItem, ...queueItem });\n } else {\n Vue.set(state.queueitems, state.queueitems.length, queueItem);\n }\n },\n [SET_LAST_ITEM](state, queueItem) {\n state.last = queueItem;\n }\n};\n\nconst getters = {\n getQueueItemsByName: state => name => state.queueitems.filter(q => name.includes(q.name)),\n getQueueItemsByIdentifier: state => identifier => state.queueitems.filter(q => q.identifier === identifier)\n};\n\nconst actions = {\n updateQueueItem(context, queueItem) {\n // Update store's search queue item. (provided through websocket)\n const { commit } = context;\n commit(SET_LAST_ITEM, queueItem);\n return commit(ADD_QUEUE_ITEM, queueItem);\n }\n};\n\nexport default {\n state,\n mutations,\n getters,\n actions\n};\n","import Vue from 'vue';\nimport Vuex, { Store } from 'vuex';\nimport VueNativeSock from 'vue-native-websocket';\nimport {\n auth,\n config,\n defaults,\n history,\n notifications,\n provider,\n recommended,\n schedule,\n shows,\n socket,\n stats,\n queue\n} from './modules';\nimport {\n SOCKET_ONOPEN,\n SOCKET_ONCLOSE,\n SOCKET_ONERROR,\n SOCKET_ONMESSAGE,\n SOCKET_RECONNECT,\n SOCKET_RECONNECT_ERROR\n} from './mutation-types';\n\nVue.use(Vuex);\n\nconst store = new Store({\n modules: {\n auth,\n config,\n defaults,\n history,\n notifications,\n provider,\n recommended,\n schedule,\n shows,\n socket,\n stats,\n queue\n },\n state: {},\n mutations: {},\n getters: {},\n actions: {}\n});\n\n// Keep as a non-arrow function for `this` context.\nconst passToStoreHandler = function(eventName, event, next) {\n const target = eventName.toUpperCase();\n const eventData = event.data;\n\n if (target === 'SOCKET_ONMESSAGE') {\n const message = JSON.parse(eventData);\n const { data, event } = message;\n\n // Show the notification to the user\n if (event === 'notification') {\n const { body, hash, type, title } = data;\n window.displayNotification(type, title, body, hash);\n } else if (event === 'configUpdated') {\n const { section, config } = data;\n this.store.dispatch('updateConfig', { section, config });\n } else if (event === 'showUpdated' || event === 'showAdded') {\n this.store.dispatch('updateShow', data);\n } else if (event === 'showRemoved') {\n // We need this for the QueueItemChangeIndexer\n this.store.dispatch('removeShow', data);\n } else if (event === 'addManualSearchResult') {\n this.store.dispatch('addManualSearchResult', data);\n } else if (event === 'QueueItemUpdate') {\n this.store.dispatch('updateQueueItem', data);\n } else if (event === 'QueueItemShow') {\n // Used as a generic showqueue item. If you want to know the specific action (update, refresh, remove, etc.)\n // Use queueItem.name. Like queueItem.name === 'REFRESH'.\n if (data.name === 'REMOVE-SHOW') {\n this.store.dispatch('removeShow', data.show);\n } else {\n this.store.dispatch('updateShowQueueItem', data);\n }\n } else if (event === 'historyUpdate') {\n this.store.dispatch('updateHistory', data);\n } else {\n window.displayNotification('info', event, data);\n }\n }\n\n // Resume normal 'passToStore' handling\n next(eventName, event);\n};\n\nconst websocketUrl = (() => {\n const { protocol, host } = window.location;\n const proto = protocol === 'https:' ? 'wss:' : 'ws:';\n const WSMessageUrl = '/ui';\n let webRoot = document.body.getAttribute('web-root');\n if (webRoot) {\n if (!webRoot.startsWith('/')) {\n webRoot = `/${webRoot}`;\n }\n }\n return `${proto}//${host}${webRoot}/ws${WSMessageUrl}`;\n})();\n\nVue.use(VueNativeSock, websocketUrl, {\n store,\n format: 'json',\n reconnection: true, // (Boolean) whether to reconnect automatically (false)\n reconnectionAttempts: 2, // (Number) number of reconnection attempts before giving up (Infinity),\n reconnectionDelay: 1000, // (Number) how long to initially wait before attempting a new (1000)\n passToStoreHandler, // (Function|) Handler for events triggered by the WebSocket (false)\n mutations: {\n SOCKET_ONOPEN,\n SOCKET_ONCLOSE,\n SOCKET_ONERROR,\n SOCKET_ONMESSAGE,\n SOCKET_RECONNECT,\n SOCKET_RECONNECT_ERROR\n }\n});\n\nexport default store;\n","const AUTHENTICATE = '🔒 Authenticating';\nconst LOGIN_PENDING = '🔒 Logging in';\nconst LOGIN_SUCCESS = '🔒 ✅ Login Successful';\nconst LOGIN_FAILED = '🔒 ❌ Login Failed';\nconst LOGOUT = '🔒 Logout';\nconst REFRESH_TOKEN = '🔒 Refresh Token';\nconst REMOVE_AUTH_ERROR = '🔒 Remove Auth Error';\nconst SOCKET_ONOPEN = '🔗 ✅ WebSocket connected';\nconst SOCKET_ONCLOSE = '🔗 ❌ WebSocket disconnected';\nconst SOCKET_ONERROR = '🔗 ❌ WebSocket error';\nconst SOCKET_ONMESSAGE = '🔗 ✉️ 📥 WebSocket message received';\nconst SOCKET_RECONNECT = '🔗 🔃 WebSocket reconnecting';\nconst SOCKET_RECONNECT_ERROR = '🔗 🔃 ❌ WebSocket reconnection attempt failed';\nconst NOTIFICATIONS_ENABLED = '🔔 Notifications Enabled';\nconst NOTIFICATIONS_DISABLED = '🔔 Notifications Disabled';\nconst ADD_CONFIG = '⚙️ Config added to store';\nconst UPDATE_LAYOUT_LOCAL = '⚙️ Local layout updated in store';\nconst ADD_REMOTE_BRANCHES = '⚙️ Add git remote branches to store';\nconst ADD_SHOW = '📺 Show added to store';\nconst ADD_SHOW_CONFIG = '📺 Show config updated in store';\nconst ADD_SHOWS = '📺 Multiple Shows added to store in bulk';\nconst ADD_SHOW_EPISODE = '📺 Shows season with episodes added to store';\nconst ADD_STATS = 'ℹ️ Statistics added to store';\nconst ADD_RECOMMENDED_SHOW = '📺 Recommended Show added to store';\nconst SET_RECOMMENDED_SHOWS = '📺 Recommended Shows added to store';\nconst SET_RECOMMENDED_SHOWS_TRAKT_REMOVED = '📺 Recommended Show Trakt removed added to store';\nconst SET_RECOMMENDED_SHOWS_CATEGORIES = '📺 Recommended Show categories added to store';\nconst SET_STATS = 'SET_STATS';\nconst SET_MAX_DOWNLOAD_COUNT = 'SET_MAX_DOWNLOAD_COUNT';\nconst ADD_SHOW_SCENE_EXCEPTION = '📺 Add a scene exception';\nconst REMOVE_SHOW_SCENE_EXCEPTION = '📺 Remove a scene exception';\nconst REMOVE_SHOW_CONFIG_TEMPLATE = '📺 Remove a shows search template';\nconst ADD_HISTORY = '📺 History added to store';\nconst ADD_HISTORY_ROW = '📺 History row added to store';\nconst ADD_SHOW_CONFIG_TEMPLATE = '📺 Search template added to shows templates';\nconst ADD_SHOW_HISTORY = '📺 Show specific History added to store';\nconst ADD_SHOW_EPISODE_HISTORY = \"📺 Show's episode specific History added to store\";\nconst ADD_PROVIDER = '⛽ Provider added to store';\nconst ADD_PROVIDERS = '⛽ Provider list added to store';\nconst ADD_PROVIDER_CACHE = '⛽ Provider cache results added to store';\nconst ADD_SEARCH_RESULTS = '⛽ New search results added for provider';\nconst ADD_QUEUE_ITEM = '🔍 Search queue item updated';\nconst SET_LAST_ITEM = '🔍 Search queue item set for last item';\nconst ADD_SHOW_QUEUE_ITEM = '📺 Show queue item added to store';\nconst REMOVE_SHOW = '📺 Show removed from store';\nconst REMOVE_PROVIDER = '⛽ Provider removed';\nconst UPDATE_SHOWLIST_DEFAULT = '⚙️ Anime config showlist default updated';\nconst ADD_SCHEDULE = '📅 Schedule information added';\n\nexport {\n AUTHENTICATE,\n LOGIN_PENDING,\n LOGIN_SUCCESS,\n LOGIN_FAILED,\n LOGOUT,\n REFRESH_TOKEN,\n REMOVE_AUTH_ERROR,\n SOCKET_ONOPEN,\n SOCKET_ONCLOSE,\n SOCKET_ONERROR,\n SOCKET_ONMESSAGE,\n SOCKET_RECONNECT,\n SOCKET_RECONNECT_ERROR,\n NOTIFICATIONS_ENABLED,\n NOTIFICATIONS_DISABLED,\n ADD_CONFIG,\n UPDATE_LAYOUT_LOCAL,\n ADD_HISTORY,\n ADD_HISTORY_ROW,\n ADD_SHOW,\n ADD_STATS,\n ADD_SHOW_CONFIG,\n ADD_RECOMMENDED_SHOW,\n SET_RECOMMENDED_SHOWS,\n SET_RECOMMENDED_SHOWS_TRAKT_REMOVED,\n SET_RECOMMENDED_SHOWS_CATEGORIES,\n ADD_SHOWS,\n ADD_SHOW_EPISODE,\n ADD_REMOTE_BRANCHES,\n SET_STATS,\n SET_MAX_DOWNLOAD_COUNT,\n ADD_SHOW_SCENE_EXCEPTION,\n REMOVE_SHOW_SCENE_EXCEPTION,\n REMOVE_SHOW_CONFIG_TEMPLATE,\n ADD_SHOW_HISTORY,\n ADD_SHOW_EPISODE_HISTORY,\n ADD_PROVIDER,\n ADD_PROVIDERS,\n ADD_PROVIDER_CACHE,\n ADD_SEARCH_RESULTS,\n ADD_QUEUE_ITEM,\n SET_LAST_ITEM,\n ADD_SHOW_QUEUE_ITEM,\n REMOVE_SHOW,\n REMOVE_PROVIDER,\n UPDATE_SHOWLIST_DEFAULT,\n ADD_SHOW_CONFIG_TEMPLATE,\n ADD_SCHEDULE\n};\n","export const isDevelopment = process.env.NODE_ENV === 'development';\n\n/**\n * Calculate the combined value of the selected qualities.\n * @param {number[]} allowedQualities - Array of allowed qualities.\n * @param {number[]} [preferredQualities=[]] - Array of preferred qualities.\n * @returns {number} An unsigned integer.\n */\nexport const combineQualities = (allowedQualities, preferredQualities = []) => {\n const reducer = (accumulator, currentValue) => accumulator | currentValue;\n const allowed = allowedQualities.reduce((a, c) => reducer(a, c), 0);\n const preferred = preferredQualities.reduce((a, c) => reducer(a, c), 0);\n\n return (allowed | (preferred << 16)) >>> 0; // Unsigned int\n};\n\n/**\n * Return a human readable representation of the provided size.\n * @param {number} bytes - The size in bytes to convert\n * @param {boolean} [useDecimal=false] - Use decimal instead of binary prefixes (e.g. kilo = 1000 instead of 1024)\n * @returns {string} The converted size.\n */\nexport const humanFileSize = (bytes, useDecimal = false) => {\n if (!bytes) {\n bytes = 0;\n }\n\n bytes = Math.max(bytes, 0);\n\n const thresh = useDecimal ? 1000 : 1024;\n if (Math.abs(bytes) < thresh) {\n return bytes.toFixed(2) + ' B';\n }\n const units = ['KB', 'MB', 'GB', 'TB', 'PB'];\n let u = -1;\n do {\n bytes /= thresh;\n ++u;\n } while (Math.abs(bytes) >= thresh && u < units.length - 1);\n\n return `${bytes.toFixed(2)} ${units[u]}`;\n};\n\n// Maps Python date/time tokens to date-fns tokens\n// Python: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior\n// date-fns: https://date-fns.org/v2.0.0-alpha.27/docs/format\nconst datePresetMap = {\n '%a': 'ccc', // Weekday name, short\n '%A': 'cccc', // Weekday name, full\n '%w': 'c', // Weekday number\n '%d': 'dd', // Day of the month, zero-padded\n '%b': 'LLL', // Month name, short\n '%B': 'LLLL', // Month name, full\n '%m': 'MM', // Month number, zero-padded\n '%y': 'yy', // Year without century, zero-padded\n '%Y': 'yyyy', // Year with century\n '%H': 'HH', // Hour (24-hour clock), zero-padded\n '%I': 'hh', // Hour (12-hour clock), zero-padded\n '%p': 'a', // AM / PM\n '%M': 'mm', // Minute, zero-padded\n '%S': 'ss', // Second, zero-padded\n '%f': 'SSSSSS', // Microsecond, zero-padded\n '%z': 'xx', // UTC offset in the form +HHMM or -HHMM\n // '%Z': '', // [UNSUPPORTED] Time zone name\n '%j': 'DDD', // Day of the year, zero-padded\n '%U': 'II', // Week number of the year (Sunday as the first day of the week), zero padded\n '%W': 'ww', // Week number of the year (Monday as the first day of the week)\n '%c': 'Pp', // Locale's appropriate date and time representation\n '%x': 'P', // Locale's appropriate date representation\n '%X': 'p', // Locale's appropriate time representation\n '%%': '%' // Literal '%' character\n};\n\n/**\n * Convert a Python date format to a DateFns compatible date format.\n * Automatically escapes non-token characters.\n * @param {string} format - The Python date format.\n * @returns {string} The new format.\n */\nexport const convertDateFormat = format => {\n let newFormat = '';\n let index = 0;\n let escaping = false;\n while (index < format.length) {\n const chr = format.charAt(index);\n // Escape single quotes\n if (chr === \"'\") {\n newFormat += chr + chr;\n } else if (chr === '%') {\n if (escaping) {\n escaping = false;\n newFormat += \"'\";\n }\n\n ++index;\n if (index === format.length) {\n throw new Error(`Single % at end of format string: ${format}`);\n }\n const chr2 = format.charAt(index);\n const tokenKey = chr + chr2;\n const token = datePresetMap[tokenKey];\n if (token === undefined) {\n throw new Error(`Unrecognized token \"${tokenKey}\" in format string: ${format}`);\n }\n newFormat += token;\n // Only letters need to escaped\n } else if (/[^a-z]/i.test(chr)) {\n if (escaping) {\n escaping = false;\n newFormat += \"'\";\n }\n newFormat += chr;\n // Escape anything else\n } else {\n if (!escaping) {\n escaping = true;\n newFormat += \"'\";\n }\n newFormat += chr;\n }\n\n ++index;\n\n if (index === format.length && escaping) {\n newFormat += \"'\";\n }\n }\n return newFormat;\n};\n\n/**\n * Create an array with unique strings\n * @param {string[]} array - array with strings\n * @returns {string[]} array with unique strings\n */\nexport const arrayUnique = array => {\n return array.reduce((result, item) => {\n return result.includes(item) ? result : result.concat(item);\n }, []);\n};\n\n/**\n * Exclude strings out of the array `exclude` compared to the strings in the array baseArray.\n * @param {string[]} baseArray - array of strings\n * @param {string[]} exclude - array of strings which we want to exclude in baseArray\n * @returns {string[]} reduced array\n */\nexport const arrayExclude = (baseArray, exclude) => {\n return baseArray.filter(item => !exclude.includes(item));\n};\n\n/**\n * A simple wait function.\n * @param {number} ms - Time to wait.\n * @returns {Promise} Resolves when done waiting.\n */\nexport const wait = /* istanbul ignore next */ ms => new Promise(resolve => setTimeout(resolve, ms));\n\n/**\n * Returns when `check` evaluates as truthy.\n * @param {function} check - Function to evaluate every poll interval.\n * @param {number} [poll=100] - Interval to check, in milliseconds.\n * @param {number} [timeout=3000] - Timeout to stop waiting after, in milliseconds.\n * @returns {Promise} The approximate amount of time waited, in milliseconds.\n * @throws Will throw an error when the timeout has been exceeded.\n */\nexport const waitFor = /* istanbul ignore next */ async (check, poll = 100, timeout = 3000) => {\n let ms = 0;\n while (!check()) {\n await wait(poll); // eslint-disable-line no-await-in-loop\n ms += poll;\n if (ms > timeout) {\n throw new Error(`waitFor timed out (${timeout}ms)`);\n }\n }\n return ms;\n};\n\n/**\n * Transform a season and episode number to an episode slug.\n * If the episode number is not provided, return a season slug.\n * @param {number} season - Season number.\n * @param {number} episode - Episode number.\n * @returns {string} Episode or Season slug.\n */\nexport const episodeToSlug = (season, episode) => {\n if (episode) {\n return `s${season.toString().padStart(2, '0')}e${episode.toString().padStart(2, '0')}`;\n }\n return `s${season.toString().padStart(2, '0')}`;\n};\n\n/**\n * Transform a showSlug to separate indexer and showId.\n * @param {string} showSlug - Show slug.\n * @returns {object} Object with attributes indexer and showId.\n */\nexport const showSlugToId = showSlug => {\n const show = { indexer: undefined, showId: undefined };\n if (showSlug === undefined) {\n return show;\n }\n\n const match = showSlug.toLowerCase().match(/([a-z]+)(\\d+)/);\n show.indexer = match[1];\n show.showId = match[2];\n return show;\n};\n\n/**\n * Force reload.\n * Force a reload of the page and ignore local cache.\n * window.location.reload(true) doesn't seem to work on chrome. But the self assign does.\n*/\nexport const forceBrowserReload = () => {\n if (Boolean(window.chrome) && Boolean(window.chrome.webstore)) {\n window.location.href = window.location.href; // eslint-disable-line no-self-assign\n } else {\n window.location.reload(true);\n }\n};\n\n/**\n * Divmod\n *\n * Calculate a divider and mod.\n * @param {number} seconds - Number of seconds to divmod.\n * @param {number} div - Divider and modulus.\n * @returns {object} - And object with keys quotient and remainder.\n */\nexport const divmod = (seconds, div) => {\n const quotient = Math.floor(seconds / div);\n const remainder = seconds % div;\n return { quotient, remainder };\n};\n","/**\n * Attach a jquery qtip to elements with the .imdbstars class.\n */\nexport const attachImdbTooltip = () => {\n $('.imdbstars').qtip({\n content: {\n text() {\n // Retrieve content from custom attribute of the $('.selector') elements.\n return $(this).attr('qtip-content');\n }\n },\n show: {\n solo: true\n },\n position: {\n my: 'right center',\n at: 'center left',\n adjust: {\n y: 0,\n x: -6\n }\n },\n style: {\n tip: {\n corner: true,\n method: 'polygon'\n },\n classes: 'qtip-rounded qtip-shadow ui-tooltip-sb'\n }\n });\n};\n\n/**\n * Attach a default qtip to elements with the addQTip class.\n */\nexport const addQTip = () => {\n $('.addQTip').each((_, element) => {\n $(element).css({\n cursor: 'help',\n 'text-shadow': '0px 0px 0.5px #666'\n });\n\n const my = $(element).data('qtip-my') || 'left center';\n const at = $(element).data('qtip-at') || 'middle right';\n\n $(element).qtip({\n show: {\n solo: true\n },\n position: {\n my,\n at\n },\n style: {\n tip: {\n corner: true,\n method: 'polygon'\n },\n classes: 'qtip-rounded qtip-shadow ui-tooltip-sb'\n }\n });\n });\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".vgt-table-styling .vgt-table{width:100%;margin-right:auto;margin-left:auto;text-align:left;border-spacing:0}.vgt-table-styling .vgt-table th,.vgt-table-styling .vgt-table td{padding:4px;vertical-align:middle}.vgt-table-styling .vgt-table th:first-child,.vgt-table-styling .vgt-table td:first-child{border-left:none}.vgt-table-styling .vgt-table th{text-align:center;border-collapse:collapse;font-weight:normal;position:relative}.vgt-table-styling .vgt-table span.break-word{word-wrap:break-word}.vgt-table-styling .vgt-table thead th.sorting.sorting-asc{background-position-x:right;background-position-y:bottom}.vgt-table-styling .vgt-table thead th.sorting{background-repeat:no-repeat}.vgt-table-styling .vgt-table thead th.sorting.sorting-desc{background-color:#555;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \")}.vgt-table-styling .vgt-table thead th.sorting.sorting-asc{background-color:#555;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-position-x:right;background-position-y:bottom}.vgt-table-styling .vgt-table th.sortable button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;position:absolute;top:0;left:0;width:100%;height:100%}.vgt-table-styling .vgt-table thead th{padding:4px;cursor:default}.vgt-table-styling .vgt-table input.tablesorter-filter{width:98%;height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.vgt-table-styling .vgt-table tr.tablesorter-filter-row,.vgt-table-styling .vgt-table tr.tablesorter-filter-row td{text-align:center}.vgt-table-styling .vgt-table input.tablesorter-filter-row .disabled{display:none}.vgt-table-styling .vgt-table tfoot tr{text-align:center;border-collapse:collapse}.vgt-table-styling .vgt-table tfoot a{text-decoration:none}.vgt-table-styling .vgt-table th.vgt-row-header{text-align:left}.vgt-table-styling .vgt-table .season-header{display:inline;margin-left:5px}.vgt-table-styling .vgt-table tr.spacer{height:25px}.vgt-table-styling .vgt-table tr:hover{opacity:.9}.vgt-table-styling .vgt-table tr.status td>span{color:#000}.vgt-table-styling .vgt-table span.episode-title>a{text-decoration:none}.vgt-table-styling .vgt-table span.episode-title>a:hover,.vgt-table-styling .vgt-table span.episode-title>a:focus{text-decoration:underline}.vgt-table-styling .vgt-table .skipped{background-color:#bedeed}.vgt-table-styling .vgt-table .snatched{background-color:#ebc1ea}.vgt-table-styling .vgt-table .downloaded{background-color:#ffda8a}.vgt-table-styling .vgt-table .failed{background-color:#f99}.vgt-table-styling .vgt-table .subtitled{background-color:#bedeed}.vgt-table-styling .vgt-table .archived{background-color:#f5f1e4}.vgt-table-styling .tablesorter-header-inner{padding:0 2px;text-align:center}.vgt-table-styling .vgt-dropdown>.button-group{position:relative}.vgt-table-styling .dropdown-toggle{position:absolute;z-index:1;top:.1em;right:.1em;width:1em;transition:width .2s ease-in-out}.vgt-table-styling .dropdown-toggle:hover,.vgt-table-styling .dropdown-toggle:active{width:2em}.vgt-table-styling .vgt-dropdown-menu{position:absolute;z-index:1;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-clip:padding-box;border-radius:3px;right:0;top:2em}.vgt-table-styling .vgt-dropdown-menu>li>span{display:block;padding:3px 5px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap}.vgt-table-styling .align-center{display:flex;justify-content:center}.vgt-table-styling .span-center>span{display:flex;justify-content:center}.vgt-table-styling .indexer-image :not(:last-child){margin-right:5px}.vgt-table-styling .button-row{width:100%;display:inline-block}.vgt-table-styling .global-ignored td.release span{color:red}.vgt-table-styling .show-ignored td.release span{color:red;font-style:italic}.vgt-table-styling .global-required td.release span{color:green}.vgt-table-styling .show-required td.release span{color:green;font-style:italic}.vgt-table-styling .global-undesired td.release span{color:orange}.vgt-table-styling td.col-footer{text-align:left !important}.vgt-table-styling .vgt-wrap__footer{color:#fff;padding:1em;background-color:#333;margin-bottom:1em;display:flex;justify-content:space-between}.vgt-table-styling .footer__row-count,.vgt-table-styling .footer__navigation__page-info{display:inline}.vgt-table-styling .footer__row-count__label{margin-right:1em}.vgt-table-styling .vgt-wrap__footer .footer__navigation{font-size:14px}.vgt-table-styling .vgt-pull-right{float:right !important}.vgt-table-styling .footer__navigation__page-btn{display:inline-block;padding:4px 10px;margin-bottom:0;font-size:12px;line-height:16px;vertical-align:middle;border-radius:1px}.vgt-table-styling .footer__navigation__page-btn:hover{text-decoration:none;background-position:0 -150px;transition:background-position 0s linear;background-image:none}.vgt-table-styling .footer__navigation__page-btn.disabled{display:none}.vgt-table-styling .vgt-wrap__footer .footer__navigation__page-btn .chevron{width:24px;height:24px;border-radius:15%;position:relative;margin:0 8px}.vgt-table-styling .vgt-wrap__footer .footer__navigation__info,.vgt-table-styling .vgt-wrap__footer .footer__navigation__page-info{display:inline-flex;color:#909399;margin:0 16px;margin-top:0;margin-right:16px;margin-bottom:0;margin-left:16px}.vgt-table-styling .vgt-input{height:23px;line-height:23px;font-size:.9em;width:100%;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;padding:0 10px;margin:0}.vgt-table-styling .vgt-select{height:23px;line-height:23px;font-size:.9em;width:100%;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;padding:0 10px}.vgt-table-styling .schedule tr.today{background-color:#f5f1e4}.vgt-table-styling .schedule tr.soon{background-color:#dfd}.vgt-table-styling .schedule tr.missed{background-color:#fdd}.vgt-table-styling .schedule tr.later{background-color:#bedeed}.vgt-table-styling .schedule tr,.vgt-table-styling .schedule tr a{color:#000}.tooltip-wrapper{float:left;min-width:340px}.invalid{background-color:#ff5b5b}.tooltip{display:block !important;z-index:10000}.tooltip .tooltip-inner{background:#ffef93;color:#555;border-radius:16px;padding:5px 10px 4px;border:1px solid #f1d031;-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.tooltip .tooltip-arrow{width:0;height:0;position:absolute;margin:5px;border:1px solid #ffef93;z-index:1}.tooltip[x-placement^=top]{margin-bottom:5px}.tooltip[x-placement^=top] .tooltip-arrow{border-width:5px 5px 0 5px;border-left-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important;bottom:-5px;left:calc(50% - 4px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=bottom]{margin-top:5px}.tooltip[x-placement^=bottom] .tooltip-arrow{border-width:0 5px 5px 5px;border-left-color:transparent !important;border-right-color:transparent !important;border-top-color:transparent !important;top:-5px;left:calc(50% - 4px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=right]{margin-left:5px}.tooltip[x-placement^=right] .tooltip-arrow{border-width:5px 5px 5px 0;border-left-color:transparent !important;border-top-color:transparent !important;border-bottom-color:transparent !important;left:-4px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip[x-placement^=left]{margin-right:5px}.tooltip[x-placement^=left] .tooltip-arrow{border-width:5px 0 5px 5px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important;right:-4px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover .popover-inner{background:#ffef93;color:#555;padding:24px;border-radius:5px;box-shadow:0 5px 30px rgba(0,0,0,.1)}.tooltip.popover .popover-arrow{border-color:#ffef93}.tooltip[aria-hidden=true]{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.modal-container{border:1px solid #111;box-shadow:0 0 12px 0 rgba(0,0,0,.175);border-radius:0}.modal-header{padding:9px 15px;border-bottom:none;border-radius:0;background-color:#373737}.modal-content{background:#222;border-radius:0;border:1px solid rgba(0,0,0,.2);box-shadow:0 5px 15px rgba(0,0,0,.5);color:#fff}.modal-body{background:#222;overflow-y:auto}.modal-footer{border-top:none;text-align:center}.vue-tags-input{width:273px;border:1px solid #ccc;border-radius:3px}.vue-tags-input .ti-tag{display:inline-flex;width:100%}.vue-tags-input .ti-input{border:none}.vue-tags-input .country-left{margin-right:5px}svg.back-arrow{color:#337ab7;width:20px;height:20px;float:left;margin-right:1em;cursor:pointer}svg.back-arrow:hover,svg.back-arrow:focus{color:#23527c;transform:translateX(-2px);transition:transform ease-in-out .2s}#app{padding-top:4rem}@media(max-width: 768px){#app{padding-top:6rem}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/style/vgt-table.scss\",\"webpack://./src/style/v-tooltip.scss\",\"webpack://./src/style/modal.scss\",\"webpack://./src/style/vue-tags.scss\",\"webpack://./src/style/back-arrow.scss\",\"webpack://./src/components/app.vue\"],\"names\":[],\"mappings\":\"AAEI,8BACI,UAAA,CACA,iBAAA,CACA,gBAAA,CACA,eAAA,CACA,gBAAA,CAEA,kEAEI,WAAA,CACA,qBAAA,CAIJ,0FAEI,gBAAA,CAGJ,iCACI,iBAAA,CACA,wBAAA,CACA,kBAAA,CACA,iBAAA,CAGJ,8CACI,oBAAA,CAGJ,2DACI,2BAAA,CACA,4BAAA,CAGJ,+CACI,2BAAA,CAGJ,4DACI,qBAAA,CACA,wDAAA,CAGJ,2DACI,qBAAA,CACA,wDAAA,CACA,2BAAA,CACA,4BAAA,CAGJ,iDACI,uBAAA,CACA,oBAAA,CACA,eAAA,CACA,sBAAA,CACA,WAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CAGJ,uCACI,WAAA,CACA,cAAA,CAGJ,uDACI,SAAA,CACA,WAAA,CACA,6BAAA,CACA,0BAAA,CACA,qBAAA,CAGJ,mHAEI,iBAAA,CAIJ,qEACI,YAAA,CAGJ,uCACI,iBAAA,CACA,wBAAA,CAGJ,sCACI,oBAAA,CAGJ,gDACI,eAAA,CAGJ,6CACI,cAAA,CACA,eAAA,CAGJ,wCACI,WAAA,CAGJ,uCACI,UAAA,CAMJ,gDACI,UAAA,CAGJ,mDACI,oBAAA,CAEA,kHAEI,yBAAA,CAIR,uCACI,wBAAA,CAGJ,wCACI,wBAAA,CAGJ,0CACI,wBAAA,CAGJ,sCACI,qBAAA,CAGJ,yCACI,wBAAA,CAGJ,wCACI,wBAAA,CAIR,6CACI,aAAA,CACA,iBAAA,CAGJ,+CACI,iBAAA,CAGJ,oCACI,iBAAA,CACA,SAAA,CACA,QAAA,CACA,UAAA,CACA,SAAA,CACA,gCAAA,CAEA,qFAEI,SAAA,CAIR,sCACI,iBAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CACA,aAAA,CACA,cAAA,CACA,cAAA,CACA,eAAA,CACA,eAAA,CACA,2BAAA,CACA,iBAAA,CACA,OAAA,CACA,OAAA,CAEA,8CACI,aAAA,CACA,eAAA,CACA,UAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA,CAKR,iCACI,YAAA,CACA,sBAAA,CAGJ,qCACI,YAAA,CACA,sBAAA,CAGJ,oDACI,gBAAA,CAGJ,+BACI,UAAA,CACA,oBAAA,CAGJ,mDACI,SAAA,CAGJ,iDACI,SAAA,CACA,iBAAA,CAGJ,oDACI,WAAA,CAGJ,kDACI,WAAA,CACA,iBAAA,CAGJ,qDACI,YAAA,CAGJ,iCACI,0BAAA,CAGJ,qCACI,UAAA,CACA,WAAA,CACA,qBAAA,CACA,iBAAA,CACA,YAAA,CACA,6BAAA,CAGJ,wFAEI,cAAA,CAGJ,6CACI,gBAAA,CAGJ,yDACI,cAAA,CAGJ,mCACI,sBAAA,CAGJ,iDACI,oBAAA,CACA,gBAAA,CACA,eAAA,CACA,cAAA,CACA,gBAAA,CACA,qBAAA,CACA,iBAAA,CAGJ,uDACI,oBAAA,CACA,4BAAA,CACA,wCAAA,CACA,qBAAA,CAGJ,0DACI,YAAA,CAGJ,4EACI,UAAA,CACA,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,YAAA,CAGJ,mIAEI,mBAAA,CACA,aAAA,CACA,aAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CAGJ,8BACI,WAAA,CACA,gBAAA,CACA,cAAA,CACA,UAAA,CACA,qBAAA,CACA,qBAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,QAAA,CAGJ,+BACI,WAAA,CACA,gBAAA,CACA,cAAA,CACA,UAAA,CACA,qBAAA,CACA,qBAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CAIJ,sCACI,wBAAA,CAGJ,qCACI,qBAAA,CAGJ,uCACI,qBAAA,CAGJ,sCACI,wBAAA,CAGJ,kEAEI,UAAA,CCnWR,iBACI,UAAA,CACA,eAAA,CAGJ,SACI,wBARW,CAWf,SACI,wBAAA,CACA,aAAA,CAEA,wBACI,kBAlBO,CAmBP,UAAA,CACA,kBAAA,CACA,oBAAA,CACA,wBAAA,CACA,kDAAA,CACA,+CAAA,CACA,0CAAA,CAGJ,wBACI,OAAA,CACA,QAAA,CACA,iBAAA,CACA,UAAA,CACA,wBAAA,CACA,SAAA,CAKR,2BACI,iBAAA,CACA,0CACI,0BAAA,CACA,wCAAA,CACA,yCAAA,CACA,0CAAA,CACA,WAAA,CACA,oBAAA,CACA,YAAA,CACA,eAAA,CAIR,8BACI,cAAA,CACA,6CACI,0BAAA,CACA,wCAAA,CACA,yCAAA,CACA,uCAAA,CACA,QAAA,CACA,oBAAA,CACA,YAAA,CACA,eAAA,CAIR,6BACI,eAAA,CACA,4CACI,0BAAA,CACA,wCAAA,CACA,uCAAA,CACA,0CAAA,CACA,SAAA,CACA,mBAAA,CACA,aAAA,CACA,cAAA,CAIR,4BACI,gBAAA,CACA,2CACI,0BAAA,CACA,uCAAA,CACA,yCAAA,CACA,0CAAA,CACA,UAAA,CACA,mBAAA,CACA,aAAA,CACA,cAAA,CAKJ,gCACI,kBAjGO,CAkGP,UAAA,CACA,YAAA,CACA,iBAAA,CACA,oCAAA,CAGJ,gCACI,oBAzGO,CA6Gf,2BACI,iBAAA,CACA,SAAA,CACA,uCAAA,CAGJ,4BACI,kBAAA,CACA,SAAA,CACA,uBAAA,CCtHJ,iBACI,qBAAA,CACA,sCAAA,CACA,eAAA,CAGJ,cACI,gBAAA,CACA,kBAAA,CACA,eAAA,CACA,wBAAA,CAGJ,eACI,eAAA,CACA,eAAA,CACA,+BAAA,CACA,oCAAA,CACA,UAAA,CAGJ,YACI,eAAA,CACA,eAAA,CAGJ,cACI,eAAA,CACA,iBAAA,CC7BJ,gBACI,WAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wBACI,mBAAA,CACA,UAAA,CAGJ,0BACI,WAAA,CAGJ,8BACI,gBAAA,CCfR,eACI,aAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,gBAAA,CACA,cAAA,CAGJ,0CAEI,aAAA,CACA,0BAAA,CACA,oCAAA,CC8DJ,KACI,gBAAA,CAGJ,yBACI,KACI,gBAAA,CAAA\",\"sourcesContent\":[\"/** Use this as table styling for all table layouts */\\n.vgt-table-styling {\\n .vgt-table {\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n text-align: left;\\n border-spacing: 0;\\n \\n th,\\n td {\\n padding: 4px;\\n vertical-align: middle;\\n }\\n\\n /* remove extra border from left edge */\\n th:first-child,\\n td:first-child {\\n border-left: none;\\n }\\n\\n th {\\n text-align: center;\\n border-collapse: collapse;\\n font-weight: normal;\\n position: relative;\\n }\\n\\n span.break-word {\\n word-wrap: break-word;\\n }\\n\\n thead th.sorting.sorting-asc {\\n background-position-x: right;\\n background-position-y: bottom;\\n }\\n\\n thead th.sorting {\\n background-repeat: no-repeat;\\n }\\n\\n thead th.sorting.sorting-desc {\\n background-color: rgb(85, 85, 85);\\n background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);\\n }\\n\\n thead th.sorting.sorting-asc {\\n background-color: rgb(85, 85, 85);\\n background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);\\n background-position-x: right;\\n background-position-y: bottom;\\n }\\n\\n th.sortable button {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n background: transparent;\\n border: none;\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n }\\n\\n thead th {\\n padding: 4px;\\n cursor: default;\\n }\\n\\n input.tablesorter-filter {\\n width: 98%;\\n height: auto;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n }\\n\\n tr.tablesorter-filter-row,\\n tr.tablesorter-filter-row td {\\n text-align: center;\\n }\\n\\n /* optional disabled input styling */\\n input.tablesorter-filter-row .disabled {\\n display: none;\\n }\\n\\n tfoot tr {\\n text-align: center;\\n border-collapse: collapse;\\n }\\n\\n tfoot a {\\n text-decoration: none;\\n }\\n\\n th.vgt-row-header {\\n text-align: left;\\n }\\n\\n .season-header {\\n display: inline;\\n margin-left: 5px;\\n }\\n\\n tr.spacer {\\n height: 25px;\\n }\\n\\n tr:hover {\\n opacity: 0.9;\\n }\\n\\n /* When using collored rows (using the episode status name, Snatched, Downloaded, Failed, etc.)\\n * we'd like to have the text always black.\\n */\\n tr.status td > span {\\n color: rgb(0, 0, 0);\\n }\\n\\n span.episode-title > a {\\n text-decoration: none;\\n \\n &:hover,\\n &:focus {\\n text-decoration: underline;\\n }\\n }\\n\\n .skipped {\\n background-color: rgb(190, 222, 237);\\n }\\n \\n .snatched {\\n background-color: rgb(235, 193, 234);\\n }\\n \\n .downloaded {\\n background-color: rgb(255, 218, 138);\\n }\\n \\n .failed {\\n background-color: rgb(255, 153, 153);\\n }\\n \\n .subtitled {\\n background-color: rgb(190, 222, 237);\\n }\\n\\n .archived {\\n background-color: rgb(245, 241, 228);\\n }\\n } \\n\\n .tablesorter-header-inner {\\n padding: 0 2px;\\n text-align: center;\\n }\\n\\n .vgt-dropdown > .button-group {\\n position: relative;\\n }\\n\\n .dropdown-toggle {\\n position: absolute;\\n z-index: 1;\\n top: 0.1em;\\n right: 0.1em;\\n width: 1em;\\n transition: width 0.2s ease-in-out;\\n\\n &:hover,\\n &:active {\\n width: 2em;\\n }\\n }\\n\\n .vgt-dropdown-menu {\\n position: absolute;\\n z-index: 1;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-clip: padding-box;\\n border-radius: 3px;\\n right: 0;\\n top: 2em;\\n\\n > li > span {\\n display: block;\\n padding: 3px 5px;\\n clear: both;\\n font-weight: 400;\\n line-height: 1.42857143;\\n white-space: nowrap;\\n }\\n \\n }\\n\\n .align-center {\\n display: flex;\\n justify-content: center;\\n }\\n\\n .span-center > span {\\n display: flex;\\n justify-content: center;\\n }\\n\\n .indexer-image :not(:last-child) {\\n margin-right: 5px;\\n }\\n\\n .button-row {\\n width: 100%;\\n display: inline-block;\\n }\\n\\n .global-ignored td.release span {\\n color: red;\\n }\\n\\n .show-ignored td.release span {\\n color: red;\\n font-style: italic;\\n }\\n\\n .global-required td.release span {\\n color: green;\\n }\\n\\n .show-required td.release span {\\n color: green;\\n font-style: italic;\\n }\\n\\n .global-undesired td.release span {\\n color: orange;\\n }\\n\\n td.col-footer {\\n text-align: left !important;\\n }\\n\\n .vgt-wrap__footer {\\n color: rgb(255, 255, 255);\\n padding: 1em;\\n background-color: rgb(51, 51, 51);\\n margin-bottom: 1em;\\n display: flex;\\n justify-content: space-between;\\n }\\n\\n .footer__row-count,\\n .footer__navigation__page-info {\\n display: inline;\\n }\\n\\n .footer__row-count__label {\\n margin-right: 1em;\\n }\\n\\n .vgt-wrap__footer .footer__navigation {\\n font-size: 14px;\\n }\\n\\n .vgt-pull-right {\\n float: right !important;\\n }\\n\\n .footer__navigation__page-btn {\\n display: inline-block;\\n padding: 4px 10px;\\n margin-bottom: 0;\\n font-size: 12px;\\n line-height: 16px;\\n vertical-align: middle;\\n border-radius: 1px;\\n }\\n\\n .footer__navigation__page-btn:hover {\\n text-decoration: none;\\n background-position: 0 -150px;\\n transition: background-position 0s linear;\\n background-image: none;\\n }\\n\\n .footer__navigation__page-btn.disabled {\\n display: none;\\n }\\n\\n .vgt-wrap__footer .footer__navigation__page-btn .chevron {\\n width: 24px;\\n height: 24px;\\n border-radius: 15%;\\n position: relative;\\n margin: 0 8px;\\n }\\n\\n .vgt-wrap__footer .footer__navigation__info,\\n .vgt-wrap__footer .footer__navigation__page-info {\\n display: inline-flex;\\n color: #909399;\\n margin: 0 16px;\\n margin-top: 0;\\n margin-right: 16px;\\n margin-bottom: 0;\\n margin-left: 16px;\\n }\\n\\n .vgt-input {\\n height: 23px;\\n line-height: 23px;\\n font-size: 0.9em;\\n width: 100%;\\n background-color: #fff;\\n background-image: none;\\n border: 1px solid #ccc;\\n border-radius: 3px;\\n padding: 0 10px;\\n margin: 0;\\n }\\n \\n .vgt-select {\\n height: 23px;\\n line-height: 23px;\\n font-size: 0.9em;\\n width: 100%;\\n background-color: #fff;\\n background-image: none;\\n border: 1px solid #ccc;\\n border-radius: 3px;\\n padding: 0 10px;\\n }\\n\\n /* Schedule list layout */\\n .schedule tr.today {\\n background-color: rgb(245, 241, 228);\\n }\\n\\n .schedule tr.soon {\\n background-color: rgb(221, 255, 221);\\n }\\n\\n .schedule tr.missed {\\n background-color: rgb(255, 221, 221);\\n }\\n\\n .schedule tr.later {\\n background-color: rgb(190, 222, 237);\\n }\\n\\n .schedule tr,\\n .schedule tr a {\\n color: rgb(0, 0, 0);\\n }\\n}\",\"// variables\\n$tooltipColor: #ffef93;\\n$tooltipBorderColor: #f1d031;\\n$invalidColor: #ff5b5b;\\n\\n.tooltip-wrapper {\\n float: left;\\n min-width: 340px;\\n}\\n\\n.invalid {\\n background-color: $invalidColor;\\n}\\n\\n.tooltip {\\n display: block !important;\\n z-index: 10000;\\n\\n .tooltip-inner {\\n background: $tooltipColor;\\n color: #555;\\n border-radius: 16px;\\n padding: 5px 10px 4px;\\n border: 1px solid $tooltipBorderColor;\\n -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n }\\n\\n .tooltip-arrow {\\n width: 0;\\n height: 0;\\n position: absolute;\\n margin: 5px;\\n border: 1px solid $tooltipColor;\\n z-index: 1;\\n }\\n\\n}\\n\\n.tooltip[x-placement^='top'] {\\n margin-bottom: 5px;\\n .tooltip-arrow {\\n border-width: 5px 5px 0 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n bottom: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n }\\n}\\n\\n.tooltip[x-placement^='bottom'] {\\n margin-top: 5px;\\n .tooltip-arrow {\\n border-width: 0 5px 5px 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-top-color: transparent !important;\\n top: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n }\\n}\\n\\n.tooltip[x-placement^='right'] {\\n margin-left: 5px;\\n .tooltip-arrow {\\n border-width: 5px 5px 5px 0;\\n border-left-color: transparent !important;\\n border-top-color: transparent !important;\\n border-bottom-color: transparent !important;\\n left: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n }\\n}\\n\\n.tooltip[x-placement^='left'] {\\n margin-right: 5px;\\n .tooltip-arrow {\\n border-width: 5px 0 5px 5px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n right: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n }\\n}\\n\\n.tooltip.popover {\\n .popover-inner {\\n background: $tooltipColor;\\n color: #555;\\n padding: 24px;\\n border-radius: 5px;\\n box-shadow: 0 5px 30px rgba(black, 0.1);\\n }\\n\\n .popover-arrow {\\n border-color: $tooltipColor;\\n }\\n}\\n\\n.tooltip[aria-hidden='true'] {\\n visibility: hidden;\\n opacity: 0;\\n transition: opacity 0.15s, visibility 0.15s;\\n}\\n\\n.tooltip[aria-hidden='false'] {\\n visibility: visible;\\n opacity: 1;\\n transition: opacity 0.15s;\\n}\",\"/** Style the modal. This should be saved somewhere, where we create one modal template with slots, and style that. */\\n.modal-container {\\n border: 1px solid rgb(17, 17, 17);\\n box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175);\\n border-radius: 0;\\n}\\n\\n.modal-header {\\n padding: 9px 15px;\\n border-bottom: none;\\n border-radius: 0;\\n background-color: rgb(55, 55, 55);\\n}\\n\\n.modal-content {\\n background: rgb(34, 34, 34);\\n border-radius: 0;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\\n color: white;\\n}\\n\\n.modal-body {\\n background: rgb(34, 34, 34);\\n overflow-y: auto;\\n}\\n\\n.modal-footer {\\n border-top: none;\\n text-align: center;\\n}\\n\",\".vue-tags-input {\\n width: 273px;\\n border: 1px solid rgb(204, 204, 204);\\n border-radius: 3px;\\n\\n .ti-tag {\\n display: inline-flex;\\n width: 100%;\\n }\\n\\n .ti-input {\\n border: none;\\n }\\n\\n .country-left {\\n margin-right: 5px;\\n }\\n}\",\"svg.back-arrow {\\n color: #337ab7;\\n width: 20px;\\n height: 20px;\\n float: left;\\n margin-right: 1em;\\n cursor: pointer;\\n}\\n\\nsvg.back-arrow:hover,\\nsvg.back-arrow:focus {\\n color: #23527c;\\n transform: translateX(-2px);\\n transition: transform ease-in-out 0.2s;\\n}\",\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Global style definitions should go here. */\\n@use '../style/vgt-table.scss';\\n@use '../style/v-tooltip.scss';\\n@use '../style/modal.scss';\\n@use '../style/vue-tags.scss';\\n@use '../style/back-arrow.scss';\\n\\n#app {\\n padding-top: 4rem;\\n}\\n\\n@media (max-width: 768px) {\\n #app {\\n padding-top: 6rem;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\ndiv.anidb-release-group-ui-wrapper[data-v-5721f056] {\\n clear: both;\\n margin-bottom: 20px;\\n}\\ndiv.anidb-release-group-ui-wrapper ul[data-v-5721f056] {\\n border-style: solid;\\n border-width: thin;\\n padding: 5px 2px 2px 5px;\\n list-style: none;\\n}\\ndiv.anidb-release-group-ui-wrapper li.active[data-v-5721f056] {\\n background-color: cornflowerblue;\\n}\\ndiv.anidb-release-group-ui-wrapper div.arrow img[data-v-5721f056] {\\n cursor: pointer;\\n height: 32px;\\n width: 32px;\\n}\\ndiv.anidb-release-group-ui-wrapper img.deleteFromWhitelist[data-v-5721f056],\\ndiv.anidb-release-group-ui-wrapper img.deleteFromBlacklist[data-v-5721f056] {\\n float: right;\\n}\\ndiv.anidb-release-group-ui-wrapper #add-new-release-group p > img[data-v-5721f056] {\\n height: 16px;\\n width: 16px;\\n background-color: rgb(204, 204, 204);\\n}\\ndiv.anidb-release-group-ui-wrapper.placeholder[data-v-5721f056] {\\n height: 32px;\\n}\\ndiv.anidb-release-group-ui-wrapper.max-width[data-v-5721f056] {\\n max-width: 960px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/anidb-release-group-ui.vue\"],\"names\":[],\"mappings\":\";AAmOA;IACA,WAAA;IACA,mBAAA;AACA;AAEA;IACA,mBAAA;IACA,kBAAA;IACA,wBAAA;IACA,gBAAA;AACA;AAEA;IACA,gCAAA;AACA;AAEA;IACA,eAAA;IACA,YAAA;IACA,WAAA;AACA;AAEA;;IAEA,YAAA;AACA;AAEA;IACA,YAAA;IACA,WAAA;IACA,oCAAA;AACA;AAEA;IACA,YAAA;AACA;AAEA;IACA,gBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.floating-badge {\\n position: absolute;\\n top: -5px;\\n right: -8px;\\n padding: 0 4px;\\n background-color: #777;\\n border: 2px solid #959595;\\n border-radius: 100px;\\n font-size: 12px;\\n font-weight: bold;\\n text-decoration: none;\\n color: white;\\n}\\n.navbar {\\n margin-bottom: 0;\\n}\\n@media (max-width: 767px) {\\n.navbar-fixed-top .navbar-collapse {\\n max-height: 100%;\\n}\\n.navbar-mobile > li {\\n text-align: center;\\n}\\n.navbar-mobile::before {\\n position: absolute;\\n}\\n.navbar-mobile {\\n display: grid;\\n grid-template-columns: 1fr 1fr 1fr;\\n}\\n.navbar-mobile #NAVsystem > ul {\\n transform: translateX(-6rem);\\n}\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/app-header.vue\"],\"names\":[],\"mappings\":\";AAwTA;IACA,kBAAA;IACA,SAAA;IACA,WAAA;IACA,cAAA;IACA,sBAAA;IACA,yBAAA;IACA,oBAAA;IACA,eAAA;IACA,iBAAA;IACA,qBAAA;IACA,YAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;AACA;QACA,gBAAA;AACA;AAEA;QACA,kBAAA;AACA;AAEA;QACA,kBAAA;AACA;AAEA;QACA,aAAA;QACA,kCAAA;AACA;AAEA;QACA,4BAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n#filter-indexers[data-v-02c73319] {\\n float: right;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/change-indexer.vue\"],\"names\":[],\"mappings\":\";AAuKA;IACA,YAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.display-inline[data-v-b08cd0fa] {\\n display: inline;\\n}\\n.radio-item[data-v-b08cd0fa] {\\n display: block;\\n}\\n.multiselect[data-v-b08cd0fa] {\\n margin-bottom: 10px;\\n}\\n.margin-bottom-10[data-v-b08cd0fa] {\\n margin-bottom: 10px;\\n}\\n.plotInfo[data-v-b08cd0fa] {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n}\\n.plotInfoNone[data-v-b08cd0fa] {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n opacity: 0.4;\\n}\\n.v-popover[data-v-b08cd0fa] {\\n display: inline;\\n}\\n.tooltip-base[data-v-b08cd0fa] {\\n position: relative;\\n display: inline-block !important;\\n z-index: 999;\\n max-width: 276px;\\n padding: 1px;\\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\\n font-style: normal;\\n font-weight: 400;\\n font-size: 14px;\\n line-height: 1.42857143;\\n line-break: auto;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n word-spacing: normal;\\n word-wrap: normal;\\n white-space: normal;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 6px;\\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\\n}\\n.tooltip-base.tooltip-themed-dark[data-v-b08cd0fa] {\\n background-color: rgb(51, 51, 51);\\n border-color: #111;\\n}\\n.tooltip-base .tooltip-inner[data-v-b08cd0fa] {\\n background-color: inherit;\\n color: inherit;\\n text-align: inherit;\\n max-width: inherit;\\n padding: 0;\\n border-radius: 6px;\\n}\\n.tooltip-title[data-v-b08cd0fa] {\\n padding: 8px 14px;\\n margin: 0;\\n border-radius: 5px 5px 0 0;\\n}\\n.tooltip-content[data-v-b08cd0fa] {\\n padding: 9px 14px;\\n margin: 0;\\n}\\n.tooltip-themed-dark .tooltip-title[data-v-b08cd0fa] {\\n background-color: rgb(35, 35, 35);\\n border-bottom-color: #111;\\n}\\n.tooltip-themed-light .tooltip-title[data-v-b08cd0fa] {\\n padding: 8px 14px;\\n margin: 0;\\n font-size: 14px;\\n background-color: #f7f7f7;\\n border-bottom: 1px solid #ebebeb;\\n border-radius: 5px 5px 0 0;\\n}\\n.tooltip-base[x-placement^=\\\"left\\\"][data-v-b08cd0fa]::after,\\n.tooltip-base[x-placement^=\\\"left\\\"][data-v-b08cd0fa]::before {\\n left: 100%;\\n top: 50%;\\n border: solid transparent;\\n content: \\\" \\\";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n.tooltip-base[x-placement^=\\\"left\\\"][data-v-b08cd0fa]::after {\\n border-color: rgba(255, 255, 255, 0);\\n border-left-color: #fff;\\n border-width: 11px;\\n margin-top: -11px;\\n content: \\\" \\\";\\n}\\n.tooltip-base[x-placement^=\\\"left\\\"][data-v-b08cd0fa]::before {\\n border-color: rgba(0, 0, 0, 0);\\n border-left-color: rgba(0, 0, 0, 0.2);\\n border-width: 12px;\\n margin-top: -12px;\\n content: \\\" \\\";\\n}\\n.tooltip-base[x-placement^=\\\"right\\\"][data-v-b08cd0fa]::after,\\n.tooltip-base[x-placement^=\\\"right\\\"][data-v-b08cd0fa]::before {\\n right: 100%;\\n top: 50%;\\n border: solid transparent;\\n content: \\\" \\\";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n.tooltip-base[x-placement^=\\\"right\\\"][data-v-b08cd0fa]::after {\\n border-color: rgba(255, 255, 255, 0);\\n border-right-color: #fff;\\n border-width: 11px;\\n margin-top: -11px;\\n content: \\\" \\\";\\n}\\n.tooltip-base[x-placement^=\\\"right\\\"][data-v-b08cd0fa]::before {\\n border-color: rgba(0, 0, 0, 0);\\n border-right-color: rgba(0, 0, 0, 0.2);\\n border-width: 12px;\\n margin-top: -12px;\\n content: \\\" \\\";\\n}\\n\\n/* The background of the arrow, the outline */\\n.tooltip-themed-dark[x-placement^=\\\"left\\\"][data-v-b08cd0fa]::before {\\n border-left-color: #000 !important;\\n}\\n\\n/* The background of the arrow, the outline */\\n.tooltip-themed-dark[x-placement^=\\\"right\\\"][data-v-b08cd0fa]::before {\\n border-right-color: #000 !important;\\n}\\n\\n/* The foreground of the arrow, the filling */\\n.tooltip-themed-dark[x-placement^=\\\"left\\\"][data-v-b08cd0fa]::after {\\n border-left-color: rgb(51, 51, 51) !important;\\n}\\n\\n/* The foreground of the arrow, the filling */\\n.tooltip-themed-dark[x-placement^=\\\"right\\\"][data-v-b08cd0fa]::after {\\n border-right-color: rgb(51, 51, 51) !important;\\n}\\n.tooltip-arrow[data-v-b08cd0fa] {\\n display: none;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/config-general.vue\"],\"names\":[],\"mappings\":\";AA89BA;IACA,eAAA;AACA;AAEA;IACA,cAAA;AACA;AAEA;IACA,mBAAA;AACA;AAEA;IACA,mBAAA;AACA;AAEA;IACA,YAAA;IACA,YAAA;IACA,kBAAA;IACA,QAAA;AACA;AAEA;IACA,YAAA;IACA,YAAA;IACA,kBAAA;IACA,QAAA;IACA,YAAA;AACA;AAEA;IACA,eAAA;AACA;AAEA;IACA,kBAAA;IACA,gCAAA;IACA,YAAA;IACA,gBAAA;IACA,YAAA;IACA,yDAAA;IACA,kBAAA;IACA,gBAAA;IACA,eAAA;IACA,uBAAA;IACA,gBAAA;IACA,iBAAA;IACA,qBAAA;IACA,iBAAA;IACA,oBAAA;IACA,sBAAA;IACA,kBAAA;IACA,oBAAA;IACA,iBAAA;IACA,mBAAA;IACA,sBAAA;IACA,4BAAA;IACA,oCAAA;IACA,kBAAA;IACA,yCAAA;AACA;AAEA;IACA,iCAAA;IACA,kBAAA;AACA;AAEA;IACA,yBAAA;IACA,cAAA;IACA,mBAAA;IACA,kBAAA;IACA,UAAA;IACA,kBAAA;AACA;AAEA;IACA,iBAAA;IACA,SAAA;IACA,0BAAA;AACA;AAEA;IACA,iBAAA;IACA,SAAA;AACA;AAEA;IACA,iCAAA;IACA,yBAAA;AACA;AAEA;IACA,iBAAA;IACA,SAAA;IACA,eAAA;IACA,yBAAA;IACA,gCAAA;IACA,0BAAA;AACA;AAEA;;IAEA,UAAA;IACA,QAAA;IACA,yBAAA;IACA,YAAA;IACA,SAAA;IACA,QAAA;IACA,kBAAA;IACA,oBAAA;AACA;AAEA;IACA,oCAAA;IACA,uBAAA;IACA,kBAAA;IACA,iBAAA;IACA,YAAA;AACA;AAEA;IACA,8BAAA;IACA,qCAAA;IACA,kBAAA;IACA,iBAAA;IACA,YAAA;AACA;AAEA;;IAEA,WAAA;IACA,QAAA;IACA,yBAAA;IACA,YAAA;IACA,SAAA;IACA,QAAA;IACA,kBAAA;IACA,oBAAA;AACA;AAEA;IACA,oCAAA;IACA,wBAAA;IACA,kBAAA;IACA,iBAAA;IACA,YAAA;AACA;AAEA;IACA,8BAAA;IACA,sCAAA;IACA,kBAAA;IACA,iBAAA;IACA,YAAA;AACA;;AAEA,6CAAA;AACA;IACA,kCAAA;AACA;;AAEA,6CAAA;AACA;IACA,mCAAA;AACA;;AAEA,8CAAA;AACA;IACA,6CAAA;AACA;;AAEA,8CAAA;AACA;IACA,8CAAA;AACA;AAEA;IACA,aAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.metadata {\\n padding-left: 20px;\\n display: flex;\\n}\\n.metadata-options-wrapper {\\n min-width: 190px;\\n}\\n.metadata-example-wrapper {\\n width: 325px;\\n margin-left: 4em;\\n}\\n@media (max-width: 480px) {\\n.metadata {\\n flex-direction: column;\\n}\\n.metadata-example-wrapper {\\n margin-left: 0;\\n}\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/config-post-processing.vue\"],\"names\":[],\"mappings\":\";AA6hBA;IACA,kBAAA;IACA,aAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;AACA;QACA,sBAAA;AACA;AAEA;QACA,cAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\nul.extra-scripts {\\n padding: 0;\\n margin-left: 15px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/config-subtitles.vue\"],\"names\":[],\"mappings\":\";AA8OA;IACA,UAAA;IACA,iBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.infoTable tr td[data-v-0e222bd8]:first-child {\\n vertical-align: top;\\n}\\npre[data-v-0e222bd8] {\\n padding: 5px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/config.vue\"],\"names\":[],\"mappings\":\";AAmEA;IACA,mBAAA;AACA;AAEA;IACA,YAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.defaultTable.displayShow[data-v-1ef38692] {\\n clear: both;\\n}\\n.displayShowTable.displayShow[data-v-1ef38692] {\\n clear: both;\\n}\\n.fanartBackground.displayShow[data-v-1ef38692] {\\n clear: both;\\n opacity: 0.9;\\n}\\n.fanartBackground table[data-v-1ef38692] {\\n table-layout: auto;\\n width: 100%;\\n border-collapse: collapse;\\n border-spacing: 0;\\n text-align: center;\\n border: none;\\n empty-cells: show;\\n color: rgb(0, 0, 0) !important;\\n}\\n.summaryFanArt[data-v-1ef38692] {\\n opacity: 0.9;\\n}\\n.fanartBackground > table th.vgt-row-header[data-v-1ef38692] {\\n border: none !important;\\n background-color: transparent !important;\\n color: rgb(255, 255, 255) !important;\\n padding-top: 15px !important;\\n text-align: left !important;\\n}\\n.fanartBackground td.col-search[data-v-1ef38692] {\\n text-align: center;\\n}\\n\\n/* Trying to migrate this from tablesorter */\\n\\n/* =======================================================================\\ntablesorter.css\\n========================================================================== */\\n.displayShow[data-v-1ef38692] .vgt-global-search__input.vgt-pull-left {\\n float: left;\\n height: 40px;\\n}\\n.displayShow[data-v-1ef38692] .vgt-input {\\n border: 1px solid #ccc;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;\\n height: 30px;\\n padding: 5px 10px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 3px;\\n}\\n.displayShow[data-v-1ef38692] div.vgt-responsive > table tbody > tr > th.vgt-row-header > span {\\n font-size: 24px;\\n margin-top: 20px;\\n margin-bottom: 10px;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table {\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n color: rgb(0, 0, 0);\\n text-align: left;\\n border-spacing: 0;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table th,\\n.displayShow[data-v-1ef38692] .vgt-table td {\\n padding: 4px;\\n border-top: rgb(34, 34, 34) 1px solid;\\n border-left: rgb(34, 34, 34) 1px solid;\\n vertical-align: middle;\\n}\\n\\n/* remove extra border from left edge */\\n.displayShow[data-v-1ef38692] .vgt-table th:first-child,\\n.displayShow[data-v-1ef38692] .vgt-table td:first-child {\\n border-left: none;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table span.break-word {\\n word-wrap: break-word;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table thead th.sorting.sorting-desc {\\n background-color: rgb(85, 85, 85);\\n background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);\\n}\\n.displayShow[data-v-1ef38692] .vgt-table thead th.sorting.sorting-asc {\\n background-color: rgb(85, 85, 85);\\n background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);\\n background-position-x: right;\\n background-position-y: bottom;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table th {\\n text-align: center;\\n text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);\\n background-color: rgb(51, 51, 51);\\n white-space: nowrap;\\n color: rgb(255, 255, 255);\\n border-collapse: collapse;\\n font-weight: normal;\\n position: relative;\\n background-image: none;\\n padding: 4px;\\n cursor: default;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table thead th.sortable button {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n background: transparent;\\n border: none;\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table thead th.sorting {\\n background-repeat: no-repeat;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table input.tablesorter-filter {\\n width: 98%;\\n height: auto;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table tr.tablesorter-filter-row,\\n.displayShow[data-v-1ef38692] .vgt-table tr.tablesorter-filter-row td {\\n text-align: center;\\n}\\n\\n/* optional disabled input styling */\\n.displayShow[data-v-1ef38692] .vgt-table input.tablesorter-filter-row .disabled {\\n display: none;\\n}\\n.tablesorter-header-inner[data-v-1ef38692] {\\n padding: 0 2px;\\n text-align: center;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table tfoot tr {\\n color: rgb(255, 255, 255);\\n text-align: center;\\n text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);\\n background-color: rgb(51, 51, 51);\\n border-collapse: collapse;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table tfoot a {\\n color: rgb(255, 255, 255);\\n text-decoration: none;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table th.vgt-row-header {\\n text-align: left;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table .season-header {\\n display: inline;\\n margin-left: 5px;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table tr.spacer {\\n height: 25px;\\n}\\n.displayShow[data-v-1ef38692] .vgt-table tr:hover {\\n opacity: 0.9;\\n}\\n.displayShow[data-v-1ef38692] .unaired {\\n background-color: rgb(245, 241, 228);\\n}\\n.displayShow[data-v-1ef38692] .skipped {\\n background-color: rgb(190, 222, 237);\\n}\\n.displayShow[data-v-1ef38692] .preferred {\\n background-color: rgb(195, 227, 200);\\n}\\n.displayShow[data-v-1ef38692] .archived {\\n background-color: rgb(195, 227, 200);\\n}\\n.displayShow[data-v-1ef38692] .allowed {\\n background-color: rgb(255, 218, 138);\\n}\\n.displayShow[data-v-1ef38692] .wanted {\\n background-color: rgb(255, 176, 176);\\n}\\n.displayShow[data-v-1ef38692] .snatched {\\n background-color: rgb(235, 193, 234);\\n}\\n.displayShow[data-v-1ef38692] .downloaded {\\n background-color: rgb(255, 218, 138);\\n}\\n.displayShow[data-v-1ef38692] .failed {\\n background-color: rgb(255, 153, 153);\\n}\\n.displayShow[data-v-1ef38692] span.unaired {\\n color: rgb(88, 75, 32);\\n}\\n.displayShow[data-v-1ef38692] span.skipped {\\n color: rgb(29, 80, 104);\\n}\\n.displayShow[data-v-1ef38692] span.preffered {\\n color: rgb(41, 87, 48);\\n}\\n.displayShow[data-v-1ef38692] span.allowed {\\n color: rgb(118, 81, 0);\\n}\\n.displayShow[data-v-1ef38692] span.wanted {\\n color: rgb(137, 0, 0);\\n}\\n.displayShow[data-v-1ef38692] span.snatched {\\n color: rgb(101, 33, 100);\\n}\\n.displayShow[data-v-1ef38692] span.unaired b,\\n.displayShow[data-v-1ef38692] span.skipped b,\\n.displayShow[data-v-1ef38692] span.preferred b,\\n.displayShow[data-v-1ef38692] span.allowed b,\\n.displayShow[data-v-1ef38692] span.wanted b,\\n.displayShow[data-v-1ef38692] span.snatched b {\\n color: rgb(0, 0, 0);\\n font-weight: 800;\\n}\\n.mobile-select[data-v-1ef38692] {\\n width: 110px;\\n font-size: x-small;\\n}\\ntd.col-footer[data-v-1ef38692] {\\n text-align: left !important;\\n}\\n.displayShow[data-v-1ef38692] .vgt-wrap__footer {\\n color: rgb(255, 255, 255);\\n padding: 1em;\\n background-color: rgb(51, 51, 51);\\n margin-bottom: 1em;\\n display: flex;\\n justify-content: space-between;\\n}\\n.displayShow[data-v-1ef38692] .footer__row-count,\\n.displayShow[data-v-1ef38692] .footer__navigation__page-info {\\n display: inline;\\n}\\n.displayShow[data-v-1ef38692] .footer__row-count__label {\\n margin-right: 1em;\\n}\\n.displayShow[data-v-1ef38692] .vgt-wrap__footer .footer__navigation {\\n font-size: 14px;\\n}\\n.displayShow[data-v-1ef38692] .vgt-pull-right {\\n float: right !important;\\n}\\n.displayShow[data-v-1ef38692] .vgt-wrap__footer .footer__navigation__page-btn .chevron {\\n width: 24px;\\n height: 24px;\\n border-radius: 15%;\\n position: relative;\\n margin: 0 8px;\\n}\\n.displayShow[data-v-1ef38692] .vgt-wrap__footer .footer__navigation__info,\\n.displayShow[data-v-1ef38692] .vgt-wrap__footer .footer__navigation__page-info {\\n display: inline-flex;\\n color: #909399;\\n margin: 0 16px;\\n margin-top: 0;\\n margin-right: 16px;\\n margin-bottom: 0;\\n margin-left: 16px;\\n}\\n.select-info span[data-v-1ef38692] {\\n margin-left: 5px;\\n line-height: 40px;\\n}\\n.subtitles > div[data-v-1ef38692] {\\n float: left;\\n}\\n.subtitles > div[data-v-1ef38692]:not(:last-child) {\\n margin-right: 2px;\\n}\\n.displayShow[data-v-1ef38692] .vgt-dropdown > .button-group {\\n position: relative;\\n}\\n.displayShow[data-v-1ef38692] .dropdown-toggle {\\n position: absolute;\\n z-index: 1;\\n top: 0.1em;\\n right: 0.1em;\\n width: 1em;\\n transition: width 0.2s ease-in-out;\\n}\\n.displayShow[data-v-1ef38692] .dropdown-toggle:hover,\\n.displayShow[data-v-1ef38692] .dropdown-toggle:active {\\n width: 2em;\\n}\\n.displayShow[data-v-1ef38692] .vgt-dropdown-menu {\\n position: absolute;\\n z-index: 1;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-clip: padding-box;\\n border-radius: 3px;\\n right: 0;\\n top: 2em;\\n}\\n.displayShow[data-v-1ef38692] .vgt-dropdown-menu > li > span {\\n display: block;\\n padding: 3px 5px;\\n clear: both;\\n font-weight: 400;\\n line-height: 1.42857143;\\n white-space: nowrap;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/display-show.vue\"],\"names\":[],\"mappings\":\";AAy/BA;IACA,WAAA;AACA;AAEA;IACA,WAAA;AACA;AAEA;IACA,WAAA;IACA,YAAA;AACA;AAEA;IACA,kBAAA;IACA,WAAA;IACA,yBAAA;IACA,iBAAA;IACA,kBAAA;IACA,YAAA;IACA,iBAAA;IACA,8BAAA;AACA;AAEA;IACA,YAAA;AACA;AAEA;IACA,uBAAA;IACA,wCAAA;IACA,oCAAA;IACA,4BAAA;IACA,2BAAA;AACA;AAEA;IACA,kBAAA;AACA;;AAEA,4CAAA;;AAEA;;4EAEA;AAEA;IACA,WAAA;IACA,YAAA;AACA;AAEA;IACA,sBAAA;IACA,8GAAA;IACA,YAAA;IACA,iBAAA;IACA,eAAA;IACA,gBAAA;IACA,kBAAA;AACA;AAEA;IACA,eAAA;IACA,gBAAA;IACA,mBAAA;AACA;AAEA;IACA,WAAA;IACA,kBAAA;IACA,iBAAA;IACA,mBAAA;IACA,gBAAA;IACA,iBAAA;AACA;AAEA;;IAEA,YAAA;IACA,qCAAA;IACA,sCAAA;IACA,sBAAA;AACA;;AAEA,uCAAA;AACA;;IAEA,iBAAA;AACA;AAEA;IACA,qBAAA;AACA;AAEA;IACA,iCAAA;IACA,qHAAA;AACA;AAEA;IACA,iCAAA;IACA,qHAAA;IACA,4BAAA;IACA,6BAAA;AACA;AAEA;IACA,kBAAA;IACA,2CAAA;IACA,iCAAA;IACA,mBAAA;IACA,yBAAA;IACA,yBAAA;IACA,mBAAA;IACA,kBAAA;IACA,sBAAA;IACA,YAAA;IACA,eAAA;AACA;AAEA;IACA,wBAAA;IACA,qBAAA;IACA,gBAAA;IACA,uBAAA;IACA,YAAA;IACA,kBAAA;IACA,MAAA;IACA,OAAA;IACA,WAAA;IACA,YAAA;AACA;AAEA;IACA,4BAAA;AACA;AAEA;IACA,UAAA;IACA,YAAA;IACA,8BAAA;IACA,2BAAA;IACA,sBAAA;AACA;AAEA;;IAEA,kBAAA;AACA;;AAEA,oCAAA;AACA;IACA,aAAA;AACA;AAEA;IACA,cAAA;IACA,kBAAA;AACA;AAEA;IACA,yBAAA;IACA,kBAAA;IACA,2CAAA;IACA,iCAAA;IACA,yBAAA;AACA;AAEA;IACA,yBAAA;IACA,qBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,eAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;AACA;AAEA;IACA,YAAA;AACA;AAEA;IACA,oCAAA;AACA;AAEA;IACA,oCAAA;AACA;AAEA;IACA,oCAAA;AACA;AAEA;IACA,oCAAA;AACA;AAEA;IACA,oCAAA;AACA;AAEA;IACA,oCAAA;AACA;AAEA;IACA,oCAAA;AACA;AAEA;IACA,oCAAA;AACA;AAEA;IACA,oCAAA;AACA;AAEA;IACA,sBAAA;AACA;AAEA;IACA,uBAAA;AACA;AAEA;IACA,sBAAA;AACA;AAEA;IACA,sBAAA;AACA;AAEA;IACA,qBAAA;AACA;AAEA;IACA,wBAAA;AACA;AAEA;;;;;;IAMA,mBAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,kBAAA;AACA;AAEA;IACA,2BAAA;AACA;AAEA;IACA,yBAAA;IACA,YAAA;IACA,iCAAA;IACA,kBAAA;IACA,aAAA;IACA,8BAAA;AACA;AAEA;;IAEA,eAAA;AACA;AAEA;IACA,iBAAA;AACA;AAEA;IACA,eAAA;AACA;AAEA;IACA,uBAAA;AACA;AAEA;IACA,WAAA;IACA,YAAA;IACA,kBAAA;IACA,kBAAA;IACA,aAAA;AACA;AAEA;;IAEA,oBAAA;IACA,cAAA;IACA,cAAA;IACA,aAAA;IACA,kBAAA;IACA,gBAAA;IACA,iBAAA;AACA;AAEA;IACA,gBAAA;IACA,iBAAA;AACA;AAEA;IACA,WAAA;AACA;AAEA;IACA,iBAAA;AACA;AAEA;IACA,kBAAA;AACA;AAEA;IACA,kBAAA;IACA,UAAA;IACA,UAAA;IACA,YAAA;IACA,UAAA;IACA,kCAAA;AACA;AAEA;;IAEA,UAAA;AACA;AAEA;IACA,kBAAA;IACA,UAAA;IACA,WAAA;IACA,gBAAA;IACA,cAAA;IACA,eAAA;IACA,eAAA;IACA,gBAAA;IACA,gBAAA;IACA,4BAAA;IACA,kBAAA;IACA,QAAA;IACA,QAAA;AACA;AAEA;IACA,cAAA;IACA,gBAAA;IACA,WAAA;IACA,gBAAA;IACA,uBAAA;IACA,mBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/*\\n@NOTE: This fixes the header blocking elements when using a hash link\\ne.g. displayShow?showslug=tvdb83462#season-5\\n*/\\n[false-link]::before {\\n content: '';\\n display: block;\\n position: absolute;\\n height: 100px;\\n margin-top: -100px;\\n z-index: -100;\\n}\\n.router-link,\\n.router-link-active {\\n cursor: pointer;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/app-link.vue\"],\"names\":[],\"mappings\":\";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoKA;;;CAGA;AACA;IACA,WAAA;IACA,cAAA;IACA,kBAAA;IACA,aAAA;IACA,kBAAA;IACA,aAAA;AACA;AAEA;;IAEA,eAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.width-40[data-v-ad0dcc86] {\\n width: 40px;\\n}\\n.width-50[data-v-ad0dcc86] {\\n width: 50px;\\n}\\n\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/asset.vue\"],\"names\":[],\"mappings\":\";AAgGA;IACA,WAAA;AACA;AAEA;IACA,WAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.warning-enter-active[data-v-5a5b710f],\\n.warning-leave-active[data-v-5a5b710f] {\\n -moz-transition-duration: 0.3s;\\n -webkit-transition-duration: 0.3s;\\n -o-transition-duration: 0.3s;\\n transition-duration: 0.3s;\\n -moz-transition-timing-function: ease-in;\\n -webkit-transition-timing-function: ease-in;\\n -o-transition-timing-function: ease-in;\\n transition-timing-function: ease-in;\\n}\\n.warning-enter-to[data-v-5a5b710f],\\n.warning-leave[data-v-5a5b710f] {\\n max-height: 100%;\\n}\\n.warning-enter[data-v-5a5b710f],\\n.warning-leave-to[data-v-5a5b710f] {\\n max-height: 0;\\n}\\n.warning[data-v-5a5b710f] {\\n display: block;\\n overflow: hidden;\\n width: 100%;\\n position: absolute;\\n left: 0;\\n background-color: #e23636;\\n padding: 0 2px 0 2px;\\n}\\n.manager-note[data-v-5a5b710f] {\\n margin: 5px 0;\\n padding: 10px;\\n border: 1px solid #ccc;\\n}\\n.manager-note > img[data-v-5a5b710f] {\\n width: 16px;\\n padding-bottom: 4px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/config-custom-newznab.vue\"],\"names\":[],\"mappings\":\";AAwOA;;IAEA,8BAAA;IACA,iCAAA;IACA,4BAAA;IACA,yBAAA;IACA,wCAAA;IACA,2CAAA;IACA,sCAAA;IACA,mCAAA;AACA;AAEA;;IAEA,gBAAA;AACA;AAEA;;IAEA,aAAA;AACA;AAEA;IACA,cAAA;IACA,gBAAA;IACA,WAAA;IACA,kBAAA;IACA,OAAA;IACA,yBAAA;IACA,oBAAA;AACA;AAEA;IACA,aAAA;IACA,aAAA;IACA,sBAAA;AACA;AAEA;IACA,WAAA;IACA,mBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.testresult[data-v-b85ae602] {\\n display: inline-block;\\n border-style: solid;\\n border-width: 1px;\\n padding: 1px 4px 4px 4px;\\n border-color: #ccc;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/config-custom-prowlarr.vue\"],\"names\":[],\"mappings\":\";AA+MA;IACA,qBAAA;IACA,mBAAA;IACA,iBAAA;IACA,wBAAA;IACA,kBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.warning-enter-active[data-v-52661c90],\\n.warning-leave-active[data-v-52661c90] {\\n -moz-transition-duration: 0.3s;\\n -webkit-transition-duration: 0.3s;\\n -o-transition-duration: 0.3s;\\n transition-duration: 0.3s;\\n -moz-transition-timing-function: ease-in;\\n -webkit-transition-timing-function: ease-in;\\n -o-transition-timing-function: ease-in;\\n transition-timing-function: ease-in;\\n}\\n.warning-enter-to[data-v-52661c90],\\n.warning-leave[data-v-52661c90] {\\n max-height: 100%;\\n}\\n.warning-enter[data-v-52661c90],\\n.warning-leave-to[data-v-52661c90] {\\n max-height: 0;\\n}\\n.warning[data-v-52661c90] {\\n display: block;\\n overflow: hidden;\\n width: 100%;\\n position: absolute;\\n left: 0;\\n background-color: #e23636;\\n padding: 0 2px 0 2px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/config-custom-torrentrss.vue\"],\"names\":[],\"mappings\":\";AAyJA;;IAEA,8BAAA;IACA,iCAAA;IACA,4BAAA;IACA,yBAAA;IACA,wCAAA;IACA,2CAAA;IACA,sCAAA;IACA,mCAAA;AACA;AAEA;;IAEA,gBAAA;AACA;AAEA;;IAEA,aAAA;AACA;AAEA;IACA,cAAA;IACA,gBAAA;IACA,WAAA;IACA,kBAAA;IACA,OAAA;IACA,yBAAA;IACA,oBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.warning-enter-active[data-v-3cf848cc],\\n.warning-leave-active[data-v-3cf848cc] {\\n -moz-transition-duration: 0.3s;\\n -webkit-transition-duration: 0.3s;\\n -o-transition-duration: 0.3s;\\n transition-duration: 0.3s;\\n -moz-transition-timing-function: ease-in;\\n -webkit-transition-timing-function: ease-in;\\n -o-transition-timing-function: ease-in;\\n transition-timing-function: ease-in;\\n}\\n.warning-enter-to[data-v-3cf848cc],\\n.warning-leave[data-v-3cf848cc] {\\n max-height: 100%;\\n}\\n.warning-enter[data-v-3cf848cc],\\n.warning-leave-to[data-v-3cf848cc] {\\n max-height: 0;\\n}\\n.warning[data-v-3cf848cc] {\\n display: block;\\n overflow: hidden;\\n width: 100%;\\n position: absolute;\\n left: 0;\\n background-color: #e23636;\\n padding: 0 2px 0 2px;\\n z-index: 1;\\n}\\n.manager-note[data-v-3cf848cc] {\\n margin: 5px 0;\\n padding: 10px;\\n border: 1px solid #ccc;\\n}\\n.manager-note > img[data-v-3cf848cc] {\\n width: 16px;\\n padding-bottom: 4px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/config-custom-torznab.vue\"],\"names\":[],\"mappings\":\";AAsOA;;IAEA,8BAAA;IACA,iCAAA;IACA,4BAAA;IACA,yBAAA;IACA,wCAAA;IACA,2CAAA;IACA,sCAAA;IACA,mCAAA;AACA;AAEA;;IAEA,gBAAA;AACA;AAEA;;IAEA,aAAA;AACA;AAEA;IACA,cAAA;IACA,gBAAA;IACA,WAAA;IACA,kBAAA;IACA,OAAA;IACA,yBAAA;IACA,oBAAA;IACA,UAAA;AACA;AAEA;IACA,aAAA;IACA,aAAA;IACA,sBAAA;AACA;AAEA;IACA,WAAA;IACA,mBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\ndiv.select-list ul[data-v-2cd053b2] {\\n padding-left: 0;\\n}\\ndiv.select-list li[data-v-2cd053b2] {\\n list-style-type: none;\\n display: flex;\\n}\\ndiv.select-list .new-item[data-v-2cd053b2] {\\n display: flex;\\n}\\ndiv.select-list .new-item-help[data-v-2cd053b2] {\\n font-weight: bold;\\n padding-top: 5px;\\n}\\ndiv.select-list input[data-v-2cd053b2],\\ndiv.select-list img[data-v-2cd053b2] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ndiv.select-list.max-width[data-v-2cd053b2] {\\n max-width: 450px;\\n}\\ndiv.select-list .switch-input[data-v-2cd053b2] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n.form-inline[data-v-2cd053b2] {\\n display: contents;\\n}\\n.select-season[data-v-2cd053b2] {\\n height: 30px;\\n padding: 0 3px 0 2px;\\n}\\n.select-season[disabled=disabled][data-v-2cd053b2] {\\n background-color: #eee;\\n}\\n.external-scene-exception[data-v-2cd053b2] {\\n display: table-cell;\\n width: 4.5px;\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n background-color: #fff;\\n border-color: #ccc;\\n}\\n.external-scene-exception div[data-v-2cd053b2] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 40px;\\n height: 30px;\\n border: 1px solid #ccc;\\n border-top-left-radius: 0;\\n border-top-right-radius: 4px;\\n border-bottom-left-radius: 0;\\n border-bottom-right-radius: 4px;\\n z-index: 2;\\n margin-left: -1px;\\n}\\n.external-scene-exception > img[data-v-2cd053b2] {\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.external-scene-exception:last-child > .div[data-v-2cd053b2] {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/config-scene-exceptions.vue\"],\"names\":[],\"mappings\":\";AA6KA;IACA,eAAA;AACA;AAEA;IACA,qBAAA;IACA,aAAA;AACA;AAEA;IACA,aAAA;AACA;AAEA;IACA,iBAAA;IACA,gBAAA;AACA;AAEA;;IAEA,qBAAA;IACA,sBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,UAAA;IACA,QAAA;IACA,kBAAA;IACA,WAAA;IACA,YAAA;AACA;AAEA;IACA,iBAAA;AACA;AAEA;IACA,YAAA;IACA,oBAAA;AACA;AAEA;IACA,sBAAA;AACA;AAEA;IACA,mBAAA;IACA,YAAA;IACA,yBAAA;IACA,4BAAA;IACA,sBAAA;IACA,kBAAA;AACA;AAEA;IACA,aAAA;IACA,mBAAA;IACA,uBAAA;IACA,WAAA;IACA,YAAA;IACA,sBAAA;IACA,yBAAA;IACA,4BAAA;IACA,4BAAA;IACA,+BAAA;IACA,UAAA;IACA,iBAAA;AACA;AAEA;IACA,cAAA;IACA,iBAAA;IACA,kBAAA;AACA;AAEA;IACA,yBAAA;IACA,4BAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.autocomplete-item[data-v-0fbc8b46] {\\n background: white;\\n color: black;\\n}\\n\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/config-subtitle-languages.vue\"],\"names\":[],\"mappings\":\";AA+EA;IACA,iBAAA;IACA,YAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.form-control {\\n color: rgb(0, 0, 0);\\n}\\n.input75 {\\n width: 75px;\\n margin-top: -4px;\\n}\\n.input250 {\\n width: 250px;\\n margin-top: -4px;\\n}\\n.input350 {\\n width: 350px;\\n margin-top: -4px;\\n}\\n.input450 {\\n width: 450px;\\n margin-top: -4px;\\n}\\ninput {\\n margin-bottom: 5px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/config-textbox-number.vue\"],\"names\":[],\"mappings\":\";AA4FA;IACA,mBAAA;AACA;AAEA;IACA,WAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;IACA,kBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.input75[data-v-1f6251e9] {\\n width: 75px;\\n margin-top: -4px;\\n}\\n.input250[data-v-1f6251e9] {\\n width: 250px;\\n margin-top: -4px;\\n}\\n.input350[data-v-1f6251e9] {\\n width: 350px;\\n margin-top: -4px;\\n}\\n.input450[data-v-1f6251e9] {\\n width: 450px;\\n margin-top: -4px;\\n}\\ninput[data-v-1f6251e9] {\\n margin-bottom: 5px;\\n width: 100%;\\n border: none;\\n}\\n.uri-error-enter-active[data-v-1f6251e9],\\n.uri-error-leave-active[data-v-1f6251e9] {\\n -moz-transition-duration: 0.3s;\\n -webkit-transition-duration: 0.3s;\\n -o-transition-duration: 0.3s;\\n transition-duration: 0.3s;\\n -moz-transition-timing-function: ease-in;\\n -webkit-transition-timing-function: ease-in;\\n -o-transition-timing-function: ease-in;\\n transition-timing-function: ease-in;\\n}\\n.uri-error-enter-to[data-v-1f6251e9],\\n.uri-error-leave[data-v-1f6251e9] {\\n max-height: 100%;\\n}\\n.uri-error-enter[data-v-1f6251e9],\\n.uri-error-leave-to[data-v-1f6251e9] {\\n max-height: 0;\\n}\\n.parent[data-v-1f6251e9] {\\n position: relative;\\n}\\ndiv.uri-error[data-v-1f6251e9] {\\n display: block;\\n overflow: hidden;\\n width: 100%;\\n position: absolute;\\n left: 0;\\n background-color: #e23636;\\n padding: 0 2px 0 2px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/config-textbox.vue\"],\"names\":[],\"mappings\":\";AAiGA;IACA,WAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;IACA,kBAAA;IACA,WAAA;IACA,YAAA;AACA;AAEA;;IAEA,8BAAA;IACA,iCAAA;IACA,4BAAA;IACA,yBAAA;IACA,wCAAA;IACA,2CAAA;IACA,sCAAA;IACA,mCAAA;AACA;AAEA;;IAEA,gBAAA;AACA;AAEA;;IAEA,aAAA;AACA;AAEA;IACA,kBAAA;AACA;AAEA;IACA,cAAA;IACA,gBAAA;IACA,WAAA;IACA,kBAAA;IACA,OAAA;IACA,yBAAA;IACA,oBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.input75 {\\n width: 75px;\\n margin-top: -4px;\\n}\\n.input250 {\\n width: 250px;\\n margin-top: -4px;\\n}\\n.input350 {\\n width: 350px;\\n margin-top: -4px;\\n}\\n.input450 {\\n width: 450px;\\n margin-top: -4px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/config-toggle-slider.vue\"],\"names\":[],\"mappings\":\";AAkFA;IACA,WAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,gBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\ndiv.wrapper > div[data-v-12aec99f] {\\n margin-bottom: 5px;\\n}\\ndiv.identifier[data-v-12aec99f] {\\n float: none;\\n width: auto;\\n overflow: hidden;\\n}\\ndiv.level[data-v-12aec99f] {\\n float: right;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/custom-logs.vue\"],\"names\":[],\"mappings\":\";AA0EA;IACA,kBAAA;AACA;AAEA;IACA,WAAA;IACA,WAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.external-ids {\\n display: inline-block;\\n}\\n.external-ids > * {\\n margin-left: 2px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/externals.vue\"],\"names\":[],\"mappings\":\";AA4DA;IACA,qBAAA;AACA;AAEA;IACA,gBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\ndiv.file-browser.max-width[data-v-26cffdc4] {\\n max-width: 450px;\\n}\\ndiv.file-browser .input-group-no-btn[data-v-26cffdc4] {\\n display: flex;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/file-browser.vue\"],\"names\":[],\"mappings\":\";AAiTA;IACA,gBAAA;AACA;AAEA;IACA,aAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.app-image[data-v-05ed6915] {\\n max-width: 100%;\\n max-height: 100%;\\n width: auto;\\n height: auto;\\n vertical-align: middle;\\n}\\nimg[data-v-05ed6915]:not([src]) {\\n visibility: hidden;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/lazy-image.vue\"],\"names\":[],\"mappings\":\";AA+HA;IACA,eAAA;IACA,gBAAA;IACA,WAAA;IACA,YAAA;IACA,sBAAA;AACA;AAEA;IACA,kBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.load-progress-bar-container {\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n}\\n.border {\\n box-sizing: border-box;\\n height: 26px;\\n text-size-adjust: 100%;\\n width: 382px;\\n perspective-origin: 191px 13px;\\n transform-origin: 191px 13px;\\n border: 1px solid #ccc;\\n border-radius: 5px;\\n}\\n@media (max-width: 767px) {\\n.border {\\n width: 100%;\\n}\\n.load-progress-bar-container {\\n width: 100%;\\n}\\n}\\n.progress {\\n box-sizing: border-box;\\n height: 24px;\\n text-size-adjust: 100%;\\n width: 76px;\\n perspective-origin: 38px 12px;\\n transform-origin: 38px 12px;\\n background: rgba(99, 177, 137, 0.63) none repeat scroll 0% 0% / auto padding-box border-box;\\n}\\n.msg {\\n position: absolute;\\n padding: 3px 5px 0 5px;\\n}\\n\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/load-progress-bar.vue\"],\"names\":[],\"mappings\":\";AAqCA;IACA,kBAAA;IACA,SAAA;IACA,QAAA;AACA;AAEA;IACA,sBAAA;IACA,YAAA;IACA,sBAAA;IACA,YAAA;IACA,8BAAA;IACA,4BAAA;IACA,sBAAA;IACA,kBAAA;AACA;AAEA;AACA;QACA,WAAA;AACA;AAEA;QACA,WAAA;AACA;AACA;AAEA;IACA,sBAAA;IACA,YAAA;IACA,sBAAA;IACA,WAAA;IACA,6BAAA;IACA,2BAAA;IACA,2FAAA;AACA;AAEA;IACA,kBAAA;IACA,sBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.plotInfo {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n}\\n.plotInfoNone {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n opacity: 0.4;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/plot-info.vue\"],\"names\":[],\"mappings\":\";AA0BA;IACA,YAAA;IACA,YAAA;IACA,kBAAA;IACA,QAAA;AACA;AAEA;IACA,YAAA;IACA,YAAA;IACA,kBAAA;IACA,QAAA;IACA,YAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.progressbar[data-v-2a6be2d2] {\\n position: relative;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/progress-bar.vue\"],\"names\":[],\"mappings\":\";AAsCA;IACA,kBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Put both custom quality selectors in the same row */\\n#customQualityWrapper > div[data-v-7daf2e28] {\\n display: inline-block;\\n text-align: left;\\n}\\n\\n/* Put some distance between the two selectors */\\n#customQualityWrapper > div[data-v-7daf2e28]:first-of-type {\\n padding-right: 30px;\\n}\\n.backlog-link[data-v-7daf2e28] {\\n color: blue;\\n text-decoration: underline;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/quality-chooser.vue\"],\"names\":[],\"mappings\":\";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkVA,sDAAA;AACA;IACA,qBAAA;IACA,gBAAA;AACA;;AAEA,gDAAA;AACA;IACA,mBAAA;AACA;AAEA;IACA,WAAA;IACA,0BAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Base class */\\n.quality[data-v-27b6c0c4] {\\n font: 12px/13px \\\"Open Sans\\\", verdana, sans-serif;\\n background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), inset 0 -1px 3px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 1px 2px rgba(0, 0, 0, 0.15);\\n text-shadow: 0 1px rgba(0, 0, 0, 0.8);\\n color: rgb(255, 255, 255);\\n display: inline-block;\\n padding: 2px 4px;\\n text-align: center;\\n vertical-align: baseline;\\n border-radius: 4px;\\n white-space: nowrap;\\n}\\n\\n/* Custom */\\n.custom[data-v-27b6c0c4] {\\n background-color: rgb(98, 25, 147);\\n}\\n\\n/* HD-720p + FHD-1080p */\\n.hd[data-v-27b6c0c4], \\n.anyhdtv[data-v-27b6c0c4], \\n.anywebdl[data-v-27b6c0c4], \\n.anybluray[data-v-27b6c0c4] { /* AnySet */\\n background-color: rgb(38, 114, 182);\\n background-image:\\n repeating-linear-gradient(\\n -45deg,\\n rgb(38, 114, 182),\\n rgb(38, 114, 182) 10px,\\n rgb(91, 153, 13) 10px,\\n rgb(91, 153, 13) 20px\\n );\\n}\\n\\n/* HD-720p */\\n.hd720p[data-v-27b6c0c4], \\n.hdtv[data-v-27b6c0c4],\\n.hdwebdl[data-v-27b6c0c4],\\n.hdbluray[data-v-27b6c0c4] {\\n background-color: rgb(91, 153, 13);\\n}\\n\\n/* FHD-1080p */\\n.hd1080p[data-v-27b6c0c4], \\n.fullhdtv[data-v-27b6c0c4],\\n.fullhdwebdl[data-v-27b6c0c4],\\n.fullhdbluray[data-v-27b6c0c4] {\\n background-color: rgb(38, 114, 182);\\n}\\n\\n/* UHD-4K + UHD-8K */\\n.uhd[data-v-27b6c0c4] { /* Preset */\\n background-color: rgb(117, 0, 255);\\n background-image:\\n repeating-linear-gradient(\\n -45deg,\\n rgb(117, 0, 255),\\n rgb(117, 0, 255) 10px,\\n rgb(65, 0, 119) 10px,\\n rgb(65, 0, 119) 20px\\n );\\n}\\n\\n/* UHD-4K */\\n.uhd4k[data-v-27b6c0c4], \\n.anyuhd4k[data-v-27b6c0c4], \\n.uhd4ktv[data-v-27b6c0c4],\\n.uhd4kwebdl[data-v-27b6c0c4],\\n.uhd4kbluray[data-v-27b6c0c4] {\\n background-color: rgb(117, 0, 255);\\n}\\n\\n/* UHD-8K */\\n.uhd8k[data-v-27b6c0c4], \\n.anyuhd8k[data-v-27b6c0c4], \\n.uhd8ktv[data-v-27b6c0c4],\\n.uhd8kwebdl[data-v-27b6c0c4],\\n.uhd8kbluray[data-v-27b6c0c4] {\\n background-color: rgb(65, 0, 119);\\n}\\n\\n/* RawHD/RawHDTV */\\n.rawhdtv[data-v-27b6c0c4] {\\n background-color: rgb(205, 115, 0);\\n}\\n\\n/* SD */\\n.sd[data-v-27b6c0c4], \\n.sdtv[data-v-27b6c0c4],\\n.sddvd[data-v-27b6c0c4] {\\n background-color: rgb(190, 38, 37);\\n}\\n\\n/* Any */\\n.any[data-v-27b6c0c4] { /* Preset */\\n background-color: rgb(102, 102, 102);\\n}\\n\\n/* Unknown */\\n.unknown[data-v-27b6c0c4] {\\n background-color: rgb(153, 153, 153);\\n}\\n\\n/* Proper (used on History page) */\\n.proper[data-v-27b6c0c4] {\\n background-color: rgb(63, 127, 0);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/quality-pill.vue\"],\"names\":[],\"mappings\":\";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8MA,eAAA;AACA;IACA,gDAAA;IACA,gJAAA;IACA,6IAAA;IACA,2IAAA;IACA,8IAAA;IACA,+JAAA;IACA,qCAAA;IACA,yBAAA;IACA,qBAAA;IACA,gBAAA;IACA,kBAAA;IACA,wBAAA;IACA,kBAAA;IACA,mBAAA;AACA;;AAEA,WAAA;AACA;IACA,kCAAA;AACA;;AAEA,wBAAA;AACA;;;8BAGA,WAAA;IACA,mCAAA;IACA;;;;;;;KAOA;AACA;;AAEA,YAAA;AACA;;;;IAIA,kCAAA;AACA;;AAEA,cAAA;AACA;;;;IAIA,mCAAA;AACA;;AAEA,oBAAA;AACA,wBAAA,WAAA;IACA,kCAAA;IACA;;;;;;;KAOA;AACA;;AAEA,WAAA;AACA;;;;;IAKA,kCAAA;AACA;;AAEA,WAAA;AACA;;;;;IAKA,iCAAA;AACA;;AAEA,kBAAA;AACA;IACA,kCAAA;AACA;;AAEA,OAAA;AACA;;;IAGA,kCAAA;AACA;;AAEA,QAAA;AACA,wBAAA,WAAA;IACA,oCAAA;AACA;;AAEA,YAAA;AACA;IACA,oCAAA;AACA;;AAEA,kCAAA;AACA;IACA,iCAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.isValid[data-v-9e73c4ba] {\\n background-color: #90ee90;\\n color: #fff;\\n font-weight: bold;\\n}\\n.isInvalid[data-v-9e73c4ba] {\\n background-color: #f00;\\n color: #fff !important;\\n font-weight: bold;\\n}\\n.isCustom[data-v-9e73c4ba] {\\n background-color: #00ebaf;\\n color: #fff !important;\\n font-weight: bold;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/scene-number-anime-input.vue\"],\"names\":[],\"mappings\":\";AAsIA;IACA,yBAAA;IACA,WAAA;IACA,iBAAA;AACA;AAEA;IACA,sBAAA;IACA,sBAAA;IACA,iBAAA;AACA;AAEA;IACA,yBAAA;IACA,sBAAA;IACA,iBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.isValid[data-v-8a700f60] {\\n background-color: #90ee90;\\n color: #fff;\\n font-weight: bold;\\n}\\n.isInvalid[data-v-8a700f60] {\\n background-color: #f00;\\n color: #fff !important;\\n font-weight: bold;\\n}\\n.isCustom[data-v-8a700f60] {\\n background-color: #00ebaf;\\n color: #fff !important;\\n font-weight: bold;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/scene-number-input.vue\"],\"names\":[],\"mappings\":\";AA+KA;IACA,yBAAA;IACA,WAAA;IACA,iBAAA;AACA;AAEA;IACA,sBAAA;IACA,sBAAA;IACA,iBAAA;AACA;AAEA;IACA,yBAAA;IACA,sBAAA;IACA,iBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.scroll-wrapper {\\n position: fixed;\\n opacity: 0;\\n visibility: hidden;\\n overflow: hidden;\\n text-align: center;\\n font-size: 20px;\\n z-index: 999;\\n background-color: #777;\\n color: #eee;\\n width: 50px;\\n height: 48px;\\n line-height: 48px;\\n right: 30px;\\n bottom: 30px;\\n padding-top: 2px;\\n border-radius: 10px;\\n -webkit-transition: all 0.5s ease-in-out;\\n -moz-transition: all 0.5s ease-in-out;\\n -ms-transition: all 0.5s ease-in-out;\\n -o-transition: all 0.5s ease-in-out;\\n transition: all 0.5s ease-in-out;\\n}\\n.scroll-wrapper.show {\\n visibility: visible;\\n cursor: pointer;\\n opacity: 1;\\n}\\n.scroll-wrapper.left {\\n position: fixed;\\n right: 150px;\\n}\\n.scroll-wrapper.right {\\n position: fixed;\\n right: 90px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/scroll-buttons.vue\"],\"names\":[],\"mappings\":\";AA8FA;IACA,eAAA;IACA,UAAA;IACA,kBAAA;IACA,gBAAA;IACA,kBAAA;IACA,eAAA;IACA,YAAA;IACA,sBAAA;IACA,WAAA;IACA,WAAA;IACA,YAAA;IACA,iBAAA;IACA,WAAA;IACA,YAAA;IACA,gBAAA;IACA,mBAAA;IACA,wCAAA;IACA,qCAAA;IACA,oCAAA;IACA,mCAAA;IACA,gCAAA;AACA;AAEA;IACA,mBAAA;IACA,eAAA;IACA,UAAA;AACA;AAEA;IACA,eAAA;IACA,YAAA;AACA;AAEA;IACA,eAAA;IACA,WAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n#naming-key {\\n margin: 20px 0 20px 0;\\n}\\n.template-container {\\n padding-left: 40px;\\n}\\n.show-template {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n.move-down {\\n transform: translateY(10px);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/search-template-container.vue\"],\"names\":[],\"mappings\":\";AA6dA;IACA,qBAAA;AACA;AAEA;IACA,kBAAA;AACA;AAEA;IACA,UAAA;IACA,QAAA;IACA,kBAAA;IACA,WAAA;IACA,YAAA;AACA;AAEA;IACA,2BAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.show-template[data-v-4f60cc3f] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n.template-example[data-v-4f60cc3f] {\\n display: block;\\n line-height: 20px;\\n margin-bottom: 15px;\\n padding: 2px 5px 2px 2px;\\n clear: left;\\n max-width: 338px;\\n}\\n.tooltip-wrapper[data-v-4f60cc3f] {\\n min-width: 340px;\\n}\\n.invalid[data-v-4f60cc3f] {\\n background-color: #ff5b5b;\\n}\\n.error-message[data-v-4f60cc3f] {\\n color: red;\\n}\\n.tooltip[data-v-4f60cc3f] {\\n display: block !important;\\n z-index: 10000;\\n}\\n.tooltip .tooltip-inner[data-v-4f60cc3f] {\\n background: #ffef93;\\n color: #555;\\n border-radius: 16px;\\n padding: 5px 10px 4px;\\n border: 1px solid #f1d031;\\n -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n}\\n.tooltip .tooltip-arrow[data-v-4f60cc3f] {\\n width: 0;\\n height: 0;\\n position: absolute;\\n margin: 5px;\\n border: 1px solid #ffef93;\\n z-index: 1;\\n}\\n.tooltip[x-placement^='top'][data-v-4f60cc3f] {\\n margin-bottom: 5px;\\n}\\n.tooltip[x-placement^='top'] .tooltip-arrow[data-v-4f60cc3f] {\\n border-width: 5px 5px 0 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n bottom: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^='bottom'][data-v-4f60cc3f] {\\n margin-top: 5px;\\n}\\n.tooltip[x-placement^='bottom'] .tooltip-arrow[data-v-4f60cc3f] {\\n border-width: 0 5px 5px 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-top-color: transparent !important;\\n top: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^='right'][data-v-4f60cc3f] {\\n margin-left: 5px;\\n}\\n.tooltip[x-placement^='right'] .tooltip-arrow[data-v-4f60cc3f] {\\n border-width: 5px 5px 5px 0;\\n border-left-color: transparent !important;\\n border-top-color: transparent !important;\\n border-bottom-color: transparent !important;\\n left: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip[x-placement^='left'][data-v-4f60cc3f] {\\n margin-right: 5px;\\n}\\n.tooltip[x-placement^='left'] .tooltip-arrow[data-v-4f60cc3f] {\\n border-width: 5px 0 5px 5px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n right: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip.popover .popover-inner[data-v-4f60cc3f] {\\n background: #ffef93;\\n color: #555;\\n padding: 24px;\\n border-radius: 5px;\\n box-shadow: 0 5px 30px rgba(black, 0.1);\\n}\\n.tooltip.popover .popover-arrow[data-v-4f60cc3f] {\\n border-color: #ffef93;\\n}\\n.tooltip[aria-hidden='true'][data-v-4f60cc3f] {\\n visibility: hidden;\\n opacity: 0;\\n transition: opacity 0.15s, visibility 0.15s;\\n}\\n.tooltip[aria-hidden='false'][data-v-4f60cc3f] {\\n visibility: visible;\\n opacity: 1;\\n transition: opacity 0.15s;\\n}\\n.vertical-align[data-v-4f60cc3f] {\\n display: flex;\\n align-items: center;\\n}\\n.vertical-align > p[data-v-4f60cc3f] {\\n margin: auto 10px;\\n}\\n.pattern > span[data-v-4f60cc3f] {\\n position: absolute;\\n top: 0;\\n left: 25px;\\n color: black;\\n background-color: grey;\\n padding: 1px 5px;\\n opacity: 0.8;\\n border-radius: 5px;\\n}\\n.pattern[data-v-4f60cc3f] {\\n position: relative;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/search-template-custom.vue\"],\"names\":[],\"mappings\":\";AA+TA;IACA,UAAA;IACA,QAAA;IACA,kBAAA;IACA,WAAA;IACA,YAAA;AACA;AAEA;IACA,cAAA;IACA,iBAAA;IACA,mBAAA;IACA,wBAAA;IACA,WAAA;IACA,gBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,yBAAA;AACA;AAEA;IACA,UAAA;AACA;AAEA;IACA,yBAAA;IACA,cAAA;AACA;AAEA;IACA,mBAAA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,yBAAA;IACA,uDAAA;IACA,oDAAA;IACA,+CAAA;AACA;AAEA;IACA,QAAA;IACA,SAAA;IACA,kBAAA;IACA,WAAA;IACA,yBAAA;IACA,UAAA;AACA;AAEA;IACA,kBAAA;AACA;AAEA;IACA,2BAAA;IACA,yCAAA;IACA,0CAAA;IACA,2CAAA;IACA,YAAA;IACA,qBAAA;IACA,aAAA;IACA,gBAAA;AACA;AAEA;IACA,eAAA;AACA;AAEA;IACA,2BAAA;IACA,yCAAA;IACA,0CAAA;IACA,wCAAA;IACA,SAAA;IACA,qBAAA;IACA,aAAA;IACA,gBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,2BAAA;IACA,yCAAA;IACA,wCAAA;IACA,2CAAA;IACA,UAAA;IACA,oBAAA;IACA,cAAA;IACA,eAAA;AACA;AAEA;IACA,iBAAA;AACA;AAEA;IACA,2BAAA;IACA,wCAAA;IACA,0CAAA;IACA,2CAAA;IACA,WAAA;IACA,oBAAA;IACA,cAAA;IACA,eAAA;AACA;AAEA;IACA,mBAAA;IACA,WAAA;IACA,aAAA;IACA,kBAAA;IACA,uCAAA;AACA;AAEA;IACA,qBAAA;AACA;AAEA;IACA,kBAAA;IACA,UAAA;IACA,2CAAA;AACA;AAEA;IACA,mBAAA;IACA,UAAA;IACA,yBAAA;AACA;AAEA;IACA,aAAA;IACA,mBAAA;AACA;AAEA;IACA,iBAAA;AACA;AAEA;IACA,kBAAA;IACA,MAAA;IACA,UAAA;IACA,YAAA;IACA,sBAAA;IACA,gBAAA;IACA,YAAA;IACA,kBAAA;AACA;AAEA;IACA,kBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.show-template[data-v-007d54df] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n.template-example[data-v-007d54df] {\\n display: block;\\n line-height: 20px;\\n margin-bottom: 15px;\\n padding: 2px 5px 2px 2px;\\n clear: left;\\n max-width: 338px;\\n}\\n.template-wrapper[data-v-007d54df] {\\n max-width: 350px;\\n}\\n.tooltip-wrapper-pattern[data-v-007d54df] {\\n max-width: 350px;\\n}\\n.invalid[data-v-007d54df] {\\n background-color: #ff5b5b;\\n}\\n.tooltip[data-v-007d54df] {\\n display: block !important;\\n z-index: 10000;\\n}\\n.tooltip .tooltip-inner[data-v-007d54df] {\\n background: #ffef93;\\n color: #555;\\n border-radius: 16px;\\n padding: 5px 10px 4px;\\n border: 1px solid #f1d031;\\n -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n}\\n.tooltip .tooltip-arrow[data-v-007d54df] {\\n width: 0;\\n height: 0;\\n position: absolute;\\n margin: 5px;\\n border: 1px solid #ffef93;\\n z-index: 1;\\n}\\n.tooltip[x-placement^='top'][data-v-007d54df] {\\n margin-bottom: 5px;\\n}\\n.tooltip[x-placement^='top'] .tooltip-arrow[data-v-007d54df] {\\n border-width: 5px 5px 0 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n bottom: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^='bottom'][data-v-007d54df] {\\n margin-top: 5px;\\n}\\n.tooltip[x-placement^='bottom'] .tooltip-arrow[data-v-007d54df] {\\n border-width: 0 5px 5px 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-top-color: transparent !important;\\n top: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^='right'][data-v-007d54df] {\\n margin-left: 5px;\\n}\\n.tooltip[x-placement^='right'] .tooltip-arrow[data-v-007d54df] {\\n border-width: 5px 5px 5px 0;\\n border-left-color: transparent !important;\\n border-top-color: transparent !important;\\n border-bottom-color: transparent !important;\\n left: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip[x-placement^='left'][data-v-007d54df] {\\n margin-right: 5px;\\n}\\n.tooltip[x-placement^='left'] .tooltip-arrow[data-v-007d54df] {\\n border-width: 5px 0 5px 5px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n right: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip.popover .popover-inner[data-v-007d54df] {\\n background: #ffef93;\\n color: #555;\\n padding: 24px;\\n border-radius: 5px;\\n box-shadow: 0 5px 30px rgba(black, 0.1);\\n}\\n.tooltip.popover .popover-arrow[data-v-007d54df] {\\n border-color: #ffef93;\\n}\\n.tooltip[aria-hidden='true'][data-v-007d54df] {\\n visibility: hidden;\\n opacity: 0;\\n transition: opacity 0.15s, visibility 0.15s;\\n}\\n.tooltip[aria-hidden='false'][data-v-007d54df] {\\n visibility: visible;\\n opacity: 1;\\n transition: opacity 0.15s;\\n}\\n.template-title[data-v-007d54df] {\\n padding: 0 0 3px 5px;\\n display: inline-block;\\n}\\n.template-remove[data-v-007d54df] {\\n float: right;\\n margin-right: 4px;\\n margin-top: 2px;\\n}\\n.template-remove[data-v-007d54df]:hover {\\n animation-name: spin-data-v-007d54df;\\n animation-duration: 500ms;\\n animation-timing-function: ease-out;\\n}\\n@keyframes spin-data-v-007d54df {\\nfrom {\\n transform: rotate(0deg);\\n}\\nto {\\n transform: rotate(180deg);\\n}\\n}\\n.template-body[data-v-007d54df] {\\n display: flex;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/search-template-pattern.vue\"],\"names\":[],\"mappings\":\";AAqMA;IACA,UAAA;IACA,QAAA;IACA,kBAAA;IACA,WAAA;IACA,YAAA;AACA;AAEA;IACA,cAAA;IACA,iBAAA;IACA,mBAAA;IACA,wBAAA;IACA,WAAA;IACA,gBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,yBAAA;AACA;AAEA;IACA,yBAAA;IACA,cAAA;AACA;AAEA;IACA,mBAAA;IACA,WAAA;IACA,mBAAA;IACA,qBAAA;IACA,yBAAA;IACA,uDAAA;IACA,oDAAA;IACA,+CAAA;AACA;AAEA;IACA,QAAA;IACA,SAAA;IACA,kBAAA;IACA,WAAA;IACA,yBAAA;IACA,UAAA;AACA;AAEA;IACA,kBAAA;AACA;AAEA;IACA,2BAAA;IACA,yCAAA;IACA,0CAAA;IACA,2CAAA;IACA,YAAA;IACA,qBAAA;IACA,aAAA;IACA,gBAAA;AACA;AAEA;IACA,eAAA;AACA;AAEA;IACA,2BAAA;IACA,yCAAA;IACA,0CAAA;IACA,wCAAA;IACA,SAAA;IACA,qBAAA;IACA,aAAA;IACA,gBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,2BAAA;IACA,yCAAA;IACA,wCAAA;IACA,2CAAA;IACA,UAAA;IACA,oBAAA;IACA,cAAA;IACA,eAAA;AACA;AAEA;IACA,iBAAA;AACA;AAEA;IACA,2BAAA;IACA,wCAAA;IACA,0CAAA;IACA,2CAAA;IACA,WAAA;IACA,oBAAA;IACA,cAAA;IACA,eAAA;AACA;AAEA;IACA,mBAAA;IACA,WAAA;IACA,aAAA;IACA,kBAAA;IACA,uCAAA;AACA;AAEA;IACA,qBAAA;AACA;AAEA;IACA,kBAAA;IACA,UAAA;IACA,2CAAA;AACA;AAEA;IACA,mBAAA;IACA,UAAA;IACA,yBAAA;AACA;AAEA;IACA,oBAAA;IACA,qBAAA;AACA;AAEA;IACA,YAAA;IACA,iBAAA;IACA,eAAA;AACA;AAEA;IACA,oCAAA;IACA,yBAAA;IACA,mCAAA;AACA;AAEA;AACA;QACA,uBAAA;AACA;AAEA;QACA,yBAAA;AACA;AACA;AAEA;IACA,aAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.mobile-select[data-v-4a074bc4] {\\n width: 110px;\\n font-size: x-small;\\n}\\n.search-wrapper[data-v-4a074bc4] {\\n float: left;\\n}\\n.search-wrapper > img[data-v-4a074bc4] {\\n cursor: pointer;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/search.vue\"],\"names\":[],\"mappings\":\";AA8KA;IACA,YAAA;IACA,kBAAA;AACA;AAEA;IACA,WAAA;AACA;AAEA;IACA,eAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\ndiv.select-list ul[data-v-1843461f] {\\n padding-left: 0;\\n}\\ndiv.select-list li[data-v-1843461f] {\\n list-style-type: none;\\n display: flex;\\n}\\ndiv.select-list .new-item[data-v-1843461f] {\\n display: flex;\\n}\\ndiv.select-list .new-item-help[data-v-1843461f] {\\n font-weight: bold;\\n padding-top: 5px;\\n}\\ndiv.select-list input[data-v-1843461f],\\ndiv.select-list img[data-v-1843461f] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ndiv.select-list.max-width[data-v-1843461f] {\\n max-width: 450px;\\n}\\ndiv.select-list .switch-input[data-v-1843461f] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/select-list.vue\"],\"names\":[],\"mappings\":\";AA6KA;IACA,eAAA;AACA;AAEA;IACA,qBAAA;IACA,aAAA;AACA;AAEA;IACA,aAAA;AACA;AAEA;IACA,iBAAA;IACA,gBAAA;AACA;AAEA;;IAEA,qBAAA;IACA,sBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,UAAA;IACA,QAAA;IACA,kBAAA;IACA,WAAA;IACA,YAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\nul[data-v-20efe074] {\\n padding-left: 0;\\n}\\nli[data-v-20efe074] {\\n list-style-type: none;\\n}\\n.trakt-list-group[data-v-20efe074] {\\n display: inline-flex;\\n height: 25px;\\n}\\ninput[data-v-20efe074] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ninput.available-list[data-v-20efe074] {\\n height: 22px;\\n}\\ninput[type=checkbox][data-v-20efe074] {\\n width: 20px;\\n height: 20px;\\n}\\n.max-width[data-v-20efe074] {\\n max-width: 450px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/select-trakt-lists.vue\"],\"names\":[],\"mappings\":\";AA2CA;IACA,eAAA;AACA;AAEA;IACA,qBAAA;AACA;AAEA;IACA,oBAAA;IACA,YAAA;AACA;AAEA;IACA,qBAAA;IACA,sBAAA;AACA;AAEA;IACA,YAAA;AACA;AAEA;IACA,WAAA;IACA,YAAA;AACA;AAEA;IACA,gBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\nselect.select-show {\\n display: inline-block;\\n height: 25px;\\n padding: 1px;\\n min-width: 200px;\\n}\\n.show-selector {\\n height: 31px;\\n display: table-cell;\\n left: 20px;\\n margin-bottom: 5px;\\n}\\n@media (max-width: 767px) and (min-width: 341px) {\\n.select-show-group,\\n .select-show {\\n width: 100%;\\n}\\n}\\n@media (max-width: 340px) {\\n.select-show-group {\\n width: 100%;\\n}\\n}\\n@media (max-width: 767px) {\\n.show-selector {\\n float: left;\\n width: 100%;\\n}\\n.select-show {\\n width: 100%;\\n}\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/show-selector.vue\"],\"names\":[],\"mappings\":\";AAuHA;IACA,qBAAA;IACA,YAAA;IACA,YAAA;IACA,gBAAA;AACA;AAEA;IACA,YAAA;IACA,mBAAA;IACA,UAAA;IACA,kBAAA;AACA;AAEA;AACA;;QAEA,WAAA;AACA;AACA;AAEA;AACA;QACA,WAAA;AACA;AACA;AAEA;AACA;QACA,WAAA;QACA,WAAA;AACA;AAEA;QACA,WAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\ndiv.select-list ul[data-v-48a6e4c2] {\\n padding-left: 0;\\n}\\ndiv.select-list li[data-v-48a6e4c2] {\\n list-style-type: none;\\n display: flex;\\n}\\ndiv.select-list .new-item[data-v-48a6e4c2] {\\n display: flex;\\n}\\ndiv.select-list .new-item-help[data-v-48a6e4c2] {\\n font-weight: bold;\\n padding-top: 5px;\\n}\\ndiv.select-list input[data-v-48a6e4c2],\\ndiv.select-list img[data-v-48a6e4c2] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ndiv.select-list.max-width[data-v-48a6e4c2] {\\n max-width: 450px;\\n}\\ndiv.select-list .switch-input[data-v-48a6e4c2] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n.draggable-list[data-v-48a6e4c2] {\\n list-style: none;\\n}\\n.draggable-input-group[data-v-48a6e4c2] {\\n display: inline-flex;\\n width: 300px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/sorted-select-list.vue\"],\"names\":[],\"mappings\":\";AA8IA;IACA,eAAA;AACA;AAEA;IACA,qBAAA;IACA,aAAA;AACA;AAEA;IACA,aAAA;AACA;AAEA;IACA,iBAAA;IACA,gBAAA;AACA;AAEA;;IAEA,qBAAA;IACA,sBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,UAAA;IACA,QAAA;IACA,kBAAA;IACA,WAAA;IACA,YAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,oBAAA;IACA,YAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.opacity-25 {\\n opacity: 0.25;\\n}\\n.opacity-75 {\\n opacity: 0.75;\\n}\\n.animate-spin {\\n animation: spin 1s linear infinite;\\n color: green;\\n}\\n@keyframes spin {\\nfrom {\\n transform: rotate(0deg);\\n}\\nto {\\n transform: rotate(360deg);\\n}\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/state-switch.vue\"],\"names\":[],\"mappings\":\";AAuEA;IACA,aAAA;AACA;AAEA;IACA,aAAA;AACA;AAEA;IACA,kCAAA;IACA,YAAA;AACA;AAEA;AACA;QACA,uBAAA;AACA;AAEA;QACA,yBAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.submenu-offset[data-v-0d6fc9aa] {\\n margin-top: 45px;\\n}\\n@media (max-width: 991px) and (min-width: 768px) {\\n.submenu-offset[data-v-0d6fc9aa] {\\n margin-top: 90px;\\n}\\n}\\n@media (max-width: 991px) {\\n.submenu-offset[data-v-0d6fc9aa] {\\n margin-top: 85px;\\n}\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/submenu-offset.vue\"],\"names\":[],\"mappings\":\";AAWA;IACA,gBAAA;AACA;AAEA;AACA;QACA,gBAAA;AACA;AACA;AAEA;AACA;QACA,gBAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\npre[data-v-3796064f] {\\n word-wrap: break-word;\\n}\\n.error[data-v-3796064f] {\\n width: 100%;\\n padding: 0.5rem;\\n background-color: red;\\n font-weight: 700;\\n border-radius: 2px;\\n margin-bottom: 2rem;\\n}\\n.matched-show[data-v-3796064f] {\\n display: flex;\\n margin-bottom: 2rem;\\n}\\n.matched-show > div[data-v-3796064f] {\\n margin-right: 2rem;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/test-guessit.vue\"],\"names\":[],\"mappings\":\";AA6EA;IACA,qBAAA;AACA;AAEA;IACA,WAAA;IACA,eAAA;IACA,qBAAA;IACA,gBAAA;IACA,kBAAA;IACA,mBAAA;AACA;AAEA;IACA,aAAA;IACA,mBAAA;AACA;AAEA;IACA,kBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.test-provider[data-v-a8b1934a] {\\n float: left;\\n}\\n.test-provider > button[data-v-a8b1934a] {\\n margin: 0 5px;\\n}\\n.testresult[data-v-a8b1934a] {\\n border-style: solid;\\n border-width: 1px;\\n padding: 1px 4px 4px 4px;\\n border-color: #ccc;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/helpers/test-provider.vue\"],\"names\":[],\"mappings\":\";AA8DA;IACA,WAAA;AACA;AAEA;IACA,aAAA;AACA;AAEA;IACA,mBAAA;IACA,iBAAA;IACA,wBAAA;IACA,kBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* History compact */\\nspan.release-group[data-v-09e6ca40] {\\n cursor: help;\\n margin-right: 5px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/history-compact.vue\"],\"names\":[],\"mappings\":\";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqTA,oBAAA;AACA;IACA,YAAA;IACA,iBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* History tables */\\n.status-name > svg[data-v-499f13b8] {\\n margin-left: 5px;\\n}\\n.vgt-multiselect[data-v-499f13b8] {\\n min-height: 30px;\\n}\\n.multiselect--active[data-v-499f13b8] {\\n min-width: 200px;\\n}\\n.vgt-multiselect[data-v-499f13b8] .multiselect__placeholder {\\n margin-bottom: 0;\\n padding-top: 0;\\n}\\n.vgt-multiselect[data-v-499f13b8] .multiselect__tags {\\n padding-top: 0;\\n min-height: 30px;\\n}\\n:not(tr.status) span.episode-title a[data-v-499f13b8],\\n:not(tr.status) span.show-title a[data-v-499f13b8] {\\n text-decoration: none;\\n color: rgb(255, 255, 255);\\n}\\ntr.status span.episode-title a[data-v-499f13b8],\\ntr span.show-title a[data-v-499f13b8] {\\n text-decoration: none;\\n color: rgb(0, 0, 0);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/history-detailed.vue\"],\"names\":[],\"mappings\":\";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8XA,mBAAA;AACA;IACA,gBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,gBAAA;AACA;AAEA;IACA,gBAAA;IACA,cAAA;AACA;AAEA;IACA,cAAA;IACA,gBAAA;AACA;AAEA;;IAEA,qBAAA;IACA,yBAAA;AACA;AAEA;;IAEA,qBAAA;IACA,mBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\nul.list-group > li[data-v-5e3ed5ae] {\\n list-style: none;\\n margin-bottom: 10px;\\n}\\n.home-header-controls[data-v-5e3ed5ae] {\\n display: flex;\\n}\\n.home-header-controls > h2[data-v-5e3ed5ae] {\\n white-space: nowrap;\\n}\\n.home-options[data-v-5e3ed5ae] {\\n align-self: flex-end;\\n width: 100%;\\n}\\n.home-filter-option[data-v-5e3ed5ae] {\\n margin-left: 10px;\\n line-height: 40px;\\n}\\n@media (max-width: 768px) {\\n.show-option[data-v-5e3ed5ae] {\\n width: 100%;\\n display: inline-block;\\n}\\n.show-option-layout > span[data-v-5e3ed5ae] {\\n display: none;\\n}\\n}\\n\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/home.vue\"],\"names\":[],\"mappings\":\";AAuLA;IACA,gBAAA;IACA,mBAAA;AACA;AAEA;IACA,aAAA;AACA;AAEA;IACA,mBAAA;AACA;AAEA;IACA,oBAAA;IACA,WAAA;AACA;AAEA;IACA,iBAAA;IACA,iBAAA;AACA;AAEA;AACA;QACA,WAAA;QACA,qBAAA;AACA;AAEA;QACA,aAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.irc-frame[data-v-e1ac0426] {\\n width: 100%;\\n height: 500px;\\n border: 1px #000 solid;\\n}\\n.loading-spinner[data-v-e1ac0426] {\\n background-position: center center;\\n background-repeat: no-repeat;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/irc.vue\"],\"names\":[],\"mappings\":\";AA2BA;IACA,WAAA;IACA,aAAA;IACA,sBAAA;AACA;AAEA;IACA,kCAAA;IACA,4BAAA;AACA\",\"sourcesContent\":[\"