{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/axios/lib/utils.js","webpack://[name]/./src/js/utils.js","webpack://[name]/./src/js/icons.js","webpack://[name]/./node_modules/axios/lib/defaults.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./src/template/video.art","webpack://[name]/./node_modules/art-template/lib/runtime.js","webpack://[name]/./node_modules/axios/lib/cancel/Cancel.js","webpack://[name]/./node_modules/axios/lib/cancel/isCancel.js","webpack://[name]/./node_modules/axios/lib/core/createError.js","webpack://[name]/./node_modules/axios/lib/adapters/xhr.js","webpack://[name]/./node_modules/axios/lib/helpers/bind.js","webpack://[name]/./node_modules/process/browser.js","webpack://[name]/./src/js/info-panel.js","webpack://[name]/./src/js/contextmenu.js","webpack://[name]/./src/js/hotkey.js","webpack://[name]/./src/js/comment.js","webpack://[name]/./src/js/setting.js","webpack://[name]/./src/js/thumbnails.js","webpack://[name]/./src/js/controller.js","webpack://[name]/./src/js/bezel.js","webpack://[name]/./src/js/timer.js","webpack://[name]/./src/js/bar.js","webpack://[name]/./src/js/subtitle.js","webpack://[name]/./src/js/user.js","webpack://[name]/./src/js/fullscreen.js","webpack://[name]/./src/js/events.js","webpack://[name]/./src/js/danmaku.js","webpack://[name]/./node_modules/detect-node/index.js","webpack://[name]/./node_modules/art-template/lib/compile/runtime.js","webpack://[name]/./src/template/player.art","webpack://[name]/./src/assets/loading.svg","webpack://[name]/./src/assets/subtitle.svg","webpack://[name]/./src/assets/camera.svg","webpack://[name]/./src/assets/pallette.svg","webpack://[name]/./src/assets/send.svg","webpack://[name]/./src/assets/comment-off.svg","webpack://[name]/./src/assets/comment.svg","webpack://[name]/./src/assets/right.svg","webpack://[name]/./src/assets/setting.svg","webpack://[name]/./src/assets/full-web.svg","webpack://[name]/./src/assets/full.svg","webpack://[name]/./src/assets/volume-off.svg","webpack://[name]/./src/assets/volume-down.svg","webpack://[name]/./src/assets/volume-up.svg","webpack://[name]/./src/assets/pause.svg","webpack://[name]/./src/assets/play.svg","webpack://[name]/./src/js/template.js","webpack://[name]/./src/js/i18n.js","webpack://[name]/./node_modules/axios/lib/helpers/spread.js","webpack://[name]/./node_modules/axios/lib/cancel/CancelToken.js","webpack://[name]/./node_modules/axios/lib/helpers/combineURLs.js","webpack://[name]/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://[name]/./node_modules/axios/lib/core/transformData.js","webpack://[name]/./node_modules/axios/lib/core/dispatchRequest.js","webpack://[name]/./node_modules/axios/lib/core/InterceptorManager.js","webpack://[name]/./node_modules/axios/lib/helpers/cookies.js","webpack://[name]/./node_modules/axios/lib/helpers/btoa.js","webpack://[name]/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://[name]/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://[name]/./node_modules/axios/lib/helpers/buildURL.js","webpack://[name]/./node_modules/axios/lib/core/enhanceError.js","webpack://[name]/./node_modules/axios/lib/core/settle.js","webpack://[name]/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://[name]/./node_modules/axios/lib/core/Axios.js","webpack://[name]/./node_modules/is-buffer/index.js","webpack://[name]/./node_modules/axios/lib/axios.js","webpack://[name]/./node_modules/axios/index.js","webpack://[name]/./src/js/api.js","webpack://[name]/./src/js/options.js","webpack://[name]/./node_modules/promise-polyfill/src/finally.js","webpack://[name]/./node_modules/setimmediate/setImmediate.js","webpack://[name]/./node_modules/timers-browserify/main.js","webpack://[name]/./node_modules/promise-polyfill/src/index.js","webpack://[name]/./src/js/player.js","webpack://[name]/./src/js/index.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","iterator","obj","constructor","isBuffer","toString","isArray","val","isObject","isFunction","forEach","fn","length","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","document","merge","result","assignValue","arguments","extend","a","b","thisArg","trim","str","replace","isMobile","test","userAgent","utils","secondToTime","second","hour","Math","floor","min","sec","map","num","join","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getScrollPosition","left","pageXOffset","top","pageYOffset","scrollTop","setScrollPosition","_ref","_ref$left","undefined","_ref$top","this","isFirefox","scrollTo","isChrome","storage","set","localStorage","setItem","getItem","cumulativeOffset","offsetTop","nameMap","dragStart","dragMove","dragEnd","color2Number","color","substr","parseInt","number2Color","number","slice","number2Type","default","_play2","_interopRequireDefault","_pause2","_volumeUp2","_volumeDown2","_volumeOff2","_full2","_fullWeb2","_setting2","_right2","_comment2","_commentOff2","_send2","_pallette2","_camera2","_subtitle2","_loading2","Icons","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","setting","right","comment","commentOff","send","pallette","camera","subtitle","loading","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","process","transformRequest","data","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","method","g","Function","eval","$$out","enableSubtitle","$data","pic","$escape","$imports","screenshot","preload","url","type","Cancel","message","__CANCEL__","enhanceError","config","code","request","response","error","Error","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","Promise","resolve","reject","requestData","requestHeaders","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","password","Authorization","open","toUpperCase","params","paramsSerializer","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","args","Array","apply","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","len","run","marker","runClearTimeout","Item","array","noop","nextTick","push","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","_createClass","defineProperties","target","props","descriptor","configurable","writable","Constructor","protoProps","staticProps","InfoPanel","player","_this","instance","TypeError","_classCallCheck","container","template","infoPanel","video","infoPanelClose","hide","beginTime","Date","now","update","timer","enable","classList","remove","disable","add","contains","show","infoVersion","innerHTML","infoType","infoUrl","options","infoResolution","videoWidth","videoHeight","infoDuration","duration","danmaku","infoDanmakuId","id","infoDanmakuApi","api","infoDanmakuAmount","dan","infoFPS","toFixed","ContextMenu","arr","arr2","from","_toConsumableArray","menuItem","item","index","contextmenu","click","event","preventDefault","clientRect","getBoundingClientRect","clientX","clientY","mask","x","y","menu","offsetWidth","width","style","offsetHeight","height","bottom","events","trigger","HotKey","hotkey","focus","tag","activeElement","tagName","editable","getAttribute","percentage","keyCode","toggle","seek","currentTime","controller","setAutoHide","volume","fullScreen","isFullScreen","_utils","_utils2","Comment","commentButton","commentSettingButton","toggleSetting","commentColorSettingBox","querySelector","commentSettingFill","fill","commentInput","commentSendFill","hideSetting","commentSendButton","disableAutoHide","commentSettingBox","showSetting","_this2","blur","text","notice","tran","Setting","settingButton","loop","loopToggle","checked","showDanmaku","user","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","unlimit","speed","settingBox","_loop","speedItem","dataset","bar","opacity","danmakuMove","changedTouches","danmakuOpacityBarWrap","max","danmakuUp","removeEventListener","danmakuOpacityBox","danmakuOpacityBarWrapWrap","Thumbnails","barWidth","backgroundImage","display","position","backgroundPosition","ceil","_thumbnails2","_icons2","Controller","autoHideTimer","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initVolumeButton","playButton","videoWrap","controllerMask","_this3","thumbnails","barPreview","barWrap","resize","_this4","thumbMove","playedBarWrap","clientWidth","ptime","thumbUp","px","tx","time","move","playedBarTime","innerText","_this5","browserFullButton","webFullButton","_this6","volumeMove","volumeBarWrap","volumeButton","volumeBarWrapWrap","volumeIcon","muted","switchVolumeIcon","_this7","quality","qualityList","switchQuality","_this8","camareButton","canvas","createElement","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL","link","href","download","appendChild","removeChild","revokeObjectURL","_this9","subtitleButton","balloon","subtitleButtonInner","_this10","played","paused","isShow","Bezel","icon","Timer","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","callback","types","init","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","setInterval","enableloadingChecker","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","fps","infoChecker","enableinfoChecker","clearInterval","Bar","elements","volumeBar","playedBar","loaded","loadedBar","danmakuOpacityBar","direction","parseFloat","Subtitle","fontSize","textTracks","track","oncuechange","cue","activeCues","getCueAsHTML","User","storageName","unlimited","FullScreen","lastScrollPosition","fullscreenchange","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","Events","videoEvents","playerEvents","info","console","Danmaku","danTunnel","danIndex","showing","_opacity","_measure","load","apiurl","maximum","address","endpoints","addition","_readAllEndpoints","results","sort","frame","newAPI","clear","readCount","apiBackend","success","msg","danmakuData","token","author","splice","htmlEncode","border","borderColor","draw","items","getElementsByClassName","itemHeight","danWidth","danHeight","itemY","danItemRight","ele","eleWidth","eleRight","danSpeed","getTunnel","tmp","_loop2","v","j","danRight","_ret2","docFragment","createDocumentFragment","_loop3","itemWidth","tunnel","transform","context","measureStyle","getComputedStyle","font","getPropertyValue","measureText","boolean","global","detectNode","runtime","ESCAPE_REG","content","html","regexResult","exec","lastIndex","char","charCodeAt","substring","xmlEscape","$each","_i","icons","$value","$index","logo","bottm","theme","live","defaultQuality","_player2","Template","danmakuLoading","bezel","querySelectorAll","dtime","qualityButton","tranTxt","zh-cn","Danmaku is loading","Top","Bottom","Rolling","Input danmaku, hit Enter","About author","DPlayer feedback","About DPlayer","Loop","Speed","Opacity for danmaku","Normal","Please input danmaku content!","Set danmaku color","Set danmaku type","Show danmaku","Video load failed","Danmaku load failed","Danmaku send failed","Switching to","Switched to","FF","REW","Unlimited danmaku","Send danmaku","Full screen","Web full screen","Send","Screenshot","Show subtitle","Hide subtitle","Volume","Live","Video info","zh-tw","lang","CancelToken","executor","resolvePromise","reason","throwIfRequested","source","baseURL","relativeURL","fns","transformData","isCancel","isAbsoluteURL","combineURLs","throwIfCancellationRequested","InterceptorManager","handlers","use","fulfilled","rejected","eject","h","write","expires","path","domain","secure","cookie","encodeURIComponent","toGMTString","match","RegExp","decodeURIComponent","chars","E","input","block","charCode","String","output","idx","charAt","originURL","msie","urlParsingNode","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","location","requestURL","parsed","ignoreDuplicateOf","split","line","encode","serializedParams","parts","toISOString","normalizedName","dispatchRequest","Axios","instanceConfig","interceptors","chain","interceptor","unshift","shift","readFloatLE","isSlowBuffer","_isBuffer","createInstance","defaultConfig","axios","all","promises","spread","_axios","_axios2","post","catch","_api","_api2","defaultOption","autoplay","language","browserLanguage","mutex","defaultKey","triggle","setImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","script","onreadystatechange","random","attachEvent","task","clearImmediate","self","Timeout","clearFn","_id","_clearFn","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","_finally","_finally2","setTimeoutFunc","_state","_handled","_value","_deferreds","doResolve","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","newValue","finale","_unhandledRejectionFn","done","ex","prom","remaining","res","race","values","err","warn","_promisePolyfill2","_options2","_i18n2","_template2","_danmaku2","_events2","_fullscreen2","_user2","_bar2","_timer2","_bezel2","_controller2","_hotkey2","_contextmenu2","_infoPanel2","_video2","instances","DPlayer","qualityIndex","arrow","initVideo","switch","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","src","initMSE","reload","customType","canPlayType","Hls","isSupported","hls","loadSource","attachMedia","flvjs","flvPlayer","createPlayer","attachMediaElement","dashjs","MediaPlayer","initialize","WebTorrent","WEBRTC_SUPPORT","client","torrentId","torrent","files","find","file","endsWith","renderTo","buffered","end","switchingQuality","videoHTML","videoEle","DOMParser","parseFromString","firstChild","insertBefore","getElementsByTagName","prevVideo","noticeTime","rate","playbackRate","destroy","_player","log"],"mappings":"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","file":"DPlayer.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 78);\n","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n    return typeof obj;\n} : function (obj) {\n    return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\nvar toString = Object.prototype.toString;\nfunction isArray(val) {\n    return toString.call(val) === '[object Array]';\n}\nfunction isArrayBuffer(val) {\n    return toString.call(val) === '[object ArrayBuffer]';\n}\nfunction isFormData(val) {\n    return typeof FormData !== 'undefined' && val instanceof FormData;\n}\nfunction isArrayBufferView(val) {\n    var result;\n    if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n        result = ArrayBuffer.isView(val);\n    } else {\n        result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n    }\n    return result;\n}\nfunction isString(val) {\n    return typeof val === 'string';\n}\nfunction isNumber(val) {\n    return typeof val === 'number';\n}\nfunction isUndefined(val) {\n    return typeof val === 'undefined';\n}\nfunction isObject(val) {\n    return val !== null && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object';\n}\nfunction isDate(val) {\n    return toString.call(val) === '[object Date]';\n}\nfunction isFile(val) {\n    return toString.call(val) === '[object File]';\n}\nfunction isBlob(val) {\n    return toString.call(val) === '[object Blob]';\n}\nfunction isFunction(val) {\n    return toString.call(val) === '[object Function]';\n}\nfunction isStream(val) {\n    return isObject(val) && isFunction(val.pipe);\n}\nfunction isURLSearchParams(val) {\n    return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\nfunction trim(str) {\n    return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\nfunction isStandardBrowserEnv() {\n    if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n        return false;\n    }\n    return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction forEach(obj, fn) {\n    if (obj === null || typeof obj === 'undefined') {\n        return;\n    }\n    if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object') {\n        obj = [obj];\n    }\n    if (isArray(obj)) {\n        for (var i = 0, l = obj.length; i < l; i++) {\n            fn.call(null, obj[i], i, obj);\n        }\n    } else {\n        for (var key in obj) {\n            if (Object.prototype.hasOwnProperty.call(obj, key)) {\n                fn.call(null, obj[key], key, obj);\n            }\n        }\n    }\n}\nfunction merge() {\n    var result = {};\n    function assignValue(val, key) {\n        if (_typeof(result[key]) === 'object' && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object') {\n            result[key] = merge(result[key], val);\n        } else {\n            result[key] = val;\n        }\n    }\n    for (var i = 0, l = arguments.length; i < l; i++) {\n        forEach(arguments[i], assignValue);\n    }\n    return result;\n}\nfunction extend(a, b, thisArg) {\n    forEach(b, function assignValue(val, key) {\n        if (thisArg && typeof val === 'function') {\n            a[key] = bind(val, thisArg);\n        } else {\n            a[key] = val;\n        }\n    });\n    return a;\n}\nmodule.exports = {\n    isArray: isArray,\n    isArrayBuffer: isArrayBuffer,\n    isBuffer: isBuffer,\n    isFormData: isFormData,\n    isArrayBufferView: isArrayBufferView,\n    isString: isString,\n    isNumber: isNumber,\n    isObject: isObject,\n    isUndefined: isUndefined,\n    isDate: isDate,\n    isFile: isFile,\n    isBlob: isBlob,\n    isFunction: isFunction,\n    isStream: isStream,\n    isURLSearchParams: isURLSearchParams,\n    isStandardBrowserEnv: isStandardBrowserEnv,\n    forEach: forEach,\n    merge: merge,\n    extend: extend,\n    trim: trim\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar isMobile = /mobile/i.test(window.navigator.userAgent);\nvar utils = {\n    secondToTime: function secondToTime(second) {\n        var add0 = function add0(num) {\n            return num < 10 ? '0' + num : '' + num;\n        };\n        var hour = Math.floor(second / 3600);\n        var min = Math.floor((second - hour * 3600) / 60);\n        var sec = Math.floor(second - hour * 3600 - min * 60);\n        return (hour > 0 ? [\n            hour,\n            min,\n            sec\n        ] : [\n            min,\n            sec\n        ]).map(add0).join(':');\n    },\n    getElementViewLeft: function getElementViewLeft(element) {\n        var actualLeft = element.offsetLeft;\n        var current = element.offsetParent;\n        var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n        if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n            while (current !== null) {\n                actualLeft += current.offsetLeft;\n                current = current.offsetParent;\n            }\n        } else {\n            while (current !== null && current !== element) {\n                actualLeft += current.offsetLeft;\n                current = current.offsetParent;\n            }\n        }\n        return actualLeft - elementScrollLeft;\n    },\n    getScrollPosition: function getScrollPosition() {\n        return {\n            left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n            top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n        };\n    },\n    setScrollPosition: function setScrollPosition(_ref) {\n        var _ref$left = _ref.left, left = _ref$left === undefined ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === undefined ? 0 : _ref$top;\n        if (this.isFirefox) {\n            document.documentElement.scrollLeft = left;\n            document.documentElement.scrollTop = top;\n        } else {\n            window.scrollTo(left, top);\n        }\n    },\n    isMobile: isMobile,\n    isFirefox: /firefox/i.test(window.navigator.userAgent),\n    isChrome: /chrome/i.test(window.navigator.userAgent),\n    storage: {\n        set: function set(key, value) {\n            localStorage.setItem(key, value);\n        },\n        get: function get(key) {\n            return localStorage.getItem(key);\n        }\n    },\n    cumulativeOffset: function cumulativeOffset(element) {\n        var top = 0, left = 0;\n        do {\n            top += element.offsetTop || 0;\n            left += element.offsetLeft || 0;\n            element = element.offsetParent;\n        } while (element);\n        return {\n            top: top,\n            left: left\n        };\n    },\n    nameMap: {\n        dragStart: isMobile ? 'touchstart' : 'mousedown',\n        dragMove: isMobile ? 'touchmove' : 'mousemove',\n        dragEnd: isMobile ? 'touchend' : 'mouseup'\n    },\n    color2Number: function color2Number(color) {\n        if (color[0] === '#') {\n            color = color.substr(1);\n        }\n        if (color.length === 3) {\n            color = '' + color[0] + color[0] + color[1] + color[1] + color[2] + color[2];\n        }\n        return parseInt(color, 16) + 0 & 16777215;\n    },\n    number2Color: function number2Color(number) {\n        return '#' + ('00000' + number.toString(16)).slice(-6);\n    },\n    number2Type: function number2Type(number) {\n        switch (number) {\n        case 0:\n            return 'right';\n        case 1:\n            return 'top';\n        case 2:\n            return 'bottom';\n        default:\n            return 'right';\n        }\n    }\n};\nexports.default = utils;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _play = require('../assets/play.svg');\nvar _play2 = _interopRequireDefault(_play);\nvar _pause = require('../assets/pause.svg');\nvar _pause2 = _interopRequireDefault(_pause);\nvar _volumeUp = require('../assets/volume-up.svg');\nvar _volumeUp2 = _interopRequireDefault(_volumeUp);\nvar _volumeDown = require('../assets/volume-down.svg');\nvar _volumeDown2 = _interopRequireDefault(_volumeDown);\nvar _volumeOff = require('../assets/volume-off.svg');\nvar _volumeOff2 = _interopRequireDefault(_volumeOff);\nvar _full = require('../assets/full.svg');\nvar _full2 = _interopRequireDefault(_full);\nvar _fullWeb = require('../assets/full-web.svg');\nvar _fullWeb2 = _interopRequireDefault(_fullWeb);\nvar _setting = require('../assets/setting.svg');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _right = require('../assets/right.svg');\nvar _right2 = _interopRequireDefault(_right);\nvar _comment = require('../assets/comment.svg');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _commentOff = require('../assets/comment-off.svg');\nvar _commentOff2 = _interopRequireDefault(_commentOff);\nvar _send = require('../assets/send.svg');\nvar _send2 = _interopRequireDefault(_send);\nvar _pallette = require('../assets/pallette.svg');\nvar _pallette2 = _interopRequireDefault(_pallette);\nvar _camera = require('../assets/camera.svg');\nvar _camera2 = _interopRequireDefault(_camera);\nvar _subtitle = require('../assets/subtitle.svg');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _loading = require('../assets/loading.svg');\nvar _loading2 = _interopRequireDefault(_loading);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nvar Icons = {\n    play: _play2.default,\n    pause: _pause2.default,\n    volumeUp: _volumeUp2.default,\n    volumeDown: _volumeDown2.default,\n    volumeOff: _volumeOff2.default,\n    full: _full2.default,\n    fullWeb: _fullWeb2.default,\n    setting: _setting2.default,\n    right: _right2.default,\n    comment: _comment2.default,\n    commentOff: _commentOff2.default,\n    send: _send2.default,\n    pallette: _pallette2.default,\n    camera: _camera2.default,\n    subtitle: _subtitle2.default,\n    loading: _loading2.default\n};\nexports.default = Icons;","'use strict';\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' };\nfunction setContentTypeIfUnset(headers, value) {\n    if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n        headers['Content-Type'] = value;\n    }\n}\nfunction getDefaultAdapter() {\n    var adapter;\n    if (typeof XMLHttpRequest !== 'undefined') {\n        adapter = require('./adapters/xhr');\n    } else if (typeof process !== 'undefined') {\n        adapter = require('./adapters/http');\n    }\n    return adapter;\n}\nvar defaults = {\n    adapter: getDefaultAdapter(),\n    transformRequest: [function transformRequest(data, headers) {\n            normalizeHeaderName(headers, 'Content-Type');\n            if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n                return data;\n            }\n            if (utils.isArrayBufferView(data)) {\n                return data.buffer;\n            }\n            if (utils.isURLSearchParams(data)) {\n                setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n                return data.toString();\n            }\n            if (utils.isObject(data)) {\n                setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n                return JSON.stringify(data);\n            }\n            return data;\n        }],\n    transformResponse: [function transformResponse(data) {\n            if (typeof data === 'string') {\n                try {\n                    data = JSON.parse(data);\n                } catch (e) {\n                }\n            }\n            return data;\n        }],\n    timeout: 0,\n    xsrfCookieName: 'XSRF-TOKEN',\n    xsrfHeaderName: 'X-XSRF-TOKEN',\n    maxContentLength: -1,\n    validateStatus: function validateStatus(status) {\n        return status >= 200 && status < 300;\n    }\n};\ndefaults.headers = { common: { 'Accept': 'application/json, text/plain, */*' } };\nutils.forEach([\n    'delete',\n    'get',\n    'head'\n], function forEachMethodNoData(method) {\n    defaults.headers[method] = {};\n});\nutils.forEach([\n    'post',\n    'put',\n    'patch'\n], function forEachMethodWithData(method) {\n    defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n    return typeof obj;\n} : function (obj) {\n    return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar g;\ng = function () {\n    return this;\n}();\ntry {\n    g = g || Function('return this')() || (1, eval)('this');\n} catch (e) {\n    if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n        g = window;\n}\nmodule.exports = g;","{{ set enableSubtitle = subtitle && subtitle.type === 'webvtt' }}\n<video\n    class=\"dplayer-video {{ if current }}dplayer-video-current{{ /if }}\"\n    webkit-playsinline\n    playsinline\n    {{ if pic }}poster=\"{{ pic }}\"{{ /if }}\n    {{ if screenshot || enableSubtitle }}crossorigin=\"anonymous\"{{ /if }}\n    {{ if preload }}preload=\"{{ preload }}\"{{ /if }}\n    {{ if url }}src=\"{{ url }}\"{{ /if }}\n    >\n    {{ if enableSubtitle }}\n    <track kind=\"metadata\" default src=\"{{ subtitle.url }}\"></track>\n    {{ /if }}\n</video>","'use strict';\nmodule.exports = require('./compile/runtime');","'use strict';\nfunction Cancel(message) {\n    this.message = message;\n}\nCancel.prototype.toString = function toString() {\n    return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","'use strict';\nmodule.exports = function isCancel(value) {\n    return !!(value && value.__CANCEL__);\n};","'use strict';\nvar enhanceError = require('./enhanceError');\nmodule.exports = function createError(message, config, code, request, response) {\n    var error = new Error(message);\n    return enhanceError(error, config, code, request, response);\n};","'use strict';\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = typeof window !== 'undefined' && window.btoa && window.btoa.bind(window) || require('./../helpers/btoa');\nmodule.exports = function xhrAdapter(config) {\n    return new Promise(function dispatchXhrRequest(resolve, reject) {\n        var requestData = config.data;\n        var requestHeaders = config.headers;\n        if (utils.isFormData(requestData)) {\n            delete requestHeaders['Content-Type'];\n        }\n        var request = new XMLHttpRequest();\n        var loadEvent = 'onreadystatechange';\n        var xDomain = false;\n        if (process.env.NODE_ENV !== 'test' && typeof window !== 'undefined' && window.XDomainRequest && !('withCredentials' in request) && !isURLSameOrigin(config.url)) {\n            request = new window.XDomainRequest();\n            loadEvent = 'onload';\n            xDomain = true;\n            request.onprogress = function handleProgress() {\n            };\n            request.ontimeout = function handleTimeout() {\n            };\n        }\n        if (config.auth) {\n            var username = config.auth.username || '';\n            var password = config.auth.password || '';\n            requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n        }\n        request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n        request.timeout = config.timeout;\n        request[loadEvent] = function handleLoad() {\n            if (!request || request.readyState !== 4 && !xDomain) {\n                return;\n            }\n            if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n                return;\n            }\n            var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n            var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n            var response = {\n                data: responseData,\n                status: request.status === 1223 ? 204 : request.status,\n                statusText: request.status === 1223 ? 'No Content' : request.statusText,\n                headers: responseHeaders,\n                config: config,\n                request: request\n            };\n            settle(resolve, reject, response);\n            request = null;\n        };\n        request.onerror = function handleError() {\n            reject(createError('Network Error', config, null, request));\n            request = null;\n        };\n        request.ontimeout = function handleTimeout() {\n            reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request));\n            request = null;\n        };\n        if (utils.isStandardBrowserEnv()) {\n            var cookies = require('./../helpers/cookies');\n            var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n            if (xsrfValue) {\n                requestHeaders[config.xsrfHeaderName] = xsrfValue;\n            }\n        }\n        if ('setRequestHeader' in request) {\n            utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n                if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n                    delete requestHeaders[key];\n                } else {\n                    request.setRequestHeader(key, val);\n                }\n            });\n        }\n        if (config.withCredentials) {\n            request.withCredentials = true;\n        }\n        if (config.responseType) {\n            try {\n                request.responseType = config.responseType;\n            } catch (e) {\n                if (config.responseType !== 'json') {\n                    throw e;\n                }\n            }\n        }\n        if (typeof config.onDownloadProgress === 'function') {\n            request.addEventListener('progress', config.onDownloadProgress);\n        }\n        if (typeof config.onUploadProgress === 'function' && request.upload) {\n            request.upload.addEventListener('progress', config.onUploadProgress);\n        }\n        if (config.cancelToken) {\n            config.cancelToken.promise.then(function onCanceled(cancel) {\n                if (!request) {\n                    return;\n                }\n                request.abort();\n                reject(cancel);\n                request = null;\n            });\n        }\n        if (requestData === undefined) {\n            requestData = null;\n        }\n        request.send(requestData);\n    });\n};","'use strict';\nmodule.exports = function bind(fn, thisArg) {\n    return function wrap() {\n        var args = new Array(arguments.length);\n        for (var i = 0; i < args.length; i++) {\n            args[i] = arguments[i];\n        }\n        return fn.apply(thisArg, args);\n    };\n};","'use strict';\nvar process = module.exports = {};\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n}());\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        return setTimeout(fun, 0);\n    }\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        return cachedSetTimeout(fun, 0);\n    } catch (e) {\n        try {\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch (e) {\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        return clearTimeout(marker);\n    }\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        return cachedClearTimeout(marker);\n    } catch (e) {\n        try {\n            return cachedClearTimeout.call(null, marker);\n        } catch (e) {\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n    var len = queue.length;\n    while (len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = '';\nprocess.versions = {};\nfunction noop() {\n}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function (name) {\n    return [];\n};\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\nprocess.cwd = function () {\n    return '/';\n};\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n    return 0;\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar InfoPanel = function () {\n    function InfoPanel(player) {\n        var _this = this;\n        _classCallCheck(this, InfoPanel);\n        this.container = player.template.infoPanel;\n        this.template = player.template;\n        this.video = player.video;\n        this.player = player;\n        this.template.infoPanelClose.addEventListener('click', function () {\n            _this.hide();\n        });\n    }\n    _createClass(InfoPanel, [\n        {\n            key: 'show',\n            value: function show() {\n                this.beginTime = Date.now();\n                this.update();\n                this.player.timer.enable('info');\n                this.player.timer.enable('fps');\n                this.container.classList.remove('dplayer-info-panel-hide');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.timer.disable('info');\n                this.player.timer.disable('fps');\n                this.container.classList.add('dplayer-info-panel-hide');\n            }\n        },\n        {\n            key: 'triggle',\n            value: function triggle() {\n                if (this.container.classList.contains('dplayer-info-panel-hide')) {\n                    this.show();\n                } else {\n                    this.hide();\n                }\n            }\n        },\n        {\n            key: 'update',\n            value: function update() {\n                this.template.infoVersion.innerHTML = 'v' + DPLAYER_VERSION + ' ' + GIT_HASH;\n                this.template.infoType.innerHTML = this.player.type;\n                this.template.infoUrl.innerHTML = this.player.options.video.url;\n                this.template.infoResolution.innerHTML = this.player.video.videoWidth + ' x ' + this.player.video.videoHeight;\n                this.template.infoDuration.innerHTML = this.player.video.duration;\n                if (this.player.options.danmaku) {\n                    this.template.infoDanmakuId.innerHTML = this.player.options.danmaku.id;\n                    this.template.infoDanmakuApi.innerHTML = this.player.options.danmaku.api;\n                    this.template.infoDanmakuAmount.innerHTML = this.player.danmaku.dan.length;\n                }\n            }\n        },\n        {\n            key: 'fps',\n            value: function fps(value) {\n                this.template.infoFPS.innerHTML = '' + value.toFixed(1);\n            }\n        }\n    ]);\n    return InfoPanel;\n}();\nexports.default = InfoPanel;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nfunction _toConsumableArray(arr) {\n    if (Array.isArray(arr)) {\n        for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n            arr2[i] = arr[i];\n        }\n        return arr2;\n    } else {\n        return Array.from(arr);\n    }\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar ContextMenu = function () {\n    function ContextMenu(player) {\n        var _this = this;\n        _classCallCheck(this, ContextMenu);\n        this.player = player;\n        [].concat(_toConsumableArray(this.player.template.menuItem)).map(function (item, index) {\n            if (_this.player.options.contextmenu[index].click) {\n                item.addEventListener('click', function () {\n                    _this.player.options.contextmenu[index].click(_this.player);\n                    _this.hide();\n                });\n            }\n            return item;\n        });\n        this.player.container.addEventListener('contextmenu', function (e) {\n            var event = e || window.event;\n            event.preventDefault();\n            var clientRect = _this.player.container.getBoundingClientRect();\n            _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n            _this.player.template.mask.addEventListener('click', function () {\n                _this.hide();\n            });\n        });\n    }\n    _createClass(ContextMenu, [\n        {\n            key: 'show',\n            value: function show(x, y) {\n                this.player.template.menu.classList.add('dplayer-menu-show');\n                var clientRect = this.player.container.getBoundingClientRect();\n                if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n                    this.player.template.menu.style.right = clientRect.width - x + 'px';\n                    this.player.template.menu.style.left = 'initial';\n                } else {\n                    this.player.template.menu.style.left = x + 'px';\n                    this.player.template.menu.style.right = 'initial';\n                }\n                if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n                    this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n                    this.player.template.menu.style.top = 'initial';\n                } else {\n                    this.player.template.menu.style.top = y + 'px';\n                    this.player.template.menu.style.bottom = 'initial';\n                }\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.player.events.trigger('contextmenu_show');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                this.player.template.menu.classList.remove('dplayer-menu-show');\n                this.player.events.trigger('contextmenu_hide');\n            }\n        }\n    ]);\n    return ContextMenu;\n}();\nexports.default = ContextMenu;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar HotKey = function HotKey(player) {\n    _classCallCheck(this, HotKey);\n    if (player.options.hotkey) {\n        document.addEventListener('keydown', function (e) {\n            if (player.focus) {\n                var tag = document.activeElement.tagName.toUpperCase();\n                var editable = document.activeElement.getAttribute('contenteditable');\n                if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n                    var event = e || window.event;\n                    var percentage = void 0;\n                    switch (event.keyCode) {\n                    case 32:\n                        event.preventDefault();\n                        player.toggle();\n                        break;\n                    case 37:\n                        event.preventDefault();\n                        player.seek(player.video.currentTime - 5);\n                        player.controller.setAutoHide();\n                        break;\n                    case 39:\n                        event.preventDefault();\n                        player.seek(player.video.currentTime + 5);\n                        player.controller.setAutoHide();\n                        break;\n                    case 38:\n                        event.preventDefault();\n                        percentage = player.volume() + 0.1;\n                        player.volume(percentage);\n                        break;\n                    case 40:\n                        event.preventDefault();\n                        percentage = player.volume() - 0.1;\n                        player.volume(percentage);\n                        break;\n                    }\n                }\n            }\n        });\n    }\n    document.addEventListener('keydown', function (e) {\n        var event = e || window.event;\n        switch (event.keyCode) {\n        case 27:\n            if (player.fullScreen.isFullScreen('web')) {\n                player.fullScreen.cancel('web');\n            }\n            break;\n        }\n    });\n};\nexports.default = HotKey;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Comment = function () {\n    function Comment(player) {\n        var _this = this;\n        _classCallCheck(this, Comment);\n        this.player = player;\n        this.player.template.mask.addEventListener('click', function () {\n            _this.hide();\n        });\n        this.player.template.commentButton.addEventListener('click', function () {\n            _this.show();\n        });\n        this.player.template.commentSettingButton.addEventListener('click', function () {\n            _this.toggleSetting();\n        });\n        this.player.template.commentColorSettingBox.addEventListener('click', function () {\n            var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n            if (sele) {\n                var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n                _this.player.template.commentSettingFill.style.fill = color;\n                _this.player.template.commentInput.style.color = color;\n                _this.player.template.commentSendFill.style.fill = color;\n            }\n        });\n        this.player.template.commentInput.addEventListener('click', function () {\n            _this.hideSetting();\n        });\n        this.player.template.commentInput.addEventListener('keydown', function (e) {\n            var event = e || window.event;\n            if (event.keyCode === 13) {\n                _this.send();\n            }\n        });\n        this.player.template.commentSendButton.addEventListener('click', function () {\n            _this.send();\n        });\n    }\n    _createClass(Comment, [\n        {\n            key: 'show',\n            value: function show() {\n                this.player.controller.disableAutoHide = true;\n                this.player.template.controller.classList.add('dplayer-controller-comment');\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.player.container.classList.add('dplayer-show-controller');\n                this.player.template.commentInput.focus();\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.template.controller.classList.remove('dplayer-controller-comment');\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                this.player.container.classList.remove('dplayer-show-controller');\n                this.player.controller.disableAutoHide = false;\n                this.hideSetting();\n            }\n        },\n        {\n            key: 'showSetting',\n            value: function showSetting() {\n                this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n            }\n        },\n        {\n            key: 'hideSetting',\n            value: function hideSetting() {\n                this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n            }\n        },\n        {\n            key: 'toggleSetting',\n            value: function toggleSetting() {\n                if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n                    this.hideSetting();\n                } else {\n                    this.showSetting();\n                }\n            }\n        },\n        {\n            key: 'send',\n            value: function send() {\n                var _this2 = this;\n                this.player.template.commentInput.blur();\n                if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n                    this.player.notice(this.player.tran('Please input danmaku content!'));\n                    return;\n                }\n                this.player.danmaku.send({\n                    text: this.player.template.commentInput.value,\n                    color: _utils2.default.color2Number(this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value),\n                    type: parseInt(this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value)\n                }, function () {\n                    _this2.player.template.commentInput.value = '';\n                    _this2.hide();\n                });\n            }\n        }\n    ]);\n    return Comment;\n}();\nexports.default = Comment;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Setting = function () {\n    function Setting(player) {\n        var _this = this;\n        _classCallCheck(this, Setting);\n        this.player = player;\n        this.player.template.mask.addEventListener('click', function () {\n            _this.hide();\n        });\n        this.player.template.settingButton.addEventListener('click', function () {\n            _this.show();\n        });\n        this.loop = this.player.options.loop;\n        this.player.template.loopToggle.checked = this.loop;\n        this.player.template.loop.addEventListener('click', function () {\n            _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n            if (_this.player.template.loopToggle.checked) {\n                _this.loop = true;\n            } else {\n                _this.loop = false;\n            }\n            _this.hide();\n        });\n        this.showDanmaku = this.player.user.get('danmaku');\n        if (!this.showDanmaku) {\n            this.player.danmaku && this.player.danmaku.hide();\n        }\n        this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n        this.player.template.showDanmaku.addEventListener('click', function () {\n            _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n            if (_this.player.template.showDanmakuToggle.checked) {\n                _this.showDanmaku = true;\n                _this.player.danmaku.show();\n            } else {\n                _this.showDanmaku = false;\n                _this.player.danmaku.hide();\n            }\n            _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n            _this.hide();\n        });\n        this.unlimitDanmaku = this.player.user.get('unlimited');\n        this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n        this.player.template.unlimitDanmaku.addEventListener('click', function () {\n            _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n            if (_this.player.template.unlimitDanmakuToggle.checked) {\n                _this.unlimitDanmaku = true;\n                _this.player.danmaku.unlimit(true);\n            } else {\n                _this.unlimitDanmaku = false;\n                _this.player.danmaku.unlimit(false);\n            }\n            _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n            _this.hide();\n        });\n        this.player.template.speed.addEventListener('click', function () {\n            _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n            _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n        });\n        var _loop = function _loop(i) {\n            _this.player.template.speedItem[i].addEventListener('click', function () {\n                _this.player.speed(_this.player.template.speedItem[i].dataset.speed);\n                _this.hide();\n            });\n        };\n        for (var i = 0; i < this.player.template.speedItem.length; i++) {\n            _loop(i);\n        }\n        if (this.player.danmaku) {\n            var dWidth = 130;\n            this.player.on('danmaku_opacity', function (percentage) {\n                _this.player.bar.set('danmaku', percentage, 'width');\n                _this.player.user.set('opacity', percentage);\n            });\n            this.player.danmaku.opacity(this.player.user.get('opacity'));\n            var danmakuMove = function danmakuMove(event) {\n                var e = event || window.event;\n                var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n                percentage = Math.max(percentage, 0);\n                percentage = Math.min(percentage, 1);\n                _this.player.danmaku.opacity(percentage);\n            };\n            var danmakuUp = function danmakuUp() {\n                document.removeEventListener(_utils2.default.nameMap.dragEnd, danmakuUp);\n                document.removeEventListener(_utils2.default.nameMap.dragMove, danmakuMove);\n                _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n            };\n            this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n                var e = event || window.event;\n                var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n                percentage = Math.max(percentage, 0);\n                percentage = Math.min(percentage, 1);\n                _this.player.danmaku.opacity(percentage);\n            });\n            this.player.template.danmakuOpacityBarWrapWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n                document.addEventListener(_utils2.default.nameMap.dragMove, danmakuMove);\n                document.addEventListener(_utils2.default.nameMap.dragEnd, danmakuUp);\n                _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n            });\n        }\n    }\n    _createClass(Setting, [\n        {\n            key: 'hide',\n            value: function hide() {\n                var _this2 = this;\n                this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                setTimeout(function () {\n                    _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n                    _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n                }, 300);\n                this.player.controller.disableAutoHide = false;\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.player.controller.disableAutoHide = true;\n            }\n        }\n    ]);\n    return Setting;\n}();\nexports.default = Setting;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Thumbnails = function () {\n    function Thumbnails(options) {\n        _classCallCheck(this, Thumbnails);\n        this.container = options.container;\n        this.barWidth = options.barWidth;\n        this.container.style.backgroundImage = 'url(\\'' + options.url + '\\')';\n        this.events = options.events;\n    }\n    _createClass(Thumbnails, [\n        {\n            key: 'resize',\n            value: function resize(width, height) {\n                this.container.style.width = width + 'px';\n                this.container.style.height = height + 'px';\n                this.container.style.top = -height + 2 + 'px';\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.container.style.display = 'block';\n                this.events && this.events.trigger('thumbnails_show');\n            }\n        },\n        {\n            key: 'move',\n            value: function move(position) {\n                this.container.style.backgroundPosition = '-' + (Math.ceil(position / this.barWidth * 100) - 1) * 160 + 'px 0';\n                this.container.style.left = position - this.container.offsetWidth / 2 + 'px';\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.container.style.display = 'none';\n                this.events && this.events.trigger('thumbnails_hide');\n            }\n        }\n    ]);\n    return Thumbnails;\n}();\nexports.default = Thumbnails;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _thumbnails = require('./thumbnails');\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Controller = function () {\n    function Controller(player) {\n        var _this = this;\n        _classCallCheck(this, Controller);\n        this.player = player;\n        this.autoHideTimer = 0;\n        if (!_utils2.default.isMobile) {\n            this.player.container.addEventListener('mousemove', function () {\n                _this.setAutoHide();\n            });\n            this.player.container.addEventListener('click', function () {\n                _this.setAutoHide();\n            });\n            this.player.on('play', function () {\n                _this.setAutoHide();\n            });\n            this.player.on('pause', function () {\n                _this.setAutoHide();\n            });\n        }\n        this.initPlayButton();\n        this.initThumbnails();\n        this.initPlayedBar();\n        this.initFullButton();\n        this.initQualityButton();\n        this.initScreenshotButton();\n        this.initSubtitleButton();\n        if (!_utils2.default.isMobile) {\n            this.initVolumeButton();\n        }\n    }\n    _createClass(Controller, [\n        {\n            key: 'initPlayButton',\n            value: function initPlayButton() {\n                var _this2 = this;\n                this.player.template.playButton.addEventListener('click', function () {\n                    _this2.player.toggle();\n                });\n                if (!_utils2.default.isMobile) {\n                    this.player.template.videoWrap.addEventListener('click', function () {\n                        _this2.player.toggle();\n                    });\n                    this.player.template.controllerMask.addEventListener('click', function () {\n                        _this2.player.toggle();\n                    });\n                } else {\n                    this.player.template.videoWrap.addEventListener('click', function () {\n                        _this2.toggle();\n                    });\n                    this.player.template.controllerMask.addEventListener('click', function () {\n                        _this2.toggle();\n                    });\n                }\n            }\n        },\n        {\n            key: 'initThumbnails',\n            value: function initThumbnails() {\n                var _this3 = this;\n                if (this.player.options.video.thumbnails) {\n                    this.thumbnails = new _thumbnails2.default({\n                        container: this.player.template.barPreview,\n                        barWidth: this.player.template.barWrap.offsetWidth,\n                        url: this.player.options.video.thumbnails,\n                        events: this.player.events\n                    });\n                    this.player.on('loadedmetadata', function () {\n                        _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160);\n                    });\n                }\n            }\n        },\n        {\n            key: 'initPlayedBar',\n            value: function initPlayedBar() {\n                var _this4 = this;\n                var thumbMove = function thumbMove(e) {\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n                    percentage = Math.max(percentage, 0);\n                    percentage = Math.min(percentage, 1);\n                    _this4.player.bar.set('played', percentage, 'width');\n                    _this4.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this4.player.video.duration);\n                };\n                var thumbUp = function thumbUp(e) {\n                    document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n                    document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n                    percentage = Math.max(percentage, 0);\n                    percentage = Math.min(percentage, 1);\n                    _this4.player.bar.set('played', percentage, 'width');\n                    _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n                    _this4.player.timer.enable('progress');\n                };\n                this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n                    _this4.player.timer.disable('progress');\n                    document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n                    document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n                });\n                this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragMove, function (e) {\n                    if (_this4.player.video.duration) {\n                        var px = _utils2.default.cumulativeOffset(_this4.player.template.playedBarWrap).left;\n                        var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n                        if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n                            return;\n                        }\n                        var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n                        if (_utils2.default.isMobile) {\n                            _this4.thumbnails && _this4.thumbnails.show();\n                        }\n                        _this4.thumbnails && _this4.thumbnails.move(tx);\n                        _this4.player.template.playedBarTime.style.left = tx - 20 + 'px';\n                        _this4.player.template.playedBarTime.innerText = _utils2.default.secondToTime(time);\n                        _this4.player.template.playedBarTime.classList.remove('hidden');\n                    }\n                });\n                this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragEnd, function () {\n                    if (_utils2.default.isMobile) {\n                        _this4.thumbnails && _this4.thumbnails.hide();\n                    }\n                });\n                if (!_utils2.default.isMobile) {\n                    this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n                        if (_this4.player.video.duration) {\n                            _this4.thumbnails && _this4.thumbnails.show();\n                            _this4.player.template.playedBarTime.classList.remove('hidden');\n                        }\n                    });\n                    this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n                        if (_this4.player.video.duration) {\n                            _this4.thumbnails && _this4.thumbnails.hide();\n                            _this4.player.template.playedBarTime.classList.add('hidden');\n                        }\n                    });\n                }\n            }\n        },\n        {\n            key: 'initFullButton',\n            value: function initFullButton() {\n                var _this5 = this;\n                this.player.template.browserFullButton.addEventListener('click', function () {\n                    _this5.player.fullScreen.toggle('browser');\n                });\n                this.player.template.webFullButton.addEventListener('click', function () {\n                    _this5.player.fullScreen.toggle('web');\n                });\n            }\n        },\n        {\n            key: 'initVolumeButton',\n            value: function initVolumeButton() {\n                var _this6 = this;\n                var vWidth = 35;\n                var volumeMove = function volumeMove(event) {\n                    var e = event || window.event;\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n                    _this6.player.volume(percentage);\n                };\n                var volumeUp = function volumeUp() {\n                    document.removeEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n                    document.removeEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n                    _this6.player.template.volumeButton.classList.remove('dplayer-volume-active');\n                };\n                this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n                    var e = event || window.event;\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n                    _this6.player.volume(percentage);\n                });\n                this.player.template.volumeBarWrapWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n                    document.addEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n                    document.addEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n                    _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n                });\n                this.player.template.volumeIcon.addEventListener('click', function () {\n                    if (_this6.player.video.muted) {\n                        _this6.player.video.muted = false;\n                        _this6.player.switchVolumeIcon();\n                        _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n                    } else {\n                        _this6.player.video.muted = true;\n                        _this6.player.template.volumeIcon.innerHTML = _icons2.default.volumeOff;\n                        _this6.player.bar.set('volume', 0, 'width');\n                    }\n                });\n            }\n        },\n        {\n            key: 'initQualityButton',\n            value: function initQualityButton() {\n                var _this7 = this;\n                if (this.player.options.video.quality) {\n                    this.player.template.qualityList.addEventListener('click', function (e) {\n                        if (e.target.classList.contains('dplayer-quality-item')) {\n                            _this7.player.switchQuality(e.target.dataset.index);\n                        }\n                    });\n                }\n            }\n        },\n        {\n            key: 'initScreenshotButton',\n            value: function initScreenshotButton() {\n                var _this8 = this;\n                if (this.player.options.screenshot) {\n                    this.player.template.camareButton.addEventListener('click', function () {\n                        var canvas = document.createElement('canvas');\n                        canvas.width = _this8.player.video.videoWidth;\n                        canvas.height = _this8.player.video.videoHeight;\n                        canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n                        var dataURL = void 0;\n                        canvas.toBlob(function (blob) {\n                            dataURL = URL.createObjectURL(blob);\n                            var link = document.createElement('a');\n                            link.href = dataURL;\n                            link.download = 'DPlayer.png';\n                            link.style.display = 'none';\n                            document.body.appendChild(link);\n                            link.click();\n                            document.body.removeChild(link);\n                            URL.revokeObjectURL(dataURL);\n                        });\n                        _this8.player.events.trigger('screenshot', dataURL);\n                    });\n                }\n            }\n        },\n        {\n            key: 'initSubtitleButton',\n            value: function initSubtitleButton() {\n                var _this9 = this;\n                if (this.player.options.subtitle) {\n                    this.player.events.on('subtitle_show', function () {\n                        _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Hide subtitle');\n                        _this9.player.template.subtitleButtonInner.style.opacity = '';\n                        _this9.player.user.set('subtitle', 1);\n                    });\n                    this.player.events.on('subtitle_hide', function () {\n                        _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Show subtitle');\n                        _this9.player.template.subtitleButtonInner.style.opacity = '0.4';\n                        _this9.player.user.set('subtitle', 0);\n                    });\n                    this.player.template.subtitleButton.addEventListener('click', function () {\n                        _this9.player.subtitle.toggle();\n                    });\n                }\n            }\n        },\n        {\n            key: 'setAutoHide',\n            value: function setAutoHide() {\n                var _this10 = this;\n                this.show();\n                clearTimeout(this.autoHideTimer);\n                this.autoHideTimer = setTimeout(function () {\n                    if (_this10.player.video.played.length && !_this10.player.paused && !_this10.disableAutoHide) {\n                        _this10.hide();\n                    }\n                }, 3000);\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.player.container.classList.remove('dplayer-hide-controller');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.container.classList.add('dplayer-hide-controller');\n                this.player.setting.hide();\n                this.player.comment && this.player.comment.hide();\n            }\n        },\n        {\n            key: 'isShow',\n            value: function isShow() {\n                return !this.player.container.classList.contains('dplayer-hide-controller');\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                if (this.isShow()) {\n                    this.hide();\n                } else {\n                    this.show();\n                }\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                clearTimeout(this.autoHideTimer);\n            }\n        }\n    ]);\n    return Controller;\n}();\nexports.default = Controller;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Bezel = function () {\n    function Bezel(container) {\n        var _this = this;\n        _classCallCheck(this, Bezel);\n        this.container = container;\n        this.container.addEventListener('animationend', function () {\n            _this.container.classList.remove('dplayer-bezel-transition');\n        });\n    }\n    _createClass(Bezel, [{\n            key: 'switch',\n            value: function _switch(icon) {\n                this.container.innerHTML = icon;\n                this.container.classList.add('dplayer-bezel-transition');\n            }\n        }]);\n    return Bezel;\n}();\nexports.default = Bezel;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Timer = function () {\n    function Timer(player) {\n        _classCallCheck(this, Timer);\n        this.player = player;\n        window.requestAnimationFrame = function () {\n            return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n                window.setTimeout(callback, 1000 / 60);\n            };\n        }();\n        this.types = [\n            'loading',\n            'info',\n            'fps'\n        ];\n        this.init();\n    }\n    _createClass(Timer, [\n        {\n            key: 'init',\n            value: function init() {\n                var _this = this;\n                this.types.map(function (item) {\n                    if (item !== 'fps') {\n                        _this['init' + item + 'Checker']();\n                    }\n                    return item;\n                });\n            }\n        },\n        {\n            key: 'initloadingChecker',\n            value: function initloadingChecker() {\n                var _this2 = this;\n                var lastPlayPos = 0;\n                var currentPlayPos = 0;\n                var bufferingDetected = false;\n                this.loadingChecker = setInterval(function () {\n                    if (_this2.enableloadingChecker) {\n                        currentPlayPos = _this2.player.video.currentTime;\n                        if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this2.player.video.paused) {\n                            _this2.player.container.classList.add('dplayer-loading');\n                            bufferingDetected = true;\n                        }\n                        if (bufferingDetected && currentPlayPos > lastPlayPos && !_this2.player.video.paused) {\n                            _this2.player.container.classList.remove('dplayer-loading');\n                            bufferingDetected = false;\n                        }\n                        lastPlayPos = currentPlayPos;\n                    }\n                }, 100);\n            }\n        },\n        {\n            key: 'initfpsChecker',\n            value: function initfpsChecker() {\n                var _this3 = this;\n                window.requestAnimationFrame(function () {\n                    if (_this3.enablefpsChecker) {\n                        _this3.initfpsChecker();\n                        if (!_this3.fpsStart) {\n                            _this3.fpsStart = new Date();\n                            _this3.fpsIndex = 0;\n                        } else {\n                            _this3.fpsIndex++;\n                            var fpsCurrent = new Date();\n                            if (fpsCurrent - _this3.fpsStart > 1000) {\n                                _this3.player.infoPanel.fps(_this3.fpsIndex / (fpsCurrent - _this3.fpsStart) * 1000);\n                                _this3.fpsStart = new Date();\n                                _this3.fpsIndex = 0;\n                            }\n                        }\n                    } else {\n                        _this3.fpsStart = 0;\n                        _this3.fpsIndex = 0;\n                    }\n                });\n            }\n        },\n        {\n            key: 'initinfoChecker',\n            value: function initinfoChecker() {\n                var _this4 = this;\n                this.infoChecker = setInterval(function () {\n                    if (_this4.enableinfoChecker) {\n                        _this4.player.infoPanel.update();\n                    }\n                }, 1000);\n            }\n        },\n        {\n            key: 'enable',\n            value: function enable(type) {\n                this['enable' + type + 'Checker'] = true;\n                if (type === 'fps') {\n                    this.initfpsChecker();\n                }\n            }\n        },\n        {\n            key: 'disable',\n            value: function disable(type) {\n                this['enable' + type + 'Checker'] = false;\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                var _this5 = this;\n                this.types.map(function (item) {\n                    _this5['enable' + item + 'Checker'] = false;\n                    _this5[item + 'Checker'] && clearInterval(_this5[item + 'Checker']);\n                    return item;\n                });\n            }\n        }\n    ]);\n    return Timer;\n}();\nexports.default = Timer;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Bar = function () {\n    function Bar(template) {\n        _classCallCheck(this, Bar);\n        this.elements = {};\n        this.elements.volume = template.volumeBar;\n        this.elements.played = template.playedBar;\n        this.elements.loaded = template.loadedBar;\n        this.elements.danmaku = template.danmakuOpacityBar;\n    }\n    _createClass(Bar, [\n        {\n            key: 'set',\n            value: function set(type, percentage, direction) {\n                percentage = Math.max(percentage, 0);\n                percentage = Math.min(percentage, 1);\n                this.elements[type].style[direction] = percentage * 100 + '%';\n            }\n        },\n        {\n            key: 'get',\n            value: function get(type) {\n                return parseFloat(this.elements[type].style.width) / 100;\n            }\n        }\n    ]);\n    return Bar;\n}();\nexports.default = Bar;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Subtitle = function () {\n    function Subtitle(container, video, options, events) {\n        _classCallCheck(this, Subtitle);\n        this.container = container;\n        this.video = video;\n        this.options = options;\n        this.events = events;\n        this.init();\n    }\n    _createClass(Subtitle, [\n        {\n            key: 'init',\n            value: function init() {\n                var _this = this;\n                this.container.style.fontSize = this.options.fontSize;\n                this.container.style.bottom = this.options.bottom;\n                this.container.style.color = this.options.color;\n                if (this.video.textTracks && this.video.textTracks[0]) {\n                    var track = this.video.textTracks[0];\n                    track.oncuechange = function () {\n                        var cue = track.activeCues[0];\n                        if (cue) {\n                            _this.container.innerHTML = '';\n                            var p = document.createElement('p');\n                            p.appendChild(cue.getCueAsHTML());\n                            _this.container.appendChild(p);\n                        } else {\n                            _this.container.innerHTML = '';\n                        }\n                        _this.events.trigger('subtitle_change');\n                    };\n                }\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.container.classList.remove('dplayer-subtitle-hide');\n                this.events.trigger('subtitle_show');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.container.classList.add('dplayer-subtitle-hide');\n                this.events.trigger('subtitle_hide');\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                if (this.container.classList.contains('dplayer-subtitle-hide')) {\n                    this.show();\n                } else {\n                    this.hide();\n                }\n            }\n        }\n    ]);\n    return Subtitle;\n}();\nexports.default = Subtitle;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar User = function () {\n    function User(player) {\n        _classCallCheck(this, User);\n        this.storageName = {\n            opacity: 'dplayer-danmaku-opacity',\n            volume: 'dplayer-volume',\n            unlimited: 'dplayer-danmaku-unlimited',\n            danmaku: 'dplayer-danmaku-show',\n            subtitle: 'dplayer-subtitle-show'\n        };\n        this.default = {\n            opacity: 0.7,\n            volume: player.options.volume || 0.7,\n            unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n            danmaku: 1,\n            subtitle: 1\n        };\n        this.data = {};\n        this.init();\n    }\n    _createClass(User, [\n        {\n            key: 'init',\n            value: function init() {\n                for (var item in this.storageName) {\n                    var name = this.storageName[item];\n                    this.data[item] = parseFloat(_utils2.default.storage.get(name) || this.default[item]);\n                }\n            }\n        },\n        {\n            key: 'get',\n            value: function get(key) {\n                return this.data[key];\n            }\n        },\n        {\n            key: 'set',\n            value: function set(key, value) {\n                this.data[key] = value;\n                _utils2.default.storage.set(this.storageName[key], value);\n            }\n        }\n    ]);\n    return User;\n}();\nexports.default = User;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar FullScreen = function () {\n    function FullScreen(player) {\n        var _this = this;\n        _classCallCheck(this, FullScreen);\n        this.player = player;\n        this.player.events.on('webfullscreen', function () {\n            _this.player.resize();\n        });\n        this.player.events.on('webfullscreen_cancel', function () {\n            _this.player.resize();\n            _utils2.default.setScrollPosition(_this.lastScrollPosition);\n        });\n        var fullscreenchange = function fullscreenchange() {\n            _this.player.resize();\n            if (_this.isFullScreen('browser')) {\n                _this.player.events.trigger('fullscreen');\n            } else {\n                _utils2.default.setScrollPosition(_this.lastScrollPosition);\n                _this.player.events.trigger('fullscreen_cancel');\n            }\n        };\n        this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n        this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n        this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n    }\n    _createClass(FullScreen, [\n        {\n            key: 'isFullScreen',\n            value: function isFullScreen() {\n                var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n                switch (type) {\n                case 'browser':\n                    return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\n                case 'web':\n                    return this.player.container.classList.contains('dplayer-fulled');\n                }\n            }\n        },\n        {\n            key: 'request',\n            value: function request() {\n                var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n                var anotherType = type === 'browser' ? 'web' : 'browser';\n                var anotherTypeOn = this.isFullScreen(anotherType);\n                if (!anotherTypeOn) {\n                    this.lastScrollPosition = _utils2.default.getScrollPosition();\n                }\n                switch (type) {\n                case 'browser':\n                    if (this.player.container.requestFullscreen) {\n                        this.player.container.requestFullscreen();\n                    } else if (this.player.container.mozRequestFullScreen) {\n                        this.player.container.mozRequestFullScreen();\n                    } else if (this.player.container.webkitRequestFullscreen) {\n                        this.player.container.webkitRequestFullscreen();\n                    } else if (this.player.video.webkitEnterFullscreen) {\n                        this.player.video.webkitEnterFullscreen();\n                    }\n                    break;\n                case 'web':\n                    this.player.container.classList.add('dplayer-fulled');\n                    document.body.classList.add('dplayer-web-fullscreen-fix');\n                    this.player.events.trigger('webfullscreen');\n                    break;\n                }\n                if (anotherTypeOn) {\n                    this.cancel(anotherType);\n                }\n            }\n        },\n        {\n            key: 'cancel',\n            value: function cancel() {\n                var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n                switch (type) {\n                case 'browser':\n                    if (document.cancelFullScreen) {\n                        document.cancelFullScreen();\n                    } else if (document.mozCancelFullScreen) {\n                        document.mozCancelFullScreen();\n                    } else if (document.webkitCancelFullScreen) {\n                        document.webkitCancelFullScreen();\n                    }\n                    break;\n                case 'web':\n                    this.player.container.classList.remove('dplayer-fulled');\n                    document.body.classList.remove('dplayer-web-fullscreen-fix');\n                    this.player.events.trigger('webfullscreen_cancel');\n                    break;\n                }\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n                if (this.isFullScreen(type)) {\n                    this.cancel(type);\n                } else {\n                    this.request(type);\n                }\n            }\n        }\n    ]);\n    return FullScreen;\n}();\nexports.default = FullScreen;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Events = function () {\n    function Events() {\n        _classCallCheck(this, Events);\n        this.events = {};\n        this.videoEvents = [\n            'abort',\n            'canplay',\n            'canplaythrough',\n            'durationchange',\n            'emptied',\n            'ended',\n            'error',\n            'loadeddata',\n            'loadedmetadata',\n            'loadstart',\n            'mozaudioavailable',\n            'pause',\n            'play',\n            'playing',\n            'progress',\n            'ratechange',\n            'seeked',\n            'seeking',\n            'stalled',\n            'suspend',\n            'timeupdate',\n            'volumechange',\n            'waiting'\n        ];\n        this.playerEvents = [\n            'screenshot',\n            'thumbnails_show',\n            'thumbnails_hide',\n            'danmaku_show',\n            'danmaku_hide',\n            'danmaku_clear',\n            'danmaku_loaded',\n            'danmaku_send',\n            'danmaku_opacity',\n            'contextmenu_show',\n            'contextmenu_hide',\n            'notice_show',\n            'notice_hide',\n            'quality_start',\n            'quality_end',\n            'destroy',\n            'resize',\n            'fullscreen',\n            'fullscreen_cancel',\n            'webfullscreen',\n            'webfullscreen_cancel',\n            'subtitle_show',\n            'subtitle_hide',\n            'subtitle_change'\n        ];\n    }\n    _createClass(Events, [\n        {\n            key: 'on',\n            value: function on(name, callback) {\n                if (this.type(name) && typeof callback === 'function') {\n                    if (!this.events[name]) {\n                        this.events[name] = [];\n                    }\n                    this.events[name].push(callback);\n                }\n            }\n        },\n        {\n            key: 'trigger',\n            value: function trigger(name, info) {\n                if (this.events[name] && this.events[name].length) {\n                    for (var i = 0; i < this.events[name].length; i++) {\n                        this.events[name][i](info);\n                    }\n                }\n            }\n        },\n        {\n            key: 'type',\n            value: function type(name) {\n                if (this.playerEvents.indexOf(name) !== -1) {\n                    return 'player';\n                } else if (this.videoEvents.indexOf(name) !== -1) {\n                    return 'video';\n                }\n                console.error('Unknown event name: ' + name);\n                return null;\n            }\n        }\n    ]);\n    return Events;\n}();\nexports.default = Events;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n    return typeof obj;\n} : function (obj) {\n    return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Danmaku = function () {\n    function Danmaku(options) {\n        _classCallCheck(this, Danmaku);\n        this.options = options;\n        this.container = this.options.container;\n        this.danTunnel = {\n            right: {},\n            top: {},\n            bottom: {}\n        };\n        this.danIndex = 0;\n        this.dan = [];\n        this.showing = true;\n        this._opacity = this.options.opacity;\n        this.events = this.options.events;\n        this.unlimited = this.options.unlimited;\n        this._measure('');\n        this.load();\n    }\n    _createClass(Danmaku, [\n        {\n            key: 'load',\n            value: function load() {\n                var _this = this;\n                var apiurl = void 0;\n                if (this.options.api.maximum) {\n                    apiurl = this.options.api.address + 'v3/?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n                } else {\n                    apiurl = this.options.api.address + 'v3/?id=' + this.options.api.id;\n                }\n                var endpoints = (this.options.api.addition || []).slice(0);\n                endpoints.push(apiurl);\n                this.events && this.events.trigger('danmaku_load_start', endpoints);\n                this._readAllEndpoints(endpoints, function (results) {\n                    _this.dan = [].concat.apply([], results).sort(function (a, b) {\n                        return a.time - b.time;\n                    });\n                    window.requestAnimationFrame(function () {\n                        _this.frame();\n                    });\n                    _this.options.callback();\n                    _this.events && _this.events.trigger('danmaku_load_end');\n                });\n            }\n        },\n        {\n            key: 'reload',\n            value: function reload(newAPI) {\n                this.options.api = newAPI;\n                this.dan = [];\n                this.clear();\n                this.load();\n            }\n        },\n        {\n            key: '_readAllEndpoints',\n            value: function _readAllEndpoints(endpoints, callback) {\n                var _this2 = this;\n                var results = [];\n                var readCount = 0;\n                var _loop = function _loop(i) {\n                    _this2.options.apiBackend.read({\n                        url: endpoints[i],\n                        success: function success(data) {\n                            results[i] = data;\n                            ++readCount;\n                            if (readCount === endpoints.length) {\n                                callback(results);\n                            }\n                        },\n                        error: function error(msg) {\n                            _this2.options.error(msg || _this2.options.tran('Danmaku load failed'));\n                            results[i] = [];\n                            ++readCount;\n                            if (readCount === endpoints.length) {\n                                callback(results);\n                            }\n                        }\n                    });\n                };\n                for (var i = 0; i < endpoints.length; ++i) {\n                    _loop(i);\n                }\n            }\n        },\n        {\n            key: 'send',\n            value: function send(dan, callback) {\n                var _this3 = this;\n                var danmakuData = {\n                    token: this.options.api.token,\n                    id: this.options.api.id,\n                    author: this.options.api.user,\n                    time: this.options.time(),\n                    text: dan.text,\n                    color: dan.color,\n                    type: dan.type\n                };\n                this.options.apiBackend.send({\n                    url: this.options.api.address + 'v3/',\n                    data: danmakuData,\n                    success: callback,\n                    error: function error(msg) {\n                        _this3.options.error(msg || _this3.options.tran('Danmaku send failed'));\n                    }\n                });\n                this.dan.splice(this.danIndex, 0, danmakuData);\n                this.danIndex++;\n                var danmaku = {\n                    text: this.htmlEncode(danmakuData.text),\n                    color: danmakuData.color,\n                    type: danmakuData.type,\n                    border: '2px solid ' + this.options.borderColor\n                };\n                this.draw(danmaku);\n                this.events && this.events.trigger('danmaku_send', danmakuData);\n            }\n        },\n        {\n            key: 'frame',\n            value: function frame() {\n                var _this4 = this;\n                if (this.dan.length && !this.paused && this.showing) {\n                    var item = this.dan[this.danIndex];\n                    var dan = [];\n                    while (item && this.options.time() > parseFloat(item.time)) {\n                        dan.push(item);\n                        item = this.dan[++this.danIndex];\n                    }\n                    this.draw(dan);\n                }\n                window.requestAnimationFrame(function () {\n                    _this4.frame();\n                });\n            }\n        },\n        {\n            key: 'opacity',\n            value: function opacity(percentage) {\n                if (percentage !== undefined) {\n                    var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n                    for (var i = 0; i < items.length; i++) {\n                        items[i].style.opacity = percentage;\n                    }\n                    this._opacity = percentage;\n                    this.events && this.events.trigger('danmaku_opacity', this._opacity);\n                }\n                return this._opacity;\n            }\n        },\n        {\n            key: 'draw',\n            value: function draw(dan) {\n                var _this5 = this;\n                if (this.showing) {\n                    var itemHeight = this.options.height;\n                    var danWidth = this.container.offsetWidth;\n                    var danHeight = this.container.offsetHeight;\n                    var itemY = parseInt(danHeight / itemHeight);\n                    var danItemRight = function danItemRight(ele) {\n                        var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n                        var eleRight = ele.getBoundingClientRect().right || _this5.container.getBoundingClientRect().right + eleWidth;\n                        return _this5.container.getBoundingClientRect().right - eleRight;\n                    };\n                    var danSpeed = function danSpeed(width) {\n                        return (danWidth + width) / 5;\n                    };\n                    var getTunnel = function getTunnel(ele, type, width) {\n                        var tmp = danWidth / danSpeed(width);\n                        var _loop2 = function _loop2(i) {\n                            var item = _this5.danTunnel[type][i + ''];\n                            if (item && item.length) {\n                                if (type !== 'right') {\n                                    return 'continue';\n                                }\n                                for (var j = 0; j < item.length; j++) {\n                                    var danRight = danItemRight(item[j]) - 10;\n                                    if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n                                        break;\n                                    }\n                                    if (j === item.length - 1) {\n                                        _this5.danTunnel[type][i + ''].push(ele);\n                                        ele.addEventListener('animationend', function () {\n                                            _this5.danTunnel[type][i + ''].splice(0, 1);\n                                        });\n                                        return { v: i % itemY };\n                                    }\n                                }\n                            } else {\n                                _this5.danTunnel[type][i + ''] = [ele];\n                                ele.addEventListener('animationend', function () {\n                                    _this5.danTunnel[type][i + ''].splice(0, 1);\n                                });\n                                return { v: i % itemY };\n                            }\n                        };\n                        for (var i = 0; _this5.unlimited || i < itemY; i++) {\n                            var _ret2 = _loop2(i);\n                            switch (_ret2) {\n                            case 'continue':\n                                continue;\n                            default:\n                                if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === 'object')\n                                    return _ret2.v;\n                            }\n                        }\n                        return -1;\n                    };\n                    if (Object.prototype.toString.call(dan) !== '[object Array]') {\n                        dan = [dan];\n                    }\n                    var docFragment = document.createDocumentFragment();\n                    var _loop3 = function _loop3(i) {\n                        dan[i].type = _utils2.default.number2Type(dan[i].type);\n                        if (!dan[i].color) {\n                            dan[i].color = 16777215;\n                        }\n                        var item = document.createElement('div');\n                        item.classList.add('dplayer-danmaku-item');\n                        item.classList.add('dplayer-danmaku-' + dan[i].type);\n                        if (dan[i].border) {\n                            item.innerHTML = '<span style=\"border:' + dan[i].border + '\">' + dan[i].text + '</span>';\n                        } else {\n                            item.innerHTML = dan[i].text;\n                        }\n                        item.style.opacity = _this5._opacity;\n                        item.style.color = _utils2.default.number2Color(dan[i].color);\n                        item.addEventListener('animationend', function () {\n                            _this5.container.removeChild(item);\n                        });\n                        var itemWidth = _this5._measure(dan[i].text);\n                        var tunnel = void 0;\n                        switch (dan[i].type) {\n                        case 'right':\n                            tunnel = getTunnel(item, dan[i].type, itemWidth);\n                            if (tunnel >= 0) {\n                                item.style.width = itemWidth + 1 + 'px';\n                                item.style.top = itemHeight * tunnel + 'px';\n                                item.style.transform = 'translateX(-' + danWidth + 'px)';\n                            }\n                            break;\n                        case 'top':\n                            tunnel = getTunnel(item, dan[i].type);\n                            if (tunnel >= 0) {\n                                item.style.top = itemHeight * tunnel + 'px';\n                            }\n                            break;\n                        case 'bottom':\n                            tunnel = getTunnel(item, dan[i].type);\n                            if (tunnel >= 0) {\n                                item.style.bottom = itemHeight * tunnel + 'px';\n                            }\n                            break;\n                        default:\n                            console.error('Can\\'t handled danmaku type: ' + dan[i].type);\n                        }\n                        if (tunnel >= 0) {\n                            item.classList.add('dplayer-danmaku-move');\n                            docFragment.appendChild(item);\n                        }\n                    };\n                    for (var i = 0; i < dan.length; i++) {\n                        _loop3(i);\n                    }\n                    this.container.appendChild(docFragment);\n                    return docFragment;\n                }\n            }\n        },\n        {\n            key: 'play',\n            value: function play() {\n                this.paused = false;\n            }\n        },\n        {\n            key: 'pause',\n            value: function pause() {\n                this.paused = true;\n            }\n        },\n        {\n            key: '_measure',\n            value: function _measure(text) {\n                if (!this.context) {\n                    var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n                    this.context = document.createElement('canvas').getContext('2d');\n                    this.context.font = measureStyle.getPropertyValue('font');\n                }\n                return this.context.measureText(text).width;\n            }\n        },\n        {\n            key: 'seek',\n            value: function seek() {\n                this.clear();\n                for (var i = 0; i < this.dan.length; i++) {\n                    if (this.dan[i].time >= this.options.time()) {\n                        this.danIndex = i;\n                        break;\n                    }\n                    this.danIndex = this.dan.length;\n                }\n            }\n        },\n        {\n            key: 'clear',\n            value: function clear() {\n                this.danTunnel = {\n                    right: {},\n                    top: {},\n                    bottom: {}\n                };\n                this.danIndex = 0;\n                this.options.container.innerHTML = '';\n                this.events && this.events.trigger('danmaku_clear');\n            }\n        },\n        {\n            key: 'htmlEncode',\n            value: function htmlEncode(str) {\n                return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\\//g, '&#x2f;');\n            }\n        },\n        {\n            key: 'resize',\n            value: function resize() {\n                var danWidth = this.container.offsetWidth;\n                var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n                for (var i = 0; i < items.length; i++) {\n                    items[i].style.transform = 'translateX(-' + danWidth + 'px)';\n                }\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.showing = false;\n                this.pause();\n                this.clear();\n                this.events && this.events.trigger('danmaku_hide');\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.seek();\n                this.showing = true;\n                this.play();\n                this.events && this.events.trigger('danmaku_show');\n            }\n        },\n        {\n            key: 'unlimit',\n            value: function unlimit(boolean) {\n                this.unlimited = boolean;\n            }\n        }\n    ]);\n    return Danmaku;\n}();\nexports.default = Danmaku;","'use strict';\nmodule.exports = false;\ntry {\n    module.exports = Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {\n}","'use strict';\nvar detectNode = require('detect-node');\nvar runtime = Object.create(detectNode ? global : window);\nvar ESCAPE_REG = /[\"&'<>]/;\nruntime.$escape = function (content) {\n    return xmlEscape(toString(content));\n};\nruntime.$each = function (data, callback) {\n    if (Array.isArray(data)) {\n        for (var i = 0, len = data.length; i < len; i++) {\n            callback(data[i], i);\n        }\n    } else {\n        for (var _i in data) {\n            callback(data[_i], _i);\n        }\n    }\n};\nfunction toString(value) {\n    if (typeof value !== 'string') {\n        if (value === undefined || value === null) {\n            value = '';\n        } else if (typeof value === 'function') {\n            value = toString(value.call(value));\n        } else {\n            value = JSON.stringify(value);\n        }\n    }\n    return value;\n}\n;\nfunction xmlEscape(content) {\n    var html = '' + content;\n    var regexResult = ESCAPE_REG.exec(html);\n    if (!regexResult) {\n        return content;\n    }\n    var result = '';\n    var i = void 0, lastIndex = void 0, char = void 0;\n    for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n        switch (html.charCodeAt(i)) {\n        case 34:\n            char = '&#34;';\n            break;\n        case 38:\n            char = '&#38;';\n            break;\n        case 39:\n            char = '&#39;';\n            break;\n        case 60:\n            char = '&#60;';\n            break;\n        case 62:\n            char = '&#62;';\n            break;\n        default:\n            continue;\n        }\n        if (lastIndex !== i) {\n            result += html.substring(lastIndex, i);\n        }\n        lastIndex = i + 1;\n        result += char;\n    }\n    if (lastIndex !== i) {\n        return result + html.substring(lastIndex, i);\n    } else {\n        return result;\n    }\n}\n;\nmodule.exports = runtime;","<div class=\"dplayer-mask\"></div>\n<div class=\"dplayer-video-wrap\">\n    {{ include './video.art' video }}\n    {{ if options.logo }}\n    <div class=\"dplayer-logo\">\n        <img src=\"{{ options.logo }}\">\n    </div>\n    {{ /if }}\n    <div class=\"dplayer-danmaku\"{{ if options.danmaku && options.danmaku.bottm }} style=\"margin-bottom:{{ options.danmaku.bottm }}\"{{ /if }}>\n        <div class=\"dplayer-danmaku-item dplayer-danmaku-item--demo\"></div>\n    </div>\n    <div class=\"dplayer-subtitle\"></div>\n    <div class=\"dplayer-bezel\">\n        <span class=\"dplayer-bezel-icon\"></span>\n        {{ if options.danmaku }}\n        <span class=\"dplayer-danloading\">{{ tran('Danmaku is loading') }}</span>\n        {{ /if }}\n        <span class=\"diplayer-loading-icon\">{{@ icons.loading }}</span>\n    </div>\n</div>\n<div class=\"dplayer-controller-mask\"></div>\n<div class=\"dplayer-controller\">\n    <div class=\"dplayer-icons dplayer-comment-box\">\n        <button class=\"dplayer-icon dplayer-comment-setting-icon\" data-balloon=\"{{ tran('Setting') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.pallette }}</span>\n        </button>\n        <div class=\"dplayer-comment-setting-box\">\n            <div class=\"dplayer-comment-setting-color\">\n                <div class=\"dplayer-comment-setting-title\">{{ tran('Set danmaku color') }}</div>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#fff\" checked>\n                    <span style=\"background: #fff;\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#e54256\">\n                    <span style=\"background: #e54256\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#ffe133\">\n                    <span style=\"background: #ffe133\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#64DD17\">\n                    <span style=\"background: #64DD17\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#39ccff\">\n                    <span style=\"background: #39ccff\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#D500F9\">\n                    <span style=\"background: #D500F9\"></span>\n                </label>\n            </div>\n            <div class=\"dplayer-comment-setting-type\">\n                <div class=\"dplayer-comment-setting-title\">{{ tran('Set danmaku type') }}</div>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"1\">\n                    <span>{{ tran('Top') }}</span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"0\" checked>\n                    <span>{{ tran('Rolling') }}</span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"2\">\n                    <span>{{ tran('Bottom') }}</span>\n                </label>\n            </div>\n        </div>\n        <input class=\"dplayer-comment-input\" type=\"text\" placeholder=\"{{ tran('Input danmaku, hit Enter') }}\" maxlength=\"30\">\n        <button class=\"dplayer-icon dplayer-send-icon\" data-balloon=\"{{ tran('Send') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.send }}</span>\n        </button>\n    </div>\n    <div class=\"dplayer-icons dplayer-icons-left\">\n        <button class=\"dplayer-icon dplayer-play-icon\">\n            <span class=\"dplayer-icon-content\">{{@ icons.play }}</span>\n        </button>\n        <div class=\"dplayer-volume\">\n            <button class=\"dplayer-icon dplayer-volume-icon\">\n                <span class=\"dplayer-icon-content\">{{@ icons.volumeDown }}</span>\n            </button>\n            <div class=\"dplayer-volume-bar-wrap\" data-balloon-pos=\"up\">\n                <div class=\"dplayer-volume-bar\">\n                    <div class=\"dplayer-volume-bar-inner\" style=\"background: {{ options.theme }};\">\n                        <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <span class=\"dplayer-time\">\n            <span class=\"dplayer-ptime\">0:00</span> /\n            <span class=\"dplayer-dtime\">0:00</span>\n        </span>\n        {{ if options.live }}\n        <span class=\"dplayer-live-badge\"><span class=\"dplayer-live-dot\" style=\"background: {{ options.theme }};\"></span>{{ tran('Live') }}</span>\n        {{ /if }}\n    </div>\n    <div class=\"dplayer-icons dplayer-icons-right\">\n        {{ if options.video.quality }}\n        <div class=\"dplayer-quality\">\n            <button class=\"dplayer-icon dplayer-quality-icon\">{{ options.video.quality[options.video.defaultQuality].name }}</button>\n            <div class=\"dplayer-quality-mask\">\n                <div class=\"dplayer-quality-list\">\n                {{ each options.video.quality }}\n                    <div class=\"dplayer-quality-item\" data-index=\"{{ $index }}\">{{ $value.name }}</div>\n                {{ /each }}\n                </div>\n            </div>\n        </div>\n        {{ /if }}\n        {{ if options.screenshot }}\n        <div class=\"dplayer-icon dplayer-camera-icon\" data-balloon=\"{{ tran('Screenshot') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.camera }}</span>\n        </div>\n        {{ /if }}\n        <div class=\"dplayer-comment\">\n            <button class=\"dplayer-icon dplayer-comment-icon\" data-balloon=\"{{ tran('Send danmaku') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.comment }}</span>\n            </button>\n        </div>\n        {{ if options.subtitle }}\n        <div class=\"dplayer-subtitle-btn\">\n            <button class=\"dplayer-icon dplayer-subtitle-icon\" data-balloon=\"{{ tran('Hide subtitle') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.subtitle }}</span>\n            </button>\n        </div>\n        {{ /if }}\n        <div class=\"dplayer-setting\">\n            <button class=\"dplayer-icon dplayer-setting-icon\" data-balloon=\"{{ tran('Setting') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.setting }}</span>\n            </button>\n            <div class=\"dplayer-setting-box\">\n                <div class=\"dplayer-setting-origin-panel\">\n                    <div class=\"dplayer-setting-item dplayer-setting-speed\">\n                        <span class=\"dplayer-label\">{{ tran('Speed') }}</span>\n                        <div class=\"dplayer-toggle\">{{@ icons.right }}</div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-loop\">\n                        <span class=\"dplayer-label\">{{ tran('Loop') }}</span>\n                        <div class=\"dplayer-toggle\">\n                            <input class=\"dplayer-toggle-setting-input\" type=\"checkbox\" name=\"dplayer-toggle\">\n                            <label for=\"dplayer-toggle\"></label>\n                        </div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-showdan\">\n                        <span class=\"dplayer-label\">{{ tran('Show danmaku') }}</span>\n                        <div class=\"dplayer-toggle\">\n                            <input class=\"dplayer-showdan-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-dan\">\n                            <label for=\"dplayer-toggle-dan\"></label>\n                        </div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-danunlimit\">\n                        <span class=\"dplayer-label\">{{ tran('Unlimited danmaku') }}</span>\n                        <div class=\"dplayer-toggle\">\n                            <input class=\"dplayer-danunlimit-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-danunlimit\">\n                            <label for=\"dplayer-toggle-danunlimit\"></label>\n                        </div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-danmaku\">\n                        <span class=\"dplayer-label\">{{ tran('Opacity for danmaku') }}</span>\n                        <div class=\"dplayer-danmaku-bar-wrap\">\n                            <div class=\"dplayer-danmaku-bar\">\n                                <div class=\"dplayer-danmaku-bar-inner\">\n                                    <span class=\"dplayer-thumb\"></span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"dplayer-setting-speed-panel\">\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"0.5\">\n                        <span class=\"dplayer-label\">0.5</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"0.75\">\n                        <span class=\"dplayer-label\">0.75</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"1\">\n                        <span class=\"dplayer-label\">{{ tran('Normal') }}</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"1.25\">\n                        <span class=\"dplayer-label\">1.25</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"1.5\">\n                        <span class=\"dplayer-label\">1.5</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"2\">\n                        <span class=\"dplayer-label\">2</span>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class=\"dplayer-full\">\n            <button class=\"dplayer-icon dplayer-full-in-icon\" data-balloon=\"{{ tran('Web full screen') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.fullWeb }}</span>\n            </button>\n            <button class=\"dplayer-icon dplayer-full-icon\" data-balloon=\"{{ tran('Full screen') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.full }}</span>\n            </button>\n        </div>\n    </div>\n    <div class=\"dplayer-bar-wrap\">\n        <div class=\"dplayer-bar-time hidden\">00:00</div>\n        <div class=\"dplayer-bar-preview\"></div>\n        <div class=\"dplayer-bar\">\n            <div class=\"dplayer-loaded\" style=\"width: 0;\"></div>\n            <div class=\"dplayer-played\" style=\"width: 0; background: {{ options.theme }}\">\n                <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n            </div>\n        </div>\n    </div>\n</div>\n<div class=\"dplayer-info-panel dplayer-info-panel-hide\">\n    <div class=\"dplayer-info-panel-close\">[x]</div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-version\">\n        <span class=\"dplayer-info-panel-item-title\">Player version</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-fps\">\n        <span class=\"dplayer-info-panel-item-title\">Player FPS</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-type\">\n        <span class=\"dplayer-info-panel-item-title\">Video type</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-url\">\n        <span class=\"dplayer-info-panel-item-title\">Video url</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-resolution\">\n        <span class=\"dplayer-info-panel-item-title\">Video resolution</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-duration\">\n        <span class=\"dplayer-info-panel-item-title\">Video duration</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    {{ if options.danmaku }}\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-id\">\n        <span class=\"dplayer-info-panel-item-title\">Danamku id</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-api\">\n        <span class=\"dplayer-info-panel-item-title\">Danamku api</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-amount\">\n        <span class=\"dplayer-info-panel-item-title\">Danamku amount</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    {{ /if }}\n</div>\n<div class=\"dplayer-menu\">\n    {{ each options.contextmenu }}\n        <div class=\"dplayer-menu-item\">\n            <a{{ if $value.link }} target=\"_blank\"{{ /if }} href=\"{{ $value.link || 'javascript:void(0);' }}\">{{ tran($value.text) }}</a>\n        </div>\n    {{ /each }}\n</div>\n<div class=\"dplayer-notice\"></div>","module.exports = \"<svg version=\\\"1.1\\\" viewBox=\\\"0 0 22 22\\\"><svg x=\\\"7\\\" y=\\\"1\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-0\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-1\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"13\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-2\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-3\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"7\\\" y=\\\"13\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-4\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-5\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"1\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-6\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-7\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 28\\\"><path d=\\\"M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 17 32\\\"><path d=\\\"M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 16 32\\\"><path d=\\\"M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z\\\"></path></svg>\"","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _player = require('../template/player.art');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar Template = function () {\n    function Template(options) {\n        _classCallCheck(this, Template);\n        this.container = options.container;\n        this.options = options.options;\n        this.index = options.index;\n        this.tran = options.tran;\n        this.init();\n    }\n    _createClass(Template, [{\n            key: 'init',\n            value: function init() {\n                this.container.innerHTML = (0, _player2.default)({\n                    options: this.options,\n                    index: this.index,\n                    tran: this.tran,\n                    icons: _icons2.default,\n                    video: {\n                        current: true,\n                        pic: this.options.video.pic,\n                        screenshot: this.options.screenshot,\n                        preload: this.options.preload,\n                        url: this.options.video.url,\n                        subtitle: this.options.subtitle\n                    }\n                });\n                this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n                this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n                this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n                this.volumeButton = this.container.querySelector('.dplayer-volume');\n                this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n                this.playedBar = this.container.querySelector('.dplayer-played');\n                this.loadedBar = this.container.querySelector('.dplayer-loaded');\n                this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n                this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n                this.danmaku = this.container.querySelector('.dplayer-danmaku');\n                this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n                this.video = this.container.querySelector('.dplayer-video-current');\n                this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n                this.playButton = this.container.querySelector('.dplayer-play-icon');\n                this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n                this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n                this.ptime = this.container.querySelector('.dplayer-ptime');\n                this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n                this.settingBox = this.container.querySelector('.dplayer-setting-box');\n                this.mask = this.container.querySelector('.dplayer-mask');\n                this.loop = this.container.querySelector('.dplayer-setting-loop');\n                this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n                this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n                this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n                this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n                this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n                this.speed = this.container.querySelector('.dplayer-setting-speed');\n                this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n                this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n                this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n                this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n                this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n                this.dtime = this.container.querySelector('.dplayer-dtime');\n                this.controller = this.container.querySelector('.dplayer-controller');\n                this.commentInput = this.container.querySelector('.dplayer-comment-input');\n                this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n                this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n                this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n                this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon path');\n                this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n                this.commentSendFill = this.container.querySelector('.dplayer-send-icon path');\n                this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n                this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n                this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n                this.menu = this.container.querySelector('.dplayer-menu');\n                this.menuItem = this.container.querySelectorAll('.dplayer-menu-item');\n                this.qualityList = this.container.querySelector('.dplayer-quality-list');\n                this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n                this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n                this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n                this.subtitle = this.container.querySelector('.dplayer-subtitle');\n                this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n                this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n                this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n                this.notice = this.container.querySelector('.dplayer-notice');\n                this.infoPanel = this.container.querySelector('.dplayer-info-panel');\n                this.infoPanelClose = this.container.querySelector('.dplayer-info-panel-close');\n                this.infoVersion = this.container.querySelector('.dplayer-info-panel-item-version .dplayer-info-panel-item-data');\n                this.infoFPS = this.container.querySelector('.dplayer-info-panel-item-fps .dplayer-info-panel-item-data');\n                this.infoType = this.container.querySelector('.dplayer-info-panel-item-type .dplayer-info-panel-item-data');\n                this.infoUrl = this.container.querySelector('.dplayer-info-panel-item-url .dplayer-info-panel-item-data');\n                this.infoResolution = this.container.querySelector('.dplayer-info-panel-item-resolution .dplayer-info-panel-item-data');\n                this.infoDuration = this.container.querySelector('.dplayer-info-panel-item-duration .dplayer-info-panel-item-data');\n                this.infoDanmakuId = this.container.querySelector('.dplayer-info-panel-item-danmaku-id .dplayer-info-panel-item-data');\n                this.infoDanmakuApi = this.container.querySelector('.dplayer-info-panel-item-danmaku-api .dplayer-info-panel-item-data');\n                this.infoDanmakuAmount = this.container.querySelector('.dplayer-info-panel-item-danmaku-amount .dplayer-info-panel-item-data');\n            }\n        }]);\n    return Template;\n}();\nexports.default = Template;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction i18n(lang) {\n    var _this = this;\n    this.lang = lang;\n    this.tran = function (text) {\n        if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n            return tranTxt[_this.lang][text];\n        } else {\n            return text;\n        }\n    };\n}\nvar tranTxt = {\n    'zh-cn': {\n        'Danmaku is loading': '弹幕加载中',\n        'Top': '顶部',\n        'Bottom': '底部',\n        'Rolling': '滚动',\n        'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n        'About author': '关于作者',\n        'DPlayer feedback': '播放器意见反馈',\n        'About DPlayer': '关于 DPlayer 播放器',\n        'Loop': '洗脑循环',\n        'Speed': '速度',\n        'Opacity for danmaku': '弹幕透明度',\n        'Normal': '正常',\n        'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n        'Set danmaku color': '设置弹幕颜色',\n        'Set danmaku type': '设置弹幕类型',\n        'Show danmaku': '显示弹幕',\n        'Video load failed': '视频加载失败',\n        'Danmaku load failed': '弹幕加载失败',\n        'Danmaku send failed': '弹幕发送失败',\n        'Switching to': '正在切换至',\n        'Switched to': '已经切换至',\n        'quality': '画质',\n        'FF': '快进',\n        'REW': '快退',\n        'Unlimited danmaku': '海量弹幕',\n        'Send danmaku': '发送弹幕',\n        'Setting': '设置',\n        'Full screen': '全屏',\n        'Web full screen': '页面全屏',\n        'Send': '发送',\n        'Screenshot': '截图',\n        's': '秒',\n        'Show subtitle': '显示字幕',\n        'Hide subtitle': '隐藏字幕',\n        'Volume': '音量',\n        'Live': '直播',\n        'Video info': '视频统计信息'\n    },\n    'zh-tw': {\n        'Danmaku is loading': '彈幕載入中',\n        'Top': '頂部',\n        'Bottom': '底部',\n        'Rolling': '滾動',\n        'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 傳送',\n        'About author': '關於作者',\n        'DPlayer feedback': '播放器意見回饋',\n        'About DPlayer': '關於 DPlayer 播放器',\n        'Loop': '循環播放',\n        'Speed': '速度',\n        'Opacity for danmaku': '彈幕透明度',\n        'Normal': '正常',\n        'Please input danmaku content!': '請輸入彈幕内容\\uFF01',\n        'Set danmaku color': '設定彈幕色彩',\n        'Set danmaku type': '設定彈幕類型',\n        'Show danmaku': '顯示彈幕',\n        'Video load failed': '影片載入失敗',\n        'Danmaku load failed': '彈幕載入失敗',\n        'Danmaku send failed': '彈幕傳送失敗',\n        'Switching to': '正在切換至',\n        'Switched to': '已經切換至',\n        'quality': '畫質',\n        'FF': '快進',\n        'REW': '快退',\n        'Unlimited danmaku': '飽和彈幕',\n        'Send danmaku': '傳送彈幕',\n        'Setting': '設定',\n        'Full screen': '全螢幕',\n        'Web full screen': '網頁全螢幕',\n        'Send': '傳送',\n        'Screenshot': '截圖',\n        's': '秒',\n        'Show subtitle': '顯示字幕',\n        'Hide subtitle': '隱藏字幕',\n        'Volume': '音量',\n        'Live': '直播',\n        'Video info': '影片統計資訊'\n    }\n};\nexports.default = i18n;","'use strict';\nmodule.exports = function spread(callback) {\n    return function wrap(arr) {\n        return callback.apply(null, arr);\n    };\n};","'use strict';\nvar Cancel = require('./Cancel');\nfunction CancelToken(executor) {\n    if (typeof executor !== 'function') {\n        throw new TypeError('executor must be a function.');\n    }\n    var resolvePromise;\n    this.promise = new Promise(function promiseExecutor(resolve) {\n        resolvePromise = resolve;\n    });\n    var token = this;\n    executor(function cancel(message) {\n        if (token.reason) {\n            return;\n        }\n        token.reason = new Cancel(message);\n        resolvePromise(token.reason);\n    });\n}\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n    if (this.reason) {\n        throw this.reason;\n    }\n};\nCancelToken.source = function source() {\n    var cancel;\n    var token = new CancelToken(function executor(c) {\n        cancel = c;\n    });\n    return {\n        token: token,\n        cancel: cancel\n    };\n};\nmodule.exports = CancelToken;","'use strict';\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n    return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\nmodule.exports = function isAbsoluteURL(url) {\n    return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\nvar utils = require('./../utils');\nmodule.exports = function transformData(data, headers, fns) {\n    utils.forEach(fns, function transform(fn) {\n        data = fn(data, headers);\n    });\n    return data;\n};","'use strict';\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\nfunction throwIfCancellationRequested(config) {\n    if (config.cancelToken) {\n        config.cancelToken.throwIfRequested();\n    }\n}\nmodule.exports = function dispatchRequest(config) {\n    throwIfCancellationRequested(config);\n    if (config.baseURL && !isAbsoluteURL(config.url)) {\n        config.url = combineURLs(config.baseURL, config.url);\n    }\n    config.headers = config.headers || {};\n    config.data = transformData(config.data, config.headers, config.transformRequest);\n    config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n    utils.forEach([\n        'delete',\n        'get',\n        'head',\n        'post',\n        'put',\n        'patch',\n        'common'\n    ], function cleanHeaderConfig(method) {\n        delete config.headers[method];\n    });\n    var adapter = config.adapter || defaults.adapter;\n    return adapter(config).then(function onAdapterResolution(response) {\n        throwIfCancellationRequested(config);\n        response.data = transformData(response.data, response.headers, config.transformResponse);\n        return response;\n    }, function onAdapterRejection(reason) {\n        if (!isCancel(reason)) {\n            throwIfCancellationRequested(config);\n            if (reason && reason.response) {\n                reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n            }\n        }\n        return Promise.reject(reason);\n    });\n};","'use strict';\nvar utils = require('./../utils');\nfunction InterceptorManager() {\n    this.handlers = [];\n}\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n    this.handlers.push({\n        fulfilled: fulfilled,\n        rejected: rejected\n    });\n    return this.handlers.length - 1;\n};\nInterceptorManager.prototype.eject = function eject(id) {\n    if (this.handlers[id]) {\n        this.handlers[id] = null;\n    }\n};\nInterceptorManager.prototype.forEach = function forEach(fn) {\n    utils.forEach(this.handlers, function forEachHandler(h) {\n        if (h !== null) {\n            fn(h);\n        }\n    });\n};\nmodule.exports = InterceptorManager;","'use strict';\nvar utils = require('./../utils');\nmodule.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n    return {\n        write: function write(name, value, expires, path, domain, secure) {\n            var cookie = [];\n            cookie.push(name + '=' + encodeURIComponent(value));\n            if (utils.isNumber(expires)) {\n                cookie.push('expires=' + new Date(expires).toGMTString());\n            }\n            if (utils.isString(path)) {\n                cookie.push('path=' + path);\n            }\n            if (utils.isString(domain)) {\n                cookie.push('domain=' + domain);\n            }\n            if (secure === true) {\n                cookie.push('secure');\n            }\n            document.cookie = cookie.join('; ');\n        },\n        read: function read(name) {\n            var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n            return match ? decodeURIComponent(match[3]) : null;\n        },\n        remove: function remove(name) {\n            this.write(name, '', Date.now() - 86400000);\n        }\n    };\n}() : function nonStandardBrowserEnv() {\n    return {\n        write: function write() {\n        },\n        read: function read() {\n            return null;\n        },\n        remove: function remove() {\n        }\n    };\n}();","'use strict';\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nfunction E() {\n    this.message = 'String contains an invalid character';\n}\nE.prototype = new Error();\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\nfunction btoa(input) {\n    var str = String(input);\n    var output = '';\n    for (var block, charCode, idx = 0, map = chars; str.charAt(idx | 0) || (map = '=', idx % 1); output += map.charAt(63 & block >> 8 - idx % 1 * 8)) {\n        charCode = str.charCodeAt(idx += 3 / 4);\n        if (charCode > 255) {\n            throw new E();\n        }\n        block = block << 8 | charCode;\n    }\n    return output;\n}\nmodule.exports = btoa;","'use strict';\nvar utils = require('./../utils');\nmodule.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n    var msie = /(msie|trident)/i.test(navigator.userAgent);\n    var urlParsingNode = document.createElement('a');\n    var originURL;\n    function resolveURL(url) {\n        var href = url;\n        if (msie) {\n            urlParsingNode.setAttribute('href', href);\n            href = urlParsingNode.href;\n        }\n        urlParsingNode.setAttribute('href', href);\n        return {\n            href: urlParsingNode.href,\n            protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n            host: urlParsingNode.host,\n            search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n            hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n            hostname: urlParsingNode.hostname,\n            port: urlParsingNode.port,\n            pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n        };\n    }\n    originURL = resolveURL(window.location.href);\n    return function isURLSameOrigin(requestURL) {\n        var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n        return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n    };\n}() : function nonStandardBrowserEnv() {\n    return function isURLSameOrigin() {\n        return true;\n    };\n}();","'use strict';\nvar utils = require('./../utils');\nvar ignoreDuplicateOf = [\n    'age',\n    'authorization',\n    'content-length',\n    'content-type',\n    'etag',\n    'expires',\n    'from',\n    'host',\n    'if-modified-since',\n    'if-unmodified-since',\n    'last-modified',\n    'location',\n    'max-forwards',\n    'proxy-authorization',\n    'referer',\n    'retry-after',\n    'user-agent'\n];\nmodule.exports = function parseHeaders(headers) {\n    var parsed = {};\n    var key;\n    var val;\n    var i;\n    if (!headers) {\n        return parsed;\n    }\n    utils.forEach(headers.split('\\n'), function parser(line) {\n        i = line.indexOf(':');\n        key = utils.trim(line.substr(0, i)).toLowerCase();\n        val = utils.trim(line.substr(i + 1));\n        if (key) {\n            if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n                return;\n            }\n            if (key === 'set-cookie') {\n                parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n            } else {\n                parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n            }\n        }\n    });\n    return parsed;\n};","'use strict';\nvar utils = require('./../utils');\nfunction encode(val) {\n    return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n    if (!params) {\n        return url;\n    }\n    var serializedParams;\n    if (paramsSerializer) {\n        serializedParams = paramsSerializer(params);\n    } else if (utils.isURLSearchParams(params)) {\n        serializedParams = params.toString();\n    } else {\n        var parts = [];\n        utils.forEach(params, function serialize(val, key) {\n            if (val === null || typeof val === 'undefined') {\n                return;\n            }\n            if (utils.isArray(val)) {\n                key = key + '[]';\n            } else {\n                val = [val];\n            }\n            utils.forEach(val, function parseValue(v) {\n                if (utils.isDate(v)) {\n                    v = v.toISOString();\n                } else if (utils.isObject(v)) {\n                    v = JSON.stringify(v);\n                }\n                parts.push(encode(key) + '=' + encode(v));\n            });\n        });\n        serializedParams = parts.join('&');\n    }\n    if (serializedParams) {\n        url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n    }\n    return url;\n};","'use strict';\nmodule.exports = function enhanceError(error, config, code, request, response) {\n    error.config = config;\n    if (code) {\n        error.code = code;\n    }\n    error.request = request;\n    error.response = response;\n    return error;\n};","'use strict';\nvar createError = require('./createError');\nmodule.exports = function settle(resolve, reject, response) {\n    var validateStatus = response.config.validateStatus;\n    if (!response.status || !validateStatus || validateStatus(response.status)) {\n        resolve(response);\n    } else {\n        reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n    }\n};","'use strict';\nvar utils = require('../utils');\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n    utils.forEach(headers, function processHeader(value, name) {\n        if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n            headers[normalizedName] = value;\n            delete headers[name];\n        }\n    });\n};","'use strict';\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nfunction Axios(instanceConfig) {\n    this.defaults = instanceConfig;\n    this.interceptors = {\n        request: new InterceptorManager(),\n        response: new InterceptorManager()\n    };\n}\nAxios.prototype.request = function request(config) {\n    if (typeof config === 'string') {\n        config = utils.merge({ url: arguments[0] }, arguments[1]);\n    }\n    config = utils.merge(defaults, { method: 'get' }, this.defaults, config);\n    config.method = config.method.toLowerCase();\n    var chain = [\n        dispatchRequest,\n        undefined\n    ];\n    var promise = Promise.resolve(config);\n    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n        chain.unshift(interceptor.fulfilled, interceptor.rejected);\n    });\n    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n        chain.push(interceptor.fulfilled, interceptor.rejected);\n    });\n    while (chain.length) {\n        promise = promise.then(chain.shift(), chain.shift());\n    }\n    return promise;\n};\nutils.forEach([\n    'delete',\n    'get',\n    'head',\n    'options'\n], function forEachMethodNoData(method) {\n    Axios.prototype[method] = function (url, config) {\n        return this.request(utils.merge(config || {}, {\n            method: method,\n            url: url\n        }));\n    };\n});\nutils.forEach([\n    'post',\n    'put',\n    'patch'\n], function forEachMethodWithData(method) {\n    Axios.prototype[method] = function (url, data, config) {\n        return this.request(utils.merge(config || {}, {\n            method: method,\n            url: url,\n            data: data\n        }));\n    };\n});\nmodule.exports = Axios;","'use strict';\nmodule.exports = function (obj) {\n    return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer);\n};\nfunction isBuffer(obj) {\n    return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n}\nfunction isSlowBuffer(obj) {\n    return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0));\n}","'use strict';\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\nfunction createInstance(defaultConfig) {\n    var context = new Axios(defaultConfig);\n    var instance = bind(Axios.prototype.request, context);\n    utils.extend(instance, Axios.prototype, context);\n    utils.extend(instance, context);\n    return instance;\n}\nvar axios = createInstance(defaults);\naxios.Axios = Axios;\naxios.create = function create(instanceConfig) {\n    return createInstance(utils.merge(defaults, instanceConfig));\n};\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.all = function all(promises) {\n    return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\nmodule.exports = axios;\nmodule.exports.default = axios;","'use strict';\nmodule.exports = require('./lib/axios');","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _axios = require('axios');\nvar _axios2 = _interopRequireDefault(_axios);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nexports.default = {\n    send: function send(options) {\n        _axios2.default.post(options.url, options.data).then(function (response) {\n            var data = response.data;\n            if (!data || data.code !== 0) {\n                options.error && options.error(data && data.msg);\n                return;\n            }\n            options.success && options.success(data);\n        }).catch(function (e) {\n            console.error(e);\n            options.error && options.error();\n        });\n    },\n    read: function read(options) {\n        _axios2.default.get(options.url).then(function (response) {\n            var data = response.data;\n            if (!data || data.code !== 0) {\n                options.error && options.error(data && data.msg);\n                return;\n            }\n            options.success && options.success(data.data.map(function (item) {\n                return {\n                    time: item[0],\n                    type: item[1],\n                    color: item[2],\n                    author: item[3],\n                    text: item[4]\n                };\n            }));\n        }).catch(function (e) {\n            console.error(e);\n            options.error && options.error();\n        });\n    }\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n    return typeof obj;\n} : function (obj) {\n    return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _api = require('./api.js');\nvar _api2 = _interopRequireDefault(_api);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nexports.default = function (options) {\n    var defaultOption = {\n        container: options.element || document.getElementsByClassName('dplayer')[0],\n        live: false,\n        autoplay: false,\n        theme: '#b7daff',\n        loop: false,\n        lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n        screenshot: false,\n        hotkey: true,\n        preload: 'metadata',\n        volume: 0.7,\n        apiBackend: _api2.default,\n        video: {},\n        contextmenu: [],\n        mutex: true\n    };\n    for (var defaultKey in defaultOption) {\n        if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n            options[defaultKey] = defaultOption[defaultKey];\n        }\n    }\n    if (options.video) {\n        !options.video.type && (options.video.type = 'auto');\n    }\n    if (_typeof(options.danmaku) === 'object' && options.danmaku) {\n        !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n    }\n    if (options.subtitle) {\n        !options.subtitle.type && (options.subtitle.type = 'webvtt');\n        !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n        !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n        !options.subtitle.color && (options.subtitle.color = '#fff');\n    }\n    if (options.video.quality) {\n        options.video.url = options.video.quality[options.video.defaultQuality].url;\n    }\n    if (options.lang) {\n        options.lang = options.lang.toLowerCase();\n    }\n    options.contextmenu = options.contextmenu.concat([\n        {\n            text: 'Video info',\n            click: function click(player) {\n                player.infoPanel.triggle();\n            }\n        },\n        {\n            text: 'About author',\n            link: 'https://diygod.me'\n        },\n        {\n            text: 'DPlayer v' + DPLAYER_VERSION,\n            link: 'https://github.com/MoePlayer/DPlayer'\n        }\n    ]);\n    return options;\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.default = function (callback) {\n    var constructor = this.constructor;\n    return this.then(function (value) {\n        return constructor.resolve(callback()).then(function () {\n            return value;\n        });\n    }, function (reason) {\n        return constructor.resolve(callback()).then(function () {\n            return constructor.reject(reason);\n        });\n    });\n};","'use strict';\n(function (global, undefined) {\n    'use strict';\n    if (global.setImmediate) {\n        return;\n    }\n    var nextHandle = 1;\n    var tasksByHandle = {};\n    var currentlyRunningATask = false;\n    var doc = global.document;\n    var registerImmediate;\n    function setImmediate(callback) {\n        if (typeof callback !== 'function') {\n            callback = new Function('' + callback);\n        }\n        var args = new Array(arguments.length - 1);\n        for (var i = 0; i < args.length; i++) {\n            args[i] = arguments[i + 1];\n        }\n        var task = {\n            callback: callback,\n            args: args\n        };\n        tasksByHandle[nextHandle] = task;\n        registerImmediate(nextHandle);\n        return nextHandle++;\n    }\n    function clearImmediate(handle) {\n        delete tasksByHandle[handle];\n    }\n    function run(task) {\n        var callback = task.callback;\n        var args = task.args;\n        switch (args.length) {\n        case 0:\n            callback();\n            break;\n        case 1:\n            callback(args[0]);\n            break;\n        case 2:\n            callback(args[0], args[1]);\n            break;\n        case 3:\n            callback(args[0], args[1], args[2]);\n            break;\n        default:\n            callback.apply(undefined, args);\n            break;\n        }\n    }\n    function runIfPresent(handle) {\n        if (currentlyRunningATask) {\n            setTimeout(runIfPresent, 0, handle);\n        } else {\n            var task = tasksByHandle[handle];\n            if (task) {\n                currentlyRunningATask = true;\n                try {\n                    run(task);\n                } finally {\n                    clearImmediate(handle);\n                    currentlyRunningATask = false;\n                }\n            }\n        }\n    }\n    function installNextTickImplementation() {\n        registerImmediate = function registerImmediate(handle) {\n            process.nextTick(function () {\n                runIfPresent(handle);\n            });\n        };\n    }\n    function canUsePostMessage() {\n        if (global.postMessage && !global.importScripts) {\n            var postMessageIsAsynchronous = true;\n            var oldOnMessage = global.onmessage;\n            global.onmessage = function () {\n                postMessageIsAsynchronous = false;\n            };\n            global.postMessage('', '*');\n            global.onmessage = oldOnMessage;\n            return postMessageIsAsynchronous;\n        }\n    }\n    function installPostMessageImplementation() {\n        var messagePrefix = 'setImmediate$' + Math.random() + '$';\n        var onGlobalMessage = function onGlobalMessage(event) {\n            if (event.source === global && typeof event.data === 'string' && event.data.indexOf(messagePrefix) === 0) {\n                runIfPresent(+event.data.slice(messagePrefix.length));\n            }\n        };\n        if (global.addEventListener) {\n            global.addEventListener('message', onGlobalMessage, false);\n        } else {\n            global.attachEvent('onmessage', onGlobalMessage);\n        }\n        registerImmediate = function registerImmediate(handle) {\n            global.postMessage(messagePrefix + handle, '*');\n        };\n    }\n    function installMessageChannelImplementation() {\n        var channel = new MessageChannel();\n        channel.port1.onmessage = function (event) {\n            var handle = event.data;\n            runIfPresent(handle);\n        };\n        registerImmediate = function registerImmediate(handle) {\n            channel.port2.postMessage(handle);\n        };\n    }\n    function installReadyStateChangeImplementation() {\n        var html = doc.documentElement;\n        registerImmediate = function registerImmediate(handle) {\n            var script = doc.createElement('script');\n            script.onreadystatechange = function () {\n                runIfPresent(handle);\n                script.onreadystatechange = null;\n                html.removeChild(script);\n                script = null;\n            };\n            html.appendChild(script);\n        };\n    }\n    function installSetTimeoutImplementation() {\n        registerImmediate = function registerImmediate(handle) {\n            setTimeout(runIfPresent, 0, handle);\n        };\n    }\n    var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n    attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n    if ({}.toString.call(global.process) === '[object process]') {\n        installNextTickImplementation();\n    } else if (canUsePostMessage()) {\n        installPostMessageImplementation();\n    } else if (global.MessageChannel) {\n        installMessageChannelImplementation();\n    } else if (doc && 'onreadystatechange' in doc.createElement('script')) {\n        installReadyStateChangeImplementation();\n    } else {\n        installSetTimeoutImplementation();\n    }\n    attachTo.setImmediate = setImmediate;\n    attachTo.clearImmediate = clearImmediate;\n}(typeof self === 'undefined' ? typeof global === 'undefined' ? undefined : global : self));","'use strict';\nvar apply = Function.prototype.apply;\nexports.setTimeout = function () {\n    return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function () {\n    return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n    if (timeout) {\n        timeout.close();\n    }\n};\nfunction Timeout(id, clearFn) {\n    this._id = id;\n    this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function () {\n};\nTimeout.prototype.close = function () {\n    this._clearFn.call(window, this._id);\n};\nexports.enroll = function (item, msecs) {\n    clearTimeout(item._idleTimeoutId);\n    item._idleTimeout = msecs;\n};\nexports.unenroll = function (item) {\n    clearTimeout(item._idleTimeoutId);\n    item._idleTimeout = -1;\n};\nexports._unrefActive = exports.active = function (item) {\n    clearTimeout(item._idleTimeoutId);\n    var msecs = item._idleTimeout;\n    if (msecs >= 0) {\n        item._idleTimeoutId = setTimeout(function onTimeout() {\n            if (item._onTimeout)\n                item._onTimeout();\n        }, msecs);\n    }\n};\nrequire('setimmediate');\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n    return typeof obj;\n} : function (obj) {\n    return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _finally = require('./finally');\nvar _finally2 = _interopRequireDefault(_finally);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nvar setTimeoutFunc = setTimeout;\nfunction noop() {\n}\nfunction bind(fn, thisArg) {\n    return function () {\n        fn.apply(thisArg, arguments);\n    };\n}\nfunction Promise(fn) {\n    if (!(this instanceof Promise))\n        throw new TypeError('Promises must be constructed via new');\n    if (typeof fn !== 'function')\n        throw new TypeError('not a function');\n    this._state = 0;\n    this._handled = false;\n    this._value = undefined;\n    this._deferreds = [];\n    doResolve(fn, this);\n}\nfunction handle(self, deferred) {\n    while (self._state === 3) {\n        self = self._value;\n    }\n    if (self._state === 0) {\n        self._deferreds.push(deferred);\n        return;\n    }\n    self._handled = true;\n    Promise._immediateFn(function () {\n        var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n        if (cb === null) {\n            (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n            return;\n        }\n        var ret;\n        try {\n            ret = cb(self._value);\n        } catch (e) {\n            reject(deferred.promise, e);\n            return;\n        }\n        resolve(deferred.promise, ret);\n    });\n}\nfunction resolve(self, newValue) {\n    try {\n        if (newValue === self)\n            throw new TypeError('A promise cannot be resolved with itself.');\n        if (newValue && ((typeof newValue === 'undefined' ? 'undefined' : _typeof(newValue)) === 'object' || typeof newValue === 'function')) {\n            var then = newValue.then;\n            if (newValue instanceof Promise) {\n                self._state = 3;\n                self._value = newValue;\n                finale(self);\n                return;\n            } else if (typeof then === 'function') {\n                doResolve(bind(then, newValue), self);\n                return;\n            }\n        }\n        self._state = 1;\n        self._value = newValue;\n        finale(self);\n    } catch (e) {\n        reject(self, e);\n    }\n}\nfunction reject(self, newValue) {\n    self._state = 2;\n    self._value = newValue;\n    finale(self);\n}\nfunction finale(self) {\n    if (self._state === 2 && self._deferreds.length === 0) {\n        Promise._immediateFn(function () {\n            if (!self._handled) {\n                Promise._unhandledRejectionFn(self._value);\n            }\n        });\n    }\n    for (var i = 0, len = self._deferreds.length; i < len; i++) {\n        handle(self, self._deferreds[i]);\n    }\n    self._deferreds = null;\n}\nfunction Handler(onFulfilled, onRejected, promise) {\n    this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n    this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n    this.promise = promise;\n}\nfunction doResolve(fn, self) {\n    var done = false;\n    try {\n        fn(function (value) {\n            if (done)\n                return;\n            done = true;\n            resolve(self, value);\n        }, function (reason) {\n            if (done)\n                return;\n            done = true;\n            reject(self, reason);\n        });\n    } catch (ex) {\n        if (done)\n            return;\n        done = true;\n        reject(self, ex);\n    }\n}\nPromise.prototype['catch'] = function (onRejected) {\n    return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n    var prom = new this.constructor(noop);\n    handle(this, new Handler(onFulfilled, onRejected, prom));\n    return prom;\n};\nPromise.prototype['finally'] = _finally2.default;\nPromise.all = function (arr) {\n    return new Promise(function (resolve, reject) {\n        if (!arr || typeof arr.length === 'undefined')\n            throw new TypeError('Promise.all accepts an array');\n        var args = Array.prototype.slice.call(arr);\n        if (args.length === 0)\n            return resolve([]);\n        var remaining = args.length;\n        function res(i, val) {\n            try {\n                if (val && ((typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' || typeof val === 'function')) {\n                    var then = val.then;\n                    if (typeof then === 'function') {\n                        then.call(val, function (val) {\n                            res(i, val);\n                        }, reject);\n                        return;\n                    }\n                }\n                args[i] = val;\n                if (--remaining === 0) {\n                    resolve(args);\n                }\n            } catch (ex) {\n                reject(ex);\n            }\n        }\n        for (var i = 0; i < args.length; i++) {\n            res(i, args[i]);\n        }\n    });\n};\nPromise.resolve = function (value) {\n    if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.constructor === Promise) {\n        return value;\n    }\n    return new Promise(function (resolve) {\n        resolve(value);\n    });\n};\nPromise.reject = function (value) {\n    return new Promise(function (resolve, reject) {\n        reject(value);\n    });\n};\nPromise.race = function (values) {\n    return new Promise(function (resolve, reject) {\n        for (var i = 0, len = values.length; i < len; i++) {\n            values[i].then(resolve, reject);\n        }\n    });\n};\nPromise._immediateFn = typeof setImmediate === 'function' && function (fn) {\n    setImmediate(fn);\n} || function (fn) {\n    setTimeoutFunc(fn, 0);\n};\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n    if (typeof console !== 'undefined' && console) {\n        console.warn('Possible Unhandled Promise Rejection:', err);\n    }\n};\nexports.default = Promise;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n    function defineProperties(target, props) {\n        for (var i = 0; i < props.length; i++) {\n            var descriptor = props[i];\n            descriptor.enumerable = descriptor.enumerable || false;\n            descriptor.configurable = true;\n            if ('value' in descriptor)\n                descriptor.writable = true;\n            Object.defineProperty(target, descriptor.key, descriptor);\n        }\n    }\n    return function (Constructor, protoProps, staticProps) {\n        if (protoProps)\n            defineProperties(Constructor.prototype, protoProps);\n        if (staticProps)\n            defineProperties(Constructor, staticProps);\n        return Constructor;\n    };\n}();\nvar _promisePolyfill = require('promise-polyfill');\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = require('./i18n');\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _template = require('./template');\nvar _template2 = _interopRequireDefault(_template);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _danmaku = require('./danmaku');\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = require('./fullscreen');\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = require('./user');\nvar _user2 = _interopRequireDefault(_user);\nvar _subtitle = require('./subtitle');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _bar = require('./bar');\nvar _bar2 = _interopRequireDefault(_bar);\nvar _timer = require('./timer');\nvar _timer2 = _interopRequireDefault(_timer);\nvar _bezel = require('./bezel');\nvar _bezel2 = _interopRequireDefault(_bezel);\nvar _controller = require('./controller');\nvar _controller2 = _interopRequireDefault(_controller);\nvar _setting = require('./setting');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _comment = require('./comment');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _hotkey = require('./hotkey');\nvar _hotkey2 = _interopRequireDefault(_hotkey);\nvar _contextmenu = require('./contextmenu');\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\nvar _infoPanel = require('./info-panel');\nvar _infoPanel2 = _interopRequireDefault(_infoPanel);\nvar _video = require('../template/video.art');\nvar _video2 = _interopRequireDefault(_video);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n    function DPlayer(options) {\n        var _this = this;\n        _classCallCheck(this, DPlayer);\n        this.options = (0, _options2.default)(options);\n        if (this.options.video.quality) {\n            this.qualityIndex = this.options.video.defaultQuality;\n            this.quality = this.options.video.quality[this.options.video.defaultQuality];\n        }\n        this.tran = new _i18n2.default(this.options.lang).tran;\n        this.events = new _events2.default();\n        this.user = new _user2.default(this);\n        this.container = this.options.container;\n        this.container.classList.add('dplayer');\n        if (!this.options.danmaku) {\n            this.container.classList.add('dplayer-no-danmaku');\n        }\n        if (this.options.live) {\n            this.container.classList.add('dplayer-live');\n        }\n        if (_utils2.default.isMobile) {\n            this.container.classList.add('dplayer-mobile');\n        }\n        this.arrow = this.container.offsetWidth <= 500;\n        if (this.arrow) {\n            this.container.classList.add('dplayer-arrow');\n        }\n        this.template = new _template2.default({\n            container: this.container,\n            options: this.options,\n            index: index,\n            tran: this.tran\n        });\n        this.video = this.template.video;\n        this.bar = new _bar2.default(this.template);\n        this.bezel = new _bezel2.default(this.template.bezel);\n        this.fullScreen = new _fullscreen2.default(this);\n        this.controller = new _controller2.default(this);\n        if (this.options.danmaku) {\n            this.danmaku = new _danmaku2.default({\n                container: this.template.danmaku,\n                opacity: this.user.get('opacity'),\n                callback: function callback() {\n                    setTimeout(function () {\n                        _this.template.danmakuLoading.style.display = 'none';\n                        if (_this.options.autoplay) {\n                            _this.play();\n                        }\n                    }, 0);\n                },\n                error: function error(msg) {\n                    _this.notice(msg);\n                },\n                apiBackend: this.options.apiBackend,\n                borderColor: this.options.theme,\n                height: this.arrow ? 24 : 30,\n                time: function time() {\n                    return _this.video.currentTime;\n                },\n                unlimited: this.user.get('unlimited'),\n                api: {\n                    id: this.options.danmaku.id,\n                    address: this.options.danmaku.api,\n                    token: this.options.danmaku.token,\n                    maximum: this.options.danmaku.maximum,\n                    addition: this.options.danmaku.addition,\n                    user: this.options.danmaku.user\n                },\n                events: this.events,\n                tran: function tran(msg) {\n                    return _this.tran(msg);\n                }\n            });\n            this.comment = new _comment2.default(this);\n        }\n        this.setting = new _setting2.default(this);\n        document.addEventListener('click', function () {\n            _this.focus = false;\n        }, true);\n        this.container.addEventListener('click', function () {\n            _this.focus = true;\n        }, true);\n        this.paused = true;\n        this.timer = new _timer2.default(this);\n        this.hotkey = new _hotkey2.default(this);\n        this.contextmenu = new _contextmenu2.default(this);\n        this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n        this.infoPanel = new _infoPanel2.default(this);\n        if (!this.danmaku && this.options.autoplay) {\n            this.play();\n        }\n        index++;\n        instances.push(this);\n    }\n    _createClass(DPlayer, [\n        {\n            key: 'seek',\n            value: function seek(time) {\n                time = Math.max(time, 0);\n                if (this.video.duration) {\n                    time = Math.min(time, this.video.duration);\n                }\n                if (this.video.currentTime < time) {\n                    this.notice(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n                } else if (this.video.currentTime > time) {\n                    this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + this.tran('s'));\n                }\n                this.video.currentTime = time;\n                if (this.danmaku) {\n                    this.danmaku.seek();\n                }\n                this.bar.set('played', time / this.video.duration, 'width');\n                this.template.ptime.innerHTML = _utils2.default.secondToTime(time);\n            }\n        },\n        {\n            key: 'play',\n            value: function play() {\n                var _this2 = this;\n                this.paused = false;\n                if (this.video.paused) {\n                    this.bezel.switch(_icons2.default.play);\n                }\n                this.template.playButton.innerHTML = _icons2.default.pause;\n                var playedPromise = _promisePolyfill2.default.resolve(this.video.play());\n                playedPromise.catch(function () {\n                    _this2.pause();\n                }).then(function () {\n                });\n                this.timer.enable('loading');\n                this.container.classList.remove('dplayer-paused');\n                this.container.classList.add('dplayer-playing');\n                if (this.danmaku) {\n                    this.danmaku.play();\n                }\n                if (this.options.mutex) {\n                    for (var i = 0; i < instances.length; i++) {\n                        if (this !== instances[i]) {\n                            instances[i].pause();\n                        }\n                    }\n                }\n            }\n        },\n        {\n            key: 'pause',\n            value: function pause() {\n                this.paused = true;\n                this.container.classList.remove('dplayer-loading');\n                if (!this.video.paused) {\n                    this.bezel.switch(_icons2.default.pause);\n                }\n                this.template.playButton.innerHTML = _icons2.default.play;\n                this.video.pause();\n                this.timer.disable('loading');\n                this.container.classList.remove('dplayer-playing');\n                this.container.classList.add('dplayer-paused');\n                if (this.danmaku) {\n                    this.danmaku.pause();\n                }\n            }\n        },\n        {\n            key: 'switchVolumeIcon',\n            value: function switchVolumeIcon() {\n                if (this.volume() >= 0.95) {\n                    this.template.volumeIcon.innerHTML = _icons2.default.volumeUp;\n                } else if (this.volume() > 0) {\n                    this.template.volumeIcon.innerHTML = _icons2.default.volumeDown;\n                } else {\n                    this.template.volumeIcon.innerHTML = _icons2.default.volumeOff;\n                }\n            }\n        },\n        {\n            key: 'volume',\n            value: function volume(percentage, nostorage, nonotice) {\n                percentage = parseFloat(percentage);\n                if (!isNaN(percentage)) {\n                    percentage = Math.max(percentage, 0);\n                    percentage = Math.min(percentage, 1);\n                    this.bar.set('volume', percentage, 'width');\n                    var formatPercentage = (percentage * 100).toFixed(0) + '%';\n                    this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n                    if (!nostorage) {\n                        this.user.set('volume', percentage);\n                    }\n                    if (!nonotice) {\n                        this.notice(this.tran('Volume') + ' ' + (percentage * 100).toFixed(0) + '%');\n                    }\n                    this.video.volume = percentage;\n                    if (this.video.muted) {\n                        this.video.muted = false;\n                    }\n                    this.switchVolumeIcon();\n                }\n                return this.video.volume;\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                if (this.video.paused) {\n                    this.play();\n                } else {\n                    this.pause();\n                }\n            }\n        },\n        {\n            key: 'on',\n            value: function on(name, callback) {\n                this.events.on(name, callback);\n            }\n        },\n        {\n            key: 'switchVideo',\n            value: function switchVideo(video, danmakuAPI) {\n                this.pause();\n                this.video.poster = video.pic ? video.pic : '';\n                this.video.src = video.url;\n                this.initMSE(this.video, video.type || 'auto');\n                if (danmakuAPI) {\n                    this.template.danmakuLoading.style.display = 'block';\n                    this.bar.set('played', 0, 'width');\n                    this.bar.set('loaded', 0, 'width');\n                    this.template.ptime.innerHTML = '00:00';\n                    this.template.danmaku.innerHTML = '';\n                    if (this.danmaku) {\n                        this.danmaku.reload({\n                            id: danmakuAPI.id,\n                            address: danmakuAPI.api,\n                            token: danmakuAPI.token,\n                            maximum: danmakuAPI.maximum,\n                            addition: danmakuAPI.addition,\n                            user: danmakuAPI.user\n                        });\n                    }\n                }\n            }\n        },\n        {\n            key: 'initMSE',\n            value: function initMSE(video, type) {\n                var _this3 = this;\n                this.type = type;\n                if (this.options.video.customType && this.options.video.customType[type]) {\n                    if (Object.prototype.toString.call(this.options.video.customType[type]) === '[object Function]') {\n                        this.options.video.customType[type](this.video, this);\n                    } else {\n                        console.error('Illegal customType: ' + type);\n                    }\n                } else {\n                    if (this.type === 'auto') {\n                        if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n                            this.type = 'hls';\n                        } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n                            this.type = 'flv';\n                        } else if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n                            this.type = 'dash';\n                        } else {\n                            this.type = 'normal';\n                        }\n                    }\n                    if (this.type === 'hls' && (video.canPlayType('application/x-mpegURL') || video.canPlayType('application/vnd.apple.mpegURL'))) {\n                        this.type = 'normal';\n                    }\n                    switch (this.type) {\n                    case 'hls':\n                        if (Hls) {\n                            if (Hls.isSupported()) {\n                                var hls = new Hls();\n                                hls.loadSource(video.src);\n                                hls.attachMedia(video);\n                            } else {\n                                this.notice('Error: Hls is not supported.');\n                            }\n                        } else {\n                            this.notice('Error: Can\\'t find Hls.');\n                        }\n                        break;\n                    case 'flv':\n                        if (flvjs && flvjs.isSupported()) {\n                            if (flvjs.isSupported()) {\n                                var flvPlayer = flvjs.createPlayer({\n                                    type: 'flv',\n                                    url: video.src\n                                });\n                                flvPlayer.attachMediaElement(video);\n                                flvPlayer.load();\n                            } else {\n                                this.notice('Error: flvjs is not supported.');\n                            }\n                        } else {\n                            this.notice('Error: Can\\'t find flvjs.');\n                        }\n                        break;\n                    case 'dash':\n                        if (dashjs) {\n                            dashjs.MediaPlayer().create().initialize(video, video.src, false);\n                        } else {\n                            this.notice('Error: Can\\'t find dashjs.');\n                        }\n                        break;\n                    case 'webtorrent':\n                        if (WebTorrent) {\n                            if (WebTorrent.WEBRTC_SUPPORT) {\n                                this.container.classList.add('dplayer-loading');\n                                var client = new WebTorrent();\n                                var torrentId = video.src;\n                                client.add(torrentId, function (torrent) {\n                                    var file = torrent.files.find(function (file) {\n                                        return file.name.endsWith('.mp4');\n                                    });\n                                    file.renderTo(_this3.video, { autoplay: _this3.options.autoplay }, function () {\n                                        _this3.container.classList.remove('dplayer-loading');\n                                    });\n                                });\n                            } else {\n                                this.notice('Error: Webtorrent is not supported.');\n                            }\n                        } else {\n                            this.notice('Error: Can\\'t find Webtorrent.');\n                        }\n                        break;\n                    }\n                }\n            }\n        },\n        {\n            key: 'initVideo',\n            value: function initVideo(video, type) {\n                var _this4 = this;\n                this.initMSE(video, type);\n                this.on('durationchange', function () {\n                    if (video.duration !== 1) {\n                        _this4.template.dtime.innerHTML = _utils2.default.secondToTime(video.duration);\n                    }\n                });\n                this.on('progress', function () {\n                    var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n                    _this4.bar.set('loaded', percentage, 'width');\n                });\n                this.on('error', function () {\n                    _this4.tran && _this4.notice && _this4.type !== 'webtorrent' & _this4.notice(_this4.tran('Video load failed'), -1);\n                });\n                this.on('ended', function () {\n                    _this4.bar.set('played', 1, 'width');\n                    if (!_this4.setting.loop) {\n                        _this4.pause();\n                    } else {\n                        _this4.seek(0);\n                        video.play();\n                    }\n                    if (_this4.danmaku) {\n                        _this4.danmaku.danIndex = 0;\n                    }\n                });\n                this.on('play', function () {\n                    if (_this4.paused) {\n                        _this4.play();\n                    }\n                });\n                this.on('pause', function () {\n                    if (!_this4.paused) {\n                        _this4.pause();\n                    }\n                });\n                this.on('timeupdate', function () {\n                    _this4.bar.set('played', _this4.video.currentTime / _this4.video.duration, 'width');\n                    var currentTime = _utils2.default.secondToTime(_this4.video.currentTime);\n                    if (_this4.template.ptime.innerHTML !== currentTime) {\n                        _this4.template.ptime.innerHTML = currentTime;\n                    }\n                });\n                var _loop = function _loop(i) {\n                    video.addEventListener(_this4.events.videoEvents[i], function () {\n                        _this4.events.trigger(_this4.events.videoEvents[i]);\n                    });\n                };\n                for (var i = 0; i < this.events.videoEvents.length; i++) {\n                    _loop(i);\n                }\n                this.volume(this.user.get('volume'), true, true);\n                if (this.options.subtitle) {\n                    this.subtitle = new _subtitle2.default(this.template.subtitle, this.video, this.options.subtitle, this.events);\n                    if (!this.user.get('subtitle')) {\n                        this.subtitle.hide();\n                    }\n                }\n            }\n        },\n        {\n            key: 'switchQuality',\n            value: function switchQuality(index) {\n                var _this5 = this;\n                if (this.qualityIndex === index || this.switchingQuality) {\n                    return;\n                } else {\n                    this.qualityIndex = index;\n                }\n                this.switchingQuality = true;\n                this.quality = this.options.video.quality[index];\n                this.template.qualityButton.innerHTML = this.quality.name;\n                var paused = this.video.paused;\n                this.video.pause();\n                var videoHTML = (0, _video2.default)({\n                    current: false,\n                    pic: null,\n                    screenshot: this.options.screenshot,\n                    preload: 'auto',\n                    url: this.quality.url,\n                    subtitle: this.options.subtitle\n                });\n                var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n                this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);\n                this.prevVideo = this.video;\n                this.video = videoEle;\n                this.initVideo(this.video, this.quality.type || this.options.video.type);\n                this.seek(this.prevVideo.currentTime);\n                this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n                this.events.trigger('quality_start', this.quality);\n                this.on('canplay', function () {\n                    if (_this5.prevVideo) {\n                        if (_this5.video.currentTime !== _this5.prevVideo.currentTime) {\n                            _this5.seek(_this5.prevVideo.currentTime);\n                            return;\n                        }\n                        _this5.template.videoWrap.removeChild(_this5.prevVideo);\n                        _this5.video.classList.add('dplayer-video-current');\n                        if (!paused) {\n                            _this5.video.play();\n                        }\n                        _this5.prevVideo = null;\n                        _this5.notice(_this5.tran('Switched to') + ' ' + _this5.quality.name + ' ' + _this5.tran('quality'));\n                        _this5.switchingQuality = false;\n                        _this5.events.trigger('quality_end');\n                    }\n                });\n            }\n        },\n        {\n            key: 'notice',\n            value: function notice(text) {\n                var _this6 = this;\n                var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n                var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n                this.template.notice.innerHTML = text;\n                this.template.notice.style.opacity = opacity;\n                if (this.noticeTime) {\n                    clearTimeout(this.noticeTime);\n                }\n                this.events.trigger('notice_show', text);\n                if (time > 0) {\n                    this.noticeTime = setTimeout(function () {\n                        _this6.template.notice.style.opacity = 0;\n                        _this6.events.trigger('notice_hide');\n                    }, time);\n                }\n            }\n        },\n        {\n            key: 'resize',\n            value: function resize() {\n                if (this.danmaku) {\n                    this.danmaku.resize();\n                }\n                this.events.trigger('resize');\n            }\n        },\n        {\n            key: 'speed',\n            value: function speed(rate) {\n                this.video.playbackRate = rate;\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                instances.splice(instances.indexOf(this), 1);\n                this.pause();\n                this.controller.destroy();\n                this.timer.destroy();\n                this.video.src = '';\n                this.container.innerHTML = '';\n                this.events.trigger('destroy');\n            }\n        }\n    ], [{\n            key: 'version',\n            get: function get() {\n                return DPLAYER_VERSION;\n            }\n        }]);\n    return DPlayer;\n}();\nexports.default = DPlayer;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nrequire('../css/index.scss');\nvar _player = require('./player');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c DPlayer v' + DPLAYER_VERSION + ' ' + GIT_HASH + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;"],"sourceRoot":""}