diff --git a/.gitignore b/.gitignore index 80247a8..85d7236 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,9 @@ .dependencies po/*.mo po/*.pot -!client/dist/skins/default client/dist/skins/* +!client/dist/skins/default +!client/dist/skins/horchiTft client/node_modules/ client/npm-debug.log client/skins.config.js diff --git a/client/dist/skins/horchiTft/index.html b/client/dist/skins/horchiTft/index.html new file mode 100644 index 0000000..dbac3d4 --- /dev/null +++ b/client/dist/skins/horchiTft/index.html @@ -0,0 +1,13 @@ + + + + osd2Web + + + + + + + + + diff --git a/client/dist/skins/horchiTft/remotecontrol.jpg b/client/dist/skins/horchiTft/remotecontrol.jpg new file mode 100644 index 0000000..e72e341 Binary files /dev/null and b/client/dist/skins/horchiTft/remotecontrol.jpg differ diff --git a/client/dist/skins/horchiTft/skin.js b/client/dist/skins/horchiTft/skin.js new file mode 100644 index 0000000..497d932 --- /dev/null +++ b/client/dist/skins/horchiTft/skin.js @@ -0,0 +1,2 @@ +!function(t){function e(s){if(n[s])return n[s].exports;var o=n[s]={i:s,l:!1,exports:{}};return t[s].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,s){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:s})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=16)}([function(t,e){t.exports=function(t,e,n,s,o){var a,r=t=t||{},i=typeof t.default;"object"!==i&&"function"!==i||(a=t,r=t.default);var c="function"==typeof r?r.options:r;e&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns),s&&(c._scopeId=s);var l;if(o?(l=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):n&&(l=n),l){var d=c.functional,u=d?c.render:c.beforeCreate;d?c.render=function(t,e){return l.call(e),u(t,e)}:c.beforeCreate=u?[].concat(u,l):[l]}return{esModule:a,exports:r,options:c}}},function(t,e){t.exports=common},function(t,e,n){"use strict";n.d(e,"a",function(){return a}),n.d(e,"b",function(){return r});var s=n(17),o=n(1);o.Icon.register({skinfocus:{width:2048,height:1792,paths:[{d:"M1792 1248v-960q0-13-9.5-22.5t-22.5-9.5h-1600q-13 0-22.5 9.5t-9.5 22.5v960q0 13 9.5 22.5t22.5 9.5h1600q13 0 22.5-9.5t9.5-22.5zM1920 288v960q0 66-47 113t-113 47h-736v128h352q14 0 23 9t9 23v64q0 14-9 23t-23 9h-832q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h352v-128h-736q-66 0-113-47t-47-113v-960q0-66 47-113t113-47h1600q66 0 113 47t47 113z"}]}});var a=o.Vue;a.component("o2w-event",n(31)),a.component("o2w-textmenu",n(28)),a.component("o2w-textarea",n(27)),a.component("o2w-actual",n(30)),a.component("o2w-timer",n(29)),a.component("o2w-navigation",n(22)),a.component("o2w-remote",n(24)),a.component("o2w-osd",n(23)),a.component("o2w-statusmessage",n(26)),a.component("o2w-overview",n(32)),a.component("o2w-replaycontrol",n(25));var r={data:{isOnlyView:/[?&]onlyView/.test(location.search),isActive:!1,skinAttached:!1,hasChannelLogos:!1,osdOn:!1,menuItems:[],menuItemsRight:[],keyMap:{38:"Up",40:"Down",13:"Ok",8:"Back",27:"Back",37:"Left",39:"Right",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9"}},render:function(t){return t(n(20))},methods:{sendKey:function(t,e){this.$socket.send({event:"keypress",object:{key:t,repeat:e||1}})},mapKey:function(t){var e=this.keyMap[t];e&&this.sendKey(e)},formatDateTime:function(t){var e=new Date(1e3*t);return e.toLocaleDateString("de-DE",{weekday:"short",year:"numeric",month:"long",day:"numeric"})+" "+new String(100+e.getHours()).slice(1)+":"+new String(100+e.getMinutes()).slice(1)},formatTime:function(t){var e=new Date(1e3*t);return new String(100+e.getHours()).slice(1)+":"+new String(100+e.getMinutes()).slice(1)}},created:function(){var t=this;try{if(this.$socket=new s.a({url:"ws://"+location.host,protocol:"osd2vdr",autoReconnectInterval:1e4,onopen:function(){null===t.isActive&&t.$socket.send({event:"login",object:{type:+(t.isOnlyView?1:0)}})},onclose:function(){t.isActive=null},onmessage:function(e){try{var n=JSON.parse(e.data.replace());t.$emit(n.event,n.object)}catch(t){console.log(t)}}}),!this.$socket)return!(this.$el.innerHTML="Your Browser will not support Websockets!");this.$socket.send({event:"login",object:{type:+(this.isOnlyView?1:0)}}),this.$on("send",this.$socket.send),this.$on("rolechange",function(e){t.isActive="active"==e.role,t.hasChannelLogos=1==e.havelogos}),this.$on("osdState",function(e){t.osdOn=e.active});var e={label:"",on:!1,icon:"skinfocus",func:function(t){t.$root.$emit("send",{event:this.on?"leavefocus":"takefocus"})}};if(this.$on("skinstate",function(n){t.skinAttached=1==n.attached,t.$root.$set(e,"on",t.skinAttached)}),this.menuItemsRight.push(e),this.isOnlyView){var n=document.scrollingElement||document.documentElement;window.autoScroll=function(t){var e=document.body.scrollHeight>document.body.clientHeight,s=document.body.currentStyle||window.getComputedStyle(document.body,"");e="visible"==s.overflow||"visible"==s.overflowY||e&&"auto"==s.overflow||e&&"auto"==s.overflowY;var o=3e3;if(e){var a=n.scrollTop;n.scrollTop+=t,a==n.scrollTop&&(t*=-1),o=80}window.setTimeout(window.autoScroll,o,t)},window.autoScroll(0)}else window.addEventListener("keyup",function(e){t.mapKey((e.altKey?"alt.":"")+(e.ctrlKey?"ctrl.":"")+(e.shiftKey?"shift.":"")+e.keyCode)});window.addEventListener("unload",function(){t.$socket.send({event:"logout",object:{}})})}catch(t){alert("

Error"+t)}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"o2w-app"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"o2wEvent",props:{event:Object},data:function(){return{now:parseInt((new Date).getTime()/1e3,10)}},computed:{description:function(){return this.event.description?this.event.description.replace(/\n/g,"
"):""},progress:function(){var t=this;return this.event.title&&window.setTimeout(function(){t.now=parseInt((new Date).getTime()/1e3,10)},6e4),Math.max(parseInt((this.now-this.event.starttime)/this.event.duration*100,10),0)},imagecnt:function(){var t=this.event.epg2vdr?parseInt(this.event.epg2vdr.imagecount,10):0;return isNaN(t)?0:t}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"o2wNavigation",props:{items:Array,itemsRight:Array},methods:{checkHeight:function(){var t=document.getElementById("topnav");t&&(t.style.height=t.firstChild.offsetHeight+"px")},isHidden:function(t){return"function"==typeof t.isHidden?t.isHidden.call(t,this):t.isHidden},handleSelect:function(t){t&&(t.func?t.func.call(t,this):t.key&&this.$root.sendKey(t.key))},renderLabel:function(t){var e=null,n=t.label.replace(/_(.)_/,function(t,n){return e=n.toLowerCase(),""+n+""});return e&&(this.keys[e]=t),n}},mounted:function(){window.setTimeout(this.checkHeight,300)},updated:function(){this.checkHeight()},created:function(){var t=this;this.keys={},window.addEventListener("keyup",function(e){e.altKey&&t.keys[e.key]&&(t.handleSelect(t.keys[e.key]),e.stopPropagation())}),window.addEventListener("resize",this.checkHeight)}}},function(t,e,n){"use strict";function s(){return{title:"",category:-1,pageUp:!1,pageDn:!1,event:{},buttons:[],maxLines:a}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(1);o.Icon.register({"osd-back":{width:1280,height:1792,paths:[{d:"M1171 301l-531 531 531 531q19 19 19 45t-19 45l-166 166q-19 19-45 19t-45-19l-742-742q-19-19-19-45t19-45l742-742q19-19 45-19t45 19l166 166q19 19 19 45t-19 45z"}]}});var a=0;e.default={name:"o2wOsd",data:function(){return s()},created:function(){var t=this,e={label:"_O_SD",isHidden:function(t){return!t.$root.isActive},key:"menu"};if(this.$root.$data.menuItems.push(e),this.$root.$on("clearmenu",function(n){var o=s();for(var a in o)t[a]=o[a];t.$root.$set(e,"on",!1)}),this.$root.$on("menu",function(n){t.category=n.category,t.title=n.title,t.$root.$set(e,"on",!0)}),this.$root.$on("scrollbar",function(e){t.pageUp=e.Offset>0,t.pageDn=e.Total-a>e.Offset}),this.$root.$on("event",function(e){t.event=e}),this.$root.$on("buttons",function(e){t.buttons=[];for(var n in e)t.buttons.push({color:n,label:e[n]})}),this.$root.$on("rolechange",function(e){t.sendMaxLines(null,t.$root.isOnlyView?null:50)}),this.$root.isOnlyView){var n=function t(e){r?(new Date).getTime()-o>500&&(i.sendMaxLines(null),r=!!window.clearInterval(r)):r=window.setInterval(t,500),o=(new Date).getTime()},o=0,r=!1,i=this;window.addEventListener("resize",n)}},updated:function(){this.title?(this.$root.$emit("osdState",{active:!0}),this.$root.isOnlyView&&window.addEventListener("resize",this.sendMaxLines)):(this.$root.$emit("osdState",{active:!1}),window.removeEventListener("resize",this.sendMaxLines))},methods:{sendMaxLines:function(t,e){var n=e||o.maxLinesCalc.getMax();if(n!=a){a=n;for(var s=[],i=0;i=0&&(t.buttons[1==e.forward?4:0].color="red")})}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s=["-success","-info","-warning","-danger"];e.default={name:"o2wStatusmessage",data:function(){return{msg:"",type:0}},created:function(){var t=this;this.$root.$on("message",function(e){t.msg=e.message,t.type="alert"+(s[e.type]||"")}),this.$root.$on("channelgroup",function(e){t.msg=e.name,t.type="alert-info"})}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"o2wTextarea",data:function(){return{text:""}},created:function(){var t=this;this.$root.$on("menutext",function(e){t.text=e.text.replace(/\n/g,"
")}),this.$root.$on("textscroll",function(t){t.page?t.up?document.body.scrollLeft=Math.max(0,document.body.scrollLeft-document.body.clientWidth):document.body.scrollLeft+=document.body.clientWidth:t.up?document.body.scrollTop=Math.max(0,document.body.scrollTop-document.body.clientHeight):document.body.scrollTop=document.body.scrollTop+document.body.clientHeight})}}},function(t,e,n){"use strict";function s(){return{rows:[],colCount:0,textmenucurrent:0,canEdit:0}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(1).Icon;o.register({"caret-left":{width:640,height:1792,paths:[{d:"M640 448v896q0 26-19 45t-45 19-45-19l-448-448q-19-19-19-45t19-45l448-448q19-19 45-19t45 19 19 45z"}]}}),o.register({"caret-right":{width:640,height:1792,paths:[{d:"M576 896q0 26-19 45l-448 448q-19 19-45 19t-45-19-19-45v-896q0-26 19-45t45-19 45 19l448 448q19 19 19 45z"}]}}),o.register({"caret-down":{width:1024,height:1792,paths:[{d:"M1024 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"}]}}),o.register({"caret-up":{width:1024,height:1792,paths:[{d:"M1024 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"}]}}),e.default={name:"o2wTextmenu",data:function(){return s()},created:function(){var t=this;this.$root.$on("clearmenu",function(e){var n=s();for(var o in n)t[o]=n[o]}),this.$root.$on("menu",function(e){t.canEdit=e.editable||0,t.colCount=-1}),this.$root.$on("menuitem",function(e){t.colCount<0&&e.text&&(t.colCount=e.text.split("\t").length,2==t.colCount&&t.canEdit?t.colCount++:t.canEdit=0),t.$set(t.rows,e.index,{cols:e.text?e.text.split("\t"):new Array(t.colCount),selectable:e.selectable,textEdit:t.canEdit&&/.+\\t.*\[.\]/.test(e.text)}),e.current&&(t.textmenucurrent=e.index)})},methods:{doAction:function(t,e){var n=t-this.textmenucurrent;if(0!=n){var s=0,o=void 0;if(n>0){for(n=this.textmenucurrent;n"):this.event.epg2vdr&&this.event.epg2vdr.shortdescription?this.event.epg2vdr.shortdescription.replace(/\n/g,"
"):""},progress:function(){var t=this;return this.event.title&&window.setTimeout(function(){t.now=parseInt((new Date).getTime()/1e3,10)},6e4),Math.max(parseInt((this.now-this.event.starttime)/this.event.duration*100,10),0)},imagecnt:function(){var t=this.event.epg2vdr?parseInt(this.event.epg2vdr.imagecount,10):0;return isNaN(t)?0:t}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"o2wOverview"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s=n(2);window.v=new s.a({mixins:[s.b]}).$mount("#app")},function(t,e,n){"use strict";function s(t){if(!window.WebSocket)return!1;var e=this,n=[];this.onclose=function(){console.log("websocket connection closed")},this.onerror=function(t){console.log("websocket error: ",t)};for(var s in t)this[s]=t[s];return this.reconnect=function(t){e.autoReconnectInterval&&(console.log("WebSocketClient: retry in "+e.autoReconnectInterval+"ms",t),setTimeout(function(){console.log("WebSocketClient: reconnecting..."),e.open()},e.autoReconnectInterval))},this.send=function(t){n?n.push(t):e.ws.send(JSON.stringify(t))},this.open=function(){e.ws=new WebSocket(e.url,e.protocol),e.ws.onopen=function(t){if(n){for(var s=void 0;s=n.shift();)e.ws.send(JSON.stringify(s));n=null}e.onopen&&e.onopen(t)},e.ws.onmessage=e.onmessage,e.ws.onclose=function(t){switch(n=[],t){case 1e3:console.log("WebSocket: closed");break;default:e.reconnect(t)}e.onclose&&e.onclose(t)},e.ws.onerror=function(t){switch(t.code){case"ECONNREFUSED":e.reconnect(t);break;default:e.onerror||e.onerror(t)}}},this.reopen=function(){e.ws.onerror=e.ws.onclose=e.ws.onmessage=null,e.ws.close(),e.open()},this.open(),this}e.a=s},,function(t,e,n){t.exports=n.p+"remotecontrol.jpg"},function(t,e,n){var s=n(0)(n(3),n(34),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(4),n(41),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(5),n(43),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(6),n(37),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(7),n(39),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(8),n(35),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(9),n(40),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(10),n(45),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(11),n(44),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(12),n(42),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(13),n(38),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(14),n(36),null,null,null);t.exports=s.exports},function(t,e,n){var s=n(0)(n(15),n(33),null,null,null);t.exports=s.exports},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",{staticClass:"row"},[n("o2w-actual",{staticClass:"col-12 col-md-9 mb-2"}),t._v(" "),n("o2w-timer",{staticClass:"col-12 col-md-3"})],1),t._v(" "),n("h4",{staticClass:"status-bar",attrs:{align:"right"}},[t._v(t._s(t.$root.formatDateTime(parseInt((new Date).getTime()/1e3,10))))])])},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"app-view"}},[t.$root.isOnlyView?t._e():n("o2w-navigation",{attrs:{items:t.$root.menuItems,itemsRight:t.$root.menuItemsRight}}),t._v(" "),n("o2w-statusmessage"),t._v(" "),n("div",{staticClass:"d-flex flex-row"},[t.$root.isOnlyView?t._e():n("o2w-remote"),t._v(" "),n("div",{staticClass:"container-fluid",attrs:{id:"o2wContainer"}},[n("o2w-osd",{attrs:{name:"osd"}}),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:!t.$root.osdOn,expression:"!$root.osdOn"}],attrs:{id:"o2wContent"}},[n("o2w-overview")],1)],1)],1)],1)},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.buttons?n("div",[n("div",[t._v(t._s(t.controlInfo))]),t._v(" "),n("div",{staticClass:"btn-group btn-group-sm justify-content-center"},t._l(t.buttons,function(e,s){return n("a",{staticClass:"btn btn-secondary",style:{color:e.color},on:{click:function(n){t.$root.sendKey(e.key)}}},[n("icon",{attrs:{name:e.icon}})],1)}))]):t._e()},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[t.isFullevent?n("o2w-fullevent",{attrs:{event:t.event}}):n("div",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.event.title,expression:"event.title"}],staticClass:"card mt-2",staticStyle:{height:"310px",overflow:"hidden"}},[n("div",{staticClass:"card-block"},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.progress,expression:"progress"}],staticClass:"progress"},[n("div",{staticClass:"progress-bar",style:{width:t.progress+"%"},attrs:{role:"progressbar","aria-valuenow":{progress:t.progress},"aria-valuemin":"0","aria-valuemax":"100"}},[t._v(t._s(t.progress)+"%")])]),t._v(" "),n("div",{staticClass:"row"},[n("h3",{staticClass:"card-title"},[t._v(t._s(t.$root.formatTime(t.event.starttime))+" "+t._s(t.event.title))]),t._v(" "),n("div",{staticClass:"ml-auto p-1 mr-3"},[t._v(t._s(parseInt(t.event.duration/60,10))+" min")])]),t._v(" "),n("div",{staticClass:"row"},[t.event.epg2vdr?n("div",{staticClass:"col-12 col-md-9"},[t.event.shorttext?n("div",{staticClass:"card-text"},[t._v(t._s(t.event.shorttext))]):t._e(),t._v(" "),t.event.epg2vdr.genre?n("div",{staticClass:"card-text"},[t._v(t._s(t.event.epg2vdr.genre))]):t._e(),t._v(" "),t.event.epg2vdr.category?n("div",{staticClass:"card-text"},[t._v(t._s(t.event.epg2vdr.category))]):t._e(),t._v(" "),t.event.epg2vdr.country?n("div",{staticClass:"card-text"},[t._v(t._s(t.event.epg2vdr.country)+" "+t._s(t.event.epg2vdr.year))]):t._e(),t._v(" "),t.event.epg2vdr.tipp?n("div",{staticClass:"card-text"},[t._v(t._s(t.event.epg2vdr.tipp)+"  "+t._s(t.event.epg2vdr.txtrating))]):t._e()]):n("div",{staticClass:"col-12 col-md-9"},[t.event.shorttext?n("div",{staticClass:"card-text"},[t._v(t._s(t.event.shorttext))]):t._e()]),t._v(" "),t.event.epg2vdr?n("div",{staticClass:"col-12 col-md-3 carousel slide",attrs:{id:"evImages"+t.event.eventid,"data-ride":"carousel","data-interval":"5000"}},[n("div",{staticClass:"carousel-inner",attrs:{role:"listbox"}},t._l(t.imagecnt,function(e){return n("div",{staticClass:"carousel-item",class:{active:1==e}},[n("img",{staticClass:"d-block",attrs:{src:"/data/eventimg?id="+t.event.eventid+"&no="+(e-1),alt:""}})])})),t._v(" "),n("a",{staticClass:"carousel-control-prev",attrs:{href:"#evImages"+t.event.eventid,role:"button","data-slide":"prev"}},[n("span",{staticClass:"carousel-control-prev-icon",attrs:{"aria-hidden":"true"}}),t._v(" "),n("span",{staticClass:"sr-only"},[t._v("Previous")])]),t._v(" "),n("a",{staticClass:"carousel-control-next",attrs:{href:"#evImages"+t.event.eventid,role:"button","data-slide":"next"}},[n("span",{staticClass:"carousel-control-next-icon",attrs:{"aria-hidden":"true"}}),t._v(" "),n("span",{staticClass:"sr-only"},[t._v("Next")])])]):t._e()]),t._v(" "),n("p",{directives:[{name:"show",rawName:"v-show",value:t.description,expression:"description"}],domProps:{innerHTML:t._s(t.description)}})])])])],1)},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"show",rawName:"v-show",value:t.$root.osdOn,expression:"$root.osdOn"}],attrs:{id:"osdCon"}},[n("div",{staticClass:"container",on:{click:function(e){t.$root.sendKey("Back")}}},[n("h3",{},[t.$root.isOnlyView?t._e():n("icon",{attrs:{name:"osd-back"}}),t._v(" "+t._s(t.title))],1)]),t._v(" "),n("o2w-textmenu"),t._v(" "),n("o2w-event",{attrs:{event:t.event}}),t._v(" "),n("o2w-textarea"),t._v(" "),n("div",{staticClass:"btn-group btn-group-sm justify-content-center fixed-bottom",attrs:{id:"buttons"}},[n("a",{directives:[{name:"show",rawName:"v-show",value:t.pageUp,expression:"pageUp"}],staticClass:"btn btn-secondary",on:{click:function(e){t.$root.sendKey("Up",t.maxLines)}}},[n("icon",{attrs:{name:"caret-up"}})],1),t._v(" "),t._l(t.buttons,function(e,s){return n("button",{staticClass:"btn btn-primary",class:"but-"+e.color,attrs:{type:"button"},on:{click:function(n){t.$root.sendKey(e.color)}}},[t._v(t._s(e.label))])}),t._v(" "),n("a",{directives:[{name:"show",rawName:"v-show",value:t.pageDn,expression:"pageDn"}],staticClass:"btn btn-secondary",on:{click:function(e){t.$root.sendKey("Down",t.maxLines)}}},[n("icon",{attrs:{name:"caret-down"}})],1)],2)],1)},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"Actual"}},[n("o2w-replaycontrol"),t._v(" "),t.channel.channelid?n("div",{staticClass:"card-header"},[n("div",{staticClass:"text-center row",staticStyle:{height:"65px"}},[n("div",{staticClass:"o2wChannelCircle alert-info"},[t._v(t._s(t.channel.channelnumber))]),t._v(" "),t.$root.hasChannelLogos?n("div",{staticClass:"media d-flex flex-column ml-auto p-1",staticStyle:{height:"65px"}},[n("img",{staticClass:"d-block img-fluid",staticStyle:{"max-height":"95%"},attrs:{align:"right",src:"/data/channellogo?name="+t.channel.channelname+"&id="+t.channel.channelid}})]):n("div",{staticClass:"media d-flex flex-column"},[n("h3",{staticClass:"d-block mt-4 card-title"},[t._v(t._s(t.channel.channelname))])])])]):t._e(),t._v(" "),n("o2w-event",{attrs:{event:t.present}}),t._v(" "),n("o2w-event",{attrs:{event:t.following}})],1)},staticRenderFns:[]}},function(t,e,n){t.exports={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{directives:[{name:"show",rawName:"v-show",value:t.menuItem.on,expression:"menuItem.on"}],staticStyle:{"min-width":"180px","min-height":"385px"}},[s("img",{staticStyle:{position:"fixed","z-index":"999"},attrs:{src:n(19),width:"162",height:"378",border:"0",usemap:"#remote",alt:""}}),t._v(" "),s("map",{attrs:{name:"remote"},on:{click:function(e){t.handleClick(e)}}},[s("area",{attrs:{shape:"circle",coords:"37,36,10",alt:"Power"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"27,60,59,75",alt:"1"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"64,59,98,75",alt:"2"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"103,59,137,75",alt:"3"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"25,82,60,98",alt:"4"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"65,82,98,99",alt:"5"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"103,83,137,99",alt:"6"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"26,106,60,121",alt:"7"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"65,105,97,121",alt:"8"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"104,106,137,122",alt:"9"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"66,128,98,144",alt:"0"}}),t._v(" "),s("area",{attrs:{shape:"circle",coords:"37,157,13",alt:"Volume+"}}),t._v(" "),s("area",{attrs:{shape:"circle",coords:"37,190,13",alt:"Volume-"}}),t._v(" "),s("area",{attrs:{shape:"circle",coords:"125,157,13",alt:"Channel+"}}),t._v(" "),s("area",{attrs:{shape:"circle",coords:"125,190,13",alt:"Channel-"}}),t._v(" "),s("area",{attrs:{shape:"circle",coords:"81,174,8",alt:"Mute"}}),t._v(" "),s("area",{attrs:{shape:"circle",coords:"81,202,11",alt:"Recordings"}}),t._v(" "),s("area",{attrs:{shape:"poly",coords:"39,215,29,227,30,235,39,236,51,222,49,215,43,213",alt:"Menu"}}),t._v(" "),s("area",{attrs:{shape:"poly",coords:"119,213,127,219,135,230,132,235,127,236,119,231,114,223,113,215",alt:"Back"}}),t._v(" "),s("area",{attrs:{shape:"poly",coords:"33,289,31,298,43,310,51,308,54,300,41,287",alt:"Subtitles"}}),t._v(" "),s("area",{attrs:{shape:"poly",coords:"131,289,133,298,122,310,112,308,110,300,122,287",alt:"Audio"}}),t._v(" "),s("area",{attrs:{shape:"poly",coords:"58,230,70,223,82,223,91,223,105,231,96,240,87,237,78,236,69,240,66,241,58,232",alt:"Up"}}),t._v(" "),s("area",{attrs:{shape:"poly",coords:"111,237,119,249,121,259,119,275,113,285,109,284,101,276,104,270,107,260,106,253,101,245",alt:"Right"}}),t._v(" "),s("area",{attrs:{shape:"poly",coords:"66,281,75,285,86,285,95,281,106,291,100,295,87,300,73,300,58,291,57,289,58,289",alt:"Down"}}),t._v(" "),s("area",{attrs:{shape:"poly",coords:"51,236,61,245,56,256,57,266,61,277,52,285,47,278,42,264,43,252,49,240",alt:"Left"}}),t._v(" "),s("area",{attrs:{shape:"circle",coords:"81,261,17",alt:"Ok"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"25,324,52,339",alt:"Red"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"53,324,81,339",alt:"Green"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"83,324,109,339",alt:"Yellow"}}),t._v(" "),s("area",{attrs:{shape:"rect",coords:"110,324,137,339",alt:"Blue"}})])])},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"show",rawName:"v-show",value:t.msg,expression:"msg"}],staticClass:"alert alert-dismissible fade show",class:t.type},[n("button",{staticClass:"close",attrs:{type:"button","data-dismiss":"alert","aria-label":"Close"},on:{click:function(e){t.msg=""}}},[n("span",{attrs:{"aria-hidden":"true"}},[t._v("×")])]),t._v(" "),n("p",[t._v(t._s(t.msg))])])},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"show",rawName:"v-show",value:t.event.title,expression:"event.title"}],staticClass:"card"},[n("div",{staticClass:"card-block"},[n("h3",{staticClass:"card-title"},[t._v(t._s(t.event.title))]),t._v(" "),n("div",{staticClass:"card-text"},[t._v(t._s(t.event.shorttext))]),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.progress,expression:"progress"}],staticClass:"progress"},[n("div",{staticClass:"progress-bar",style:{width:t.progress+"%"},attrs:{role:"progressbar","aria-valuenow":{progress:t.progress},"aria-valuemin":"0","aria-valuemax":"100"}},[t._v(t._s(t.progress)+"%")])]),t._v(" "),n("div",{staticClass:"row"},[n("div",{staticClass:"col"},[t._v("\n "+t._s(t.$root.formatDateTime(t.event.starttime))+" - "+t._s(t.$root.formatTime(t.event.endtime))+"\n ")]),t._v(" "),n("div",{staticClass:"col text-right"},[t._v("\n "+t._s(parseInt(t.event.duration/60,10))+" min")])]),t._v(" "),t.event.epg2vdr?n("div",{staticClass:"carousel slide",attrs:{id:"evImages"+t.event.eventid,"data-ride":"carousel","data-interval":"5000"}},[n("div",{staticClass:"carousel-inner",attrs:{role:"listbox"}},t._l(t.imagecnt,function(e){return n("div",{staticClass:"carousel-item",class:{active:1==e}},[n("img",{staticClass:"d-block",attrs:{src:"/data/eventimg?id="+t.event.eventid+"&no="+(e-1),alt:""}})])})),t._v(" "),n("a",{staticClass:"carousel-control-prev",attrs:{href:"#evImages"+t.event.eventid,role:"button","data-slide":"prev"}},[n("span",{staticClass:"carousel-control-prev-icon",attrs:{"aria-hidden":"true"}}),t._v(" "),n("span",{staticClass:"sr-only"},[t._v("Previous")])]),t._v(" "),n("a",{staticClass:"carousel-control-next",attrs:{href:"#evImages"+t.event.eventid,role:"button","data-slide":"next"}},[n("span",{staticClass:"carousel-control-next-icon",attrs:{"aria-hidden":"true"}}),t._v(" "),n("span",{staticClass:"sr-only"},[t._v("Next")])]),t._v(" "),n("p",{domProps:{innerHTML:t._s(t.event.epg2vdr.longdescription)}})]):t._e()]),t._v(" "),n("hr"),t._v(" "),n("div",{staticClass:"card-block"},[n("p",{directives:[{name:"show",rawName:"v-show",value:t.description,expression:"description"}],domProps:{innerHTML:t._s(t.description)}})])])},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.timers?n("div",{staticClass:"list-group",attrs:{id:"actual-timer"}},[t.$root.isOnlyView?t._e():n("h3",[t._v("Timer")]),t._v(" "),t._l(t.timers,function(e,s){return n("div",{staticClass:"mt-2"},[n("a",{staticClass:"list-group-item list-group-item-action flex-column align-items-start active",on:{click:function(n){n.stopPropagation(),t.detail=t.detail==e.id?-1:e.id}}},[n("div",{staticClass:"d-flex w-100 justify-content-between"},[n("h5",{staticClass:"mb-1"},[t._v(t._s(e.file))]),t._v(" "),n("small",[t._v(t._s(t.$root.formatDateTime(e.starttime)))])])]),t._v(" "),t.detail==e.id?n("o2w-event",{attrs:{event:e.event}}):t._e()],1)})],2):t._e()},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("nav",{staticClass:"navbar navbar-toggleable-xl navbar-light bg-faded fixed-top"},[t._m(0),t._v(" "),n("div",{staticClass:"collapse navbar-collapse",attrs:{id:"navbar"}},[n("ul",{staticClass:"navbar-nav mr-auto"},t._l(t.items,function(e){return t.isHidden(e)?t._e():n("li",{staticClass:"nav-item",class:{active:e.on},on:{click:function(n){t.handleSelect(e)}}},[n("a",{staticClass:"nav-link",attrs:{href:"#"}},[e.icon?n("icon",{attrs:{name:e.icon}}):t._e(),n("span",{domProps:{innerHTML:t._s(t.renderLabel(e))}})],1)])})),t._v(" "),t.$root.isActive?n("ul",{staticClass:"navbar-nav ml-auto"},t._l(t.itemsRight,function(e){return t.isHidden(e)?t._e():n("li",{staticClass:"nav-item",class:{active:e.on},on:{click:function(n){t.handleSelect(e)}}},[n("a",{staticClass:"nav-link",attrs:{href:"#"}},[e.icon?n("icon",{attrs:{name:e.icon}}):t._e(),n("span",{domProps:{innerHTML:t._s(t.renderLabel(e))}})],1)])})):t._e()])])},staticRenderFns:[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("button",{staticClass:"navbar-toggler navbar-toggler-right",attrs:{type:"button","data-toggle":"collapse","data-target":"#navbar","aria-controls":"navbar","aria-expanded":"false","aria-label":"Toggle navigation"}},[n("span",{staticClass:"navbar-toggler-icon"})])}]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.colCount>0?n("table",{staticClass:"table table-hover",class:{"text-nowrap":t.$root.isOnlyView}},[n("tbody",t._l(t.rows,function(e,s){return n("tr",{key:s,class:{"table-active":s==t.textmenucurrent},on:{click:function(n){e.selectable&&t.doAction(s)}}},[t._l(e.cols,function(e,o){return n("td",{key:o,class:{"bg-warning":s==t.textmenucurrent&&1==o&&1==t.canEdit}},[t._v(t._s(e))])}),t._v(" "),e.selectable&&1==t.canEdit?n("td",{staticClass:"btn-group btn-group-sm"},[n("a",{staticClass:"btn btn-secondary",on:{click:function(e){e.stopPropagation(),t.doAction(s,"Left")}}},[n("icon",{attrs:{name:"caret-left"}})],1),t._v(" "),n("a",{directives:[{name:"show",rawName:"v-show",value:e.textEdit,expression:"row.textEdit"}],staticClass:"btn btn-secondary",on:{click:function(e){e.stopPropagation(),t.$root.sendKey("Up")}}},[n("icon",{attrs:{name:"caret-up"}})],1),t._v(" "),n("a",{directives:[{name:"show",rawName:"v-show",value:e.textEdit,expression:"row.textEdit"}],staticClass:"btn btn-secondary",on:{click:function(e){e.stopPropagation(),t.$root.sendKey("Down")}}},[n("icon",{attrs:{name:"caret-down"}})],1),t._v(" "),n("a",{staticClass:"btn btn-secondary",on:{click:function(e){e.stopPropagation(),t.doAction(s,"Right")}}},[n("icon",{attrs:{name:"caret-right"}})],1)]):t._e()],2)}))]):t._e()},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"show",rawName:"v-show",value:t.text,expression:"text"}],staticClass:"card"},[n("div",{staticClass:"card-block",domProps:{innerHTML:t._s(t.text)}})])},staticRenderFns:[]}}]); +//# sourceMappingURL=skin.js.map \ No newline at end of file diff --git a/client/dist/skins/horchiTft/skin.js.map b/client/dist/skins/horchiTft/skin.js.map new file mode 100644 index 0000000..7f14d46 --- /dev/null +++ b/client/dist/skins/horchiTft/skin.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///skin.js","webpack:///webpack/bootstrap d374a110fece2e32a396","webpack:///./~/vue-loader/lib/component-normalizer.js","webpack:///external \"common\"","webpack:///./src/root.js","webpack:///App.vue","webpack:///Event.vue","webpack:///Navigation.vue","webpack:///Osd.vue","webpack:///Remote.vue","webpack:///ReplayControl.vue","webpack:///Statusmessage.vue","webpack:///Textarea.vue","webpack:///Textmenu.vue","webpack:///Timer.vue","webpack:///Actual.vue","webpack:///Event.vue?bae0","webpack:///Overview.vue","webpack:///./src/skins/horchiTft/main.js","webpack:///./src/websocket.js","webpack:///./src/assets/remotecontrol.jpg","webpack:///./src/components/App.vue","webpack:///./src/components/Event.vue","webpack:///./src/components/Navigation.vue","webpack:///./src/components/Osd.vue","webpack:///./src/components/Remote.vue","webpack:///./src/components/ReplayControl.vue","webpack:///./src/components/Statusmessage.vue","webpack:///./src/components/Textarea.vue","webpack:///./src/components/Textmenu.vue","webpack:///./src/components/Timer.vue","webpack:///./src/skins/horchiTft/Actual.vue","webpack:///./src/skins/horchiTft/Event.vue","webpack:///./src/skins/horchiTft/Overview.vue","webpack:///./src/skins/horchiTft/Overview.vue?54d0","webpack:///./src/components/App.vue?e399","webpack:///./src/components/ReplayControl.vue?7e6b","webpack:///./src/skins/horchiTft/Event.vue?933c","webpack:///./src/components/Osd.vue?ed17","webpack:///./src/skins/horchiTft/Actual.vue?4ccf","webpack:///./src/components/Remote.vue?d225","webpack:///./src/components/Statusmessage.vue?bf77","webpack:///./src/components/Event.vue?8252","webpack:///./src/components/Timer.vue?35ef","webpack:///./src/components/Navigation.vue?e0dd","webpack:///./src/components/Textmenu.vue?ccfb","webpack:///./src/components/Textarea.vue?80c2"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","rawScriptExports","compiledTemplate","injectStyles","scopeId","moduleIdentifier","esModule","scriptExports","type","default","options","render","staticRenderFns","_scopeId","hook","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","functional","existing","beforeCreate","h","concat","common","__webpack_exports__","Vue","root","__WEBPACK_IMPORTED_MODULE_0__websocket_js__","Icon","register","skinfocus","width","height","paths","component","data","isOnlyView","test","location","search","isActive","skinAttached","hasChannelLogos","osdOn","menuItems","menuItemsRight","keyMap","38","40","13","8","27","37","39","48","49","50","51","52","53","54","55","56","57","methods","sendKey","key","repeat","$socket","send","event","mapKey","keyString","formatDateTime","unixTime","Date","toLocaleDateString","weekday","year","month","day","String","getHours","slice","getMinutes","formatTime","created","_this","url","host","protocol","autoReconnectInterval","onopen","onclose","onmessage","msg","JSON","parse","replace","$emit","e","console","log","$el","innerHTML","$on","role","havelogos","active","skinMenuItem","label","on","icon","func","navComp","$root","attached","$set","push","scrollingElement","document","documentElement","window","autoScroll","delta","hasVScroll","body","scrollHeight","clientHeight","cStyle","currentStyle","getComputedStyle","overflow","overflowY","nextCall","curTop","scrollTop","setTimeout","addEventListener","ev","altKey","ctrlKey","shiftKey","keyCode","exception","alert","props","now","parseInt","getTime","computed","description","progress","title","Math","max","starttime","duration","imagecnt","cnt","epg2vdr","imagecount","isNaN","items","Array","itemsRight","checkHeight","topnav","getElementById","style","firstChild","offsetHeight","isHidden","item","handleSelect","renderLabel","a","k","toLowerCase","keys","mounted","updated","stopPropagation","getClearData","category","pageUp","pageDn","buttons","maxLines","osd-back","_this2","menuItem","$data","clearData","Offset","Total","color","sendMaxLines","_checkResize","checkInt","lastResize","clearInterval","setInterval","removeEventListener","linesMax","maxLinesCalc","getMax","eMenuCategory","length","maxlines","shape","categories","remote","reopen","handleClick","target","alt","pause","play","stop","fast-backward","fast-forward","replayButtons","controlInfo","filename","speed","forward","eMessageType","message","text","page","up","scrollLeft","clientWidth","rows","colCount","textmenucurrent","canEdit","caret-left","caret-right","caret-down","caret-up","editable","split","index","cols","selectable","textEdit","current","doAction","rowIndex","rep","row","timers","detail","forEach","timer","id","components","channel","present","following","lengthinseconds","endtime","isFullevent","$parent","$options","_componentTag","longdescription","shortdescription","__WEBPACK_IMPORTED_MODULE_0__root__","v","mixins","$mount","WebSocketClient","opt","WebSocket","client","queue","onerror","err","reconnect","open","JSONobj","ws","stringify","shift","code","close","Component","_vm","_h","$createElement","_c","_self","staticClass","_v","attrs","align","_s","_e","directives","rawName","expression","_l","button","click","$event","staticStyle","aria-valuenow","aria-valuemin","aria-valuemax","shorttext","genre","country","tipp","txtrating","eventid","data-ride","data-interval","class","src","href","data-slide","aria-hidden","domProps","channelnumber","max-height","channelname","channelid","min-width","min-height","position","z-index","border","usemap","coords","data-dismiss","aria-label","file","_m","data-toggle","data-target","aria-controls","aria-expanded","text-nowrap","table-active","col","bg-warning"],"mappings":"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,MAAM,QACd7B,MQnqBpB,WRoqBoBjF,QACI8N,WQjqBxBhL,QAUA,IAAA4K,KRsqBIvB,SQnqBJ,YRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,SRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,aRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,gBRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,iBRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,YRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,gBRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,URoqBIyB,SQnqBJ,IRoqBIC,MAAS,IAET1B,SQnqBJ,cRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,cRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,kBRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,kBRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,WRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,gBRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,URoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,aRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,aRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,aRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,aRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,aRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,gBRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,gBRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,cRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,iBRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,YRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,URoqBIyB,SQnqBJ,IRoqBIC,MAAS,IAET1B,SQnqBJ,SRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,WRoqBIyB,SQnqBJ,IRoqBIC,MQnqBJ,IRqqBI1B,SQnqBJ,QRoqBIyB,SQnqBJ,IRoqBIC,MQlqBJ,GACAH,GAAA,KRoqBIvB,SQlqBJ,cRmqBIyB,SQlqBJ,IRmqBIC,MQlqBJ,IRuqBM,SAAU/O,EAAQqD,EAAqBzD,GAE7C,YACAe,QAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,ISr4BlEV,EAAA,GAAA6D,KAAAC,UAAAuL,QAAArL,MAAA,KAAAC,OAAA,KAAAC,QAAAvD,EAAA,2fACA8C,EAAA,ST66BI7C,KS36BJ,YT46BIwD,KAAM,WACF,OAAS4J,UACDjF,MS36BhB,GT46BgBC,IS36BhB,ET46BgBC,KS36BhB,ST46BgBC,KAAM,SAAcC,GAChBxG,KAAKqG,IAAMrG,KS36B/BqG,GT46ByBG,EAAQC,MAAM3E,UACf0E,EAAQC,MAAM/C,QS36BtCiJ,aTi7BIrJ,SACIsJ,YAAa,SAAqB3E,GAC1BA,EAAG4E,QAAU5E,EAAG4E,OS36BhCC,KAAA9M,KAAAyG,MAAAlD,QAAA0E,EAAA4E,OACAC,OT66BIlI,QAAS,WACL5E,KAAKyG,MAAM6E,MAAMpJ,UAAU0E,KAAK5G,KS16BxCqL,aTg7BM,SAAU5N,EAAQqD,EAAqBzD,GAE7C,YACAe,QAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,GUx+BlE,IAAA8C,GAAAxD,EAAA,EACAwD,GAAAK,KAAAC,UAAA4L,OAAA1L,MAAA,KAAAC,OAAA,KAAAC,QAAAvD,EAAA,iNACA6C,EAAAK,KAAAC,UAAA6L,MAAA3L,MAAA,KAAAC,OAAA,KAAAC,QAAAvD,EAAA,yGACA6C,EAAAK,KAAAC,UAAA8L,MAAA5L,MAAA,KAAAC,OAAA,KAAAC,QAAAvD,EAAA,+GACA6C,EAAAK,KAAAC,UAAA+L,iBAAA7L,MAAA,KAAAC,OAAA,KAAAC,QAAAvD,EAAA,2QACA6C,EAAAK,KAAAC,UAAAgM,gBAAA9L,MAAA,KAAAC,OAAA,KAAAC,QAAAvD,EAAA,8QAEA,IAAAoP,KVo/BI5J,IUl/BJ,UVm/BI8C,KUl/BJ,kBVo/BI9C,IUl/BJ,OVm/BI8C,KUl/BJ,SVo/BI9C,IUl/BJ,QVm/BI8C,KUl/BJ,UVo/BI9C,IUl/BJ,OVm/BI8C,KUl/BJ,SVo/BI9C,IUl/BJ,UVm/BI8C,KUl/BJ,gBAEAxF,GAAA,SVo/BI7C,KUl/BJ,mBVm/BIwD,KAAM,WACF,OACIwJ,WACAoC,YUj/BZ,OVo/BIzI,QAAS,WUl/Bb,GAAAC,GAAA7E,IVq/BQA,MAAKyG,MAAMV,IAAI,SAAU,SAAUtE,GAC/BoD,EAAMoG,QUp/BlB,KVq/BYpG,EAAMwI,YUp/BlB,OVs/BQrN,KAAKyG,MAAMV,IAAI,SAAU,SAAUtE,GAC/BoD,EAAMwI,YAAc5L,EUp/BhC6L,WVs/BQtN,KAAKyG,MAAMV,IAAI,gBAAiB,SAAUtE,GACtCoD,EAAMoG,QUp/BlBmC,EACA,GVo/BgB3L,EAAKuL,OUp/BrBnI,EAAAoG,QAAA,GAAAS,MACA,OVo/BgBjK,EAAK8L,OUn/BrB,IAAA1I,EAAAoG,QAAA,GAAAxJ,EAAA+L,QAAA,KAAA9B,MACA,YVy/BM,SAAUjO,EAAQqD,EAAqBzD,GAE7C,YACAe,QAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,GWziClE,IAAA0P,IAAA,wCAEA3M,GAAA,SXsjCI7C,KWpjCJ,mBXqjCIwD,KAAM,WACF,OACI4D,IWpjCZ,GXqjCY7F,KWnjCZ,IXsjCIoF,QAAS,WWpjCb,GAAAC,GAAA7E,IXujCQA,MAAKyG,MAAMV,IAAI,UAAW,SAAUtE,GAChCoD,EAAMQ,IAAM5D,EWtjCxBiM,QXujCY7I,EAAMrF,KAAO,SAAWiO,EAAahM,EAAKjC,OWtjCtD,MXwjCQQ,KAAKyG,MAAMV,IAAI,eAAgB,SAAUtE,GACrCoD,EAAMQ,IAAM5D,EWtjCxBxD,KXujCY4G,EAAMrF,KWtjClB,kBX6jCM,SAAU/B,EAAQqD,EAAqBzD,GAE7C,YACAe,QAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,IYvlClE+C,EAAA,SZ+lCI7C,KY7lCJ,cZ8lCIwD,KAAM,WACF,OACIkM,KY5lCZ,KZ+lCI/I,QAAS,WY7lCb,GAAAC,GAAA7E,IZgmCQA,MAAKyG,MAAMV,IAAI,WAAY,SAAUtE,GACjCoD,EAAM8I,KAAOlM,EAAKkM,KAAKnI,QAAQ,MY/lC3C,YZimCQxF,KAAKyG,MAAMV,IAAI,aAAc,SAAUtE,GAC/BA,EAAKmM,KACDnM,EY/lCpBoM,GAAA/G,SAAAM,KAAA0G,WAAA9E,KAAAC,IAAA,EAAAnC,SAAAM,KAAA0G,WAAAhH,SAAAM,KAEA2G,aAAAjH,SAAAM,KAAA0G,YAAAhH,SAAAM,KACA2G,YZ8lCoBtM,EY5lCpBoM,GAAA/G,SAAAM,KAAAU,UAAAkB,KAAAC,IAAA,EAAAnC,SAAAM,KAAAU,UAAAhB,SAAAM,KAEAE,cAAAR,SAAAM,KAAAU,UAAAhB,SAAAM,KAAAU,UAAAhB,SAAAM,KACAE,kBZimCM,SAAU7J,EAAQqD,EAAqBzD,GAE7C,YaxmCA,SAAAwN,KbkoCI,OACImD,QACAC,SahoCR,EbioCQC,gBahoCR,EbioCQC,Qa/nCR,GbkmCA/P,OAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,Ga/mClE,IAAAmD,GAAA7D,EAAA,GAAA6D,IACAA,GAAAC,UAAAiN,cAAA/M,MAAA,IAAAC,OAAA,KAAAC,QAAAvD,EAAA,yGACAkD,EAAAC,UAAAkN,eAAAhN,MAAA,IAAAC,OAAA,KAAAC,QAAAvD,EAAA,+GACAkD,EAAAC,UAAAmN,cAAAjN,MAAA,KAAAC,OAAA,KAAAC,QAAAvD,EAAA,iHACAkD,EAAAC,UAAAoN,YAAAlN,MAAA,KAAAC,OAAA,KAAAC,QAAAvD,EAAA,iHAUA8C,EAAA,SbkoCI7C,KahoCJ,cbioCIwD,KAAM,WACF,MahoCRoJ,MbkoCIjG,QAAS,Wa/nCb,GAAAC,GAAA7E,IbkoCQA,MAAKyG,MAAMV,IAAI,YAAa,SAAUtE,GAClC,GAAI8J,GajoChBV,GbkoCY,KAAK,GAAIrH,KajoCrB+H,GbkoCgB1G,EAAMrB,GAAO+H,EajoC7B/H,KbooCQxD,KAAKyG,MAAMV,IAAI,OAAQ,SAAUtE,GAC7BoD,EAAMsJ,QAAU1M,EAAK+M,UaloCjC,EbmoCY3J,EAAMoJ,UaloClB,IbooCQjO,KAAKyG,MAAMV,IAAI,WAAY,SAAUtE,GAC7BoD,EAAMoJ,SAAW,GAAKxM,EAAKkM,OAC3B9I,EAAMoJ,SAAWxM,EAAKkM,KAAKc,MAAM,MaloCjDnC,ObmoCsC,GAAlBzH,EAAMoJ,UAAiBpJ,EaloC3CsJ,QAAAtJ,EAEAoJ,WAAApJ,EAAAsJ,QACA,GbioCYtJ,EAAM8B,KAAK9B,EAAMmJ,KAAMvM,EAAKiN,OACxBC,KAAMlN,EAAKkM,KAAOlM,EAAKkM,KAAKc,MAAM,MAAQ,GAAI/E,OAAM7E,Ea/nCpEoJ,UbgoCgBW,WAAYnN,Ea/nC5BmN,WbgoCgBC,SAAUhK,EAAMsJ,SAAW,eAAexM,KAAKF,Ea9nC/DkM,QbgoCgBlM,Ea/nChBqN,UAAAjK,EAAAqJ,gBAAAzM,EACAiN,UbkoCIpL,SACIyL,SAAU,SAAkBC,EAAUxL,GAClC,GAAI0D,GAAQ8H,EAAWhP,Ka/nCnCkO,ebgoCY,IAAa,GAAThH,Ea/nChB,CbgoCgB,GAAI+H,Ga/nCpB,EACAC,MAAA,EbgoCgB,IAAIhI,EAAQ,Ea/nC5B,CbgoCoB,IAAKA,EAAQlH,KAAKkO,gBAAiBhH,EAAQ8H,EAAU9H,KACjDgI,EAAMlP,KAAKgO,Ka/nCnC9G,KbgoCmCgI,Ea/nCnCN,YACAK,GbgoCoBjP,MAAKyG,MAAMlD,QAAQ,Oa9nCvC0L,OACA,Cb+nCoB,IAAK/H,EAAQ8H,EAAU9H,EAAQlH,KAAKkO,gBAAiBhH,KACjDgI,EAAMlP,KAAKgO,Ka9nCnC9G,Kb+nCmCgI,Ea9nCnCN,YACAK,Gb+nCoBjP,MAAKyG,MAAMlD,QAAQ,Ka7nCvC0L,QAGAjP,MAAAyG,MAAAlD,QAAAC,GACA,UbkoCM,SAAU/F,EAAQqD,EAAqBzD,GAE7C,YACAe,QAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,Ic5sClE+C,EAAA,Sd+tCG7C,Kc7tCH,Wd8tCGwD,KAAM,WACH,OACG0N,Oc7tCT,Kd8tCSC,Qc5tCT,Id+tCGxK,QAAS,Wc7tCZ,GAAAC,GAAA7E,IdguCMA,MAAKyG,MAAMV,IAAI,SAAU,SAAUtE,GAEhCoD,EAAMsK,OAAS1N,GAAQA,EAAK6K,OAAS7K,Ec/tC9C,KdguCaoD,Ec/tCbsK,QAAAtK,EAAAsK,OAAAE,QAAA,SAAAC,EAAAZ,GdguCYY,EAAMC,GAAKD,EAAMC,Ic9tC7Bb,OdmuCGc,gBA8EG,SAAU/R,EAAQqD,EAAqBzD,GAE7C,YACAe,QAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,Ieh0ClE+C,EAAA,Sfs1CI7C,Kep1CJ,Yfq1CIwD,KAAM,WACF,OACIgO,WACAC,WACAC,eAGR/K,QAAS,Wep1Cb,GAAAC,GAAA7E,Ifu1CQA,MAAKyG,MAAMV,IAAI,SAAU,SAAUtE,GAC/BoD,EAAM4K,QAAUhO,Eet1C5BgO,Qfu1CY5K,EAAM6K,QAAUjO,Eet1C5BiO,Qfu1CY7K,EAAM8K,UAAYlO,Eet1C9BkO,Yfw1CQ3P,KAAKyG,MAAMV,IAAI,SAAU,SAAUtE,GAC/BoD,EAAM4K,WACN5K,EAAM8K,YACN,IAAI1H,GAAKxG,EAAKmC,SACTnC,GAAKmC,QACNqE,EAAGc,MAAQtH,Eet1C3BxD,Kfu1CgBgK,EAAGkB,SAAW1H,Eet1C9BmO,iBfw1CY3H,EAAGiB,UAAYR,UAAS,GAAIzE,OAAO0E,UAAY,Iet1C3D,Ifu1CYV,EAAG4H,QAAU5H,EAAGiB,UAAYjB,Eet1CxCkB,Sfu1CYtE,EAAM6K,Qet1ClBzH,Of61CM,SAAUxK,EAAQqD,EAAqBzD,GAE7C,YACAe,QAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,IgB91ClEV,EAAA,GACA0D,IAAAS,UAAA,gBAAAnE,EAAA,KAEAyD,EAAA,ShBg5CE7C,KgB94CF,WhB+4CEuK,OACE5E,MgB74CJxF,QhB+4CEqD,KAAM,WACJ,OACEgH,IAAKC,UAAS,GAAIzE,OAAO0E,UAAY,IgB94C3C,IhB+4CMmH,YgB74CN,chB64CmB9P,KAAK+P,QAAQC,SAASC,gBAIvCrH,UACEC,YAAa,WACX,MAAO7I,MAAK4D,MAAM0F,SAAWtJ,KAAK4D,MAAM0F,QAAQ4G,gBAAkBlQ,KAAK4D,MAAM0F,QAAQ4G,gBAAgB1K,QAAQ,MAAO,UAAYxF,KAAK4D,MAAM0F,SAAWtJ,KAAK4D,MAAM0F,QAAQ6G,iBAAmBnQ,KAAK4D,MAAM0F,QAAQ6G,iBAAiB3K,QAAQ,MAAO,UgB/4CrP,IhBi5CIsD,SAAU,WgB/4Cd,GAAAjE,GAAA7E,IhBu5CM,OALIA,MAAK4D,MAAMmF,OACb/B,OAAOe,WAAW,WAChBlD,EAAM4D,IAAMC,UAAS,GAAIzE,OAAO0E,UAAY,IgBj5CtD,KACA,KhBm5CaK,KAAKC,IAAIP,UAAU1I,KAAKyI,IAAMzI,KAAK4D,MAAMsF,WAAalJ,KAAK4D,MAAMuF,SAAW,IAAK,IgBj5C9F,IhBm5CIC,SAAU,WACR,GAAIC,GAAMrJ,KAAK4D,MAAM0F,QAAUZ,SAAS1I,KAAK4D,MAAM0F,QAAQC,WAAY,IgBj5C7E,ChBk5CM,OAAOC,OAAMH,GAAO,EgBj5C1BA,MhBw5CM,SAAU5L,EAAQqD,EAAqBzD,GAE7C,YACAe,QAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,IiB79ClE+C,EAAA,SjB0+CI7C,KiBx+CJ,gBjB6+CM,SAAUR,EAAQqD,EAAqBzD,GAE7C,YACAe,QAAOC,eAAeyC,EAAqB,cAAgB/C,OAAO,GAC7C,IAAIqS,GAAsC/S,EAAoB,EkB5/CnF2J,QAAOqJ,EAAI,GAAID,GAAA,GACXE,QAASF,EAAA,KACVG,OAAO,SlBmgDJ,SAAU9S,EAAQqD,EAAqBzD,GAE7C,YmB9/Ce,SAASmT,GAAgBC,GACpC,IAAKzJ,OAAO0J,UAAW,OAAO,CAE9B,IAAIC,GAAS3Q,KACT4Q,IACJ5Q,MAAKmF,QAAU,WACXQ,QAAQC,IAAI,gCAEhB5F,KAAK6Q,QAAU,SAAUC,GACrBnL,QAAQC,IAAI,oBAAqBkL,GAErC,KAAK,GAAItN,KAAOiN,GACZzQ,KAAKwD,GAAOiN,EAAIjN,EAyDpB,OAxDAxD,MAAK+Q,UAAY,SAAUrL,GACnBiL,EAAO1L,wBACPU,QAAQC,IAAR,6BAAyC+K,EAAO1L,sBAAhD,KAA2ES,GAC3EqC,WAAW,WACPpC,QAAQC,IAAI,oCACZ+K,EAAOK,QACRL,EAAO1L,yBAGlBjF,KAAK2D,KAAO,SAAUsN,GACdL,EACAA,EAAMhK,KAAKqK,GAEXN,EAAOO,GAAGvN,KAAK2B,KAAK6L,UAAUF,KAEtCjR,KAAKgR,KAAO,WACRL,EAAOO,GAAK,GAAIR,WAAUC,EAAO7L,IAAK6L,EAAO3L,UAC7C2L,EAAOO,GAAGhM,OAAS,SAASQ,GACxB,GAAIkL,EAAM,CAEN,IADA,GAAIK,UACKA,EAAQL,EAAMQ,SACnBT,EAAOO,GAAGvN,KAAK2B,KAAK6L,UAAUF,GAClCL,GAAO,KAEXD,EAAOzL,QAAUyL,EAAOzL,OAAOQ,IAEnCiL,EAAOO,GAAG9L,UAAYuL,EAAOvL,UAC7BuL,EAAOO,GAAG/L,QAAU,SAAUO,GAE1B,OADAkL,KACQlL,GACJ,IAAK,KACDC,QAAQC,IAAI,oBACZ,MACJ,SACI+K,EAAOI,UAAUrL,GAGzBiL,EAAOxL,SAAWwL,EAAOxL,QAAQO,IAErCiL,EAAOO,GAAGL,QAAU,SAAUnL,GAC1B,OAAQA,EAAE2L,MACN,IAAK,eACDV,EAAOI,UAAUrL,EACjB,MACJ,SACIiL,EAAOE,SAAWF,EAAOE,QAAQnL,MAKjD1F,KAAK2M,OAAS,WACVgE,EAAOO,GAAGL,QAAUF,EAAOO,GAAG/L,QAAUwL,EAAOO,GAAG9L,UAAY,KAC9DuL,EAAOO,GAAGI,QACVX,EAAOK,QAEXhR,KAAKgR,OACEhR,KAhFXc,EAAA,EAAA0P,GnB8lDQ,CAEF,SAAU/S,EAAQD,EAASH,GoBhmDjCI,EAAAD,QAAAH,EAAA0B,EAAA,qBpBsmDM,SAAUtB,EAAQD,EAASH,GqBtmDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,GAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,SrB6mDM,SAAUC,EAAQD,EAASH,GsB1nDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,GAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,StBioDM,SAAUC,EAAQD,EAASH,GuB9oDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,GAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,SvBqpDM,SAAUC,EAAQD,EAASH,GwBlqDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,GAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,SxByqDM,SAAUC,EAAQD,EAASH,GyBtrDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,GAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,SzB6rDM,SAAUC,EAAQD,EAASH,G0B1sDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,GAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,S1BitDM,SAAUC,EAAQD,EAASH,G2B9tDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,GAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,S3BquDM,SAAUC,EAAQD,EAASH,G4BlvDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,IAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,S5ByvDM,SAAUC,EAAQD,EAASH,G6BtwDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,IAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,S7B6wDM,SAAUC,EAAQD,EAASH,G8B1xDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,IAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,S9BiyDM,SAAUC,EAAQD,EAASH,G+B9yDjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,IAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,S/BqzDM,SAAUC,EAAQD,EAASH,GgCl0DjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,IAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,ShCy0DM,SAAUC,EAAQD,EAASH,GiCt1DjC,GAAAkU,GAAAlU,EAAA,GAEAA,EAAA,IAEAA,EAAA,IAEA,KAEA,KAEA,KAGAI,GAAAD,QAAA+T,EAAA/T,SjC61DM,SAAUC,EAAQD,GkC12DxBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OAAAA,EAAA,OACAE,YAAA,QACGF,EAAA,cACHE,YAAA,yBACGL,EAAAM,GAAA,KAAAH,EAAA,aACHE,YAAA,qBACG,GAAAL,EAAAM,GAAA,KAAAH,EAAA,MACHE,YAAA,aACAE,OACAC,MAAA,WAEGR,EAAAM,GAAAN,EAAAS,GAAAT,EAAA/K,MAAA1C,eAAA2E,UAAA,GAAAzE,OAAA0E,UAAA,gBACF/I,qBlCg3DK,SAAUnC,EAAQD,GmC73DxBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OACAI,OACAxC,GAAA,cAEGiC,EAAA/K,MAAA/E,WAKA8P,EAAAU,KALAP,EAAA,kBACHI,OACAtI,MAAA+H,EAAA/K,MAAAvE,UACAyH,WAAA6H,EAAA/K,MAAAtE,kBAEGqP,EAAAM,GAAA,KAAAH,EAAA,qBAAAH,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,oBACGL,EAAA/K,MAAA/E,WAAA8P,EAAAU,KAAAP,EAAA,cAAAH,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,kBACAE,OACAxC,GAAA,kBAEGoC,EAAA,WACHI,OACA9T,KAAA,SAEGuT,EAAAM,GAAA,KAAAH,EAAA,OACHQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,OAAAyT,EAAA/K,MAAAxE,MACAoQ,WAAA,iBAEAN,OACAxC,GAAA,gBAEGoC,EAAA,iCACF/R,qBnCm4DK,SAAUnC,EAAQD,GoCn6DxBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAD,GAAA,QAAAG,EAAA,OAAAA,EAAA,OAAAH,EAAAM,GAAAN,EAAAS,GAAAT,EAAAnE,gBAAAmE,EAAAM,GAAA,KAAAH,EAAA,OACAE,YAAA,iDACGL,EAAAc,GAAAd,EAAA,iBAAAe,EAAA7D,GACH,MAAAiD,GAAA,KACAE,YAAA,oBACA9H,OACA2B,MAAA6G,EAAA7G,OAEArF,IACAmM,MAAA,SAAAC,GACAjB,EAAA/K,MAAAlD,QAAAgP,EAAA/O,SAGKmO,EAAA,QACLI,OACA9T,KAAAsU,EAAAjM,SAEK,QACFkL,EAAAU,MACFtS,qBpCy6DK,SAAUnC,EAAQD,GqC77DxBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OAAAH,EAAA,YAAAG,EAAA,iBACAI,OACAnO,MAAA4N,EAAA5N,SAEG+N,EAAA,OAAAA,EAAA,OACHQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA5N,MAAA,MACAyO,WAAA,gBAEAR,YAAA,YACAa,aACApR,OAAA,QACAoG,SAAA,YAEGiK,EAAA,OACHE,YAAA,eACGF,EAAA,OACHQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA,SACAa,WAAA,aAEAR,YAAA,aACGF,EAAA,OACHE,YAAA,eACA9H,OACA1I,MAAAmQ,EAAA1I,SAAA,KAEAiJ,OACA/L,KAAA,cACA2M,iBACA7J,SAAA0I,EAAA1I,UAEA8J,gBAAA,IACAC,gBAAA,SAEGrB,EAAAM,GAAAN,EAAAS,GAAAT,EAAA1I,UAAA,SAAA0I,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,QACGF,EAAA,MACHE,YAAA,eACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA/K,MAAA9B,WAAA6M,EAAA5N,MAAAsF,YAAA,IAAAsI,EAAAS,GAAAT,EAAA5N,MAAAmF,UAAAyI,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,qBACGL,EAAAM,GAAAN,EAAAS,GAAAvJ,SAAA8I,EAAA5N,MAAAuF,SAAA,oBAAAqI,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,QACGL,EAAA5N,MAAA,QAAA+N,EAAA,OACHE,YAAA,oBACGL,EAAA5N,MAAA,UAAA+N,EAAA,OACHE,YAAA,cACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA5N,MAAAkP,cAAAtB,EAAAU,KAAAV,EAAAM,GAAA,KAAAN,EAAA5N,MAAA0F,QAAA,MAAAqI,EAAA,OACHE,YAAA,cACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA5N,MAAA0F,QAAAyJ,UAAAvB,EAAAU,KAAAV,EAAAM,GAAA,KAAAN,EAAA5N,MAAA0F,QAAA,SAAAqI,EAAA,OACHE,YAAA,cACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA5N,MAAA0F,QAAAwB,aAAA0G,EAAAU,KAAAV,EAAAM,GAAA,KAAAN,EAAA5N,MAAA0F,QAAA,QAAAqI,EAAA,OACHE,YAAA,cACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA5N,MAAA0F,QAAA0J,SAAA,IAAAxB,EAAAS,GAAAT,EAAA5N,MAAA0F,QAAAlF,SAAAoN,EAAAU,KAAAV,EAAAM,GAAA,KAAAN,EAAA5N,MAAA0F,QAAA,KAAAqI,EAAA,OACHE,YAAA,cACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA5N,MAAA0F,QAAA2J,MAAA,KAAAzB,EAAAS,GAAAT,EAAA5N,MAAA0F,QAAA4J,cAAA1B,EAAAU,OAAAP,EAAA,OACHE,YAAA,oBACGL,EAAA5N,MAAA,UAAA+N,EAAA,OACHE,YAAA,cACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA5N,MAAAkP,cAAAtB,EAAAU,OAAAV,EAAAM,GAAA,KAAAN,EAAA5N,MAAA,QAAA+N,EAAA,OACHE,YAAA,iCACAE,OACAxC,GAAA,WAAAiC,EAAA5N,MAAAuP,QACAC,YAAA,WACAC,gBAAA,UAEG1B,EAAA,OACHE,YAAA,iBACAE,OACA/L,KAAA,YAEGwL,EAAAc,GAAAd,EAAA,kBAAA/S,GACH,MAAAkT,GAAA,OACAE,YAAA,gBACAyB,OACApN,OAAA,GAAAzH,KAEKkT,EAAA,OACLE,YAAA,UACAE,OACAwB,IAAA,qBAAA/B,EAAA5N,MAAAuP,QAAA,QAAA1U,EAAA,GACAqO,IAAA,WAGG0E,EAAAM,GAAA,KAAAH,EAAA,KACHE,YAAA,wBACAE,OACAyB,KAAA,YAAAhC,EAAA5N,MAAAuP,QACAnN,KAAA,SACAyN,aAAA,UAEG9B,EAAA,QACHE,YAAA,6BACAE,OACA2B,cAAA,UAEGlC,EAAAM,GAAA,KAAAH,EAAA,QACHE,YAAA,YACGL,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAH,EAAA,KACHE,YAAA,wBACAE,OACAyB,KAAA,YAAAhC,EAAA5N,MAAAuP,QACAnN,KAAA,SACAyN,aAAA,UAEG9B,EAAA,QACHE,YAAA,6BACAE,OACA2B,cAAA,UAEGlC,EAAAM,GAAA,KAAAH,EAAA,QACHE,YAAA,YACGL,EAAAM,GAAA,cAAAN,EAAAU,OAAAV,EAAAM,GAAA,KAAAH,EAAA,KACHQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA,YACAa,WAAA,gBAEAsB,UACA7N,UAAA0L,EAAAS,GAAAT,EAAA3I,uBAEG,IACFjJ,qBrCm8DK,SAAUnC,EAAQD,GsCnkExBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OACAQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA/K,MAAA,MACA4L,WAAA,gBAEAN,OACAxC,GAAA,YAEGoC,EAAA,OACHE,YAAA,YACAxL,IACAmM,MAAA,SAAAC,GACAjB,EAAA/K,MAAAlD,QAAA,YAGGoO,EAAA,SAAcH,EAAA/K,MAAA/E,WAId8P,EAAAU,KAJcP,EAAA,QACjBI,OACA9T,KAAA,cAEGuT,EAAAM,GAAA,IAAAN,EAAAS,GAAAT,EAAAzI,SAAA,KAAAyI,EAAAM,GAAA,KAAAH,EAAA,gBAAAH,EAAAM,GAAA,KAAAH,EAAA,aACHI,OACAnO,MAAA4N,EAAA5N,SAEG4N,EAAAM,GAAA,KAAAH,EAAA,gBAAAH,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,6DACAE,OACAxC,GAAA,aAEGoC,EAAA,KACHQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA,OACAa,WAAA,WAEAR,YAAA,oBACAxL,IACAmM,MAAA,SAAAC,GACAjB,EAAA/K,MAAAlD,QAAA,KAAAiO,EAAAtG,cAGGyG,EAAA,QACHI,OACA9T,KAAA,eAEG,GAAAuT,EAAAM,GAAA,KAAAN,EAAAc,GAAAd,EAAA,iBAAAe,EAAA7D,GACH,MAAAiD,GAAA,UACAE,YAAA,kBACAyB,MAAA,OAAAf,EAAA7G,MACAqG,OACAvS,KAAA,UAEA6G,IACAmM,MAAA,SAAAC,GACAjB,EAAA/K,MAAAlD,QAAAgP,EAAA7G,WAGK8F,EAAAM,GAAAN,EAAAS,GAAAM,EAAAnM,YACFoL,EAAAM,GAAA,KAAAH,EAAA,KACHQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA,OACAa,WAAA,WAEAR,YAAA,oBACAxL,IACAmM,MAAA,SAAAC,GACAjB,EAAA/K,MAAAlD,QAAA,OAAAiO,EAAAtG,cAGGyG,EAAA,QACHI,OACA9T,KAAA,iBAEG,YACF2B,qBtCykEK,SAAUnC,EAAQD,GuCxpExBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OACAI,OACAxC,GAAA,YAEGoC,EAAA,qBAAAH,EAAAM,GAAA,KAAAN,EAAA/B,QAAA,UAAAkC,EAAA,OACHE,YAAA,gBACGF,EAAA,OACHE,YAAA,kBACAa,aACApR,OAAA,UAEGqQ,EAAA,OACHE,YAAA,gCACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA/B,QAAAmE,kBAAApC,EAAAM,GAAA,KAAAN,EAAA/K,MAAA,gBAAAkL,EAAA,OACHE,YAAA,uCACAa,aACApR,OAAA,UAEGqQ,EAAA,OACHE,YAAA,oBACAa,aACAmB,aAAA,OAEA9B,OACAC,MAAA,QACAuB,IAAA,0BAAA/B,EAAA/B,QAAAqE,YAAA,OAAAtC,EAAA/B,QAAAsE,eAEGpC,EAAA,OACHE,YAAA,6BACGF,EAAA,MACHE,YAAA,4BACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA/B,QAAAqE,sBAAAtC,EAAAU,KAAAV,EAAAM,GAAA,KAAAH,EAAA,aACHI,OACAnO,MAAA4N,EAAA9B,WAEG8B,EAAAM,GAAA,KAAAH,EAAA,aACHI,OACAnO,MAAA4N,EAAA7B,cAEG,IACF/P,qBvC8pEK,SAAUnC,EAAQD,EAASH,GwCvsEjCI,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OACAQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAAnG,SAAA,GACAgH,WAAA,gBAEAK,aACAsB,YAAA,QACAC,aAAA,WAEGtC,EAAA,OACHe,aACAwB,SAAA,QACAC,UAAA,OAEApC,OACAwB,IAAAlW,EAAA,IACAgE,MAAA,MACAC,OAAA,MACA8S,OAAA,IACAC,OAAA,UACAvH,IAAA,MAEG0E,EAAAM,GAAA,KAAAH,EAAA,OACHI,OACA9T,KAAA,UAEAoI,IACAmM,MAAA,SAAAC,GACAjB,EAAA5E,YAAA6F,OAGGd,EAAA,QACHI,OACAvF,MAAA,SACA8H,OAAA,WACAxH,IAAA,WAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,cACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,cACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,gBACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,cACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,cACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,gBACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,gBACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,gBACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,kBACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,gBACAxH,IAAA,OAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,SACA8H,OAAA,YACAxH,IAAA,aAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,SACA8H,OAAA,YACAxH,IAAA,aAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,SACA8H,OAAA,aACAxH,IAAA,cAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,SACA8H,OAAA,aACAxH,IAAA,cAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,SACA8H,OAAA,WACAxH,IAAA,UAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,SACA8H,OAAA,YACAxH,IAAA,gBAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,mDACAxH,IAAA,UAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,kEACAxH,IAAA,UAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,4CACAxH,IAAA,eAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,kDACAxH,IAAA,WAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,gFACAxH,IAAA,QAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,0FACAxH,IAAA,WAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,iFACAxH,IAAA,UAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,wEACAxH,IAAA,UAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,SACA8H,OAAA,YACAxH,IAAA,QAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,gBACAxH,IAAA,SAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,gBACAxH,IAAA,WAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,iBACAxH,IAAA,YAEG0E,EAAAM,GAAA,KAAAH,EAAA,QACHI,OACAvF,MAAA,OACA8H,OAAA,kBACAxH,IAAA,eAGClN,qBxC6sEK,SAAUnC,EAAQD,GyCp6ExBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OACAQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA,IACAa,WAAA,QAEAR,YAAA,oCACAyB,MAAA9B,EAAAhS,OACGmS,EAAA,UACHE,YAAA,QACAE,OACAvS,KAAA,SACA+U,eAAA,QACAC,aAAA,SAEAnO,IACAmM,MAAA,SAAAC,GACAjB,EAAAnM,IAAA,OAGGsM,EAAA,QACHI,OACA2B,cAAA,UAEGlC,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAH,EAAA,KAAAH,EAAAM,GAAAN,EAAAS,GAAAT,EAAAnM,WACFzF,qBzC06EK,SAAUnC,EAAQD,G0Cr8ExBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OACAQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA5N,MAAA,MACAyO,WAAA,gBAEAR,YAAA,SACGF,EAAA,OACHE,YAAA,eACGF,EAAA,MACHE,YAAA,eACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA5N,MAAAmF,UAAAyI,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,cACGL,EAAAM,GAAAN,EAAAS,GAAAT,EAAA5N,MAAAkP,cAAAtB,EAAAM,GAAA,KAAAH,EAAA,OACHQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA,SACAa,WAAA,aAEAR,YAAA,aACGF,EAAA,OACHE,YAAA,eACA9H,OACA1I,MAAAmQ,EAAA1I,SAAA,KAEAiJ,OACA/L,KAAA,cACA2M,iBACA7J,SAAA0I,EAAA1I,UAEA8J,gBAAA,IACAC,gBAAA,SAEGrB,EAAAM,GAAAN,EAAAS,GAAAT,EAAA1I,UAAA,SAAA0I,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,QACGF,EAAA,OACHE,YAAA,QACGL,EAAAM,GAAA,mBAAAN,EAAAS,GAAAT,EAAA/K,MAAA1C,eAAAyN,EAAA5N,MAAAsF,YAAA,MAAAsI,EAAAS,GAAAT,EAAA/K,MAAA9B,WAAA6M,EAAA5N,MAAAiM,UAAA,kBAAA2B,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,mBACGL,EAAAM,GAAA,mBAAAN,EAAAS,GAAAvJ,SAAA8I,EAAA5N,MAAAuF,SAAA,oBAAAqI,EAAAM,GAAA,KAAAN,EAAA5N,MAAA,QAAA+N,EAAA,OACHE,YAAA,iBACAE,OACAxC,GAAA,WAAAiC,EAAA5N,MAAAuP,QACAC,YAAA,WACAC,gBAAA,UAEG1B,EAAA,OACHE,YAAA,iBACAE,OACA/L,KAAA,YAEGwL,EAAAc,GAAAd,EAAA,kBAAA/S,GACH,MAAAkT,GAAA,OACAE,YAAA,gBACAyB,OACApN,OAAA,GAAAzH,KAEKkT,EAAA,OACLE,YAAA,UACAE,OACAwB,IAAA,qBAAA/B,EAAA5N,MAAAuP,QAAA,QAAA1U,EAAA,GACAqO,IAAA,WAGG0E,EAAAM,GAAA,KAAAH,EAAA,KACHE,YAAA,wBACAE,OACAyB,KAAA,YAAAhC,EAAA5N,MAAAuP,QACAnN,KAAA,SACAyN,aAAA,UAEG9B,EAAA,QACHE,YAAA,6BACAE,OACA2B,cAAA,UAEGlC,EAAAM,GAAA,KAAAH,EAAA,QACHE,YAAA,YACGL,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAH,EAAA,KACHE,YAAA,wBACAE,OACAyB,KAAA,YAAAhC,EAAA5N,MAAAuP,QACAnN,KAAA,SACAyN,aAAA,UAEG9B,EAAA,QACHE,YAAA,6BACAE,OACA2B,cAAA,UAEGlC,EAAAM,GAAA,KAAAH,EAAA,QACHE,YAAA,YACGL,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAH,EAAA,KACHgC,UACA7N,UAAA0L,EAAAS,GAAAT,EAAA5N,MAAA0F,QAAA4G,sBAEGsB,EAAAU,OAAAV,EAAAM,GAAA,KAAAH,EAAA,MAAAH,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,eACGF,EAAA,KACHQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA,YACAa,WAAA,gBAEAsB,UACA7N,UAAA0L,EAAAS,GAAAT,EAAA3I,qBAGCjJ,qB1C28EK,SAAUnC,EAAQD,G2C3jFxBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAD,GAAA,OAAAG,EAAA,OACAE,YAAA,aACAE,OACAxC,GAAA,kBAEGiC,EAAA/K,MAAA/E,WAAA8P,EAAAU,KAAAP,EAAA,MAAAH,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAN,EAAAc,GAAAd,EAAA,gBAAAlC,EAAA7Q,GACH,MAAAkT,GAAA,OACAE,YAAA,SACKF,EAAA,KACLE,YAAA,8EACAxL,IACAmM,MAAA,SAAAC,GACAA,EAAA7H,kBACA4G,EAAApC,OAAAoC,EAAApC,QAAAE,EAAAC,IAAA,EAAAD,EAAAC,OAGKoC,EAAA,OACLE,YAAA,yCACKF,EAAA,MACLE,YAAA,SACKL,EAAAM,GAAAN,EAAAS,GAAA3C,EAAAmF,SAAAjD,EAAAM,GAAA,KAAAH,EAAA,SAAAH,EAAAM,GAAAN,EAAAS,GAAAT,EAAA/K,MAAA1C,eAAAuL,EAAApG,mBAAAsI,EAAAM,GAAA,KAAAN,EAAApC,QAAAE,EAAAC,GAAAoC,EAAA,aACLI,OACAnO,MAAA0L,EAAA1L,SAEK4N,EAAAU,MAAA,MACF,GAAAV,EAAAU,MACFtS,qB3CikFK,SAAUnC,EAAQD,G4C5lFxBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OACAE,YAAA,gEACGL,EAAAkD,GAAA,GAAAlD,EAAAM,GAAA,KAAAH,EAAA,OACHE,YAAA,2BACAE,OACAxC,GAAA,YAEGoC,EAAA,MACHE,YAAA,sBACGL,EAAAc,GAAAd,EAAA,eAAArH,GACH,MAAAqH,GAAAtH,SAAAC,GAuBKqH,EAAAU,KAvBLP,EAAA,MACAE,YAAA,WACAyB,OACApN,OAAAiE,EAAA9D,IAEAA,IACAmM,MAAA,SAAAC,GACAjB,EAAApH,aAAAD,OAGKwH,EAAA,KACLE,YAAA,WACAE,OACAyB,KAAA,OAEKrJ,EAAA,KAAAwH,EAAA,QACLI,OACA9T,KAAAkM,EAAA7D,QAEKkL,EAAAU,KAAAP,EAAA,QACLgC,UACA7N,UAAA0L,EAAAS,GAAAT,EAAAnH,YAAAF,QAEK,QACFqH,EAAAM,GAAA,KAAAN,EAAA/K,MAAA,SAAAkL,EAAA,MACHE,YAAA,sBACGL,EAAAc,GAAAd,EAAA,oBAAArH,GACH,MAAAqH,GAAAtH,SAAAC,GAuBKqH,EAAAU,KAvBLP,EAAA,MACAE,YAAA,WACAyB,OACApN,OAAAiE,EAAA9D,IAEAA,IACAmM,MAAA,SAAAC,GACAjB,EAAApH,aAAAD,OAGKwH,EAAA,KACLE,YAAA,WACAE,OACAyB,KAAA,OAEKrJ,EAAA,KAAAwH,EAAA,QACLI,OACA9T,KAAAkM,EAAA7D,QAEKkL,EAAAU,KAAAP,EAAA,QACLgC,UACA7N,UAAA0L,EAAAS,GAAAT,EAAAnH,YAAAF,QAEK,QACFqH,EAAAU,UACFtS,iBAAA,WAA+B,GAAA4R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CACvE,OAAAE,GAAA,UACAE,YAAA,sCACAE,OACAvS,KAAA,SACAmV,cAAA,WACAC,cAAA,UACAC,gBAAA,SACAC,gBAAA,QACAN,aAAA,uBAEG7C,EAAA,QACHE,YAAA,8B5ComFM,SAAUpU,EAAQD,G6C/qFxBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAD,GAAAvD,SAAA,EAAA0D,EAAA,SACAE,YAAA,oBACAyB,OACAyB,cAAAvD,EAAA/K,MAAA/E,cAEGiQ,EAAA,QAAAH,EAAAc,GAAAd,EAAA,cAAAtC,EAAAF,GACH,MAAA2C,GAAA,MACAnO,IAAAwL,EACAsE,OACA0B,eAAAhG,GAAAwC,EAAAtD,iBAEA7H,IACAmM,MAAA,SAAAC,GACAvD,EAAAN,YAAA4C,EAAAzC,SAAAC,OAGKwC,EAAAc,GAAApD,EAAA,cAAA+F,EAAAvG,GACL,MAAAiD,GAAA,MACAnO,IAAAkL,EACA4E,OACA4B,aAAAlG,GAAAwC,EAAAtD,iBAAA,GAAAQ,GAAA,GAAA8C,EAAArD,WAEOqD,EAAAM,GAAAN,EAAAS,GAAAgD,QACFzD,EAAAM,GAAA,KAAA5C,EAAAN,YAAA,GAAA4C,EAAArD,QAAAwD,EAAA,MACLE,YAAA,2BACKF,EAAA,KACLE,YAAA,oBACAxL,IACAmM,MAAA,SAAAC,GACAA,EAAA7H,kBACA4G,EAAAzC,SAAAC,EAAA,YAGK2C,EAAA,QACLI,OACA9T,KAAA,iBAEK,GAAAuT,EAAAM,GAAA,KAAAH,EAAA,KACLQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAmR,EAAA,SACAmD,WAAA,iBAEAR,YAAA,oBACAxL,IACAmM,MAAA,SAAAC,GACAA,EAAA7H,kBACA4G,EAAA/K,MAAAlD,QAAA,UAGKoO,EAAA,QACLI,OACA9T,KAAA,eAEK,GAAAuT,EAAAM,GAAA,KAAAH,EAAA,KACLQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAmR,EAAA,SACAmD,WAAA,iBAEAR,YAAA,oBACAxL,IACAmM,MAAA,SAAAC,GACAA,EAAA7H,kBACA4G,EAAA/K,MAAAlD,QAAA,YAGKoO,EAAA,QACLI,OACA9T,KAAA,iBAEK,GAAAuT,EAAAM,GAAA,KAAAH,EAAA,KACLE,YAAA,oBACAxL,IACAmM,MAAA,SAAAC,GACAA,EAAA7H,kBACA4G,EAAAzC,SAAAC,EAAA,aAGK2C,EAAA,QACLI,OACA9T,KAAA,kBAEK,KAAAuT,EAAAU,MAAA,QACFV,EAAAU,MACFtS,qB7CqrFK,SAAUnC,EAAQD,G8C7wFxBC,EAAAD,SAAgBmC,OAAA,WAAmB,GAAA6R,GAAAxR,KAAayR,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,CAC1E,OAAAE,GAAA,OACAQ,aACAlU,KAAA,OACAmU,QAAA,SACArU,MAAAyT,EAAA,KACAa,WAAA,SAEAR,YAAA,SACGF,EAAA,OACHE,YAAA,aACA8B,UACA7N,UAAA0L,EAAAS,GAAAT,EAAA7D,YAGC/N","file":"skin.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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/******/\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 16);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nmodule.exports = common;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Vue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return root; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__websocket_js__ = __webpack_require__(17);\nvar common = __webpack_require__(1);\n\ncommon.Icon.register({ \"skinfocus\": { \"width\": 2048, \"height\": 1792, \"paths\": [{ \"d\": \"M1792 1248v-960q0-13-9.5-22.5t-22.5-9.5h-1600q-13 0-22.5 9.5t-9.5 22.5v960q0 13 9.5 22.5t22.5 9.5h1600q13 0 22.5-9.5t9.5-22.5zM1920 288v960q0 66-47 113t-113 47h-736v128h352q14 0 23 9t9 23v64q0 14-9 23t-23 9h-832q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h352v-128h-736q-66 0-113-47t-47-113v-960q0-66 47-113t113-47h1600q66 0 113 47t47 113z\" }] } });\n\nvar Vue = common.Vue;\n\n// Registrieren aller Komponenten:\nVue.component('o2w-event', __webpack_require__(31));\nVue.component('o2w-textmenu', __webpack_require__(28));\nVue.component('o2w-textarea', __webpack_require__(27));\nVue.component('o2w-actual', __webpack_require__(30));\nVue.component('o2w-timer', __webpack_require__(29));\nVue.component('o2w-navigation', __webpack_require__(22));\nVue.component('o2w-remote', __webpack_require__(24));\nVue.component('o2w-osd', __webpack_require__(23));\nVue.component('o2w-statusmessage', __webpack_require__(26));\nVue.component('o2w-overview', __webpack_require__(32));\nVue.component('o2w-replaycontrol', __webpack_require__(25));\n\nvar root = {\n data: {\n isOnlyView: /[?&]onlyView/.test(location.search), // reine Anzeige ohne direkte Interaktion über den Client\n isActive: false, // ist der Client am VDR als aktive angemeldet\n skinAttached: false,\n hasChannelLogos: false,\n osdOn: false,\n menuItems: [], //\n menuItemsRight: [],\n keyMap: {\n 38: 'Up',\n 40: 'Down',\n 13: 'Ok',\n 8: 'Back',\n 27: 'Back',\n 37: 'Left',\n 39: 'Right',\n 48: '0',\n 49: '1',\n 50: '2',\n 51: '3',\n 52: '4',\n 53: '5',\n 54: '6',\n 55: '7',\n 56: '8',\n 57: '9'\n /*\n Up\n Down\n Menu\n Ok\n Back\n Left\n Right\n Red\n Green\n Yellow\n Blue\n 0\n 1\n 2\n 3\n 4\n 5\n 6\n 7\n 8\n 9\n Info\n Play/Pause\n Play\n Pause\n Stop\n Record\n FastFwd\n FastRew\n Next\n Prev\n Power\n Channel+\n Channel-\n PrevChannel\n Volume+\n Volume-\n Mute\n Audio\n Subtitles\n Schedule\n Channels\n Timers\n Recordings\n Setup\n Commands\n User0\n User1\n User2\n User3\n User4\n User5\n User6\n User7\n User8\n User9\n _Setup\n */\n }\n },\n render: function render(h) {\n return h(__webpack_require__(20));\n },\n methods: {\n sendKey: function sendKey(key, repeat) {\n this.$socket.send({\n event: \"keypress\",\n object: {\n \"key\": key,\n \"repeat\": repeat || 1\n }\n });\n },\n mapKey: function mapKey(keyString) {\n var key = this.keyMap[keyString];\n if (key) this.sendKey(key);\n },\n formatDateTime: function formatDateTime(unixTime) {\n var d = new Date(unixTime * 1000); // - this.timeOffset\n return d.toLocaleDateString('de-DE', {\n weekday: 'short',\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n }) + ' ' + new String(100 + d.getHours()).slice(1) + ':' + new String(100 + d.getMinutes()).slice(1);\n },\n formatTime: function formatTime(unixTime) {\n var d = new Date(unixTime * 1000); // - this.timeOffset\n return new String(100 + d.getHours()).slice(1) + ':' + new String(100 + d.getMinutes()).slice(1);\n }\n /*,\n formatDate(unixTime) {\n var d = new Date(unixTime * 1000); // - this.timeOffset\n return d.toLocaleDateString('de-DE', { weekday: 'short', year: 'numeric', month: 'long', day: 'numeric' });\n }*/\n\n },\n created: function created() {\n var _this = this;\n\n try {\n this.$socket = new __WEBPACK_IMPORTED_MODULE_0__websocket_js__[\"a\" /* default */]({\n url: \"ws://\" + location.host,\n protocol: \"osd2vdr\",\n autoReconnectInterval: 10000,\n onopen: function onopen() {\n if (_this.isActive === null) // Dann wurde es beim Schliessen auf null gesetzt\n _this.$socket.send({ \"event\": \"login\", \"object\": { \"type\": +(_this.isOnlyView ? 1 : 0) } });\n }, onclose: function onclose() {\n _this.isActive = null; // auf null setzten, dass ein neues login aufgerufen wird\n },\n onmessage: function onmessage(msg) {\n try {\n var data = JSON.parse(msg.data.replace());\n _this.$emit(data.event, data.object);\n } catch (e) {\n console.log(e);\n }\n }\n });\n if (!this.$socket) return !(this.$el.innerHTML = \"Your Browser will not support Websockets!\");\n\n this.$socket.send({ \"event\": \"login\", \"object\": { \"type\": +(this.isOnlyView ? 1 : 0) } });\n\n // Nachrichten/Anfragen der Komponenten an den Server weiterleiten\n this.$on(\"send\", this.$socket.send);\n\n // Globale Nachrichten verarbeiten\n this.$on(\"rolechange\", function (data) {\n _this.isActive = data.role == 'active';\n _this.hasChannelLogos = data.havelogos == 1;\n });\n\n // Interne Nachrichten verarbeiten\n this.$on(\"osdState\", function (data) {\n _this.osdOn = data.active;\n //document.getElementById('o2wContent').style.display= data.active ? \"none\" : '';\n });\n\n // Status des VDR-Skins\n var skinMenuItem = {\n label: '',\n on: false,\n icon: 'skinfocus',\n func: function func(navComp) {\n navComp.$root.$emit(\"send\", {\n \"event\": this.on ? \"leavefocus\" : \"takefocus\"\n });\n }\n };\n this.$on(\"skinstate\", function (data) {\n _this.skinAttached = data.attached == 1;\n _this.$root.$set(skinMenuItem, \"on\", _this.skinAttached);\n });\n this.menuItemsRight.push(skinMenuItem);\n\n if (this.isOnlyView) {\n var scrollingElement = document.scrollingElement || document.documentElement;\n window.autoScroll = function (delta) {\n\n var hasVScroll = document.body.scrollHeight > document.body.clientHeight;\n var cStyle = document.body.currentStyle || window.getComputedStyle(document.body, \"\");\n hasVScroll = cStyle.overflow == \"visible\" || cStyle.overflowY == \"visible\" || hasVScroll && cStyle.overflow == \"auto\" || hasVScroll && cStyle.overflowY == \"auto\";\n\n var nextCall = 3000;\n if (hasVScroll) {\n var curTop = scrollingElement.scrollTop;\n scrollingElement.scrollTop += delta;\n if (curTop == scrollingElement.scrollTop) delta *= -1;\n nextCall = 80;\n }\n window.setTimeout(window.autoScroll, nextCall, delta);\n };\n window.autoScroll(0);\n } else {\n // Browserevent abfangen\n window.addEventListener('keyup', function (ev) {\n _this.mapKey((ev.altKey ? 'alt.' : '') + (ev.ctrlKey ? 'ctrl.' : '') + (ev.shiftKey ? 'shift.' : '') + ev.keyCode);\n });\n }\n\n window.addEventListener(\"unload\", function () {\n _this.$socket.send({ \"event\": \"logout\", \"object\": {} });\n });\n } catch (exception) {\n alert('

Error' + exception);\n }\n }\n};\n\n/* TODO\n { \"event\" : \"channels\" } holt alle channels -> sollte ggf. gecacht werden\n\n*/\n\n/*\nenum ObjectShape\n {\n osText = 0x01,\n osSmall = 0x02,\n osLarge = 0x04,\n };\n\nmögliche langeobjekte:\n 5 -> Kanäle\n 3 -> Programm 'Jetzt'\n 4 -> Programm 'Next'\n 2 -> Programm\n 7 -> Timer\n 9 -> Aufzeichnungen\n\n*/\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2w-app'\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: 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//\n\n\n/* event.epg2vdr:\n\n \"imagecount\", // int\n \"numrating\", // int\n \"year\", // ascii 10\n \"category\", // ascii 50\n \"country\", // ascii 50\n \"audio\", // ascii 50\n\n \"txtrating\", // ascii 100\n \"genre\", // ascii 100\n \"flags\", // ascii 100\n \"commentator\", // ascii 200\n \"tipp\", // ascii 250\n \"rating\", // ascii 250\n \"moderator\", // ascii 250\n \"music\", // ascii 250\n \"screenplay\", // ascii 500\n \"shortreview\", // ascii 500\n\n \"guest\", // text 1000\n \"producer\", // text 1000\n \"camera\", // text 1000\n \"director\", // text 1000\n \"topic\", // ascii 1000\n\n \"other\", // text 2000\n \"actor\", // mtext 5000\n \"longdescription\", // mtext 25000\n\n*/\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wEvent',\n props: {\n event: Object\n },\n data: function data() {\n return {\n now: parseInt(new Date().getTime() / 1000, 10)\n };\n },\n\n computed: {\n description: function description() {\n return this.event.description ? this.event.description.replace(/\\n/g, '
') : '';\n },\n progress: function progress() {\n var _this = this;\n\n if (this.event.title) {\n window.setTimeout(function () {\n _this.now = parseInt(new Date().getTime() / 1000, 10);\n }, 60000);\n }\n return Math.max(parseInt((this.now - this.event.starttime) / this.event.duration * 100, 10), 0);\n },\n imagecnt: function imagecnt() {\n var cnt = this.event.epg2vdr ? parseInt(this.event.epg2vdr.imagecount, 10) : 0;\n return isNaN(cnt) ? 0 : cnt;\n }\n }\n});\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: 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/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wNavigation',\n props: {\n 'items': Array,\n 'itemsRight': Array\n },\n methods: {\n checkHeight: function checkHeight() {\n var topnav = document.getElementById('topnav');\n if (topnav) topnav.style.height = topnav.firstChild.offsetHeight + 'px';\n },\n isHidden: function isHidden(item) {\n return typeof item.isHidden == \"function\" ? item.isHidden.call(item, this) : item.isHidden;\n },\n handleSelect: function handleSelect(item) {\n if (item) {\n if (item.func) item.func.call(item, this);else if (item.key) this.$root.sendKey(item.key);\n }\n },\n renderLabel: function renderLabel(item) {\n var key = null;\n var label = item.label.replace(/_(.)_/, function (a, k) {\n key = k.toLowerCase();\n return '' + k + '';\n });\n if (key) this.keys[key] = item;\n return label;\n }\n },\n mounted: function mounted() {\n window.setTimeout(this.checkHeight, 300);\n },\n updated: function updated() {\n this.checkHeight();\n },\n created: function created() {\n var _this = this;\n\n this.keys = {};\n window.addEventListener('keyup', function (ev) {\n if (ev.altKey && _this.keys[ev.key]) {\n _this.handleSelect(_this.keys[ev.key]);\n ev.stopPropagation();\n }\n });\n window.addEventListener('resize', this.checkHeight);\n }\n});\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar common = __webpack_require__(1);\ncommon.Icon.register({ \"osd-back\": { \"width\": 1280, \"height\": 1792, \"paths\": [{ \"d\": \"M1171 301l-531 531 531 531q19 19 19 45t-19 45l-166 166q-19 19-45 19t-45-19l-742-742q-19-19-19-45t19-45l742-742q19-19 45-19t45 19l166 166q19 19 19 45t-19 45z\" }] } });\n\nvar maxLines = 0;\n\nfunction getClearData() {\n return {\n title: '',\n category: -1,\n pageUp: false,\n pageDn: false,\n event: {},\n buttons: [],\n maxLines: maxLines // maximale Anzahl Zeilen, die der Client darstellen kann\n };\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wOsd',\n data: function data() {\n return getClearData();\n },\n created: function created() {\n var _this2 = this;\n\n var menuItem = {\n label: '_O_SD',\n isHidden: function isHidden(navComp) {\n return !navComp.$root.isActive;\n },\n key: 'menu'\n };\n this.$root.$data.menuItems.push(menuItem);\n this.$root.$on(\"clearmenu\", function (data) {\n var clearData = getClearData();\n for (var key in clearData) {\n _this2[key] = clearData[key];\n }_this2.$root.$set(menuItem, \"on\", false);\n });\n this.$root.$on(\"menu\", function (data) {\n _this2.category = data.category;\n _this2.title = data.title;\n _this2.$root.$set(menuItem, \"on\", true);\n });\n this.$root.$on(\"scrollbar\", function (data) {\n _this2.pageUp = data.Offset > 0;\n _this2.pageDn = data.Total - maxLines > data.Offset;\n });\n this.$root.$on(\"event\", function (data) {\n _this2.event = data;\n });\n this.$root.$on(\"buttons\", function (data) {\n _this2.buttons = [];\n for (var color in data) {\n _this2.buttons.push({\n 'color': color,\n label: data[color]\n });\n }\n });\n this.$root.$on(\"rolechange\", function (data) {\n _this2.sendMaxLines(null, _this2.$root.isOnlyView ? null : 50);\n });\n\n if (this.$root.isOnlyView) {\n var _checkResize = function _checkResize(ev) {\n if (!checkInt) {\n checkInt = window.setInterval(_checkResize, 500);\n } else {\n if (new Date().getTime() - lastResize > 500) {\n _this.sendMaxLines(null);\n checkInt = !!window.clearInterval(checkInt);\n }\n }\n lastResize = new Date().getTime();\n };\n\n var lastResize = 0;\n var checkInt = false;\n var _this = this;\n\n window.addEventListener('resize', _checkResize);\n }\n\n //window.addEventListener('resize', this.checkButtonHeight);\n },\n updated: function updated() {\n if (this.title) {\n this.$root.$emit(\"osdState\", { active: true });\n if (this.$root.isOnlyView) window.addEventListener('resize', this.sendMaxLines);\n } else {\n this.$root.$emit(\"osdState\", { active: false });\n window.removeEventListener('resize', this.sendMaxLines);\n }\n //this.checkButtonHeight();\n },\n\n methods: {\n sendMaxLines: function sendMaxLines(ev, linesMax) {\n // header - buttons\n var max = linesMax || common.maxLinesCalc.getMax();\n if (max != maxLines) {\n maxLines = max;\n var data = [];\n for (var i = 0; i < eMenuCategory.length; i++) {\n data.push({\n \"category\": i,\n \"maxlines\": max,\n \"shape\": eMenuCategory[i].shape\n });\n }this.$root.$emit(\"send\", {\n \"event\": \"maxlines\",\n object: {\n \"categories\": data\n }\n });\n }\n } /*,\n checkButtonHeight() {\n let buttons = document.getElementById('buttons');\n if (buttons)\n buttons.parentNode.style.paddingBottom = buttons.offsetHeight + 'px';\n }*/\n\n }\n});\n\nvar eMenuCategory = [{\n \"category\": 'mcUnknown',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcMain',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSchedule',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcScheduleNow',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcScheduleNext',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcChannel',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcChannelEdit',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcTimer',\n \"maxlines\": 100,\n \"shape\": 1 //4 für ausführliche Informationen\n}, {\n \"category\": 'mcTimerEdit',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcRecording',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcRecordingInfo',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcRecordingEdit',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcPlugin',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcPluginSetup',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetup',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetupOsd',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetupEpg',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetupDvb',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetupLnb',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetupCam',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetupRecord',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetupReplay',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetupMisc',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcSetupPlugins',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcCommand',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcEvent',\n \"maxlines\": 100,\n \"shape\": 1 //4 für ausführliche Informationen\n}, {\n \"category\": 'mcText',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcFolder',\n \"maxlines\": 100,\n \"shape\": 1\n}, {\n \"category\": 'mcCam',\n \"maxlines\": 100,\n \"shape\": 1\n}];\neMenuCategory['-1'] = {\n \"category\": 'mcUndefined',\n \"maxlines\": 100,\n \"shape\": 1\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: 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__webpack_require__(1).Icon.register({ \"remote\": { \"width\": 1408, \"height\": 1792, \"paths\": [{ \"d\": \"M384 1344q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zM896 1467q2 28-17 48-18 21-47 21h-135q-25 0-43-16.5t-20-41.5q-22-229-184.5-391.5t-391.5-184.5q-25-2-41.5-20t-16.5-43v-135q0-29 21-47 17-17 43-17h5q160 13 306 80.5t259 181.5q114 113 181.5 259t80.5 306zM1408 1469q2 27-18 47-18 20-46 20h-143q-26 0-44.5-17.5t-19.5-42.5q-12-215-101-408.5t-231.5-336-336-231.5-408.5-102q-25-1-42.5-19.5t-17.5-43.5v-143q0-28 20-46 18-18 44-18h3q262 13 501.5 120t425.5 294q187 186 294 425.5t120 501.5z\" }] } });\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wRemote',\n data: function data() {\n return { menuItem: {\n label: '',\n on: false,\n icon: 'remote',\n func: function func(navComp) {\n this.on = !this.on;\n if (!navComp.$root.isActive) {\n navComp.$root.$socket.reopen();\n //navComp.$root.$socket.open(); // Neue Verbindung aufmachen und so focus zurückholen\n }\n }\n } };\n },\n methods: {\n handleClick: function handleClick(ev) {\n if (ev.target && ev.target.alt) this.$root.sendKey(ev.target.alt);\n }\n },\n created: function created() {\n this.$root.$data.menuItems.push(this.menuItem);\n }\n});\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar common = __webpack_require__(1);\ncommon.Icon.register({ \"pause\": { \"width\": 1536, \"height\": 1792, \"paths\": [{ \"d\": \"M1536 192v1408q0 26-19 45t-45 19h-512q-26 0-45-19t-19-45v-1408q0-26 19-45t45-19h512q26 0 45 19t19 45zM640 192v1408q0 26-19 45t-45 19h-512q-26 0-45-19t-19-45v-1408q0-26 19-45t45-19h512q26 0 45 19t19 45z\" }] } });\ncommon.Icon.register({ \"play\": { \"width\": 1408, \"height\": 1792, \"paths\": [{ \"d\": \"M1384 927l-1328 738q-23 13-39.5 3t-16.5-36v-1472q0-26 16.5-36t39.5 3l1328 738q23 13 23 31t-23 31z\" }] } });\ncommon.Icon.register({ \"stop\": { \"width\": 1536, \"height\": 1792, \"paths\": [{ \"d\": \"M1536 192v1408q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-1408q0-26 19-45t45-19h1408q26 0 45 19t19 45z\" }] } });\ncommon.Icon.register({ \"fast-backward\": { \"width\": 1792, \"height\": 1792, \"paths\": [{ \"d\": \"M1747 141q19-19 32-13t13 32v1472q0 26-13 32t-32-13l-710-710q-9-9-13-19v710q0 26-13 32t-32-13l-710-710q-9-9-13-19v678q0 26-19 45t-45 19h-128q-26 0-45-19t-19-45v-1408q0-26 19-45t45-19h128q26 0 45 19t19 45v678q4-10 13-19l710-710q19-19 32-13t13 32v710q4-10 13-19z\" }] } });\ncommon.Icon.register({ \"fast-forward\": { \"width\": 1792, \"height\": 1792, \"paths\": [{ \"d\": \"M45 1651q-19 19-32 13t-13-32v-1472q0-26 13-32t32 13l710 710q9 9 13 19v-710q0-26 13-32t32 13l710 710q9 9 13 19v-678q0-26 19-45t45-19h128q26 0 45 19t19 45v1408q0 26-19 45t-45 19h-128q-26 0-45-19t-19-45v-678q-4 10-13 19l-710 710q-19 19-32 13t-13-32v-710q-4 10-13 19z\" }] } });\n\nvar replayButtons = [{\n key: 'FastRew',\n icon: 'fast-backward'\n}, {\n key: 'Play',\n icon: 'play'\n}, {\n key: 'Pause',\n icon: 'pause'\n}, {\n key: 'Stop',\n icon: 'stop'\n}, {\n key: 'FastFwd',\n icon: 'fast-forward'\n}];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wReplayControl',\n data: function data() {\n return {\n buttons: {},\n controlInfo: null\n };\n },\n created: function created() {\n var _this = this;\n\n this.$root.$on(\"actual\", function (data) {\n _this.buttons = null;\n _this.controlInfo = null;\n });\n this.$root.$on(\"replay\", function (data) {\n _this.controlInfo = data.filename;\n });\n this.$root.$on(\"replaycontrol\", function (data) {\n _this.buttons = replayButtons;\n if (data.play == 1) _this.buttons[1].color = 'red';\n if (data.speed >= 0) _this.buttons[data.forward == 1 ? 4 : 0].color = 'red';\n });\n }\n});\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\nvar eMessageType = [\"-success\", \"-info\", \"-warning\", \"-danger\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wStatusmessage',\n data: function data() {\n return {\n msg: '',\n type: 0\n };\n },\n created: function created() {\n var _this = this;\n\n this.$root.$on(\"message\", function (data) {\n _this.msg = data.message;\n _this.type = \"alert\" + (eMessageType[data.type] || '');\n });\n this.$root.$on(\"channelgroup\", function (data) {\n _this.msg = data.name;\n _this.type = \"alert-info\";\n });\n }\n});\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wTextarea',\n data: function data() {\n return {\n 'text': ''\n };\n },\n created: function created() {\n var _this = this;\n\n this.$root.$on(\"menutext\", function (data) {\n _this.text = data.text.replace(/\\n/g, '
');\n });\n this.$root.$on(\"textscroll\", function (data) {\n if (data.page) {\n if (data.up) document.body.scrollLeft = Math.max(0, document.body.scrollLeft - document.body.clientWidth);else document.body.scrollLeft += document.body.clientWidth;\n } else {\n if (data.up) document.body.scrollTop = Math.max(0, document.body.scrollTop - document.body.clientHeight);else document.body.scrollTop = document.body.scrollTop + document.body.clientHeight;\n }\n });\n }\n});\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar Icon = __webpack_require__(1).Icon;\nIcon.register({ \"caret-left\": { \"width\": 640, \"height\": 1792, \"paths\": [{ \"d\": \"M640 448v896q0 26-19 45t-45 19-45-19l-448-448q-19-19-19-45t19-45l448-448q19-19 45-19t45 19 19 45z\" }] } });\nIcon.register({ \"caret-right\": { \"width\": 640, \"height\": 1792, \"paths\": [{ \"d\": \"M576 896q0 26-19 45l-448 448q-19 19-45 19t-45-19-19-45v-896q0-26 19-45t45-19 45 19l448 448q19 19 19 45z\" }] } });\nIcon.register({ \"caret-down\": { \"width\": 1024, \"height\": 1792, \"paths\": [{ \"d\": \"M1024 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z\" }] } });\nIcon.register({ \"caret-up\": { \"width\": 1024, \"height\": 1792, \"paths\": [{ \"d\": \"M1024 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z\" }] } });\n\nfunction getClearData() {\n return {\n rows: [],\n colCount: 0,\n textmenucurrent: 0,\n canEdit: 0\n };\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wTextmenu',\n data: function data() {\n return getClearData();\n },\n created: function created() {\n var _this = this;\n\n this.$root.$on(\"clearmenu\", function (data) {\n var clearData = getClearData();\n for (var key in clearData) {\n _this[key] = clearData[key];\n }\n });\n this.$root.$on(\"menu\", function (data) {\n _this.canEdit = data.editable || 0;\n _this.colCount = -1;\n });\n this.$root.$on(\"menuitem\", function (data) {\n if (_this.colCount < 0 && data.text) {\n _this.colCount = data.text.split('\\t').length;\n if (_this.colCount == 2 && _this.canEdit) _this.colCount++;else _this.canEdit = 0;\n }\n _this.$set(_this.rows, data.index, {\n cols: data.text ? data.text.split('\\t') : new Array(_this.colCount),\n selectable: data.selectable,\n textEdit: _this.canEdit && /.+\\\\t.*\\[.\\]/.test(data.text)\n });\n if (data.current) _this.textmenucurrent = data.index;\n });\n },\n\n methods: {\n doAction: function doAction(rowIndex, key) {\n var delta = rowIndex - this.textmenucurrent;\n if (delta != 0) {\n var rep = 0;\n var row = void 0;\n if (delta > 0) {\n for (delta = this.textmenucurrent; delta < rowIndex; delta++) {\n row = this.rows[delta];\n if (row && row.selectable) rep++;\n }\n this.$root.sendKey(\"Down\", rep);\n } else {\n for (delta = rowIndex; delta < this.textmenucurrent; delta++) {\n row = this.rows[delta];\n if (row && row.selectable) rep++;\n }\n this.$root.sendKey(\"Up\", rep);\n }\n } else this.$root.sendKey(key || \"Ok\");\n }\n }\n});\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wTimer',\n data: function data() {\n return {\n timers: null,\n detail: -1\n };\n },\n created: function created() {\n var _this = this;\n\n this.$root.$on(\"timers\", function (data) {\n detail: -1;\n _this.timers = data && data.length ? data : null;\n if (_this.timers) _this.timers.forEach(function (timer, index) {\n timer.id = timer.id || index;\n });\n });\n },\n\n components: {}\n});\n/*\n{\n \"event\":\"timers\",\n \"object\":[\n {\n \"id\":0,\n \"remote\":\"\",\n \"recording\":0,\n \"pending\":0,\n \"invpsmargin\":0,\n \"day\":1496613600,\n \"file\":\"Liebe auf den dritten Blick\",\n \"aux\":\"4504870webif3784\",\n \"expired\":0,\n \"starttime\":1496677380,\n \"stoptime\":1496683500,\n \"weekdays\":0,\n \"firstday\":0,\n \"flags\":1,\n \"channel\":{\n \"channelid\":\"S19.2E-1-1101-28106\",\n \"channelname\":\"Das Erste\",\n \"channelnumber\":38,\n \"provider\":\"ARD\"\n },\n \"event\":{\n \"eventid\":3723521,\n \"channelid\":\"S19.2E-1-1101-28106\",\n \"title\":\"Liebe auf den dritten Blick\",\n \"shorttext\":\"Komödie (D 2007)\",\n \"starttime\":1496677500,\n \"endtime\":1496682900,\n \"duration\":5400,\n \"runningstatus\":0,\n \"isrunning\":0,\n \"parentalrating\":0,\n \"vps\":0,\n \"hastimer\":1,\n \"seen\":0,\n \"epg2vdr\":{\n \"imagecount\":\"3\",\n \"scrmovieid\":\"342651\",\n \"numrating\":\"2\",\n \"year\":\"2007\",\n \"category\":\"Spielfilm\",\n \"country\":\"D\",\n \"txtrating\":\"Eher durchschnittlich\",\n \"genre\":\"Komödie\",\n \"rating\":\" / Spaß * / Spannung *\",\n \"shortreview\":\"Eine Weinprobe mit fadem Abgang\",\n \"director\":\"Helmut Metzger\",\n \"shortdescription\":\"TV-Komödie mit Katja Weitzenböck \",\n \"actor\":\"Katja Weitzenböck (Dianne Schönleber), Roland Koch (Anton Brück), Thure Riefenstein (Heiko Schönleber), Sabrina White (Viktoria), Dietrich Mattausch (Bartolo Berlinghieri), Andrea Eckert (Isabella Berlinghieri), Thamara Barth (Claudia)\",\n \"source\":\"TVSP\",\n \"longdescription\":\"Heimlich reist Dianne (Katja Weitzenböck) ihrem Gatten nach Italien hinterher – und findet ihren Verdacht bestätigt: Heiko hat eine andere! Zufallsbekanntschaft Anton (Roland Koch) hilft ihr aus dem Tal der Tränen, nimmt sie mit zu einem Geschäftsessen – und wer kreuzt dort auf? Richtig, Heiko mit \\\"Ehefrau\\\"...Mildes Bäumchen-Wechsel-Dich-Spiel voller Vino- und Pasta-Klischees. \"\n },\n \"description\":\"Genre: Komödie\\r\\nKategorie: Spielfilm\\r\\nLand: D\\r\\nJahr: 2007\\r\\n\\r\\nTV-Komödie mit Katja Weitzenböck \\r\\n\\r\\nEher durchschnittlich, Eine Weinprobe mit fadem Abgang\\r\\n\\r\\n\\r\\n / Spaß * / Spannung *\\r\\n\\r\\nHeimlich reist Dianne (Katja Weitzenböck) ihrem Gatten nach Italien hinterher – und findet ihren Verdacht bestätigt: Heiko hat eine andere! Zufallsbekanntschaft Anton (Roland Koch) hilft ihr aus dem Tal der Tränen, nimmt sie mit zu einem Geschäftsessen – und wer kreuzt dort auf? Richtig, Heiko mit \\\"Ehefrau\\\"...Mildes Bäumchen-Wechsel-Dich-Spiel voller Vino- und Pasta-Klischees. \\r\\n\\r\\nDarsteller: Katja Weitzenböck (Dianne Schönleber), Roland Koch (Anton Brück), Thure Riefenstein (Heiko Schönleber), Sabrina White (Viktoria), Dietrich Mattausch (Bartolo Berlinghieri), Andrea Eckert (Isabella Berlinghieri), Thamara Barth (Claudia)\\r\\n\\r\\nRegie: Helmut Metzger\\r\\n\\r\\nQuelle: TVSP\",\n \"timermatch\":\"full\"\n },\n \"epg2vdr\":{\n \"id\":3784,\n \"vdrname\":\"keller\",\n \"vdruuid\":\"7F13E490-09B3-401C-B26C-8B7F2F111014\",\n \"vdrrunning\":1,\n \"local\":1,\n \"state\":\"P\",\n \"stateinfo\":\"\",\n \"action\":\"A\"\n }\n }\n ]\n}\n*/\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wActual',\n data: function data() {\n return {\n channel: {},\n present: {},\n following: {}\n };\n },\n created: function created() {\n var _this = this;\n\n this.$root.$on(\"actual\", function (data) {\n _this.channel = data.channel;\n _this.present = data.present;\n _this.following = data.following;\n });\n this.$root.$on(\"replay\", function (data) {\n _this.channel = {};\n _this.following = {};\n var ev = data.event || {};\n if (!data.event) {\n ev.title = data.name;\n ev.duration = data.lengthinseconds;\n }\n ev.starttime = parseInt(new Date().getTime() / 1000, 10);\n ev.endtime = ev.starttime + ev.duration;\n _this.present = ev;\n });\n }\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: 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//\n//\n//\n\nvar common = __webpack_require__(1);\ncommon.Vue.component('o2w-fullevent', __webpack_require__(21));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wEvent',\n props: {\n event: Object\n },\n data: function data() {\n return {\n now: parseInt(new Date().getTime() / 1000, 10),\n isFullevent: this.$parent.$options._componentTag != 'o2w-actual'\n };\n },\n\n computed: {\n description: function description() {\n return this.event.epg2vdr && this.event.epg2vdr.longdescription ? this.event.epg2vdr.longdescription.replace(/\\n/g, '
') : this.event.epg2vdr && this.event.epg2vdr.shortdescription ? this.event.epg2vdr.shortdescription.replace(/\\n/g, '
') : '';\n },\n progress: function progress() {\n var _this = this;\n\n if (this.event.title) {\n window.setTimeout(function () {\n _this.now = parseInt(new Date().getTime() / 1000, 10);\n }, 60000);\n }\n return Math.max(parseInt((this.now - this.event.starttime) / this.event.duration * 100, 10), 0);\n },\n imagecnt: function imagecnt() {\n var cnt = this.event.epg2vdr ? parseInt(this.event.epg2vdr.imagecount, 10) : 0;\n return isNaN(cnt) ? 0 : cnt;\n }\n }\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'o2wOverview'\n});\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__root__ = __webpack_require__(2);\n\n\nwindow.v = new __WEBPACK_IMPORTED_MODULE_0__root__[\"a\" /* Vue */]({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__root__[\"b\" /* root */]]\n}).$mount(\"#app\");\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = WebSocketClient;\n/* WebsocketClient, usage:\nwsClient = new WebSocketClient({\n url: \"ws://\" + location.host,\n protocol: \"optional\",\n autoReconnectInterval: 5000, // default is 0, without reconnect\n onopen: () => { ... },\n onmessage: (msg) => { ... },\n onclose: function () { ... },\n onerror: function (err) { ... }\n});\n*/\nfunction WebSocketClient(opt) {\n if (!window.WebSocket) return false;\n\n var client = this;\n var queue = [];\n this.onclose = function () {\n console.log(\"websocket connection closed\");\n };\n this.onerror = function (err) {\n console.log(\"websocket error: \", err);\n };\n for (var key in opt) {\n this[key] = opt[key];\n }this.reconnect = function (e) {\n if (client.autoReconnectInterval) {\n console.log(\"WebSocketClient: retry in \" + client.autoReconnectInterval + \"ms\", e);\n setTimeout(function () {\n console.log(\"WebSocketClient: reconnecting...\");\n client.open();\n }, client.autoReconnectInterval);\n }\n };\n this.send = function (JSONobj) {\n if (queue) queue.push(JSONobj);else client.ws.send(JSON.stringify(JSONobj));\n };\n this.open = function () {\n client.ws = new WebSocket(client.url, client.protocol);\n client.ws.onopen = function (e) {\n if (queue) {\n var JSONobj = void 0;\n while (JSONobj = queue.shift()) {\n client.ws.send(JSON.stringify(JSONobj));\n }queue = null;\n }\n client.onopen && client.onopen(e);\n };\n client.ws.onmessage = client.onmessage;\n client.ws.onclose = function (e) {\n queue = [];\n switch (e) {\n case 1000:\n // CLOSE_NORMAL\n console.log(\"WebSocket: closed\");\n break;\n default:\n // Abnormal closure\n client.reconnect(e);\n break;\n }\n client.onclose && client.onclose(e);\n };\n client.ws.onerror = function (e) {\n switch (e.code) {\n case 'ECONNREFUSED':\n client.reconnect(e);\n break;\n default:\n client.onerror || client.onerror(e);\n break;\n }\n };\n };\n this.reopen = function () {\n client.ws.onerror = client.ws.onclose = client.ws.onmessage = null;\n client.ws.close();\n client.open();\n };\n this.open();\n return this;\n}\n\n/***/ }),\n/* 18 */,\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"remotecontrol.jpg\";\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(3),\n /* template */\n __webpack_require__(34),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(4),\n /* template */\n __webpack_require__(41),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(5),\n /* template */\n __webpack_require__(43),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(6),\n /* template */\n __webpack_require__(37),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(7),\n /* template */\n __webpack_require__(39),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(8),\n /* template */\n __webpack_require__(35),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(9),\n /* template */\n __webpack_require__(40),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(10),\n /* template */\n __webpack_require__(45),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(11),\n /* template */\n __webpack_require__(44),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(12),\n /* template */\n __webpack_require__(42),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(13),\n /* template */\n __webpack_require__(38),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(14),\n /* template */\n __webpack_require__(36),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(15),\n /* template */\n __webpack_require__(33),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [_c('div', {\n staticClass: \"row\"\n }, [_c('o2w-actual', {\n staticClass: \"col-12 col-md-9 mb-2\"\n }), _vm._v(\" \"), _c('o2w-timer', {\n staticClass: \"col-12 col-md-3\"\n })], 1), _vm._v(\" \"), _c('h4', {\n staticClass: \"status-bar\",\n attrs: {\n \"align\": \"right\"\n }\n }, [_vm._v(_vm._s(_vm.$root.formatDateTime(parseInt(new Date().getTime() / 1000, 10))))])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n attrs: {\n \"id\": \"app-view\"\n }\n }, [(!_vm.$root.isOnlyView) ? _c('o2w-navigation', {\n attrs: {\n \"items\": _vm.$root.menuItems,\n \"itemsRight\": _vm.$root.menuItemsRight\n }\n }) : _vm._e(), _vm._v(\" \"), _c('o2w-statusmessage'), _vm._v(\" \"), _c('div', {\n staticClass: \"d-flex flex-row\"\n }, [(!_vm.$root.isOnlyView) ? _c('o2w-remote') : _vm._e(), _vm._v(\" \"), _c('div', {\n staticClass: \"container-fluid\",\n attrs: {\n \"id\": \"o2wContainer\"\n }\n }, [_c('o2w-osd', {\n attrs: {\n \"name\": \"osd\"\n }\n }), _vm._v(\" \"), _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (!_vm.$root.osdOn),\n expression: \"!$root.osdOn\"\n }],\n attrs: {\n \"id\": \"o2wContent\"\n }\n }, [_c('o2w-overview')], 1)], 1)], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return (_vm.buttons) ? _c('div', [_c('div', [_vm._v(_vm._s(_vm.controlInfo))]), _vm._v(\" \"), _c('div', {\n staticClass: \"btn-group btn-group-sm justify-content-center\"\n }, _vm._l((_vm.buttons), function(button, index) {\n return _c('a', {\n staticClass: \"btn btn-secondary\",\n style: ({\n 'color': button.color\n }),\n on: {\n \"click\": function($event) {\n _vm.$root.sendKey(button.key)\n }\n }\n }, [_c('icon', {\n attrs: {\n \"name\": button.icon\n }\n })], 1)\n }))]) : _vm._e()\n},staticRenderFns: []}\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [(_vm.isFullevent) ? _c('o2w-fullevent', {\n attrs: {\n \"event\": _vm.event\n }\n }) : _c('div', [_c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.event.title),\n expression: \"event.title\"\n }],\n staticClass: \"card mt-2\",\n staticStyle: {\n \"height\": \"310px\",\n \"overflow\": \"hidden\"\n }\n }, [_c('div', {\n staticClass: \"card-block\"\n }, [_c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.progress),\n expression: \"progress\"\n }],\n staticClass: \"progress\"\n }, [_c('div', {\n staticClass: \"progress-bar\",\n style: ({\n width: _vm.progress + '%'\n }),\n attrs: {\n \"role\": \"progressbar\",\n \"aria-valuenow\": {\n progress: _vm.progress\n },\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\"\n }\n }, [_vm._v(_vm._s(_vm.progress) + \"%\")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"row\"\n }, [_c('h3', {\n staticClass: \"card-title\"\n }, [_vm._v(_vm._s(_vm.$root.formatTime(_vm.event.starttime)) + \" \" + _vm._s(_vm.event.title))]), _vm._v(\" \"), _c('div', {\n staticClass: \"ml-auto p-1 mr-3\"\n }, [_vm._v(_vm._s(parseInt(_vm.event.duration / 60, 10)) + \" min\")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"row\"\n }, [(_vm.event.epg2vdr) ? _c('div', {\n staticClass: \"col-12 col-md-9\"\n }, [(_vm.event.shorttext) ? _c('div', {\n staticClass: \"card-text\"\n }, [_vm._v(_vm._s(_vm.event.shorttext))]) : _vm._e(), _vm._v(\" \"), (_vm.event.epg2vdr.genre) ? _c('div', {\n staticClass: \"card-text\"\n }, [_vm._v(_vm._s(_vm.event.epg2vdr.genre))]) : _vm._e(), _vm._v(\" \"), (_vm.event.epg2vdr.category) ? _c('div', {\n staticClass: \"card-text\"\n }, [_vm._v(_vm._s(_vm.event.epg2vdr.category))]) : _vm._e(), _vm._v(\" \"), (_vm.event.epg2vdr.country) ? _c('div', {\n staticClass: \"card-text\"\n }, [_vm._v(_vm._s(_vm.event.epg2vdr.country) + \" \" + _vm._s(_vm.event.epg2vdr.year))]) : _vm._e(), _vm._v(\" \"), (_vm.event.epg2vdr.tipp) ? _c('div', {\n staticClass: \"card-text\"\n }, [_vm._v(_vm._s(_vm.event.epg2vdr.tipp) + \"  \" + _vm._s(_vm.event.epg2vdr.txtrating))]) : _vm._e()]) : _c('div', {\n staticClass: \"col-12 col-md-9\"\n }, [(_vm.event.shorttext) ? _c('div', {\n staticClass: \"card-text\"\n }, [_vm._v(_vm._s(_vm.event.shorttext))]) : _vm._e()]), _vm._v(\" \"), (_vm.event.epg2vdr) ? _c('div', {\n staticClass: \"col-12 col-md-3 carousel slide\",\n attrs: {\n \"id\": 'evImages' + _vm.event.eventid,\n \"data-ride\": \"carousel\",\n \"data-interval\": \"5000\"\n }\n }, [_c('div', {\n staticClass: \"carousel-inner\",\n attrs: {\n \"role\": \"listbox\"\n }\n }, _vm._l((_vm.imagecnt), function(n) {\n return _c('div', {\n staticClass: \"carousel-item\",\n class: {\n 'active': n == 1\n }\n }, [_c('img', {\n staticClass: \"d-block\",\n attrs: {\n \"src\": '/data/eventimg?id=' + _vm.event.eventid + '&no=' + (n - 1),\n \"alt\": \"\"\n }\n })])\n })), _vm._v(\" \"), _c('a', {\n staticClass: \"carousel-control-prev\",\n attrs: {\n \"href\": '#evImages' + _vm.event.eventid,\n \"role\": \"button\",\n \"data-slide\": \"prev\"\n }\n }, [_c('span', {\n staticClass: \"carousel-control-prev-icon\",\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }), _vm._v(\" \"), _c('span', {\n staticClass: \"sr-only\"\n }, [_vm._v(\"Previous\")])]), _vm._v(\" \"), _c('a', {\n staticClass: \"carousel-control-next\",\n attrs: {\n \"href\": '#evImages' + _vm.event.eventid,\n \"role\": \"button\",\n \"data-slide\": \"next\"\n }\n }, [_c('span', {\n staticClass: \"carousel-control-next-icon\",\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }), _vm._v(\" \"), _c('span', {\n staticClass: \"sr-only\"\n }, [_vm._v(\"Next\")])])]) : _vm._e()]), _vm._v(\" \"), _c('p', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.description),\n expression: \"description\"\n }],\n domProps: {\n \"innerHTML\": _vm._s(_vm.description)\n }\n })])])])], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.$root.osdOn),\n expression: \"$root.osdOn\"\n }],\n attrs: {\n \"id\": \"osdCon\"\n }\n }, [_c('div', {\n staticClass: \"container\",\n on: {\n \"click\": function($event) {\n _vm.$root.sendKey('Back')\n }\n }\n }, [_c('h3', {}, [(!_vm.$root.isOnlyView) ? _c('icon', {\n attrs: {\n \"name\": \"osd-back\"\n }\n }) : _vm._e(), _vm._v(\" \" + _vm._s(_vm.title))], 1)]), _vm._v(\" \"), _c('o2w-textmenu'), _vm._v(\" \"), _c('o2w-event', {\n attrs: {\n \"event\": _vm.event\n }\n }), _vm._v(\" \"), _c('o2w-textarea'), _vm._v(\" \"), _c('div', {\n staticClass: \"btn-group btn-group-sm justify-content-center fixed-bottom\",\n attrs: {\n \"id\": \"buttons\"\n }\n }, [_c('a', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.pageUp),\n expression: \"pageUp\"\n }],\n staticClass: \"btn btn-secondary\",\n on: {\n \"click\": function($event) {\n _vm.$root.sendKey('Up', _vm.maxLines)\n }\n }\n }, [_c('icon', {\n attrs: {\n \"name\": \"caret-up\"\n }\n })], 1), _vm._v(\" \"), _vm._l((_vm.buttons), function(button, index) {\n return _c('button', {\n staticClass: \"btn btn-primary\",\n class: 'but-' + button.color,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n _vm.$root.sendKey(button.color)\n }\n }\n }, [_vm._v(_vm._s(button.label))])\n }), _vm._v(\" \"), _c('a', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.pageDn),\n expression: \"pageDn\"\n }],\n staticClass: \"btn btn-secondary\",\n on: {\n \"click\": function($event) {\n _vm.$root.sendKey('Down', _vm.maxLines)\n }\n }\n }, [_c('icon', {\n attrs: {\n \"name\": \"caret-down\"\n }\n })], 1)], 2)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n attrs: {\n \"id\": \"Actual\"\n }\n }, [_c('o2w-replaycontrol'), _vm._v(\" \"), (_vm.channel.channelid) ? _c('div', {\n staticClass: \"card-header\"\n }, [_c('div', {\n staticClass: \"text-center row\",\n staticStyle: {\n \"height\": \"65px\"\n }\n }, [_c('div', {\n staticClass: \"o2wChannelCircle alert-info\"\n }, [_vm._v(_vm._s(_vm.channel.channelnumber))]), _vm._v(\" \"), (_vm.$root.hasChannelLogos) ? _c('div', {\n staticClass: \"media d-flex flex-column ml-auto p-1\",\n staticStyle: {\n \"height\": \"65px\"\n }\n }, [_c('img', {\n staticClass: \"d-block img-fluid\",\n staticStyle: {\n \"max-height\": \"95%\"\n },\n attrs: {\n \"align\": \"right\",\n \"src\": '/data/channellogo?name=' + _vm.channel.channelname + '&id=' + _vm.channel.channelid\n }\n })]) : _c('div', {\n staticClass: \"media d-flex flex-column\"\n }, [_c('h3', {\n staticClass: \"d-block mt-4 card-title\"\n }, [_vm._v(_vm._s(_vm.channel.channelname))])])])]) : _vm._e(), _vm._v(\" \"), _c('o2w-event', {\n attrs: {\n \"event\": _vm.present\n }\n }), _vm._v(\" \"), _c('o2w-event', {\n attrs: {\n \"event\": _vm.following\n }\n })], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.menuItem.on),\n expression: \"menuItem.on\"\n }],\n staticStyle: {\n \"min-width\": \"180px\",\n \"min-height\": \"385px\"\n }\n }, [_c('img', {\n staticStyle: {\n \"position\": \"fixed\",\n \"z-index\": \"999\"\n },\n attrs: {\n \"src\": __webpack_require__(19),\n \"width\": \"162\",\n \"height\": \"378\",\n \"border\": \"0\",\n \"usemap\": \"#remote\",\n \"alt\": \"\"\n }\n }), _vm._v(\" \"), _c('map', {\n attrs: {\n \"name\": \"remote\"\n },\n on: {\n \"click\": function($event) {\n _vm.handleClick($event)\n }\n }\n }, [_c('area', {\n attrs: {\n \"shape\": \"circle\",\n \"coords\": \"37,36,10\",\n \"alt\": \"Power\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"27,60,59,75\",\n \"alt\": \"1\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"64,59,98,75\",\n \"alt\": \"2\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"103,59,137,75\",\n \"alt\": \"3\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"25,82,60,98\",\n \"alt\": \"4\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"65,82,98,99\",\n \"alt\": \"5\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"103,83,137,99\",\n \"alt\": \"6\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"26,106,60,121\",\n \"alt\": \"7\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"65,105,97,121\",\n \"alt\": \"8\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"104,106,137,122\",\n \"alt\": \"9\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"66,128,98,144\",\n \"alt\": \"0\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"circle\",\n \"coords\": \"37,157,13\",\n \"alt\": \"Volume+\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"circle\",\n \"coords\": \"37,190,13\",\n \"alt\": \"Volume-\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"circle\",\n \"coords\": \"125,157,13\",\n \"alt\": \"Channel+\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"circle\",\n \"coords\": \"125,190,13\",\n \"alt\": \"Channel-\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"circle\",\n \"coords\": \"81,174,8\",\n \"alt\": \"Mute\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"circle\",\n \"coords\": \"81,202,11\",\n \"alt\": \"Recordings\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"poly\",\n \"coords\": \"39,215,29,227,30,235,39,236,51,222,49,215,43,213\",\n \"alt\": \"Menu\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"poly\",\n \"coords\": \"119,213,127,219,135,230,132,235,127,236,119,231,114,223,113,215\",\n \"alt\": \"Back\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"poly\",\n \"coords\": \"33,289,31,298,43,310,51,308,54,300,41,287\",\n \"alt\": \"Subtitles\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"poly\",\n \"coords\": \"131,289,133,298,122,310,112,308,110,300,122,287\",\n \"alt\": \"Audio\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"poly\",\n \"coords\": \"58,230,70,223,82,223,91,223,105,231,96,240,87,237,78,236,69,240,66,241,58,232\",\n \"alt\": \"Up\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"poly\",\n \"coords\": \"111,237,119,249,121,259,119,275,113,285,109,284,101,276,104,270,107,260,106,253,101,245\",\n \"alt\": \"Right\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"poly\",\n \"coords\": \"66,281,75,285,86,285,95,281,106,291,100,295,87,300,73,300,58,291,57,289,58,289\",\n \"alt\": \"Down\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"poly\",\n \"coords\": \"51,236,61,245,56,256,57,266,61,277,52,285,47,278,42,264,43,252,49,240\",\n \"alt\": \"Left\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"circle\",\n \"coords\": \"81,261,17\",\n \"alt\": \"Ok\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"25,324,52,339\",\n \"alt\": \"Red\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"53,324,81,339\",\n \"alt\": \"Green\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"83,324,109,339\",\n \"alt\": \"Yellow\"\n }\n }), _vm._v(\" \"), _c('area', {\n attrs: {\n \"shape\": \"rect\",\n \"coords\": \"110,324,137,339\",\n \"alt\": \"Blue\"\n }\n })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.msg),\n expression: \"msg\"\n }],\n staticClass: \"alert alert-dismissible fade show\",\n class: _vm.type\n }, [_c('button', {\n staticClass: \"close\",\n attrs: {\n \"type\": \"button\",\n \"data-dismiss\": \"alert\",\n \"aria-label\": \"Close\"\n },\n on: {\n \"click\": function($event) {\n _vm.msg = ''\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"×\")])]), _vm._v(\" \"), _c('p', [_vm._v(_vm._s(_vm.msg))])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.event.title),\n expression: \"event.title\"\n }],\n staticClass: \"card\"\n }, [_c('div', {\n staticClass: \"card-block\"\n }, [_c('h3', {\n staticClass: \"card-title\"\n }, [_vm._v(_vm._s(_vm.event.title))]), _vm._v(\" \"), _c('div', {\n staticClass: \"card-text\"\n }, [_vm._v(_vm._s(_vm.event.shorttext))]), _vm._v(\" \"), _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.progress),\n expression: \"progress\"\n }],\n staticClass: \"progress\"\n }, [_c('div', {\n staticClass: \"progress-bar\",\n style: ({\n width: _vm.progress + '%'\n }),\n attrs: {\n \"role\": \"progressbar\",\n \"aria-valuenow\": {\n progress: _vm.progress\n },\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\"\n }\n }, [_vm._v(_vm._s(_vm.progress) + \"%\")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"row\"\n }, [_c('div', {\n staticClass: \"col\"\n }, [_vm._v(\"\\n \" + _vm._s(_vm.$root.formatDateTime(_vm.event.starttime)) + \" - \" + _vm._s(_vm.$root.formatTime(_vm.event.endtime)) + \"\\n \")]), _vm._v(\" \"), _c('div', {\n staticClass: \"col text-right\"\n }, [_vm._v(\"\\n \" + _vm._s(parseInt(_vm.event.duration / 60, 10)) + \" min\")])]), _vm._v(\" \"), (_vm.event.epg2vdr) ? _c('div', {\n staticClass: \"carousel slide\",\n attrs: {\n \"id\": 'evImages' + _vm.event.eventid,\n \"data-ride\": \"carousel\",\n \"data-interval\": \"5000\"\n }\n }, [_c('div', {\n staticClass: \"carousel-inner\",\n attrs: {\n \"role\": \"listbox\"\n }\n }, _vm._l((_vm.imagecnt), function(n) {\n return _c('div', {\n staticClass: \"carousel-item\",\n class: {\n 'active': n == 1\n }\n }, [_c('img', {\n staticClass: \"d-block\",\n attrs: {\n \"src\": '/data/eventimg?id=' + _vm.event.eventid + '&no=' + (n - 1),\n \"alt\": \"\"\n }\n })])\n })), _vm._v(\" \"), _c('a', {\n staticClass: \"carousel-control-prev\",\n attrs: {\n \"href\": '#evImages' + _vm.event.eventid,\n \"role\": \"button\",\n \"data-slide\": \"prev\"\n }\n }, [_c('span', {\n staticClass: \"carousel-control-prev-icon\",\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }), _vm._v(\" \"), _c('span', {\n staticClass: \"sr-only\"\n }, [_vm._v(\"Previous\")])]), _vm._v(\" \"), _c('a', {\n staticClass: \"carousel-control-next\",\n attrs: {\n \"href\": '#evImages' + _vm.event.eventid,\n \"role\": \"button\",\n \"data-slide\": \"next\"\n }\n }, [_c('span', {\n staticClass: \"carousel-control-next-icon\",\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }), _vm._v(\" \"), _c('span', {\n staticClass: \"sr-only\"\n }, [_vm._v(\"Next\")])]), _vm._v(\" \"), _c('p', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.event.epg2vdr.longdescription)\n }\n })]) : _vm._e()]), _vm._v(\" \"), _c('hr'), _vm._v(\" \"), _c('div', {\n staticClass: \"card-block\"\n }, [_c('p', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.description),\n expression: \"description\"\n }],\n domProps: {\n \"innerHTML\": _vm._s(_vm.description)\n }\n })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return (_vm.timers) ? _c('div', {\n staticClass: \"list-group\",\n attrs: {\n \"id\": \"actual-timer\"\n }\n }, [(!_vm.$root.isOnlyView) ? _c('h3', [_vm._v(\"Timer\")]) : _vm._e(), _vm._v(\" \"), _vm._l((_vm.timers), function(timer, n) {\n return _c('div', {\n staticClass: \"mt-2\"\n }, [_c('a', {\n staticClass: \"list-group-item list-group-item-action flex-column align-items-start active\",\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n _vm.detail = _vm.detail == timer.id ? -1 : timer.id\n }\n }\n }, [_c('div', {\n staticClass: \"d-flex w-100 justify-content-between\"\n }, [_c('h5', {\n staticClass: \"mb-1\"\n }, [_vm._v(_vm._s(timer.file))]), _vm._v(\" \"), _c('small', [_vm._v(_vm._s(_vm.$root.formatDateTime(timer.starttime)))])])]), _vm._v(\" \"), (_vm.detail == timer.id) ? _c('o2w-event', {\n attrs: {\n \"event\": timer.event\n }\n }) : _vm._e()], 1)\n })], 2) : _vm._e()\n},staticRenderFns: []}\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('nav', {\n staticClass: \"navbar navbar-toggleable-xl navbar-light bg-faded fixed-top\"\n }, [_vm._m(0), _vm._v(\" \"), _c('div', {\n staticClass: \"collapse navbar-collapse\",\n attrs: {\n \"id\": \"navbar\"\n }\n }, [_c('ul', {\n staticClass: \"navbar-nav mr-auto\"\n }, _vm._l((_vm.items), function(item) {\n return (!_vm.isHidden(item)) ? _c('li', {\n staticClass: \"nav-item\",\n class: {\n 'active': item.on\n },\n on: {\n \"click\": function($event) {\n _vm.handleSelect(item)\n }\n }\n }, [_c('a', {\n staticClass: \"nav-link\",\n attrs: {\n \"href\": \"#\"\n }\n }, [(item.icon) ? _c('icon', {\n attrs: {\n \"name\": item.icon\n }\n }) : _vm._e(), _c('span', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.renderLabel(item))\n }\n })], 1)]) : _vm._e()\n })), _vm._v(\" \"), (_vm.$root.isActive) ? _c('ul', {\n staticClass: \"navbar-nav ml-auto\"\n }, _vm._l((_vm.itemsRight), function(item) {\n return (!_vm.isHidden(item)) ? _c('li', {\n staticClass: \"nav-item\",\n class: {\n 'active': item.on\n },\n on: {\n \"click\": function($event) {\n _vm.handleSelect(item)\n }\n }\n }, [_c('a', {\n staticClass: \"nav-link\",\n attrs: {\n \"href\": \"#\"\n }\n }, [(item.icon) ? _c('icon', {\n attrs: {\n \"name\": item.icon\n }\n }) : _vm._e(), _c('span', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.renderLabel(item))\n }\n })], 1)]) : _vm._e()\n })) : _vm._e()])])\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('button', {\n staticClass: \"navbar-toggler navbar-toggler-right\",\n attrs: {\n \"type\": \"button\",\n \"data-toggle\": \"collapse\",\n \"data-target\": \"#navbar\",\n \"aria-controls\": \"navbar\",\n \"aria-expanded\": \"false\",\n \"aria-label\": \"Toggle navigation\"\n }\n }, [_c('span', {\n staticClass: \"navbar-toggler-icon\"\n })])\n}]}\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return (_vm.colCount > 0) ? _c('table', {\n staticClass: \"table table-hover\",\n class: {\n 'text-nowrap': _vm.$root.isOnlyView\n }\n }, [_c('tbody', _vm._l((_vm.rows), function(row, rowIndex) {\n return _c('tr', {\n key: rowIndex,\n class: {\n 'table-active': rowIndex == _vm.textmenucurrent\n },\n on: {\n \"click\": function($event) {\n row.selectable && _vm.doAction(rowIndex)\n }\n }\n }, [_vm._l((row.cols), function(col, index) {\n return _c('td', {\n key: index,\n class: {\n 'bg-warning': rowIndex == _vm.textmenucurrent && index == 1 && _vm.canEdit == 1\n }\n }, [_vm._v(_vm._s(col))])\n }), _vm._v(\" \"), (row.selectable && _vm.canEdit == 1) ? _c('td', {\n staticClass: \"btn-group btn-group-sm\"\n }, [_c('a', {\n staticClass: \"btn btn-secondary\",\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n _vm.doAction(rowIndex, 'Left')\n }\n }\n }, [_c('icon', {\n attrs: {\n \"name\": \"caret-left\"\n }\n })], 1), _vm._v(\" \"), _c('a', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (row.textEdit),\n expression: \"row.textEdit\"\n }],\n staticClass: \"btn btn-secondary\",\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n _vm.$root.sendKey('Up')\n }\n }\n }, [_c('icon', {\n attrs: {\n \"name\": \"caret-up\"\n }\n })], 1), _vm._v(\" \"), _c('a', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (row.textEdit),\n expression: \"row.textEdit\"\n }],\n staticClass: \"btn btn-secondary\",\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n _vm.$root.sendKey('Down')\n }\n }\n }, [_c('icon', {\n attrs: {\n \"name\": \"caret-down\"\n }\n })], 1), _vm._v(\" \"), _c('a', {\n staticClass: \"btn btn-secondary\",\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n _vm.doAction(rowIndex, 'Right')\n }\n }\n }, [_c('icon', {\n attrs: {\n \"name\": \"caret-right\"\n }\n })], 1)]) : _vm._e()], 2)\n }))]) : _vm._e()\n},staticRenderFns: []}\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.text),\n expression: \"text\"\n }],\n staticClass: \"card\"\n }, [_c('div', {\n staticClass: \"card-block\",\n domProps: {\n \"innerHTML\": _vm._s(_vm.text)\n }\n })])\n},staticRenderFns: []}\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// skin.js"," \t// The module cache\n \tvar installedModules = {};\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\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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 16);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d374a110fece2e32a396","/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/component-normalizer.js\n// module id = 0\n// module chunks = 0","module.exports = common;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"common\"\n// module id = 1\n// module chunks = 0","var common= require(\"common\");\nimport WebSocketClient from \"./websocket.js\"\ncommon.Icon.register({\"skinfocus\":{\"width\":2048,\"height\":1792,\"paths\":[{\"d\":\"M1792 1248v-960q0-13-9.5-22.5t-22.5-9.5h-1600q-13 0-22.5 9.5t-9.5 22.5v960q0 13 9.5 22.5t22.5 9.5h1600q13 0 22.5-9.5t9.5-22.5zM1920 288v960q0 66-47 113t-113 47h-736v128h352q14 0 23 9t9 23v64q0 14-9 23t-23 9h-832q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h352v-128h-736q-66 0-113-47t-47-113v-960q0-66 47-113t113-47h1600q66 0 113 47t47 113z\"}]}})\n\nexport var Vue= common.Vue;\n\n// Registrieren aller Komponenten:\nVue.component('o2w-event', require('Event'))\nVue.component('o2w-textmenu', require('Textmenu'))\nVue.component('o2w-textarea', require('Textarea'))\nVue.component('o2w-actual', require('Actual'))\nVue.component('o2w-timer', require('Timer'))\nVue.component('o2w-navigation', require('Navigation'))\nVue.component('o2w-remote', require('Remote'))\nVue.component('o2w-osd', require('Osd'))\nVue.component('o2w-statusmessage', require('Statusmessage'))\nVue.component('o2w-overview', require('Overview'))\nVue.component('o2w-replaycontrol', require('ReplayControl'))\n\nexport var root = {\n data: {\n isOnlyView: /[?&]onlyView/.test(location.search), // reine Anzeige ohne direkte Interaktion über den Client\n isActive: false, // ist der Client am VDR als aktive angemeldet\n skinAttached: false,\n hasChannelLogos: false,\n osdOn: false,\n menuItems: [], //\n menuItemsRight: [],\n keyMap: {\n 38: 'Up',\n 40: 'Down',\n 13: 'Ok',\n 8: 'Back',\n 27: 'Back',\n 37: 'Left',\n 39: 'Right',\n 48: '0',\n 49: '1',\n 50: '2',\n 51: '3',\n 52: '4',\n 53: '5',\n 54: '6',\n 55: '7',\n 56: '8',\n 57: '9'\n /*\n Up\n Down\n Menu\n Ok\n Back\n Left\n Right\n Red\n Green\n Yellow\n Blue\n 0\n 1\n 2\n 3\n 4\n 5\n 6\n 7\n 8\n 9\n Info\n Play/Pause\n Play\n Pause\n Stop\n Record\n FastFwd\n FastRew\n Next\n Prev\n Power\n Channel+\n Channel-\n PrevChannel\n Volume+\n Volume-\n Mute\n Audio\n Subtitles\n Schedule\n Channels\n Timers\n Recordings\n Setup\n Commands\n User0\n User1\n User2\n User3\n User4\n User5\n User6\n User7\n User8\n User9\n _Setup\n */\n }\n },\n render: h => h(require('App')),\n methods: {\n sendKey(key, repeat) {\n this.$socket.send({\n event: \"keypress\",\n object: {\n \"key\": key,\n \"repeat\": (repeat || 1)\n }\n });\n },\n mapKey(keyString) {\n let key = this.keyMap[keyString];\n if (key) this.sendKey(key);\n },\n formatDateTime(unixTime) {\n var d = new Date(unixTime * 1000); // - this.timeOffset\n return d.toLocaleDateString('de-DE', {\n weekday: 'short',\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n }) + ' ' + new String(100 + d.getHours()).slice(1) + ':' + new String(100 + d.getMinutes()).slice(1);\n },\n formatTime(unixTime) {\n var d = new Date(unixTime * 1000); // - this.timeOffset\n return new String(100 + d.getHours()).slice(1) + ':' + new String(100 + d.getMinutes()).slice(1);\n }\n /*,\n formatDate(unixTime) {\n var d = new Date(unixTime * 1000); // - this.timeOffset\n return d.toLocaleDateString('de-DE', { weekday: 'short', year: 'numeric', month: 'long', day: 'numeric' });\n }*/\n\n },\n created() {\n try {\n this.$socket = new WebSocketClient({\n url: \"ws://\" + location.host,\n protocol: \"osd2vdr\",\n autoReconnectInterval: 10000,\n onopen: () => {\n if ( this.isActive === null) // Dann wurde es beim Schliessen auf null gesetzt\n this.$socket.send({ \"event\": \"login\", \"object\": { \"type\": + (this.isOnlyView ? 1 : 0) } });\n }, onclose: () => {\n this.isActive = null; // auf null setzten, dass ein neues login aufgerufen wird\n },\n onmessage: (msg) => {\n try {\n let data = JSON.parse(msg.data.replace());\n this.$emit(data.event, data.object);\n } catch (e) {\n console.log(e);\n }\n }\n });\n if (!this.$socket)\n return !(this.$el.innerHTML = \"Your Browser will not support Websockets!\");\n\n this.$socket.send({ \"event\": \"login\", \"object\": { \"type\": + (this.isOnlyView ? 1 : 0) } });\n\n // Nachrichten/Anfragen der Komponenten an den Server weiterleiten\n this.$on(\"send\", this.$socket.send);\n\n // Globale Nachrichten verarbeiten\n this.$on(\"rolechange\", (data) => {\n this.isActive = data.role == 'active';\n this.hasChannelLogos = data.havelogos == 1;\n })\n\n // Interne Nachrichten verarbeiten\n this.$on(\"osdState\", (data) => {\n this.osdOn= data.active;\n //document.getElementById('o2wContent').style.display= data.active ? \"none\" : '';\n });\n\n // Status des VDR-Skins\n let skinMenuItem = {\n label: '',\n on: false,\n icon: 'skinfocus',\n func: function (navComp) {\n navComp.$root.$emit(\"send\", {\n \"event\": (this.on ? \"leavefocus\" : \"takefocus\")\n });\n }\n };\n this.$on(\"skinstate\", (data) => {\n this.skinAttached = data.attached == 1;\n this.$root.$set(skinMenuItem, \"on\", this.skinAttached);\n })\n this.menuItemsRight.push(skinMenuItem);\n\n\n if (this.isOnlyView) {\n var scrollingElement = document.scrollingElement || document.documentElement;\n window.autoScroll = function (delta) {\n\n let hasVScroll = document.body.scrollHeight > document.body.clientHeight;\n let cStyle = document.body.currentStyle || window.getComputedStyle(document.body, \"\");\n hasVScroll = cStyle.overflow == \"visible\"\n || cStyle.overflowY == \"visible\"\n || (hasVScroll && cStyle.overflow == \"auto\")\n || (hasVScroll && cStyle.overflowY == \"auto\");\n\n let nextCall = 3000;\n if (hasVScroll) {\n let curTop = scrollingElement.scrollTop;\n scrollingElement.scrollTop += delta;\n if (curTop == scrollingElement.scrollTop)\n delta *= -1;\n nextCall = 80;\n }\n window.setTimeout(window.autoScroll, nextCall, delta);\n }\n window.autoScroll(0);\n } else {\n // Browserevent abfangen\n window.addEventListener('keyup', (ev) => {\n this.mapKey((ev.altKey ? 'alt.' : '') + (ev.ctrlKey ? 'ctrl.' : '') + (ev.shiftKey ? 'shift.' : '') + ev.keyCode)\n });\n }\n\n window.addEventListener(\"unload\", () => {\n this.$socket.send({ \"event\": \"logout\", \"object\": {} });\n })\n\n } catch (exception) {\n alert('

Error' + exception);\n }\n }\n}\n\n/* TODO\n { \"event\" : \"channels\" } holt alle channels -> sollte ggf. gecacht werden\n\n*/\n\n\n/*\nenum ObjectShape\n {\n osText = 0x01,\n osSmall = 0x02,\n osLarge = 0x04,\n };\n\nmögliche langeobjekte:\n 5 -> Kanäle\n 3 -> Programm 'Jetzt'\n 4 -> Programm 'Next'\n 2 -> Programm\n 7 -> Timer\n 9 -> Aufzeichnungen\n\n*/\n\n\n\n// WEBPACK FOOTER //\n// ./src/root.js","\n\n\n\n\n// WEBPACK FOOTER //\n// App.vue?ea9a069c","\n\n\n\n\n\n// WEBPACK FOOTER //\n// Event.vue?307ab55f","\n\n\n\n\n\n// WEBPACK FOOTER //\n// Navigation.vue?008388d4","\n\n\n\n// WEBPACK FOOTER //\n// Osd.vue?b4857b28","\n\n\n\n\n// WEBPACK FOOTER //\n// Remote.vue?06f24876","\n\n\n\n\n// WEBPACK FOOTER //\n// ReplayControl.vue?0cccb5d2","\n\n\n\n\n\n// WEBPACK FOOTER //\n// Statusmessage.vue?09f2fc3f","\n\n\n\n\n// WEBPACK FOOTER //\n// Textarea.vue?2b4bda3e","\n\n\n\n\n\n// WEBPACK FOOTER //\n// Textmenu.vue?66bf4ba8","\n\n\n\n\n// WEBPACK FOOTER //\n// Timer.vue?0387289c","