\n\n\n","import { render } from \"./Loading.vue?vue&type=template&id=4d9c871b&scoped=true\"\nconst script = {}\n\nimport \"./Loading.vue?vue&type=style&index=0&id=4d9c871b&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4d9c871b\"\n\nexport default script","\n\n","import script from \"./Api.vue?vue&type=script&lang=js\"\nexport * from \"./Api.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./DateTime.vue?vue&type=script&lang=js\"\nexport * from \"./DateTime.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Events.vue?vue&type=script&lang=js\"\nexport * from \"./Events.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Notification.vue?vue&type=script&lang=js\"\nexport * from \"./Notification.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Screen.vue?vue&type=script&lang=js\"\nexport * from \"./Screen.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Types.vue?vue&type=script&lang=js\"\nexport * from \"./Types.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Utils.vue?vue&type=script&lang=js\"\nexport * from \"./Utils.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=0&id=6e3b2a94&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loading.vue?vue&type=style&index=0&id=4d9c871b&lang=scss&scoped=true\"","\n \n \n \n \n\n \n\n\n\n\n\n\n","\n
\n \n \n
\n\n\n\n\n","\n
\n \n
\n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n\n\n\n\n","import { render } from \"./Notification.vue?vue&type=template&id=7646705e&scoped=true\"\nimport script from \"./Notification.vue?vue&type=script&lang=js\"\nexport * from \"./Notification.vue?vue&type=script&lang=js\"\n\nimport \"./Notification.vue?vue&type=style&index=0&id=7646705e&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7646705e\"\n\nexport default script","import { render } from \"./Notifications.vue?vue&type=template&id=6dc8bebc&scoped=true\"\nimport script from \"./Notifications.vue?vue&type=script&lang=js\"\nexport * from \"./Notifications.vue?vue&type=script&lang=js\"\n\nimport \"./Notifications.vue?vue&type=style&index=0&id=6dc8bebc&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-6dc8bebc\"\n\nexport default script","\n \n\n\n\n","import { render } from \"./Events.vue?vue&type=template&id=f0cdf530\"\nimport script from \"./Events.vue?vue&type=script&lang=js\"\nexport * from \"./Events.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n
\n \n
\n \n \n \n \n
\n\n
\n
\n Assistant listening\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n\n\n\n\n","import { render } from \"./VoiceAssistant.vue?vue&type=template&id=3f009270\"\nimport script from \"./VoiceAssistant.vue?vue&type=script&lang=js\"\nexport * from \"./VoiceAssistant.vue?vue&type=script&lang=js\"\n\nimport \"./VoiceAssistant.vue?vue&type=style&index=0&id=3f009270&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Pushbullet.vue?vue&type=template&id=bf9869d4\"\nimport script from \"./Pushbullet.vue?vue&type=script&lang=js\"\nexport * from \"./Pushbullet.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import { render } from \"./App.vue?vue&type=template&id=618fbb8c\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=618fbb8c&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n
\n \n \n \n \n \n \n \n
\n\n\n\n\n\n\n\n","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Row.vue?vue&type=template&id=1b4663f2&scoped=true\"\nimport script from \"./Row.vue?vue&type=script&lang=js\"\nexport * from \"./Row.vue?vue&type=script&lang=js\"\n\nimport \"./Row.vue?vue&type=style&index=0&id=1b4663f2&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1b4663f2\"\n\nexport default script","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Widget.vue?vue&type=template&id=8c529832&scoped=true\"\nimport script from \"./Widget.vue?vue&type=script&lang=js\"\nexport * from \"./Widget.vue?vue&type=script&lang=js\"\n\nimport \"./Widget.vue?vue&type=style&index=0&id=8c529832&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-8c529832\"\n\nexport default script","import { render } from \"./Dashboard.vue?vue&type=template&id=0ba67711&scoped=true\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=0ba67711&lang=scss&scoped=true\"\nimport \"./Dashboard.vue?vue&type=style&index=1&id=0ba67711&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-0ba67711\"\n\nexport default script","\n
Object not found
\n\n\n\n\n","import { render } from \"./NotFound.vue?vue&type=template&id=49501f4d\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Login.vue?vue&type=template&id=07800d9c\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\n\nimport \"./Login.vue?vue&type=style&index=0&id=07800d9c&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Register.vue?vue&type=template&id=1244b238\"\nimport script from \"./Register.vue?vue&type=script&lang=js\"\nexport * from \"./Register.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n \n \n\n
\n
\n \n
\n
\n \n\n\n\n\n\n\n\n","\n \n\n\n\n\n\n\n","import { render } from \"./Nav.vue?vue&type=template&id=4ac2b564&scoped=true\"\nimport script from \"./Nav.vue?vue&type=script&lang=js\"\nexport * from \"./Nav.vue?vue&type=script&lang=js\"\n\nimport \"./Nav.vue?vue&type=style&index=0&id=4ac2b564&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4ac2b564\"\n\nexport default script","import { render } from \"./Panel.vue?vue&type=template&id=6e3b2a94&scoped=true\"\nimport script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nimport \"./Panel.vue?vue&type=style&index=0&id=6e3b2a94&lang=scss&scoped=true\"\nimport \"./Panel.vue?vue&type=style&index=1&id=6e3b2a94&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-6e3b2a94\"\n\nexport default script","import { createWebHistory, createRouter } from \"vue-router\";\nimport Dashboard from \"@/views/Dashboard.vue\";\nimport NotFound from \"@/views/NotFound\";\nimport Login from \"@/views/Login\";\nimport Register from \"@/views/Register\";\nimport Panel from \"@/views/Panel\";\n\nconst routes = [\n {\n path: \"/\",\n name: \"Panel\",\n component: Panel,\n },\n\n {\n path: \"/dashboard/:name\",\n name: \"Dashboard\",\n component: Dashboard,\n },\n\n {\n path: \"/login\",\n name: \"Login\",\n component: Login,\n },\n\n {\n path: \"/register\",\n name: \"Register\",\n component: Register,\n },\n\n {\n path: \"/:catchAll(.*)\",\n component: NotFound,\n },\n];\n\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n});\n\nexport default router;\n","import { createApp } from 'vue'\nimport App from '@/App.vue'\nimport router from '@/router'\n\nconst app = createApp(App)\napp.config.globalProperties._config = window.config\napp.use(router).mount('#app')\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Row.vue?vue&type=style&index=0&id=1b4663f2&lang=scss&scoped=true\"","\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n\n\n\n","import { render } from \"./Modal.vue?vue&type=template&id=422f1b1c&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=422f1b1c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-422f1b1c\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dashboard.vue?vue&type=style&index=1&id=0ba67711&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Login.vue?vue&type=style&index=0&id=07800d9c&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=1&id=6e3b2a94&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Modal.vue?vue&type=style&index=0&id=422f1b1c&lang=scss&scoped=true\"","var map = {\n\t\"./Calendar/Index\": [\n\t\t\"3c97\",\n\t\t\"chunk-d18d563a\"\n\t],\n\t\"./DateTime/Index\": [\n\t\t\"365a\",\n\t\t\"chunk-0a891b5a\"\n\t],\n\t\"./DateTimeWeather/Index\": [\n\t\t\"3737\",\n\t\t\"chunk-984338ca\",\n\t\t\"chunk-0a891b5a\",\n\t\t\"chunk-964fe404\"\n\t],\n\t\"./ImageCarousel/Index\": [\n\t\t\"c845\",\n\t\t\"chunk-984338ca\",\n\t\t\"chunk-0a891b5a\",\n\t\t\"chunk-5145872a\"\n\t],\n\t\"./Music/Index\": [\n\t\t\"bcf7\",\n\t\t\"chunk-711696bb\"\n\t],\n\t\"./Plugin/Index\": [\n\t\t\"dabe\",\n\t\t\"chunk-d22da0c0\"\n\t],\n\t\"./RssNews/Index\": [\n\t\t\"c306\",\n\t\t\"chunk-2e3e3996\"\n\t],\n\t\"./Weather/Index\": [\n\t\t\"5b43\",\n\t\t\"chunk-984338ca\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"cdb9\";\nmodule.exports = webpackAsyncContext;","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=618fbb8c&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./VoiceAssistant.vue?vue&type=style&index=0&id=3f009270&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Nav.vue?vue&type=style&index=0&id=4ac2b564&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Notification.vue?vue&type=style&index=0&id=7646705e&lang=scss&scoped=true\"","import mitt from 'mitt';\n\nconst bus = mitt();\n\nexport { bus };\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/app.9916f25f.js b/platypush/backend/http/dist/static/js/app.9916f25f.js
deleted file mode 100644
index 80b0ca140..000000000
--- a/platypush/backend/http/dist/static/js/app.9916f25f.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(function(e){function t(t){for(var c,s,r=t[0],o=t[1],u=t[2],l=0,d=[];l1&&void 0!==arguments[1]?arguments[1]:6e4,c={};return"target"in e&&e["target"]||(e["target"]="localhost"),"type"in e&&e["type"]||(e["type"]="request"),n&&(c.timeout=n),new Promise((function(n,i){s.a.post("/execute",e,c).then((function(e){var c;if(e=e.data.response,null===(c=e.errors)||void 0===c?void 0:c.length){var s,a=(null===(s=e.errors)||void 0===s?void 0:s[0])||e;t.notify({text:a,error:!0}),i(a)}else n(e.output)})).catch((function(e){t.notify({text:e,error:!0}),i(e)}))}))},request:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:6e4;return this.execute({type:"request",action:e,args:t},n)}}},a=i,r=(n("99af"),{name:"DateTime",methods:{formatDate:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"string"===typeof e&&(e=new Date(Date.parse(e))),e.toDateString().substring(0,t?15:10)},formatTime:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return"string"===typeof e&&(e=new Date(Date.parse(e))),e.toTimeString().substring(0,t?8:5)},formatDateTime:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return"string"===typeof e&&(e=new Date(Date.parse(e))),"".concat(this.formatDate(e,t),", ").concat(this.formatTime(e,n))}}}),o=r,u=(n("4160"),n("159b"),n("ddb0"),n("2909")),l=n("f5ef"),d={name:"Events",computed:{_eventsReady:function(){var e;return null===(e=this.$root.$refs.events)||void 0===e?void 0:e.initialized}},methods:{subscribe:function(e,t){for(var n=this,c=arguments.length,s=new Array(c>2?c-2:0),i=2;i1024&&(s===n.length-1?t=c:e/=1024)})),"".concat(e.toFixed(2)," ").concat(t)}}}),g=v,O={name:"Utils",mixins:[a,f,h,o,m,g]};t["a"]=O},4212:function(e,t,n){"use strict";n("6a4b")},"4f22":function(e,t,n){"use strict";n("6364")},5056:function(e){e.exports=JSON.parse('{"a":{"light.hue":{"class":"fas fa-lightbulb"},"media.omxplayer":{"class":"fa fa-film"},"media.mplayer":{"class":"fa fa-film"},"media.mpv":{"class":"fa fa-film"},"media.vlc":{"class":"fa fa-film"},"music.mpd":{"class":"fas fa-music"},"music.snapcast":{"class":"fa fa-volume-up"},"torrent":{"class":"fa fa-magnet"},"rtorrent":{"class":"fa fa-magnet"},"zigbee.mqtt":{"imgUrl":"/icons/zigbee.svg"}}}')},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d");var c=n("7a23");function s(e,t,n,s,i,a){var r=Object(c["z"])("Events"),o=Object(c["z"])("Notifications"),u=Object(c["z"])("VoiceAssistant"),l=Object(c["z"])("Pushbullet"),d=Object(c["z"])("router-view");return Object(c["r"])(),Object(c["e"])(c["a"],null,[a.hasWebsocket?(Object(c["r"])(),Object(c["e"])(r,{key:0,ref:"events","ws-port":i.config["backend.http"].websocket_port},null,8,["ws-port"])):Object(c["f"])("",!0),Object(c["h"])(o,{ref:"notifications"},null,512),a.hasAssistant?(Object(c["r"])(),Object(c["e"])(u,{key:1,ref:"voice-assistant"},null,512)):Object(c["f"])("",!0),a.hasPushbullet?(Object(c["r"])(),Object(c["e"])(l,{key:2,ref:"pushbullet"},null,512)):Object(c["f"])("",!0),Object(c["h"])(d)],64)}n("96cf");var i=n("1da1"),a=(n("9911"),Object(c["K"])("data-v-6dc8bebc"));Object(c["u"])("data-v-6dc8bebc");var r={class:"notifications"};Object(c["s"])();var o=a((function(e,t,n,s,i,a){var o=Object(c["z"])("Notification");return Object(c["r"])(),Object(c["e"])("div",r,[(Object(c["r"])(!0),Object(c["e"])(c["a"],null,Object(c["x"])(e.notifications,(function(e,t,n){return Object(c["r"])(),Object(c["e"])(o,{key:n,id:t,text:e.text,html:e.html,title:e.title,link:e.link,image:e.image,warning:e.warning,error:e.error,onClicked:a.destroy},null,8,["id","text","html","title","link","image","warning","error","onClicked"])})),128))])})),u=(n("a9e3"),Object(c["K"])("data-v-7646705e"));Object(c["u"])("data-v-7646705e");var l={class:"body"},d={key:0,class:"image col-3"},h={class:"row"},b={key:3,class:"fa fa-exclamation"},f={key:4,class:"fa fa-times"};Object(c["s"])();var p=u((function(e,t,n,s,i,a){return Object(c["r"])(),Object(c["e"])("div",{class:["notification fade-in",{warning:n.warning,error:n.error}],onClick:t[1]||(t[1]=function(){return a.clicked.apply(a,arguments)})},[n.title?(Object(c["r"])(),Object(c["e"])("div",{key:0,class:"title",textContent:Object(c["C"])(n.title)},null,8,["textContent"])):Object(c["f"])("",!0),Object(c["h"])("div",l,[n.image||n.warning||n.error?(Object(c["r"])(),Object(c["e"])("div",d,[Object(c["h"])("div",h,[n.image&&n.image.src?(Object(c["r"])(),Object(c["e"])("img",{key:0,src:n.image.src,alt:""},null,8,["src"])):n.image&&n.image.icon?(Object(c["r"])(),Object(c["e"])("i",{key:1,class:["fa","fa-"+n.image.icon],style:n.image.color?"--color: "+n.image.color:""},null,6)):n.image&&n.image.iconClass?(Object(c["r"])(),Object(c["e"])("i",{key:2,class:n.image.iconClass,style:n.image.color?"--color: "+n.image.color:""},null,6)):n.warning?(Object(c["r"])(),Object(c["e"])("i",b)):n.error?(Object(c["r"])(),Object(c["e"])("i",f)):Object(c["f"])("",!0)])])):Object(c["f"])("",!0),n.text&&n.image?(Object(c["r"])(),Object(c["e"])("div",{key:1,class:"text col-9",textContent:Object(c["C"])(n.text)},null,8,["textContent"])):Object(c["f"])("",!0),n.html&&n.image?(Object(c["r"])(),Object(c["e"])("div",{key:2,class:"text col-9",innerHTML:n.html},null,8,["innerHTML"])):Object(c["f"])("",!0),n.text&&!n.image?(Object(c["r"])(),Object(c["e"])("div",{key:3,class:"text row horizontal-center",textContent:Object(c["C"])(n.text)},null,8,["textContent"])):Object(c["f"])("",!0),n.html&&!n.image?(Object(c["r"])(),Object(c["e"])("div",{key:4,class:"text row horizontal-center",innerHTML:n.html},null,8,["innerHTML"])):Object(c["f"])("",!0)])],2)})),m={name:"Notification",props:["id","text","html","title","image","link","error","warning"],methods:{clicked:function(){this.link&&window.open(this.link,"_blank"),this.$emit("clicked",this.id)}}};n("f34e");m.render=p,m.__scopeId="data-v-7646705e";var v=m,g={name:"Notifications",components:{Notification:v},props:{duration:{type:Number,default:1e4}},data:function(){return{index:0,notifications:{},timeouts:{}}},methods:{create:function(e){var t=this.index++;this.notifications[t]=e,null==e.duration&&(e.duration=this.duration);var n=e.duration?parseInt(e.duration):0;n&&(this.timeouts[t]=setTimeout(this.destroy.bind(null,t),n))},destroy:function(e){delete this.notifications[e],delete this.timeouts[e]}}};n("2e56");g.render=o,g.__scopeId="data-v-6dc8bebc";var O=g,j=n("3e54");function k(e,t,n,s,i,a){return Object(c["r"])(),Object(c["e"])("div")}n("99af"),n("b64b"),n("07ac");var y=n("b85c"),w=n("2909"),x=n("f5ef"),C={name:"Events",props:{wsPort:{type:Number,default:8009}},data:function(){return{ws:null,initialized:!1,pending:!1,opened:!1,timeout:null,reconnectMsecs:3e4,handlers:{},handlerNameToEventTypes:{}}},methods:{onWebsocketTimeout:function(){console.log("Websocket reconnection timed out, retrying"),this.pending=!1,this.ws&&this.ws.close(),this.onClose()},onMessage:function(e){var t=[];if(e=e.data,"string"===typeof e)try{e=JSON.parse(e)}catch(i){console.warn("Received invalid non-JSON event"),console.warn(e)}if(console.debug(e),"event"===e.type){null in this.handlers&&t.push(this.handlers[null]),e.args.type in this.handlers&&t.push.apply(t,Object(w["a"])(Object.values(this.handlers[e.args.type])));for(var n=0,c=t;nt?(t=i,n=[s]):i===t&&n.push(s)}}catch(r){c.e(r)}finally{c.f()}(n.indexOf(this.$el)<0||n.length>1)&&(this.$el.style.zIndex=t+1)}if(this.isVisible&&this.timeout&&!this.timeoutId){var a=function(e){return function(){e.close(),e.timeoutId=void 0}};this.timeoutId=setTimeout(a(this),0+this.timeout)}}};n("c2cf");u.render=r,u.__scopeId="data-v-422f1b1c";t["a"]=u},"7d2d":function(e,t,n){"use strict";n("ca87")},8789:function(e,t,n){"use strict";n("2aa2")},"8f10":function(e,t,n){},9751:function(e,t,n){},a691d:function(e,t,n){"use strict";n("f00b")},b95a:function(e,t,n){},ba15:function(e,t,n){},c10a:function(e,t,n){},c2cf:function(e,t,n){"use strict";n("8f10")},c604:function(e,t,n){},c632:function(e,t,n){},ca87:function(e,t,n){},cdb9:function(e,t,n){var c={"./Calendar/Index":["3c97","chunk-d18d563a"],"./DateTime/Index":["365a","chunk-0a891b5a"],"./DateTimeWeather/Index":["3737","chunk-984338ca","chunk-0a891b5a","chunk-964fe404"],"./ImageCarousel/Index":["c845","chunk-984338ca","chunk-0a891b5a","chunk-5145872a"],"./Music/Index":["bcf7","chunk-711696bb"],"./Plugin/Index":["dabe","chunk-d22da0c0"],"./RssNews/Index":["c306","chunk-2e3e3996"],"./Weather/Index":["5b43","chunk-984338ca"]};function s(e){if(!n.o(c,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=c[e],s=t[0];return Promise.all(t.slice(1).map(n.e)).then((function(){return n(s)}))}s.keys=function(){return Object.keys(c)},s.id="cdb9",e.exports=s},d08b:function(e,t,n){"use strict";n("f3b7")},d73f:function(e,t,n){"use strict";n("1277")},dc20:function(e,t,n){"use strict";n("c604")},f00b:function(e,t,n){},f34e:function(e,t,n){"use strict";n("c632")},f3b7:function(e,t,n){},f5ef:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var c=n("14b7"),s=Object(c["a"])()}});
-//# sourceMappingURL=app.9916f25f.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/app.9916f25f.js.map b/platypush/backend/http/dist/static/js/app.9916f25f.js.map
deleted file mode 100644
index aa2f84792..000000000
--- a/platypush/backend/http/dist/static/js/app.9916f25f.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/panels lazy ^\\.\\/.*\\/Index$ namespace object","webpack:///./src/components/widgets/Widget.vue?3bf4","webpack:///./src/views/Dashboard.vue?6777","webpack:///./src/components/Notifications.vue?a9c7","webpack:///./src/components/Loading.vue","webpack:///./src/components/Loading.vue?2fa0","webpack:///./src/utils/Api.vue","webpack:///./src/utils/Api.vue?44aa","webpack:///./src/utils/DateTime.vue","webpack:///./src/utils/DateTime.vue?8e83","webpack:///./src/utils/Events.vue","webpack:///./src/utils/Events.vue?6024","webpack:///./src/utils/Notification.vue","webpack:///./src/utils/Notification.vue?f47e","webpack:///./src/utils/Screen.vue","webpack:///./src/utils/Screen.vue?f1cf","webpack:///./src/utils/Types.vue","webpack:///./src/utils/Types.vue?5f2a","webpack:///./src/Utils.vue","webpack:///./src/Utils.vue?c84e","webpack:///./src/views/Panel.vue?5133","webpack:///./src/components/Loading.vue?5027","webpack:///./src/App.vue","webpack:///./src/components/Notifications.vue","webpack:///./src/components/Notification.vue","webpack:///./src/components/Notification.vue?fb9f","webpack:///./src/components/Notifications.vue?4426","webpack:///./src/Events.vue","webpack:///./src/Events.vue?2656","webpack:///./src/components/VoiceAssistant.vue","webpack:///./src/components/VoiceAssistant.vue?53df","webpack:///./src/components/Pushbullet.vue","webpack:///./src/components/Pushbullet.vue?7941","webpack:///./src/App.vue?97f5","webpack:///./src/views/Dashboard.vue","webpack:///./src/components/widgets/Row.vue","webpack:///./src/components/widgets/Row.vue?9d83","webpack:///./src/components/widgets/Widget.vue","webpack:///./src/components/widgets/Widget.vue?fd30","webpack:///./src/views/Dashboard.vue?07ee","webpack:///./src/views/NotFound.vue","webpack:///./src/views/NotFound.vue?c361","webpack:///./src/views/Login.vue","webpack:///./src/views/Login.vue?835e","webpack:///./src/views/Register.vue","webpack:///./src/views/Register.vue?f5a6","webpack:///./src/views/Panel.vue","webpack:///./src/components/Nav.vue","webpack:///./src/components/Nav.vue?aa3c","webpack:///./src/views/Panel.vue?e816","webpack:///./src/router/index.js","webpack:///./src/main.js","webpack:///./src/components/widgets/Row.vue?bcb9","webpack:///./src/components/Modal.vue","webpack:///./src/components/Modal.vue?5f4e","webpack:///./src/views/Dashboard.vue?170c","webpack:///./src/views/Login.vue?2e4f","webpack:///./src/views/Panel.vue?8afa","webpack:///./src/components/Modal.vue?bfa8","webpack:///./src/components/widgets lazy ^\\.\\/.*\\/Index$ namespace object","webpack:///./src/App.vue?4a39","webpack:///./src/components/VoiceAssistant.vue?e7c2","webpack:///./src/components/Nav.vue?c619","webpack:///./src/components/Notification.vue?3a19","webpack:///./src/bus.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackAsyncContext","req","ids","id","keys","class","render","__scopeId","methods","execute","opts","a","post","response","errors","notify","text","output","catch","action","args","this","formatDate","date","year","Date","parse","toDateString","substring","formatTime","seconds","toTimeString","formatDateTime","computed","_eventsReady","$root","$refs","events","initialized","subscribe","handler","handlerName","subFunc","bus","emit","generateId","self","unwatch","$watch","newVal","unsubscribe","btoa","Array","forEach","String","fromCharCode","Math","round","random","notification","warn","msg","warning","isMobile","matchMedia","matches","isTablet","isDesktop","parseBoolean","toLowerCase","parseInt","convertSize","unit","units","u","toFixed","mixins","Api","Notification","Events","DateTime","Screen","Types","hasWebsocket","ref","ws-port","config","websocket_port","hasAssistant","hasPushbullet","notifications","index","html","title","link","image","destroy","clicked","alt","icon","style","color","iconClass","props","open","$emit","components","duration","Number","default","timeouts","wsPort","ws","pending","opened","reconnectMsecs","handlers","handlerNameToEventTypes","onWebsocketTimeout","log","close","onClose","onMessage","JSON","debug","values","onOpen","onclose","onError","reason","init","protocol","location","url","hostname","WebSocket","onmessage","onopen","created","on","state","alerting","responding","speechRecognized","listening","Modal","Utils","responseText","phrase","hideTimeout","reset","conversationStart","assistantModal","show","conversationEnd","response_text","alertOn","alertOff","registerHandlers","mounted","push_type","body","Pushbullet","Notifications","VoiceAssistant","userAuthenticated","onNotification","initConfig","loading","classes","rows","row","widgets","widget","component","required","split","concat","Widget","Loading","Row","refreshSeconds","parseTemplate","tmpl","node","DOMParser","parseFromString","childNodes","attributes","nodeValue","children","el","nodeName","attrs","reduce","obj","$options","refreshDashboard","$route","params","template","setInterval","method","placeholder","_register","register","Boolean","Login","panels","selected-panel","selectedPanel","$event","panel","plugin-name","collapsed","sort","onItemClick","icons","imgUrl","emits","host","hash","Nav","plugins","backends","procedures","initSelectedPanel","match","plugin","initPanels","entries","componentName","token","toUpperCase","join","comp","pluginName","parseConfig","routes","path","Panel","Dashboard","Register","NotFound","router","createRouter","history","createWebHistory","app","createApp","App","globalProperties","_config","use","mount","isVisible","zIndex","width","height","stopPropagation","visible","level","timeoutId","prevVisible","toggle","visibleHndl","updated","maxZIndex","getComputedStyle","$el","outermostModals","querySelectorAll","modal","indexOf","mitt"],"mappings":"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","file":"static/js/app.9916f25f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0a891b5a\":\"1431e4ce\",\"chunk-2e3e3996\":\"24de4e55\",\"chunk-6c0be899\":\"ff93f33e\",\"chunk-49211740\":\"e4dea096\",\"chunk-b4cfd8ce\":\"f4435881\",\"chunk-2d0cc2be\":\"71e3fcd8\",\"chunk-2d237d41\":\"b4b87abb\",\"chunk-6dbed40c\":\"62c09911\",\"chunk-2f304dee\":\"649e4dc7\",\"chunk-062a6c06\":\"0639b4b1\",\"chunk-307152f0\":\"410c102d\",\"chunk-2d2091df\":\"90a98553\",\"chunk-23035330\":\"1df1cd51\",\"chunk-b51533f6\":\"dc0f3b3e\",\"chunk-283aacba\":\"52472391\",\"chunk-3b435dde\":\"bd4904a1\",\"chunk-53e279b3\":\"cf489a46\",\"chunk-5a1e13e4\":\"287f68a0\",\"chunk-7fae0422\":\"0d9be069\",\"chunk-7c23d3fc\":\"e15f9031\",\"chunk-2d21da1a\":\"707bd994\",\"chunk-711696bb\":\"a8f62738\",\"chunk-984338ca\":\"3351e993\",\"chunk-5145872a\":\"f0bd0577\",\"chunk-964fe404\":\"eed3b223\",\"chunk-d18d563a\":\"a4ce6758\",\"chunk-d22da0c0\":\"da01e99e\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0a891b5a\":1,\"chunk-2e3e3996\":1,\"chunk-6c0be899\":1,\"chunk-49211740\":1,\"chunk-b4cfd8ce\":1,\"chunk-6dbed40c\":1,\"chunk-2f304dee\":1,\"chunk-062a6c06\":1,\"chunk-307152f0\":1,\"chunk-23035330\":1,\"chunk-b51533f6\":1,\"chunk-283aacba\":1,\"chunk-3b435dde\":1,\"chunk-53e279b3\":1,\"chunk-5a1e13e4\":1,\"chunk-7fae0422\":1,\"chunk-7c23d3fc\":1,\"chunk-711696bb\":1,\"chunk-984338ca\":1,\"chunk-5145872a\":1,\"chunk-964fe404\":1,\"chunk-d18d563a\":1,\"chunk-d22da0c0\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0a891b5a\":\"7294303f\",\"chunk-2e3e3996\":\"eda53677\",\"chunk-6c0be899\":\"75269c9b\",\"chunk-49211740\":\"43a25f0f\",\"chunk-b4cfd8ce\":\"44bbe779\",\"chunk-2d0cc2be\":\"31d6cfe0\",\"chunk-2d237d41\":\"31d6cfe0\",\"chunk-6dbed40c\":\"92b3713e\",\"chunk-2f304dee\":\"a8a2d99a\",\"chunk-062a6c06\":\"ab71816e\",\"chunk-307152f0\":\"75b51be7\",\"chunk-2d2091df\":\"31d6cfe0\",\"chunk-23035330\":\"5b949e24\",\"chunk-b51533f6\":\"678c9c97\",\"chunk-283aacba\":\"f186cc51\",\"chunk-3b435dde\":\"f186cc51\",\"chunk-53e279b3\":\"f186cc51\",\"chunk-5a1e13e4\":\"f186cc51\",\"chunk-7fae0422\":\"c233115f\",\"chunk-7c23d3fc\":\"5506a233\",\"chunk-2d21da1a\":\"31d6cfe0\",\"chunk-711696bb\":\"b7730bd4\",\"chunk-984338ca\":\"42d666a4\",\"chunk-5145872a\":\"197de139\",\"chunk-964fe404\":\"4d7c2357\",\"chunk-d18d563a\":\"c4e19f9e\",\"chunk-d22da0c0\":\"7c71cffb\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var map = {\n\t\"./Light/Index\": [\n\t\t\"cf99\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-2f304dee\",\n\t\t\"chunk-307152f0\"\n\t],\n\t\"./LightHue/Index\": [\n\t\t\"a84f\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-2f304dee\",\n\t\t\"chunk-307152f0\",\n\t\t\"chunk-2d2091df\"\n\t],\n\t\"./Media/Index\": [\n\t\t\"3951\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-7fae0422\"\n\t],\n\t\"./MediaMplayer/Index\": [\n\t\t\"47a8\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-283aacba\"\n\t],\n\t\"./MediaMpv/Index\": [\n\t\t\"23b7\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-3b435dde\"\n\t],\n\t\"./MediaOmxplayer/Index\": [\n\t\t\"eede\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-53e279b3\"\n\t],\n\t\"./MediaVlc/Index\": [\n\t\t\"bdae\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-5a1e13e4\"\n\t],\n\t\"./Music/Index\": [\n\t\t\"0d41\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-7c23d3fc\"\n\t],\n\t\"./MusicMpd/Index\": [\n\t\t\"d1b9\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-7c23d3fc\",\n\t\t\"chunk-2d21da1a\"\n\t],\n\t\"./MusicSnapcast/Index\": [\n\t\t\"d5eb\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-2f304dee\",\n\t\t\"chunk-062a6c06\"\n\t],\n\t\"./Rtorrent/Index\": [\n\t\t\"4d91\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-b4cfd8ce\",\n\t\t\"chunk-2d0cc2be\"\n\t],\n\t\"./Torrent/Index\": [\n\t\t\"fd7d\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-b4cfd8ce\",\n\t\t\"chunk-2d237d41\"\n\t],\n\t\"./ZigbeeMqtt/Index\": [\n\t\t\"655e\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-2f304dee\",\n\t\t\"chunk-23035330\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"0f0c\";\nmodule.exports = webpackAsyncContext;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Widget.vue?vue&type=style&index=0&id=8c529832&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dashboard.vue?vue&type=style&index=0&id=0ba67711&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Notifications.vue?vue&type=style&index=0&id=6dc8bebc&scoped=true&lang=css\"","\n
\n
\n \n
\n
\n\n\n","import { render } from \"./Loading.vue?vue&type=template&id=4d9c871b&scoped=true\"\nconst script = {}\n\nimport \"./Loading.vue?vue&type=style&index=0&id=4d9c871b&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4d9c871b\"\n\nexport default script","\n\n","import script from \"./Api.vue?vue&type=script&lang=js\"\nexport * from \"./Api.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./DateTime.vue?vue&type=script&lang=js\"\nexport * from \"./DateTime.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Events.vue?vue&type=script&lang=js\"\nexport * from \"./Events.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Notification.vue?vue&type=script&lang=js\"\nexport * from \"./Notification.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Screen.vue?vue&type=script&lang=js\"\nexport * from \"./Screen.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Types.vue?vue&type=script&lang=js\"\nexport * from \"./Types.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Utils.vue?vue&type=script&lang=js\"\nexport * from \"./Utils.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=0&id=6e3b2a94&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loading.vue?vue&type=style&index=0&id=4d9c871b&lang=scss&scoped=true\"","\n \n \n \n \n\n \n\n\n\n\n\n\n","\n
\n \n \n
\n\n\n\n\n","\n
\n \n
\n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n\n\n\n\n","import { render } from \"./Notification.vue?vue&type=template&id=7646705e&scoped=true\"\nimport script from \"./Notification.vue?vue&type=script&lang=js\"\nexport * from \"./Notification.vue?vue&type=script&lang=js\"\n\nimport \"./Notification.vue?vue&type=style&index=0&id=7646705e&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7646705e\"\n\nexport default script","import { render } from \"./Notifications.vue?vue&type=template&id=6dc8bebc&scoped=true\"\nimport script from \"./Notifications.vue?vue&type=script&lang=js\"\nexport * from \"./Notifications.vue?vue&type=script&lang=js\"\n\nimport \"./Notifications.vue?vue&type=style&index=0&id=6dc8bebc&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-6dc8bebc\"\n\nexport default script","\n \n\n\n\n","import { render } from \"./Events.vue?vue&type=template&id=f0cdf530\"\nimport script from \"./Events.vue?vue&type=script&lang=js\"\nexport * from \"./Events.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n
\n \n
\n \n \n \n \n
\n\n
\n
\n Assistant listening\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n\n\n\n\n","import { render } from \"./VoiceAssistant.vue?vue&type=template&id=3f009270\"\nimport script from \"./VoiceAssistant.vue?vue&type=script&lang=js\"\nexport * from \"./VoiceAssistant.vue?vue&type=script&lang=js\"\n\nimport \"./VoiceAssistant.vue?vue&type=style&index=0&id=3f009270&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Pushbullet.vue?vue&type=template&id=bf9869d4\"\nimport script from \"./Pushbullet.vue?vue&type=script&lang=js\"\nexport * from \"./Pushbullet.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import { render } from \"./App.vue?vue&type=template&id=618fbb8c\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=618fbb8c&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n
\n \n \n \n \n \n \n \n
\n\n\n\n\n\n\n\n","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Row.vue?vue&type=template&id=1b4663f2&scoped=true\"\nimport script from \"./Row.vue?vue&type=script&lang=js\"\nexport * from \"./Row.vue?vue&type=script&lang=js\"\n\nimport \"./Row.vue?vue&type=style&index=0&id=1b4663f2&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1b4663f2\"\n\nexport default script","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Widget.vue?vue&type=template&id=8c529832&scoped=true\"\nimport script from \"./Widget.vue?vue&type=script&lang=js\"\nexport * from \"./Widget.vue?vue&type=script&lang=js\"\n\nimport \"./Widget.vue?vue&type=style&index=0&id=8c529832&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-8c529832\"\n\nexport default script","import { render } from \"./Dashboard.vue?vue&type=template&id=0ba67711&scoped=true\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=0ba67711&lang=scss&scoped=true\"\nimport \"./Dashboard.vue?vue&type=style&index=1&id=0ba67711&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-0ba67711\"\n\nexport default script","\n
Object not found
\n\n\n\n\n","import { render } from \"./NotFound.vue?vue&type=template&id=49501f4d\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Login.vue?vue&type=template&id=07800d9c\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\n\nimport \"./Login.vue?vue&type=style&index=0&id=07800d9c&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Register.vue?vue&type=template&id=1244b238\"\nimport script from \"./Register.vue?vue&type=script&lang=js\"\nexport * from \"./Register.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n \n \n\n
\n
\n \n
\n
\n \n\n\n\n\n\n\n\n","\n \n\n\n\n\n\n\n","import { render } from \"./Nav.vue?vue&type=template&id=4ac2b564&scoped=true\"\nimport script from \"./Nav.vue?vue&type=script&lang=js\"\nexport * from \"./Nav.vue?vue&type=script&lang=js\"\n\nimport \"./Nav.vue?vue&type=style&index=0&id=4ac2b564&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4ac2b564\"\n\nexport default script","import { render } from \"./Panel.vue?vue&type=template&id=6e3b2a94&scoped=true\"\nimport script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nimport \"./Panel.vue?vue&type=style&index=0&id=6e3b2a94&lang=scss&scoped=true\"\nimport \"./Panel.vue?vue&type=style&index=1&id=6e3b2a94&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-6e3b2a94\"\n\nexport default script","import { createWebHistory, createRouter } from \"vue-router\";\nimport Dashboard from \"@/views/Dashboard.vue\";\nimport NotFound from \"@/views/NotFound\";\nimport Login from \"@/views/Login\";\nimport Register from \"@/views/Register\";\nimport Panel from \"@/views/Panel\";\n\nconst routes = [\n {\n path: \"/\",\n name: \"Panel\",\n component: Panel,\n },\n\n {\n path: \"/dashboard/:name\",\n name: \"Dashboard\",\n component: Dashboard,\n },\n\n {\n path: \"/login\",\n name: \"Login\",\n component: Login,\n },\n\n {\n path: \"/register\",\n name: \"Register\",\n component: Register,\n },\n\n {\n path: \"/:catchAll(.*)\",\n component: NotFound,\n },\n];\n\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n});\n\nexport default router;\n","import { createApp } from 'vue'\nimport App from '@/App.vue'\nimport router from '@/router'\n\nconst app = createApp(App)\napp.config.globalProperties._config = window.config\napp.use(router).mount('#app')\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Row.vue?vue&type=style&index=0&id=1b4663f2&lang=scss&scoped=true\"","\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n\n\n\n","import { render } from \"./Modal.vue?vue&type=template&id=422f1b1c&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=422f1b1c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-422f1b1c\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dashboard.vue?vue&type=style&index=1&id=0ba67711&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Login.vue?vue&type=style&index=0&id=07800d9c&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=1&id=6e3b2a94&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Modal.vue?vue&type=style&index=0&id=422f1b1c&lang=scss&scoped=true\"","var map = {\n\t\"./Calendar/Index\": [\n\t\t\"3c97\",\n\t\t\"chunk-d18d563a\"\n\t],\n\t\"./DateTime/Index\": [\n\t\t\"365a\",\n\t\t\"chunk-0a891b5a\"\n\t],\n\t\"./DateTimeWeather/Index\": [\n\t\t\"3737\",\n\t\t\"chunk-984338ca\",\n\t\t\"chunk-0a891b5a\",\n\t\t\"chunk-964fe404\"\n\t],\n\t\"./ImageCarousel/Index\": [\n\t\t\"c845\",\n\t\t\"chunk-984338ca\",\n\t\t\"chunk-0a891b5a\",\n\t\t\"chunk-5145872a\"\n\t],\n\t\"./Music/Index\": [\n\t\t\"bcf7\",\n\t\t\"chunk-711696bb\"\n\t],\n\t\"./Plugin/Index\": [\n\t\t\"dabe\",\n\t\t\"chunk-d22da0c0\"\n\t],\n\t\"./RssNews/Index\": [\n\t\t\"c306\",\n\t\t\"chunk-2e3e3996\"\n\t],\n\t\"./Weather/Index\": [\n\t\t\"5b43\",\n\t\t\"chunk-984338ca\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"cdb9\";\nmodule.exports = webpackAsyncContext;","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=618fbb8c&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./VoiceAssistant.vue?vue&type=style&index=0&id=3f009270&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Nav.vue?vue&type=style&index=0&id=4ac2b564&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Notification.vue?vue&type=style&index=0&id=7646705e&lang=scss&scoped=true\"","import mitt from 'mitt';\n\nconst bus = mitt();\n\nexport { bus };\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-062a6c06.0639b4b1.js b/platypush/backend/http/dist/static/js/chunk-062a6c06.0639b4b1.js
deleted file mode 100644
index a7630d024..000000000
--- a/platypush/backend/http/dist/static/js/chunk-062a6c06.0639b4b1.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-062a6c06"],{"0e52":function(e,t,n){"use strict";n("1caa")},"0f51":function(e,t,n){},"1caa":function(e,t,n){},3193:function(e,t,n){"use strict";n("4897")},4897:function(e,t,n){},"48b6":function(e,t,n){"use strict";n("95e5")},"498a":function(e,t,n){"use strict";var s=n("23e7"),o=n("58a8").trim,c=n("c8d2");s({target:"String",proto:!0,forced:c("trim")},{trim:function(){return o(this)}})},6062:function(e,t,n){"use strict";var s=n("6d61"),o=n("6566");e.exports=s("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),o)},6566:function(e,t,n){"use strict";var s=n("9bf2").f,o=n("7c73"),c=n("e2cc"),r=n("0366"),l=n("19aa"),i=n("2266"),a=n("7dd0"),u=n("2626"),d=n("83ab"),v=n("f183").fastKey,h=n("69f3"),b=h.set,p=h.getterFor;e.exports={getConstructor:function(e,t,n,a){var u=e((function(e,s){l(e,u,t),b(e,{type:t,index:o(null),first:void 0,last:void 0,size:0}),d||(e.size=0),void 0!=s&&i(s,e[a],{that:e,AS_ENTRIES:n})})),h=p(t),m=function(e,t,n){var s,o,c=h(e),r=f(e,t);return r?r.value=n:(c.last=r={index:o=v(t,!0),key:t,value:n,previous:s=c.last,next:void 0,removed:!1},c.first||(c.first=r),s&&(s.next=r),d?c.size++:e.size++,"F"!==o&&(c.index[o]=r)),e},f=function(e,t){var n,s=h(e),o=v(t);if("F"!==o)return s.index[o];for(n=s.first;n;n=n.next)if(n.key==t)return n};return c(u.prototype,{clear:function(){var e=this,t=h(e),n=t.index,s=t.first;while(s)s.removed=!0,s.previous&&(s.previous=s.previous.next=void 0),delete n[s.index],s=s.next;t.first=t.last=void 0,d?t.size=0:e.size=0},delete:function(e){var t=this,n=h(t),s=f(t,e);if(s){var o=s.next,c=s.previous;delete n.index[s.index],s.removed=!0,c&&(c.next=o),o&&(o.previous=c),n.first==s&&(n.first=o),n.last==s&&(n.last=c),d?n.size--:t.size--}return!!s},forEach:function(e){var t,n=h(this),s=r(e,arguments.length>1?arguments[1]:void 0,3);while(t=t?t.next:n.first){s(t.value,t.key,this);while(t&&t.removed)t=t.previous}},has:function(e){return!!f(this,e)}}),c(u.prototype,n?{get:function(e){var t=f(this,e);return t&&t.value},set:function(e,t){return m(this,0===e?0:e,t)}}:{add:function(e){return m(this,e=0===e?0:e,e)}}),d&&s(u.prototype,"size",{get:function(){return h(this).size}}),u},setStrong:function(e,t,n){var s=t+" Iterator",o=p(t),c=p(s);a(e,t,(function(e,t){b(this,{type:s,target:e,state:o(e),kind:t,last:void 0})}),(function(){var e=c(this),t=e.kind,n=e.last;while(n&&n.removed)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),u(t)}}},"6d61":function(e,t,n){"use strict";var s=n("23e7"),o=n("da84"),c=n("94ca"),r=n("6eeb"),l=n("f183"),i=n("2266"),a=n("19aa"),u=n("861d"),d=n("d039"),v=n("1c7e"),h=n("d44e"),b=n("7156");e.exports=function(e,t,n){var p=-1!==e.indexOf("Map"),m=-1!==e.indexOf("Weak"),f=p?"set":"add",O=o[e],j=O&&O.prototype,g=O,C={},x=function(e){var t=j[e];r(j,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(m&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return m&&!u(e)?void 0:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(m&&!u(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(c(e,"function"!=typeof O||!(m||j.forEach&&!d((function(){(new O).entries().next()})))))g=n.getConstructor(t,e,p,f),l.REQUIRED=!0;else if(c(e,!0)){var w=new g,y=w[f](m?{}:-0,1)!=w,k=d((function(){w.has(1)})),S=v((function(e){new O(e)})),H=!m&&d((function(){var e=new O,t=5;while(t--)e[f](t,t);return!e.has(-0)}));S||(g=t((function(t,n){a(t,g,e);var s=b(new O,t,g);return void 0!=n&&i(n,s[f],{that:s,AS_ENTRIES:p}),s})),g.prototype=j,j.constructor=g),(k||H)&&(x("delete"),x("has"),p&&x("get")),(H||y)&&x(f),m&&j.clear&&delete j.clear}return C[e]=g,s({global:!0,forced:g!=O},C),h(g,e),m||n.setStrong(g,e,p),g}},"6fdc":function(e,t,n){"use strict";n("0f51")},7041:function(e,t,n){},"875e":function(e,t,n){"use strict";n("a144")},"95e5":function(e,t,n){},a144:function(e,t,n){},bb2f:function(e,t,n){var s=n("d039");e.exports=!s((function(){return Object.isExtensible(Object.preventExtensions({}))}))},c8d2:function(e,t,n){var s=n("d039"),o=n("5899"),c=" ";e.exports=function(e){return s((function(){return!!o[e]()||c[e]()!=c||o[e].name!==e}))}},d5eb:function(e,t,n){"use strict";n.r(t);var s=n("7a23"),o=Object(s["K"])("data-v-063a7b86");Object(s["u"])("data-v-063a7b86");var c={class:"music-snapcast-container"},r={class:"info"},l={class:"info"},i={class:"info"};Object(s["s"])();var a=o((function(e,t,n,a,u,d){var v=Object(s["z"])("Loading"),h=Object(s["z"])("ModalHost"),b=Object(s["z"])("Modal"),p=Object(s["z"])("ModalGroup"),m=Object(s["z"])("ModalClient"),f=Object(s["z"])("Host");return Object(s["r"])(),Object(s["e"])("div",c,[e.loading?(Object(s["r"])(),Object(s["e"])(v,{key:0})):Object(s["f"])("",!0),Object(s["h"])("div",r,[Object(s["h"])(b,{title:"Server info",ref:"modalHost"},{default:o((function(){return[e.selectedHost?(Object(s["r"])(),Object(s["e"])(h,{key:0,info:e.hosts[e.selectedHost]},null,8,["info"])):Object(s["f"])("",!0)]})),_:1},512)]),Object(s["h"])("div",l,[Object(s["h"])(b,{title:"Group info",ref:"modalGroup"},{default:o((function(){return[e.selectedGroup?(Object(s["r"])(),Object(s["e"])(p,{key:0,group:e.hosts[e.selectedHost].groups[e.selectedGroup],streams:e.hosts[e.selectedHost].streams,clients:d.clientsByHost[e.selectedHost],loading:e.loading,onAddClient:d.addClientToGroup,onRemoveClient:d.removeClientFromGroup,onStreamChange:d.streamChange,onRenameGroup:t[1]||(t[1]=function(e){return d.renameGroup(e)})},null,8,["group","streams","clients","loading","onAddClient","onRemoveClient","onStreamChange"])):Object(s["f"])("",!0)]})),_:1},512)]),Object(s["h"])("div",i,[Object(s["h"])(b,{title:"Client info",ref:"modalClient"},{default:o((function(){return[e.selectedClient?(Object(s["r"])(),Object(s["e"])(m,{key:0,client:e.hosts[e.selectedHost].groups[e.selectedGroup].clients[e.selectedClient],loading:e.loading,onRemoveClient:d.removeClient,onRenameClient:t[2]||(t[2]=function(e){return d.renameClient(e)})},null,8,["client","loading","onRemoveClient"])):Object(s["f"])("",!0)]})),_:1},512)]),(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(e.hosts,(function(e,n){return Object(s["r"])(),Object(s["e"])(f,{key:n,server:e.server,streams:e.streams,groups:e.groups,onGroupMuteToggle:t[3]||(t[3]=function(e){return d.groupMute(e)}),onClientMuteToggle:t[4]||(t[4]=function(e){return d.clientMute(e)}),onClientVolumeChange:t[5]||(t[5]=function(e){return d.clientSetVolume(e)}),onModalShow:t[6]||(t[6]=function(e){return d.onModalShow(e)})},null,8,["server","streams","groups"])})),128))])})),u=(n("99af"),n("4160"),n("d81d"),n("13d5"),n("b0c0"),n("4fad"),n("b64b"),n("d3b7"),n("07ac"),n("6062"),n("3ca3"),n("159b"),n("ddb0"),n("2909")),d=(n("96cf"),n("1da1")),v=n("5530"),h=n("3835"),b=n("714b"),p=n("3e54"),m=Object(s["K"])("data-v-7bce419a");Object(s["u"])("data-v-7bce419a");var f={class:"host"},O={class:"header"},j=Object(s["h"])("i",{class:"icon fa fa-server"},null,-1),g={class:"col-2 buttons pull-right"},C={key:0,class:"group-container"};Object(s["s"])();var x=m((function(e,t,n,o,c,r){var l=Object(s["z"])("Group");return Object(s["r"])(),Object(s["e"])("div",f,[Object(s["h"])("div",O,[Object(s["h"])("div",{class:"col-10 name",onClick:t[1]||(t[1]=function(t){return e.$emit("modal-show",{type:"host",host:n.server.host.name})})},[j,Object(s["g"])(" "+Object(s["C"])(n.server.host.name),1)]),Object(s["h"])("div",g,[Object(s["h"])("button",{type:"button",onClick:t[2]||(t[2]=function(e){return c.collapsed=!c.collapsed})},[Object(s["h"])("i",{class:["icon fa",{"fa-chevron-up":!c.collapsed,"fa-chevron-down":c.collapsed}]},null,2)])])]),c.collapsed?Object(s["f"])("",!0):(Object(s["r"])(),Object(s["e"])("div",C,[(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.groups,(function(o,c){return Object(s["r"])(),Object(s["e"])(l,{key:c,id:o.id,name:o.name,server:n.server.host,muted:o.muted,clients:o.clients,stream:n.streams[o.stream_id],onModalShow:t[3]||(t[3]=function(t){return e.$emit("modal-show",t)}),onGroupMuteToggle:t[4]||(t[4]=function(t){return e.$emit("group-mute-toggle",t)}),onClientMuteToggle:t[5]||(t[5]=function(t){return e.$emit("client-mute-toggle",t)}),onClientVolumeChange:t[6]||(t[6]=function(t){return e.$emit("client-volume-change",t)})},null,8,["id","name","server","muted","clients","stream"])})),128))]))])})),w=Object(s["K"])("data-v-748fccb4");Object(s["u"])("data-v-748fccb4");var y={class:"group"},k={class:"head"},S={class:"col-2 switch pull-right"},H={class:"body"};Object(s["s"])();var _=w((function(e,t,n,o,c,r){var l=Object(s["z"])("ToggleSwitch"),i=Object(s["z"])("Client");return Object(s["r"])(),Object(s["e"])("div",y,[Object(s["h"])("div",k,[Object(s["h"])("div",{class:"col-10 name",onClick:t[1]||(t[1]=function(t){return e.$emit("modal-show",{type:"group",group:n.id,host:n.server.name})})},[Object(s["h"])("i",{class:["icon fa",{"fa-play":"playing"===n.stream.status,"fa-stop":"playing"!==n.stream.status}]},null,2),Object(s["g"])(" "+Object(s["C"])(n.name||n.stream.id||n.id),1)]),Object(s["h"])("div",S,[Object(s["h"])(l,{value:!n.muted,onInput:t[2]||(t[2]=function(t){return e.$emit("group-mute-toggle",{host:n.server.name,group:n.id,muted:!n.muted})})},null,8,["value"])])]),Object(s["h"])("div",H,[(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.clients,(function(o){return Object(s["r"])(),Object(s["e"])(i,{key:o.id,config:o.config,connected:o.connected,server:n.server,host:o.host,groupId:n.id,id:o.id,lastSeen:o.lastSeen,snapclient:o.snapclient,onModalShow:t[3]||(t[3]=function(t){return e.$emit("modal-show",t)}),onVolumeChange:t[4]||(t[4]=function(t){return e.$emit("client-volume-change",t)}),onMuteToggle:t[5]||(t[5]=function(t){return e.$emit("client-mute-toggle",t)})},null,8,["config","connected","server","host","groupId","id","lastSeen","snapclient"])})),128))])])})),R=n("0279"),G=Object(s["K"])("data-v-12b0e65b");Object(s["u"])("data-v-12b0e65b");var M={class:"col-s-12 col-m-9 controls"},E={class:"col-10 slider-container"},I={class:"col-2 switch pull-right"};Object(s["s"])();var z=G((function(e,t,n,o,c,r){var l,i=Object(s["z"])("Slider"),a=Object(s["z"])("ToggleSwitch");return Object(s["r"])(),Object(s["e"])("div",{class:["row client",{offline:!n.connected}]},[Object(s["h"])("div",{class:"col-s-12 col-m-3 name",textContent:Object(s["C"])((null===(l=n.config.name)||void 0===l?void 0:l.length)?n.config.name:n.host.name),onClick:t[1]||(t[1]=function(t){return e.$emit("modal-show",{type:"client",client:n.id,group:n.groupId,host:n.server.name})})},null,8,["textContent"]),Object(s["h"])("div",M,[Object(s["h"])("div",E,[Object(s["h"])(i,{range:[0,100],value:n.config.volume.percent,onMouseup:t[2]||(t[2]=function(t){return e.$emit("volume-change",{host:n.server.name,client:n.id,volume:t.target.value})})},null,8,["value"])]),Object(s["h"])("div",I,[Object(s["h"])(a,{value:!n.config.volume.muted,onInput:t[3]||(t[3]=function(t){return e.$emit("mute-toggle",{host:n.server.name,client:n.id,muted:!n.config.volume.muted})})},null,8,["value"])])])],2)})),$=n("8285"),q={name:"Client",components:{Slider:$["a"],ToggleSwitch:R["a"]},emits:["volume-change","mute-toggle","modal-show"],props:{config:{type:Object,required:!0},connected:{type:Boolean,default:!1},host:{type:Object,required:!0},id:{type:String,required:!0},groupId:{type:String,required:!0},lastSeen:{type:Object,default:function(){}},snapclient:{type:Object,required:!0},server:{type:Object,required:!0}}};n("6fdc");q.render=z,q.__scopeId="data-v-12b0e65b";var V=q,A={name:"Group",components:{Client:V,ToggleSwitch:R["a"]},emits:["group-mute-toggle","modal-show","client-volume-change","client-mute-toggle"],props:{id:{type:String},clients:{type:Object,default:function(){}},muted:{type:Boolean},name:{type:String},stream:{type:Object},server:{type:Object}}};n("d623");A.render=_,A.__scopeId="data-v-748fccb4";var T=A,U={name:"Host",emits:["modal-show","group-mute-toggle","client-mute-toggle","client-volume-change"],components:{Group:T},props:{groups:{type:Object,default:function(){}},server:{type:Object,default:function(){}},streams:{type:Object,default:function(){}}},data:function(){return{collapsed:!1}}};n("875e");U.render=x,U.__scopeId="data-v-7bce419a";var D=U,P=Object(s["K"])("data-v-4b0dc9f8");Object(s["u"])("data-v-4b0dc9f8");var K={class:"info"},B={key:0,class:"row"},N=Object(s["h"])("div",{class:"label col-3"},"IP Address",-1),F={key:1,class:"row"},L=Object(s["h"])("div",{class:"label col-3"},"MAC Address",-1),Q={key:2,class:"row"},J=Object(s["h"])("div",{class:"label col-3"},"Name",-1),W={key:3,class:"row"},X=Object(s["h"])("div",{class:"label col-3"},"Port",-1),Y={key:4,class:"row"},Z=Object(s["h"])("div",{class:"label col-3"},"OS",-1),ee={key:5,class:"row"},te=Object(s["h"])("div",{class:"label col-3"},"Architecture",-1),ne={key:6,class:"row"},se=Object(s["h"])("div",{class:"label col-3"},"Server name",-1),oe={key:7,class:"row"},ce=Object(s["h"])("div",{class:"label col-3"},"Server version",-1),re={key:8,class:"row"},le=Object(s["h"])("div",{class:"label col-3"},"Protocol version",-1),ie={key:9,class:"row"},ae=Object(s["h"])("div",{class:"label col-3"},"Control protocol version",-1);Object(s["s"])();var ue=P((function(e,t,n,o,c,r){var l,i,a,u,d,v,h,b,p,m,f,O,j,g,C,x,w,y,k,S,H,_,R,G,M,E,I,z,$,q,V,A,T,U,D,P,ue;return Object(s["r"])(),Object(s["e"])("div",K,[(null===(l=n.info)||void 0===l||null===(i=l.server)||void 0===i||null===(a=i.host)||void 0===a||null===(u=a.ip)||void 0===u?void 0:u.length)?(Object(s["r"])(),Object(s["e"])("div",B,[N,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.ip)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(d=n.info)||void 0===d||null===(v=d.server)||void 0===v||null===(h=v.host)||void 0===h||null===(b=h.mac)||void 0===b?void 0:b.length)?(Object(s["r"])(),Object(s["e"])("div",F,[L,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.mac)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(p=n.info)||void 0===p||null===(m=p.server)||void 0===m||null===(f=m.host)||void 0===f||null===(O=f.name)||void 0===O?void 0:O.length)?(Object(s["r"])(),Object(s["e"])("div",Q,[J,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.name)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(j=n.info)||void 0===j||null===(g=j.server)||void 0===g||null===(C=g.host)||void 0===C?void 0:C.port)?(Object(s["r"])(),Object(s["e"])("div",W,[X,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.port)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(x=n.info)||void 0===x||null===(w=x.server)||void 0===w||null===(y=w.host)||void 0===y||null===(k=y.os)||void 0===k?void 0:k.length)?(Object(s["r"])(),Object(s["e"])("div",Y,[Z,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.os)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(S=n.info)||void 0===S||null===(H=S.server)||void 0===H||null===(_=H.host)||void 0===_||null===(R=_.arch)||void 0===R?void 0:R.length)?(Object(s["r"])(),Object(s["e"])("div",ee,[te,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.arch)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(G=n.info)||void 0===G||null===(M=G.server)||void 0===M||null===(E=M.snapserver)||void 0===E||null===(I=E.name)||void 0===I?void 0:I.length)?(Object(s["r"])(),Object(s["e"])("div",ne,[se,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.name)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(z=n.info)||void 0===z||null===($=z.server)||void 0===$||null===(q=$.snapserver)||void 0===q||null===(V=q.version)||void 0===V?void 0:V.length)?(Object(s["r"])(),Object(s["e"])("div",oe,[ce,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.version)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(A=n.info)||void 0===A||null===(T=A.server)||void 0===T||null===(U=T.snapserver)||void 0===U?void 0:U.protocolVersion)?(Object(s["r"])(),Object(s["e"])("div",re,[le,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.protocolVersion)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(D=n.info)||void 0===D||null===(P=D.server)||void 0===P||null===(ue=P.snapserver)||void 0===ue?void 0:ue.controlProtocolVersion)?(Object(s["r"])(),Object(s["e"])("div",ie,[ae,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.controlProtocolVersion)},null,8,["textContent"])])):Object(s["f"])("",!0)])})),de={name:"HostModal",props:{info:{type:Object,default:function(){}}}};de.render=ue,de.__scopeId="data-v-4b0dc9f8";var ve=de,he=Object(s["K"])("data-v-353ffa58");Object(s["u"])("data-v-353ffa58");var be={class:"info"},pe={class:"section name"},me=Object(s["h"])("div",{class:"title"},"Name",-1),fe={class:"row"},Oe={class:"name-value"},je=Object(s["h"])("i",{class:"fa fa-edit"},null,-1),ge={key:0,class:"section clients"},Ce=Object(s["h"])("div",{class:"title"},"Clients",-1),xe={key:1,class:"section streams"},we=Object(s["h"])("div",{class:"title"},"Stream",-1),ye={class:"row"},ke=Object(s["h"])("div",{class:"label col-3"},"ID",-1),Se={class:"value col-9"},He={key:0,class:"row"},_e=Object(s["h"])("div",{class:"label col-m-3"},"Status",-1),Re={key:1,class:"row"},Ge=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Host",-1),Me={key:2,class:"row"},Ee=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Path",-1),Ie={key:3,class:"row"},ze=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"URI",-1);Object(s["s"])();var $e=he((function(e,t,n,o,c,r){var l,i,a,u,d,v,h,b,p,m,f,O,j,g,C,x,w;return Object(s["r"])(),Object(s["e"])("div",be,[Object(s["h"])("div",pe,[me,Object(s["h"])("div",fe,[Object(s["h"])("div",Oe,[Object(s["h"])("span",{class:"name",textContent:Object(s["C"])((null===(l=n.group.name)||void 0===l?void 0:l.length)?n.group.name:"default")},null,8,["textContent"]),Object(s["h"])("button",{class:"pull-right",title:"Rename",onClick:t[1]||(t[1]=function(){return r.renameGroup.apply(r,arguments)})},[je])])])]),Object.keys((null===(i=n.group)||void 0===i?void 0:i.clients)||{}).length>0?(Object(s["r"])(),Object(s["e"])("div",ge,[Ce,(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.clients||{},(function(t,o){return Object(s["r"])(),Object(s["e"])("div",{class:"row",ref:"groupClients",key:o},[Object(s["h"])("label",{class:"client",for:"snapcast-client-"+t.id},[Object(s["h"])("input",{type:"checkbox",class:"client",id:"snapcast-client-".concat(t.id),value:t.id,checked:t.id in n.group.clients,disabled:n.loading,onInput:function(n){return e.$emit(n.target.checked?"add-client":"remove-client",t.id)}},null,40,["id","value","checked","disabled","onInput"]),Object(s["g"])(" "+Object(s["C"])(t.host.name),1)],8,["for"])],512)})),128))])):Object(s["f"])("",!0),(null===(a=n.group)||void 0===a?void 0:a.stream_id)?(Object(s["r"])(),Object(s["e"])("div",xe,[we,Object(s["h"])("div",ye,[ke,Object(s["h"])("div",Se,[Object(s["h"])("label",null,[Object(s["h"])("select",{ref:"streamSelect",onChange:t[2]||(t[2]=function(t){return e.$emit("stream-change",t.target.value)})},[(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.streams,(function(e,t){return Object(s["r"])(),Object(s["e"])("option",{key:t,textContent:Object(s["C"])(n.streams[n.group.stream_id].id),name:e.id,value:e.id,disabled:n.loading,selected:e.id===n.group.stream_id},null,8,["textContent","name","value","disabled","selected"])})),128))],544)])])]),(null===(u=n.streams)||void 0===u||null===(d=u[n.group.stream_id])||void 0===d?void 0:d.status)?(Object(s["r"])(),Object(s["e"])("div",He,[_e,Object(s["h"])("div",{class:"value col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].status)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(v=n.streams)||void 0===v||null===(h=v[null===(p=n.group)||void 0===p?void 0:p.stream_id])||void 0===h||null===(b=h.uri)||void 0===b?void 0:b.host)?(Object(s["r"])(),Object(s["e"])("div",Re,[Ge,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].uri.host)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(m=n.streams)||void 0===m||null===(f=m[null===(j=n.group)||void 0===j?void 0:j.stream_id])||void 0===f||null===(O=f.uri)||void 0===O?void 0:O.path)?(Object(s["r"])(),Object(s["e"])("div",Me,[Ee,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].uri.path)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(g=n.streams)||void 0===g||null===(C=g[null===(w=n.group)||void 0===w?void 0:w.stream_id])||void 0===C||null===(x=C.uri)||void 0===x?void 0:x.raw)?(Object(s["r"])(),Object(s["e"])("div",Ie,[ze,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].uri.raw)},null,8,["textContent"])])):Object(s["f"])("",!0)])):Object(s["f"])("",!0)])})),qe=(n("498a"),{name:"GroupModal",emits:["add-client","remove-client","stream-change","rename-group"],props:{loading:{type:Boolean,default:!1},group:{type:Object},clients:{type:Object},streams:{type:Object}},methods:{renameGroup:function(){var e=(prompt("New group name",this.group.name)||"").trim();(null===e||void 0===e?void 0:e.length)&&this.$emit("rename-group",e)}}});n("3193");qe.render=$e,qe.__scopeId="data-v-353ffa58";var Ve=qe,Ae=Object(s["K"])("data-v-0e55ac54");Object(s["u"])("data-v-0e55ac54");var Te={class:"client-modal"},Ue={key:0,class:"info"},De={class:"row"},Pe=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"ID",-1),Ke={key:0,class:"row"},Be=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Name",-1),Ne={class:"value col-s-12 col-m-9"},Fe=Object(s["h"])("i",{class:"fa fa-edit"},null,-1),Le={class:"row"},Qe=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Connected",-1),Je={class:"row"},We=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Volume",-1),Xe={class:"value col-s-12 col-m-9"},Ye={class:"row"},Ze=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Muted",-1),et={class:"row"},tt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Latency",-1),nt={key:1,class:"row"},st=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"IP Address",-1),ot={key:2,class:"row"},ct=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"MAC Address",-1),rt={key:3,class:"row"},lt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"OS",-1),it={key:4,class:"row"},at=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Architecture",-1),ut={class:"row"},dt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Client name",-1),vt={class:"row"},ht=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Client version",-1),bt={class:"row"},pt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Protocol version",-1),mt={class:"buttons"},ft={class:"row"},Ot=Object(s["h"])("i",{class:"fas fa-trash"},null,-1),jt=Object(s["h"])("span",{class:"name"},"Remove client",-1);Object(s["s"])();var gt=Ae((function(e,t,n,o,c,r){var l,i,a,u,d;return Object(s["r"])(),Object(s["e"])("div",Te,[n.client?(Object(s["r"])(),Object(s["e"])("div",Ue,[Object(s["h"])("div",De,[Pe,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.id)},null,8,["textContent"])]),(null===(l=n.client.config)||void 0===l||null===(i=l.name)||void 0===i?void 0:i.length)||(null===(a=n.client.host)||void 0===a?void 0:a.name)?(Object(s["r"])(),Object(s["e"])("div",Ke,[Be,Object(s["h"])("div",Ne,[Object(s["h"])("span",{class:"name",textContent:Object(s["C"])((null===(u=n.client.config)||void 0===u?void 0:u.name)||(null===(d=n.client.host)||void 0===d?void 0:d.name))},null,8,["textContent"]),Object(s["h"])("button",{title:"Rename",onClick:t[1]||(t[1]=function(){return r.renameClient.apply(r,arguments)})},[Fe])])])):Object(s["f"])("",!0),Object(s["h"])("div",Le,[Qe,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.connected)},null,8,["textContent"])]),Object(s["h"])("div",Je,[We,Object(s["h"])("div",Xe,Object(s["C"])(n.client.config.volume.percent)+"%",1)]),Object(s["h"])("div",Ye,[Ze,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.config.volume.muted)},null,8,["textContent"])]),Object(s["h"])("div",et,[tt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.config.latency)},null,8,["textContent"])]),n.client.host.ip&&n.client.host.ip.length?(Object(s["r"])(),Object(s["e"])("div",nt,[st,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.ip)},null,8,["textContent"])])):Object(s["f"])("",!0),n.client.host.mac&&n.client.host.mac.length?(Object(s["r"])(),Object(s["e"])("div",ot,[ct,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.mac)},null,8,["textContent"])])):Object(s["f"])("",!0),n.client.host.os&&n.client.host.os.length?(Object(s["r"])(),Object(s["e"])("div",rt,[lt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.os)},null,8,["textContent"])])):Object(s["f"])("",!0),n.client.host.arch&&n.client.host.arch.length?(Object(s["r"])(),Object(s["e"])("div",it,[at,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.arch)},null,8,["textContent"])])):Object(s["f"])("",!0),Object(s["h"])("div",ut,[dt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.snapclient.name)},null,8,["textContent"])]),Object(s["h"])("div",vt,[ht,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.snapclient.version)},null,8,["textContent"])]),Object(s["h"])("div",bt,[pt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.snapclient.protocolVersion)},null,8,["textContent"])])])):Object(s["f"])("",!0),Object(s["h"])("div",mt,[Object(s["h"])("div",ft,[Object(s["h"])("button",{type:"button",disabled:n.loading,onClick:t[2]||(t[2]=function(){return r.removeClient.apply(r,arguments)})},[Ot,jt],8,["disabled"])])])])})),Ct={name:"ClientModal",emits:["remove-client","rename-client"],props:{loading:{type:Boolean,default:!1},client:{type:Object}},methods:{removeClient:function(){window.confirm("Are you sure that you want to remove this client?")&&this.$emit("remove-client")},renameClient:function(){var e,t=(window.prompt("New client name",(null===(e=this.client.config.name)||void 0===e?void 0:e.length)?this.client.config.name:this.client.host.name)||"").trim();t.length&&this.$emit("rename-client",t)}}};n("0e52");Ct.render=gt,Ct.__scopeId="data-v-0e55ac54";var xt=Ct,wt=n("3a5e"),yt={name:"MusicSnapcast",mixins:[p["a"]],components:{Loading:wt["a"],Modal:b["a"],Host:D,ModalHost:ve,ModalGroup:Ve,ModalClient:xt},data:function(){return{loading:!1,hosts:{},ports:{},selectedHost:null,selectedGroup:null,selectedClient:null}},computed:{clientsByHost:function(){return Object.entries(this.hosts).reduce((function(e,t){var n=Object(h["a"])(t,2),s=n[0],o=n[1];return e[s]={},Object.values(o.groups).forEach((function(t){Object.entries(t.clients).forEach((function(t){var n=Object(h["a"])(t,2),o=n[0],c=n[1];e[s][o]=c}))})),e}),{})}},methods:{parseServerStatus:function(e){e.server.host.port=this.ports[e.server.host.name],this.hosts[e.server.host.name]=Object(v["a"])(Object(v["a"])({},e),{},{groups:e.groups.map((function(e){return Object(v["a"])(Object(v["a"])({},e),{},{clients:e.clients.reduce((function(e,t){return e[t.id]=t,e}),{})})})).reduce((function(e,t){return e[t.id]=t,e}),{}),streams:e.streams.reduce((function(e,t){return e[t.id]=t,e}),{})})},refresh:function(){var e=this;return Object(d["a"])(regeneratorRuntime.mark((function t(){var n,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.prev=1,t.next=4,e.request("music.snapcast.get_backend_hosts");case 4:return n=t.sent,t.next=7,Promise.all(Object.keys(n).map(function(){var t=Object(d["a"])(regeneratorRuntime.mark((function t(s){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.abrupt("return",e.request("music.snapcast.status",{host:s,port:n[s]}));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 7:s=t.sent,e.hosts={},s.forEach((function(t){e.ports[t.server.host.name]=n[t.server.host.name],e.parseServerStatus(t)}));case 10:return t.prev=10,e.loading=!1,t.finish(10);case 13:case"end":return t.stop()}}),t,null,[[1,,10,13]])})))()},refreshHost:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(e in t.hosts){n.next=2;break}return n.abrupt("return");case 2:return n.t0=t,n.next=5,t.request("music.snapcast.status",{host:e,port:t.ports[e]});case 5:n.t1=n.sent,n.t0.parseServerStatus.call(n.t0,n.t1);case 7:case"end":return n.stop()}}),n)})))()},addClientToGroup:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){var s;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedGroup&&e in t.clientsByHost[t.selectedHost]){n.next=4;break}return n.abrupt("return");case 4:return s=Object(u["a"])(new Set([e].concat(Object(u["a"])(Object.keys(t.hosts[t.selectedHost].groups[t.selectedGroup].clients))))),n.next=7,t.request("music.snapcast.group_set_clients",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,clients:s});case 7:return n.next=9,t.refreshHost(t.selectedHost);case 9:return n.prev=9,t.loading=!1,n.finish(9);case 12:case"end":return n.stop()}}),n,null,[[1,,9,12]])})))()},removeClientFromGroup:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){var s;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedGroup&&e in t.clientsByHost[t.selectedHost]){n.next=4;break}return n.abrupt("return");case 4:if(s=new Set(Object(u["a"])(Object.keys(t.hosts[t.selectedHost].groups[t.selectedGroup].clients))),s.has(e)){n.next=7;break}return n.abrupt("return");case 7:return s.delete(e),n.next=10,t.request("music.snapcast.group_set_clients",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,clients:Object(u["a"])(s)});case 10:return n.next=12,t.refreshHost(t.selectedHost);case 12:return n.prev=12,t.loading=!1,n.finish(12);case 15:case"end":return n.stop()}}),n,null,[[1,,12,15]])})))()},renameGroup:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedGroup){n.next=4;break}return n.abrupt("return");case 4:return n.next=6,t.request("music.snapcast.set_group_name",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,name:e});case 6:return n.next=8,t.refreshHost(t.selectedHost);case 8:return n.prev=8,t.loading=!1,n.finish(8);case 11:case"end":return n.stop()}}),n,null,[[1,,8,11]])})))()},renameClient:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedClient){n.next=4;break}return n.abrupt("return");case 4:return n.next=6,t.request("music.snapcast.set_client_name",{host:t.selectedHost,port:t.ports[t.selectedHost],client:t.selectedClient,name:e});case 6:return n.next=8,t.refreshHost(t.selectedHost);case 8:return n.prev=8,t.loading=!1,n.finish(8);case 11:case"end":return n.stop()}}),n,null,[[1,,8,11]])})))()},removeClient:function(){var e=this;return Object(d["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(e.loading=!0,t.prev=1,e.selectedHost&&e.selectedClient){t.next=4;break}return t.abrupt("return");case 4:return t.next=6,e.request("music.snapcast.delete_client",{host:e.selectedHost,port:e.ports[e.selectedHost],client:e.selectedClient});case 6:return e.$refs.modalClient.close(),t.next=9,e.refreshHost(e.selectedHost);case 9:return t.prev=9,e.loading=!1,t.finish(9);case 12:case"end":return t.stop()}}),t,null,[[1,,9,12]])})))()},streamChange:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.loading=!0,n.prev=1,n.next=4,t.request("music.snapcast.group_set_stream",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,stream_id:e});case 4:return n.next=6,t.refreshHost(t.selectedHost);case 6:return n.prev=6,t.loading=!1,n.finish(6);case 9:case"end":return n.stop()}}),n,null,[[1,,6,9]])})))()},onClientUpdate:function(e){var t=this;Object.keys(this.hosts[e.host].groups).forEach((function(n){e.client.id in t.hosts[e.host].groups[n].clients&&(t.hosts[e.host].groups[n].clients[e.client.id]=e.client)}))},onGroupStreamChange:function(e){this.hosts[e.host].groups[e.group].stream_id=e.stream},onServerUpdate:function(e){this.parseServerStatus(e.server)},onStreamUpdate:function(e){this.hosts[e.host].streams[e.stream.id]=e.stream},onClientVolumeChange:function(e){var t=this;Object.keys(this.hosts[e.host].groups).forEach((function(n){e.client in t.hosts[e.host].groups[n].clients&&(null!=e.volume&&(t.hosts[e.host].groups[n].clients[e.client].config.volume.percent=e.volume),null!=e.muted&&(t.hosts[e.host].groups[n].clients[e.client].config.volume.muted=e.muted))}))},onGroupMuteChange:function(e){this.hosts[e.host].groups[e.group].muted=e.muted},modalShow:function(e){switch(e.type){case"host":this.modal[e.type].info=this.hosts[e.host];break;case"group":this.modal[e.type].info.server=this.hosts[e.host].server,this.modal[e.type].info.group=this.hosts[e.host].groups[e.group],this.modal[e.type].info.streams=this.hosts[e.host].streams,this.modal[e.type].info.clients={};for(var t=0,n=Object.values(this.hosts[e.host].groups);t 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Client.vue?vue&type=style&index=0&id=12b0e65b&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Host.vue?vue&type=style&index=0&id=7bce419a&lang=scss&scoped=true\"","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","\n
\n \n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n \n
\n\n\n\n\n","\n
\n
\n
\n \n {{ server.host.name }}\n
\n
\n \n
\n
\n\n
\n \n
\n
\n\n\n\n\n\n","\n
\n
\n
\n \n {{ name || stream.id || 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","import { render } from \"./Client.vue?vue&type=template&id=12b0e65b&scoped=true\"\nimport script from \"./Client.vue?vue&type=script&lang=js\"\nexport * from \"./Client.vue?vue&type=script&lang=js\"\n\nimport \"./Client.vue?vue&type=style&index=0&id=12b0e65b&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-12b0e65b\"\n\nexport default script","import { render } from \"./Group.vue?vue&type=template&id=748fccb4&scoped=true\"\nimport script from \"./Group.vue?vue&type=script&lang=js\"\nexport * from \"./Group.vue?vue&type=script&lang=js\"\n\nimport \"./Group.vue?vue&type=style&index=0&id=748fccb4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-748fccb4\"\n\nexport default script","import { render } from \"./Host.vue?vue&type=template&id=7bce419a&scoped=true\"\nimport script from \"./Host.vue?vue&type=script&lang=js\"\nexport * from \"./Host.vue?vue&type=script&lang=js\"\n\nimport \"./Host.vue?vue&type=style&index=0&id=7bce419a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7bce419a\"\n\nexport default script","\n
\n
\n
IP Address
\n \n
\n\n
\n
MAC Address
\n \n
\n\n
\n
Name
\n \n
\n\n
\n
Port
\n \n
\n\n
\n
OS
\n \n
\n\n
\n
Architecture
\n \n
\n\n
\n
Server name
\n \n
\n\n
\n
Server version
\n \n
\n\n
\n
Protocol version
\n \n
\n\n
\n
Control protocol version
\n \n
\n
\n\n\n\n\n","import { render } from \"./Host.vue?vue&type=template&id=4b0dc9f8&scoped=true\"\nimport script from \"./Host.vue?vue&type=script&lang=js\"\nexport * from \"./Host.vue?vue&type=script&lang=js\"\nscript.render = render\nscript.__scopeId = \"data-v-4b0dc9f8\"\n\nexport default script","\n
\n
\n
Name
\n
\n
\n \n \n
\n
\n
\n\n
0\">\n
Clients
\n
\n \n
\n
\n\n
\n
Stream
\n
\n
ID
\n
\n \n
\n
\n\n
\n
Status
\n \n
\n\n
\n
Host
\n \n
\n\n
\n
Path
\n \n
\n\n
\n
URI
\n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Group.vue?vue&type=template&id=353ffa58&scoped=true\"\nimport script from \"./Group.vue?vue&type=script&lang=js\"\nexport * from \"./Group.vue?vue&type=script&lang=js\"\n\nimport \"./Group.vue?vue&type=style&index=0&id=353ffa58&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-353ffa58\"\n\nexport default script","\n
\n
\n
\n
ID
\n \n
\n\n
\n
Name
\n
\n \n \n
\n
\n\n
\n
Connected
\n \n
\n\n
\n
Volume
\n
{{ client.config.volume.percent }}%
\n
\n\n
\n
Muted
\n \n
\n\n
\n
Latency
\n \n
\n\n
\n
IP Address
\n \n
\n\n
\n
MAC Address
\n \n
\n\n
\n
OS
\n \n
\n\n
\n
Architecture
\n \n
\n\n
\n
Client name
\n \n
\n\n
\n
Client version
\n \n
\n\n
\n
Protocol version
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Client.vue?vue&type=template&id=0e55ac54&scoped=true\"\nimport script from \"./Client.vue?vue&type=script&lang=js\"\nexport * from \"./Client.vue?vue&type=script&lang=js\"\n\nimport \"./Client.vue?vue&type=style&index=0&id=0e55ac54&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-0e55ac54\"\n\nexport default script","import { render } from \"./Index.vue?vue&type=template&id=063a7b86&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=063a7b86&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-063a7b86\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Group.vue?vue&type=style&index=0&id=748fccb4&lang=scss&scoped=true\"","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-15e147cf.e4b94eac.js b/platypush/backend/http/dist/static/js/chunk-15e147cf.e4b94eac.js
new file mode 100644
index 000000000..227e59633
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-15e147cf.e4b94eac.js
@@ -0,0 +1,2 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-15e147cf"],{"0e52":function(e,t,n){"use strict";n("1caa")},"0f51":function(e,t,n){},"1caa":function(e,t,n){},3193:function(e,t,n){"use strict";n("4897")},4897:function(e,t,n){},"48b6":function(e,t,n){"use strict";n("95e5")},"498a":function(e,t,n){"use strict";var s=n("23e7"),o=n("58a8").trim,c=n("c8d2");s({target:"String",proto:!0,forced:c("trim")},{trim:function(){return o(this)}})},"4de4":function(e,t,n){"use strict";var s=n("23e7"),o=n("b727").filter,c=n("1dde"),r=n("ae40"),l=c("filter"),i=r("filter");s({target:"Array",proto:!0,forced:!l||!i},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},6062:function(e,t,n){"use strict";var s=n("6d61"),o=n("6566");e.exports=s("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),o)},6566:function(e,t,n){"use strict";var s=n("9bf2").f,o=n("7c73"),c=n("e2cc"),r=n("0366"),l=n("19aa"),i=n("2266"),a=n("7dd0"),u=n("2626"),d=n("83ab"),v=n("f183").fastKey,h=n("69f3"),b=h.set,p=h.getterFor;e.exports={getConstructor:function(e,t,n,a){var u=e((function(e,s){l(e,u,t),b(e,{type:t,index:o(null),first:void 0,last:void 0,size:0}),d||(e.size=0),void 0!=s&&i(s,e[a],{that:e,AS_ENTRIES:n})})),h=p(t),m=function(e,t,n){var s,o,c=h(e),r=f(e,t);return r?r.value=n:(c.last=r={index:o=v(t,!0),key:t,value:n,previous:s=c.last,next:void 0,removed:!1},c.first||(c.first=r),s&&(s.next=r),d?c.size++:e.size++,"F"!==o&&(c.index[o]=r)),e},f=function(e,t){var n,s=h(e),o=v(t);if("F"!==o)return s.index[o];for(n=s.first;n;n=n.next)if(n.key==t)return n};return c(u.prototype,{clear:function(){var e=this,t=h(e),n=t.index,s=t.first;while(s)s.removed=!0,s.previous&&(s.previous=s.previous.next=void 0),delete n[s.index],s=s.next;t.first=t.last=void 0,d?t.size=0:e.size=0},delete:function(e){var t=this,n=h(t),s=f(t,e);if(s){var o=s.next,c=s.previous;delete n.index[s.index],s.removed=!0,c&&(c.next=o),o&&(o.previous=c),n.first==s&&(n.first=o),n.last==s&&(n.last=c),d?n.size--:t.size--}return!!s},forEach:function(e){var t,n=h(this),s=r(e,arguments.length>1?arguments[1]:void 0,3);while(t=t?t.next:n.first){s(t.value,t.key,this);while(t&&t.removed)t=t.previous}},has:function(e){return!!f(this,e)}}),c(u.prototype,n?{get:function(e){var t=f(this,e);return t&&t.value},set:function(e,t){return m(this,0===e?0:e,t)}}:{add:function(e){return m(this,e=0===e?0:e,e)}}),d&&s(u.prototype,"size",{get:function(){return h(this).size}}),u},setStrong:function(e,t,n){var s=t+" Iterator",o=p(t),c=p(s);a(e,t,(function(e,t){b(this,{type:s,target:e,state:o(e),kind:t,last:void 0})}),(function(){var e=c(this),t=e.kind,n=e.last;while(n&&n.removed)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),u(t)}}},"6d61":function(e,t,n){"use strict";var s=n("23e7"),o=n("da84"),c=n("94ca"),r=n("6eeb"),l=n("f183"),i=n("2266"),a=n("19aa"),u=n("861d"),d=n("d039"),v=n("1c7e"),h=n("d44e"),b=n("7156");e.exports=function(e,t,n){var p=-1!==e.indexOf("Map"),m=-1!==e.indexOf("Weak"),f=p?"set":"add",O=o[e],j=O&&O.prototype,g=O,C={},x=function(e){var t=j[e];r(j,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(m&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return m&&!u(e)?void 0:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(m&&!u(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(c(e,"function"!=typeof O||!(m||j.forEach&&!d((function(){(new O).entries().next()})))))g=n.getConstructor(t,e,p,f),l.REQUIRED=!0;else if(c(e,!0)){var w=new g,y=w[f](m?{}:-0,1)!=w,k=d((function(){w.has(1)})),S=v((function(e){new O(e)})),H=!m&&d((function(){var e=new O,t=5;while(t--)e[f](t,t);return!e.has(-0)}));S||(g=t((function(t,n){a(t,g,e);var s=b(new O,t,g);return void 0!=n&&i(n,s[f],{that:s,AS_ENTRIES:p}),s})),g.prototype=j,j.constructor=g),(k||H)&&(x("delete"),x("has"),p&&x("get")),(H||y)&&x(f),m&&j.clear&&delete j.clear}return C[e]=g,s({global:!0,forced:g!=O},C),h(g,e),m||n.setStrong(g,e,p),g}},"6fdc":function(e,t,n){"use strict";n("0f51")},7041:function(e,t,n){},"875e":function(e,t,n){"use strict";n("a144")},"95e5":function(e,t,n){},a144:function(e,t,n){},bb2f:function(e,t,n){var s=n("d039");e.exports=!s((function(){return Object.isExtensible(Object.preventExtensions({}))}))},c8d2:function(e,t,n){var s=n("d039"),o=n("5899"),c=" ";e.exports=function(e){return s((function(){return!!o[e]()||c[e]()!=c||o[e].name!==e}))}},d5eb:function(e,t,n){"use strict";n.r(t);var s=n("7a23"),o=Object(s["K"])("data-v-063a7b86");Object(s["u"])("data-v-063a7b86");var c={class:"music-snapcast-container"},r={class:"info"},l={class:"info"},i={class:"info"};Object(s["s"])();var a=o((function(e,t,n,a,u,d){var v=Object(s["z"])("Loading"),h=Object(s["z"])("ModalHost"),b=Object(s["z"])("Modal"),p=Object(s["z"])("ModalGroup"),m=Object(s["z"])("ModalClient"),f=Object(s["z"])("Host");return Object(s["r"])(),Object(s["e"])("div",c,[e.loading?(Object(s["r"])(),Object(s["e"])(v,{key:0})):Object(s["f"])("",!0),Object(s["h"])("div",r,[Object(s["h"])(b,{title:"Server info",ref:"modalHost"},{default:o((function(){return[e.selectedHost?(Object(s["r"])(),Object(s["e"])(h,{key:0,info:e.hosts[e.selectedHost]},null,8,["info"])):Object(s["f"])("",!0)]})),_:1},512)]),Object(s["h"])("div",l,[Object(s["h"])(b,{title:"Group info",ref:"modalGroup"},{default:o((function(){return[e.selectedGroup?(Object(s["r"])(),Object(s["e"])(p,{key:0,group:e.hosts[e.selectedHost].groups[e.selectedGroup],streams:e.hosts[e.selectedHost].streams,clients:d.clientsByHost[e.selectedHost],loading:e.loading,onAddClient:d.addClientToGroup,onRemoveClient:d.removeClientFromGroup,onStreamChange:d.streamChange,onRenameGroup:t[1]||(t[1]=function(e){return d.renameGroup(e)})},null,8,["group","streams","clients","loading","onAddClient","onRemoveClient","onStreamChange"])):Object(s["f"])("",!0)]})),_:1},512)]),Object(s["h"])("div",i,[Object(s["h"])(b,{title:"Client info",ref:"modalClient"},{default:o((function(){return[e.selectedClient?(Object(s["r"])(),Object(s["e"])(m,{key:0,client:e.hosts[e.selectedHost].groups[e.selectedGroup].clients[e.selectedClient],loading:e.loading,onRemoveClient:d.removeClient,onRenameClient:t[2]||(t[2]=function(e){return d.renameClient(e)})},null,8,["client","loading","onRemoveClient"])):Object(s["f"])("",!0)]})),_:1},512)]),(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(e.hosts,(function(e,n){return Object(s["r"])(),Object(s["e"])(f,{key:n,server:e.server,streams:e.streams,groups:e.groups,onGroupMuteToggle:t[3]||(t[3]=function(e){return d.groupMute(e)}),onClientMuteToggle:t[4]||(t[4]=function(e){return d.clientMute(e)}),onClientVolumeChange:t[5]||(t[5]=function(e){return d.clientSetVolume(e)}),onModalShow:t[6]||(t[6]=function(e){return d.onModalShow(e)})},null,8,["server","streams","groups"])})),128))])})),u=(n("99af"),n("4160"),n("d81d"),n("13d5"),n("b0c0"),n("4fad"),n("b64b"),n("d3b7"),n("07ac"),n("6062"),n("3ca3"),n("159b"),n("ddb0"),n("2909")),d=(n("96cf"),n("1da1")),v=n("5530"),h=n("3835"),b=n("714b"),p=n("3e54"),m=Object(s["K"])("data-v-7bce419a");Object(s["u"])("data-v-7bce419a");var f={class:"host"},O={class:"header"},j=Object(s["h"])("i",{class:"icon fa fa-server"},null,-1),g={class:"col-2 buttons pull-right"},C={key:0,class:"group-container"};Object(s["s"])();var x=m((function(e,t,n,o,c,r){var l=Object(s["z"])("Group");return Object(s["r"])(),Object(s["e"])("div",f,[Object(s["h"])("div",O,[Object(s["h"])("div",{class:"col-10 name",onClick:t[1]||(t[1]=function(t){return e.$emit("modal-show",{type:"host",host:n.server.host.name})})},[j,Object(s["g"])(" "+Object(s["C"])(n.server.host.name),1)]),Object(s["h"])("div",g,[Object(s["h"])("button",{type:"button",onClick:t[2]||(t[2]=function(e){return c.collapsed=!c.collapsed})},[Object(s["h"])("i",{class:["icon fa",{"fa-chevron-up":!c.collapsed,"fa-chevron-down":c.collapsed}]},null,2)])])]),c.collapsed?Object(s["f"])("",!0):(Object(s["r"])(),Object(s["e"])("div",C,[(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.groups,(function(o,c){return Object(s["r"])(),Object(s["e"])(l,{key:c,id:o.id,name:o.name,server:n.server.host,muted:o.muted,clients:o.clients,stream:n.streams[o.stream_id],onModalShow:t[3]||(t[3]=function(t){return e.$emit("modal-show",t)}),onGroupMuteToggle:t[4]||(t[4]=function(t){return e.$emit("group-mute-toggle",t)}),onClientMuteToggle:t[5]||(t[5]=function(t){return e.$emit("client-mute-toggle",t)}),onClientVolumeChange:t[6]||(t[6]=function(t){return e.$emit("client-volume-change",t)})},null,8,["id","name","server","muted","clients","stream"])})),128))]))])})),w=Object(s["K"])("data-v-748fccb4");Object(s["u"])("data-v-748fccb4");var y={class:"group"},k={class:"head"},S={class:"col-2 switch pull-right"},H={class:"body"};Object(s["s"])();var _=w((function(e,t,n,o,c,r){var l=Object(s["z"])("ToggleSwitch"),i=Object(s["z"])("Client");return Object(s["r"])(),Object(s["e"])("div",y,[Object(s["h"])("div",k,[Object(s["h"])("div",{class:"col-10 name",onClick:t[1]||(t[1]=function(t){return e.$emit("modal-show",{type:"group",group:n.id,host:n.server.name})})},[Object(s["h"])("i",{class:["icon fa",{"fa-play":"playing"===n.stream.status,"fa-stop":"playing"!==n.stream.status}]},null,2),Object(s["g"])(" "+Object(s["C"])(n.name||n.stream.id||n.id),1)]),Object(s["h"])("div",S,[Object(s["h"])(l,{value:!n.muted,onInput:t[2]||(t[2]=function(t){return e.$emit("group-mute-toggle",{host:n.server.name,group:n.id,muted:!n.muted})})},null,8,["value"])])]),Object(s["h"])("div",H,[(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.clients,(function(o){return Object(s["r"])(),Object(s["e"])(i,{key:o.id,config:o.config,connected:o.connected,server:n.server,host:o.host,groupId:n.id,id:o.id,lastSeen:o.lastSeen,snapclient:o.snapclient,onModalShow:t[3]||(t[3]=function(t){return e.$emit("modal-show",t)}),onVolumeChange:t[4]||(t[4]=function(t){return e.$emit("client-volume-change",t)}),onMuteToggle:t[5]||(t[5]=function(t){return e.$emit("client-mute-toggle",t)})},null,8,["config","connected","server","host","groupId","id","lastSeen","snapclient"])})),128))])])})),R=n("0279"),G=Object(s["K"])("data-v-12b0e65b");Object(s["u"])("data-v-12b0e65b");var M={class:"col-s-12 col-m-9 controls"},E={class:"col-10 slider-container"},I={class:"col-2 switch pull-right"};Object(s["s"])();var z=G((function(e,t,n,o,c,r){var l,i=Object(s["z"])("Slider"),a=Object(s["z"])("ToggleSwitch");return Object(s["r"])(),Object(s["e"])("div",{class:["row client",{offline:!n.connected}]},[Object(s["h"])("div",{class:"col-s-12 col-m-3 name",textContent:Object(s["C"])((null===(l=n.config.name)||void 0===l?void 0:l.length)?n.config.name:n.host.name),onClick:t[1]||(t[1]=function(t){return e.$emit("modal-show",{type:"client",client:n.id,group:n.groupId,host:n.server.name})})},null,8,["textContent"]),Object(s["h"])("div",M,[Object(s["h"])("div",E,[Object(s["h"])(i,{range:[0,100],value:n.config.volume.percent,onMouseup:t[2]||(t[2]=function(t){return e.$emit("volume-change",{host:n.server.name,client:n.id,volume:t.target.value})})},null,8,["value"])]),Object(s["h"])("div",I,[Object(s["h"])(a,{value:!n.config.volume.muted,onInput:t[3]||(t[3]=function(t){return e.$emit("mute-toggle",{host:n.server.name,client:n.id,muted:!n.config.volume.muted})})},null,8,["value"])])])],2)})),$=n("8285"),q={name:"Client",components:{Slider:$["a"],ToggleSwitch:R["a"]},emits:["volume-change","mute-toggle","modal-show"],props:{config:{type:Object,required:!0},connected:{type:Boolean,default:!1},host:{type:Object,required:!0},id:{type:String,required:!0},groupId:{type:String,required:!0},lastSeen:{type:Object,default:function(){}},snapclient:{type:Object,required:!0},server:{type:Object,required:!0}}};n("6fdc");q.render=z,q.__scopeId="data-v-12b0e65b";var A=q,V={name:"Group",components:{Client:A,ToggleSwitch:R["a"]},emits:["group-mute-toggle","modal-show","client-volume-change","client-mute-toggle"],props:{id:{type:String},clients:{type:Object,default:function(){}},muted:{type:Boolean},name:{type:String},stream:{type:Object},server:{type:Object}}};n("d623");V.render=_,V.__scopeId="data-v-748fccb4";var T=V,U={name:"Host",emits:["modal-show","group-mute-toggle","client-mute-toggle","client-volume-change"],components:{Group:T},props:{groups:{type:Object,default:function(){}},server:{type:Object,default:function(){}},streams:{type:Object,default:function(){}}},data:function(){return{collapsed:!1}}};n("875e");U.render=x,U.__scopeId="data-v-7bce419a";var D=U,P=Object(s["K"])("data-v-4b0dc9f8");Object(s["u"])("data-v-4b0dc9f8");var K={class:"info"},B={key:0,class:"row"},N=Object(s["h"])("div",{class:"label col-3"},"IP Address",-1),F={key:1,class:"row"},L=Object(s["h"])("div",{class:"label col-3"},"MAC Address",-1),Q={key:2,class:"row"},J=Object(s["h"])("div",{class:"label col-3"},"Name",-1),W={key:3,class:"row"},X=Object(s["h"])("div",{class:"label col-3"},"Port",-1),Y={key:4,class:"row"},Z=Object(s["h"])("div",{class:"label col-3"},"OS",-1),ee={key:5,class:"row"},te=Object(s["h"])("div",{class:"label col-3"},"Architecture",-1),ne={key:6,class:"row"},se=Object(s["h"])("div",{class:"label col-3"},"Server name",-1),oe={key:7,class:"row"},ce=Object(s["h"])("div",{class:"label col-3"},"Server version",-1),re={key:8,class:"row"},le=Object(s["h"])("div",{class:"label col-3"},"Protocol version",-1),ie={key:9,class:"row"},ae=Object(s["h"])("div",{class:"label col-3"},"Control protocol version",-1);Object(s["s"])();var ue=P((function(e,t,n,o,c,r){var l,i,a,u,d,v,h,b,p,m,f,O,j,g,C,x,w,y,k,S,H,_,R,G,M,E,I,z,$,q,A,V,T,U,D,P,ue;return Object(s["r"])(),Object(s["e"])("div",K,[(null===(l=n.info)||void 0===l||null===(i=l.server)||void 0===i||null===(a=i.host)||void 0===a||null===(u=a.ip)||void 0===u?void 0:u.length)?(Object(s["r"])(),Object(s["e"])("div",B,[N,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.ip)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(d=n.info)||void 0===d||null===(v=d.server)||void 0===v||null===(h=v.host)||void 0===h||null===(b=h.mac)||void 0===b?void 0:b.length)?(Object(s["r"])(),Object(s["e"])("div",F,[L,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.mac)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(p=n.info)||void 0===p||null===(m=p.server)||void 0===m||null===(f=m.host)||void 0===f||null===(O=f.name)||void 0===O?void 0:O.length)?(Object(s["r"])(),Object(s["e"])("div",Q,[J,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.name)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(j=n.info)||void 0===j||null===(g=j.server)||void 0===g||null===(C=g.host)||void 0===C?void 0:C.port)?(Object(s["r"])(),Object(s["e"])("div",W,[X,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.port)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(x=n.info)||void 0===x||null===(w=x.server)||void 0===w||null===(y=w.host)||void 0===y||null===(k=y.os)||void 0===k?void 0:k.length)?(Object(s["r"])(),Object(s["e"])("div",Y,[Z,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.os)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(S=n.info)||void 0===S||null===(H=S.server)||void 0===H||null===(_=H.host)||void 0===_||null===(R=_.arch)||void 0===R?void 0:R.length)?(Object(s["r"])(),Object(s["e"])("div",ee,[te,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.arch)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(G=n.info)||void 0===G||null===(M=G.server)||void 0===M||null===(E=M.snapserver)||void 0===E||null===(I=E.name)||void 0===I?void 0:I.length)?(Object(s["r"])(),Object(s["e"])("div",ne,[se,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.name)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(z=n.info)||void 0===z||null===($=z.server)||void 0===$||null===(q=$.snapserver)||void 0===q||null===(A=q.version)||void 0===A?void 0:A.length)?(Object(s["r"])(),Object(s["e"])("div",oe,[ce,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.version)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(V=n.info)||void 0===V||null===(T=V.server)||void 0===T||null===(U=T.snapserver)||void 0===U?void 0:U.protocolVersion)?(Object(s["r"])(),Object(s["e"])("div",re,[le,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.protocolVersion)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(D=n.info)||void 0===D||null===(P=D.server)||void 0===P||null===(ue=P.snapserver)||void 0===ue?void 0:ue.controlProtocolVersion)?(Object(s["r"])(),Object(s["e"])("div",ie,[ae,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.controlProtocolVersion)},null,8,["textContent"])])):Object(s["f"])("",!0)])})),de={name:"HostModal",props:{info:{type:Object,default:function(){}}}};de.render=ue,de.__scopeId="data-v-4b0dc9f8";var ve=de,he=Object(s["K"])("data-v-353ffa58");Object(s["u"])("data-v-353ffa58");var be={class:"info"},pe={class:"section name"},me=Object(s["h"])("div",{class:"title"},"Name",-1),fe={class:"row"},Oe={class:"name-value"},je=Object(s["h"])("i",{class:"fa fa-edit"},null,-1),ge={key:0,class:"section clients"},Ce=Object(s["h"])("div",{class:"title"},"Clients",-1),xe={key:1,class:"section streams"},we=Object(s["h"])("div",{class:"title"},"Stream",-1),ye={class:"row"},ke=Object(s["h"])("div",{class:"label col-3"},"ID",-1),Se={class:"value col-9"},He={key:0,class:"row"},_e=Object(s["h"])("div",{class:"label col-m-3"},"Status",-1),Re={key:1,class:"row"},Ge=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Host",-1),Me={key:2,class:"row"},Ee=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Path",-1),Ie={key:3,class:"row"},ze=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"URI",-1);Object(s["s"])();var $e=he((function(e,t,n,o,c,r){var l,i,a,u,d,v,h,b,p,m,f,O,j,g,C,x,w;return Object(s["r"])(),Object(s["e"])("div",be,[Object(s["h"])("div",pe,[me,Object(s["h"])("div",fe,[Object(s["h"])("div",Oe,[Object(s["h"])("span",{class:"name",textContent:Object(s["C"])((null===(l=n.group.name)||void 0===l?void 0:l.length)?n.group.name:"default")},null,8,["textContent"]),Object(s["h"])("button",{class:"pull-right",title:"Rename",onClick:t[1]||(t[1]=function(){return r.renameGroup.apply(r,arguments)})},[je])])])]),Object.keys((null===(i=n.group)||void 0===i?void 0:i.clients)||{}).length>0?(Object(s["r"])(),Object(s["e"])("div",ge,[Ce,(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.clients||{},(function(t,o){return Object(s["r"])(),Object(s["e"])("div",{class:"row",ref:"groupClients",key:o},[Object(s["h"])("label",{class:"client",for:"snapcast-client-"+t.id},[Object(s["h"])("input",{type:"checkbox",class:"client",id:"snapcast-client-".concat(t.id),value:t.id,checked:t.id in n.group.clients,disabled:n.loading,onInput:function(n){return e.$emit(n.target.checked?"add-client":"remove-client",t.id)}},null,40,["id","value","checked","disabled","onInput"]),Object(s["g"])(" "+Object(s["C"])(t.host.name),1)],8,["for"])],512)})),128))])):Object(s["f"])("",!0),(null===(a=n.group)||void 0===a?void 0:a.stream_id)?(Object(s["r"])(),Object(s["e"])("div",xe,[we,Object(s["h"])("div",ye,[ke,Object(s["h"])("div",Se,[Object(s["h"])("label",null,[Object(s["h"])("select",{ref:"streamSelect",onChange:t[2]||(t[2]=function(t){return e.$emit("stream-change",t.target.value)})},[(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.streams,(function(e,t){return Object(s["r"])(),Object(s["e"])("option",{key:t,textContent:Object(s["C"])(n.streams[n.group.stream_id].id),name:e.id,value:e.id,disabled:n.loading,selected:e.id===n.group.stream_id},null,8,["textContent","name","value","disabled","selected"])})),128))],544)])])]),(null===(u=n.streams)||void 0===u||null===(d=u[n.group.stream_id])||void 0===d?void 0:d.status)?(Object(s["r"])(),Object(s["e"])("div",He,[_e,Object(s["h"])("div",{class:"value col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].status)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(v=n.streams)||void 0===v||null===(h=v[null===(p=n.group)||void 0===p?void 0:p.stream_id])||void 0===h||null===(b=h.uri)||void 0===b?void 0:b.host)?(Object(s["r"])(),Object(s["e"])("div",Re,[Ge,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].uri.host)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(m=n.streams)||void 0===m||null===(f=m[null===(j=n.group)||void 0===j?void 0:j.stream_id])||void 0===f||null===(O=f.uri)||void 0===O?void 0:O.path)?(Object(s["r"])(),Object(s["e"])("div",Me,[Ee,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].uri.path)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(g=n.streams)||void 0===g||null===(C=g[null===(w=n.group)||void 0===w?void 0:w.stream_id])||void 0===C||null===(x=C.uri)||void 0===x?void 0:x.raw)?(Object(s["r"])(),Object(s["e"])("div",Ie,[ze,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].uri.raw)},null,8,["textContent"])])):Object(s["f"])("",!0)])):Object(s["f"])("",!0)])})),qe=(n("498a"),{name:"GroupModal",emits:["add-client","remove-client","stream-change","rename-group"],props:{loading:{type:Boolean,default:!1},group:{type:Object},clients:{type:Object},streams:{type:Object}},methods:{renameGroup:function(){var e=(prompt("New group name",this.group.name)||"").trim();(null===e||void 0===e?void 0:e.length)&&this.$emit("rename-group",e)}}});n("3193");qe.render=$e,qe.__scopeId="data-v-353ffa58";var Ae=qe,Ve=Object(s["K"])("data-v-0e55ac54");Object(s["u"])("data-v-0e55ac54");var Te={class:"client-modal"},Ue={key:0,class:"info"},De={class:"row"},Pe=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"ID",-1),Ke={key:0,class:"row"},Be=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Name",-1),Ne={class:"value col-s-12 col-m-9"},Fe=Object(s["h"])("i",{class:"fa fa-edit"},null,-1),Le={class:"row"},Qe=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Connected",-1),Je={class:"row"},We=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Volume",-1),Xe={class:"value col-s-12 col-m-9"},Ye={class:"row"},Ze=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Muted",-1),et={class:"row"},tt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Latency",-1),nt={key:1,class:"row"},st=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"IP Address",-1),ot={key:2,class:"row"},ct=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"MAC Address",-1),rt={key:3,class:"row"},lt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"OS",-1),it={key:4,class:"row"},at=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Architecture",-1),ut={class:"row"},dt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Client name",-1),vt={class:"row"},ht=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Client version",-1),bt={class:"row"},pt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Protocol version",-1),mt={class:"buttons"},ft={class:"row"},Ot=Object(s["h"])("i",{class:"fas fa-trash"},null,-1),jt=Object(s["h"])("span",{class:"name"},"Remove client",-1);Object(s["s"])();var gt=Ve((function(e,t,n,o,c,r){var l,i,a,u,d;return Object(s["r"])(),Object(s["e"])("div",Te,[n.client?(Object(s["r"])(),Object(s["e"])("div",Ue,[Object(s["h"])("div",De,[Pe,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.id)},null,8,["textContent"])]),(null===(l=n.client.config)||void 0===l||null===(i=l.name)||void 0===i?void 0:i.length)||(null===(a=n.client.host)||void 0===a?void 0:a.name)?(Object(s["r"])(),Object(s["e"])("div",Ke,[Be,Object(s["h"])("div",Ne,[Object(s["h"])("span",{class:"name",textContent:Object(s["C"])((null===(u=n.client.config)||void 0===u?void 0:u.name)||(null===(d=n.client.host)||void 0===d?void 0:d.name))},null,8,["textContent"]),Object(s["h"])("button",{title:"Rename",onClick:t[1]||(t[1]=function(){return r.renameClient.apply(r,arguments)})},[Fe])])])):Object(s["f"])("",!0),Object(s["h"])("div",Le,[Qe,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.connected)},null,8,["textContent"])]),Object(s["h"])("div",Je,[We,Object(s["h"])("div",Xe,Object(s["C"])(n.client.config.volume.percent)+"%",1)]),Object(s["h"])("div",Ye,[Ze,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.config.volume.muted)},null,8,["textContent"])]),Object(s["h"])("div",et,[tt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.config.latency)},null,8,["textContent"])]),n.client.host.ip&&n.client.host.ip.length?(Object(s["r"])(),Object(s["e"])("div",nt,[st,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.ip)},null,8,["textContent"])])):Object(s["f"])("",!0),n.client.host.mac&&n.client.host.mac.length?(Object(s["r"])(),Object(s["e"])("div",ot,[ct,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.mac)},null,8,["textContent"])])):Object(s["f"])("",!0),n.client.host.os&&n.client.host.os.length?(Object(s["r"])(),Object(s["e"])("div",rt,[lt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.os)},null,8,["textContent"])])):Object(s["f"])("",!0),n.client.host.arch&&n.client.host.arch.length?(Object(s["r"])(),Object(s["e"])("div",it,[at,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.arch)},null,8,["textContent"])])):Object(s["f"])("",!0),Object(s["h"])("div",ut,[dt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.snapclient.name)},null,8,["textContent"])]),Object(s["h"])("div",vt,[ht,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.snapclient.version)},null,8,["textContent"])]),Object(s["h"])("div",bt,[pt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.snapclient.protocolVersion)},null,8,["textContent"])])])):Object(s["f"])("",!0),Object(s["h"])("div",mt,[Object(s["h"])("div",ft,[Object(s["h"])("button",{type:"button",disabled:n.loading,onClick:t[2]||(t[2]=function(){return r.removeClient.apply(r,arguments)})},[Ot,jt],8,["disabled"])])])])})),Ct={name:"ClientModal",emits:["remove-client","rename-client"],props:{loading:{type:Boolean,default:!1},client:{type:Object}},methods:{removeClient:function(){window.confirm("Are you sure that you want to remove this client?")&&this.$emit("remove-client")},renameClient:function(){var e,t=(window.prompt("New client name",(null===(e=this.client.config.name)||void 0===e?void 0:e.length)?this.client.config.name:this.client.host.name)||"").trim();t.length&&this.$emit("rename-client",t)}}};n("0e52");Ct.render=gt,Ct.__scopeId="data-v-0e55ac54";var xt=Ct,wt=n("3a5e"),yt={name:"MusicSnapcast",mixins:[p["a"]],components:{Loading:wt["a"],Modal:b["a"],Host:D,ModalHost:ve,ModalGroup:Ae,ModalClient:xt},data:function(){return{loading:!1,hosts:{},ports:{},selectedHost:null,selectedGroup:null,selectedClient:null}},computed:{clientsByHost:function(){return Object.entries(this.hosts).reduce((function(e,t){var n=Object(h["a"])(t,2),s=n[0],o=n[1];return e[s]={},Object.values(o.groups).forEach((function(t){Object.entries(t.clients).forEach((function(t){var n=Object(h["a"])(t,2),o=n[0],c=n[1];e[s][o]=c}))})),e}),{})}},methods:{parseServerStatus:function(e){e.server.host.port=this.ports[e.server.host.name],this.hosts[e.server.host.name]=Object(v["a"])(Object(v["a"])({},e),{},{groups:e.groups.map((function(e){return Object(v["a"])(Object(v["a"])({},e),{},{clients:e.clients.reduce((function(e,t){return e[t.id]=t,e}),{})})})).reduce((function(e,t){return e[t.id]=t,e}),{}),streams:e.streams.reduce((function(e,t){return e[t.id]=t,e}),{})})},refresh:function(){var e=this;return Object(d["a"])(regeneratorRuntime.mark((function t(){var n,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.prev=1,t.next=4,e.request("music.snapcast.get_backend_hosts");case 4:return n=t.sent,t.next=7,Promise.all(Object.keys(n).map(function(){var t=Object(d["a"])(regeneratorRuntime.mark((function t(s){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.abrupt("return",e.request("music.snapcast.status",{host:s,port:n[s]}));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 7:s=t.sent,e.hosts={},s.forEach((function(t){e.ports[t.server.host.name]=n[t.server.host.name],e.parseServerStatus(t)}));case 10:return t.prev=10,e.loading=!1,t.finish(10);case 13:case"end":return t.stop()}}),t,null,[[1,,10,13]])})))()},refreshHost:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(e in t.hosts){n.next=2;break}return n.abrupt("return");case 2:return n.t0=t,n.next=5,t.request("music.snapcast.status",{host:e,port:t.ports[e]});case 5:n.t1=n.sent,n.t0.parseServerStatus.call(n.t0,n.t1);case 7:case"end":return n.stop()}}),n)})))()},addClientToGroup:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){var s;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedGroup&&e in t.clientsByHost[t.selectedHost]){n.next=4;break}return n.abrupt("return");case 4:return s=Object(u["a"])(new Set([e].concat(Object(u["a"])(Object.keys(t.hosts[t.selectedHost].groups[t.selectedGroup].clients))))),n.next=7,t.request("music.snapcast.group_set_clients",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,clients:s});case 7:return n.next=9,t.refreshHost(t.selectedHost);case 9:return n.prev=9,t.loading=!1,n.finish(9);case 12:case"end":return n.stop()}}),n,null,[[1,,9,12]])})))()},removeClientFromGroup:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){var s;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedGroup&&e in t.clientsByHost[t.selectedHost]){n.next=4;break}return n.abrupt("return");case 4:if(s=new Set(Object(u["a"])(Object.keys(t.hosts[t.selectedHost].groups[t.selectedGroup].clients))),s.has(e)){n.next=7;break}return n.abrupt("return");case 7:return s.delete(e),n.next=10,t.request("music.snapcast.group_set_clients",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,clients:Object(u["a"])(s)});case 10:return n.next=12,t.refreshHost(t.selectedHost);case 12:return n.prev=12,t.loading=!1,n.finish(12);case 15:case"end":return n.stop()}}),n,null,[[1,,12,15]])})))()},renameGroup:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedGroup){n.next=4;break}return n.abrupt("return");case 4:return n.next=6,t.request("music.snapcast.set_group_name",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,name:e});case 6:return n.next=8,t.refreshHost(t.selectedHost);case 8:return n.prev=8,t.loading=!1,n.finish(8);case 11:case"end":return n.stop()}}),n,null,[[1,,8,11]])})))()},renameClient:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedClient){n.next=4;break}return n.abrupt("return");case 4:return n.next=6,t.request("music.snapcast.set_client_name",{host:t.selectedHost,port:t.ports[t.selectedHost],client:t.selectedClient,name:e});case 6:return n.next=8,t.refreshHost(t.selectedHost);case 8:return n.prev=8,t.loading=!1,n.finish(8);case 11:case"end":return n.stop()}}),n,null,[[1,,8,11]])})))()},removeClient:function(){var e=this;return Object(d["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(e.loading=!0,t.prev=1,e.selectedHost&&e.selectedClient){t.next=4;break}return t.abrupt("return");case 4:return t.next=6,e.request("music.snapcast.delete_client",{host:e.selectedHost,port:e.ports[e.selectedHost],client:e.selectedClient});case 6:return e.$refs.modalClient.close(),t.next=9,e.refreshHost(e.selectedHost);case 9:return t.prev=9,e.loading=!1,t.finish(9);case 12:case"end":return t.stop()}}),t,null,[[1,,9,12]])})))()},streamChange:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.loading=!0,n.prev=1,n.next=4,t.request("music.snapcast.group_set_stream",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,stream_id:e});case 4:return n.next=6,t.refreshHost(t.selectedHost);case 6:return n.prev=6,t.loading=!1,n.finish(6);case 9:case"end":return n.stop()}}),n,null,[[1,,6,9]])})))()},onClientUpdate:function(e){var t=this;Object.keys(this.hosts[e.host].groups).forEach((function(n){e.client.id in t.hosts[e.host].groups[n].clients&&(t.hosts[e.host].groups[n].clients[e.client.id]=e.client)}))},onGroupStreamChange:function(e){this.hosts[e.host].groups[e.group].stream_id=e.stream},onServerUpdate:function(e){this.parseServerStatus(e.server)},onStreamUpdate:function(e){this.hosts[e.host].streams[e.stream.id]=e.stream},onClientVolumeChange:function(e){var t=this;Object.keys(this.hosts[e.host].groups).forEach((function(n){e.client in t.hosts[e.host].groups[n].clients&&(null!=e.volume&&(t.hosts[e.host].groups[n].clients[e.client].config.volume.percent=e.volume),null!=e.muted&&(t.hosts[e.host].groups[n].clients[e.client].config.volume.muted=e.muted))}))},onGroupMuteChange:function(e){this.hosts[e.host].groups[e.group].muted=e.muted},modalShow:function(e){switch(e.type){case"host":this.modal[e.type].info=this.hosts[e.host];break;case"group":this.modal[e.type].info.server=this.hosts[e.host].server,this.modal[e.type].info.group=this.hosts[e.host].groups[e.group],this.modal[e.type].info.streams=this.hosts[e.host].streams,this.modal[e.type].info.clients={};for(var t=0,n=Object.values(this.hosts[e.host].groups);t 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Client.vue?vue&type=style&index=0&id=12b0e65b&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Host.vue?vue&type=style&index=0&id=7bce419a&lang=scss&scoped=true\"","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","\n
\n \n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n \n
\n\n\n\n\n","\n
\n
\n
\n \n {{ server.host.name }}\n
\n
\n \n
\n
\n\n
\n \n
\n
\n\n\n\n\n\n","\n
\n
\n
\n \n {{ name || stream.id || 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","import { render } from \"./Client.vue?vue&type=template&id=12b0e65b&scoped=true\"\nimport script from \"./Client.vue?vue&type=script&lang=js\"\nexport * from \"./Client.vue?vue&type=script&lang=js\"\n\nimport \"./Client.vue?vue&type=style&index=0&id=12b0e65b&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-12b0e65b\"\n\nexport default script","import { render } from \"./Group.vue?vue&type=template&id=748fccb4&scoped=true\"\nimport script from \"./Group.vue?vue&type=script&lang=js\"\nexport * from \"./Group.vue?vue&type=script&lang=js\"\n\nimport \"./Group.vue?vue&type=style&index=0&id=748fccb4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-748fccb4\"\n\nexport default script","import { render } from \"./Host.vue?vue&type=template&id=7bce419a&scoped=true\"\nimport script from \"./Host.vue?vue&type=script&lang=js\"\nexport * from \"./Host.vue?vue&type=script&lang=js\"\n\nimport \"./Host.vue?vue&type=style&index=0&id=7bce419a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7bce419a\"\n\nexport default script","\n
\n
\n
IP Address
\n \n
\n\n
\n
MAC Address
\n \n
\n\n
\n
Name
\n \n
\n\n
\n
Port
\n \n
\n\n
\n
OS
\n \n
\n\n
\n
Architecture
\n \n
\n\n
\n
Server name
\n \n
\n\n
\n
Server version
\n \n
\n\n
\n
Protocol version
\n \n
\n\n
\n
Control protocol version
\n \n
\n
\n\n\n\n\n","import { render } from \"./Host.vue?vue&type=template&id=4b0dc9f8&scoped=true\"\nimport script from \"./Host.vue?vue&type=script&lang=js\"\nexport * from \"./Host.vue?vue&type=script&lang=js\"\nscript.render = render\nscript.__scopeId = \"data-v-4b0dc9f8\"\n\nexport default script","\n
\n
\n
Name
\n
\n
\n \n \n
\n
\n
\n\n
0\">\n
Clients
\n
\n \n
\n
\n\n
\n
Stream
\n
\n
ID
\n
\n \n
\n
\n\n
\n
Status
\n \n
\n\n
\n
Host
\n \n
\n\n
\n
Path
\n \n
\n\n
\n
URI
\n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Group.vue?vue&type=template&id=353ffa58&scoped=true\"\nimport script from \"./Group.vue?vue&type=script&lang=js\"\nexport * from \"./Group.vue?vue&type=script&lang=js\"\n\nimport \"./Group.vue?vue&type=style&index=0&id=353ffa58&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-353ffa58\"\n\nexport default script","\n
\n
\n
\n
ID
\n \n
\n\n
\n
Name
\n
\n \n \n
\n
\n\n
\n
Connected
\n \n
\n\n
\n
Volume
\n
{{ client.config.volume.percent }}%
\n
\n\n
\n
Muted
\n \n
\n\n
\n
Latency
\n \n
\n\n
\n
IP Address
\n \n
\n\n
\n
MAC Address
\n \n
\n\n
\n
OS
\n \n
\n\n
\n
Architecture
\n \n
\n\n
\n
Client name
\n \n
\n\n
\n
Client version
\n \n
\n\n
\n
Protocol version
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Client.vue?vue&type=template&id=0e55ac54&scoped=true\"\nimport script from \"./Client.vue?vue&type=script&lang=js\"\nexport * from \"./Client.vue?vue&type=script&lang=js\"\n\nimport \"./Client.vue?vue&type=style&index=0&id=0e55ac54&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-0e55ac54\"\n\nexport default script","import { render } from \"./Index.vue?vue&type=template&id=063a7b86&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=063a7b86&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-063a7b86\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Group.vue?vue&type=style&index=0&id=748fccb4&lang=scss&scoped=true\"","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-23035330.1df1cd51.js b/platypush/backend/http/dist/static/js/chunk-23035330.1df1cd51.js
deleted file mode 100644
index 66cc569e3..000000000
--- a/platypush/backend/http/dist/static/js/chunk-23035330.1df1cd51.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-23035330"],{1804:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));n("99af"),n("d81d"),n("b680"),n("b64b");var r=n("2909");function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n.5?o/(2-i-s):o/(i+s),i){case e:r=(t-n)/o+(tl&&c>o&&c>1?(o/=c,l/=c,c=1):o>l&&o>c&&o>1?(c/=o,l/=o,o=1):l>c&&l>o&&l>1&&(c/=l,o/=l,l=1),c=c<=.0031308?12.92*c:1.055*Math.pow(c,1/2.4)-.055,o=o<=.0031308?12.92*o:1.055*Math.pow(o,1/2.4)-.055,l=l<=.0031308?12.92*l:1.055*Math.pow(l,1/2.4)-.055,c=Math.round(255*c),o=Math.round(255*o),l=Math.round(255*l),isNaN(c)&&(c=0),isNaN(o)&&(o=0),isNaN(l)&&(l=0),[c,o,l].map((function(e){return Math.min(Math.max(0,e),255)}))}},{key:"rgbToXY",value:function(e,t,n){e>1&&(e/=255),t>1&&(t/=255),n>1&&(n/=255),e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var r=.664511*e+.154324*t+.162028*n,a=.283881*e+.668433*t+.047685*n,i=88e-6*e+.07231*t+.986039*n,s=parseFloat((r/(r+a+i)).toFixed(4)),c=parseFloat((a/(r+a+i)).toFixed(4));return isNaN(s)&&(s=0),isNaN(c)&&(c=0),[s,c]}},{key:"rgbToBri",value:function(e,t,n){return Math.min(2*this.rgbToHsl(e,t,n)[2],this.ranges.bri[1])}},{key:"getRGB",value:function(e){return null!=e.red&&null!=e.green&&null!=e.blue?[e.red,e.green,e.blue]:null!=e.r&&null!=e.g&&null!=e.b?[e.r,e.g,e.b]:e.rgb?e.rgb:void 0}},{key:"getXY",value:function(e){return null!=e.x&&null!=e.y?[e.x,e.y]:e.xy?e.xy:void 0}},{key:"toRGB",value:function(e){var t=this.getRGB(e);if(t)return t;var n=this.getXY(e);return n&&e.bri?this.xyToRgb.apply(this,Object(r["a"])(n).concat([e.bri])):e.hue&&e.sat&&e.bri?this.hslToRgb(e.hue,e.sat,e.bri):(console.debug("Could not determine color space"),void console.debug(e))}},{key:"toXY",value:function(e){var t=this.getXY(e);if(t&&e.bri)return[t[0],t[1],e.bri];var n=this.getRGB(e);if(n)return this.rgbToXY.apply(this,Object(r["a"])(n));if(e.hue&&e.sat&&e.bri){var a=this.hslToRgb(e.hue,e.sat,e.bri);return this.rgbToXY.apply(this,Object(r["a"])(a))}console.debug("Could not determine color space"),console.debug(e)}},{key:"toHSL",value:function(e){if(e.hue&&e.sat&&e.bri)return[e.hue,e.sat,e.bri];var t=this.getRGB(e);if(t)return this.rgbToHsl.apply(this,Object(r["a"])(t));var n=this.getXY(e);if(n&&e.bri){var a=this.xyToRgb.apply(this,Object(r["a"])(n).concat([e.bri]));return this.rgbToHsl.apply(this,Object(r["a"])(a))}console.debug("Could not determine color space"),console.debug(e)}}]),e}()},"41a6":function(e,t,n){},"498a":function(e,t,n){"use strict";var r=n("23e7"),a=n("58a8").trim,i=n("c8d2");r({target:"String",proto:!0,forced:i("trim")},{trim:function(){return a(this)}})},5319:function(e,t,n){"use strict";var r=n("d784"),a=n("825a"),i=n("7b0b"),s=n("50c4"),c=n("a691"),o=n("1d80"),l=n("8aa5"),u=n("14c3"),d=Math.max,v=Math.min,b=Math.floor,p=/\$([$&'`]|\d\d?|<[^>]*>)/g,h=/\$([$&'`]|\d\d?)/g,f=function(e){return void 0===e?e:String(e)};r("replace",2,(function(e,t,n,r){var m=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,g=r.REPLACE_KEEPS_$0,O=m?"$":"$0";return[function(n,r){var a=o(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,a,r):t.call(String(a),n,r)},function(e,r){if(!m&&g||"string"===typeof r&&-1===r.indexOf(O)){var i=n(t,e,this,r);if(i.done)return i.value}var o=a(e),b=String(this),p="function"===typeof r;p||(r=String(r));var h=o.global;if(h){var y=o.unicode;o.lastIndex=0}var w=[];while(1){var k=u(o,b);if(null===k)break;if(w.push(k),!h)break;var x=String(k[0]);""===x&&(o.lastIndex=l(b,s(o.lastIndex),y))}for(var _="",C=0,R=0;R=C&&(_+=b.slice(C,z)+I,C=z+q.length)}return _+b.slice(C)}];function j(e,n,r,a,s,c){var o=r+e.length,l=a.length,u=h;return void 0!==s&&(s=i(s),u=p),t.call(c,u,(function(t,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,r);case"'":return n.slice(o);case"<":c=s[i.slice(1,-1)];break;default:var u=+i;if(0===u)return t;if(u>l){var d=b(u/10);return 0===d?t:d<=l?void 0===a[d-1]?i.charAt(1):a[d-1]+i.charAt(1):t}c=a[u-1]}return void 0===c?"":c}))}}))},"655e":function(e,t,n){"use strict";n.r(t);n("fb6a"),n("b64b"),n("ac1f"),n("5319");var r=n("7a23"),a={class:"zigbee-container"},i={key:0,class:"info-body"},s={class:"row"},c=Object(r["h"])("div",{class:"param-name"},"State",-1),o={class:"row"},l=Object(r["h"])("div",{class:"param-name"},"Permit Join",-1),u={key:0,class:"row"},d=Object(r["h"])("div",{class:"param-name"},"Network Channel",-1),v={class:"row"},b=Object(r["h"])("div",{class:"param-name"},"Zigbee2MQTT Version",-1),p={key:1,class:"row"},h=Object(r["h"])("div",{class:"param-name"},"MQTT Server",-1),f={key:2,class:"row"},m=Object(r["h"])("div",{class:"param-name"},"Serial Port",-1),g={key:3,class:"row"},O=Object(r["h"])("div",{class:"param-name"},"Firmware Type",-1),j={key:4,class:"row"},y=Object(r["h"])("div",{class:"param-name"},"Firmware Version",-1),w={class:"param-value"},k={key:5,class:"row"},x=Object(r["h"])("div",{class:"param-name"},"Firmware Revision",-1),_={class:"view-options"},C={class:"view-selector col-s-8 col-m-9 col-l-10"},R={class:"buttons"},q=Object(r["h"])("i",{class:"fa fa-plus"},null,-1),z=Object(r["h"])("i",{class:"fa fa-sync-alt"},null,-1),M={class:"view-container"},E={key:0,class:"view devices"},G={key:0,class:"no-items"},S={key:0,class:"loading"},I={key:1,class:"empty"},T={key:1,class:"view groups"},D={key:0,class:"no-items"},V={key:0,class:"loading"},A={key:1,class:"empty"};function N(e,t,n,N,$,Z){var F=this,U=Object(r["z"])("Loading"),L=Object(r["z"])("Modal"),P=Object(r["z"])("DropdownItem"),B=Object(r["z"])("Dropdown"),J=Object(r["z"])("Device"),X=Object(r["z"])("Group");return Object(r["r"])(),Object(r["e"])("div",a,[$.loading?(Object(r["r"])(),Object(r["e"])(U,{key:0})):Object(r["f"])("",!0),Object(r["h"])(L,{title:"Network Info",ref:"infoModal"},{default:Object(r["H"])((function(){var e,t,n,a,_;return[$.status.info?(Object(r["r"])(),Object(r["e"])("div",i,[Object(r["h"])("div",s,[c,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])($.status.state)},null,8,["textContent"])]),Object(r["h"])("div",o,[l,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])($.status.info.permit_join)},null,8,["textContent"])]),$.status.info.network?(Object(r["r"])(),Object(r["e"])("div",u,[d,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])($.status.info.network.channel)},null,8,["textContent"])])):Object(r["f"])("",!0),Object(r["h"])("div",v,[b,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])($.status.info.version)},null,8,["textContent"])]),(null===(e=$.status.info.config)||void 0===e?void 0:e.mqtt)?(Object(r["r"])(),Object(r["e"])("div",p,[h,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])($.status.info.config.mqtt.server)},null,8,["textContent"])])):Object(r["f"])("",!0),(null===(t=$.status.info.config)||void 0===t?void 0:t.serial)?(Object(r["r"])(),Object(r["e"])("div",f,[m,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])($.status.info.config.serial.port)},null,8,["textContent"])])):Object(r["f"])("",!0),(null===(n=$.status.info.coordinator)||void 0===n?void 0:n.type)?(Object(r["r"])(),Object(r["e"])("div",g,[O,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])($.status.info.coordinator.type)},null,8,["textContent"])])):Object(r["f"])("",!0),(null===(a=$.status.info.coordinator)||void 0===a?void 0:a.meta)?(Object(r["r"])(),Object(r["e"])("div",j,[y,Object(r["h"])("div",w,Object(r["C"])($.status.info.coordinator.meta.maintrel)+"."+Object(r["C"])($.status.info.coordinator.meta.majorrel)+"."+Object(r["C"])($.status.info.coordinator.meta.minorrel),1)])):Object(r["f"])("",!0),(null===(_=$.status.info.coordinator)||void 0===_?void 0:_.meta)?(Object(r["r"])(),Object(r["e"])("div",k,[x,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])($.status.info.coordinator.meta.revision)},null,8,["textContent"])])):Object(r["f"])("",!0)])):Object(r["f"])("",!0)]})),_:1},512),Object(r["h"])("div",_,[Object(r["h"])("div",C,[Object(r["h"])("label",null,[Object(r["h"])("select",{value:$.selected.view,onChange:t[1]||(t[1]=function(e){return F.selected.view=e.target.value})},[(Object(r["r"])(!0),Object(r["e"])(r["a"],null,Object(r["x"])($.views,(function(e,t){return Object(r["r"])(),Object(r["e"])("option",{textContent:Object(r["C"])((t[0].toUpperCase()+t.slice(1)).replace("_"," ")),key:t,selected:e,value:t},null,8,["textContent","selected","value"])})),128))],40,["value"])])]),Object(r["h"])("div",R,["groups"===$.selected.view?(Object(r["r"])(),Object(r["e"])("button",{key:0,class:"btn btn-default",title:"Add Group",disabled:$.loading,onClick:t[2]||(t[2]=function(){return Z.addGroup.apply(Z,arguments)})},[q],8,["disabled"])):Object(r["f"])("",!0),Object(r["h"])(B,{ref:"networkCommandsDropdown","icon-class":"fa fa-cog",title:"Network commands"},{default:Object(r["H"])((function(){var n;return[Object(r["h"])(P,{text:"Network Info",disabled:$.loading,onClick:t[3]||(t[3]=function(t){return e.$refs.infoModal.show()})},null,8,["disabled"]),(null===(n=$.status.info)||void 0===n?void 0:n.permit_join)?(Object(r["r"])(),Object(r["e"])(P,{key:1,text:"Disable Join",disabled:$.loading,onClick:t[5]||(t[5]=function(e){return Z.permitJoin(!1)})},null,8,["disabled"])):(Object(r["r"])(),Object(r["e"])(P,{key:0,text:"Permit Join",disabled:$.loading,onClick:t[4]||(t[4]=function(e){return Z.permitJoin(!0)})},null,8,["disabled"])),Object(r["h"])(P,{text:"Factory Reset",disabled:$.loading,onClick:Z.factoryReset},null,8,["disabled","onClick"])]})),_:1},512),Object(r["h"])("button",{class:"btn btn-default",title:"Refresh network",disabled:$.loading,onClick:t[6]||(t[6]=function(){return Z.refresh.apply(Z,arguments)})},[z],8,["disabled"])])]),Object(r["h"])("div",M,["devices"===$.selected.view?(Object(r["r"])(),Object(r["e"])("div",E,[Object.keys($.devices).length?Object(r["f"])("",!0):(Object(r["r"])(),Object(r["e"])("div",G,[$.loading?(Object(r["r"])(),Object(r["e"])("div",S,"Loading devices...")):(Object(r["r"])(),Object(r["e"])("div",I,"No devices found on the network"))])),(Object(r["r"])(!0),Object(r["e"])(r["a"],null,Object(r["x"])($.devices,(function(e,t){return Object(r["r"])(),Object(r["e"])(J,{key:t,device:e,groups:$.groups,selected:$.selected.deviceId===t,onSelect:function(e){return $.selected.deviceId=$.selected.deviceId===t?null:t},onRename:Z.refreshDevices,onRemove:Z.refreshDevices,onGroupsEdit:Z.refreshGroups},null,8,["device","groups","selected","onSelect","onRename","onRemove","onGroupsEdit"])})),128))])):"groups"===$.selected.view?(Object(r["r"])(),Object(r["e"])("div",T,[Object.keys($.groups).length?Object(r["f"])("",!0):(Object(r["r"])(),Object(r["e"])("div",D,[$.loading?(Object(r["r"])(),Object(r["e"])("div",V,"Loading groups...")):(Object(r["r"])(),Object(r["e"])("div",A,"No groups available on the network"))])),(Object(r["r"])(!0),Object(r["e"])(r["a"],null,Object(r["x"])($.groups,(function(e,t){return Object(r["r"])(),Object(r["e"])(X,{key:t,group:e,devices:$.devices,selected:$.selected.groupId===t,onSelect:function(e){return $.selected.groupId=$.selected.groupId===t?null:t},onRename:Z.refreshGroups,onRemove:Z.refreshGroups,onEdit:Z.refreshGroups},null,8,["group","devices","selected","onSelect","onRename","onRemove","onEdit"])})),128))])):Object(r["f"])("",!0)])])}n("13d5"),n("d3b7"),n("ddb0");var $=n("5530"),Z=(n("96cf"),n("1da1")),F=n("ab0f"),U=n("524a"),L=n("3a5e"),P=n("3e54"),B=(n("a4d3"),n("e01a"),n("a15b"),n("d81d"),n("a9e3"),n("25f0"),Object(r["K"])("data-v-1cab1d68"));Object(r["u"])("data-v-1cab1d68");var J={class:"groups"},X=Object(r["h"])("div",{class:"footer buttons"},[Object(r["h"])("button",{type:"submit"},"Save")],-1),Y={key:1,class:"params"},H={class:"row"},K=Object(r["h"])("div",{class:"param-name"},"Name",-1),Q={class:"param-value"},W={class:"buttons"},ee=Object(r["h"])("i",{class:"fas fa-times"},null,-1),te=Object(r["h"])("button",{type:"submit",class:"btn btn-default"},[Object(r["h"])("i",{class:"fa fa-check"})],-1),ne={class:"buttons"},re=Object(r["h"])("i",{class:"fa fa-edit"},null,-1),ae={class:"row"},ie=Object(r["h"])("div",{class:"param-name"},"IEEE Address",-1),se={key:0,class:"row"},ce=Object(r["h"])("div",{class:"param-name"},"Network Address",-1),oe={class:"row"},le=Object(r["h"])("div",{class:"param-name"},"Type",-1),ue={key:1,class:"row"},de=Object(r["h"])("div",{class:"param-name"},"Vendor",-1),ve={class:"param-value"},be={key:2,class:"row"},pe=Object(r["h"])("div",{class:"param-name"},"Model",-1),he={class:"param-value"},fe={key:3,class:"row"},me=Object(r["h"])("div",{class:"param-name"},"Model ID",-1),ge={class:"param-value"},Oe={key:4,class:"row"},je=Object(r["h"])("div",{class:"param-name"},"Description",-1),ye={class:"param-value"},we={key:5,class:"row"},ke=Object(r["h"])("div",{class:"param-name"},"Software Build ID",-1),xe={class:"param-value"},_e={key:6,class:"row"},Ce=Object(r["h"])("div",{class:"param-name"},"Date Code",-1),Re={class:"param-value"},qe={key:7,class:"row"},ze=Object(r["h"])("div",{class:"param-name"},"Power Source",-1),Me={class:"param-value"},Ee={key:8,class:"section values"},Ge=Object(r["h"])("div",{class:"header"},[Object(r["h"])("div",{class:"title"},"Values")],-1),Se={class:"body"},Ie={class:"param-name"},Te={key:0,class:"text"},De={class:"param-value"},Ve={key:2},Ae={key:3},Ne={key:0},$e={key:4},Ze={key:5},Fe={class:"section actions"},Ue=Object(r["h"])("div",{class:"header"},[Object(r["h"])("div",{class:"title"},"Actions")],-1),Le={class:"body"},Pe=Object(r["h"])("div",{class:"param-name"},"Manage groups",-1),Be=Object(r["h"])("div",{class:"param-value"},[Object(r["h"])("i",{class:"fa fa-network-wired"})],-1),Je={key:0,class:"param-name"},Xe={key:1,class:"param-name"},Ye=Object(r["h"])("div",{class:"param-value"},[Object(r["h"])("i",{class:"fa fa-sync-alt"})],-1),He=Object(r["h"])("div",{class:"param-name"},"Remove Device",-1),Ke=Object(r["h"])("div",{class:"param-value"},[Object(r["h"])("i",{class:"fa fa-trash"})],-1),Qe=Object(r["h"])("div",{class:"param-name"},"Force Remove Device",-1),We=Object(r["h"])("div",{class:"param-value"},[Object(r["h"])("i",{class:"fa fa-trash"})],-1);Object(r["s"])();var et=B((function(e,t,n,a,i,s){var c,o,l,u,d=Object(r["z"])("Loading"),v=Object(r["z"])("Modal"),b=Object(r["z"])("ToggleSwitch"),p=Object(r["z"])("Slider");return Object(r["r"])(),Object(r["e"])("div",{class:["item device",{selected:n.selected}]},[i.loading?(Object(r["r"])(),Object(r["e"])(d,{key:0})):Object(r["f"])("",!0),Object(r["h"])(v,{class:"groups-modal",ref:"groupsModal",title:"Device groups"},{default:B((function(){return[i.loading?(Object(r["r"])(),Object(r["e"])(d,{key:0})):Object(r["f"])("",!0),Object(r["h"])("form",{class:"content",onSubmit:t[1]||(t[1]=Object(r["J"])((function(){return s.manageGroups.apply(s,arguments)}),["prevent"]))},[Object(r["h"])("div",J,[(Object(r["r"])(!0),Object(r["e"])(r["a"],null,Object(r["x"])(n.groups,(function(e,t){var n;return Object(r["r"])(),Object(r["e"])("label",{class:"row group",key:t},[Object(r["h"])("input",{type:"checkbox",value:t,checked:s.associatedGroups.has(parseInt(e.id))},null,8,["value","checked"]),Object(r["h"])("span",{class:"name",textContent:Object(r["C"])((null===(n=e.friendly_name)||void 0===n?void 0:n.length)?e.friendly_name:"[Group #".concat(e.id,"]"))},null,8,["textContent"])])})),128))]),X],32)]})),_:1},512),Object(r["h"])("div",{class:["row name header vertical-center",{selected:n.selected}],textContent:Object(r["C"])(n.device.friendly_name||n.device.ieee_address),onClick:t[2]||(t[2]=function(t){return e.$emit("select")})},null,10,["textContent"]),n.selected?(Object(r["r"])(),Object(r["e"])("div",Y,[Object(r["h"])("div",H,[K,Object(r["h"])("div",Q,[Object(r["h"])("div",{class:["name-edit",{hidden:!i.editName}]},[Object(r["h"])("form",{onSubmit:t[4]||(t[4]=Object(r["J"])((function(){return s.rename.apply(s,arguments)}),["prevent"]))},[Object(r["h"])("label",null,[Object(r["h"])("input",{type:"text",name:"name",ref:"name",value:n.device.friendly_name},null,8,["value"])]),Object(r["h"])("span",W,[Object(r["h"])("button",{type:"button",class:"btn btn-default",onClick:t[3]||(t[3]=function(e){return i.editName=!1})},[ee]),te])],32)],2),Object(r["h"])("div",{class:["name-edit",{hidden:i.editName}]},[Object(r["h"])("span",{textContent:Object(r["C"])(n.device.friendly_name)},null,8,["textContent"]),Object(r["h"])("span",ne,[Object(r["h"])("button",{type:"button",class:"btn btn-default",onClick:t[5]||(t[5]=function(e){return i.editName=!0})},[re])])],2)])]),Object(r["h"])("div",ae,[ie,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])(n.device.ieee_address)},null,8,["textContent"])]),n.device.network_address?(Object(r["r"])(),Object(r["e"])("div",se,[ce,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])(n.device.network_address)},null,8,["textContent"])])):Object(r["f"])("",!0),Object(r["h"])("div",oe,[le,Object(r["h"])("div",{class:"param-value",textContent:Object(r["C"])(n.device.type)},null,8,["textContent"])]),(null===(c=n.device.definition)||void 0===c?void 0:c.vendor)?(Object(r["r"])(),Object(r["e"])("div",ue,[de,Object(r["h"])("div",ve,Object(r["C"])(n.device.definition.vendor),1)])):Object(r["f"])("",!0),(null===(o=n.device.definition)||void 0===o?void 0:o.model)?(Object(r["r"])(),Object(r["e"])("div",be,[pe,Object(r["h"])("div",he,Object(r["C"])(n.device.definition.model),1)])):Object(r["f"])("",!0),n.device.model_id?(Object(r["r"])(),Object(r["e"])("div",fe,[me,Object(r["h"])("div",ge,Object(r["C"])(n.device.model_id),1)])):Object(r["f"])("",!0),(null===(l=n.device.definition)||void 0===l?void 0:l.description)?(Object(r["r"])(),Object(r["e"])("div",Oe,[je,Object(r["h"])("div",ye,Object(r["C"])(n.device.definition.description),1)])):Object(r["f"])("",!0),n.device.software_build_id?(Object(r["r"])(),Object(r["e"])("div",we,[ke,Object(r["h"])("div",xe,Object(r["C"])(n.device.software_build_id),1)])):Object(r["f"])("",!0),(null===(u=n.device.definition)||void 0===u?void 0:u.date_code)?(Object(r["r"])(),Object(r["e"])("div",_e,[Ce,Object(r["h"])("div",Re,Object(r["C"])(n.device.definition.date_code),1)])):Object(r["f"])("",!0),n.device.power_source?(Object(r["r"])(),Object(r["e"])("div",qe,[ze,Object(r["h"])("div",Me,Object(r["C"])(n.device.power_source),1)])):Object(r["f"])("",!0),Object.keys(s.displayedValues).length?(Object(r["r"])(),Object(r["e"])("div",Ee,[Ge,Object(r["h"])("div",Se,[(Object(r["r"])(!0),Object(r["e"])(r["a"],null,Object(r["x"])(s.displayedValues,(function(e,t){var n,a,i,c,o,l,u,d;return Object(r["r"])(),Object(r["e"])("div",{class:"row value",key:t},[Object(r["h"])("div",Ie,[Object(r["g"])(Object(r["C"])(e.description)+" ",1),null!=s.rgbColor&&null!=(null===(n=e.value)||void 0===n?void 0:n.x)&&null!=(null===(a=e.value)||void 0===a?void 0:a.y)||null!=(null===(i=e.value)||void 0===i?void 0:i.hue)&&null!=(null===(c=e.value)||void 0===c?void 0:c.saturation)?(Object(r["r"])(),Object(r["e"])("span",Te,"Color")):Object(r["f"])("",!0),e.property?(Object(r["r"])(),Object(r["e"])("span",{key:1,class:"name",textContent:Object(r["C"])(e.property)},null,8,["textContent"])):Object(r["f"])("",!0),e.unit?(Object(r["r"])(),Object(r["e"])("span",{key:2,class:"unit",textContent:Object(r["C"])(e.unit)},null,8,["textContent"])):Object(r["f"])("",!0)]),Object(r["h"])("div",De,["binary"===e.type?(Object(r["r"])(),Object(r["e"])(b,{key:0,value:null!=e.value_on?e.value===e.value_on:!!e.value,disabled:!e.writable,onInput:function(t){return s.setValue(e,t)}},null,8,["value","disabled","onInput"])):"numeric"===e.type&&null!=e.value_min&&null!=e.value_max?(Object(r["r"])(),Object(r["e"])(p,{key:1,"with-label":!0,range:[e.value_min,e.value_max],value:e.value,disabled:!e.writable,onChange:function(t){return s.setValue(e,t)}},null,8,["range","value","disabled","onChange"])):"numeric"!==e.type||null!=e.value_min&&null!=e.value_max?"enum"===e.type?(Object(r["r"])(),Object(r["e"])("label",Ae,[Object(r["h"])("select",{value:e.readable&&null!=e.value?e.value:"",onChange:function(t){return s.setValue(e,t)}},[e.readable?Object(r["f"])("",!0):(Object(r["r"])(),Object(r["e"])("option",Ne)),(Object(r["r"])(!0),Object(r["e"])(r["a"],null,Object(r["x"])(e.values,(function(t){return Object(r["r"])(),Object(r["e"])("option",{key:t,value:t,textContent:Object(r["C"])(t),selected:e.readable&&e.value===t,disabled:!e.writable},null,8,["value","textContent","selected","disabled"])})),128))],40,["value","onChange"])])):null!=s.rgbColor&&null!=(null===(o=e.value)||void 0===o?void 0:o.x)&&null!=(null===(l=e.value)||void 0===l?void 0:l.y)||null!=(null===(u=e.value)||void 0===u?void 0:u.hue)&&null!=(null===(d=e.value)||void 0===d?void 0:d.saturation)?(Object(r["r"])(),Object(r["e"])("label",$e,[Object(r["h"])("input",{type:"color",onChange:Object(r["J"])((function(t){return s.setValue(e,t)}),["stop"]),value:"#"+s.rgbColor.map((function(e){return e=Number(e).toString(16),1===e.length?"0"+e:e})).join("")},null,40,["onChange","value"])])):(Object(r["r"])(),Object(r["e"])("label",Ze,[Object(r["h"])("input",{type:"text",disabled:!e.writable,value:e.value,onChange:function(t){return s.setValue(e,t)}},null,40,["disabled","value","onChange"])])):(Object(r["r"])(),Object(r["e"])("label",Ve,[Object(r["h"])("input",{type:"number","with-label":!0,value:e.value,disabled:!e.writable,onChange:function(t){return s.setValue(e,t)}},null,40,["value","disabled","onChange"])]))])])})),128))])])):Object(r["f"])("",!0),Object(r["h"])("div",Fe,[Ue,Object(r["h"])("div",Le,[Object(r["h"])("div",{class:"row",onClick:t[6]||(t[6]=function(t){return e.$refs.groupsModal.show()})},[Pe,Be]),Object(r["h"])("div",{class:"row",onClick:t[7]||(t[7]=function(e){return i.otaUpdatesAvailable?s.installOtaUpdates():s.checkOtaUpdates()})},[i.otaUpdatesAvailable?(Object(r["r"])(),Object(r["e"])("div",Xe,"Install updates")):(Object(r["r"])(),Object(r["e"])("div",Je,"Check for updates")),Ye]),Object(r["h"])("div",{class:"row",onClick:t[8]||(t[8]=function(e){return s.remove(!1)})},[He,Ke]),Object(r["h"])("div",{class:"row error",onClick:t[9]||(t[9]=function(e){return s.remove(!0)})},[Qe,We])])])])):Object(r["f"])("",!0)],2)})),tt=(n("4de4"),n("b0c0"),n("4fad"),n("07ac"),n("6062"),n("3ca3"),n("1276"),n("498a"),n("2909")),nt=n("3835"),rt=n("b85c"),at=n("8285"),it=n("0279"),st=n("1804"),ct=n("714b"),ot={name:"Device",components:{Modal:ct["a"],ToggleSwitch:it["a"],Slider:at["a"],Loading:L["a"]},mixins:[P["a"]],emits:["select","rename","remove","groups-edit"],props:{device:{type:Object,required:!0},groups:{type:Object,default:function(){}},selected:{type:Boolean,default:!1}},data:function(){return{editName:!1,loading:!1,status:{},otaUpdatesAvailable:!1}},computed:{values:function(){var e;if(!(null===(e=this.device.definition)||void 0===e?void 0:e.exposes))return{};var t=function(e){var t,n=function e(t,n){if(t.features){t.property&&(n[t.property]=n[t.property]||{},n=n[t.property]);var r,a=Object(rt["a"])(t.features);try{for(a.s();!(r=a.n()).done;){var i=r.value;e(i,n)}}catch(s){a.e(s)}finally{a.f()}}else t.property&&(n[t.property]=t)},r={},a=Object(rt["a"])(e);try{for(a.s();!(t=a.n()).done;){var i=t.value;n(i,r)}}catch(s){a.e(s)}finally{a.f()}return r};return t(this.device.definition.exposes)},displayedValues:function(){var e=this,t={},n=function t(n,r){var a=Object(nt["a"])(r,2),i=a[0],s=a[1];return i in e.status&&(s=Object($["a"])(Object($["a"])({},s),{},{value:e.status[i]})),null!=s.access&&(s.readable=!!(1&s.access),s.writable=!!(2&s.access),delete s.access),n[i]=s,Object.entries(s).filter((function(e){return e[1]instanceof Object})).reduce(t,n[i]),n};return Object.entries(this.values).reduce(n,t),t},rgbColor:function(){var e;if(this.displayedValues.color){var t=null===(e=this.displayedValues.color)||void 0===e?void 0:e.value;if(t){if(null!=t.x&&null!=t.y){var n,r,a=new st["a"]({bri:[(null===(n=this.displayedValues.brightness)||void 0===n?void 0:n.value_min)||0,(null===(r=this.displayedValues.brightness)||void 0===r?void 0:r.value_max)||255]});return a.xyToRgb(t.x,t.y,this.displayedValues.brightness.value)}if(null!=t.hue&&(null!=t.saturation||null!=t.sat)){var i,s,c,o,l=null!=t.saturation?"saturation":"sat",u=new st["a"]({hue:[(null===(i=this.displayedValues.color.hue)||void 0===i?void 0:i.value_min)||0,this.displayedValues.color.hue.value_max||65535],sat:[(null===(s=this.displayedValues.color[l])||void 0===s?void 0:s.value_min)||0,this.displayedValues.color[l].value_max||255],bri:[(null===(c=this.displayedValues.brightness)||void 0===c?void 0:c.value_min)||0,(null===(o=this.displayedValues.brightness)||void 0===o?void 0:o.value_max)||255]});return u.hslToRgb(t.hue,t[l],this.displayedValues.brightness.value)}return null}}},associatedGroups:function(){var e=this;return new Set(Object.values(this.groups).filter((function(t){return new Set((t.members||[]).map((function(e){return e.ieee_address}))).has(e.device.ieee_address)})).map((function(e){return parseInt(e.id)})))}},methods:{refresh:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.prev=1,t.next=4,e.request("zigbee.mqtt.device_get",{device:e.device.friendly_name||e.device.ieee_address});case 4:e.status=t.sent;case 5:return t.prev=5,e.loading=!1,t.finish(5);case 8:case"end":return t.stop()}}),t,null,[[1,,5,8]])})))()},rename:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){var n,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=(e.$refs.name.value||"").trim(),n.length&&n!==e.device.friendly_name){t.next=3;break}return t.abrupt("return");case 3:return e.loading=!0,t.prev=4,t.next=7,e.request("zigbee.mqtt.device_rename",{device:(null===(r=e.device.friendly_name)||void 0===r?void 0:r.length)?e.device.friendly_name:e.device.ieee_address,name:n});case 7:e.$emit("rename",{name:e.device.friendly_name,newName:n});case 8:return t.prev=8,e.editName=!1,e.loading=!1,t.finish(8);case 12:case"end":return t.stop()}}),t,null,[[4,,8,12]])})))()},remove:function(e){var t=this;return Object(Z["a"])(regeneratorRuntime.mark((function n(){var r;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(confirm("Are you really sure that you want to remove this device from the network?")){n.next=2;break}return n.abrupt("return");case 2:return e=!!e,t.loading=!0,n.prev=4,n.next=7,t.request("zigbee.mqtt.device_remove",{device:(null===(r=t.device.friendly_name)||void 0===r?void 0:r.length)?t.device.friendly_name:t.device.ieee_address,force:e});case 7:t.$emit("remove",{device:t.device.friendly_name||t.device.ieee_address});case 8:return n.prev=8,t.loading=!1,n.finish(8);case 11:case"end":return n.stop()}}),n,null,[[4,,8,11]])})))()},setValue:function(e,t){var n=this;return Object(Z["a"])(regeneratorRuntime.mark((function r(){var a,i,s,c,o,l,u,d,v,b,p,h,f,m;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:i={device:n.device.friendly_name||n.device.ieee_address,property:e.property,value:null},r.t0=e.type,r.next="binary"===r.t0?4:"numeric"===r.t0?6:"enum"===r.t0?8:10;break;case 4:return e.value_toggle?i.value=e.value_toggle:e.value_on&&e.value_off?i.value=e.value===e.value_on?e.value_off:e.value_on:i.value=!e.value,r.abrupt("break",12);case 6:return i.value=parseFloat(t.target.value),r.abrupt("break",12);case 8:return(null===(a=t.target.value)||void 0===a?void 0:a.length)&&(i.value=t.target.value),r.abrupt("break",12);case 10:return(null!=e.x&&null!=e.y||null!=e.hue&&(null!=e.saturation||null!=e.sat))&&(i.property="color",s=t.target.value.slice(1).split(/([0-9a-fA-F]{2})/).filter((function(e,t){return t%2})).map((function(e){return parseInt(e,16)})),null!=e.x&&null!=e.y?(l=new st["a"]({bri:[(null===(c=n.displayedValues.brightness)||void 0===c?void 0:c.value_min)||0,(null===(o=n.displayedValues.brightness)||void 0===o?void 0:o.value_max)||255]}),u=l.rgbToXY.apply(l,Object(tt["a"])(s)),i.value={color:{x:u[0],y:u[1]}}):(h=null!=n.displayedValues.color.saturation?"saturation":"sat",f=new st["a"]({hue:[(null===(d=n.displayedValues.color.hue)||void 0===d?void 0:d.value_min)||0,n.displayedValues.color.hue.value_max||65535],sat:[(null===(v=n.displayedValues.color[h])||void 0===v?void 0:v.value_min)||0,n.displayedValues.color[h].value_max||255],bri:[(null===(b=n.displayedValues.brightness)||void 0===b?void 0:b.value_min)||0,(null===(p=n.displayedValues.brightness)||void 0===p?void 0:p.value_max)||255]}),m=f.rgbToHsl.apply(f,Object(tt["a"])(s)),i.value={brightness:m[2],color:{hue:m[0],"`${satAttr}":m[1]}})),r.abrupt("break",12);case 12:if(null!=i.value){r.next=14;break}return r.abrupt("return");case 14:return n.loading=!0,r.prev=15,r.next=18,n.request("zigbee.mqtt.device_set",i);case 18:return r.next=20,n.refresh();case 20:return r.prev=20,n.loading=!1,r.finish(20);case 23:case"end":return r.stop()}}),r,null,[[15,,20,23]])})))()},manageGroups:function(e){var t=this;return Object(Z["a"])(regeneratorRuntime.mark((function n(){var r,a;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return r=Object(tt["a"])(e.target.querySelectorAll("input[type=checkbox]")).reduce((function(e,n){var r=parseInt(n.value);return n.checked&&!t.associatedGroups.has(r)?e.add.add(r):!n.checked&&t.associatedGroups.has(r)&&e.remove.add(r),e}),{add:new Set,remove:new Set}),a=function(){var e=Object(Z["a"])(regeneratorRuntime.mark((function e(n){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(Object(tt["a"])(r[n]).map(function(){var e=Object(Z["a"])(regeneratorRuntime.mark((function e(r){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t.request("zigbee.mqtt.group_".concat(n,"_device"),{group:t.groups[r].friendly_name,device:(null===(a=t.device.friendly_name)||void 0===a?void 0:a.length)?t.device.friendly_name:t.device.ieee_address});case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),t.loading=!0,n.prev=3,n.next=6,Promise.all(Object.keys(r).map(a));case 6:t.$emit("groups-edit",r);case 7:return n.prev=7,t.loading=!1,n.finish(7);case 10:case"end":return n.stop()}}),n,null,[[3,,7,10]])})))()},checkOtaUpdates:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.prev=1,t.next=4,e.request("zigbee.mqtt.device_check_ota_updates",{device:(null===(n=e.device.friendly_name)||void 0===n?void 0:n.length)?e.device.friendly_name:e.device.ieee_address});case 4:e.otaUpdatesAvailable=t.sent.update_available,e.otaUpdatesAvailable?e.notify({text:"A firmware update is available for the device",image:{iconClass:"fa fa-sync-alt"}}):e.notify({text:"The device is up to date",image:{iconClass:"fa fa-check"}});case 6:return t.prev=6,e.loading=!1,t.finish(6);case 9:case"end":return t.stop()}}),t,null,[[1,,6,9]])})))()},installOtaUpdates:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.prev=1,t.next=4,e.request("zigbee.mqtt.device_install_ota_updates",{device:(null===(n=e.device.friendly_name)||void 0===n?void 0:n.length)?e.device.friendly_name:e.device.ieee_address});case 4:return t.prev=4,e.loading=!1,t.finish(4);case 7:case"end":return t.stop()}}),t,null,[[1,,4,7]])})))()}},mounted:function(){var e=this;this.$watch((function(){return e.selected}),(function(t){t&&e.refresh()})),this.$watch((function(){return e.status.update_available}),(function(t){e.otaUpdatesAvailable=t})),this.subscribe((function(t){t.device!==e.device.friendly_name&&t.device!==e.device.ieee_address||(e.status=Object($["a"])(Object($["a"])({},e.status),t.properties))}),"on-property-change-".concat(this.device.ieee_address),"platypush.message.event.zigbee.mqtt.ZigbeeMqttDevicePropertySetEvent")},unmounted:function(){this.unsubscribe("on-property-change-".concat(this.device.ieee_address))}};n("7faf");ot.render=et,ot.__scopeId="data-v-1cab1d68";var lt=ot,ut=Object(r["K"])("data-v-7667f7ba");Object(r["u"])("data-v-7667f7ba");var dt={key:1,class:"params"},vt={class:"section devices"},bt=Object(r["h"])("div",{class:"header"},[Object(r["h"])("div",{class:"title"},"Devices")],-1),pt={class:"body"},ht={class:"section actions"},ft=Object(r["h"])("div",{class:"header"},[Object(r["h"])("div",{class:"title"},"Actions")],-1),mt={class:"body"},gt=Object(r["h"])("div",{class:"col-10"},"Rename Group",-1),Ot=Object(r["h"])("div",{class:"buttons col-2 pull-right"},[Object(r["h"])("i",{class:"fa fa-edit"})],-1),jt=Object(r["h"])("div",{class:"col-10"},"Remove Group",-1),yt=Object(r["h"])("div",{class:"buttons col-2 pull-right"},[Object(r["h"])("i",{class:"fa fa-trash"})],-1);Object(r["s"])();var wt=ut((function(e,t,n,a,i,s){var c=Object(r["z"])("Loading");return Object(r["r"])(),Object(r["e"])("div",{class:["item group",{selected:n.selected}]},[i.loading?(Object(r["r"])(),Object(r["e"])(c,{key:0})):Object(r["f"])("",!0),Object(r["h"])("div",{class:["row name header vertical-center",{selected:n.selected}],textContent:Object(r["C"])(n.group.friendly_name),onClick:t[1]||(t[1]=function(t){return e.$emit("select")})},null,10,["textContent"]),n.selected?(Object(r["r"])(),Object(r["e"])("div",dt,[Object(r["h"])("div",vt,[bt,Object(r["h"])("div",pt,[Object(r["h"])("form",null,[(Object(r["r"])(!0),Object(r["e"])(r["a"],null,Object(r["x"])(n.devices,(function(e,t){var n;return Object(r["r"])(),Object(r["e"])("label",{class:"row",key:t},[Object(r["h"])("input",{type:"checkbox",checked:s.members.has(e.ieee_address),value:e.ieee_address,onChange:function(t){return s.toggleDevice(e.ieee_address)}},null,40,["checked","value","onChange"]),Object(r["h"])("span",{class:"label",textContent:Object(r["C"])((null===(n=e.friendly_name)||void 0===n?void 0:n.length)?e.friendly_name:e.ieee_address)},null,8,["textContent"])])})),128))])])]),Object(r["h"])("div",ht,[ft,Object(r["h"])("div",mt,[Object(r["h"])("div",{class:"row",onClick:t[2]||(t[2]=function(){return s.rename.apply(s,arguments)})},[gt,Ot]),Object(r["h"])("div",{class:"row",onClick:t[3]||(t[3]=function(){return s.remove.apply(s,arguments)})},[jt,yt])])])])):Object(r["f"])("",!0)],2)})),kt={name:"Group",emits:["select","remove","edit"],mixins:[P["a"]],components:{Loading:L["a"]},props:{group:{type:Object,required:!0},devices:{type:Object,default:function(){return{}}},selected:{type:Boolean,default:!1}},data:function(){return{loading:!1,values:{}}},computed:{devicesByAddress:function(){return Object.entries(this.devices).reduce((function(e,t){var n=t[1];return e[n.ieee_address]=n,e}),{})},members:function(){return new Set((this.group.members||[]).map((function(e){return e.ieee_address})))}},methods:{remove:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(confirm("Are you sure that you want to remove this group?")){t.next=2;break}return t.abrupt("return");case 2:return e.loading=!0,t.prev=3,t.next=6,e.request("zigbee.mqtt.group_remove",{name:e.group.friendly_name});case 6:e.$emit("remove",{name:e.group.friendly_name});case 7:return t.prev=7,e.loading=!1,t.finish(7);case 10:case"end":return t.stop()}}),t,null,[[3,,7,10]])})))()},rename:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){var n,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(r=prompt("New group name",e.group.friendly_name),null===(n=r)||void 0===n?void 0:n.length){t.next=3;break}return t.abrupt("return");case 3:return r=r.trim(),e.loading=!0,t.prev=5,t.next=8,e.request("zigbee.mqtt.group_rename",{group:e.group.friendly_name||e.group.id,name:r});case 8:e.$emit("rename",{name:e.group.friendly_name,newName:r});case 9:return t.prev=9,e.loading=!1,t.finish(9);case 12:case"end":return t.stop()}}),t,null,[[5,,9,12]])})))()},toggleDevice:function(e){var t=this;return Object(Z["a"])(regeneratorRuntime.mark((function n(){var r,a,i,s;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return a=t.devicesByAddress[e],i=(null===(r=a.friendly_name)||void 0===r?void 0:r.length)?a.friendly_name:e,s=t.members.has(e)?"remove":"add",t.loading=!0,n.prev=4,n.next=7,t.request("zigbee.mqtt.group_".concat(s,"_device"),{group:t.group.friendly_name,device:i});case 7:t.$emit("edit",{device:i,method:s});case 8:return n.prev=8,t.loading=!1,n.finish(8);case 11:case"end":return n.stop()}}),n,null,[[4,,8,11]])})))()}}};n("7083");kt.render=wt,kt.__scopeId="data-v-7667f7ba";var xt=kt,_t={name:"ZigbeeMqtt",components:{Modal:ct["a"],Dropdown:F["a"],DropdownItem:U["a"],Loading:L["a"],Device:lt,Group:xt},mixins:[P["a"]],data:function(){return{devices:{},groups:{},status:{},loading:!1,selected:{view:"devices",deviceId:void 0,groupId:void 0},views:{devices:!0,groups:!0},modal:{group:{visible:!1}}}},methods:{refreshDevices:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.prev=1,t.next=4,e.request("zigbee.mqtt.devices");case 4:e.devices=t.sent.reduce((function(t,n){return n.friendly_name in e.devices&&(n=Object($["a"])({values:e.devices[n.friendly_name].values||{}},e.devices[n.friendly_name])),t[n.friendly_name]=n,t}),{});case 5:return t.prev=5,e.loading=!1,t.finish(5);case 8:case"end":return t.stop()}}),t,null,[[1,,5,8]])})))()},refreshGroups:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.prev=1,t.next=4,e.request("zigbee.mqtt.groups");case 4:e.groups=t.sent.reduce((function(e,t){return e[t.id]=t,e}),{});case 5:return t.prev=5,e.loading=!1,t.finish(5);case 8:case"end":return t.stop()}}),t,null,[[1,,5,8]])})))()},refreshInfo:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.prev=1,t.next=4,e.request("zigbee.mqtt.info");case 4:e.status=t.sent;case 5:return t.prev=5,e.loading=!1,t.finish(5);case 8:case"end":return t.stop()}}),t,null,[[1,,5,8]])})))()},refresh:function(){this.refreshDevices(),this.refreshGroups(),this.refreshInfo()},updateProperties:function(e,t){this.devices[e].values=t},addGroup:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=prompt("Group name"),n&&n.length){t.next=3;break}return t.abrupt("return");case 3:return e.loading=!0,t.prev=4,t.next=7,e.request("zigbee.mqtt.group_add",{name:n});case 7:return t.prev=7,e.loading=!1,t.finish(7);case 10:return t.next=12,e.refreshGroups();case 12:case"end":return t.stop()}}),t,null,[[4,,7,10]])})))()},permitJoin:function(e){var t=this;return Object(Z["a"])(regeneratorRuntime.mark((function n(){var r,a;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return r={permit:!!e},e&&(a=prompt("Join allow period in seconds (0 or empty for no time limits)","60"),r.seconds=a.length?parseInt(a):null),t.loading=!0,n.prev=3,n.next=6,t.request("zigbee.mqtt.permit_join",r);case 6:setTimeout(t.refreshInfo,1e3);case 7:return n.prev=7,t.loading=!1,n.finish(7);case 10:case"end":return n.stop()}}),n,null,[[3,,7,10]])})))()},factoryReset:function(){var e=this;return Object(Z["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(confirm("Are you SURE that you want to do a device factory reset?")){t.next=3;break}if(confirm("Are you REALLY sure? ALL network information and custom firmware will be lost!!")){t.next=3;break}return t.abrupt("return");case 3:return e.loading=!0,t.prev=4,t.next=7,e.request("zigbee.mqtt.factory_reset");case 7:return t.prev=7,e.loading=!1,t.finish(7);case 10:case"end":return t.stop()}}),t,null,[[4,,7,10]])})))()},addToGroup:function(e,t){var n=this;return Object(Z["a"])(regeneratorRuntime.mark((function r(){var a;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return n.loading=!0,r.next=3,n.request("zigbee.mqtt.group_add_device",{device:e,group:t});case 3:n.loading=!1,a=n,setTimeout((function(){a.refresh(),a.refreshGroups()}),100);case 6:case"end":return r.stop()}}),r)})))()}},created:function(){var e=this;this.subscribe((function(){e.notify({text:"WARNING: The controller is offline",error:!0})}),"on-zigbee-offline","platypush.message.event.zigbee.mqtt.ZigbeeMqttOfflineEvent"),this.subscribe((function(){e.notify({text:"The controller is now online",iconClass:"fas fa-check"})}),"on-zigbee-online","platypush.message.event.zigbee.mqtt.ZigbeeMqttOnlineEvent"),this.subscribe((function(){e.notify({text:"Failed to remove the device",error:!0})}),"on-zigbee-device-remove-failed","platypush.message.event.zigbee.mqtt.ZigbeeMqttDeviceRemovedFailedEvent"),this.subscribe((function(){e.notify({text:"Failed to add the group",error:!0})}),"on-zigbee-group-add-failed","platypush.message.event.zigbee.mqtt.ZigbeeMqttGroupAddedFailedEvent"),this.subscribe((function(){e.notify({text:"Failed to remove group",error:!0})}),"on-zigbee-group-remove-failed","platypush.message.event.zigbee.mqtt.ZigbeeMqttGroupRemovedFailedEvent"),this.subscribe((function(){e.notify({text:"Failed to remove the devices from group",error:!0})}),"on-zigbee-remove-all-failed","platypush.message.event.zigbee.mqtt.ZigbeeMqttGroupRemoveAllFailedEvent"),this.subscribe((function(t){e.notify({text:t.error||"[Unknown error]",error:!0})}),"on-zigbee-error","platypush.message.event.zigbee.mqtt.ZigbeeMqttErrorEvent"),this.subscribe(this.refresh,"on-zigbee-device-update","platypush.message.event.zigbee.mqtt.ZigbeeMqttOnlineEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttDevicePairingEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttDeviceConnectedEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttDeviceBannedEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttDeviceRemovedEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttDeviceWhitelistedEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttDeviceRenamedEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttDeviceBindEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttDeviceUnbindEvent"),this.subscribe(this.refreshGroups,"on-zigbee-group-update","platypush.message.event.zigbee.mqtt.ZigbeeMqttGroupAddedEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttGroupRemovedEvent","platypush.message.event.zigbee.mqtt.ZigbeeMqttGroupRemoveAllEvent")},mounted:function(){this.refresh()},unmounted:function(){this.unsubscribe("on-zigbee-error"),this.unsubscribe("on-zigbee-remove-all-failed"),this.unsubscribe("on-zigbee-group-remove-failed"),this.unsubscribe("on-zigbee-group-add-failed"),this.unsubscribe("on-zigbee-device-remove-failed"),this.unsubscribe("on-zigbee-online"),this.unsubscribe("on-zigbee-offline"),this.unsubscribe("on-zigbee-device-update"),this.unsubscribe("on-zigbee-group-update")}};n("bfcb");_t.render=N;t["default"]=_t},"6af8":function(e,t,n){},"702e":function(e,t,n){},7083:function(e,t,n){"use strict";n("702e")},"7faf":function(e,t,n){"use strict";n("41a6")},bfcb:function(e,t,n){"use strict";n("6af8")},c8d2:function(e,t,n){var r=n("d039"),a=n("5899"),i=" ";e.exports=function(e){return r((function(){return!!a[e]()||i[e]()!=i||a[e].name!==e}))}}}]);
-//# sourceMappingURL=chunk-23035330.1df1cd51.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-23035330.1df1cd51.js.map b/platypush/backend/http/dist/static/js/chunk-23035330.1df1cd51.js.map
deleted file mode 100644
index fc0edcdf4..000000000
--- a/platypush/backend/http/dist/static/js/chunk-23035330.1df1cd51.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./src/components/panels/Light/color.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./src/components/panels/ZigbeeMqtt/Index.vue","webpack:///./src/components/panels/ZigbeeMqtt/Device.vue","webpack:///./src/components/panels/ZigbeeMqtt/Device.vue?a3a2","webpack:///./src/components/panels/ZigbeeMqtt/Group.vue","webpack:///./src/components/panels/ZigbeeMqtt/Group.vue?fdfb","webpack:///./src/components/panels/ZigbeeMqtt/Index.vue?a4e4","webpack:///./src/components/panels/ZigbeeMqtt/Group.vue?6dec","webpack:///./src/components/panels/ZigbeeMqtt/Device.vue?8b0d","webpack:///./src/components/panels/ZigbeeMqtt/Index.vue?f717","webpack:///./node_modules/core-js/internals/string-trim-forced.js"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","ColorConverter","ranges","this","hue","sat","bri","ct","keys","attr","x","xRange","yRange","h","s","l","normalize","a","Math","min","f","n","k","color","max","round","r","g","b","d","parseInt","y","brightness","z","Y","toFixed","X","Z","red","green","blue","pow","isNaN","map","c","parseFloat","rgbToHsl","rgb","xy","getRGB","getXY","xyToRgb","hslToRgb","console","debug","rgbToXY","$","$trim","trim","forcedStringTrimMethod","proto","forced","fixRegExpWellKnownSymbolLogic","anObject","toObject","toLength","toInteger","requireObjectCoercible","advanceStringIndex","regExpExec","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","undefined","String","REPLACE","nativeReplace","maybeCallNative","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","O","replacer","call","regexp","indexOf","res","done","value","rx","S","functionalReplace","global","fullUnicode","unicode","lastIndex","results","result","push","matchStr","accumulatedResult","nextSourcePosition","matched","position","index","captures","j","namedCaptures","groups","replacerArgs","concat","replacement","apply","getSubstitution","slice","str","tailPos","m","symbols","match","ch","capture","charAt","class","loading","title","ref","status","info","state","permit_join","network","channel","version","config","mqtt","server","serial","port","coordinator","type","meta","maintrel","majorrel","minorrel","revision","selected","view","$event","views","enabled","toUpperCase","replace","disabled","addGroup","icon-class","text","$refs","infoModal","show","permitJoin","factoryReset","refresh","devices","device","id","deviceId","refreshDevices","refreshGroups","group","groupId","manageGroups","checked","associatedGroups","has","friendly_name","ieee_address","$emit","editName","rename","name","network_address","definition","vendor","model","model_id","description","software_build_id","date_code","power_source","displayedValues","property","rgbColor","unit","value_on","setValue","value_min","value_max","with-label","range","readable","values","option","Number","toString","join","groupsModal","otaUpdatesAvailable","installOtaUpdates","checkOtaUpdates","remove","components","Modal","ToggleSwitch","Slider","Loading","mixins","Utils","emits","required","default","Boolean","data","computed","exposes","extractValues","extractValue","root","features","feature","ret","mergeValues","obj","access","entries","filter","v","reduce","converter","saturation","satAttr","Set","members","member","methods","request","newName","force","confirm","event","value_toggle","value_off","split","_","hsl","querySelectorAll","element","add","editGroups","action","Promise","all","update_available","notify","image","iconClass","mounted","$watch","newValue","subscribe","properties","unmounted","unsubscribe","render","__scopeId","toggleDevice","devicesByAddress","entry","prompt","ieeeAddress","method","Dropdown","DropdownItem","Device","Group","modal","visible","refreshInfo","updateProperties","permit","args","seconds","setTimeout","addToGroup","self","created","error","fails","whitespaces","non","module","exports","METHOD_NAME"],"mappings":"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","file":"static/js/chunk-23035330.1df1cd51.js","sourcesContent":["export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export class ColorConverter {\n constructor(ranges) {\n this.ranges = {\n hue: [0, 360],\n sat: [0, 100],\n bri: [0, 100],\n ct: [154, 500],\n }\n\n if (ranges)\n for (const attr of Object.keys(this.ranges))\n if (ranges[attr])\n this.ranges[attr] = ranges[attr]\n }\n\n normalize(x, xRange, yRange) {\n return yRange[0] + (((x-xRange[0]) * (yRange[1]-yRange[0])) / (xRange[1]-xRange[0]))\n }\n\n hslToRgb(h, s, l) {\n [h, s, l] = [\n this.normalize(h, this.ranges.hue, [0, 360]),\n this.normalize(s, this.ranges.sat, [0, 100]),\n this.normalize(l, this.ranges.bri, [0, 100]),\n ]\n\n l /= 100\n const a = s * Math.min(l, 1 - l) / 100\n const f = n => {\n const k = (n + h / 30) % 12\n const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1)\n return Math.round(255 * color)\n }\n\n return [f(0), f(8), f(4)]\n }\n\n rgbToHsl(r, g, b){\n r /= 255\n g /= 255\n b /= 255;\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\n let h, s, l = (max + min) / 2;\n\n if(max === min){\n h = s = 0; // achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch(max){\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n\n return [\n parseInt(this.normalize(h, [0, 1], this.ranges.hue)),\n parseInt(this.normalize(s, [0, 1], this.ranges.sat)),\n parseInt(this.normalize(l, [0, 1], this.ranges.bri)),\n ]\n }\n\n xyToRgb(x, y, brightness) {\n // Set to maximum brightness if no custom value was given (Not the slick ECMAScript 6 way for compatibility reasons)\n if (brightness == null)\n brightness = this.ranges.bri[1];\n\n const z = 1.0 - x - y;\n const Y = (brightness / (this.ranges.bri[1]-1)).toFixed(2);\n const X = (Y / y) * x;\n const Z = (Y / y) * z;\n\n //Convert to RGB using Wide RGB D65 conversion\n let red \t= X * 1.656492 - Y * 0.354851 - Z * 0.255038;\n let green = -X * 0.707196 + Y * 1.655397 + Z * 0.036152;\n let blue \t= X * 0.051713 - Y * 0.121364 + Z * 1.011530;\n\n //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0\n if (red > blue && red > green && red > 1.0) {\n green = green / red;\n blue = blue / red;\n red = 1.0;\n } else if (green > blue && green > red && green > 1.0) {\n red = red / green;\n blue = blue / green;\n green = 1.0;\n } else if (blue > red && blue > green && blue > 1.0) {\n red = red / blue;\n green = green / blue;\n blue = 1.0;\n }\n\n //Reverse gamma correction\n red \t= red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;\n green \t= green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;\n blue \t= blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;\n\n //Convert normalized decimal to decimal\n red \t= Math.round(red * 255);\n green \t= Math.round(green * 255);\n blue \t= Math.round(blue * 255);\n\n if (isNaN(red))\n red = 0;\n if (isNaN(green))\n green = 0;\n if (isNaN(blue))\n blue = 0;\n\n return [red, green, blue].map((c) => Math.min(Math.max(0, c), 255))\n }\n\n rgbToXY(red, green, blue) {\n if (red > 1) { red /= 255; }\n if (green > 1) { green /= 255; }\n if (blue > 1) { blue /= 255; }\n\n //Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device\n red \t= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);\n green \t= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);\n blue \t= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92);\n\n //RGB values to XYZ using the Wide RGB D65 conversion formula\n const X \t\t= red * 0.664511 + green * 0.154324 + blue * 0.162028;\n const Y \t\t= red * 0.283881 + green * 0.668433 + blue * 0.047685;\n const Z \t\t= red * 0.000088 + green * 0.072310 + blue * 0.986039;\n\n //Calculate the xy values from the XYZ values\n let x \t\t= parseFloat((X / (X + Y + Z)).toFixed(4));\n let y \t\t= parseFloat((Y / (X + Y + Z)).toFixed(4));\n\n if (isNaN(x))\n x = 0;\n if (isNaN(y))\n y = 0;\n\n return [x, y];\n }\n\n rgbToBri(red, green, blue) {\n return Math.min(2 * this.rgbToHsl(red, green, blue)[2], this.ranges.bri[1])\n }\n\n getRGB(color) {\n if (color.red != null && color.green != null && color.blue != null)\n return [color.red, color.green, color.blue]\n if (color.r != null && color.g != null && color.b != null)\n return [color.r, color.g, color.b]\n if (color.rgb)\n return color.rgb\n }\n\n getXY(color) {\n if (color.x != null && color.y != null)\n return [color.x, color.y]\n if (color.xy)\n return color.xy\n }\n\n toRGB(color) {\n const rgb = this.getRGB(color)\n if (rgb)\n return rgb\n\n const xy = this.getXY(color)\n if (xy && color.bri)\n return this.xyToRgb(...xy, color.bri)\n if (color.hue && color.sat && color.bri)\n return this.hslToRgb(color.hue, color.sat, color.bri)\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toXY(color) {\n const xy = this.getXY(color)\n if (xy && color.bri)\n return [xy[0], xy[1], color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToXY(...rgb)\n\n if (color.hue && color.sat && color.bri) {\n const rgb = this.hslToRgb(color.hue, color.sat, color.bri)\n return this.rgbToXY(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toHSL(color) {\n if (color.hue && color.sat && color.bri)\n return [color.hue, color.sat, color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToHsl(...rgb)\n\n const xy = this.getXY(color)\n if (xy && color.bri) {\n const rgb = this.xyToRgb(...xy, color.bri)\n return this.rgbToHsl(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","\n
\n\n\n\n\n\n","import { render } from \"./Device.vue?vue&type=template&id=1cab1d68&scoped=true\"\nimport script from \"./Device.vue?vue&type=script&lang=js\"\nexport * from \"./Device.vue?vue&type=script&lang=js\"\n\nimport \"./Device.vue?vue&type=style&index=0&id=1cab1d68&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1cab1d68\"\n\nexport default script","\n
\n \n \n\n
\n
\n
\n
Devices
\n
\n\n
\n \n
\n
\n\n
\n
\n
Actions
\n
\n\n
\n
\n
Rename Group
\n
\n \n
\n
\n\n
\n
Remove Group
\n
\n \n
\n
\n
\n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Group.vue?vue&type=template&id=7667f7ba&scoped=true\"\nimport script from \"./Group.vue?vue&type=script&lang=js\"\nexport * from \"./Group.vue?vue&type=script&lang=js\"\n\nimport \"./Group.vue?vue&type=style&index=0&id=7667f7ba&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7667f7ba\"\n\nexport default script","import { render } from \"./Index.vue?vue&type=template&id=b15233ac\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=b15233ac&lang=scss\"\nscript.render = render\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Group.vue?vue&type=style&index=0&id=7667f7ba&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Device.vue?vue&type=style&index=0&id=1cab1d68&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=b15233ac&lang=scss\"","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2606c898.c61d9a34.js b/platypush/backend/http/dist/static/js/chunk-2606c898.c61d9a34.js
new file mode 100644
index 000000000..bf81f07c7
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-2606c898.c61d9a34.js
@@ -0,0 +1,2 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2606c898"],{"4de4":function(t,e,n){"use strict";var i=n("23e7"),c=n("b727").filter,o=n("1dde"),s=n("ae40"),l=o("filter"),r=s("filter");i({target:"Array",proto:!0,forced:!l||!r},{filter:function(t){return c(this,t,arguments.length>1?arguments[1]:void 0)}})},"524a":function(t,e,n){"use strict";var i=n("7a23"),c=Object(i["K"])("data-v-3cb494ce");Object(i["u"])("data-v-3cb494ce");var o={key:0,class:"col-1 icon"};Object(i["s"])();var s=c((function(t,e,n,c,s,l){return Object(i["r"])(),Object(i["e"])("div",{class:"row item",onClick:e[1]||(e[1]=function(){return l.clicked.apply(l,arguments)})},[n.iconClass?(Object(i["r"])(),Object(i["e"])("div",o,[Object(i["h"])("i",{class:n.iconClass},null,2)])):Object(i["f"])("",!0),Object(i["h"])("div",{class:["text",{"col-11":null!=n.iconClass}],textContent:Object(i["C"])(n.text)},null,10,["textContent"])])})),l={name:"DropdownItem",props:{iconClass:{type:String},text:{type:String},disabled:{type:Boolean,default:!1}},methods:{clicked:function(t){this.$parent.$emit("click",t),this.$parent.visible=!1}}};n("c9a1");l.render=s,l.__scopeId="data-v-3cb494ce";e["a"]=l},5769:function(t,e,n){},"64b0":function(t,e,n){},"87ac":function(t,e,n){"use strict";n("5769")},ab0f:function(t,e,n){"use strict";var i=n("7a23"),c=Object(i["K"])("data-v-00fa59b4");Object(i["u"])("data-v-00fa59b4");var o={class:"dropdown-container",ref:"container"};Object(i["s"])();var s=c((function(t,e,n,c,s,l){return Object(i["r"])(),Object(i["e"])("div",o,[Object(i["h"])("button",{title:n.title,ref:"button",onClick:e[1]||(e[1]=Object(i["J"])((function(t){return l.toggle(t)}),["stop"]))},[n.iconClass?(Object(i["r"])(),Object(i["e"])("i",{key:0,class:["icon",n.iconClass]},null,2)):Object(i["f"])("",!0),n.text?(Object(i["r"])(),Object(i["e"])("span",{key:1,class:"text",textContent:Object(i["C"])(n.text)},null,8,["textContent"])):Object(i["f"])("",!0)],8,["title"]),Object(i["h"])("div",{class:["dropdown fade-in",{hidden:!s.visible}],id:n.id,ref:"dropdown"},[Object(i["y"])(t.$slots,"default")],10,["id"])],512)})),l={name:"Dropdown",emits:["click"],props:{id:{type:String},items:{type:Array,default:function(){return[]}},iconClass:{type:String,default:"fa fa-ellipsis-h"},text:{type:String},title:{type:String}},data:function(){return{visible:!1}},methods:{documentClickHndl:function(t){if(this.visible){var e=t.target;while(e){if(!this.$refs.dropdown)break;if(e===this.$refs.dropdown.element)return;e=e.parentElement}this.close()}},close:function(){this.visible=!1,document.removeEventListener("click",this.documentClickHndl)},open:function(){var t=this;document.addEventListener("click",this.documentClickHndl),this.visible=!0,setTimeout((function(){var e=t.$refs.dropdown;e.style.left=0,e.style.top=parseFloat(getComputedStyle(t.$refs.button).height)+"px",e.getBoundingClientRect().left>window.innerWidth/2&&(e.style.left=-e.clientWidth+parseFloat(getComputedStyle(t.$refs.button).width)+"px"),e.getBoundingClientRect().top>window.innerHeight/2&&(e.style.top=-e.clientHeight+parseFloat(getComputedStyle(t.$refs.button).height)+"px")}),10)},toggle:function(t){t.stopPropagation(),this.$emit("click"),this.visible?this.close():this.open()}}};n("87ac");l.render=s,l.__scopeId="data-v-00fa59b4";e["a"]=l},c9a1:function(t,e,n){"use strict";n("64b0")}}]);
+//# sourceMappingURL=chunk-2606c898.c61d9a34.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2606c898.c61d9a34.js.map b/platypush/backend/http/dist/static/js/chunk-2606c898.c61d9a34.js.map
new file mode 100644
index 000000000..77c4f8c56
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-2606c898.c61d9a34.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./src/components/elements/DropdownItem.vue","webpack:///./src/components/elements/DropdownItem.vue?f03e","webpack:///./src/components/elements/Dropdown.vue?05dc","webpack:///./src/components/elements/Dropdown.vue","webpack:///./src/components/elements/Dropdown.vue?8c81","webpack:///./src/components/elements/DropdownItem.vue?2d78"],"names":["$","$filter","filter","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","target","proto","forced","callbackfn","this","arguments","length","undefined","class","clicked","iconClass","name","props","type","String","text","disabled","Boolean","default","methods","event","$parent","$emit","visible","render","__scopeId","ref","title","toggle","$event","id","emits","items","Array","data","documentClickHndl","element","$refs","dropdown","parentElement","close","document","removeEventListener","open","addEventListener","setTimeout","style","left","top","parseFloat","getComputedStyle","button","height","getBoundingClientRect","window","innerWidth","clientWidth","width","innerHeight","clientHeight","stopPropagation"],"mappings":"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","file":"static/js/chunk-2606c898.c61d9a34.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","\n
\n
\n \n
\n \n
\n\n\n\n\n\n","import { render } from \"./DropdownItem.vue?vue&type=template&id=3cb494ce&scoped=true\"\nimport script from \"./DropdownItem.vue?vue&type=script&lang=js\"\nexport * from \"./DropdownItem.vue?vue&type=script&lang=js\"\n\nimport \"./DropdownItem.vue?vue&type=style&index=0&id=3cb494ce&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3cb494ce\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dropdown.vue?vue&type=style&index=0&id=00fa59b4&lang=scss&scoped=true\"","\n
\n \n\n
\n \n
\n
\n\n\n\n\n\n","import { render } from \"./Dropdown.vue?vue&type=template&id=00fa59b4&scoped=true\"\nimport script from \"./Dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=js\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=00fa59b4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-00fa59b4\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./DropdownItem.vue?vue&type=style&index=0&id=3cb494ce&lang=scss&scoped=true\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2e526448.03b6c08c.js b/platypush/backend/http/dist/static/js/chunk-2e526448.03b6c08c.js
new file mode 100644
index 000000000..edda0dd97
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-2e526448.03b6c08c.js
@@ -0,0 +1,2 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2e526448"],{"18dc":function(e,t,n){"use strict";n("99af"),n("a15b"),n("d3b7"),n("6062"),n("3ca3"),n("ddb0");var r=n("5530"),i=(n("96cf"),n("1da1")),a=n("2909"),o=n("3e54"),s={name:"Utils",mixins:[o["a"]],computed:{audioExtensions:function(){return new Set(["3gp","aa","aac","aax","act","aiff","amr","ape","au","awb","dct","dss","dvf","flac","gsm","iklax","ivs","m4a","m4b","m4p","mmf","mp3","mpc","msv","nmf","nsf","ogg,","opus","ra,","raw","sln","tta","vox","wav","wma","wv","webm","8svx"])},videoExtensions:function(){return new Set(["webm","mkv","flv","flv","vob","ogv","ogg","drc","gif","gifv","mng","avi","mts","m2ts","mov","qt","wmv","yuv","rm","rmvb","asf","amv","mp4","m4p","m4v","mpg","mp2","mpeg","mpe","mpv","mpg","mpeg","m2v","m4v","svi","3gp","3g2","mxf","roq","nsv","flv","f4v","f4p","f4a","f4b"])},mediaExtensions:function(){return new Set([].concat(Object(a["a"])(this.videoExtensions),Object(a["a"])(this.audioExtensions)))}},methods:{convertTime:function(e){e=parseFloat(e);var t={};t.h=""+parseInt(e/3600),t.m=""+parseInt(e/60-60*t.h),t.s=""+parseInt(e-(3600*t.h+60*t.m));for(var n=0,r=["m","s"];n1&&void 0!==t[1]&&t[1],o=e,s=null,e instanceof Object?(o=e.url,s=e.subtitles):e={url:o},i.next=6,n.request("media.start_streaming",{media:o,subtitles:s,download:a});case 6:return c=i.sent,i.abrupt("return",Object(r["a"])(Object(r["a"])({},e),c));case 8:case"end":return i.stop()}}),i)})))()},stopStreaming:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,t.request("media.stop_streaming",{media_id:e});case 2:case"end":return n.stop()}}),n)})))()}}};t["a"]=s},"368a":function(e,t,n){},5530:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));n("a4d3"),n("4de4"),n("4160"),n("e439"),n("dbb4"),n("b64b"),n("159b");function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t1?arguments[1]:void 0,3);while(t=t?t.next:n.first){r(t.value,t.key,this);while(t&&t.removed)t=t.previous}},has:function(e){return!!h(this,e)}}),a(f.prototype,n?{get:function(e){var t=h(this,e);return t&&t.value},set:function(e,t){return m(this,0===e?0:e,t)}}:{add:function(e){return m(this,e=0===e?0:e,e)}}),d&&r(f.prototype,"size",{get:function(){return l(this).size}}),f},setStrong:function(e,t,n){var r=t+" Iterator",i=b(t),a=b(r);u(e,t,(function(e,t){p(this,{type:r,target:e,state:i(e),kind:t,last:void 0})}),(function(){var e=a(this),t=e.kind,n=e.last;while(n&&n.removed)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),f(t)}}},"6d61":function(e,t,n){"use strict";var r=n("23e7"),i=n("da84"),a=n("94ca"),o=n("6eeb"),s=n("f183"),c=n("2266"),u=n("19aa"),f=n("861d"),d=n("d039"),v=n("1c7e"),l=n("d44e"),p=n("7156");e.exports=function(e,t,n){var b=-1!==e.indexOf("Map"),m=-1!==e.indexOf("Weak"),h=b?"set":"add",g=i[e],O=g&&g.prototype,w=g,j={},x=function(e){var t=O[e];o(O,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(m&&!f(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return m&&!f(e)?void 0:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(m&&!f(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof g||!(m||O.forEach&&!d((function(){(new g).entries().next()})))))w=n.getConstructor(t,e,b,h),s.REQUIRED=!0;else if(a(e,!0)){var y=new w,E=y[h](m?{}:-0,1)!=y,k=d((function(){y.has(1)})),R=v((function(e){new g(e)})),S=!m&&d((function(){var e=new g,t=5;while(t--)e[h](t,t);return!e.has(-0)}));R||(w=t((function(t,n){u(t,w,e);var r=p(new g,t,w);return void 0!=n&&c(n,r[h],{that:r,AS_ENTRIES:b}),r})),w.prototype=O,O.constructor=w),(k||S)&&(x("delete"),x("has"),b&&x("get")),(S||E)&&x(h),m&&O.clear&&delete O.clear}return j[e]=w,r({global:!0,forced:w!=g},j),l(w,e),m||n.setStrong(w,e,b),w}},"7dcc":function(e,t,n){},a79d9:function(e,t,n){"use strict";var r=n("7a23"),i=Object(r["K"])("data-v-1502d8a8");Object(r["u"])("data-v-1502d8a8");var a={class:"torrent-container"},o={class:"header-container"},s={class:"view-container"};Object(r["s"])();var c=i((function(e,t,n,i,c,u){var f=Object(r["z"])("Header"),d=Object(r["z"])("TorrentView");return Object(r["r"])(),Object(r["e"])("div",a,[Object(r["h"])("div",o,[Object(r["h"])(f,{onTorrentAdd:t[1]||(t[1]=function(e){return u.download(e)})})]),Object(r["h"])("div",s,[Object(r["h"])(d,{"plugin-name":n.pluginName},null,8,["plugin-name"])])])})),u=(n("96cf"),n("1da1")),f=Object(r["K"])("data-v-6133f14d");Object(r["u"])("data-v-6133f14d");var d={class:"row"},v={class:"col-s-12 col-m-9 col-l-7 left side"},l={class:"search-box"};Object(r["s"])();var p=f((function(e,t,n,i,a,o){return Object(r["r"])(),Object(r["e"])("div",{class:["header",{"with-filter":e.filterVisible}]},[Object(r["h"])("div",d,[Object(r["h"])("div",v,[Object(r["h"])("form",{onSubmit:t[2]||(t[2]=Object(r["J"])((function(t){return e.$emit("torrent-add",a.torrentURL)}),["prevent"]))},[Object(r["h"])("label",l,[Object(r["I"])(Object(r["h"])("input",{type:"search",placeholder:"Add torrent URL","onUpdate:modelValue":t[1]||(t[1]=function(e){return a.torrentURL=e})},null,512),[[r["F"],a.torrentURL]])])],32)])])],2)})),b={name:"Header",emits:["torrent-add"],data:function(){return{torrentURL:""}}};n("f774");b.render=p,b.__scopeId="data-v-6133f14d";var m=b,h=n("0cc1"),g=n("3e54"),O={name:"Panel",components:{TorrentView:h["a"],Header:m},mixins:[g["a"]],props:{pluginName:{type:String,required:!0}},methods:{download:function(e){var t=this;return Object(u["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,t.request("".concat(t.pluginName,".download"),{torrent:e});case 2:case"end":return n.stop()}}),n)})))()}}};n("b170");O.render=c,O.__scopeId="data-v-1502d8a8";t["a"]=O},b170:function(e,t,n){"use strict";n("368a")},bb2f:function(e,t,n){var r=n("d039");e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},dbb4:function(e,t,n){var r=n("23e7"),i=n("83ab"),a=n("56ef"),o=n("fc6a"),s=n("06cf"),c=n("8418");r({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(e){var t,n,r=o(e),i=s.f,u=a(r),f={},d=0;while(u.length>d)n=i(r,t=u[d++]),void 0!==n&&c(f,t,n);return f}})},e439:function(e,t,n){var r=n("23e7"),i=n("d039"),a=n("fc6a"),o=n("06cf").f,s=n("83ab"),c=i((function(){o(1)})),u=!s||c;r({target:"Object",stat:!0,forced:u,sham:!s},{getOwnPropertyDescriptor:function(e,t){return o(a(e),t)}})},f183:function(e,t,n){var r=n("d012"),i=n("861d"),a=n("5135"),o=n("9bf2").f,s=n("90e3"),c=n("bb2f"),u=s("meta"),f=0,d=Object.isExtensible||function(){return!0},v=function(e){o(e,u,{value:{objectID:"O"+ ++f,weakData:{}}})},l=function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!d(e))return"F";if(!t)return"E";v(e)}return e[u].objectID},p=function(e,t){if(!a(e,u)){if(!d(e))return!0;if(!t)return!1;v(e)}return e[u].weakData},b=function(e){return c&&m.REQUIRED&&d(e)&&!a(e,u)&&v(e),e},m=e.exports={REQUIRED:!1,fastKey:l,getWeakData:p,onFreeze:b};r[u]=!0},f774:function(e,t,n){"use strict";n("7dcc")}}]);
+//# sourceMappingURL=chunk-2e526448.03b6c08c.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2e526448.03b6c08c.js.map b/platypush/backend/http/dist/static/js/chunk-2e526448.03b6c08c.js.map
new file mode 100644
index 000000000..07b825ddb
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-2e526448.03b6c08c.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/components/Media/Utils.vue","webpack:///./src/components/Media/Utils.vue?4bb6","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./node_modules/core-js/modules/es.set.js","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./src/components/panels/Torrent/Panel.vue","webpack:///./src/components/panels/Torrent/Header.vue","webpack:///./src/components/panels/Torrent/Header.vue?d0f4","webpack:///./src/components/panels/Torrent/Panel.vue?4e49","webpack:///./src/components/panels/Torrent/Panel.vue?6056","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///./src/components/panels/Torrent/Header.vue?ec30"],"names":["name","mixins","Utils","computed","audioExtensions","Set","videoExtensions","mediaExtensions","this","methods","convertTime","time","parseFloat","t","h","parseInt","m","s","attr","ret","push","join","startStreaming","resource","download","url","subtitles","Object","request","media","stopStreaming","mediaId","media_id","_defineProperty","obj","key","value","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","collection","collectionStrong","module","exports","init","undefined","f","create","redefineAll","bind","anInstance","iterate","defineIterator","setSpecies","DESCRIPTORS","fastKey","InternalStateModule","setInternalState","set","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","IS_MAP","ADDER","C","that","iterable","type","index","first","last","size","AS_ENTRIES","getInternalState","define","previous","state","entry","getEntry","next","removed","prototype","clear","data","prev","callbackfn","boundFunction","has","get","add","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","done","$","global","isForced","redefine","InternalMetadataModule","isObject","fails","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","common","indexOf","IS_WEAK","NativeConstructor","NativePrototype","Constructor","exported","fixMethod","KEY","nativeMethod","call","entries","REQUIRED","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","constructor","forced","class","$event","plugin-name","pluginName","filterVisible","$emit","torrentURL","placeholder","emits","render","__scopeId","components","TorrentView","Header","props","String","required","torrent","isExtensible","preventExtensions","toIndexedObject","getOwnPropertyDescriptorModule","createProperty","stat","sham","descriptor","O","result","nativeGetOwnPropertyDescriptor","FAILS_ON_PRIMITIVES","FORCED","it","hiddenKeys","uid","FREEZING","METADATA","id","setMetadata","objectID","weakData","getWeakData","onFreeze","meta"],"mappings":"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","file":"static/js/chunk-2e526448.03b6c08c.js","sourcesContent":["\n","import script from \"./Utils.vue?vue&type=script&lang=js\"\nexport * from \"./Utils.vue?vue&type=script&lang=js\"\n\nexport default script","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","\n
\n
\n \n
\n\n
\n \n
\n
\n\n\n\n\n\n","\n
\n
\n
\n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Header.vue?vue&type=template&id=6133f14d&scoped=true\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=6133f14d&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6133f14d\"\n\nexport default script","import { render } from \"./Panel.vue?vue&type=template&id=1502d8a8&scoped=true\"\nimport script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nimport \"./Panel.vue?vue&type=style&index=0&id=1502d8a8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1502d8a8\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=0&id=1502d8a8&lang=scss&scoped=true\"","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Header.vue?vue&type=style&index=0&id=6133f14d&lang=scss&scoped=true\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-307152f0.410c102d.js b/platypush/backend/http/dist/static/js/chunk-307152f0.410c102d.js
deleted file mode 100644
index d6f0878d8..000000000
--- a/platypush/backend/http/dist/static/js/chunk-307152f0.410c102d.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-307152f0"],{"084e":function(e,t,n){"use strict";n("6dd5")},"090f":function(e,t,n){"use strict";n("e52b")},1804:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));n("99af"),n("d81d"),n("b680"),n("b64b");var i=n("2909");function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n.5?s/(2-r-c):s/(r+c),r){case e:i=(t-n)/s+(tl&&a>s&&a>1?(s/=a,l/=a,a=1):s>l&&s>a&&s>1?(a/=s,l/=s,s=1):l>a&&l>s&&l>1&&(a/=l,s/=l,l=1),a=a<=.0031308?12.92*a:1.055*Math.pow(a,1/2.4)-.055,s=s<=.0031308?12.92*s:1.055*Math.pow(s,1/2.4)-.055,l=l<=.0031308?12.92*l:1.055*Math.pow(l,1/2.4)-.055,a=Math.round(255*a),s=Math.round(255*s),l=Math.round(255*l),isNaN(a)&&(a=0),isNaN(s)&&(s=0),isNaN(l)&&(l=0),[a,s,l].map((function(e){return Math.min(Math.max(0,e),255)}))}},{key:"rgbToXY",value:function(e,t,n){e>1&&(e/=255),t>1&&(t/=255),n>1&&(n/=255),e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=.664511*e+.154324*t+.162028*n,o=.283881*e+.668433*t+.047685*n,r=88e-6*e+.07231*t+.986039*n,c=parseFloat((i/(i+o+r)).toFixed(4)),a=parseFloat((o/(i+o+r)).toFixed(4));return isNaN(c)&&(c=0),isNaN(a)&&(a=0),[c,a]}},{key:"rgbToBri",value:function(e,t,n){return Math.min(2*this.rgbToHsl(e,t,n)[2],this.ranges.bri[1])}},{key:"getRGB",value:function(e){return null!=e.red&&null!=e.green&&null!=e.blue?[e.red,e.green,e.blue]:null!=e.r&&null!=e.g&&null!=e.b?[e.r,e.g,e.b]:e.rgb?e.rgb:void 0}},{key:"getXY",value:function(e){return null!=e.x&&null!=e.y?[e.x,e.y]:e.xy?e.xy:void 0}},{key:"toRGB",value:function(e){var t=this.getRGB(e);if(t)return t;var n=this.getXY(e);return n&&e.bri?this.xyToRgb.apply(this,Object(i["a"])(n).concat([e.bri])):e.hue&&e.sat&&e.bri?this.hslToRgb(e.hue,e.sat,e.bri):(console.debug("Could not determine color space"),void console.debug(e))}},{key:"toXY",value:function(e){var t=this.getXY(e);if(t&&e.bri)return[t[0],t[1],e.bri];var n=this.getRGB(e);if(n)return this.rgbToXY.apply(this,Object(i["a"])(n));if(e.hue&&e.sat&&e.bri){var o=this.hslToRgb(e.hue,e.sat,e.bri);return this.rgbToXY.apply(this,Object(i["a"])(o))}console.debug("Could not determine color space"),console.debug(e)}},{key:"toHSL",value:function(e){if(e.hue&&e.sat&&e.bri)return[e.hue,e.sat,e.bri];var t=this.getRGB(e);if(t)return this.rgbToHsl.apply(this,Object(i["a"])(t));var n=this.getXY(e);if(n&&e.bri){var o=this.xyToRgb.apply(this,Object(i["a"])(n).concat([e.bri]));return this.rgbToHsl.apply(this,Object(i["a"])(o))}console.debug("Could not determine color space"),console.debug(e)}}]),e}()},"1e15":function(e,t,n){"use strict";n("4e29")},4022:function(e,t,n){"use strict";n("51f0")},"406a":function(e,t,n){"use strict";n("57b3")},"4e29":function(e,t,n){},"51f0":function(e,t,n){},"57b3":function(e,t,n){},"6dd5":function(e,t,n){},"73e5":function(e,t,n){"use strict";n("cdad")},"7e57":function(e,t,n){"use strict";n("ea94")},"8dcb":function(e,t,n){"use strict";n("aaf0")},"93d8":function(e,t,n){"use strict";n("9f3b")},"9f3b":function(e,t,n){},aaf0:function(e,t,n){},b347:function(e,t,n){"use strict";n("fe8e")},bf6b:function(e,t,n){"use strict";n("cdbd")},cdad:function(e,t,n){},cdbd:function(e,t,n){},cf99:function(e,t,n){"use strict";n.r(t);n("b64b");var i=n("7a23"),o=Object(i["K"])("data-v-0378547e");Object(i["u"])("data-v-0378547e");var r={class:"plugin lights-plugin"},c={key:0,class:"panel"},a={key:1,class:"panel"};Object(i["s"])();var s=o((function(e,t,n,o,s,l){var u=Object(i["z"])("Groups"),b=Object(i["z"])("Group");return Object(i["r"])(),Object(i["e"])("div",r,[null==s.selectedGroup&&n.groups&&Object.keys(n.groups).length?(Object(i["r"])(),Object(i["e"])("div",c,[Object(i["h"])(u,{groups:n.groups,"loading-groups":n.loadingGroups,"color-converter":n.colorConverter,onSelect:t[1]||(t[1]=function(e){return s.selectedGroup=e}),onToggle:t[2]||(t[2]=function(t){return e.$emit("group-toggle",t)})},null,8,["groups","loading-groups","color-converter"])])):(Object(i["r"])(),Object(i["e"])("div",a,[Object(i["h"])(b,{group:n.groups[s.selectedGroup],lights:l.displayedLights,scenes:l.scenesByGroup[s.selectedGroup],"color-converter":n.colorConverter,animations:l.animationsByGroup[s.selectedGroup],onClose:t[3]||(t[3]=function(e){return s.selectedGroup=null}),onLightToggle:t[4]||(t[4]=function(t){return e.$emit("light-toggle",t)}),onGroupToggle:t[5]||(t[5]=function(t){return e.$emit("group-toggle",t)}),onSetLight:t[6]||(t[6]=function(t){return e.$emit("set-light",t)}),onSetGroup:t[7]||(t[7]=function(t){return e.$emit("set-group",{groupId:s.selectedGroup,value:t})}),onSelectScene:t[8]||(t[8]=function(t){return e.$emit("select-scene",{groupId:s.selectedGroup,sceneId:t})}),onStartAnimation:t[9]||(t[9]=function(t){return e.$emit("start-animation",t)}),onStopAnimation:t[10]||(t[10]=function(t){return e.$emit("stop-animation",t)})},null,8,["group","lights","scenes","color-converter","animations"])]))])})),l=(n("4160"),n("13d5"),n("a9e3"),n("4fad"),n("07ac"),n("159b"),n("5530")),u=n("3835"),b=n("3e54"),g={name:"Panel",emits:["mounted"],props:{config:{type:Object,default:function(){}},pluginName:{type:String,required:!0}},data:function(){return{loading:!1}},mounted:function(){this.$emit("mounted",this)}},d=g,h=(n("b0c0"),Object(i["K"])("data-v-42318a2b"));Object(i["u"])("data-v-42318a2b");var p={class:"panel-row header"},O=Object(i["h"])("div",{class:"col-3"},[Object(i["h"])("i",{class:"icon fas fa-home"})],-1),j=Object(i["h"])("div",{class:"col-6 name"}," Rooms ",-1),v={class:"col-3 pull-right"},f={class:"name col-9"},m={class:"controls col-3 pull-right"};Object(i["s"])();var y=h((function(e,t,n,o,r,c){var a=Object(i["z"])("ToggleSwitch"),s=Object(i["z"])("MenuPanel");return Object(i["r"])(),Object(i["e"])(s,null,{default:h((function(){return[Object(i["h"])("div",p,[O,j,Object(i["h"])("div",v,[Object(i["h"])(a,{value:c.anyLightsOn,onInput:t[1]||(t[1]=function(t){return e.$emit("toggle")})},null,8,["value"])])]),(Object(i["r"])(!0),Object(i["e"])(i["a"],null,Object(i["x"])(c.groupsSorted,(function(t){return Object(i["r"])(),Object(i["e"])("div",{class:"panel-row row group",key:t.id,onClick:function(n){return e.$emit("select",t.id)}},[Object(i["h"])("span",f,Object(i["C"])(t.name||"[Group ".concat(t.id,"]")),1),Object(i["h"])("span",m,[Object(i["h"])(a,{value:t.state.any_on,disabled:t.id in(n.loadingGroups||{}),onInput:function(n){return e.$emit("toggle",t)}},null,8,["value","disabled","onInput"])])],8,["onClick"])})),128))]})),_:1})})),C=(n("d81d"),{class:"menu-panel"}),w={class:"content"};function k(e,t,n,o,r,c){return Object(i["r"])(),Object(i["e"])("div",C,[Object(i["h"])("div",w,[Object(i["y"])(e.$slots,"default")])])}var _={name:"MenuPanel"};n("4022");_.render=k;var S=_,L=n("0279"),G=n("1804"),$={name:"Groups",components:{ToggleSwitch:L["a"],MenuPanel:S},emits:["select","toggle"],props:{groups:{type:Object,default:function(){}},loadingGroups:{type:Object,default:function(){}},colorConverter:{type:Object,default:function(){return new G["a"]}}},computed:{groupsSorted:function(){return Object.entries(this.groups).sort((function(e,t){return e[1].name.localeCompare(t[1].name)})).map((function(e){var t=Object(u["a"])(e,2),n=t[0],i=t[1];return Object(l["a"])(Object(l["a"])({},i),{},{id:n})}))},anyLightsOn:function(){for(var e=0,t=Object.values(this.groups);e0}},methods:{toggleSelectAll:function(){var e=this,t=Object.values(this.selectedLights).filter((function(e){return e})).length {\n const k = (n + h / 30) % 12\n const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1)\n return Math.round(255 * color)\n }\n\n return [f(0), f(8), f(4)]\n }\n\n rgbToHsl(r, g, b){\n r /= 255\n g /= 255\n b /= 255;\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\n let h, s, l = (max + min) / 2;\n\n if(max === min){\n h = s = 0; // achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch(max){\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n\n return [\n parseInt(this.normalize(h, [0, 1], this.ranges.hue)),\n parseInt(this.normalize(s, [0, 1], this.ranges.sat)),\n parseInt(this.normalize(l, [0, 1], this.ranges.bri)),\n ]\n }\n\n xyToRgb(x, y, brightness) {\n // Set to maximum brightness if no custom value was given (Not the slick ECMAScript 6 way for compatibility reasons)\n if (brightness == null)\n brightness = this.ranges.bri[1];\n\n const z = 1.0 - x - y;\n const Y = (brightness / (this.ranges.bri[1]-1)).toFixed(2);\n const X = (Y / y) * x;\n const Z = (Y / y) * z;\n\n //Convert to RGB using Wide RGB D65 conversion\n let red \t= X * 1.656492 - Y * 0.354851 - Z * 0.255038;\n let green = -X * 0.707196 + Y * 1.655397 + Z * 0.036152;\n let blue \t= X * 0.051713 - Y * 0.121364 + Z * 1.011530;\n\n //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0\n if (red > blue && red > green && red > 1.0) {\n green = green / red;\n blue = blue / red;\n red = 1.0;\n } else if (green > blue && green > red && green > 1.0) {\n red = red / green;\n blue = blue / green;\n green = 1.0;\n } else if (blue > red && blue > green && blue > 1.0) {\n red = red / blue;\n green = green / blue;\n blue = 1.0;\n }\n\n //Reverse gamma correction\n red \t= red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;\n green \t= green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;\n blue \t= blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;\n\n //Convert normalized decimal to decimal\n red \t= Math.round(red * 255);\n green \t= Math.round(green * 255);\n blue \t= Math.round(blue * 255);\n\n if (isNaN(red))\n red = 0;\n if (isNaN(green))\n green = 0;\n if (isNaN(blue))\n blue = 0;\n\n return [red, green, blue].map((c) => Math.min(Math.max(0, c), 255))\n }\n\n rgbToXY(red, green, blue) {\n if (red > 1) { red /= 255; }\n if (green > 1) { green /= 255; }\n if (blue > 1) { blue /= 255; }\n\n //Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device\n red \t= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);\n green \t= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);\n blue \t= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92);\n\n //RGB values to XYZ using the Wide RGB D65 conversion formula\n const X \t\t= red * 0.664511 + green * 0.154324 + blue * 0.162028;\n const Y \t\t= red * 0.283881 + green * 0.668433 + blue * 0.047685;\n const Z \t\t= red * 0.000088 + green * 0.072310 + blue * 0.986039;\n\n //Calculate the xy values from the XYZ values\n let x \t\t= parseFloat((X / (X + Y + Z)).toFixed(4));\n let y \t\t= parseFloat((Y / (X + Y + Z)).toFixed(4));\n\n if (isNaN(x))\n x = 0;\n if (isNaN(y))\n y = 0;\n\n return [x, y];\n }\n\n rgbToBri(red, green, blue) {\n return Math.min(2 * this.rgbToHsl(red, green, blue)[2], this.ranges.bri[1])\n }\n\n getRGB(color) {\n if (color.red != null && color.green != null && color.blue != null)\n return [color.red, color.green, color.blue]\n if (color.r != null && color.g != null && color.b != null)\n return [color.r, color.g, color.b]\n if (color.rgb)\n return color.rgb\n }\n\n getXY(color) {\n if (color.x != null && color.y != null)\n return [color.x, color.y]\n if (color.xy)\n return color.xy\n }\n\n toRGB(color) {\n const rgb = this.getRGB(color)\n if (rgb)\n return rgb\n\n const xy = this.getXY(color)\n if (xy && color.bri)\n return this.xyToRgb(...xy, color.bri)\n if (color.hue && color.sat && color.bri)\n return this.hslToRgb(color.hue, color.sat, color.bri)\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toXY(color) {\n const xy = this.getXY(color)\n if (xy && color.bri)\n return [xy[0], xy[1], color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToXY(...rgb)\n\n if (color.hue && color.sat && color.bri) {\n const rgb = this.hslToRgb(color.hue, color.sat, color.bri)\n return this.rgbToXY(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toHSL(color) {\n if (color.hue && color.sat && color.bri)\n return [color.hue, color.sat, color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToHsl(...rgb)\n\n const xy = this.getXY(color)\n if (xy && color.bri) {\n const rgb = this.xyToRgb(...xy, color.bri)\n return this.rgbToHsl(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Group.vue?vue&type=style&index=1&id=4de1a560&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MenuPanel.vue?vue&type=style&index=0&id=02113104&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Controls.vue?vue&type=style&index=1&id=e2726892&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Group.vue?vue&type=style&index=0&id=4de1a560&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Animate.vue?vue&type=style&index=0&id=1739aaba&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Groups.vue?vue&type=style&index=0&id=42318a2b&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Light.vue?vue&type=style&index=0&id=52168252&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=0378547e&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Controls.vue?vue&type=style&index=0&id=e2726892&lang=scss&scoped=true\"","\n
\n
\n \n
\n
\n \n
\n
\n\n\n\n\n\n\n","\n","import script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nexport default script","\n \n
\n\n\n\n\n\n","import { render } from \"./Header.vue?vue&type=template&id=25f0cdf5&scoped=true\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=25f0cdf5&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-25f0cdf5\"\n\nexport default script","import { render } from \"./Playlist.vue?vue&type=template&id=341a3890&scoped=true\"\nimport script from \"./Playlist.vue?vue&type=script&lang=js\"\nexport * from \"./Playlist.vue?vue&type=script&lang=js\"\n\nimport \"./Playlist.vue?vue&type=style&index=0&id=341a3890&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-341a3890\"\n\nexport default script","\n \n\n
\n
\n \n \n\n \n\n \n \n
\n\n
\n
\n No tracks found\n
\n\n
\n
\n
\n {{ track.title || '[No Title]' }}\n
\n\n
\n \n
\n\n
\n \n
\n
\n\n
\n \n\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n\n
\n
\n \n
\n \n
\n \n
\n\n
\n
\n No playlists found\n
\n\n
\n
\n \n
\n\n
\n \n \n \n \n \n \n \n \n
\n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Playlists.vue?vue&type=template&id=101dc818&scoped=true\"\nimport script from \"./Playlists.vue?vue&type=script&lang=js\"\nexport * from \"./Playlists.vue?vue&type=script&lang=js\"\n\nimport \"./Playlists.vue?vue&type=style&index=0&id=101dc818&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-101dc818\"\n\nexport default script","\n
\n \n\n \n \n\n \n \n \n \n\n
\n
\n
\n
\n {{ result.title || '[No Title]' }}\n
\n\n \n \n
\n\n
\n \n\n \n \n \n \n \n \n \n \n
\n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Search.vue?vue&type=template&id=bc0f0676&scoped=true\"\nimport script from \"./Search.vue?vue&type=script&lang=js\"\nexport * from \"./Search.vue?vue&type=script&lang=js\"\n\nimport \"./Search.vue?vue&type=style&index=0&id=bc0f0676&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-bc0f0676\"\n\nexport default script","\n
\n \n\n \n \n \n\n
\n
\n
\n \n
\n
\n
..
\n
\n
\n\n
\n
\n
\n \n \n
\n\n
\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n
\n \n\n \n \n \n \n \n \n \n \n
\n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Library.vue?vue&type=template&id=6696f4d8&scoped=true\"\nimport script from \"./Library.vue?vue&type=script&lang=js\"\nexport * from \"./Library.vue?vue&type=script&lang=js\"\n\nimport \"./Library.vue?vue&type=style&index=0&id=6696f4d8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6696f4d8\"\n\nexport default script","import { render } from \"./Index.vue?vue&type=template&id=2ccb9e3d&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=2ccb9e3d&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-2ccb9e3d\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Header.vue?vue&type=style&index=0&id=25f0cdf5&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Search.vue?vue&type=style&index=0&id=bc0f0676&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Nav.vue?vue&type=style&index=0&id=edee6494&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Playlist.vue?vue&type=style&index=0&id=341a3890&lang=scss&scoped=true\"","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=2ccb9e3d&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Playlists.vue?vue&type=style&index=0&id=101dc818&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Library.vue?vue&type=style&index=0&id=6696f4d8&lang=scss&scoped=true\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-ed83bcf4.429119bf.js b/platypush/backend/http/dist/static/js/chunk-ed83bcf4.429119bf.js
new file mode 100644
index 000000000..edb1e6526
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-ed83bcf4.429119bf.js
@@ -0,0 +1,2 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-ed83bcf4"],{"084e":function(e,t,n){"use strict";n("6dd5")},"090f":function(e,t,n){"use strict";n("e52b")},1804:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));n("99af"),n("d81d"),n("b680"),n("b64b");var i=n("2909");function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n.5?s/(2-r-c):s/(r+c),r){case e:i=(t-n)/s+(tl&&a>s&&a>1?(s/=a,l/=a,a=1):s>l&&s>a&&s>1?(a/=s,l/=s,s=1):l>a&&l>s&&l>1&&(a/=l,s/=l,l=1),a=a<=.0031308?12.92*a:1.055*Math.pow(a,1/2.4)-.055,s=s<=.0031308?12.92*s:1.055*Math.pow(s,1/2.4)-.055,l=l<=.0031308?12.92*l:1.055*Math.pow(l,1/2.4)-.055,a=Math.round(255*a),s=Math.round(255*s),l=Math.round(255*l),isNaN(a)&&(a=0),isNaN(s)&&(s=0),isNaN(l)&&(l=0),[a,s,l].map((function(e){return Math.min(Math.max(0,e),255)}))}},{key:"rgbToXY",value:function(e,t,n){e>1&&(e/=255),t>1&&(t/=255),n>1&&(n/=255),e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=.664511*e+.154324*t+.162028*n,o=.283881*e+.668433*t+.047685*n,r=88e-6*e+.07231*t+.986039*n,c=parseFloat((i/(i+o+r)).toFixed(4)),a=parseFloat((o/(i+o+r)).toFixed(4));return isNaN(c)&&(c=0),isNaN(a)&&(a=0),[c,a]}},{key:"rgbToBri",value:function(e,t,n){return Math.min(2*this.rgbToHsl(e,t,n)[2],this.ranges.bri[1])}},{key:"getRGB",value:function(e){return null!=e.red&&null!=e.green&&null!=e.blue?[e.red,e.green,e.blue]:null!=e.r&&null!=e.g&&null!=e.b?[e.r,e.g,e.b]:e.rgb?e.rgb:void 0}},{key:"getXY",value:function(e){return null!=e.x&&null!=e.y?[e.x,e.y]:e.xy?e.xy:void 0}},{key:"toRGB",value:function(e){var t=this.getRGB(e);if(t)return t;var n=this.getXY(e);return n&&e.bri?this.xyToRgb.apply(this,Object(i["a"])(n).concat([e.bri])):e.hue&&e.sat&&e.bri?this.hslToRgb(e.hue,e.sat,e.bri):(console.debug("Could not determine color space"),void console.debug(e))}},{key:"toXY",value:function(e){var t=this.getXY(e);if(t&&e.bri)return[t[0],t[1],e.bri];var n=this.getRGB(e);if(n)return this.rgbToXY.apply(this,Object(i["a"])(n));if(e.hue&&e.sat&&e.bri){var o=this.hslToRgb(e.hue,e.sat,e.bri);return this.rgbToXY.apply(this,Object(i["a"])(o))}console.debug("Could not determine color space"),console.debug(e)}},{key:"toHSL",value:function(e){if(e.hue&&e.sat&&e.bri)return[e.hue,e.sat,e.bri];var t=this.getRGB(e);if(t)return this.rgbToHsl.apply(this,Object(i["a"])(t));var n=this.getXY(e);if(n&&e.bri){var o=this.xyToRgb.apply(this,Object(i["a"])(n).concat([e.bri]));return this.rgbToHsl.apply(this,Object(i["a"])(o))}console.debug("Could not determine color space"),console.debug(e)}}]),e}()},"1e15":function(e,t,n){"use strict";n("4e29")},4022:function(e,t,n){"use strict";n("51f0")},"406a":function(e,t,n){"use strict";n("57b3")},"4de4":function(e,t,n){"use strict";var i=n("23e7"),o=n("b727").filter,r=n("1dde"),c=n("ae40"),a=r("filter"),s=c("filter");i({target:"Array",proto:!0,forced:!a||!s},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},"4e29":function(e,t,n){},"51f0":function(e,t,n){},"57b3":function(e,t,n){},"6dd5":function(e,t,n){},"73e5":function(e,t,n){"use strict";n("cdad")},"7e57":function(e,t,n){"use strict";n("ea94")},"8dcb":function(e,t,n){"use strict";n("aaf0")},"93d8":function(e,t,n){"use strict";n("9f3b")},"9f3b":function(e,t,n){},aaf0:function(e,t,n){},b347:function(e,t,n){"use strict";n("fe8e")},bf6b:function(e,t,n){"use strict";n("cdbd")},cdad:function(e,t,n){},cdbd:function(e,t,n){},cf99:function(e,t,n){"use strict";n.r(t);n("b64b");var i=n("7a23"),o=Object(i["K"])("data-v-0378547e");Object(i["u"])("data-v-0378547e");var r={class:"plugin lights-plugin"},c={key:0,class:"panel"},a={key:1,class:"panel"};Object(i["s"])();var s=o((function(e,t,n,o,s,l){var u=Object(i["z"])("Groups"),b=Object(i["z"])("Group");return Object(i["r"])(),Object(i["e"])("div",r,[null==s.selectedGroup&&n.groups&&Object.keys(n.groups).length?(Object(i["r"])(),Object(i["e"])("div",c,[Object(i["h"])(u,{groups:n.groups,"loading-groups":n.loadingGroups,"color-converter":n.colorConverter,onSelect:t[1]||(t[1]=function(e){return s.selectedGroup=e}),onToggle:t[2]||(t[2]=function(t){return e.$emit("group-toggle",t)})},null,8,["groups","loading-groups","color-converter"])])):(Object(i["r"])(),Object(i["e"])("div",a,[Object(i["h"])(b,{group:n.groups[s.selectedGroup],lights:l.displayedLights,scenes:l.scenesByGroup[s.selectedGroup],"color-converter":n.colorConverter,animations:l.animationsByGroup[s.selectedGroup],onClose:t[3]||(t[3]=function(e){return s.selectedGroup=null}),onLightToggle:t[4]||(t[4]=function(t){return e.$emit("light-toggle",t)}),onGroupToggle:t[5]||(t[5]=function(t){return e.$emit("group-toggle",t)}),onSetLight:t[6]||(t[6]=function(t){return e.$emit("set-light",t)}),onSetGroup:t[7]||(t[7]=function(t){return e.$emit("set-group",{groupId:s.selectedGroup,value:t})}),onSelectScene:t[8]||(t[8]=function(t){return e.$emit("select-scene",{groupId:s.selectedGroup,sceneId:t})}),onStartAnimation:t[9]||(t[9]=function(t){return e.$emit("start-animation",t)}),onStopAnimation:t[10]||(t[10]=function(t){return e.$emit("stop-animation",t)})},null,8,["group","lights","scenes","color-converter","animations"])]))])})),l=(n("4160"),n("13d5"),n("a9e3"),n("4fad"),n("07ac"),n("159b"),n("5530")),u=n("3835"),b=n("3e54"),g={name:"Panel",emits:["mounted"],props:{config:{type:Object,default:function(){}},pluginName:{type:String,required:!0}},data:function(){return{loading:!1}},mounted:function(){this.$emit("mounted",this)}},d=g,h=(n("b0c0"),Object(i["K"])("data-v-42318a2b"));Object(i["u"])("data-v-42318a2b");var p={class:"panel-row header"},O=Object(i["h"])("div",{class:"col-3"},[Object(i["h"])("i",{class:"icon fas fa-home"})],-1),j=Object(i["h"])("div",{class:"col-6 name"}," Rooms ",-1),f={class:"col-3 pull-right"},v={class:"name col-9"},m={class:"controls col-3 pull-right"};Object(i["s"])();var y=h((function(e,t,n,o,r,c){var a=Object(i["z"])("ToggleSwitch"),s=Object(i["z"])("MenuPanel");return Object(i["r"])(),Object(i["e"])(s,null,{default:h((function(){return[Object(i["h"])("div",p,[O,j,Object(i["h"])("div",f,[Object(i["h"])(a,{value:c.anyLightsOn,onInput:t[1]||(t[1]=function(t){return e.$emit("toggle")})},null,8,["value"])])]),(Object(i["r"])(!0),Object(i["e"])(i["a"],null,Object(i["x"])(c.groupsSorted,(function(t){return Object(i["r"])(),Object(i["e"])("div",{class:"panel-row row group",key:t.id,onClick:function(n){return e.$emit("select",t.id)}},[Object(i["h"])("span",v,Object(i["C"])(t.name||"[Group ".concat(t.id,"]")),1),Object(i["h"])("span",m,[Object(i["h"])(a,{value:t.state.any_on,disabled:t.id in(n.loadingGroups||{}),onInput:function(n){return e.$emit("toggle",t)}},null,8,["value","disabled","onInput"])])],8,["onClick"])})),128))]})),_:1})})),C=(n("d81d"),{class:"menu-panel"}),w={class:"content"};function k(e,t,n,o,r,c){return Object(i["r"])(),Object(i["e"])("div",C,[Object(i["h"])("div",w,[Object(i["y"])(e.$slots,"default")])])}var _={name:"MenuPanel"};n("4022");_.render=k;var S=_,L=n("0279"),G=n("1804"),$={name:"Groups",components:{ToggleSwitch:L["a"],MenuPanel:S},emits:["select","toggle"],props:{groups:{type:Object,default:function(){}},loadingGroups:{type:Object,default:function(){}},colorConverter:{type:Object,default:function(){return new G["a"]}}},computed:{groupsSorted:function(){return Object.entries(this.groups).sort((function(e,t){return e[1].name.localeCompare(t[1].name)})).map((function(e){var t=Object(u["a"])(e,2),n=t[0],i=t[1];return Object(l["a"])(Object(l["a"])({},i),{},{id:n})}))},anyLightsOn:function(){for(var e=0,t=Object.values(this.groups);e0}},methods:{toggleSelectAll:function(){var e=this,t=Object.values(this.selectedLights).filter((function(e){return e})).length {\n const k = (n + h / 30) % 12\n const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1)\n return Math.round(255 * color)\n }\n\n return [f(0), f(8), f(4)]\n }\n\n rgbToHsl(r, g, b){\n r /= 255\n g /= 255\n b /= 255;\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\n let h, s, l = (max + min) / 2;\n\n if(max === min){\n h = s = 0; // achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch(max){\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n\n return [\n parseInt(this.normalize(h, [0, 1], this.ranges.hue)),\n parseInt(this.normalize(s, [0, 1], this.ranges.sat)),\n parseInt(this.normalize(l, [0, 1], this.ranges.bri)),\n ]\n }\n\n xyToRgb(x, y, brightness) {\n // Set to maximum brightness if no custom value was given (Not the slick ECMAScript 6 way for compatibility reasons)\n if (brightness == null)\n brightness = this.ranges.bri[1];\n\n const z = 1.0 - x - y;\n const Y = (brightness / (this.ranges.bri[1]-1)).toFixed(2);\n const X = (Y / y) * x;\n const Z = (Y / y) * z;\n\n //Convert to RGB using Wide RGB D65 conversion\n let red \t= X * 1.656492 - Y * 0.354851 - Z * 0.255038;\n let green = -X * 0.707196 + Y * 1.655397 + Z * 0.036152;\n let blue \t= X * 0.051713 - Y * 0.121364 + Z * 1.011530;\n\n //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0\n if (red > blue && red > green && red > 1.0) {\n green = green / red;\n blue = blue / red;\n red = 1.0;\n } else if (green > blue && green > red && green > 1.0) {\n red = red / green;\n blue = blue / green;\n green = 1.0;\n } else if (blue > red && blue > green && blue > 1.0) {\n red = red / blue;\n green = green / blue;\n blue = 1.0;\n }\n\n //Reverse gamma correction\n red \t= red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;\n green \t= green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;\n blue \t= blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;\n\n //Convert normalized decimal to decimal\n red \t= Math.round(red * 255);\n green \t= Math.round(green * 255);\n blue \t= Math.round(blue * 255);\n\n if (isNaN(red))\n red = 0;\n if (isNaN(green))\n green = 0;\n if (isNaN(blue))\n blue = 0;\n\n return [red, green, blue].map((c) => Math.min(Math.max(0, c), 255))\n }\n\n rgbToXY(red, green, blue) {\n if (red > 1) { red /= 255; }\n if (green > 1) { green /= 255; }\n if (blue > 1) { blue /= 255; }\n\n //Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device\n red \t= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);\n green \t= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);\n blue \t= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92);\n\n //RGB values to XYZ using the Wide RGB D65 conversion formula\n const X \t\t= red * 0.664511 + green * 0.154324 + blue * 0.162028;\n const Y \t\t= red * 0.283881 + green * 0.668433 + blue * 0.047685;\n const Z \t\t= red * 0.000088 + green * 0.072310 + blue * 0.986039;\n\n //Calculate the xy values from the XYZ values\n let x \t\t= parseFloat((X / (X + Y + Z)).toFixed(4));\n let y \t\t= parseFloat((Y / (X + Y + Z)).toFixed(4));\n\n if (isNaN(x))\n x = 0;\n if (isNaN(y))\n y = 0;\n\n return [x, y];\n }\n\n rgbToBri(red, green, blue) {\n return Math.min(2 * this.rgbToHsl(red, green, blue)[2], this.ranges.bri[1])\n }\n\n getRGB(color) {\n if (color.red != null && color.green != null && color.blue != null)\n return [color.red, color.green, color.blue]\n if (color.r != null && color.g != null && color.b != null)\n return [color.r, color.g, color.b]\n if (color.rgb)\n return color.rgb\n }\n\n getXY(color) {\n if (color.x != null && color.y != null)\n return [color.x, color.y]\n if (color.xy)\n return color.xy\n }\n\n toRGB(color) {\n const rgb = this.getRGB(color)\n if (rgb)\n return rgb\n\n const xy = this.getXY(color)\n if (xy && color.bri)\n return this.xyToRgb(...xy, color.bri)\n if (color.hue && color.sat && color.bri)\n return this.hslToRgb(color.hue, color.sat, color.bri)\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toXY(color) {\n const xy = this.getXY(color)\n if (xy && color.bri)\n return [xy[0], xy[1], color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToXY(...rgb)\n\n if (color.hue && color.sat && color.bri) {\n const rgb = this.hslToRgb(color.hue, color.sat, color.bri)\n return this.rgbToXY(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toHSL(color) {\n if (color.hue && color.sat && color.bri)\n return [color.hue, color.sat, color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToHsl(...rgb)\n\n const xy = this.getXY(color)\n if (xy && color.bri) {\n const rgb = this.xyToRgb(...xy, color.bri)\n return this.rgbToHsl(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Group.vue?vue&type=style&index=1&id=4de1a560&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MenuPanel.vue?vue&type=style&index=0&id=02113104&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Controls.vue?vue&type=style&index=1&id=e2726892&lang=scss\"","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Group.vue?vue&type=style&index=0&id=4de1a560&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Animate.vue?vue&type=style&index=0&id=1739aaba&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Groups.vue?vue&type=style&index=0&id=42318a2b&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Light.vue?vue&type=style&index=0&id=52168252&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=0378547e&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Controls.vue?vue&type=style&index=0&id=e2726892&lang=scss&scoped=true\"","\n
\n
\n \n
\n
\n \n
\n
\n\n\n\n\n\n\n","\n","import script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nexport default script","\n \n