define(["appStorage","browser"],function(appStorage,browser){"use strict";functiongetDeviceProfile(){returnnull}functiongetCapabilities(){varcaps={PlayableMediaTypes:["Audio","Video"],SupportsPersistentIdentifier:!1,DeviceProfile:getDeviceProfile()};returncaps}functiongenerateDeviceId(){returnnewPromise(function(resolve,reject){require(["cryptojs-sha1"],function(){varkeys=[];keys.push(navigator.userAgent),keys.push((newDate).getTime()),resolve(CryptoJS.SHA1(keys.join("|")).toString())})})}functiongetDeviceId(){varkey="_deviceId2",deviceId=appStorage.getItem(key);returndeviceId?Promise.resolve(deviceId):generateDeviceId().then(function(deviceId){returnappStorage.setItem(key,deviceId),deviceId})}functiongetDeviceName(){vardeviceName;returndeviceName=browser.tizen?"Samsung Smart TV":browser.web0S?"LG Smart TV":browser.operaTv?"Opera TV":browser.xboxOne?"Xbox One":browser.ps4?"Sony PS4":browser.chrome?"Chrome":browser.edge?"Edge":browser.firefox?"Firefox":browser.msie?"Internet Explorer":"Web Browser",browser.version&&(deviceName+=" "+browser.version),browser.ipad?deviceName+=" Ipad":browser.iphone?deviceName+=" Iphone":browser.android&&(deviceName+=" Android"),deviceName}functionsupportsVoiceInput(){return!browser.tv&&(window.SpeechRecognition||window.webkitSpeechRecognition||window.mozSpeechRecognition||window.oSpeechRecognition||window.msSpeechRecognition)}functionsupportsFullscreen(){if(browser.tv)return!1;varelement=document.documentElement;return!!(element.requestFullscreen||element.mozRequestFullScreen||element.webkitRequestFullscreen||element.msRequestFullscreen)||!!document.createElement("video").webkitEnterFullscreen}functiongetSyncProfile(){returnnewPromise(function(resolve,reject){require(["browserdeviceprofile","appSettings"],function(profileBuilder,appSettings){varprofile=profileBuilder();profile.MaxStaticMusicBitrate=appSettings.maxStaticMusicBitrate(),resolve(profile)})})}functionsupportsHtmlMediaAutoplay(){if(browser.edgeUwp||browser.tv||browser.ps4||browser.xboxOne)return!0;if(browser.mobile)return!1;varsavedResult=appStorage.getItem(htmlMediaAutoplayAppStorageKey);return"true"===savedResult||"false"!==savedResult&&null}varhtmlMediaAutoplayAppStorageKey="supportshtmlmediaautoplay0",supportedFeatures=function(){varfeatures=["sharing","externalpremium"];returnbrowser.edgeUwp||browser.tv||browser.xboxOne||browser.ps4||features.push("filedownload"),browser.operaTv||browser.tizen||browser.web0s?features.push("exit"):features.push("exitmenu"),browser.operaTv||features.push("externallinks"),supportsVoiceInput()&&features.push("voiceinput"),supportsHtmlMediaAutoplay()&&(features.push("htmlaudioautoplay"),features.push("htmlvideoautoplay")),window.SyncRegistered,supportsFullscreen()&&features.push("fullscreenchange"),(browser.chrome||browser.edge&&!browser.slow)&&(browser.noAnimation||features.push("imageanalysis")),Dashboard.isConnectMode()&&features.push("multiserver"),(browser.tv||browser.xboxOne||browser.ps4||browser.mobile)&&features.push("physicalvolumecontrol"),browser.tv||browser.xboxOne||browser.ps4||features.push("remotecontrol"),features}();supportedFeatures.indexOf("htmlvideoautoplay")===-1&&supportsHtmlMediaAutoplay()!==!1&&require(["autoPlayDetect"],function(autoPlayDetect){autoPlayDetect.supportsHtmlMediaAutoplay().then(function(){appStorage.setItem(htmlMediaAutoplayAppStorageKey,"true"),supportedFeatures.push("htmlvideoautoplay"),supportedFeatures.push("htmlaudioautoplay")},function(){appStorage.setItem(htmlMediaAutoplayAppStorageKey,"false")})});varappInfo,version=window.dashboardVersion||"3.0";return{getWindowState:function(){returndocument.windowState||"Normal"},setWindowState:function(state){alert("setWindowState is not supported and should not be called")},exit:function(){if(browser.tizen)try{tizen.application.getCurrentApplication().exit()}catch(err){console.log("error closing application: "+err)}elsewindow.close()},supports:function(command){returnsupportedFeatures.indexOf(command.toLowerCase())!=-1},appInfo:function(){returnappInfo?Promise.resolve(appInfo):g