{
  "dashjsAdapter,checkExistsPlayer": "try{return this.adapter.checkExistsObjectOnPage(this.player.getVideoElement());}catch(err){return true;}",
  "dashjsAdapter,getVersion": "return 'dash';",
  "dashjsAdapter,getPlayhead": "var ret=null;if(this.player){ret=this.isLive ? this.player.timeAsUTC(): this.player.time();}return ret;",
  "dashjsAdapter,getDroppedFrames": "var ret=0;if(this.player){var metrics=this.player.getDashMetrics();ret=metrics.getCurrentDroppedFrames();}return ret;",
  "dashjsAdapter,getDuration": "var ret=null;if(this.player){ret=this.player.duration();}return ret;",
  "dashjsAdapter,getBitrate": "var rendition=this._getRenditionInfo();return rendition ? rendition.bitrate : null;",
  "dashjsAdapter,getRendition": "var rendition=this._getRenditionInfo();return rendition ? this.adapter.getNpawUtils().buildRenditionString(rendition.width,rendition.height,rendition.bitrate): null;",
  "dashjsAdapter,_getRenditionInfo": "var ret=null;if(this.player){var level=this.player.getQualityFor('video');if(level){ret=this.player.getBitrateInfoListFor('video')[level];}}return ret;",
  "dashjsAdapter,getThroughput": "if(this.getCdnTraffic()&&this.getCdnTraffic()!==0&&this.adapter.plugin&&this.adapter.plugin.getPingTime()){if(!this.lastDataValue){this.lastDataValue=0;};var prevDataValue=this.lastDataValue;this.lastDataValue=this.getCdnTraffic()+this.getP2PTraffic();return Math.round((this.lastDataValue-prevDataValue)/this.adapter.plugin.getPingTime());};if(!this.throughput&&this.player&&this.player.getMetricsFor){var metrics=this.player.getMetricsFor('video');var dashMetrics=this.player.getDashMetrics();var requests=dashMetrics.getHttpRequests(metrics);if(!requests)return null;var bps=0;var bpsCount=0;for(var i=0;i<requests.length;i++){var req=requests[i];if(req.type==='MediaSegment'&&req.responsecode>=200&&req.responsecode<400&&req._stream==='video'){var match=req._responseHeaders.match(/Content-Length:(.+)/i);if(match){var time=(req.interval-(req.tresponse-req.trequest))/1000;bps+=(match[1]/time)*8;bpsCount++;}}}if(!bps)return null;this.throughput=bps/bpsCount;};if(!this.throughput&&this.player&&this.player.getAverageThroughput){var videoThroughput=this.player.getAverageThroughput('video');var audioThroughput=this.player.getAverageThroughput('audio');this.throughput=(videoThroughput+audioThroughput)*1000;}return this.throughput;",
  "dashjsAdapter,getIsLive": "if(!this.isLive){this.isLive=false;}return this.isLive;",
  "dashjsAdapter,getResource": "var ret=null;if(this.player){try{var src=this.player.getSource();if(typeof src==='string'){ret=src;}}catch(err){}}return ret;",
  "dashjsAdapter,getPlayrate": "if(this.player){return this.player.getPlaybackRate();}return 1;",
  "dashjsAdapter,getPlayerName": "return 'dashJS';",
  "dashjsAdapter,getPlayerVersion": "var ret=null;if(this.player){ret=this.player.getVersion();}return ret;",
  "dashjsAdapter,getLatency": "var ret=null;if(this.getIsLive()&&this.player&&this.player.getCurrentLiveLatency){ret=this.player.getCurrentLiveLatency()*1000;}return ret;",
  "dashjsAdapter,registerListeners,adapter, player": "var Events=dashjs.MediaPlayer.events;this.adapter=adapter;this.references={};this.references[Events.MANIFEST_LOADED]=this.manifestLoaded.bind(this);this.references[Events.PLAYBACK_STARTED]=this.playbackStarted.bind(this);this.references[Events.PLAYBACK_WAITING]=this.playbackWaiting.bind(this);this.references[Events.PLAYBACK_PLAYING]=this.playbackPlaying.bind(this);this.references[Events.PLAYBACK_SEEKED]=this.playbackPlaying.bind(this);this.references[Events.PLAYBACK_PAUSED]=this.playbackPaused.bind(this);this.references[Events.PLAYBACK_ENDED]=this.playbackEnded.bind(this);this.references[Events.ERROR]=this.errorListener.bind(this);this.references[Events.PLAYBACK_ERROR]=this.playbackError.bind(this);this.references[Events.PLAYBACK_SEEKING]=this.playbackSeeking.bind(this);if(player&&player.dash){this.player=player.dash;for(var key in this.references){this.player.on(key,this.references[key]);}}",
  "dashjsAdapter,unregisterListeners,player": "if(player&&this.references){for(var key in this.references){player.off(key,this.references[key]);}delete this.references;}",
  "dashjsAdapter,manifestLoaded,e": "this.adapter.firePlayerLog('manifestLoaded',{});this.isLive=e.data&&e.data.type==='dynamic';",
  "dashjsAdapter,playbackStarted,e": "this.adapter.firePlayerLog('playbackStarted',{});this.adapter.fireStart({},'playbackStarted');",
  "dashjsAdapter,playbackPaused,e": "this.adapter.firePlayerLog('playbackPaused',{});this.adapter.firePause({},'playbackPaused');",
  "dashjsAdapter,playbackPlaying,e": "this.adapter.firePlayerLog('playbackPlaying',{});if(this.adapter.flags.isPaused){this.adapter.fireResume({},'playbackPlaying');}if(!this.player.isPaused()&&this.adapter.flags.isSeeking){this.adapter.fireSeekEnd({},'playbackPlaying');}this.adapter.fireBufferEnd({},'playbackPlaying');this.adapter.fireJoin({},'playbackPlaying');",
  "dashjsAdapter,playbackWaiting": "this.adapter.firePlayerLog('playbackWaiting',{});this.adapter.fireBufferBegin({},false,'playbackWaiting');",
  "dashjsAdapter,errorListener,e": "this.adapter.firePlayerLog('errorListener',{});if(e.error.code){this.adapter.fireError(e.error.code,e.error.message,undefined,undefined,'errorListener');}else{this.adapter.fireError(e.error,'Error',undefined,undefined,'errorListener');}",
  "dashjsAdapter,playbackError,e": "this.adapter.firePlayerLog('playbackError',{});if(e.error.code){this.adapter.fireError(e.error.code,e.error.message,undefined,undefined,'playbackError');}else{this.adapter.fireError(e.error,'Playback error',undefined,undefined,'playbackError');}",
  "dashjsAdapter,playbackSeeking,e": "this.adapter.firePlayerLog('playbackSeeking',{});if(this.isLive){this.adapter.fireStart({},'playbackSeeking');};this.adapter.fireSeekBegin({},false,'playbackSeeking');",
  "dashjsAdapter,playbackEnded,e": "var adsAdapter=this.adapter.getVideo().getAdsAdapter();var willShowCSAIAds=false;if(adsAdapter&&typeof adsAdapter.isDAI!=='undefined'){if(!adsAdapter.isDAI){willShowCSAIAds=adsAdapter.player.getCuePoints().includes(-1);}};if(e.isLast&&!willShowCSAIAds){this.adapter.firePlayerLog('playbackEnded',{});this.adapter.fireStop({},'playbackEnded');}",
  "dashjsAdapter,getCdnTraffic": "if(this.player.getMetricsFor){var allMetrics=this.player.getMetricsFor('p2pweb');if(!allMetrics)return this.adapter.getNpawReference().Adapter.prototype.getCdnTraffic();var metrics=allMetrics.metricsP2PWeb;return metrics.videoAvgLength*metrics.chunksFromCDN+metrics.audioAvgLength*metrics.chunksFromCDN;}return null;",
  "dashjsAdapter,getP2PTraffic": "if(this.player.getMetricsFor){var allMetrics=this.player.getMetricsFor('p2pweb');if(!allMetrics)return this.adapter.getNpawReference().Adapter.prototype.getP2PTraffic();var metrics=allMetrics.metricsP2PWeb;return metrics.videoAvgLength*metrics.chunksFromP2P+metrics.audioAvgLength*metrics.chunksFromP2P;}return null;",
  
  "hlsjsAdapter,checkExistsPlayer": "try{return this.adapter.checkExistsObjectOnPage(this.player.media);}catch(err){return true;}",
  "hlsjsAdapter,getVersion": "return 'hlsjs';",
  "hlsjsAdapter,getPlayhead": "var ret=null;if(this.tag){ret=this.tag.currentTime;}return ret;",
  "hlsjsAdapter,getPlayrate": "var ret=null;if(this.tag){ret=this.tag.playbackRate;}return ret;",
  "hlsjsAdapter,getDroppedFrames": "var ret=null;if(this.tag){ret=this.tag.webkitDroppedFrameCount;}return ret;",
  "hlsjsAdapter,getDuration": "var ret=null;if(this.tag&&!this.getIsLive()){ret=this.tag.duration;}return ret;",
  "hlsjsAdapter,getBitrate": "var ret=null;if(this.player.currentLevel!==-1&&this.player.levels[this.player.currentLevel]){ret=this.player.levels[this.player.currentLevel].bitrate;}return ret;",
  "hlsjsAdapter,getRendition": "var ret=null;if(this.player.currentLevel!==-1){var level=this.player.levels[this.player.currentLevel];if(level){if(level.name){ret=level.name;}else{if(level.bitrate){ret=this.adapter.getNpawUtils().buildRenditionString(level.width,level.height,level.bitrate);}}}}return ret;",
  "hlsjsAdapter,getIsLive": "var ret=null;if(this.player.levels&&this.player.levels[this.player.currentLevel]){ret=this.player.levels[this.player.currentLevel].details.live;}return ret;",
  "hlsjsAdapter,getLatency": "var latency=this.player.latency;return latency ? latency*1000 : undefined;",
  "hlsjsAdapter,getResource": "return this.player.url;",
  "hlsjsAdapter,getPlayerVersion": "return(typeof Hls!=='undefined')? Hls.version : 'unknown';",
  "hlsjsAdapter,getPlayerName": "return 'Hls.js';",
  "hlsjsAdapter,getTagListener": "this.tag=this.player ? this.player.media : null;this.mediaFound=true;this.registerListeners(this.adapter,this.player);",
  "hlsjsAdapter,registerListeners,adapter, player": "if(adapter&&player){this.adapter=adapter;this.player=player.hls;if(!this.mediaFound){this._registerHlsRef();}else{if(!this.hlsReference&&!this.hlsMediaReference){this.tag=this.player ? this.player.media : null;this._registerHlsRef();}this.references={play: this.playListener.bind(this),pause: this.pauseListener.bind(this),playing: this.playingListener.bind(this),seeking: this.seekingListener.bind(this),error: this.errorListener.bind(this),ended: this.endedListener.bind(this),progress: this.progressListener.bind(this),waiting: this.bufferingListener.bind(this),timeupdate: this.timeupdateListener.bind(this)};for(var key in this.references){this.tag.addEventListener(key,this.references[key]);}}}",
  "hlsjsAdapter,_registerHlsRef": "this.hlsReference=this.hlsErrorListener.bind(this);this.getTagListener();this.hlsMediaReference=this.getTagListener.bind(this);this.player.on('hlsError',this.hlsReference,this);this.player.on('hlsMediaAttached',this.hlsMediaReference);",
  "hlsjsAdapter,unregisterListeners": "if(this.adapter.monitor)this.adapter.monitor.stop();if(this.player){if(this.hlsReference){this.player.off('hlsError',this.hlsReference,this);}if(this.hlsMediaReference){this.player.off('hlsMediaAttached',this.hlsMediaReference);};this.hlsReference=null;this.hlsMediaReference=null;}if(this.tag&&this.references){for(var key in this.references){this.tag.removeEventListener(key,this.references[key]);}delete this.references;}",
  "hlsjsAdapter,progressListener,e": "if(!this.adapter.flags.isStarted){if(this.getPlayhead()>1&&(this.startedOnce||!this.adapter.getVideo().getIsLive())){this.adapter.fireStart({},'progressListener');this.adapter.fireJoin({},'progressListener');}}else if(!this.adapter.flags.isJoined&&this.adapter.getVideo().getIsLive()){this.adapter.fireJoin({},'progressListener');}",
  "hlsjsAdapter,timeupdateListener,e": "if(!this.adapter.flags.isStarted){if(this.getPlayhead()>1&&(this.startedOnce||!this.adapter.getVideo().getIsLive())){this.adapter.fireStart({},'timeupdateListener');this.adapter.fireJoin({},'timeupdateListener');}}else if(!this.adapter.flags.isJoined&&this.adapter.getVideo().getIsLive()){this.adapter.fireJoin({},'timeupdateListener');}",
  "hlsjsAdapter,playListener,e": "this.adapter.fireStart({},'playListener');this.startedOnce=true;",
  "hlsjsAdapter,pauseListener,e": "if(!this.adapter.flags.isBuffering){this.adapter.firePause({},'pauseListener');this.pauseStamp=e.timeStamp;}",
  "hlsjsAdapter,playingListener,e": "this.adapter.fireJoin({},'playingListener');this.adapter.fireBufferEnd({},'playingListener');this.adapter.fireSeekEnd({},'playingListener');this.adapter.fireResume({},'playingListener');",
  "hlsjsAdapter,seekingListener,e": "this.adapter.fireSeekBegin({},false,'seekingListener');",
  "hlsjsAdapter,bufferingListener,e": "if(!this.tag||this.tag.readyState===2){this.adapter.fireBufferBegin({},false,'bufferingListener');}",
  "hlsjsAdapter,errorListener,e": "this.adapter.fireError(this.tag.error.code,'PLAY FAILURE',undefined,undefined,'errorListener');",
  "hlsjsAdapter,endedListener,e": "var adsAdapter=this.adapter.getVideo().getAdsAdapter();var willShowCSAIAds=false;if(adsAdapter&&typeof adsAdapter.isDAI!=='undefined'){if(!adsAdapter.isDAI){willShowCSAIAds=adsAdapter.player.getCuePoints().includes(-1);}}if(!willShowCSAIAds){this.adapter.fireStop({},'endedListener');}",
  "hlsjsAdapter,hlsErrorListener,event, error": "if(error.fatal){this.adapter.fireFatalError(error.details,'PLAYER FAILURE',undefined,undefined,'hlsErrorListener');}",
  
  "html5Adapter,checkExistsPlayer": "try{return this.adapter.checkExistsObjectOnPage(this.player);}catch(err){return true;}",
  "html5Adapter,pauseListener,e": "this.adapter.firePlayerLog('pauseListener',{});this.adapter.firePause({},'pauseListener');",
  "html5Adapter,stalledListener,e": "this.adapter.firePlayerLog('stalledListener',{});this.adapter.fireBufferBegin({},false,'stalledListener');",
  "html5Adapter,bufferingListener,e": "this.adapter.firePlayerLog('waitingListener',{});this.adapter.fireBufferBegin({},false,'waitingListener');",
  "html5Adapter,getIsLive": "return this.player.opt('live');",
  "html5Adapter,playListener,e": "this.adapter.firePlayerLog('playListener',{});if(this.player&&this.playhead){this.adapter.checkReadyState(this.player.readyState,'playListener');}this.adapter.fireStart({},'playListener');",
  "html5Adapter,endedListener,e": "this.adapter.firePlayerLog('endedListener',{});this.adapter.fireStop({},'endedListener');",
  "html5Adapter,getPlayrate": "return this.player.playbackRate;",
  "html5Adapter,canPlayListener,e": "if(this.player){if(this.playhead||(this.adapter.getVideo()&&this.adapter.getVideo().getIsLive())){this.adapter.checkReadyState(this.player.readyState,'canPlayListener');}}",
  "html5Adapter,canPlayThroughListener,e": "if(this.player){if(this.playhead||(this.adapter.getVideo()&&this.adapter.getVideo().getIsLive())){this.adapter.checkReadyState(this.player.readyState,'canPlayThroughListener');}}",
  "html5Adapter,timeupdateListener,e": "if((this.getPlayhead()>0||(this.adapter.getVideo()&&this.adapter.getVideo().getIsLive()))&&!this.player.error){this.adapter.fireStart({},'timeupdateListener');this.adapter.fireJoin({},'timeupdateListener');}",
  "html5Adapter,getResource": "return this.player.currentSrc;",
  "html5Adapter,getPlayhead": "return this.player.currentTime;",
  "html5Adapter,getDuration": "return this.player.duration;",
  "html5Adapter,seekingListener,e": "this.adapter.firePlayerLog('seekingListener',{});this.adapter.fireSeekBegin({},false,'seekingListener');",
  "html5Adapter,getVersion": "return 'html5';",
  "html5Adapter,getPlayerVersion": "return flowplayer.version;",
  "html5Adapter,fatalErrorListener,e": "this.errorListener(e);this.adapter.fireStop({},'fatalErrorListener');",
  "html5Adapter,playingListener,e": "this.adapter.firePlayerLog('playingListener',{});this.adapter.fireJoin({},'playingListener');this.adapter.fireResume({},'playingListener');this.adapter.fireSeekEnd({},'playingListener');if(this.adapter.flags.isBuffering){this.adapter.fireBufferEnd({},'playingListener');}",
  "html5Adapter,errorListener,e": "this.adapter.firePlayerLog('errorListener',{});var msg=null;var code=null;try{if(e&&e.target&&e.target.error){code=e.target.error.code;msg=e.target.error.message;}}catch(err){};this.adapter.fireError(code,msg,undefined,undefined,'errorListener');",
  "html5Adapter,loadedMediaDataListener,e": "if(this.player){if(this.playhead||(this.adapter.getVideo()&&this.adapter.getVideo().getIsLive())){this.adapter.checkReadyState(this.player.readyState,'loadedMediaDataListener');}}",
  "html5Adapter,seekedListener,e": "this.adapter.irePlayerLog('seekedListener',{});this.adapter.ireSeekEnd({},'seekedListener');",
  "html5Adapter,loadStartListener,e": "this.adapter.firePlayerLog('loadStartListener',{});if(this.adapter.flags.isJoined){this.adapter.fireStop({},'loadStartListener');}",
  "html5Adapter,registerListeners,adapter, player": "this.adapter=adapter;this.player=player;this.adapter.monitorPlayhead(true,false);var ev={};if(typeof flowplayer!=='undefined'&&flowplayer.events){ev=flowplayer.events}this.refs=[ [ev.SEEKING||'seeking',this.seekingListener.bind(this)],[ev.PLAY||'play',this.playListener.bind(this)],[ev.TIME_UPDATE||'timeupdate',this.timeupdateListener.bind(this)],[ev.PAUSE||'pause',this.pauseListener.bind(this)],[ev.PLAYING||'playing',this.playingListener.bind(this)],[ev.ERROR||'error',this.errorListener.bind(this)],[ev.SEEKED||'seeked',this.seekedListener.bind(this)],[ev.ENDED||'ended',this.endedListener.bind(this)],[ev.NON_RECOVERABLE_ERROR||'error:fatal',this.fatalErrorListener.bind(this)] ];for(var i=0;i<this.refs.length;i++){this.player.addEventListener(this.refs[i][0],this.refs[i][1]);}",
  "html5Adapter,unregisterListeners": "if(this.adapter.monitor)this.adapter.monitor.stop();if(this.player&&this.refs){for(var i=0;i<this.refs.length;i++){this.player.removeEventListener(this.refs[i][0],this.refs[i][1]);delete this.refs[i];}}",
  "html5Adapter,loadedDataListener,e": "if(this.player){if(this.playhead||(this.adapter.getVideo()&&this.adapter.getVideo().getIsLive())){this.adapter.checkReadyState(this.player.readyState,'loadedDataListener');}}",
  
  "adapter,checkExistsPlayer": "try{return this.getUsedTech().checkExistsPlayer();}catch(err){return true;}",
  "adapter,getVersion": "var tech=this.getUsedTech();var techVersion='';if(tech&&tech.getVersion){techVersion='-'+tech.getVersion();}return `7.0.1-flowplayer${techVersion}-js`;",
  "adapter,getUsedTech": "if(this.player.hls){return this.getAdapterClass('hlsjsAdapter');}else if(this.player.dash){return this.getAdapterClass('dashjsAdapter');}else{return this.getAdapterClass('html5Adapter');}",
  "adapter,getPlayhead": "var ret;var tech=this.getUsedTech();if(tech&&tech.getPlayhead){ret=tech.getPlayhead();}return ret;",
  "adapter,getPlayrate": "var ret;var tech=this.getUsedTech();if(tech&&tech.getPlayrate){ret=tech.getPlayrate();}return ret;",
  "adapter,getDroppedFrames": "var ret;var tech=this.getUsedTech();if(tech&&tech.getDroppedFrames){ret=tech.getDroppedFrames();}return ret;",
  "adapter,getDuration": "var ret;var tech=this.getUsedTech();if(tech&&tech.getDuration){ret=tech.getDuration();}return ret;",
  "adapter,getBitrate": "var ret;var tech=this.getUsedTech();if(tech&&tech.getBitrate){ret=tech.getBitrate();}return ret;",
  "adapter,getRendition": "var ret;var tech=this.getUsedTech();if(tech&&tech.getRendition){ret=tech.getRendition();}return ret;",
  "adapter,getThroughput": "var ret;var tech=this.getUsedTech();if(tech&&tech.getThroughput){ret=tech.getThroughput();}return ret;",
  "adapter,getIsLive": "var ret;var tech=this.getUsedTech();if(tech&&tech.getIsLive){ret=tech.getIsLive();}return ret;",
  "adapter,getLatency": "var latency;var tech=this.getUsedTech();if(tech&&tech.getLatency){ret=tech.getLatency();}return latency;",
  "adapter,getResource": "var ret;var tech=this.getUsedTech();if(tech&&tech.getResource){ret=tech.getResource();}return ret;",
  "adapter,getPlayerVersion": "var ret;var tech=this.getUsedTech();if(tech&&tech.getPlayerVersion){ret=tech.getPlayerVersion();}return ret;",
  "adapter,getPlayerName": "var ret;var tech=this.getUsedTech();if(tech&&tech.getPlayerName){ret=tech.getPlayerName();}return ret;",
  "adapter,getCdnTraffic": "var ret;var tech=this.getUsedTech();if(tech&&tech.getCdnTraffic){ret=tech.getCdnTraffic();}return ret;",
  "adapter,getP2PTraffic": "var ret;var tech=this.getUsedTech();if(tech&&tech.getP2PTraffic){ret=tech.getP2PTraffic();}return ret;",
  "adapter,registerListeners": "var tech=this.getUsedTech();if(tech&&tech.registerListeners){tech.registerListeners(this,this.player);}",
  "adapter,unregisterListeners": "var tech=this.getUsedTech();if(tech&&tech.unregisterListeners){tech.unregisterListeners(this.player);}"
}
