{"version":3,"sources":["webpack:///./src/LiveTextApp.vue?1a70","webpack:///./src/components/LiveTitleDisplay.vue?780d","webpack:///src/components/LiveTitleDisplay.vue","webpack:///./src/components/LiveTitleDisplay.vue?8dcc","webpack:///./src/components/LiveTitleDisplay.vue","webpack:///./src/components/PlayerInfo.vue?deb6","webpack:///./src/components/PlayPauseSplash.vue?1982","webpack:///./src/components/ClientPlayer.vue?89e2","webpack:///./src/components/ClientPlayerControls.vue?7491","webpack:///./src/utils/isTouchDevice.js","webpack:///./src/components/buttons/Fullscreen.vue?ebf3","webpack:///src/components/buttons/Fullscreen.vue","webpack:///./src/components/buttons/Fullscreen.vue?d206","webpack:///./src/components/buttons/Fullscreen.vue","webpack:///./src/utils/iOs.js","webpack:///src/components/ClientPlayerControls.vue","webpack:///./src/components/ClientPlayerControls.vue?caf5","webpack:///./src/components/ClientPlayerControls.vue","webpack:///./src/components/PlayerInfo.vue?caf5","webpack:///src/components/PlayerInfo.vue","webpack:///./src/components/PlayerInfo.vue?dcba","webpack:///./src/components/PlayerInfo.vue","webpack:///./src/components/PlayPauseSplash.vue?d282","webpack:///src/components/PlayPauseSplash.vue","webpack:///./src/components/PlayPauseSplash.vue?fde9","webpack:///./src/components/PlayPauseSplash.vue","webpack:///./src/utils/fullscreen.js","webpack:///./src/utils/browseractive.js","webpack:///./src/utils/pagevisible.js","webpack:///./src/components/buttons/LanguageIcons.vue?ee40","webpack:///src/components/buttons/LanguageIcons.vue","webpack:///./src/components/buttons/LanguageIcons.vue?0e6c","webpack:///./src/components/buttons/LanguageIcons.vue","webpack:///src/components/ClientPlayer.vue","webpack:///./src/components/ClientPlayer.vue?7a77","webpack:///./src/components/ClientPlayer.vue","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/components/buttons/LanguageIcons.vue?f3c9","webpack:///./src/utils/get-browser-locale.js","webpack:///./src/config/supported-locales.js","webpack:///./src/utils/supported-locales.js","webpack:///./src/i18n.js","webpack:///./src/LiveTextApp.vue?d751","webpack:///src/LiveTextApp.vue","webpack:///./src/LiveTextApp.vue?035f","webpack:///./src/LiveTextApp.vue","webpack:///./src/sockets/index.js","webpack:///./src/subtitleBuffer/index.js","webpack:///./src/mixins/playerCore.js","webpack:///./src/api/public.js","webpack:///./src/utils/index.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","darkMode","ref","_v","directives","name","rawName","value","expression","attrs","domProps","Array","isArray","autoScroll","_i","on","toggleAutoScroll","$event","$$a","$$el","target","$$c","checked","$$v","$$i","concat","slice","style","fontSize","_l","text","indx","key","_s","staticRenderFns","props","buffer","isOn","Boolean","studioId","type","String","default","utils","getUrlParameter","created","currentTime","Date","baseTime","currentMinute","getSeconds","clock","mounted","flowContentBB","$refs","flowContent","getBoundingClientRect","addEventListener","checkScrolling","writer","interval","setInterval","checkDimensions","data","displayStrings","flowTextBB","writeBuffer","lastEntryTime","lastEntryLineBreakThreshold","vel","destroyed","clearInterval","watch","computed","liveTitleDisplay","sts","le","length","extractLines","flowingText","a","lines","reduce","acc","cv","timestamp","clockDisplay","ct","formatTimeDigit","getHours","getMinutes","methods","digit","m","processNewClockCycle","error","onUpdateBuffer","now","lE","lEEndsWithDot","$set","push","newLine","char","charAt","substring","lp","setTimeout","Math","max","min","flowText","height","scrollTo","element","to","duration","start","scrollTop","change","increment","animateScroll","val","easeInOutQuad","component","viewmode","showControls","videoWrapperCssClass","displayMode","stopPipMoveResize","$t","videoPoster","currentTarget","togglePlayPlause","stopPropagation","preventDefault","touchTogglePlayPlause","onToggleFullscreen","isPipOn","onResetPip","startPipMove","indexOf","_k","keyCode","relativePipPosY","relativePipPosX","onResizeStart","_e","streamErrorMessage","isPlaying","hasToggledPlayPause","onTogglePlay","controlState","streams","streamSubtitlesLangs","languageSwitch","videoEl","isCaptionOn","isMuted","isFullscreen","selectedStreamIdx","onBlur","onTogglePip","setCaptionVisibility","setVolume","onFocus","onToggleMute","onSelectStream","onLanguageSwitch","showLiveTitles","liveTitlesBufferRef","countdownCtr","debugging","item","index","setPlayerInfoState","$i18n","locale","availableLanguages","setLanguage","stopAction","tooltip","togglePlay","showTooltip","hideTooltip","showVolumeControlIfFocusByKeyboardOrMouse","maybeHideVolumeControl","toggleMute","active","showVolumeControl","button","volumeInPercent","staticStyle","startVolumeChange","left","volumeSliderPos","selectedStreamType","isConnected","activeLogo","availablesubtitleLangs","toggleLang","languageToggleOn","lang","streamId","selectedLanguage","selectLang","availableLanguageSwitches","selectLanguageSwitch","onCaptionsToggle","togglePip","toggleFullscreen","is_touch_device","prefixes","split","mq","query","window","matchMedia","matches","DocumentTouch","document","join","e","$emit","isIOS","navigator","platform","match","components","FullscreenButton","volumeSliderBB","volumeSliderLength","isChangingVolume","volumeHideTimeout","lastVol","hideTimeout","display","transform","pollConnectionState","volumeSlider","hasTextTracks","textTracks","selectedTextTrack","tt","i","mode","sid","id","langs","filter","showFullScreenButton","isTouchDevice","el","nodeName","dataset","apb","clearTimeout","clientWidth","root","pos","t","ew","innerWidth","ol","bh","x","y","refreshTooltip","ev","b","$nextTick","selectStream","idx","nextMuteState","toggleTextTrack","onStreamsChanged","logo","onSelectedStreamIdxChanged","that","conns","sockets","getOpenConnections","p","round","pixelPos","clientX","processVolumeSliderMove","event","touches","keepVolumeState","isChanging","volumeHasChanged","pv","lpv","isNaN","removeEventListener","show","expanded","togglePlayerInfo","showFullscreen","playStatus","initialPlay","toggleTimeout","hasToggled","toggle","fn","fnMap","l","ret","eventNameMap","fullscreenchange","fullscreenerror","screenfull","request","Promise","resolve","reject","onFullScreenEntered","off","bind","documentElement","requestFullscreen","catch","exit","onFullScreenExit","exitFullscreen","onchange","callback","onerror","eventName","raw","Object","defineProperties","get","fullscreenElement","enumerable","isEnabled","fullscreenEnabled","lastTime","getTime","addBrowserActiveHandler","onInactiveHandler","hidden","visibilityChange","handler","handleVisibilityChange","addPageVisibilityListener","hf","undefined","removePageVisibilityListener","msHidden","webkitHidden","$$selectedVal","prototype","call","options","o","selected","map","_value","_model","multiple","getName","names","de","fr","it","en","model","set","v","mixins","playerCore","LiveTitleDisplay","ClientPlayerControls","PlayPauseSplash","PlayerInfo","LanguageSelector","hideCaptionsInitially","posterImg","ccolor","cbgcolor","language","defaultLanguage","showLanguageSelector","controlsStyle","color","backgroundColor","pagevisible","onPageVisibilityChange","browseractive","refreshClient","checkForKeyboardInput","innerHeight","pipStream","maxSize","w","h","pipX","pipY","pipMarginTop","pipMarginLeft","pipW","pipW_orig","pipH","pipH_orig","pipBB","userPipPos","pipWidth","pipHeight","isPipMoving","isPipResizing","activeHandle","playerDelay","clickCoordinateX","clickCoordinateY","pipRatio","videoResizeTimeout","isControlsTransitioning","showControlsTimeout","videoDescription","resizeTimeout","focusTimeout","pageInactiveTime","playerInfoState","pipWrapperStyle","cssVars","controlsCssVars","top","width","pipVideoStyle","marginTop","marginLeft","streamError","hasMsg","streamType","details","message","videoHasFocus","showSync","beforeDestroy","onWindowResizeHandler","initSelf","subtitlesOff","updateClientStateLoop","afterMounted","video0","muted","onStreamSessionReady","showPIPInitially","state","viewerId","status","currentSubtitleText","fragPlaying","sn","playingFragmentTime","toLocaleString","api","updateClientState","then","setInitialPipCrop","clientHeight","crops","pw","ph","px","py","calcW","calcH","resizeFactor","olX","olY","evaluateRealtivePipPos","onWindowResize","pipWrapper","wrapperBB","wrapper","pipCrop","loadVideoOn","video1","url","play","switchChannel","onMouseMove","deltaX","deltaY","clientY","g","targetH","targetW","scaleX","scaleY","handle","stopImmediatePropagation","doPlay","vidEl","pipVidEl","d","sl","segmentLength","safeLive","oldMessagesDiscarded","pause","vol","volume","pipWasOn","doMute","onShowSyncChanged","newVal","countdown","visible","pageInactiveSince","onPageInactiveTimeChanged","dt","location","reload","body","activeElement","blur","href","handleStreamFallback","ms","ss","webpackContext","req","webpackContextResolve","__webpack_require__","Error","code","keys","module","exports","getBrowserLocale","arguments","defaultOptions","countryCodeOnly","opt","_objectSpread","navigatorLocale","languages","trimmedLocale","trim","supportedLocalesInclude","supportedLocales","includes","loadLocaleMessages","locales","require","messages","forEach","matched","getStartingLocale","paramsLocale","browserLocale","process","Vue","use","VueI18n","fallbackLocale","prepareTextTrack","subtitleLoop","goServiceAddr","origin","replace","_numOfOpenConnections","abortOnClose","openConnections","retries","initWS","studioID","processCB","env","console","addr","conn","WebSocket","onopen","onclose","splice","pow","onmessage","evt","close","closeWS","_buffer","_liveTitlesBuffer","ctr","showDuration","delay","humanTime","toHumanTime","paragraph","st0","sd","unshift","pop","shift","peek","lastElement","getBuffer","getLiveTitlesBuffer","fixEncoding","str","replacements","out","replacement","replaceAll","TextDecoder","fatal","decode","Uint8Array","from","c","charCodeAt","logEncodingErrors","result","line","fixedLine","discardOlderThan","time","filtered","createPlaceholderTitle","ts","bufferRef","subtitleBuffer","prepareVideoEl","initCommon","sessionProfileId","logger","monitorView","isNative","streamURL","fragLoaded","fragVideoTime","programDateTime","isLive","currentSubtitleTime","videoCurrentTime","videoDuration","legacyDelay","passthrough","timeOffsetToZeroFragment","segmentDuration","nOpenWsConns","pft","useProgramTimestamp","bufferDisplay","reverse","playerTimecodes","hlss","joinStreamingSession","processMessage","profileId","history","JSON","parse","maxLevelCap","Hls","isSupported","destroy","config","capLevelToPlayerSize","hls","autoLevelCapping","currentLevel","attachMedia","loadSource","Events","MANIFEST_PARSED","timings","ERROR","err","FRAG_CHANGED","frag","LEVEL_LOADED","live","FRAG_LOADED","src","setVideoError","getElementById","addTextTrack","t0","addCue","createVTTCue","st","et","VTTCue","TextTrackCue","log","isMessageTargetingStream","paused","offset","streamTime","loadsubtitlesLabel","placeholder","showCue","fromTime","subtitleCue","cues","cue","extractLinePosition","startTime","endTime","position","region","values","stream","fetch","response","json","_fetchFromGoService","method","headers","stringify","regex","RegExp","results","exec","search","decodeURIComponent","findByPropValue","arr","find","generateUuid","randomDigit","crypto","getRandomValues","rands","toString","random","msCrypto"],"mappings":"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","file":"js/chunk-common.8f80542d.js","sourcesContent":["import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTextApp.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTextApp.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"live-titles-display\",class:{'dark-mode' : _vm.darkMode}},[_c('div',{ref:\"flowContent\",staticClass:\"live-titles-display__content\"},[_c('label',{staticClass:\"autoscroll\"},[_vm._v(\"autoscroll\"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.autoScroll),expression:\"autoScroll\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.autoScroll)?_vm._i(_vm.autoScroll,null)>-1:(_vm.autoScroll)},on:{\"click\":_vm.toggleAutoScroll,\"change\":function($event){var $$a=_vm.autoScroll,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.autoScroll=$$a.concat([$$v]))}else{$$i>-1&&(_vm.autoScroll=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.autoScroll=$$c}}}})]),_c('div',{staticClass:\"live-titles-display__flow-content\"},[_c('div',{ref:\"flowText\",staticClass:\"live-titles-display__flow-content-text\",style:({'font-size': _vm.fontSize})},[_vm._l((_vm.displayStrings),function(text,indx){return [(text === 'doublebreak')?[_c('br',{key:'br1-' + indx}),_c('br',{key:'br2-' + indx})]:(text === 'break')?[_c('br',{key:indx})]:[_c('span',{key:indx},[_vm._v(_vm._s(text))])]]})],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTitleDisplay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTitleDisplay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LiveTitleDisplay.vue?vue&type=template&id=78f112bb&\"\nimport script from \"./LiveTitleDisplay.vue?vue&type=script&lang=js&\"\nexport * from \"./LiveTitleDisplay.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayerInfo.vue?vue&type=style&index=0&id=78f3fde0&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayerInfo.vue?vue&type=style&index=0&id=78f3fde0&scoped=true&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayPauseSplash.vue?vue&type=style&index=0&id=6051812b&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayPauseSplash.vue?vue&type=style&index=0&id=6051812b&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"swisstxt-live-subtitles-player\",class:[_vm.viewmode, 'studio-' + _vm.studioId],attrs:{\"role\":\"main\"},on:{\"mousemove\":_vm.showControls,\"touchstart\":_vm.showControls,\"keydown\":_vm.showControls}},[_c('div',{ref:\"wrapper\",staticClass:\"video-wrapper\",class:[_vm.videoWrapperCssClass, _vm.displayMode],on:{\"mouseup\":_vm.stopPipMoveResize,\"touchend\":_vm.stopPipMoveResize}},[_c('video',{ref:\"video0\",attrs:{\"id\":\"video\",\"aria-label\":_vm.$t('video.aria_label'),\"playsinline\":\"\",\"tabindex\":\"1\",\"poster\":_vm.videoPoster},on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.togglePlayPlause($event)},\"touchstart\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.touchTogglePlayPlause($event)},\"dblclick\":function($event){$event.preventDefault();return _vm.onToggleFullscreen($event)}}}),_c('div',{ref:\"pipWrapper\",staticClass:\"pip-player-wrapper\",class:{ 'is-on': _vm.isPipOn },style:(_vm.pipWrapperStyle),attrs:{\"role\":\"complementary\"},on:{\"dblclick\":function($event){$event.preventDefault();return _vm.onResetPip($event)},\"mousedown\":_vm.startPipMove,\"touchstart\":_vm.startPipMove}},[_c('video',{ref:\"video1\",staticClass:\"pip-player\",style:(_vm.pipVideoStyle),attrs:{\"preload\":\"none\",\"id\":\"video-pip\",\"playsinline\":\"\",\"muted\":\"\"},domProps:{\"muted\":true},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();return _vm.togglePlayPlause($event)}}}),(_vm.relativePipPosY >= 50 && _vm.relativePipPosX >= 50)?_c('div',{staticClass:\"handle handle-tl\",on:{\"mousedown\":function($event){return _vm.onResizeStart($event, 'tl')},\"touchstart\":function($event){return _vm.onResizeStart($event, 'tl')}}}):_vm._e(),(_vm.relativePipPosY >= 50 && _vm.relativePipPosX <= 50)?_c('div',{staticClass:\"handle handle-tr\",on:{\"mousedown\":function($event){return _vm.onResizeStart($event, 'tr')},\"touchstart\":function($event){return _vm.onResizeStart($event, 'tr')}}}):_vm._e(),(_vm.relativePipPosY <= 50 && _vm.relativePipPosX <= 50)?_c('div',{staticClass:\"handle handle-br\",on:{\"mousedown\":function($event){return _vm.onResizeStart($event, 'br')},\"touchstart\":function($event){return _vm.onResizeStart($event, 'br')}}}):_vm._e(),(_vm.relativePipPosY <= 50 && _vm.relativePipPosX >= 50)?_c('div',{staticClass:\"handle handle-bl\",on:{\"mousedown\":function($event){return _vm.onResizeStart($event, 'bl')},\"touchstart\":function($event){return _vm.onResizeStart($event, 'bl')}}}):_vm._e(),(_vm.streamErrorMessage)?_c('div',{staticClass:\"stream-error-message\"},[_c('span',[_vm._v(_vm._s(_vm.streamErrorMessage))])]):_vm._e()]),_c('play-pause-splash',{style:(_vm.controlsCssVars),attrs:{\"role\":\"banner\",\"isPlaying\":_vm.isPlaying,\"hasToggled\":_vm.hasToggledPlayPause},on:{\"play\":_vm.onTogglePlay}}),_c('client-player-controls',{class:[_vm.controlState],style:(_vm.controlsCssVars),attrs:{\"role\":\"navigation\",\"aria-label\":_vm.$t('controls.label'),\"streams\":_vm.streams,\"streamSubtitlesLangs\":_vm.streamSubtitlesLangs,\"languageSwitch\":_vm.languageSwitch,\"videoEl\":_vm.videoEl,\"isPlaying\":_vm.isPlaying,\"isCaptionOn\":_vm.isCaptionOn,\"isMuted\":_vm.isMuted,\"isPipOn\":_vm.isPipOn,\"isFullscreen\":_vm.isFullscreen,\"selectedStreamIdx\":_vm.selectedStreamIdx},on:{\"blur\":_vm.onBlur,\"togglePip\":_vm.onTogglePip,\"setCaptionVisibility\":_vm.setCaptionVisibility,\"volume-adjusted\":_vm.setVolume,\"play\":_vm.onTogglePlay,\"focus\":_vm.onFocus,\"mute\":_vm.onToggleMute,\"selectStream\":_vm.onSelectStream,\"toggleFullscreen\":_vm.onToggleFullscreen,\"languageSwitch\":_vm.onLanguageSwitch}}),(_vm.showLiveTitles === '1')?_c('live-title-display',{attrs:{\"buffer\":_vm.liveTitlesBufferRef}}):_vm._e(),(_vm.showSync)?_c('div',{staticClass:\"video-wrapper__sync-splash\"},[_c('div',{staticClass:\"video-wrapper__gauge-wrapper\"},[_c('div',{staticClass:\"video-wrapper__gauge\"}),_c('div',{staticClass:\"video-wrapper__countdown\"},[_c('span',[_vm._v(_vm._s(_vm.countdownCtr))])])])]):_vm._e()],1),(_vm.debugging === '1')?_c('div',{staticClass:\"debug-panel\"},_vm._l((_vm.logger),function(item,index){return _c('span',{key:'logentry-' + index,staticClass:\"debug-panel__entry\"},[_vm._v(_vm._s(item))])}),0):_vm._e(),_c('player-info',{style:(_vm.controlsCssVars),on:{\"toggleState\":_vm.setPlayerInfoState}}),(_vm.showLanguageSelector)?_c('language-selector',{style:(_vm.controlsCssVars),attrs:{\"name\":'language',\"id\":'language-selector',\"model\":_vm.$i18n.locale,\"options\":_vm.availableLanguages},on:{\"set\":_vm.setLanguage}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"root\",staticClass:\"player-controls\",on:{\"focus\":_vm.onFocus,\"touchend\":_vm.stopAction,\"mouseup\":function($event){$event.preventDefault();return _vm.stopAction($event)}}},[_c('div',{staticClass:\"ap-tooltip ap-bottom\",style:(_vm.tooltip.style),attrs:{\"aria-live\":\"polite\"}},[_c('div',{staticClass:\"ap-tooltip-text-wrapper\"},[_c('span',{staticClass:\"ap-tooltip-text\"},[_vm._v(_vm._s(_vm.tooltip.text))])])]),_c('div',{staticClass:\"player-controls__wrapper\"},[_c('div',{staticClass:\"play-controls\"},[(!_vm.isPlaying)?_c('button',{staticClass:\"player-controls__icon-btn ap-button ap-cpe nt\",attrs:{\"tabindex\":\"0\",\"aria-label\":_vm.$t('player.play-label'),\"data-apb\":\"play\"},on:{\"focus\":_vm.onFocus,\"click\":function($event){$event.stopPropagation();return _vm.togglePlay($event)},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('svg',{attrs:{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8 5v14l11-7z\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])]):_c('button',{staticClass:\"player-controls__icon-btn ap-button ap-cpe nt\",attrs:{\"tabindex\":\"0\",\"aria-label\":_vm.$t('player.pause-label'),\"data-apb\":\"pause\"},on:{\"focus\":_vm.onFocus,\"click\":function($event){$event.stopPropagation();return _vm.togglePlay($event)},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('svg',{attrs:{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 14H9V8h2v8zm4 0h-2V8h2v8z\"}})])]),_c('div',{staticClass:\"ap-cpe\",on:{\"mouseover\":_vm.showVolumeControlIfFocusByKeyboardOrMouse,\"mouseleave\":_vm.maybeHideVolumeControl}},[_c('button',{staticClass:\"player-controls__icon-btn ap-button player-controls__volume-button nt\",attrs:{\"tabindex\":\"0\",\"data-apb\":_vm.isMuted ? 'unmute' : 'mute',\"aria-checked\":_vm.isMuted ? true : false,\"aria-label\":_vm.isMuted ? _vm.$t('player.unmute') : _vm.$t('player.mute')},on:{\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip,\"focus\":_vm.showVolumeControlIfFocusByKeyboardOrMouse,\"!click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleMute($event)}}},[(!_vm.isMuted)?_c('svg',{attrs:{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})]):_c('svg',{attrs:{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])]),_c('div',{staticClass:\"player-controls__volume-panel\",class:{ active: _vm.showVolumeControl },attrs:{\"tabindex\":\"0\",\"data-apb\":\"volume\",\"aria-label\":_vm.$t('player.volume')},on:{\"!keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"])){ return null; }if('button' in $event && $event.button !== 0){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.setVolume(_vm.volumeInPercent - 10)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"])){ return null; }if('button' in $event && $event.button !== 2){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.setVolume(_vm.volumeInPercent + 10)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.setVolume(_vm.volumeInPercent - 10)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.setVolume(_vm.volumeInPercent + 10)}],\"focus\":_vm.onFocus}},[_c('div',{ref:\"volumeSlider\",staticClass:\"player-controls__volume-slider\",staticStyle:{\"touch-action\":\"none\"},attrs:{\"role\":\"slider\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\",\"aria-valuenow\":_vm.volumeInPercent,\"aria-valuetext\":((_vm.$t('player.volume')) + \": \" + _vm.volumeInPercent + \"%\")},on:{\"mousedown\":function($event){$event.preventDefault();return _vm.startVolumeChange($event)},\"touchstart\":_vm.startVolumeChange,\"!keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"])){ return null; }if('button' in $event && $event.button !== 0){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.setVolume(_vm.volumeInPercent - 10)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"])){ return null; }if('button' in $event && $event.button !== 2){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.setVolume(_vm.volumeInPercent + 10)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.setVolume(_vm.volumeInPercent - 10)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.setVolume(_vm.volumeInPercent + 10)}]}},[_c('div',{ref:\"volumeHandler\",staticClass:\"player-controls__volume-slider-handle\",style:({ left: (_vm.volumeSliderPos + \"px\") }),attrs:{\"draggable\":\"true\"}})])])])]),_c('div',{staticClass:\"stream-controls\"},[(_vm.selectedStreamType === 'main')?_c('div',{staticClass:\"connection\",class:{ 'is-connected': _vm.isConnected },attrs:{\"title\":_vm.isConnected ? 'live captions on' : 'no captions'}}):_vm._e(),(_vm.activeLogo)?_c('div',{staticClass:\"player-controls__icon-btn ap-button channel-icon\"},[_c('img',{attrs:{\"src\":_vm.activeLogo}})]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.availablesubtitleLangs != null & _vm.availablesubtitleLangs.length > 1),expression:\"availablesubtitleLangs != null & availablesubtitleLangs.length > 1\"}],staticClass:\"langs-cell ap-cpe\",attrs:{\"tabindex\":\"0\",\"id\":\"subtitle-languages\",\"aria-label\":_vm.$t('player.select_subtitles')},on:{\"!keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleLang($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleLang($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleLang($event)}],\"focus\":_vm.onFocus}},[_c('ul',{staticClass:\"langs\",class:{ 'is-visible': _vm.languageToggleOn },attrs:{\"role\":\"tablist\"}},_vm._l((_vm.availablesubtitleLangs),function(item){return _c('li',{key:'lang' + item.lang + '-' + item.streamId,attrs:{\"role\":\"tab\",\"tabindex\":\"0\",\"aria-selected\":_vm.selectedLanguage && _vm.selectedLanguage.lang === item.lang\n ? true\n : false,\"aria-controls\":\"subtitle-languages\",\"aria-label\":item.lang},on:{\"click\":function($event){$event.stopPropagation();return _vm.selectLang($event, item)}}},[_vm._v(\" \"+_vm._s(item.lang)+\" \")])}),0),_c('span',{staticClass:\"selected-lang\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleLang($event)}}},[_vm._v(_vm._s(_vm.selectedLanguage ? _vm.selectedLanguage.lang : \"\"))])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.availableLanguageSwitches != null & _vm.availableLanguageSwitches.length > 1),expression:\"availableLanguageSwitches != null & availableLanguageSwitches.length > 1\"}],staticClass:\"langs-cell ap-cpe\",attrs:{\"tabindex\":\"0\",\"id\":\"stream-languages\",\"aria-label\":_vm.$t('player.select_language')},on:{\"!keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleLang($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleLang($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleLang($event)}],\"focus\":_vm.onFocus}},[_c('ul',{staticClass:\"langs\",class:{ 'is-visible': _vm.languageToggleOn },attrs:{\"role\":\"tablist\"}},_vm._l((_vm.availableLanguageSwitches),function(item){return _c('li',{key:'lang' + item.lang + '-' + item.streamId,attrs:{\"role\":\"tab\",\"tabindex\":\"0\",\"aria-selected\":_vm.selectedLanguage && _vm.selectedLanguage.lang === item.lang\n ? true\n : false,\"aria-controls\":\"stream-languages\",\"aria-label\":item.lang},on:{\"click\":function($event){$event.stopPropagation();return _vm.selectLanguageSwitch($event, item)}}},[_vm._v(\" \"+_vm._s(item.lang)+\" \")])}),0),_c('span',{staticClass:\"selected-lang\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleLang($event)}}},[_vm._v(_vm._s(_vm.selectedLanguage ? _vm.selectedLanguage.lang : \"\"))])]),_c('button',{staticClass:\"player-controls__icon-btn ap-button caption-icon ap-cpe\",class:{ 'is-on': _vm.isCaptionOn },attrs:{\"aria-label\":_vm.$t('player.toggle_subtitles'),\"aria-checked\":_vm.isCaptionOn ? true : false,\"data-apb\":_vm.isCaptionOn ? 'hide_subtitles' : 'subtitles'},on:{\"click\":function($event){$event.stopPropagation();return _vm.onCaptionsToggle($event)},\"focus\":_vm.onFocus,\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('svg',{attrs:{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM4 12h4v2H4v-2zm10 6H4v-2h10v2zm6 0h-4v-2h4v2zm0-4H10v-2h10v2z\"}})])]),(_vm.streams && _vm.streams.length > 1)?_c('button',{staticClass:\"player-controls__icon-btn ap-button player-controls__toggle-pip ap-cpe\",class:{ 'is-on': _vm.isPipOn },attrs:{\"aria-hidden\":\"true\",\"title\":_vm.isPipOn ? _vm.$t('player.hide_pip') : _vm.$t('player.show_pip'),\"data-apb\":_vm.isPipOn ? 'hide_pip' : 'pip'},on:{\"click\":function($event){$event.stopPropagation();return _vm.togglePip($event)},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip,\"focus\":_vm.onFocus}},[_c('svg',{attrs:{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"viewBox\":\"0 0 100 100\"}},[_c('path',{attrs:{\"d\":\"M25.29,100H22.75a.89.89,0,0,0-.25-.14,5.39,5.39,0,0,1-4.17-5.33A5.51,5.51,0,0,1,22.9,89.4c1.26-.27,2.57-.37,3.86-.53l9.94-1.23V87.5H35.53c-7.49,0-15,0-22.46,0a5.31,5.31,0,0,1-5.38-6.2,5.6,5.6,0,0,1,5.68-4.52q11.13,0,22.27,0h1a.36.36,0,0,0-.26-.17Q23.77,75,11.14,73.43c-1.64-.21-3.32-.18-4.78-1.19A6.28,6.28,0,0,1,4,68.55V67a1.73,1.73,0,0,0,.17-.33,5.64,5.64,0,0,1,6.19-4.1c6.42.78,12.84,1.61,19.26,2.41l5.79.7a1.52,1.52,0,0,0-.77-.42c-5.58-1.5-11.17-3-16.75-4.51a8.48,8.48,0,0,1-2.08-.81,5.26,5.26,0,0,1-2.48-6.51,5.32,5.32,0,0,1,6.24-3.28C23.81,51,28,52,32.26,52.83c8.09,1.6,16.2,3.13,24.31,4.68a1.64,1.64,0,0,0,2-1.07c.4-.89.12-1.65-.86-2.31-3.37-2.27-6.76-4.52-10.12-6.81a5.32,5.32,0,0,1-1.2-7.87,5.48,5.48,0,0,1,7.48-.82C58,41.41,62.25,44.16,66.39,47a28.57,28.57,0,0,1,4.81,4.1c3.23,3.53,6.31,7.19,9.39,10.85A6.52,6.52,0,0,1,82,67.48q-2,11.52-4,23a5.49,5.49,0,0,1-5,4.59c-5.11.52-10.22,1.09-15.33,1.6Q44,98.1,30.21,99.44C28.57,99.61,26.93,99.81,25.29,100Z\"}}),_c('path',{attrs:{\"d\":\"M97,41.6c-.45,2.59-.85,5.18-1.37,7.76-.61,3.09-1.32,6.16-2,9.24a7.18,7.18,0,0,1-4,5.12c-1.86.92-3.7,1.88-5.64,2.87-.08-.66-.13-1.22-.22-1.78a8.41,8.41,0,0,0-2-4.18c-2.88-3.36-5.67-6.81-8.69-10a40.58,40.58,0,0,0-6-5.21c-3.8-2.73-7.81-5.17-11.65-7.86-2.73-1.91-6.27-2.77-9.9.22-.16-.18-.35-.35-.5-.55-4.17-5.54-8.35-11.06-12.5-16.61a5.31,5.31,0,0,1,3-8.56,5.57,5.57,0,0,1,5.87,2.43q4.28,5.64,8.53,11.29c1.59,2.1,3.18,4.2,5,6.2-.16-.31-.3-.62-.47-.92L41.45,8.61A5.34,5.34,0,0,1,42,2.18,5.4,5.4,0,0,1,50.72,3.3C53,7.11,55.14,11,57.34,14.8c2,3.53,4,7.05,6.23,10.52l-.33-.87C61.05,19,58.88,13.59,56.67,8.18A7,7,0,0,1,56.25,4a5.33,5.33,0,0,1,4-4H62.4c2.26.7,3.5,2.34,4.41,4.45,1.38,3.22,2.89,6.39,4.41,9.54q5.57,11.49,11.2,22.93C83,38,83.71,38.39,84.69,38.1A1.82,1.82,0,0,0,86,36q-.33-5.88-.65-11.78a5.44,5.44,0,0,1,4.93-6A5.54,5.54,0,0,1,96,23.61c.2,3.64.4,7.27.62,10.91.08,1.39.22,2.77.34,4.15Z\"}}),_c('path',{attrs:{\"d\":\"M45.2,38A7.19,7.19,0,0,0,46.65,48.9c3,2,6,4,9,6.05a2.15,2.15,0,0,1,.73.74c-1.37-.22-2.75-.43-4.12-.66-2.24-.38-4.49-.72-6.72-1.17A3.19,3.19,0,0,1,43.88,53Q36.61,45.1,29.39,37.14a5.36,5.36,0,0,1-1.42-5,5.17,5.17,0,0,1,7-3.73,4.58,4.58,0,0,1,1.59.92C39.49,32.18,42.34,35.11,45.2,38Z\"}})])]):_vm._e(),(_vm.showFullScreenButton)?_c('fullscreen-button',{attrs:{\"isFullscreen\":_vm.isFullscreen},on:{\"toggleFullscreen\":_vm.toggleFullscreen,\"showTooltip\":_vm.showTooltip,\"hideTooltip\":_vm.hideTooltip,\"focus\":_vm.onFocus}}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function is_touch_device() {\n var prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n var mq = function (query) {\n return window.matchMedia(query).matches;\n }\n\n if (('ontouchstart' in window) || window.DocumentTouch && document instanceof window.DocumentTouch) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n var query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\n return mq(query);\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"ap-fullscreen-button ap-button ap-cpe\",attrs:{\"aria-checked\":_vm.isFullscreen ? true : false,\"role\":\"switch\",\"data-apb\":\"fullscreen\",\"aria-label\":_vm.$t('player.toggle_fullscreen-label')},on:{\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip,\"click\":_vm.toggleFullscreen,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.toggleFullscreen($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }return _vm.toggleFullscreen($event)}],\"focus\":_vm.onFocus}},[(_vm.isFullscreen)?_c('svg',{staticClass:\"stop-fs\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{staticClass:\"ap-svg-fill\",attrs:{\"d\":\"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z\"}})]):_c('svg',{staticClass:\"start-fs\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{staticClass:\"ap-svg-fill\",attrs:{\"d\":\"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Fullscreen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Fullscreen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Fullscreen.vue?vue&type=template&id=597f1b14&\"\nimport script from \"./Fullscreen.vue?vue&type=script&lang=js&\"\nexport * from \"./Fullscreen.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export function isIOS() {\n return !!navigator.platform.match(/iPhone|iPod|iPad/);\n}\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientPlayerControls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientPlayerControls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClientPlayerControls.vue?vue&type=template&id=540a405e&\"\nimport script from \"./ClientPlayerControls.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientPlayerControls.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"playerinfo-wrapper\",class:{ show: _vm.expanded }},[(!_vm.expanded)?_c('div',{staticClass:\"small\"},[_c('button',{attrs:{\"aria-label\":\"Show Player Info\",\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.togglePlayerInfo($event)},\"!keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.togglePlayerInfo($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.togglePlayerInfo($event)}]}},[_c('svg',{attrs:{\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"x\":\"0px\",\"y\":\"0px\",\"viewBox\":\"0 0 1000 1000\",\"xml:space\":\"preserve\"}},[_c('g',[_c('path',{attrs:{\"d\":\"M565.4,700.9c-13.6,0-23.2-2.2-28.8-6.5c-5.5-4.4-8.3-12.5-8.3-24.6c0-4.8,0.9-11.8,2.6-21.1c1.7-9.3,3.6-17.6,5.7-24.9l26.3-90.5c2.5-8.3,4.3-17.4,5.3-27.4c1-10,1.4-16.9,1.4-20.9c0-19.1-6.9-34.6-20.7-46.5c-13.8-11.9-33.4-17.9-58.8-17.9c-14.1,0-29.1,2.5-44.9,7.3c-15.8,4.9-32.3,10.7-49.7,17.6l-7,28c5.1-1.9,11.3-3.8,18.4-5.9c7.2-2.1,14.2-3.1,21-3.1c13.9,0,23.3,2.3,28.3,6.8c4.9,4.6,7.4,12.7,7.4,24.3c0,6.4-0.8,13.5-2.4,21.3c-1.6,7.8-3.6,16-5.9,24.7L429,632.4c-2.4,9.5-4.1,18.1-5.1,25.7c-1,7.5-1.6,15-1.6,22.2c0,18.7,7.1,34.1,21.3,46.2c14.2,12.1,34.1,18.2,59.7,18.2c16.7,0,31.3-2.1,43.8-6.4c12.6-4.2,29.5-10.4,50.6-18.5l7-28c-3.6,1.7-9.5,3.6-17.6,5.8C579.1,699.8,571.8,700.9,565.4,700.9 M548.7,254.8c-17.3,0-32.1,5.6-44.5,16.8c-12.4,11.2-18.6,24.7-18.6,40.4c0,15.8,6.2,29.2,18.6,40.3c12.4,11.1,27.2,16.6,44.5,16.6c17.3,0,32.1-5.5,44.3-16.6s18.4-24.5,18.4-40.3c0-15.8-6.1-29.3-18.4-40.4C580.8,260.4,566,254.8,548.7,254.8 M500,10C229.4,10,10,229.4,10,500c0,270.6,219.4,490,490,490c270.6,0,490-219.4,490-490C990,229.4,770.6,10,500,10 M500,945.5C254,945.5,54.5,746,54.5,500C54.5,254,254,54.5,500,54.5C746,54.5,945.5,254,945.5,500C945.5,746,746,945.5,500,945.5\"}})])])])]):_c('div',{staticClass:\"big\",attrs:{\"role\":\"dialog\",\"aria-labelledby\":\"playerinfotitle\",\"aria-describedby\":\"playerinfodescription\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.togglePlayerInfo($event)}}},[_c('button',{staticClass:\"close\",attrs:{\"tabindex\":\"0\",\"aria-label\":_vm.$t('playerinfo.close')},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.togglePlayerInfo($event)},\"click\":_vm.togglePlayerInfo}},[_vm._v(\" × \")]),_c('h3',{attrs:{\"id\":\"playerinfotitle\"}},[_vm._v(_vm._s(_vm.$t(\"playerinfo.title\")))]),_c('p',{attrs:{\"id\":\"playerinfodescription\"}},[_vm._v(_vm._s(_vm.$t(\"playerinfo.description\")))]),_c('div',{staticClass:\"content-wrapper\"},[_c('div',{staticClass:\"scroller\"},[_c('div',{staticClass:\"captions row\"},[_c('div',{staticClass:\"icon\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('title',{attrs:{\"id\":\"video-start-stop-icon\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.play_pause-title\"))+\" \")]),_c('path',{attrs:{\"d\":\"M8 5v14l11-7z\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])]),_c('div',{staticClass:\"description\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.play_pause-subtitle\"))+\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"playerinfo.play_pause-description\")))])])]),_c('div',{staticClass:\"captions row\"},[_c('div',{staticClass:\"icon\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('title',{attrs:{\"id\":\"video-volume-icon\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.toggle_volume-title\"))+\" \")]),_c('path',{attrs:{\"d\":\"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])]),_c('div',{staticClass:\"description\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.toggle_volume-description\"))+\" \")])]),_c('div',{staticClass:\"captions row\"},[_c('div',{staticClass:\"icon\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('title',{attrs:{\"id\":\"video-subtitles-icon\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.toggle_subtitles-title\"))+\" \")]),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM4 12h4v2H4v-2zm10 6H4v-2h10v2zm6 0h-4v-2h4v2zm0-4H10v-2h10v2z\"}})])]),_c('div',{staticClass:\"description\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.toggle_subtitles-subtitle\"))+\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"playerinfo.toggle_subtitles-description\")))])])]),_c('div',{staticClass:\"captions row\"},[_c('div',{staticClass:\"icon\"},[_c('svg',{attrs:{\"id\":\"Layer_1\",\"data-name\":\"Layer 1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 100 100\"}},[_c('title',{attrs:{\"id\":\"video-pip-icon\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.toggle_signvideo-title\"))+\" \")]),_c('path',{attrs:{\"d\":\"M25.29,100H22.75a.89.89,0,0,0-.25-.14,5.39,5.39,0,0,1-4.17-5.33A5.51,5.51,0,0,1,22.9,89.4c1.26-.27,2.57-.37,3.86-.53l9.94-1.23V87.5H35.53c-7.49,0-15,0-22.46,0a5.31,5.31,0,0,1-5.38-6.2,5.6,5.6,0,0,1,5.68-4.52q11.13,0,22.27,0h1a.36.36,0,0,0-.26-.17Q23.77,75,11.14,73.43c-1.64-.21-3.32-.18-4.78-1.19A6.28,6.28,0,0,1,4,68.55V67a1.73,1.73,0,0,0,.17-.33,5.64,5.64,0,0,1,6.19-4.1c6.42.78,12.84,1.61,19.26,2.41l5.79.7a1.52,1.52,0,0,0-.77-.42c-5.58-1.5-11.17-3-16.75-4.51a8.48,8.48,0,0,1-2.08-.81,5.26,5.26,0,0,1-2.48-6.51,5.32,5.32,0,0,1,6.24-3.28C23.81,51,28,52,32.26,52.83c8.09,1.6,16.2,3.13,24.31,4.68a1.64,1.64,0,0,0,2-1.07c.4-.89.12-1.65-.86-2.31-3.37-2.27-6.76-4.52-10.12-6.81a5.32,5.32,0,0,1-1.2-7.87,5.48,5.48,0,0,1,7.48-.82C58,41.41,62.25,44.16,66.39,47a28.57,28.57,0,0,1,4.81,4.1c3.23,3.53,6.31,7.19,9.39,10.85A6.52,6.52,0,0,1,82,67.48q-2,11.52-4,23a5.49,5.49,0,0,1-5,4.59c-5.11.52-10.22,1.09-15.33,1.6Q44,98.1,30.21,99.44C28.57,99.61,26.93,99.81,25.29,100Z\"}}),_c('path',{attrs:{\"d\":\"M97,41.6c-.45,2.59-.85,5.18-1.37,7.76-.61,3.09-1.32,6.16-2,9.24a7.18,7.18,0,0,1-4,5.12c-1.86.92-3.7,1.88-5.64,2.87-.08-.66-.13-1.22-.22-1.78a8.41,8.41,0,0,0-2-4.18c-2.88-3.36-5.67-6.81-8.69-10a40.58,40.58,0,0,0-6-5.21c-3.8-2.73-7.81-5.17-11.65-7.86-2.73-1.91-6.27-2.77-9.9.22-.16-.18-.35-.35-.5-.55-4.17-5.54-8.35-11.06-12.5-16.61a5.31,5.31,0,0,1,3-8.56,5.57,5.57,0,0,1,5.87,2.43q4.28,5.64,8.53,11.29c1.59,2.1,3.18,4.2,5,6.2-.16-.31-.3-.62-.47-.92L41.45,8.61A5.34,5.34,0,0,1,42,2.18,5.4,5.4,0,0,1,50.72,3.3C53,7.11,55.14,11,57.34,14.8c2,3.53,4,7.05,6.23,10.52l-.33-.87C61.05,19,58.88,13.59,56.67,8.18A7,7,0,0,1,56.25,4a5.33,5.33,0,0,1,4-4H62.4c2.26.7,3.5,2.34,4.41,4.45,1.38,3.22,2.89,6.39,4.41,9.54q5.57,11.49,11.2,22.93C83,38,83.71,38.39,84.69,38.1A1.82,1.82,0,0,0,86,36q-.33-5.88-.65-11.78a5.44,5.44,0,0,1,4.93-6A5.54,5.54,0,0,1,96,23.61c.2,3.64.4,7.27.62,10.91.08,1.39.22,2.77.34,4.15Z\"}}),_c('path',{attrs:{\"d\":\"M45.2,38A7.19,7.19,0,0,0,46.65,48.9c3,2,6,4,9,6.05a2.15,2.15,0,0,1,.73.74c-1.37-.22-2.75-.43-4.12-.66-2.24-.38-4.49-.72-6.72-1.17A3.19,3.19,0,0,1,43.88,53Q36.61,45.1,29.39,37.14a5.36,5.36,0,0,1-1.42-5,5.17,5.17,0,0,1,7-3.73,4.58,4.58,0,0,1,1.59.92C39.49,32.18,42.34,35.11,45.2,38Z\"}})])]),_c('div',{staticClass:\"description\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.toggle_signvideo-subtitle\"))+\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"playerinfo.toggle_signvideo-description\")))])])]),(_vm.showFullscreen)?_c('div',{staticClass:\"captions row\"},[_c('div',{staticClass:\"icon\"},[_c('svg',{staticClass:\"start-fs\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('title',{attrs:{\"id\":\"video-fullscreen-icon\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.toggle_fullscreen-title\"))+\" \")]),_c('path',{staticClass:\"ap-svg-fill\",attrs:{\"d\":\"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z\"}})])]),_c('div',{staticClass:\"description\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"playerinfo.toggle_fullscreen-subtitle\"))+\" \")])]):_vm._e()])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayerInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayerInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlayerInfo.vue?vue&type=template&id=78f3fde0&scoped=true&\"\nimport script from \"./PlayerInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./PlayerInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PlayerInfo.vue?vue&type=style&index=0&id=78f3fde0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78f3fde0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"play-pause-splash\",class:[_vm.playStatus]},[_c('svg',{staticClass:\"state pause\",staticStyle:{\"width\":\"24px\",\"height\":\"24px\"},attrs:{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8,5.14V19.14L19,12.14L8,5.14Z\"}})]),_c('svg',{staticClass:\"state play\",staticStyle:{\"width\":\"24px\",\"height\":\"24px\"},attrs:{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,19H18V5H14M6,19H10V5H6V19Z\"}})]),(_vm.playStatus === 'initial')?_c('div',{staticClass:\"big-play-button\",on:{\"click\":function($event){$event.preventDefault();return _vm.initialPlay($event)}}},[_c('button',{staticClass:\"play-button\",attrs:{\"title\":_vm.$t('player.play-initial'),\"aria-hidden\":\"true\"}},[_c('svg',{staticStyle:{\"width\":\"24px\",\"height\":\"24px\"},attrs:{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8,5.14V19.14L19,12.14L8,5.14Z\"}})])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayPauseSplash.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayPauseSplash.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlayPauseSplash.vue?vue&type=template&id=6051812b&scoped=true&\"\nimport script from \"./PlayPauseSplash.vue?vue&type=script&lang=js&\"\nexport * from \"./PlayPauseSplash.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PlayPauseSplash.vue?vue&type=style&index=0&id=6051812b&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6051812b\",\n null\n \n)\n\nexport default component.exports","\nvar document = typeof window !== 'undefined' && typeof window.document !== 'undefined' ? window.document : {};\n\nvar fn = (function () {\n var val;\n\n var fnMap = [\n [\n 'requestFullscreen',\n 'exitFullscreen',\n 'fullscreenElement',\n 'fullscreenEnabled',\n 'fullscreenchange',\n 'fullscreenerror'\n ],\n // New WebKit\n [\n 'webkitRequestFullscreen',\n 'webkitExitFullscreen',\n 'webkitFullscreenElement',\n 'webkitFullscreenEnabled',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror'\n\n ],\n // Old WebKit\n [\n 'webkitRequestFullScreen',\n 'webkitCancelFullScreen',\n 'webkitCurrentFullScreenElement',\n 'webkitCancelFullScreen',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror'\n\n ],\n [\n 'mozRequestFullScreen',\n 'mozCancelFullScreen',\n 'mozFullScreenElement',\n 'mozFullScreenEnabled',\n 'mozfullscreenchange',\n 'mozfullscreenerror'\n ],\n [\n 'msRequestFullscreen',\n 'msExitFullscreen',\n 'msFullscreenElement',\n 'msFullscreenEnabled',\n 'MSFullscreenChange',\n 'MSFullscreenError'\n ]\n ];\n\n var i = 0;\n var l = fnMap.length;\n var ret = {};\n\n for (; i < l; i++) {\n val = fnMap[i];\n if (val && val[1] in document) {\n for (i = 0; i < val.length; i++) {\n ret[fnMap[0][i]] = val[i];\n }\n return ret;\n }\n }\n\n return false;\n})();\n\nvar eventNameMap = {\n change: fn.fullscreenchange,\n error: fn.fullscreenerror\n};\n\nvar screenfull = {\n request: function (element) {\n return new Promise(function (resolve, reject) {\n var onFullScreenEntered = function () {\n this.off('change', onFullScreenEntered);\n resolve();\n }.bind(this);\n\n this.on('change', onFullScreenEntered);\n\n element = element || document.documentElement;\n\n Promise.resolve(element[fn.requestFullscreen]()).catch(reject);\n }.bind(this));\n },\n exit: function () {\n return new Promise(function (resolve, reject) {\n if (!this.isFullscreen) {\n resolve();\n return;\n }\n\n var onFullScreenExit = function () {\n this.off('change', onFullScreenExit);\n resolve();\n }.bind(this);\n\n this.on('change', onFullScreenExit);\n\n Promise.resolve(document[fn.exitFullscreen]()).catch(reject);\n }.bind(this));\n },\n toggle: function (element) {\n return this.isFullscreen ? this.exit() : this.request(element);\n },\n onchange: function (callback) {\n this.on('change', callback);\n },\n onerror: function (callback) {\n this.on('error', callback);\n },\n on: function (event, callback) {\n var eventName = eventNameMap[event];\n if (eventName) {\n document.addEventListener(eventName, callback, false);\n }\n },\n off: function (event, callback) {\n var eventName = eventNameMap[event];\n if (eventName) {\n document.removeEventListener(eventName, callback, false);\n }\n },\n raw: fn\n};\n\n\nObject.defineProperties(screenfull, {\n isFullscreen: {\n get: function () {\n return Boolean(document[fn.fullscreenElement]);\n }\n },\n element: {\n enumerable: true,\n get: function () {\n return document[fn.fullscreenElement];\n }\n },\n isEnabled: {\n enumerable: true,\n get: function () {\n // Coerce to boolean in case of old WebKit\n return Boolean(document[fn.fullscreenEnabled]);\n }\n }\n});\n\n\nexport default screenfull;\n","var lastTime = (new Date()).getTime();\n\nfunction addBrowserActiveHandler(onInactiveHandler) {\n setInterval(function() {\n var currentTime = (new Date()).getTime();\n // if it went to sleep > 20s, this intervall will trigger handler\n if (currentTime > (lastTime + 2000 * 10)) { // ignore small delays\n // Probably just woke up!\n onInactiveHandler()\n }\n lastTime = currentTime;\n }, 2000);\n}\n\nexport default {\n addBrowserActiveHandler\n}","// eval browser specifc prop keys\nvar hidden, visibilityChange;\nif (typeof document.hidden !== \"undefined\") { // Opera 12.10 and Firefox 18 and later support \n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n} else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n} else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n}\n\nlet handler\n\n// wrapper to use browser specific prop keys\nfunction handleVisibilityChange(ev) {\n if (!handler) {\n return\n }\n //console.log(\"handleVisibilityChange\")\n if (document[hidden]) {\n handler(ev, !document[hidden])\n } else {\n handler(ev, !document[hidden])\n }\n}\n\nfunction addPageVisibilityListener(hf) {\n // Warn if the browser doesn't support addEventListener or the Page Visibility API\n if (typeof document.addEventListener === \"undefined\" || hidden === undefined) {\n //console.warn(\"Page Visibility APInot supported\");\n } else {\n // Handle page visibility change \n handler = hf\n document.addEventListener(visibilityChange, handleVisibilityChange, false);\n }\n}\n\nfunction removePageVisibilityListener(/*handler*/) {\n // Warn if the browser doesn't support addEventListener or the Page Visibility API\n if (typeof document.addEventListener === \"undefined\" || hidden === undefined) {\n //console.warn(\"Page Visibility APInot supported\");\n } else {\n // Handle page visibility change \n handler = null\n document.removeEventListener(visibilityChange, handleVisibilityChange, false);\n }\n}\n\nexport default {\n addPageVisibilityListener,\n removePageVisibilityListener\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm._model),expression:\"_model\"}],attrs:{\"name\":_vm.name,\"id\":_vm.id},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm._model=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.options),function(val,key){return _c('option',{key:key,domProps:{\"value\":val}},[(val === 'de')?_c('svg',{staticClass:\"icon icon--language\",attrs:{\"role\":\"presentation\",\"viewBox\":\"0 0 5 3\"}},[_c('rect',{attrs:{\"id\":\"black_stripe\",\"width\":\"5\",\"height\":\"3\",\"y\":\"0\",\"x\":\"0\",\"fill\":\"#000\"}}),_c('rect',{attrs:{\"id\":\"red_stripe\",\"width\":\"5\",\"height\":\"2\",\"y\":\"1\",\"x\":\"0\",\"fill\":\"#D00\"}}),_c('rect',{attrs:{\"id\":\"gold_stripe\",\"width\":\"5\",\"height\":\"1\",\"y\":\"2\",\"x\":\"0\",\"fill\":\"#FFCE00\"}})]):(val === 'fr')?_c('svg',{staticClass:\"icon icon--language\",attrs:{\"role\":\"presentation\",\"viewBox\":\"0 0 3 2\"}},[_c('path',{attrs:{\"fill\":\"#ED2939\",\"d\":\"M0 0h3v2H0z\"}}),_c('path',{attrs:{\"fill\":\"#fff\",\"d\":\"M0 0h2v2H0z\"}}),_c('path',{attrs:{\"fill\":\"#002395\",\"d\":\"M0 0h1v2H0z\"}})]):(val === 'it')?_c('svg',{staticClass:\"icon icon--language\",attrs:{\"role\":\"presentation\",\"viewBox\":\"0 0 3 2\"}},[_c('rect',{attrs:{\"width\":\"1\",\"height\":\"2\",\"fill\":\"#009246\"}}),_c('rect',{attrs:{\"width\":\"1\",\"height\":\"2\",\"x\":\"1\",\"fill\":\"#fff\"}}),_c('rect',{attrs:{\"width\":\"1\",\"height\":\"2\",\"x\":\"2\",\"fill\":\"#ce2b37\"}})]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.getName(val))+\" \")])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageIcons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageIcons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguageIcons.vue?vue&type=template&id=f540a4ce&scoped=true&\"\nimport script from \"./LanguageIcons.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageIcons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageIcons.vue?vue&type=style&index=0&id=f540a4ce&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f540a4ce\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClientPlayer.vue?vue&type=template&id=8a21e3d8&\"\nimport script from \"./ClientPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var map = {\n\t\"./de.json\": \"6ce2\",\n\t\"./en.json\": \"edd4\",\n\t\"./fr.json\": \"f693\",\n\t\"./it.json\": \"0825\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"49f8\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageIcons.vue?vue&type=style&index=0&id=f540a4ce&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageIcons.vue?vue&type=style&index=0&id=f540a4ce&lang=scss&scoped=true&\"","export default function getBrowserLocale(options = {}) {\n const defaultOptions = { countryCodeOnly: false }\n const opt = { ...defaultOptions, ...options }\n const navigatorLocale =\n navigator.languages !== undefined\n ? navigator.languages[0]\n : navigator.language\n if (!navigatorLocale) {\n return undefined\n }\n const trimmedLocale = opt.countryCodeOnly\n ? navigatorLocale.trim().split(/-|_/)[0]\n : navigatorLocale.trim()\n return trimmedLocale\n }","export default {\n en: \"English\",\n fr: \"Français\",\n it: \"Italiano\",\n de: \"Deutsch\"\n }","import supportedLocales from \"@/config/supported-locales\"\n\nexport function getSupportedLocales() {\n let annotatedLocales = []\n\n for (const code of Object.keys(supportedLocales)) {\n annotatedLocales.push({\n code,\n name: supportedLocales[code]\n })\n }\n\n return annotatedLocales\n}\nexport function supportedLocalesInclude(locale) {\n return Object.keys(supportedLocales).includes(locale)\n }","import Vue from \"vue\"\nimport VueI18n from \"vue-i18n\"\nimport getBrowserLocale from \"@/utils/get-browser-locale\"\nimport { supportedLocalesInclude } from \"./utils/supported-locales\"\nimport {getUrlParameter} from \"./utils/index\";\nVue.use(VueI18n);\n\nfunction loadLocaleMessages () {\n const locales = require.context(\n \"./locales\",\n true,\n /[A-Za-z0-9-_,\\s]+\\.json$/i\n )\n const messages = {};\n locales.keys().forEach(key => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\n if (matched && matched.length > 1) {\n const locale = matched[1];\n messages[locale] = locales(key);\n }\n })\n return messages;\n}\nfunction getStartingLocale () {\n const paramsLocale = getUrlParameter(\"language\") || getUrlParameter(\"default-language\") \n const browserLocale = getBrowserLocale({ countryCodeOnly: true })\n if (supportedLocalesInclude(paramsLocale)) {\n return paramsLocale\n }\n else if (supportedLocalesInclude(browserLocale)) {\n return browserLocale\n } else {\n return process.env.VUE_APP_I18N_LOCALE || \"fr\"\n }\n}\nexport default new VueI18n({\n locale: getStartingLocale(),\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"fr\",\n messages: loadLocaleMessages()\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"st-live-text-app\",attrs:{\"id\":\"app\"}},[_c('live-title-display',{attrs:{\"isOn\":true,\"buffer\":_vm.liveTitlesBufferRef,\"studioId\":_vm.studioId}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTextApp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveTextApp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LiveTextApp.vue?vue&type=template&id=7d074b38&\"\nimport script from \"./LiveTextApp.vue?vue&type=script&lang=js&\"\nexport * from \"./LiveTextApp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LiveTextApp.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// import store from '../store'\n/*\nimport config from '../config/config.json'\nconst goServiceHost = config.goServiceHost\nconst goServicePort = config.goServicePort\nconsole.log('config', config)\n*/\n\n// const goServiceAddr = (process.env.VUE_APP_GO_SERVICE_ADDRESS === \"\" ? window.location.origin : process.env.VUE_APP_GO_SERVICE_ADDRESS).replace(/^https?:/, 'ws:')\nconst goServiceAddr = (process.env.VUE_APP_GO_SERVICE_ADDRESS === \"\" ? window.location.origin : process.env.VUE_APP_GO_SERVICE_ADDRESS).replace(/^http:/, 'ws:').replace(/^https:/, 'wss:')\n\nlet _numOfOpenConnections = 0;\n // closed webscokets wil try to reconnect\n // however, we want to be able to close \nlet abortOnClose = false;\n\nlet openConnections = []\n\n// number of retries to reopen connection\nlet retries = 0;\n\nfunction initWS(studioID, processCB, env) {\n if (window[\"WebSocket\"]) {\n if (!studioID) {\n window.console.error(\"no studio set to listen to\")\n return\n }\n // env indicates if we are on the client player or in the monitor\n // based on the env we have different requirements to reopen closed connections\n // -> reopen on client, close for good on monitor\n abortOnClose = env ==='monitor'\n var addr = goServiceAddr // goServiceHost + \":\" + goServicePort\n let conn = new WebSocket(addr + \"/ngn/ws/\" + studioID);\n //console.log(\"websocket connection\")\n conn.onopen = function(/*evt*/) {\n //console.log(\"ws connection opened\", evt);\n _numOfOpenConnections = _numOfOpenConnections + 1;\n openConnections.push(conn);\n };\n\n conn.onclose = function(/*evt*/) {\n //console.log(\"ws connection closed\", evt);\n _numOfOpenConnections = _numOfOpenConnections - 1;\n var idx = openConnections.indexOf(conn);\n if (idx >= 0) {\n openConnections.splice(idx, 1);\n }\n // abortOnClose toggles the 2 cases: for the client we want to reopen lost connections\n // for the monitor we want to close the connection\n if (!abortOnClose) {\n setTimeout(function() {\n // on client try to reopen but back off\n // console.log(\"try to reopen ws connection\");\n retries++\n initWS(studioID, processCB, env);\n }, 1000 + Math.pow(retries, 2) * 5000);\n }\n };\n conn.onmessage = function(evt) {\n var messages = evt.data.split(\"\\n\");\n for (var i = 0; i < messages.length; i++) {\n // var item = document.createElement(\"div\");\n // item.innerText = messages[i];\n // console.log(\"on socket message: \", messages[i])\n processCB(messages[i]);\n }\n };\n conn.onerror = function(/*evt*/) {\n //console.log(\"ws connection error\", evt);\n conn.close();\n };\n }\n}\n\nfunction closeWS() {\n abortOnClose = true\n for (var i = 0; i < openConnections.length; i++) {\n var conn = openConnections[i]\n // will close and remove from open connections\n conn.close()\n }\n}\n\nfunction getOpenConnections() {\n return openConnections\n}\n\nexport default {\n initWS,\n closeWS,\n getOpenConnections,\n _numOfOpenConnections\n}\n","import utils from \"../utils\";\n\nlet _buffer = []\nconst _liveTitlesBuffer = []\nlet ctr = 0\n\nfunction push(item) {\n // var line = item.paragraph.lines ? item.paragraph.lines[0] : {};\n item.index = ctr++\n item.showDuration = 5000 // 6sec\n item.timestamp = item.timestamp + (item.delay || 0) * 1000\n item.humanTime = toHumanTime(item.timestamp)\n // console.log('item -> buffer ', item.index, item.humanTime, item.delay, item.legacyDelay, line.text)\n if (!item.paragraph.lines) {\n item.type = \"clear\"\n item.showDuration = 0\n var st0 = _buffer[0]\n if (st0 && st0.paragraph.lines) {\n var sd = item.timestamp - (st0.timestamp || 0)\n // console.log(\"set ShowDuration on %s to %d\", st0.paragraph.lines[0].text, sd)\n //console.log(\"show for %s\", sd)\n st0.showDuration = sd\n }\n }\n let lines = utils.extractLines(item)\n if (lines && lines.indexOf(\"###\") >= 0) {\n item.type = \"calibrate\"\n }\n // push to buffer with message\n _buffer.unshift(item)\n if (_buffer.length > 100) {\n // discard last element\n _buffer.pop()\n }\n\n // push to live titles, that is shown to the user as history\n if (item.type !== 'clear' && item.type !== 'calibrate') {\n _liveTitlesBuffer.push(item)\n // cap live subtitles to 35 items\n if (_liveTitlesBuffer.length > 35) {\n // discard last element\n _liveTitlesBuffer.shift()\n }\n }\n}\n\nfunction peek() {\n // console.log('buffer', _buffer)\n return _buffer[_buffer.length - 1]\n}\n\nfunction pop() {\n var lastElement = _buffer.pop()\n return lastElement\n}\n\nfunction getBuffer() {\n return _buffer\n}\n\nfunction getLiveTitlesBuffer() {\n return _liveTitlesBuffer\n}\n\n// Workaround (2025-01-24): starting from the Grand Conseil de Genève session today the subtitles seem to come with a wrong encoding: catégorie\n// This TextDecoder() trick helps reinterpret the encoding so that it actually looks like catégorie\nfunction fixEncoding(str) {\n // These characters (e.g. \"Ç\") are not caught by the re-encoding for some reason\n const replacements = [\n ['Ç', '_C_cedilla_', 'Ç'],\n ['À', '_A_grave_', 'À'],\n ['É', '_E_acute_', 'É'],\n ['Â', '_A_circumflex_', 'Â'],\n ['Ê', '_E_circumflex_', 'Ê'],\n ['ÃŽ', '_I_circumflex_', 'Î'],\n ['Ô', '_O_circumflex_', 'Ô'],\n ['Ä', '_A_trema', 'Ä'],\n ['Ãœ', '_U_trema_', 'Ü'],\n ['Ö', '_O_trema', 'Ö'],\n ['Å“', '_e_o_', 'œ'],\n ['Å’', '_E_O_', 'Œ'],\n ['Æ', '_A_E_', 'Æ'],\n ['ß', '_eszett_', 'ß'],\n ['ẞ', '_Eszett_', 'ẞ'],\n ['’', '_right_single_quote_', '’'],\n ];\n\n let out = str;\n for (const replacement of replacements) {\n out = out.replaceAll(replacement[0], replacement[1])\n }\n\n try {\n out = new TextDecoder(\"utf-8\", { fatal: true }).decode(\n Uint8Array.from(out, c => c.charCodeAt(0))\n );\n // eslint-disable-next-line no-empty\n } catch {\n if (window.logEncodingErrors) {\n /* eslint-disable no-console */\n console.error('[Encoding] failed to decode:');\n console.error(str);\n /* eslint-enable no-console */\n }\n }\n\n for (const replacement of replacements) {\n out = out.replaceAll(replacement[1], replacement[2])\n }\n\n return out\n}\n\nfunction extractLines(data) {\n let result = \"\";\n if (data.paragraph && data.paragraph.lines) {\n let lines = data.paragraph.lines;\n for (var i = 0; i < lines.length; i++) {\n const line = lines[i].text;\n const fixedLine = fixEncoding(line);\n\n result += \"\\n\" + fixedLine;\n }\n }\n return result;\n}\n\nfunction discardOlderThan(time) {\n const filtered = _buffer.filter((item) => {\n let dt = time - item.timestamp\n return dt < 0\n })\n _buffer = filtered\n}\n\nfunction createPlaceholderTitle(text) {\n return {\n paragraph: {\n lines: [{\n text: text\n }]\n },\n timestamp: 0,\n showDuration: 3000\n }\n}\n\nfunction toHumanTime(ts) {\n let d = new Date(ts)\n return `${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}`\n}\n\nexport default {\n push,\n peek,\n pop,\n getBuffer,\n getLiveTitlesBuffer,\n extractLines,\n discardOlderThan,\n createPlaceholderTitle\n}\n","import utils from \"../utils/index.js\";\nimport subtitleBuffer from \"../subtitleBuffer/index.js\";\nimport Hls from \"hls.js\";\nimport api from \"../api/public.js\";\nimport sockets from \"../sockets/index.js\";\n\n/*\n * Mixin that holds\n * Methods for the dynamic application of subtitles on the video element\n */\nexport const playerCore = {\n props: [],\n created() {\n //console.log(\"playerCore created.\")\n // references to the subtitle buffers\n this.bufferRef = subtitleBuffer.getBuffer();\n this.liveTitlesBufferRef = subtitleBuffer.getLiveTitlesBuffer();\n },\n mounted() {\n this.$nextTick(() => {\n this.prepareVideoEl()\n this.prepareTextTrack();\n this.initCommon();\n this.initSelf();\n if (!this.subtitlesOff) {\n this.initWS(this.studioId);\n }\n this.afterMounted();\n });\n },\n beforeDestroy() {\n //console.log(\"player core before destroy\")\n this.closeWS();\n },\n data() {\n return {\n // studioId\n // studioId: null,\n // flag if live titles should be available on the player\n showLiveTitles: 0,\n // profileId of the current session\n sessionProfileId: null,\n // turns on debug panel\n debugging: 0,\n // logger for debug panel\n logger: [],\n // current view\n monitorView: 'buffer',\n // indicates if the HLS wrapper (native false) of not (native true) is applied\n // this is needed to know how to calculate the fragments, isNative = true mainly applies to iOS Devices\n isNative: false,\n streamURL:\n \"http://grandconseilgenf-lh.akamaihd.net/i/gc_1@108666/master.m3u8\",\n videoEl: {},\n // the fragment that is currently playing. set form change event on hls instance\n // it is used to derive the absolute time of the current stream position\n // -> see computed -> playingFragmentTime\n fragPlaying: {},\n // the last fragment loaded and available in the buffer from hls loaded event\n fragLoaded: {},\n // the time of the playing fragment in relation to the current video time\n // this is set when the current fragment has changed. we take the current time form the video element\n // to align this with the fragment start time. from this the current time wihtin the fragmnet can be derived\n fragVideoTime: 0,\n // program time stamp from current fragment if available on the stream: #EXT-X-PROGRAM-DATE-TIME:2021-11-11T10:48:17.815+00:00\n programDateTime: -1,\n isLive: false,\n currentSubtitleTime: 0,\n // reactive videoel.currentTime\n videoCurrentTime: 0,\n // reactive videoel.duration\n videoDuration: 0,\n // reference to the buffer with the subtitles\n bufferRef: null,\n // reference to the buffer with the subtitles for live text display\n liveTitlesBufferRef: null,\n // the current subtitle as text, to send back to the server for monitoring purposed per client\n currentSubtitleText: \"\",\n // the delay for adjustment purposes, set from each subtitle that is being processed. Stored on the server from\n // the monitoring instance\n delay: 0,\n // the legacyDelay for adjustment purposes, set form each subtitle that is being processed and used on system that\n // does not have hls wrapper applied (iOS)\n legacyDelay: 0,\n // mode set set from each subtitle that is being processed and used on system that\n // indicates that subtitles should be applied without timing alignement.\n passthrough: false,\n // depending on the stream the fragment count starts at unix epoch time or at the time of the start of the recording\n // this sets the offset in absolute time to the zero fragment on the stream\n timeOffsetToZeroFragment: 0,\n // current segment Duration\n segmentDuration: 0,\n // segment length v-model to pass to the set delay endpoint\n // default to 10, set on every message submitted\n segmentLength: 10,\n // num of open ws connections on this instance (not the connected clients)\n nOpenWsConns: 0,\n // the streams that are available on this profile\n streams: [],\n // the currently selected stream\n selectedStreamIdx: 0,\n // indicates if the player should be delayed, for the scenario where we must subtitle on the live stream and\n // need to delay the client players\n playerDelay: 0,\n // indicates if the show snyc splash should be active\n showSync: false,\n // mappings of available language to stream languages for this session\n // in the form of \"[lang key]\": \"[streamId]\"\n streamSubtitlesLangs: {},\n // available switches to other studios / URLs for same content in other languages\n languageSwitch: null,\n // we need a buffer of messages, but we do not want to display older messages when the user loads the player\n oldMessagesDiscarded: false,\n // aggregated props when a stream has an error associated with stream type (main | signage) so that we can display\n // a message like no signage stream available \n streamError: {},\n streamType: \"main\"\n };\n },\n computed: {\n // derived absolute time of recording (segmenting) based on fragment and estimates of fragment properties\n playingFragmentTime() {\n let pft = this.timeOffsetToZeroFragment * 1000 + this.fragPlaying.sn * this.segmentLength * 1000;\n if (this.useProgramTimestamp) {\n // console.log(\"legacy vs programDateTime\", pft - this.programDateTime);\n pft = this.programDateTime\n }\n // console.log(\"playingFragmentTime: %d: %d, %d, %d\", pft, this.timeOffsetToZeroFragment, this.fragPlaying.sn, this.segmentLength)\n return pft;\n },\n bufferDisplay() {\n return this.bufferRef.slice().reverse();\n },\n // returns the timecodes needed to sync the player with the segments\n playerTimecodes() {\n const {\n // time form UNIX epoch Time to first fragment of the stream with sn = 0, should be derived from stream timings\n timeOffsetToZeroFragment,\n // the durations of the segments on the configuration for this stream, should be derived from stream timings\n segmentDuration,\n // the currently playing fragment (sn) on the hls stream, derived from player events\n fragPlaying,\n // the currently loaded fragment (sn) on the hls stream, derived from player events\n fragLoaded,\n // the absoulte calculated time of the currently playing fragment (calculated computed property), based on segment length and zero segment offset\n playingFragmentTime,\n // the time within the fragment that is currently playing on the hls stream\n fragVideoTime,\n // current time of html5 video (note this is the time since page load and does not refer to the stream directly)\n videoCurrentTime,\n // duration of the html5 video (note this is the duration on the video directly and does not refer to the stream directly)\n videoDuration,\n // program time stamp from stream segment if available on the chunks\n programDateTime\n } = this;\n return {\n timeOffsetToZeroFragment,\n segmentDuration,\n fragPlaying,\n fragLoaded,\n playingFragmentTime,\n fragVideoTime,\n videoCurrentTime,\n videoDuration,\n programDateTime\n };\n },\n /*\n delays: {\n get() {\n const {\n timeOffsetToZeroFragment,\n segmentLength,\n delay,\n legacyDelay,\n passthrough,\n playerDelay\n } = this;\n return {\n timeOffsetToZeroFragment,\n segmentLength,\n delay,\n legacyDelay,\n passthrough,\n playerDelay\n };\n },\n set(val) {\n //console.log(\"player core delay setter\", val)\n Object.assign(this, val)\n }\n }\n */\n },\n methods: {\n // init common called fron created so that we can split initialization between client-player and monitor-player\n initCommon() {\n //console.log(\"init common in player core. viewmode: %s\", this.viewmode);\n // all instances of hls objects. 1 hls object per stream.\n this.hlss = []\n \n this.nOpenWsConns = sockets._numOfOpenConnections;\n // joint the session\n this.joinStreamingSession(this.studioId);\n // start the loop to process subtitle messages\n this.subtitlesOff = utils.getUrlParameter(\"subtitles\") === \"off\"\n if (this.subtitlesOff !== \"off\") {\n this.subtitleLoop();\n this.showLiveTitles = utils.getUrlParameter(\"showLiveTitles\"); // && this.viewmode === \"player\"\n }\n this.debugging = utils.getUrlParameter(\"debug\"); // && this.viewmode === \"player\"\n //console.log(\"debugging\", this.debugging);\n //console.log(\"showLiveTitles:\", this.showLiveTitles);\n },\n initSelf() {\n //console.log(\"initSelf called on playerCore mixin\")\n },\n afterMounted() {\n //console.log(\"initSelf called on playerCore mixin. override this in the player wrappers if needed\")\n },\n initWS(id) {\n sockets.initWS(id, this.processMessage, this.viewmode);\n },\n closeWS() {\n //console.log(\"closeing websockets\")\n sockets.closeWS();\n },\n onStreamSessionReady() {\n //console.log(\"onStreamSessionReady called on playerCore mixin. override this in the player wrappers if needed\")\n },\n // join a streaming session\n joinStreamingSession(studioId) {\n api\n .joinStreamingSession(studioId)\n .then(data => {\n //console.log(\"joined streaming session successfully: \", data);\n this.streams = data.streams\n this.loadVideoOn(this.videoEl, 0, data.streams[0].url);\n this.viewerId = data.viewerId;\n this.playerDelay = data.playerDelay\n this.sessionProfileId = data.profileId\n this.streamSubtitlesLangs = data.streamSubtitlesLangs\n this.languageSwitch = data.languageSwitch\n var history = data.history;\n var now = new Date().getTime();\n // handle histroy\n try {\n if (history && history.length > 0) {\n for (var i = 0; i < history.length; i++) {\n var ts = JSON.parse(history[i]).timestamp\n // console.log(\"history item\", ts, now);\n if (ts > (now - 60000)) {\n this.processMessage(history[i]);\n }\n }\n }\n } catch (error) {\n //console.log(\"error parsing json\", error);\n }\n\n this.onStreamSessionReady()\n })\n .catch(() => {\n // console.log(\"failed to join streaming session\", err);\n // implemented on ClientPlayer\n if (this.handleStreamFallback) {\n this.handleStreamFallback()\n }\n });\n },\n // load a video based on HLSjs support (Chrome, Firefox, Edge, Android) and native hls on ios\n // add listener to fragments so that we get the playerTimecodes we need to derive the correct absolute time\n // of a stream\n loadVideoOn(vidEl, idx, streamURL, maxLevelCap, muted = false, streamType = 'main') {\n // reset streamError\n this.streamError = null\n //console.log(\"loadVideoOn\", vidEl)\n // trigger the clean up of old subtitles after video switch\n this.oldMessagesDiscarded = false\n\n const videoEl = vidEl\n var that = this;\n if (Hls.isSupported()) {\n //console.log(\"HLS\", Hls);\n if (this.hlss[idx]) {\n this.hlss[idx].destroy();\n }\n this.isNative = false;\n let config = {\n capLevelToPlayerSize: true\n }\n this.hls = this.hlss[idx] = new Hls(config);\n if (maxLevelCap) {\n this.hls.autoLevelCapping = maxLevelCap;\n this.hls.currentLevel = maxLevelCap;\n }\n this.hls.attachMedia(videoEl);\n this.hls.loadSource(streamURL)\n \n //console.log(\"playerDelay\", this.playerDelay)\n this.hls.on(Hls.Events.MANIFEST_PARSED, function() {\n //console.log(\"viewmode, playerDelay\", that.viewmode, that.playerDelay)\n that.playerDelay = that.streams[idx].timings ? that.streams[idx].timings.playerDelay : 0;\n\n // indicates if a studio should use the program timestamp on the stream to calculate the subtitle offset\n // only use this on the main stream\n if (idx === 0) {\n that.useProgramTimestamp = that.streams[idx].timings ? that.streams[idx].timings.useProgramTimestamp : false;\n // that.useProgramTimestamp = true\n // console.log(\"useProgramTimestamp %s, %s\", idx, that.useProgramTimestamp)\n }\n if (that.viewmode === \"player\" && that.playerDelay > 0) {\n // will trigger watcher on client player instance\n that.showSync = true\n }\n setTimeout(() => {\n //console.log(\"player delay\", that.playerDelay)\n // videoEl.play();\n videoEl.muted = muted\n that.showSync = false\n }, that.playerDelay * 1000)\n //console.log(\"videoEl:\", videoEl);\n });\n // this.hls.on(Hls.Events.MANIFEST_LOADED, function(data) {\n //console.log(\"mainfest loaded: \", data);\n // });\n this.hls.on(Hls.Events.ERROR, (err, data) => {\n //console.log(\"Hls.Events.ERROR: \", err, data);\n this.streamError = {\n err,\n data,\n streamType\n }\n });\n // add these listeners to the main stream only (index === 0)\n // so that we do not have fragment triggers from more than one sources that messes up\n // the timing calculations\n if (idx === 0) {\n this.hls.on(Hls.Events.FRAG_CHANGED, function(event, data) {\n // this event is called everytime the fragment changes (also on seek)\n // it does have start and end timestamp, that we can use to align the subtitles with the playing fragment\n // and on the video as currentTime\n /*\n //console.log(\n \"hls fragment changed: %+v, start: %d, end: %d, duration: %d, segment: %d\",\n data,\n data.frag.start,\n data.frag.endDTS,\n data.frag.duration,\n data.frag.sn\n );\n */\n // console.log('stream fragment current dateTime: ' + data.frag.programDateTime);\n that.programDateTime = data.frag.programDateTime\n that.fragPlaying = data.frag // that.hls.streamController.fragPlaying || {};\n that.fragVideoTime = that.videoEl.currentTime;\n that.segmentDuration = that.fragPlaying.duration;\n // that.updateClientState() that.segmentMeasuringTime\n });\n this.hls.on(Hls.Events.LEVEL_LOADED, function(event, data) {\n // console.log(\"hls.level.loaded\" + event, data);\n that.isLive = data.details.live;\n });\n this.hls.on(Hls.Events.FRAG_LOADED, function(event, data) {\n // console.log(\"hls.events.frag_loaded\" + event, data);\n that.fragLoaded = data.frag;\n });\n }\n } else {\n // for ios\n this.isNative = true;\n this.streamType = streamType;\n videoEl.muted = true;\n videoEl.src = streamURL;\n videoEl.removeEventListener('error', this.setVideoError);\n videoEl.addEventListener('error', this.setVideoError);\n videoEl.play();\n }\n // only prepare text tracks on main player (index === 0)\n if (idx === 0) {\n this.prepareTextTrack()\n }\n },\n setVideoError(err) {\n this.streamError = {\n err: err,\n data: {details: \"manifestLoadError\"},\n streamType: this.streamType\n }\n //console.warn(\"Native.Video.ERROR: \", this.streamError);\n },\n prepareVideoEl() {\n this.videoEl = document.getElementById(\"video\");\n },\n // add a text track and a cue to the video element as placeholder to dynamically apply the subtitles\n prepareTextTrack() {\n //console.log(\"prepare video text track\")\n const videoEl = this.videoEl;\n // if we have more than one language, we need to adapt this\n if (!videoEl.textTracks || !videoEl.textTracks[0]) {\n videoEl.addTextTrack(\"captions\", \"Deutsch\", \"de\");\n }\n var t0 = videoEl.textTracks[0];\n t0.mode = this.isCaptionOn ? \"showing\" : \"hidden\";\n t0.addCue(this.createVTTCue(1, 2, \"\"));\n },\n // VTTCue based on browser / device\n createVTTCue(st, et, message) {\n if (window.VTTCue === undefined) {\n return new TextTrackCue(st, et, message)\n } else {\n return new VTTCue(st, et, message)\n }\n },\n // processes a message pushes it to the subtitleBuffer, called from ws callback\n processMessage(data) {\n try {\n var message = JSON.parse(data);\n this.log(\"processMessage: \", data)\n } catch (error) {\n //console.log(\"failed to parse message\", error);\n this.log(\"failed to parse message\", error);\n }\n\n // process control messages\n if (this.viewmode !== \"monitor\") {\n if (message.type === \"reloadclient\") {\n window.location.reload();\n }\n if (message.type === \"closePIP\") {\n if (typeof this.onTogglePip === \"function\") {\n this.onTogglePip(false)\n }\n }\n }\n \n // discard the message if it is not meant for this stream\n if (!this.isMessageTargetingStream(message)) {\n //console.log(\"ommiting message. does not target stream\", message)\n return null\n }\n // use the timing information of the message to adjust the timings on the fly\n // if timings change in the monitor this will be propagated through the timing data on \n // this message\n this.timeOffsetToZeroFragment = message.timeOffsetToZeroFragment || 0;\n this.segmentLength = message.segmentLength || 0;\n this.currentSubtitleTime = message.timestamp;\n subtitleBuffer.push(message);\n },\n // loops over the subtitlesBuffer and maps the timecode of the subtitle to the current video time\n // if it matches the time window, the subtitle is passed to showCue, so that it gets displayed on the video\n subtitleLoop() {\n // console.log('subtitleLoop')\n try {\n this.videoCurrentTime = this.videoEl.currentTime;\n this.videoDuration = this.videoEl.duration;\n let st = subtitleBuffer.peek();\n if (st && !this.videoEl.paused) {\n /*\n const { timestamp, showDuration, paragraph } = st\n this.log({\n timestamp,\n showDuration,\n paragraph\n })\n */\n let offset = 0\n let streamTime = 0\n // chrome, firefox, edge, android\n if (!this.isNative) {\n offset = (this.videoEl.currentTime - this.fragVideoTime) * 1000;\n streamTime = this.playingFragmentTime + offset\n } else {\n streamTime = (new Date()).getTime() - (st.legacyDelay * 1000)\n // ios force live, but only after the buffers are loaded, will block playback otherwise\n if (this.videoEl.currentTime > 45 && this.videoEl.duration > 45 && (this.videoEl.duration - this.videoEl.currentTime) > 45) {\n // this.videoEl.currentTime = this.videoEl.duration - 30\n }\n }\n // wait until we have the stream time ready\n if (!isNaN(streamTime)) {\n if (st.passthrough || (st && st.timestamp < streamTime)) {\n st = subtitleBuffer.pop();\n // discard older titles on player view once stream time is ready\n // do this once\n if (!this.oldMessagesDiscarded && this.viewmode === 'player') {\n let fromTime = streamTime\n subtitleBuffer.discardOlderThan(fromTime)\n this.oldMessagesDiscarded = true\n }\n this.showCue(st);\n }\n } else {\n // TODO: I18n\n const loadsubtitlesLabel = this.$t('player.loading_subtitles') || ' '\n let placeholder = subtitleBuffer.createPlaceholderTitle(loadsubtitlesLabel) // \"Chargement des sous-titres…\"\n this.showCue(placeholder);\n }\n }\n } catch (error) {\n //console.log(\"error in subtitle loop\", error);\n this.log(\"error in subtitle loop\", error);\n }\n setTimeout(this.subtitleLoop, 80);\n },\n // show a subtitle cue on the video element. this is called by the subtitle loop that manages the time matching from the subtitles buffer\n showCue(subtitleCue) {\n //console.log(\"showCue: %d: %s, %v\", subtitleCue.index, subtitleCue.humanTime, subtitleCue)\n try {\n // ignore the clearing subtitle cues\n if (!subtitleCue.paragraph.lines) {\n // console.log(\"suibtitleCue clear\");\n return;\n }\n // abort if calibrate and not in monitor mode\n if (subtitleCue.type === \"calibrate\" && this.viewmode !== \"monitor\") {\n //console.log(\"suibtitleCue calibrate in player\");\n return;\n }\n this.log(\n \"suibtitleCue: \",\n subtitleCue.index,\n subtitleCue.showDuration,\n subtitleCue.paragraph.lines[0].text,\n subtitleCue.timestamp\n );\n // store the first line for the updateClientState request\n // to indicated the server where this client stands -> monitor / clients\n this.currentSubtitleText = subtitleCue.paragraph.lines[0].text;\n const videoEl = this.videoEl;\n var t0 = videoEl.textTracks[0];\n this.log(\"text track t0: \", t0)\n // apply the subtitle text to the text cue\n if (t0.cues && t0.cues.length > 0) {\n var cue = t0.cues[0];\n // console.log(\"cue: \", cue)\n // there is a styling issue due to a return character in front of 'DEMO' Export from fab, charcode 8629\n cue.text = utils.extractLines(subtitleCue);\n cue.line = this.extractLinePosition(subtitleCue);\n // IE Edge throws an Syntax Error Excpetion if startTime > endTime, so make sure to set this first!!!\n var startTime = this.videoEl.currentTime;\n var endTime = startTime + subtitleCue.showDuration / 1000;\n //console.log(\"startTime: \", startTime)\n this.log(\"startTime: \", startTime)\n //console.log(\"endTime: \", endTime)\n this.log(\"endTime: \", endTime)\n cue.endTime = endTime; // subtitleCue.endTime - subtitleCue.startTime;\n cue.startTime = startTime\n this.log(\"cue: \", cue)\n }\n } catch (error) {\n //console.log(\"failed to show subtitle\", error);\n this.log(\"failed to show subtitle\", error)\n }\n },\n extractLines(data) {\n return utils.extractLines(data);\n },\n extractLinePosition(data) {\n let position = \"bottom\";\n if (data.paragraph && data.paragraph.region) {\n position = data.paragraph.region;\n }\n return position === \"top\" ? 0 : -3; // 100;\n },\n log(...values) {\n if (this.debugging === '1') {\n this.logger.unshift(values)\n }\n },\n isMessageTargetingStream(message) {\n let stream = this.streams[this.selectedStreamIdx] || {}\n let matches = stream.id === message.streamId\n // console.log(\"isMessageTargetingStream %s === %s : %b\", stream.id, message.streamId, matches)\n return matches\n }\n }\n}\n","const goServiceAddr = process.env.VUE_APP_GO_SERVICE_ADDRESS === \"\" ? window.location.origin : process.env.VUE_APP_GO_SERVICE_ADDRESS // || 'http://localhost:3333'\n//console.log('goServiceAddr:', goServiceAddr)\n\n/* api to join streaming session, monitor clients */\n\nfunction joinStreamingSession(studioID) {\n //console.log(\"try to load sessionf in studio %s\", studioID)\n let addr\n /*\n if (config.sessionConfig) {\n addr = config.sessionConfig\n } else {\n addr = goServiceAddr + `/ngn/studio/${studioID}/session/join`\n }\n */\n addr = goServiceAddr + `/ngn/studio/${studioID}/session/join`\n return fetch(addr)\n .then(function (response) {\n if (response.status !== 200) {\n //console.log(\n // \"Looks like there was a problem. Status Code: \" + response.status\n // );\n return\n }\n // Examine the text in the response\n return response.json()\n })\n}\n\nfunction updateClientState(studioId, state) {\n var url = `/studio/${studioId}/session/clientState`\n // var addr = \"http://\" + hostname + \":\" + port;\n return _fetchFromGoService(\"PUT\", url, state)\n}\n\nfunction _fetchFromGoService(method, url, data) {\n const addr = goServiceAddr\n return fetch(`${addr}/ngn${url}`, {\n method: method,\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: method === 'GET' ? null : JSON.stringify(data || {})\n }).then(response => {\n return response.json()\n })\n}\n\nexport default {\n updateClientState,\n joinStreamingSession\n}","// Workaround (2025-01-24): starting from the Grand Conseil de Genève session today the subtitles seem to come with a wrong encoding: catégorie\n// This TextDecoder() trick helps reinterpret the encoding so that it actually looks like catégorie\nfunction fixEncoding(str) {\n // These characters (e.g. \"Ç\") are not caught by the re-encoding for some reason\n const replacements = [\n ['Ç', '_C_cedilla_', 'Ç'],\n ['À', '_A_grave_', 'À'],\n ['É', '_E_acute_', 'É'],\n ['Â', '_A_circumflex_', 'Â'],\n ['Ê', '_E_circumflex_', 'Ê'],\n ['ÃŽ', '_I_circumflex_', 'Î'],\n ['Ô', '_O_circumflex_', 'Ô'],\n ['Ä', '_A_trema', 'Ä'],\n ['Ãœ', '_U_trema_', 'Ü'],\n ['Ö', '_O_trema', 'Ö'],\n ['Å“', '_e_o_', 'œ'],\n ['Å’', '_E_O_', 'Œ'],\n ['Æ', '_A_E_', 'Æ'],\n ['ß', '_eszett_', 'ß'],\n ['ẞ', '_Eszett_', 'ẞ'],\n ['’', '_right_single_quote_', '’'],\n ];\n\n let out = str;\n for (const replacement of replacements) {\n out = out.replaceAll(replacement[0], replacement[1])\n }\n\n try {\n out = new TextDecoder(\"utf-8\", { fatal: true }).decode(\n Uint8Array.from(out, c => c.charCodeAt(0))\n );\n // eslint-disable-next-line no-empty\n } catch {\n if (window.logEncodingErrors) {\n /* eslint-disable no-console */\n console.error('[Encoding] failed to decode:');\n console.error(str);\n /* eslint-enable no-console */\n }\n }\n\n for (const replacement of replacements) {\n out = out.replaceAll(replacement[1], replacement[2])\n }\n\n return out\n}\n\nexport function extractLines(data) {\n let result = \"\";\n if (!data) {\n return result\n }\n if (data.paragraph && data.paragraph.lines) {\n let lines = data.paragraph.lines;\n for (var i = 0; i < lines.length; i++) {\n const line = lines[i].text;\n const fixedLine = fixEncoding(line);\n\n result += i === 0 ? fixedLine : \"\\n\" + fixedLine;\n }\n }\n return result;\n}\n\nexport function getUrlParameter(name) {\n name = name.replace(/[[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\n var results = regex.exec(location.search);\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n}\n\nexport function findByPropValue(arr, key, val) {\n if (!arr) {\n return null\n }\n return arr.find((el) => {\n return el[key] === val\n })\n}\n\nexport function generateUuid() {\n function randomDigit() {\n if (crypto && crypto.getRandomValues) {\n var rands = new Uint8Array(1);\n crypto.getRandomValues(rands);\n return (rands[0] % 16).toString(16);\n } else {\n return ((Math.random() * 16) | 0).toString(16);\n }\n }\n var crypto = window.crypto || window.msCrypto;\n return 'xxxxxxxx-xxxx-4xxx-8xxx-xxxxxxxxxxxx'.replace(/x/g, randomDigit);\n}\n\nexport function easeInOutQuad(t, b, c, d) {\n\tt /= d/2;\n\tif (t < 1) return c/2*t*t + b;\n\tt--;\n\treturn -c/2 * (t*(t-2) - 1) + b;\n}\n\nexport default {\n easeInOutQuad,\n extractLines,\n getUrlParameter,\n findByPropValue,\n generateUuid\n}\n"],"sourceRoot":""}