/* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ (self["webpackChunkclassroom"] = self["webpackChunkclassroom"] || []).push([["src_views_coursewarePlay_index_ts"],{ /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/courseCollapse/courseCollapse.vue?vue&type=script&setup=true&lang=ts": /*!*********************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/courseCollapse/courseCollapse.vue?vue&type=script&setup=true&lang=ts ***! \*********************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _components_ellipsisScroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/ellipsisScroll */ \"./src/components/ellipsisScroll/index.ts\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)({\n __name: 'courseCollapse',\n props: {\n activeCollapse: {\n type: null,\n required: true\n },\n courseList: {\n type: Array,\n required: true\n },\n isChild: {\n type: Boolean,\n required: false\n }\n },\n emits: [\"handleClick\"],\n setup(__props, {\n expose: __expose,\n emit: emits\n }) {\n __expose();\n const props = __props;\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(() => props.activeCollapse, () => {\n activeCollapseId.value = filterActiveId();\n });\n const activeCollapseId = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(filterActiveId());\n function filterActiveId() {\n const course = props.courseList.find(item => {\n return (props.activeCollapse?.parentData.ids || []).includes(item.id);\n });\n return course?.id || \"\";\n }\n function handleClick(value) {\n emits(\"handleClick\", value);\n }\n const __returned__ = {\n props,\n emits,\n activeCollapseId,\n filterActiveId,\n handleClick,\n get ellipsisScroll() {\n return _components_ellipsisScroll__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n}));\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/components/courseCollapse/courseCollapse.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/pen/pen.vue?vue&type=script&setup=true&lang=ts": /*!***********************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/pen/pen.vue?vue&type=script&setup=true&lang=ts ***! \***********************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _config_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/config/index */ \"./src/config/index.ts\");\n/* harmony import */ var _hooks_useDialogConfirm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/hooks/useDialogConfirm */ \"./src/hooks/useDialogConfirm/index.ts\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)({\n __name: 'pen',\n props: {\n isWhite: {\n type: Boolean,\n required: false\n },\n close: {\n type: Function,\n required: true\n }\n },\n setup(__props, {\n expose: __expose\n }) {\n __expose();\n const props = __props;\n function handleClose() {\n (0,_hooks_useDialogConfirm__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n headImg: __webpack_require__(\"./src/img/coursewarePlay sync recursive ^\\\\.\\\\/.*\\\\.png$\")(`./${props.isWhite ? \"ts2\" : \"ts1\"}.png`),\n text: `请确认是否退出${props.isWhite ? \"白板\" : \"批注\"}?`,\n btnShow: [true, true],\n onOk(vm) {\n props.close();\n vm.remove();\n }\n });\n }\n const __returned__ = {\n props,\n handleClose,\n get URL_WHITEBOARD() {\n return _config_index__WEBPACK_IMPORTED_MODULE_1__.URL_WHITEBOARD;\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n}));\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/components/pen/pen.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/playRecordTime/playRecordTime.vue?vue&type=script&setup=true&lang=ts": /*!*********************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/playRecordTime/playRecordTime.vue?vue&type=script&setup=true&lang=ts ***! \*********************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _videoPlay_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../videoPlay/tools */ \"./src/views/coursewarePlay/videoPlay/tools.ts\");\n/* harmony import */ var _api_coursewarePlay_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/api/coursewarePlay.api */ \"./src/api/coursewarePlay.api.ts\");\n/* harmony import */ var _plugin_httpAjax__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugin/httpAjax */ \"./src/plugin/httpAjax.ts\");\n\n\n\n\n\nconst timeNum = 5;\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)({\n __name: 'playRecordTime',\n props: {\n coursewareTotalTime: {\n type: Number,\n required: true\n },\n modeId: {\n type: String,\n required: true\n }\n },\n setup(__props, {\n expose: __expose\n }) {\n __expose();\n const props = __props;\n let _time;\n const playTime = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(0);\n let timeRecord = 0;\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onUnmounted)(() => {\n _time && clearInterval(_time);\n });\n getCoursewarePlayTime();\n function getCoursewarePlayTime() {\n (0,_plugin_httpAjax__WEBPACK_IMPORTED_MODULE_3__.httpAjax)(_api_coursewarePlay_api__WEBPACK_IMPORTED_MODULE_2__.getCoursewarePlayTime_gyt, props.modeId).then(res => {\n if (res.code === 200) {\n playTime.value += res.data || 0;\n }\n });\n }\n _time = setInterval(() => {\n // 播放时间大于总时间\n if (playTime.value >= props.coursewareTotalTime) {\n _time && clearInterval(_time);\n timeRecord > 0 && handleCoursewarePlayTime(props.modeId, timeRecord);\n return;\n }\n timeRecord++;\n playTime.value++;\n if (timeRecord === timeNum) {\n handleCoursewarePlayTime(props.modeId, timeRecord);\n timeRecord = 0;\n }\n }, 1000);\n function handleCoursewarePlayTime(id, time) {\n (0,_plugin_httpAjax__WEBPACK_IMPORTED_MODULE_3__.httpAjax)(_api_coursewarePlay_api__WEBPACK_IMPORTED_MODULE_2__.coursewarePlayTime_gyt, id, time).then(() => {});\n }\n const __returned__ = {\n props,\n get _time() {\n return _time;\n },\n set _time(v) {\n _time = v;\n },\n timeNum,\n playTime,\n get timeRecord() {\n return timeRecord;\n },\n set timeRecord(v) {\n timeRecord = v;\n },\n getCoursewarePlayTime,\n handleCoursewarePlayTime,\n get formatTime() {\n return _videoPlay_tools__WEBPACK_IMPORTED_MODULE_1__.formatTime;\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n}));\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/components/playRecordTime/playRecordTime.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/coursewarePlay.vue?vue&type=script&setup=true&lang=ts": /*!*******************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/coursewarePlay.vue?vue&type=script&setup=true&lang=ts ***! \*******************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _videoPlay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./videoPlay */ \"./src/views/coursewarePlay/videoPlay/index.ts\");\n/* harmony import */ var _api_cloudTextbooks_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/api/cloudTextbooks.api */ \"./src/api/cloudTextbooks.api.ts\");\n/* harmony import */ var _api_coursewarePlay_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/api/coursewarePlay.api */ \"./src/api/coursewarePlay.api.ts\");\n/* harmony import */ var _plugin_httpAjax__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugin/httpAjax */ \"./src/plugin/httpAjax.ts\");\n/* harmony import */ var _store_modules_user__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/store/modules/user */ \"./src/store/modules/user.ts\");\n/* harmony import */ var vue_router__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! vue-router */ \"./node_modules/vue-router/dist/vue-router.mjs\");\n/* harmony import */ var element_plus__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! element-plus */ \"./node_modules/element-plus/es/components/message-box/index.mjs\");\n/* harmony import */ var _components_courseCollapse__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/courseCollapse */ \"./src/views/coursewarePlay/components/courseCollapse/index.ts\");\n/* harmony import */ var _components_pen__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/pen */ \"./src/views/coursewarePlay/components/pen/index.ts\");\n/* harmony import */ var _components_playRecordTime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/playRecordTime */ \"./src/views/coursewarePlay/components/playRecordTime/index.ts\");\n/* harmony import */ var _hooks_useDialogConfirm__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/hooks/useDialogConfirm */ \"./src/hooks/useDialogConfirm/index.ts\");\n/* harmony import */ var _api_homePage_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/api/homePage.api */ \"./src/api/homePage.api.ts\");\n/* harmony import */ var _libs_auth__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/libs/auth */ \"./src/libs/auth.ts\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/config */ \"./src/config/index.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.defineComponent)({\n __name: 'coursewarePlay',\n setup(__props, {\n expose: __expose\n }) {\n __expose();\n const route = (0,vue_router__WEBPACK_IMPORTED_MODULE_14__.useRoute)();\n const userStoreHook = (0,_store_modules_user__WEBPACK_IMPORTED_MODULE_6__[\"default\"])();\n // 批注\n const penShow = (0,vue__WEBPACK_IMPORTED_MODULE_1__.ref)(false);\n // 白板\n const whitePenShow = (0,vue__WEBPACK_IMPORTED_MODULE_1__.ref)(false);\n /* 获取资源 */\n const videoPlayDom = (0,vue__WEBPACK_IMPORTED_MODULE_1__.ref)();\n const coursewareList = (0,vue__WEBPACK_IMPORTED_MODULE_1__.shallowRef)([]); // 知识点\n const flattenCoursewareList = (0,vue__WEBPACK_IMPORTED_MODULE_1__.shallowRef)([]); // 扁平化coursewareList\n // 选中的知识点\n const activeCourseware = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(() => {\n return flattenCoursewareList.value[activeCoursewareIndex.value];\n });\n // 文件类型\n const fileType = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(() => {\n return activeCourseware.value?.type || activeCourseware.value?.typeCode;\n });\n const songPlaySrc = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(() => {\n if (fileType.value !== \"SONG\") {\n return \"\";\n }\n return userStoreHook.roles === \"GYM\" ? `${_config__WEBPACK_IMPORTED_MODULE_13__.URL_TEACH_GYM}?Authorization=${(0,_libs_auth__WEBPACK_IMPORTED_MODULE_12__.getToken)()}&platform=web&isOpenMetronome=0#/detail/${activeCourseware.value?.content}?part-index=0` : `${_config__WEBPACK_IMPORTED_MODULE_13__.URL_TEACH_GYT}?id=${activeCourseware.value?.content}&modelType=practice&modeType=json&Authorization=${(0,_libs_auth__WEBPACK_IMPORTED_MODULE_12__.getToken)()}`;\n });\n const activeCoursewareIndex = (0,vue__WEBPACK_IMPORTED_MODULE_1__.ref)(0);\n const drawerShow = (0,vue__WEBPACK_IMPORTED_MODULE_1__.ref)(false);\n // 课程总时间\n const coursewareTotalTime = (0,vue__WEBPACK_IMPORTED_MODULE_1__.ref)(0);\n // 监控播放\n (0,vue__WEBPACK_IMPORTED_MODULE_1__.watch)(activeCourseware, () => {\n handleVideoPause();\n fileType.value === \"VIDEO\" && (0,vue__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {\n handlePlayVideo({\n src: activeCourseware.value?.content,\n name: activeCourseware.value?.name\n });\n });\n showController();\n });\n getCoursewareList();\n function getCoursewareList() {\n (0,_plugin_httpAjax__WEBPACK_IMPORTED_MODULE_5__.httpAjaxErrMsg)(userStoreHook.roles === \"GYM\" ? _api_cloudTextbooks_api__WEBPACK_IMPORTED_MODULE_3__.getLessonCourseDetail_gym : _api_cloudTextbooks_api__WEBPACK_IMPORTED_MODULE_3__.getLessonCoursewareDetail_gyt, route.params.id).then(res => {\n if (res.code === 200) {\n const {\n lockFlag,\n knowledgePointList\n } = res.data || {};\n if (lockFlag) {\n element_plus__WEBPACK_IMPORTED_MODULE_15__.ElMessageBox.alert(\"课件已锁定\", \"温馨提示\", {\n confirmButtonText: \"退出\",\n type: \"error\"\n }).then(() => {\n handleGoBack();\n }).catch(() => {\n handleGoBack();\n });\n return;\n }\n if ((knowledgePointList || []).length < 1) {\n element_plus__WEBPACK_IMPORTED_MODULE_15__.ElMessageBox.alert(\"没有找到课件\", \"温馨提示\", {\n confirmButtonText: \"退出\",\n type: \"error\"\n }).then(() => {\n handleGoBack();\n }).catch(() => {\n handleGoBack();\n });\n return;\n }\n // 处理返回的数据\n handlePointList(knowledgePointList);\n }\n });\n }\n let flattenCoursewareListData = []; // 临时扁平化数据\n function handlePointList(pointList) {\n coursewareList.value = filterPointList(pointList);\n // 如果url里面有materialId 代表指定资料播放\n if (route.query.materialId) {\n const index = flattenCoursewareListData.findIndex(item => {\n return route.query.materialId === item.id + \"\";\n });\n index > -1 && (activeCoursewareIndex.value = index);\n }\n flattenCoursewareList.value = flattenCoursewareListData;\n }\n function filterPointList(pointList, parentData) {\n // 设置父级及以上id数组和父级name\n return pointList.map(point => {\n if (point.children) {\n return Object.assign(point, {\n children: filterPointList(point.children, {\n ids: [...(parentData?.ids || []), point.id],\n name: point.name\n })\n });\n } else {\n coursewareTotalTime.value += point.totalMaterialTimeSecond;\n return Object.assign(point, {\n materialList: point.materialList.map(item => {\n item.parentData = {\n ids: [...(parentData?.ids || []), point.id],\n name: point.name\n };\n flattenCoursewareListData.push(item);\n return item;\n })\n });\n }\n });\n }\n function handleChangeCourseware(index) {\n const newIndex = index + activeCoursewareIndex.value;\n if (newIndex < 0 || newIndex > flattenCoursewareList.value.length - 1) {\n return;\n }\n activeCoursewareIndex.value = newIndex;\n }\n function handleCourseClick(value) {\n activeCoursewareIndex.value = flattenCoursewareList.value.findIndex(item => {\n return value.id === item.id;\n });\n }\n /* 播放器相关 */\n // 视频播放或者暂停\n function handleVideoPlay() {\n videoPlayDom.value?.handlePlay();\n showController();\n }\n // 视频快进快退\n function handleVideoSpeedCurrentTime(type) {\n videoPlayDom.value?.speedCurrentTime(type);\n showController();\n }\n // 视频暂停\n function handleVideoPause() {\n videoPlayDom.value?.pauseVideo();\n showController();\n }\n // 播放视频\n function handlePlayVideo({\n src,\n name\n }) {\n videoPlayDom.value?.playVideo({\n src,\n name\n });\n showController();\n }\n /* 按键事件相关 */\n (0,vue__WEBPACK_IMPORTED_MODULE_1__.onMounted)(() => {\n document.addEventListener(\"keydown\", handleKeydown);\n showController();\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_1__.onUnmounted)(() => {\n document.removeEventListener(\"keydown\", handleKeydown);\n });\n function handleKeydown(e) {\n const key = e.key;\n if (key === \" \") {\n // 视频类型的时候才触发\n fileType.value === \"VIDEO\" && handleVideoPlay();\n } else if (key === \"ArrowLeft\") {\n // 视频类型的时候才触发\n fileType.value === \"VIDEO\" && handleVideoSpeedCurrentTime(\"slow\");\n } else if (key === \"ArrowRight\") {\n // 视频类型的时候才触发\n fileType.value === \"VIDEO\" && handleVideoSpeedCurrentTime(\"fast\");\n } else if (key === \"ArrowDown\") {\n handleChangeCourseware(1);\n } else if (key === \"ArrowUp\") {\n handleChangeCourseware(-1);\n }\n }\n function handleMousemove() {\n showController();\n }\n function handleClick() {\n console.log(2333);\n fileType.value === \"VIDEO\" && isShowController.value && handleVideoPlay();\n showController();\n }\n // 是否显示控制器\n const isShowController = (0,vue__WEBPACK_IMPORTED_MODULE_1__.ref)(true);\n let _showTimer;\n function showController() {\n isShowController.value = true;\n _showTimer && clearTimeout(_showTimer);\n _showTimer = setTimeout(hideController, 3000);\n }\n function hideController() {\n if (fileType.value === \"VIDEO\" && videoPlayDom.value?.playType === \"pause\") {\n return;\n }\n isShowController.value = false;\n }\n /* 结束课程 */\n function handleGoBack() {\n window.open(\"about:blank\", \"_self\");\n window.close();\n }\n function handleCoursewareEnd() {\n if (route.query.modeId) {\n if (userStoreHook.roles === \"GYM\") {\n (0,_plugin_httpAjax__WEBPACK_IMPORTED_MODULE_5__.httpAjaxLoadingErrMsg)(_api_homePage_api__WEBPACK_IMPORTED_MODULE_11__.getRecentCourseSchedule_gym, route.query.modeId).then(res => {\n if (res.code === 200) {\n if (res.data?.signOutStatusEnum === 3) {\n (0,_hooks_useDialogConfirm__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n headImg: __webpack_require__(/*! @/img/coursewarePlay/ts.png */ \"./src/img/coursewarePlay/ts.png\"),\n text: `请确认是否结束课程,结束后请到APP进行签退。`,\n btnShow: [true, true],\n onOk() {\n handleGoBack();\n }\n });\n } else {\n handleGoBack();\n }\n }\n });\n } else {\n (0,_plugin_httpAjax__WEBPACK_IMPORTED_MODULE_5__.httpAjaxLoadingErrMsg)(_api_coursewarePlay_api__WEBPACK_IMPORTED_MODULE_4__.checkWebCourse_gyt, route.query.modeId).then(res => {\n if (res.code === 200) {\n if (res.data?.signOut === false) {\n (0,_hooks_useDialogConfirm__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n headImg: __webpack_require__(/*! @/img/coursewarePlay/ts.png */ \"./src/img/coursewarePlay/ts.png\"),\n text: `请确认是否结束课程,结束后请到APP进行签退。`,\n btnShow: [true, true],\n onOk() {\n handleGoBack();\n }\n });\n } else {\n handleGoBack();\n }\n }\n });\n }\n } else {\n handleGoBack();\n }\n }\n const __returned__ = {\n route,\n userStoreHook,\n penShow,\n whitePenShow,\n videoPlayDom,\n coursewareList,\n flattenCoursewareList,\n activeCourseware,\n fileType,\n songPlaySrc,\n activeCoursewareIndex,\n drawerShow,\n coursewareTotalTime,\n getCoursewareList,\n get flattenCoursewareListData() {\n return flattenCoursewareListData;\n },\n set flattenCoursewareListData(v) {\n flattenCoursewareListData = v;\n },\n handlePointList,\n filterPointList,\n handleChangeCourseware,\n handleCourseClick,\n handleVideoPlay,\n handleVideoSpeedCurrentTime,\n handleVideoPause,\n handlePlayVideo,\n handleKeydown,\n handleMousemove,\n handleClick,\n isShowController,\n get _showTimer() {\n return _showTimer;\n },\n set _showTimer(v) {\n _showTimer = v;\n },\n showController,\n hideController,\n handleGoBack,\n handleCoursewareEnd,\n get videoPlay() {\n return _videoPlay__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n },\n get courseCollapse() {\n return _components_courseCollapse__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n },\n get pen() {\n return _components_pen__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n },\n get playRecordTime() {\n return _components_playRecordTime__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n}));\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/coursewarePlay.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/videoPlay/videoPlay.vue?vue&type=script&setup=true&lang=ts": /*!************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/videoPlay/videoPlay.vue?vue&type=script&setup=true&lang=ts ***! \************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var tcplayer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tcplayer.js */ \"./node_modules/tcplayer.js/dist/tcplayer.v4.9.1.min.js\");\n/* harmony import */ var tcplayer_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(tcplayer_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var tcplayer_js_dist_tcplayer_min_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tcplayer.js/dist/tcplayer.min.css */ \"./node_modules/tcplayer.js/dist/tcplayer.min.css\");\n/* harmony import */ var tcplayer_js_dist_tcplayer_min_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(tcplayer_js_dist_tcplayer_min_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _libs_tools__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/libs/tools */ \"./src/libs/tools.ts\");\n/* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tools */ \"./src/views/coursewarePlay/videoPlay/tools.ts\");\n/* harmony import */ var naive_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! naive-ui */ \"./node_modules/naive-ui/es/slider/src/Slider.mjs\");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)({\n __name: 'videoPlay',\n props: {\n disableEvents: {\n type: Boolean,\n required: false\n },\n isShowController: {\n type: Boolean,\n required: false\n }\n },\n emits: [\"ready\", \"ended\"],\n setup(__props, {\n expose: __expose,\n emit: emits\n }) {\n const props = __props;\n const videoId = \"video\" + (0,_libs_tools__WEBPACK_IMPORTED_MODULE_3__.UUID)();\n let playerVm;\n let isReady = false; // 是否初始化播放器播放器\n const videoName = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(\"\");\n /* 时间控制器 */\n const timeController = (0,vue__WEBPACK_IMPORTED_MODULE_0__.reactive)({\n currentTime: 0,\n duration: 0,\n currentTimeSilder: 0,\n isDrag: false\n });\n /* 播放控制器 */\n const btnSpendDom = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)();\n const popoverSpendDom = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)();\n let _popoverSpendTime;\n // 定时隐藏\n function handlePopoverTimeHide() {\n _popoverSpendTime && clearTimeout(_popoverSpendTime);\n _popoverSpendTime = setTimeout(() => {\n popoverSpendDom.value?.hide();\n }, 5000);\n }\n const playController = (0,vue__WEBPACK_IMPORTED_MODULE_0__.reactive)({\n type: \"pause\",\n loop: false,\n minSpeed: 0.5,\n maxSpeed: 1.5,\n speedStep: 0.1,\n palySpeed: 1\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(() => playController.palySpeed, () => {\n // 值变化 重新计算隐藏时间\n handlePopoverTimeHide();\n });\n /* 是否显示控制器 */\n const isShowController = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(true);\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.watchEffect)(() => {\n isShowController.value = props.isShowController;\n });\n let _showTimer;\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(() => {\n initVideo();\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onUnmounted)(() => {\n playerVm?.dispose();\n });\n /**\r\n * 初始化播放器\r\n */\n function initVideo() {\n playerVm = tcplayer_js__WEBPACK_IMPORTED_MODULE_1___default()(videoId, {\n controls: false,\n //autoplay: true, // 自动播放前1秒暂停不了,改为loadedmetadata调用播放 实现自动播放\n loop: false\n });\n // 初始化完成\n playerVm.ready(() => {\n console.log(\"播放器初始化完成\");\n isReady = true;\n emits(\"ready\");\n });\n // 开始加载数据时\n playerVm.on(\"loadstart\", () => {\n // 重新设置播放倍速 因为切换视频播放倍速会重置\n playerVm.playbackRate(playController.palySpeed);\n });\n playerVm.on(\"loadedmetadata\", () => {\n console.log(\"loadedmetadata\");\n playerVm.play();\n });\n //总时长变化时候\n playerVm.on(\"durationchange\", () => {\n timeController.duration = playerVm.duration();\n });\n //当前播放时间变化\n playerVm.on(\"timeupdate\", () => {\n timeController.currentTime = playerVm.currentTime();\n if (!timeController.isDrag) {\n timeController.currentTimeSilder = timeController.currentTime;\n }\n });\n playerVm.on(\"play\", () => {\n playController.type = \"play\";\n });\n playerVm.on(\"pause\", () => {\n playController.type = \"pause\";\n });\n // 播放结束\n playerVm.on(\"ended\", () => {\n emits(\"ended\");\n });\n }\n /**\r\n * 播放 需要在ready之后调用\r\n */\n // 接口请求可能在播放之前 所以这里等待播放器初始化\n let _time;\n function playVideo({\n src,\n name\n }) {\n videoName.value = name;\n _time && clearInterval(_time);\n if (isReady) {\n handlePlayVideo(src);\n } else {\n _time = setInterval(() => {\n if (isReady) {\n clearInterval(_time);\n handlePlayVideo(src);\n }\n }, 60);\n }\n }\n function handlePlayVideo(src) {\n playerVm?.src(src);\n showController();\n }\n /* 时间控制器 */\n function handleTimeChange(value) {\n playerVm.currentTime(value || timeController.currentTimeSilder);\n timeController.isDrag = false;\n }\n function handleSilderChange(value) {\n timeController.isDrag = true;\n timeController.currentTimeSilder = value;\n }\n // 快进或者快退\n function speedCurrentTime(type) {\n handleTimeChange(timeController.currentTime + (type === \"fast\" ? 5 : -5));\n showController();\n }\n /* 播放控制器 */\n function handlePlay() {\n playController.type === \"pause\" ? playerVm.play() : playerVm.pause();\n showController();\n }\n // 暂停\n function pauseVideo() {\n playerVm.pause();\n showController();\n }\n // 循环播放\n function handleLoop() {\n playController.loop ? playerVm.loop(false) : playerVm.loop(true);\n playController.loop = playerVm.loop();\n }\n // 播放速度\n function handlePalySpeedChange(value) {\n playController.palySpeed = value;\n playerVm.playbackRate(value);\n }\n function handlePalySpeed(value) {\n const palySpeed = parseFloat((playController.palySpeed + value).toFixed(1));\n if (palySpeed > playController.maxSpeed || palySpeed < playController.minSpeed) {\n return;\n }\n handlePalySpeedChange(palySpeed);\n }\n function handleVideoClick() {\n if (props.disableEvents) return;\n handlePlay();\n }\n function handleVideoKeydown(e) {\n if (props.disableEvents) return;\n const key = e.key;\n if (key === \" \") {\n handlePlay();\n } else if (key === \"ArrowLeft\") {\n speedCurrentTime(\"slow\");\n } else if (key === \"ArrowRight\") {\n speedCurrentTime(\"fast\");\n }\n }\n function handleVideoMousemove() {\n if (props.disableEvents) return;\n showController();\n }\n /* 是否显示控制器 */\n function showController() {\n if (props.disableEvents) return;\n isShowController.value = true;\n _showTimer && clearTimeout(_showTimer);\n _showTimer = setTimeout(tryHideController, 3000);\n }\n function tryHideController() {\n if (playController.type === \"play\") {\n isShowController.value = false;\n }\n }\n __expose({\n playVideo,\n pauseVideo,\n handlePlay,\n speedCurrentTime,\n playType: (0,vue__WEBPACK_IMPORTED_MODULE_0__.toRef)(playController, \"type\")\n });\n const __returned__ = {\n props,\n emits,\n videoId,\n get playerVm() {\n return playerVm;\n },\n set playerVm(v) {\n playerVm = v;\n },\n get isReady() {\n return isReady;\n },\n set isReady(v) {\n isReady = v;\n },\n videoName,\n timeController,\n btnSpendDom,\n popoverSpendDom,\n get _popoverSpendTime() {\n return _popoverSpendTime;\n },\n set _popoverSpendTime(v) {\n _popoverSpendTime = v;\n },\n handlePopoverTimeHide,\n playController,\n isShowController,\n get _showTimer() {\n return _showTimer;\n },\n set _showTimer(v) {\n _showTimer = v;\n },\n initVideo,\n get _time() {\n return _time;\n },\n set _time(v) {\n _time = v;\n },\n playVideo,\n handlePlayVideo,\n handleTimeChange,\n handleSilderChange,\n speedCurrentTime,\n handlePlay,\n pauseVideo,\n handleLoop,\n handlePalySpeedChange,\n handlePalySpeed,\n handleVideoClick,\n handleVideoKeydown,\n handleVideoMousemove,\n showController,\n tryHideController,\n get formatTime() {\n return _tools__WEBPACK_IMPORTED_MODULE_4__.formatTime;\n },\n get NSlider() {\n return naive_ui__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n}));\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/videoPlay/videoPlay.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/courseCollapse/courseCollapse.vue?vue&type=template&id=3a05144f&scoped=true&ts=true": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/courseCollapse/courseCollapse.vue?vue&type=template&id=3a05144f&scoped=true&ts=true ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _img_coursewarePlay_icon_load_gif__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/img/coursewarePlay/icon-load.gif */ \"./src/img/coursewarePlay/icon-load.gif\");\n\n\nconst _withScopeId = n => ((0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)(\"data-v-3a05144f\"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n);\nconst _hoisted_1 = {\n class: \"courseCollapseHead\"\n};\nconst _hoisted_2 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"courseCollapseHeadArrow\"\n}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"headArrow\"\n}), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"headArrowActive\"\n})], -1 /* HOISTED */));\nconst _hoisted_3 = {\n class: \"courseCollapseHeadTit\"\n};\nconst _hoisted_4 = [\"onClick\"];\nconst _hoisted_5 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"imgIcon\"\n}, null, -1 /* HOISTED */));\nconst _hoisted_6 = {\n class: \"ellipsisBox\"\n};\nconst _hoisted_7 = {\n class: \"iconArrow\"\n};\nconst _hoisted_8 = {\n key: 0,\n src: _img_coursewarePlay_icon_load_gif__WEBPACK_IMPORTED_MODULE_1__\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_courseCollapse = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"courseCollapse\", true);\n const _component_el_collapse_item = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-collapse-item\");\n const _component_el_collapse = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-collapse\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_collapse, {\n class: \"courseCollapse\",\n accordion: \"\",\n modelValue: $setup.activeCollapseId,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.activeCollapseId = $event)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($setup.props.courseList, item => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_collapse_item, {\n key: item.id,\n name: item.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)({\n isChild: $setup.props.isChild\n })\n }, {\n title: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [_hoisted_2, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ellipsisScroll\"], {\n title: item.name\n }, null, 8 /* PROPS */, [\"title\"])])])]),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"courseCollapseCon\", {\n courseListCon: item.materialList\n }])\n }, [item.materialList ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(item.materialList, i => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"courseList\", {\n isActive: $props.activeCollapse?.id === i.id\n }]),\n key: i.id,\n onClick: $event => $setup.handleClick(i)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"courseTitleCon\", i.typeCode || i.type])\n }, [_hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ellipsisScroll\"], {\n title: i.name\n }, null, 8 /* PROPS */, [\"title\"])])], 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [$props.activeCollapse?.id === i.id ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"img\", _hoisted_8)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)])], 10 /* CLASS, PROPS */, _hoisted_4);\n }), 128 /* KEYED_FRAGMENT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_courseCollapse, {\n key: 1,\n isChild: true,\n courseList: item.children || [],\n activeCollapse: $props.activeCollapse,\n onHandleClick: $setup.handleClick\n }, null, 8 /* PROPS */, [\"courseList\", \"activeCollapse\"]))], 2 /* CLASS */)]),\n\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"name\", \"class\"]);\n }), 128 /* KEYED_FRAGMENT */))]),\n\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"]);\n}\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/components/courseCollapse/courseCollapse.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/pen/pen.vue?vue&type=template&id=381bb683&ts=true": /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/pen/pen.vue?vue&type=template&id=381bb683&ts=true ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nconst _hoisted_1 = [\"src\"];\nconst _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"svg\", {\n width: \"22px\",\n height: \"20px\",\n viewBox: \"0 0 22 20\"\n}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"path\", {\n transform: \"translate(-1.000000, -2.000000)\",\n fill: \"#FFFFFF\",\n d: \"M13,2 C13.5522847,2 14,2.44771525 14,3 C14,3.51283584 13.6139598,3.93550716 13.1166211,3.99327227 L13,4 L3,4 L3,20 L13,20 C13.5128358,20 13.9355072,20.3860402 13.9932723,20.8833789 L14,21 C14,21.5128358 13.6139598,21.9355072 13.1166211,21.9932723 L13,22 L2,22 C1.48716416,22 1.06449284,21.6139598 1.00672773,21.1166211 L1,21 L1,3 C1,2.48716416 1.38604019,2.06449284 1.88337887,2.00672773 L2,2 L13,2 Z M17.7071068,7.05025253 L21.9497475,11.2928932 L21.9497475,11.2928932 C22.3402718,11.6834175 22.3402718,12.3165825 21.9497475,12.7071068 L17.7071068,16.9497475 C17.3165825,17.3402718 16.6834175,17.3402718 16.2928932,16.9497475 C15.9023689,16.5592232 15.9023689,15.9260582 16.2928932,15.5355339 L18.828,12.999 L9.29368112,13 C8.74139637,13 8.29368112,12.5522847 8.29368112,12 C8.29368112,11.4871642 8.67972131,11.0644928 9.17706,11.0067277 L9.29368112,11 L18.827,10.999 L16.2928932,8.46446609 C15.9023689,8.0739418 15.9023689,7.44077682 16.2928932,7.05025253 C16.6834175,6.65972824 17.3165825,6.65972824 17.7071068,7.05025253 Z\"\n})], -1 /* HOISTED */);\nconst _hoisted_3 = [_hoisted_2];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_dialog = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-dialog\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_dialog, (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)({\n \"modal-class\": \"penModalClass\",\n class: [\"penElDialog\", {\n isWhite: $props.isWhite\n }]\n }, _ctx.$attrs, {\n fullscreen: true,\n \"show-close\": false\n }), {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"iframe\", {\n class: \"penIframe\",\n frameborder: \"0\",\n src: $setup.URL_WHITEBOARD\n }, null, 8 /* PROPS */, _hoisted_1), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"closeSvg\",\n onClick: $setup.handleClose\n }, _hoisted_3)]),\n _: 1 /* STABLE */\n }, 16 /* FULL_PROPS */, [\"class\"]);\n}\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/components/pen/pen.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/playRecordTime/playRecordTime.vue?vue&type=template&id=734ac9e2&scoped=true&ts=true": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/components/playRecordTime/playRecordTime.vue?vue&type=template&id=734ac9e2&scoped=true&ts=true ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nconst _withScopeId = n => ((0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)(\"data-v-734ac9e2\"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n);\nconst _hoisted_1 = {\n class: \"playRecordTime\"\n};\nconst _hoisted_2 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"drop\"\n}, null, -1 /* HOISTED */));\nconst _hoisted_3 = {\n class: \"time\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [_hoisted_2, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(`${$setup.formatTime($setup.playTime)}/${$setup.formatTime($setup.props.coursewareTotalTime)}`), 1 /* TEXT */)]);\n}\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/components/playRecordTime/playRecordTime.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/coursewarePlay.vue?vue&type=template&id=1b6fcd76&scoped=true&ts=true": /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/coursewarePlay.vue?vue&type=template&id=1b6fcd76&scoped=true&ts=true ***! \********************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _img_coursewarePlay_shang_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/img/coursewarePlay/shang.png */ \"./src/img/coursewarePlay/shang.png\");\n/* harmony import */ var _img_coursewarePlay_xia_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/img/coursewarePlay/xia.png */ \"./src/img/coursewarePlay/xia.png\");\n/* harmony import */ var _img_coursewarePlay_baiban_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/img/coursewarePlay/baiban.png */ \"./src/img/coursewarePlay/baiban.png\");\n/* harmony import */ var _img_coursewarePlay_pizhu_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/img/coursewarePlay/pizhu.png */ \"./src/img/coursewarePlay/pizhu.png\");\n/* harmony import */ var _img_coursewarePlay_zhishidian_png__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/img/coursewarePlay/zhishidian.png */ \"./src/img/coursewarePlay/zhishidian.png\");\n/* harmony import */ var _img_coursewarePlay_jieshu_png__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/img/coursewarePlay/jieshu.png */ \"./src/img/coursewarePlay/jieshu.png\");\n/* harmony import */ var _img_coursewarePlay_back_png__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/img/coursewarePlay/back.png */ \"./src/img/coursewarePlay/back.png\");\n/* harmony import */ var _img_coursewarePlay_kcml_png__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/img/coursewarePlay/kcml.png */ \"./src/img/coursewarePlay/kcml.png\");\n/* harmony import */ var _img_coursewarePlay_close_png__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/img/coursewarePlay/close.png */ \"./src/img/coursewarePlay/close.png\");\n\n\n\n\n\n\n\n\n\n\nconst _withScopeId = n => ((0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)(\"data-v-1b6fcd76\"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n);\nconst _hoisted_1 = {\n key: 0,\n class: \"imgPlayBox\"\n};\nconst _hoisted_2 = {\n key: 1,\n class: \"songPlayBox\"\n};\nconst _hoisted_3 = [\"src\"];\nconst _hoisted_4 = {\n class: \"leftTools posTools\"\n};\nconst _hoisted_5 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n src: _img_coursewarePlay_shang_png__WEBPACK_IMPORTED_MODULE_1__\n}, null, -1 /* HOISTED */));\nconst _hoisted_6 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", null, \"上一个\", -1 /* HOISTED */));\nconst _hoisted_7 = [_hoisted_5, _hoisted_6];\nconst _hoisted_8 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n src: _img_coursewarePlay_xia_png__WEBPACK_IMPORTED_MODULE_2__\n}, null, -1 /* HOISTED */));\nconst _hoisted_9 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", null, \"下一个\", -1 /* HOISTED */));\nconst _hoisted_10 = [_hoisted_8, _hoisted_9];\nconst _hoisted_11 = {\n class: \"rightTools posTools\"\n};\nconst _hoisted_12 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n src: _img_coursewarePlay_baiban_png__WEBPACK_IMPORTED_MODULE_3__\n}, null, -1 /* HOISTED */));\nconst _hoisted_13 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", null, \"白板\", -1 /* HOISTED */));\nconst _hoisted_14 = [_hoisted_12, _hoisted_13];\nconst _hoisted_15 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n src: _img_coursewarePlay_pizhu_png__WEBPACK_IMPORTED_MODULE_4__\n}, null, -1 /* HOISTED */));\nconst _hoisted_16 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", null, \"批注\", -1 /* HOISTED */));\nconst _hoisted_17 = [_hoisted_15, _hoisted_16];\nconst _hoisted_18 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n src: _img_coursewarePlay_zhishidian_png__WEBPACK_IMPORTED_MODULE_5__\n}, null, -1 /* HOISTED */));\nconst _hoisted_19 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", null, \"知识点\", -1 /* HOISTED */));\nconst _hoisted_20 = [_hoisted_18, _hoisted_19];\nconst _hoisted_21 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n src: _img_coursewarePlay_jieshu_png__WEBPACK_IMPORTED_MODULE_6__\n}, null, -1 /* HOISTED */));\nconst _hoisted_22 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", null, \"结束\", -1 /* HOISTED */));\nconst _hoisted_23 = [_hoisted_21, _hoisted_22];\nconst _hoisted_24 = {\n class: \"topTools\"\n};\nconst _hoisted_25 = {\n class: \"leftMenu\"\n};\nconst _hoisted_26 = {\n class: \"midMenu\"\n};\nconst _hoisted_27 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"rightMenu\"\n}, null, -1 /* HOISTED */));\nconst _hoisted_28 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n class: \"directory\",\n src: _img_coursewarePlay_kcml_png__WEBPACK_IMPORTED_MODULE_8__\n}, null, -1 /* HOISTED */));\nconst _hoisted_29 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"tit\"\n}, \"课程目录\", -1 /* HOISTED */));\nconst _hoisted_30 = [\"onClick\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ElImage = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ElImage\");\n const _component_ElScrollbar = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ElScrollbar\");\n const _component_el_drawer = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-drawer\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"coursewarePlay\", {\n hideController: !$setup.isShowController\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"coursewarePlayCon\",\n onMousemove: $setup.handleMousemove,\n onClick: $setup.handleClick,\n onTouchstart: $setup.handleClick\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"videoPlay\"], {\n ref: \"videoPlayDom\",\n onEnded: _cache[0] || (_cache[0] = $event => $setup.handleChangeCourseware(1)),\n disableEvents: true,\n isShowController: $setup.isShowController\n }, null, 8 /* PROPS */, [\"isShowController\"]), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $setup.fileType === 'VIDEO']]), $setup.fileType === 'IMG' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_ElImage, {\n \"hide-on-click-modal\": true,\n fit: \"contain\",\n src: $setup.activeCourseware?.content,\n class: \"imgPlay\"\n }, null, 8 /* PROPS */, [\"src\"])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $setup.fileType === 'SONG' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"iframe\", {\n class: \"songIframe\",\n onMousemove: $setup.handleMousemove,\n src: $setup.songPlaySrc,\n frameborder: \"0\"\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_3)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)], 32 /* HYDRATE_EVENTS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [$setup.activeCoursewareIndex > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: 0,\n class: \"posBtn\",\n onClick: _cache[1] || (_cache[1] = $event => $setup.handleChangeCourseware(-1))\n }, _hoisted_7)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $setup.activeCoursewareIndex < $setup.flattenCoursewareList.length - 1 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: 1,\n class: \"posBtn\",\n onClick: _cache[2] || (_cache[2] = $event => $setup.handleChangeCourseware(1))\n }, _hoisted_10)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_11, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"posBtn\",\n onClick: _cache[3] || (_cache[3] = () => {\n $setup.handleVideoPause();\n $setup.whitePenShow = true;\n })\n }, _hoisted_14), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"posBtn\",\n onClick: _cache[4] || (_cache[4] = () => {\n $setup.handleVideoPause();\n $setup.penShow = true;\n })\n }, _hoisted_17), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"posBtn\",\n onClick: _cache[5] || (_cache[5] = $event => $setup.drawerShow = true)\n }, _hoisted_20), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"posBtn\",\n onClick: $setup.handleCoursewareEnd\n }, _hoisted_23)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_24, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_25, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n onClick: $setup.handleGoBack,\n class: \"backImg\",\n src: _img_coursewarePlay_back_png__WEBPACK_IMPORTED_MODULE_7__\n }), $setup.route.query.modeId && $setup.coursewareTotalTime && !($setup.userStoreHook.roles === 'GYM') ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"playRecordTime\"], {\n key: 0,\n modeId: $setup.route.query.modeId,\n coursewareTotalTime: $setup.coursewareTotalTime\n }, null, 8 /* PROPS */, [\"modeId\", \"coursewareTotalTime\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_26, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($setup.activeCourseware?.parentData.name || \"\"), 1 /* TEXT */), _hoisted_27]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_drawer, {\n class: \"elDrawer\",\n modelValue: $setup.drawerShow,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.drawerShow = $event),\n \"show-close\": false\n }, {\n header: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n close\n }) => [_hoisted_28, _hoisted_29, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n class: \"close\",\n onClick: close,\n src: _img_coursewarePlay_close_png__WEBPACK_IMPORTED_MODULE_9__\n }, null, 8 /* PROPS */, _hoisted_30)]),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_ElScrollbar, {\n class: \"elScrollbar\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"courseCollapse\"], {\n activeCollapse: $setup.activeCourseware,\n courseList: $setup.coursewareList,\n onHandleClick: $setup.handleCourseClick\n }, null, 8 /* PROPS */, [\"activeCollapse\", \"courseList\"])]),\n _: 1 /* STABLE */\n })]),\n\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"pen\"], {\n close: () => {\n $setup.penShow = false;\n },\n modelValue: $setup.penShow,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => $setup.penShow = $event)\n }, null, 8 /* PROPS */, [\"close\", \"modelValue\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"pen\"], {\n \"is-white\": true,\n close: () => {\n $setup.whitePenShow = false;\n },\n modelValue: $setup.whitePenShow,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => $setup.whitePenShow = $event)\n }, null, 8 /* PROPS */, [\"close\", \"modelValue\"])], 2 /* CLASS */);\n}\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/coursewarePlay.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/videoPlay/videoPlay.vue?vue&type=template&id=742aa206&scoped=true&ts=true": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/coursewarePlay/videoPlay/videoPlay.vue?vue&type=template&id=742aa206&scoped=true&ts=true ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _img_iconSpeed_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./img//iconSpeed.png */ \"./src/views/coursewarePlay/videoPlay/img/iconSpeed.png\");\n/* harmony import */ var _img_jia_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./img/jia.png */ \"./src/views/coursewarePlay/videoPlay/img/jia.png\");\n/* harmony import */ var _img_jian_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./img/jian.png */ \"./src/views/coursewarePlay/videoPlay/img/jian.png\");\n\n\n\n\nconst _withScopeId = n => ((0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)(\"data-v-742aa206\"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n);\nconst _hoisted_1 = {\n class: \"timeController\"\n};\nconst _hoisted_2 = {\n class: \"playController\"\n};\nconst _hoisted_3 = {\n class: \"leftPlayController\"\n};\nconst _hoisted_4 = [\"src\"];\nconst _hoisted_5 = [\"src\"];\nconst _hoisted_6 = {\n ref: \"btnSpendDom\",\n src: _img_iconSpeed_png__WEBPACK_IMPORTED_MODULE_1__\n};\nconst _hoisted_7 = {\n class: \"sliderSpeedCon\"\n};\nconst _hoisted_8 = {\n class: \"thumb\"\n};\nconst _hoisted_9 = {\n class: \"rightPlayController\"\n};\nconst _hoisted_10 = {\n class: \"videoName\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_popover = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-popover\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n onKeydown: $setup.handleVideoKeydown,\n onMousemove: $setup.handleVideoMousemove,\n onClick: $setup.handleVideoClick,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"videoPlay\", {\n isHideController: !$setup.isShowController\n }]),\n tabindex: \"-1\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"video\", {\n class: \"videoPlayBox\",\n id: $setup.videoId,\n preload: \"auto\",\n playsinline: \"\",\n \"webkit-playsinline\": \"\"\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"videoController\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(() => {}, [\"stop\"])),\n onTouchstart: _cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(() => {}, [\"stop\"]))\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(`${$setup.formatTime($setup.timeController.currentTime)} / ${$setup.formatTime($setup.timeController.duration)}`), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"NSlider\"], {\n class: \"sliderController\",\n keyboard: false,\n value: $setup.timeController.currentTimeSilder,\n tooltip: $setup.isShowController,\n step: 0.01,\n \"onUpdate:value\": $setup.handleSilderChange,\n \"on-dragend\": $setup.handleTimeChange,\n max: $setup.timeController.duration,\n \"format-tooltip\": value => {\n return $setup.formatTime(value);\n }\n }, null, 8 /* PROPS */, [\"value\", \"tooltip\", \"max\", \"format-tooltip\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n onClick: $setup.handlePlay,\n src: __webpack_require__(\"./src/views/coursewarePlay/videoPlay/img sync recursive ^\\\\.\\\\/.*\\\\.png$\")(`./${$setup.playController.type === 'play' ? 'iconPause' : 'iconPlay'}.png`)\n }, null, 8 /* PROPS */, _hoisted_4), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n onClick: $setup.handleLoop,\n src: __webpack_require__(\"./src/views/coursewarePlay/videoPlay/img sync recursive ^\\\\.\\\\/.*\\\\.png$\")(`./${$setup.playController.loop ? 'iconLoopActive' : 'iconLoop'}.png`)\n }, null, 8 /* PROPS */, _hoisted_5), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", _hoisted_6, null, 512 /* NEED_PATCH */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_popover, {\n onShow: $setup.handlePopoverTimeHide,\n ref: \"popoverSpendDom\",\n \"virtual-ref\": $setup.btnSpendDom,\n trigger: \"click\",\n placement: \"top\",\n teleported: false,\n \"popper-class\": \"palySpeedPopover\",\n \"virtual-triggering\": \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n onClick: _cache[0] || (_cache[0] = $event => $setup.handlePalySpeed($setup.playController.speedStep)),\n src: _img_jia_png__WEBPACK_IMPORTED_MODULE_2__\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"NSlider\"], {\n class: \"sliderSpeed\",\n tooltip: false,\n keyboard: false,\n value: $setup.playController.palySpeed,\n \"onUpdate:value\": $setup.handlePalySpeedChange,\n vertical: \"\",\n step: $setup.playController.speedStep,\n max: $setup.playController.maxSpeed,\n min: $setup.playController.minSpeed\n }, {\n thumb: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($setup.playController.palySpeed.toFixed(1) + \"X\"), 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"value\", \"step\", \"max\", \"min\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n onClick: _cache[1] || (_cache[1] = $event => $setup.handlePalySpeed(-$setup.playController.speedStep)),\n src: _img_jian_png__WEBPACK_IMPORTED_MODULE_3__\n })])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"virtual-ref\"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_10, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($setup.videoName || \"\"), 1 /* TEXT */)])])])], 32 /* HYDRATE_EVENTS */)], 34 /* CLASS, HYDRATE_EVENTS */);\n}\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/videoPlay/videoPlay.vue?./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), /***/ "./src/api/cloudTextbooks.api.ts": /*!***************************************!*\ !*** ./src/api/cloudTextbooks.api.ts ***! \***************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getLessonCourseDetail_gym: function() { return /* binding */ getLessonCourseDetail_gym; },\n/* harmony export */ getLessonCoursewareCourseList_gym: function() { return /* binding */ getLessonCoursewareCourseList_gym; },\n/* harmony export */ getLessonCoursewareDetail_gyt: function() { return /* binding */ getLessonCoursewareDetail_gyt; },\n/* harmony export */ getLessonCoursewareSubjectList_gym: function() { return /* binding */ getLessonCoursewareSubjectList_gym; },\n/* harmony export */ getMyCoursewareDetail_gyt: function() { return /* binding */ getMyCoursewareDetail_gyt; },\n/* harmony export */ getMyCourseware_gyt: function() { return /* binding */ getMyCourseware_gyt; },\n/* harmony export */ queryLessonCourseware_gym: function() { return /* binding */ queryLessonCourseware_gym; }\n/* harmony export */ });\n/* harmony import */ var _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/api/ApiInstance */ \"./src/api/ApiInstance.ts\");\n\n/** 管乐迷 */\n//获取课程列表\nconst queryLessonCourseware_gym = (type, abortController) => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gym.axioseRquest({\n signal: abortController.signal,\n method: \"post\",\n url: \"/api-teacher/lessonCourseware/queryLessonCourseware\",\n data: {\n query: {\n subjectId: type,\n page: 1,\n rows: 9999\n }\n }\n });\n};\n// 获取课程类型\nconst getLessonCoursewareSubjectList_gym = () => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gym.axioseRquest({\n method: \"get\",\n url: \"/api-teacher/lessonCourseware/getLessonCoursewareSubjectList\"\n });\n};\n// 课程详情列表\nconst getLessonCoursewareCourseList_gym = id => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gym.axioseRquest({\n method: \"get\",\n url: \"/api-teacher/lessonCourseware/getLessonCoursewareCourseList/\" + id\n });\n};\n// 课程详情 播放用\nconst getLessonCourseDetail_gym = id => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gym.axioseRquest({\n method: \"get\",\n url: \"/api-teacher/lessonCourseware/getLessonCourseDetail/\" + id\n });\n};\n/**\r\n * 管乐团\r\n */\n// 课程列表\nconst getMyCourseware_gyt = () => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gyt.axioseRquest({\n method: \"post\",\n url: \"/api-teacher/courseSchedule/myCourseware\"\n });\n};\n// 课程详情列表\nconst getMyCoursewareDetail_gyt = id => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gyt.axioseRquest({\n method: \"post\",\n url: \"/api-teacher/courseSchedule/myCoursewareDetail/\" + id\n });\n};\n// 课程详情 播放用\nconst getLessonCoursewareDetail_gyt = id => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gyt.axioseRquest({\n method: \"get\",\n url: \"/api-teacher/lessonCoursewareDetail/detail/\" + id\n });\n};\n\n//# sourceURL=webpack://classroom/./src/api/cloudTextbooks.api.ts?"); /***/ }), /***/ "./src/api/coursewarePlay.api.ts": /*!***************************************!*\ !*** ./src/api/coursewarePlay.api.ts ***! \***************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ checkWebCourse_gyt: function() { return /* binding */ checkWebCourse_gyt; },\n/* harmony export */ coursewarePlayTime_gyt: function() { return /* binding */ coursewarePlayTime_gyt; },\n/* harmony export */ getCoursewarePlayTime_gyt: function() { return /* binding */ getCoursewarePlayTime_gyt; }\n/* harmony export */ });\n/* harmony import */ var _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/api/ApiInstance */ \"./src/api/ApiInstance.ts\");\n\n/**\r\n * 管乐团\r\n */\n// 获取当前播放的时间\nconst getCoursewarePlayTime_gyt = id => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gyt.axioseRquest({\n method: \"post\",\n url: \"/api-teacher/courseSchedule/getCoursewarePlayTime?courseScheduleId=\" + id,\n params: {\n playFrom: \"WEB\"\n }\n });\n};\n// 记录时间\nconst coursewarePlayTime_gyt = (id, time) => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gyt.axioseRquest({\n method: \"post\",\n url: `/api-teacher/courseSchedule/coursewarePlayTime?courseScheduleId=${id}&playTime=${time}`,\n params: {\n playFrom: \"WEB\"\n }\n });\n};\n// 判断是否签退\nconst checkWebCourse_gyt = id => {\n return _api_ApiInstance__WEBPACK_IMPORTED_MODULE_0__.httpAxios_gyt.axioseRquest({\n method: \"post\",\n url: `/api-teacher/courseSchedule/checkWebCourse/` + id\n });\n};\n\n//# sourceURL=webpack://classroom/./src/api/coursewarePlay.api.ts?"); /***/ }), /***/ "./src/views/coursewarePlay/components/courseCollapse/index.ts": /*!*********************************************************************!*\ !*** ./src/views/coursewarePlay/components/courseCollapse/index.ts ***! \*********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _courseCollapse_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./courseCollapse.vue */ \"./src/views/coursewarePlay/components/courseCollapse/courseCollapse.vue\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_courseCollapse_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/components/courseCollapse/index.ts?"); /***/ }), /***/ "./src/views/coursewarePlay/components/pen/index.ts": /*!**********************************************************!*\ !*** ./src/views/coursewarePlay/components/pen/index.ts ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pen_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pen.vue */ \"./src/views/coursewarePlay/components/pen/pen.vue\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_pen_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/components/pen/index.ts?"); /***/ }), /***/ "./src/views/coursewarePlay/components/playRecordTime/index.ts": /*!*********************************************************************!*\ !*** ./src/views/coursewarePlay/components/playRecordTime/index.ts ***! \*********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _playRecordTime_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playRecordTime.vue */ \"./src/views/coursewarePlay/components/playRecordTime/playRecordTime.vue\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_playRecordTime_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/components/playRecordTime/index.ts?"); /***/ }), /***/ "./src/views/coursewarePlay/index.ts": /*!*******************************************!*\ !*** ./src/views/coursewarePlay/index.ts ***! \*******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _coursewarePlay_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./coursewarePlay.vue */ \"./src/views/coursewarePlay/coursewarePlay.vue\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_coursewarePlay_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/index.ts?"); /***/ }), /***/ "./src/views/coursewarePlay/videoPlay/index.ts": /*!*****************************************************!*\ !*** ./src/views/coursewarePlay/videoPlay/index.ts ***! \*****************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _videoPlay_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./videoPlay.vue */ \"./src/views/coursewarePlay/videoPlay/videoPlay.vue\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_videoPlay_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/videoPlay/index.ts?"); /***/ }), /***/ "./src/views/coursewarePlay/videoPlay/tools.ts": /*!*****************************************************!*\ !*** ./src/views/coursewarePlay/videoPlay/tools.ts ***! \*****************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatTime: function() { return /* binding */ formatTime; }\n/* harmony export */ });\nfunction padStart(v, len = 2, str = \"0\") {\n v = String(v);\n if (v.length >= 2) return v;\n for (let i = 0, l = len - v.length; i < l; i++) {\n v = str + v;\n }\n return v;\n}\nfunction formatTime(seconds) {\n if (!isFinite(seconds)) return \"-\";\n if (seconds <= 0) return \"00:00\";\n seconds = Math.ceil(seconds);\n if (seconds < 60) return `00:${padStart(seconds)}`;\n if (seconds < 3600) {\n return `${padStart(Math.floor(seconds / 60))}:${padStart(seconds % 60)}`;\n }\n return `${padStart(Math.floor(seconds / 3600))}:${padStart(Math.floor(seconds % 3600 / 60))}:${padStart(seconds % 60)}`;\n}\n\n//# sourceURL=webpack://classroom/./src/views/coursewarePlay/videoPlay/tools.ts?"); /***/ }), /***/ "./node_modules/@css-render/plugin-bem/esm/index.js": /*!**********************************************************!*\ !*** ./node_modules/@css-render/plugin-bem/esm/index.js ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ plugin: function() { return /* binding */ plugin; }\n/* harmony export */ });\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/strict-boolean-expressions */\nfunction plugin(options) {\n let _bPrefix = '.';\n let _ePrefix = '__';\n let _mPrefix = '--';\n let c;\n if (options) {\n let t = options.blockPrefix;\n if (t) {\n _bPrefix = t;\n }\n t = options.elementPrefix;\n if (t) {\n _ePrefix = t;\n }\n t = options.modifierPrefix;\n if (t) {\n _mPrefix = t;\n }\n }\n const _plugin = {\n install(instance) {\n c = instance.c;\n const ctx = instance.context;\n ctx.bem = {};\n ctx.bem.b = null;\n ctx.bem.els = null;\n }\n };\n function b(arg) {\n let memorizedB;\n let memorizedE;\n return {\n before(ctx) {\n memorizedB = ctx.bem.b;\n memorizedE = ctx.bem.els;\n ctx.bem.els = null;\n },\n after(ctx) {\n ctx.bem.b = memorizedB;\n ctx.bem.els = memorizedE;\n },\n $({\n context,\n props\n }) {\n arg = typeof arg === 'string' ? arg : arg({\n context,\n props\n });\n context.bem.b = arg;\n return `${(props === null || props === void 0 ? void 0 : props.bPrefix) || _bPrefix}${context.bem.b}`;\n }\n };\n }\n function e(arg) {\n let memorizedE;\n return {\n before(ctx) {\n memorizedE = ctx.bem.els;\n },\n after(ctx) {\n ctx.bem.els = memorizedE;\n },\n $({\n context,\n props\n }) {\n arg = typeof arg === 'string' ? arg : arg({\n context,\n props\n });\n context.bem.els = arg.split(',').map(v => v.trim());\n return context.bem.els.map(el => `${(props === null || props === void 0 ? void 0 : props.bPrefix) || _bPrefix}${context.bem.b}${_ePrefix}${el}`).join(', ');\n }\n };\n }\n function m(arg) {\n return {\n $({\n context,\n props\n }) {\n arg = typeof arg === 'string' ? arg : arg({\n context,\n props\n });\n const modifiers = arg.split(',').map(v => v.trim());\n function elementToSelector(el) {\n return modifiers.map(modifier => `&${(props === null || props === void 0 ? void 0 : props.bPrefix) || _bPrefix}${context.bem.b}${el !== undefined ? `${_ePrefix}${el}` : ''}${_mPrefix}${modifier}`).join(', ');\n }\n const els = context.bem.els;\n if (els !== null) {\n if ( true && els.length >= 2) {\n throw Error(`[css-render/plugin-bem]: m(${arg}) is invalid, using modifier inside multiple elements is not allowed`);\n }\n return elementToSelector(els[0]);\n } else {\n return elementToSelector();\n }\n }\n };\n }\n function notM(arg) {\n return {\n $({\n context,\n props\n }) {\n arg = typeof arg === 'string' ? arg : arg({\n context,\n props\n });\n const els = context.bem.els;\n if ( true && els !== null && els.length >= 2) {\n throw Error(`[css-render/plugin-bem]: notM(${arg}) is invalid, using modifier inside multiple elements is not allowed`);\n }\n return `&:not(${(props === null || props === void 0 ? void 0 : props.bPrefix) || _bPrefix}${context.bem.b}${els !== null && els.length > 0 ? `${_ePrefix}${els[0]}` : ''}${_mPrefix}${arg})`;\n }\n };\n }\n const cB = (...args) => c(b(args[0]), args[1], args[2]);\n const cE = (...args) => c(e(args[0]), args[1], args[2]);\n const cM = (...args) => c(m(args[0]), args[1], args[2]);\n const cNotM = (...args) => c(notM(args[0]), args[1], args[2]);\n Object.assign(_plugin, {\n cB,\n cE,\n cM,\n cNotM\n });\n return _plugin;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (plugin);\n\n//# sourceURL=webpack://classroom/./node_modules/@css-render/plugin-bem/esm/index.js?"); /***/ }), /***/ "./node_modules/@css-render/vue3-ssr/esm/index.js": /*!********************************************************!*\ !*** ./node_modules/@css-render/vue3-ssr/esm/index.js ***! \********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setup: function() { return /* binding */ setup; },\n/* harmony export */ useSsrAdapter: function() { return /* binding */ useSsrAdapter; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\n\nconst ssrContextKey = Symbol('@css-render/vue3-ssr');\nfunction createStyleString(id, style) {\n return ``;\n}\nfunction ssrAdapter(id, style) {\n const ssrContext = (0,vue__WEBPACK_IMPORTED_MODULE_1__.inject)(ssrContextKey, null);\n if (ssrContext === null) {\n console.error('[css-render/vue3-ssr]: no ssr context found.');\n return;\n }\n const {\n styles,\n ids\n } = ssrContext;\n // we need to impl other options to make it behaves the same as the client side\n if (ids.has(id)) return;\n if (styles !== null) {\n ids.add(id);\n styles.push(createStyleString(id, style));\n }\n}\nconst isBrowser = typeof document !== 'undefined';\nfunction useSsrAdapter() {\n if (isBrowser) return undefined;\n const context = (0,vue__WEBPACK_IMPORTED_MODULE_1__.inject)(ssrContextKey, null);\n if (context === null) return undefined;\n return {\n adapter: ssrAdapter,\n context\n };\n}\nfunction setup(app) {\n const styles = [];\n const ssrContext = {\n styles,\n ids: new Set()\n };\n app.provide(ssrContextKey, ssrContext);\n return {\n collect() {\n const res = styles.join('\\n');\n styles.length = 0;\n return res;\n }\n };\n}\n\n//# sourceURL=webpack://classroom/./node_modules/@css-render/vue3-ssr/esm/index.js?"); /***/ }), /***/ "./node_modules/@emotion/hash/dist/hash.browser.esm.js": /*!*************************************************************!*\ !*** ./node_modules/@emotion/hash/dist/hash.browser.esm.js ***! \*************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^= /* k >>> r: */\n k >>> 24;\n h = /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n h ^= h >>> 13;\n h = /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (murmur2);\n\n//# sourceURL=webpack://classroom/./node_modules/@emotion/hash/dist/hash.browser.esm.js?"); /***/ }), /***/ "./node_modules/css-render/esm/CssRender.js": /*!**************************************************!*\ !*** ./node_modules/css-render/esm/CssRender.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CssRender: function() { return /* binding */ CssRender; }\n/* harmony export */ });\n/* harmony import */ var _c__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./c */ \"./node_modules/css-render/esm/c.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/css-render/esm/utils.js\");\n\n\nfunction CssRender(config = {}) {\n let styleSheet = null;\n const cssr = {\n c: (...args) => (0,_c__WEBPACK_IMPORTED_MODULE_0__.c)(cssr, ...args),\n use: (plugin, ...args) => plugin.install(cssr, ...args),\n find: _utils__WEBPACK_IMPORTED_MODULE_1__.queryElement,\n context: {},\n config,\n get __styleSheet() {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (!styleSheet) {\n const style = document.createElement('style');\n document.head.appendChild(style);\n styleSheet = document.styleSheets[document.styleSheets.length - 1];\n return styleSheet;\n }\n return styleSheet;\n }\n };\n return cssr;\n}\n\n//# sourceURL=webpack://classroom/./node_modules/css-render/esm/CssRender.js?"); /***/ }), /***/ "./node_modules/css-render/esm/c.js": /*!******************************************!*\ !*** ./node_modules/css-render/esm/c.js ***! \******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ c: function() { return /* binding */ c; }\n/* harmony export */ });\n/* harmony import */ var _render__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./render */ \"./node_modules/css-render/esm/render.js\");\n/* harmony import */ var _mount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mount */ \"./node_modules/css-render/esm/mount.js\");\n\n\nfunction wrappedRender(props) {\n return (0,_render__WEBPACK_IMPORTED_MODULE_0__.render)(this, this.instance, props);\n}\n// do not guard node calling, it should throw an error.\nfunction wrappedMount(options = {}\n// eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n) {\n const {\n id,\n ssr,\n props,\n head = false,\n silent = false,\n force = false,\n anchorMetaName\n } = options;\n const targetElement = (0,_mount__WEBPACK_IMPORTED_MODULE_1__.mount)(this.instance, this, id, props, head, silent, force, anchorMetaName, ssr);\n return targetElement;\n}\nfunction wrappedUnmount(options = {}) {\n /* istanbul ignore next */\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n const {\n id\n } = options;\n (0,_mount__WEBPACK_IMPORTED_MODULE_1__.unmount)(this.instance, this, id);\n}\nconst createCNode = function (instance, $, props, children) {\n return {\n instance,\n $,\n props,\n children,\n els: [],\n render: wrappedRender,\n mount: wrappedMount,\n unmount: wrappedUnmount\n };\n};\nconst c = function (instance, $, props, children) {\n if (Array.isArray($)) {\n return createCNode(instance, {\n $: null\n }, null, $);\n } else if (Array.isArray(props)) {\n return createCNode(instance, $, null, props);\n } else if (Array.isArray(children)) {\n return createCNode(instance, $, props, children);\n } else {\n return createCNode(instance, $, props, null);\n }\n};\n\n//# sourceURL=webpack://classroom/./node_modules/css-render/esm/c.js?"); /***/ }), /***/ "./node_modules/css-render/esm/mount.js": /*!**********************************************!*\ !*** ./node_modules/css-render/esm/mount.js ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mount: function() { return /* binding */ mount; },\n/* harmony export */ unmount: function() { return /* binding */ unmount; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hash */ \"./node_modules/@emotion/hash/dist/hash.browser.esm.js\");\n/* harmony import */ var _render__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./render */ \"./node_modules/css-render/esm/render.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/css-render/esm/utils.js\");\n\n/* eslint-disable @typescript-eslint/prefer-ts-expect-error */\n/* eslint-disable @typescript-eslint/strict-boolean-expressions */\n\n\n\nif (typeof window !== 'undefined') {\n window.__cssrContext = {};\n}\nfunction unmount(intance, node, id) {\n const {\n els\n } = node;\n // If id is undefined, unmount all styles\n if (id === undefined) {\n els.forEach(_utils__WEBPACK_IMPORTED_MODULE_1__.removeElement);\n node.els = [];\n } else {\n const target = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.queryElement)(id);\n // eslint-disable-next-line\n if (target && els.includes(target)) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.removeElement)(target);\n node.els = els.filter(el => el !== target);\n }\n }\n}\nfunction addElementToList(els, target) {\n els.push(target);\n}\nfunction mount(instance, node, id, props, head, silent, force, anchorMetaName, ssrAdapter\n// eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n) {\n if (silent && !ssrAdapter) {\n if (id === undefined) {\n // it is possible to use hash to get rid of the requirements of id\n // if you are interested in it, please create a pr\n // i have no time to impl it\n console.error('[css-render/mount]: `id` is required in `silent` mode.');\n return;\n }\n const cssrContext = window.__cssrContext;\n if (!cssrContext[id]) {\n cssrContext[id] = true;\n (0,_render__WEBPACK_IMPORTED_MODULE_2__.render)(node, instance, props, silent);\n }\n return;\n }\n let style;\n if (id === undefined) {\n style = node.render(props);\n id = (0,_hash__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(style);\n }\n if (ssrAdapter) {\n ssrAdapter.adapter(id, style !== null && style !== void 0 ? style : node.render(props));\n return;\n }\n const queriedTarget = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.queryElement)(id);\n if (queriedTarget !== null && !force) {\n return queriedTarget;\n }\n const target = queriedTarget !== null && queriedTarget !== void 0 ? queriedTarget : (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(id);\n if (style === undefined) style = node.render(props);\n target.textContent = style;\n if (queriedTarget !== null) return queriedTarget;\n if (anchorMetaName) {\n const anchorMetaEl = document.head.querySelector(`meta[name=\"${anchorMetaName}\"]`);\n if (anchorMetaEl) {\n document.head.insertBefore(target, anchorMetaEl);\n addElementToList(node.els, target);\n return target;\n }\n }\n if (head) {\n document.head.insertBefore(target, document.head.querySelector('style, link'));\n } else {\n document.head.appendChild(target);\n }\n addElementToList(node.els, target);\n return target;\n}\n\n\n//# sourceURL=webpack://classroom/./node_modules/css-render/esm/mount.js?"); /***/ }), /***/ "./node_modules/css-render/esm/parse.js": /*!**********************************************!*\ !*** ./node_modules/css-render/esm/parse.js ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseSelectorPath: function() { return /* binding */ parseSelectorPath; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction ampCount(selector) {\n let cnt = 0;\n for (let i = 0; i < selector.length; ++i) {\n if (selector[i] === '&') ++cnt;\n }\n return cnt;\n}\n/**\n * Don't just use ',' to separate css selector. For example:\n * x:(a, b) {} will be split into 'x:(a' and 'b)', which is not expected.\n * Make sure comma doesn't exist inside parentheses.\n */\nconst separatorRegex = /\\s*,(?![^(]*\\))\\s*/g;\nconst extraSpaceRegex = /\\s+/g;\n/**\n * selector must includes '&'\n * selector is trimmed\n * every part of amp is trimmed\n */\nfunction resolveSelectorWithAmp(amp, selector) {\n const nextAmp = [];\n selector.split(separatorRegex).forEach(partialSelector => {\n let round = ampCount(partialSelector);\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (!round) {\n amp.forEach(partialAmp => {\n nextAmp.push(\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n (partialAmp && partialAmp + ' ') + partialSelector);\n });\n return;\n } else if (round === 1) {\n amp.forEach(partialAmp => {\n nextAmp.push(partialSelector.replace('&', partialAmp));\n });\n return;\n }\n let partialNextAmp = [partialSelector];\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n while (round--) {\n const nextPartialNextAmp = [];\n partialNextAmp.forEach(selectorItr => {\n amp.forEach(partialAmp => {\n nextPartialNextAmp.push(selectorItr.replace('&', partialAmp));\n });\n });\n partialNextAmp = nextPartialNextAmp;\n }\n partialNextAmp.forEach(part => nextAmp.push(part));\n });\n return nextAmp;\n}\n/**\n * selector mustn't includes '&'\n * selector is trimmed\n */\nfunction resolveSelector(amp, selector) {\n const nextAmp = [];\n selector.split(separatorRegex).forEach(partialSelector => {\n amp.forEach(partialAmp => {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n nextAmp.push((partialAmp && partialAmp + ' ') + partialSelector);\n });\n });\n return nextAmp;\n}\nfunction parseSelectorPath(selectorPaths) {\n let amp = [''];\n selectorPaths.forEach(selector => {\n // eslint-disable-next-line\n selector = selector && selector.trim();\n if (\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n !selector) {\n /**\n * if it's a empty selector, do nothing\n */\n return;\n }\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (selector.includes('&')) {\n amp = resolveSelectorWithAmp(amp, selector);\n } else {\n amp = resolveSelector(amp, selector);\n }\n });\n return amp.join(', ').replace(extraSpaceRegex, ' ');\n}\n\n//# sourceURL=webpack://classroom/./node_modules/css-render/esm/parse.js?"); /***/ }), /***/ "./node_modules/css-render/esm/render.js": /*!***********************************************!*\ !*** ./node_modules/css-render/esm/render.js ***! \***********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _parse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parse */ \"./node_modules/css-render/esm/parse.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/css-render/esm/utils.js\");\n\n\n\nconst kebabRegex = /[A-Z]/g;\nfunction kebabCase(pattern) {\n return pattern.replace(kebabRegex, match => '-' + match.toLowerCase());\n}\n/** TODO: refine it to solve nested object */\nfunction unwrapProperty(prop, indent = ' ') {\n if (typeof prop === 'object' && prop !== null) {\n return ' {\\n' + Object.entries(prop).map(v => {\n return indent + ` ${kebabCase(v[0])}: ${v[1]};`;\n }).join('\\n') + '\\n' + indent + '}';\n }\n return `: ${prop};`;\n}\n/** unwrap properties */\nfunction unwrapProperties(props, instance, params) {\n if (typeof props === 'function') {\n return props({\n context: instance.context,\n props: params\n });\n }\n return props;\n}\nfunction createStyle(selector, props, instance, params) {\n if (!props) return '';\n // eslint-disable-next-line\n const unwrappedProps = unwrapProperties(props, instance, params);\n if (!unwrappedProps) return '';\n if (typeof unwrappedProps === 'string') {\n return `${selector} {\\n${unwrappedProps}\\n}`;\n }\n const propertyNames = Object.keys(unwrappedProps);\n if (propertyNames.length === 0) {\n if (instance.config.keepEmptyBlock) return selector + ' {\\n}';\n return '';\n }\n const statements = selector ? [selector + ' {'] : [];\n propertyNames.forEach(propertyName => {\n const property = unwrappedProps[propertyName];\n if (propertyName === 'raw') {\n statements.push('\\n' + property + '\\n');\n return;\n }\n propertyName = kebabCase(propertyName);\n if (property !== null && property !== undefined) {\n statements.push(` ${propertyName}${unwrapProperty(property)}`);\n }\n });\n if (selector) {\n statements.push('}');\n }\n return statements.join('\\n');\n}\nfunction loopCNodeListWithCallback(children, options, callback) {\n /* istanbul ignore if */\n if (!children) return;\n children.forEach(child => {\n if (Array.isArray(child)) {\n loopCNodeListWithCallback(child, options, callback);\n } else if (typeof child === 'function') {\n const grandChildren = child(options);\n if (Array.isArray(grandChildren)) {\n loopCNodeListWithCallback(grandChildren, options, callback);\n } else if (grandChildren) {\n callback(grandChildren);\n }\n } else if (child) {\n callback(child);\n }\n });\n}\nfunction traverseCNode(node, selectorPaths, styles, instance, params, styleSheet) {\n const $ = node.$;\n let blockSelector = '';\n if (!$ || typeof $ === 'string') {\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_1__.isMediaOrSupports)($)) {\n blockSelector = $;\n } else {\n // as a string selector\n selectorPaths.push($);\n }\n } else if (typeof $ === 'function') {\n const selector = $({\n context: instance.context,\n props: params\n });\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_1__.isMediaOrSupports)(selector)) {\n blockSelector = selector;\n } else {\n // as a lazy selector\n selectorPaths.push(selector);\n }\n } else {\n // as a option selector\n if ($.before) $.before(instance.context);\n if (!$.$ || typeof $.$ === 'string') {\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_1__.isMediaOrSupports)($.$)) {\n blockSelector = $.$;\n } else {\n // as a string selector\n selectorPaths.push($.$);\n }\n } else /* istanbul ignore else */if ($.$) {\n const selector = $.$({\n context: instance.context,\n props: params\n });\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_1__.isMediaOrSupports)(selector)) {\n blockSelector = selector;\n } else {\n // as a lazy selector\n selectorPaths.push(selector);\n }\n }\n }\n const selector = (0,_parse__WEBPACK_IMPORTED_MODULE_2__.parseSelectorPath)(selectorPaths);\n const style = createStyle(selector, node.props, instance, params);\n if (blockSelector) {\n styles.push(`${blockSelector} {`);\n if (styleSheet && style) {\n styleSheet.insertRule(`${blockSelector} {\\n${style}\\n}\\n`);\n }\n } else {\n if (styleSheet && style) {\n styleSheet.insertRule(style);\n }\n if (!styleSheet && style.length) styles.push(style);\n }\n if (node.children) {\n loopCNodeListWithCallback(node.children, {\n context: instance.context,\n props: params\n }, childNode => {\n if (typeof childNode === 'string') {\n const style = createStyle(selector, {\n raw: childNode\n }, instance, params);\n if (styleSheet) {\n styleSheet.insertRule(style);\n } else {\n styles.push(style);\n }\n } else {\n traverseCNode(childNode, selectorPaths, styles, instance, params, styleSheet);\n }\n });\n }\n selectorPaths.pop();\n if (blockSelector) {\n styles.push('}');\n }\n if ($ && $.after) $.after(instance.context);\n}\nfunction render(node, instance, props, insertRule = false) {\n const styles = [];\n traverseCNode(node, [], styles, instance, props, insertRule ? node.instance.__styleSheet : undefined);\n if (insertRule) return '';\n return styles.join('\\n\\n');\n}\n\n//# sourceURL=webpack://classroom/./node_modules/css-render/esm/render.js?"); /***/ }), /***/ "./node_modules/css-render/esm/utils.js": /*!**********************************************!*\ !*** ./node_modules/css-render/esm/utils.js ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createElement: function() { return /* binding */ createElement; },\n/* harmony export */ isMediaOrSupports: function() { return /* binding */ isMediaOrSupports; },\n/* harmony export */ queryElement: function() { return /* binding */ queryElement; },\n/* harmony export */ removeElement: function() { return /* binding */ removeElement; }\n/* harmony export */ });\nfunction removeElement(el) {\n /* istanbul ignore if */\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (!el) return;\n const parentElement = el.parentElement;\n /* istanbul ignore else */\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (parentElement) parentElement.removeChild(el);\n}\nfunction queryElement(id) {\n return document.querySelector(`style[cssr-id=\"${id}\"]`);\n}\nfunction createElement(id) {\n const el = document.createElement('style');\n el.setAttribute('cssr-id', id);\n return el;\n}\nfunction isMediaOrSupports(selector) {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (!selector) return false;\n return /^\\s*@(s|m)/.test(selector);\n}\n\n//# sourceURL=webpack://classroom/./node_modules/css-render/esm/utils.js?"); /***/ }), /***/ "./node_modules/evtd/es/delegate.js": /*!******************************************!*\ !*** ./node_modules/evtd/es/delegate.js ***! \******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ off: function() { return /* binding */ off; },\n/* harmony export */ on: function() { return /* binding */ on; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _traps__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./traps */ \"./node_modules/evtd/es/traps.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/evtd/es/utils.js\");\n\n\n\n// currently `once` and `passive` is not supported\nfunction createDelegate() {\n if (typeof window === 'undefined') {\n return {\n on: () => {},\n off: () => {}\n };\n }\n const propagationStopped = new WeakMap();\n const immediatePropagationStopped = new WeakMap();\n function trackPropagation() {\n propagationStopped.set(this, true);\n }\n function trackImmediate() {\n propagationStopped.set(this, true);\n immediatePropagationStopped.set(this, true);\n }\n function spy(event, propName, fn) {\n const source = event[propName];\n event[propName] = function () {\n fn.apply(event, arguments);\n return source.apply(event, arguments);\n };\n return event;\n }\n function unspy(event, propName) {\n event[propName] = Event.prototype[propName];\n }\n const currentTargets = new WeakMap();\n const currentTargetDescriptor = Object.getOwnPropertyDescriptor(Event.prototype, 'currentTarget');\n function getCurrentTarget() {\n var _a;\n return (_a = currentTargets.get(this)) !== null && _a !== void 0 ? _a : null;\n }\n function defineCurrentTarget(event, getter) {\n if (currentTargetDescriptor === undefined) return;\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n enumerable: true,\n get: getter !== null && getter !== void 0 ? getter : currentTargetDescriptor.get\n });\n }\n const phaseToTypeToElToHandlers = {\n bubble: {},\n capture: {}\n };\n const typeToWindowEventHandlers = {};\n function createUnifiedHandler() {\n const delegeteHandler = function (e) {\n const {\n type,\n eventPhase,\n bubbles\n } = e;\n const target = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.getEventTarget)(e);\n if (eventPhase === 2) return;\n const phase = eventPhase === 1 ? 'capture' : 'bubble';\n let cursor = target;\n const path = [];\n // collecting bubble path\n while (true) {\n if (cursor === null) cursor = window;\n path.push(cursor);\n if (cursor === window) {\n break;\n }\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n cursor = cursor.parentNode || null;\n }\n const captureElToHandlers = phaseToTypeToElToHandlers.capture[type];\n const bubbleElToHandlers = phaseToTypeToElToHandlers.bubble[type];\n spy(e, 'stopPropagation', trackPropagation);\n spy(e, 'stopImmediatePropagation', trackImmediate);\n defineCurrentTarget(e, getCurrentTarget);\n if (phase === 'capture') {\n if (captureElToHandlers === undefined) return;\n // capture\n for (let i = path.length - 1; i >= 0; --i) {\n if (propagationStopped.has(e)) break;\n const target = path[i];\n const handlers = captureElToHandlers.get(target);\n if (handlers !== undefined) {\n currentTargets.set(e, target);\n for (const handler of handlers) {\n if (immediatePropagationStopped.has(e)) break;\n handler(e);\n }\n }\n if (i === 0 && !bubbles && bubbleElToHandlers !== undefined) {\n const bubbleHandlers = bubbleElToHandlers.get(target);\n if (bubbleHandlers !== undefined) {\n for (const handler of bubbleHandlers) {\n if (immediatePropagationStopped.has(e)) break;\n handler(e);\n }\n }\n }\n }\n } else if (phase === 'bubble') {\n if (bubbleElToHandlers === undefined) return;\n // bubble\n for (let i = 0; i < path.length; ++i) {\n if (propagationStopped.has(e)) break;\n const target = path[i];\n const handlers = bubbleElToHandlers.get(target);\n if (handlers !== undefined) {\n currentTargets.set(e, target);\n for (const handler of handlers) {\n if (immediatePropagationStopped.has(e)) break;\n handler(e);\n }\n }\n }\n }\n unspy(e, 'stopPropagation');\n unspy(e, 'stopImmediatePropagation');\n defineCurrentTarget(e);\n };\n delegeteHandler.displayName = 'evtdUnifiedHandler';\n return delegeteHandler;\n }\n function createUnifiedWindowEventHandler() {\n const delegateHandler = function (e) {\n const {\n type,\n eventPhase\n } = e;\n if (eventPhase !== 2) return;\n const handlers = typeToWindowEventHandlers[type];\n if (handlers === undefined) return;\n handlers.forEach(handler => handler(e));\n };\n delegateHandler.displayName = 'evtdUnifiedWindowEventHandler';\n return delegateHandler;\n }\n const unifiedHandler = createUnifiedHandler();\n const unfiendWindowEventHandler = createUnifiedWindowEventHandler();\n function ensureElToHandlers(phase, type) {\n const phaseHandlers = phaseToTypeToElToHandlers[phase];\n if (phaseHandlers[type] === undefined) {\n phaseHandlers[type] = new Map();\n window.addEventListener(type, unifiedHandler, phase === 'capture');\n }\n return phaseHandlers[type];\n }\n function ensureWindowEventHandlers(type) {\n const windowEventHandlers = typeToWindowEventHandlers[type];\n if (windowEventHandlers === undefined) {\n typeToWindowEventHandlers[type] = new Set();\n window.addEventListener(type, unfiendWindowEventHandler);\n }\n return typeToWindowEventHandlers[type];\n }\n function ensureHandlers(elToHandlers, el) {\n let elHandlers = elToHandlers.get(el);\n if (elHandlers === undefined) {\n elToHandlers.set(el, elHandlers = new Set());\n }\n return elHandlers;\n }\n function handlerExist(el, phase, type, handler) {\n const elToHandlers = phaseToTypeToElToHandlers[phase][type];\n // phase ${type} event has handlers\n if (elToHandlers !== undefined) {\n const handlers = elToHandlers.get(el);\n // phase using el with ${type} event has handlers\n if (handlers !== undefined) {\n if (handlers.has(handler)) return true;\n }\n }\n return false;\n }\n function windowEventHandlerExist(type, handler) {\n const handlers = typeToWindowEventHandlers[type];\n if (handlers !== undefined) {\n if (handlers.has(handler)) {\n return true;\n }\n }\n return false;\n }\n function on(type, el, handler, options) {\n let mergedHandler;\n if (typeof options === 'object' && options.once === true) {\n mergedHandler = e => {\n off(type, el, mergedHandler, options);\n handler(e);\n };\n } else {\n mergedHandler = handler;\n }\n const trapped = (0,_traps__WEBPACK_IMPORTED_MODULE_2__.trapOn)(type, el, mergedHandler, options);\n if (trapped) return;\n const phase = options === true || typeof options === 'object' && options.capture === true ? 'capture' : 'bubble';\n const elToHandlers = ensureElToHandlers(phase, type);\n const handlers = ensureHandlers(elToHandlers, el);\n if (!handlers.has(mergedHandler)) handlers.add(mergedHandler);\n if (el === window) {\n const windowEventHandlers = ensureWindowEventHandlers(type);\n if (!windowEventHandlers.has(mergedHandler)) {\n windowEventHandlers.add(mergedHandler);\n }\n }\n }\n function off(type, el, handler, options) {\n const trapped = (0,_traps__WEBPACK_IMPORTED_MODULE_2__.trapOff)(type, el, handler, options);\n if (trapped) return;\n const capture = options === true || typeof options === 'object' && options.capture === true;\n const phase = capture ? 'capture' : 'bubble';\n const elToHandlers = ensureElToHandlers(phase, type);\n const handlers = ensureHandlers(elToHandlers, el);\n if (el === window) {\n const mirrorPhase = capture ? 'bubble' : 'capture';\n if (!handlerExist(el, mirrorPhase, type, handler) && windowEventHandlerExist(type, handler)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const windowEventHandlers = typeToWindowEventHandlers[type];\n windowEventHandlers.delete(handler);\n if (windowEventHandlers.size === 0) {\n window.removeEventListener(type, unfiendWindowEventHandler);\n typeToWindowEventHandlers[type] = undefined;\n }\n }\n }\n if (handlers.has(handler)) handlers.delete(handler);\n if (handlers.size === 0) {\n elToHandlers.delete(el);\n }\n if (elToHandlers.size === 0) {\n window.removeEventListener(type, unifiedHandler, phase === 'capture');\n phaseToTypeToElToHandlers[phase][type] = undefined;\n }\n }\n return {\n on: on,\n off: off\n };\n}\nconst {\n on,\n off\n} = createDelegate();\n\n\n//# sourceURL=webpack://classroom/./node_modules/evtd/es/delegate.js?"); /***/ }), /***/ "./node_modules/evtd/es/traps.js": /*!***************************************!*\ !*** ./node_modules/evtd/es/traps.js ***! \***************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ trapOff: function() { return /* binding */ trapOff; },\n/* harmony export */ trapOn: function() { return /* binding */ trapOn; }\n/* harmony export */ });\n/* harmony import */ var _delegate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./delegate */ \"./node_modules/evtd/es/delegate.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./node_modules/evtd/es/utils.js\");\n\n\nconst traps = {\n mousemoveoutside: new WeakMap(),\n clickoutside: new WeakMap()\n};\nfunction createTrapHandler(name, el, originalHandler) {\n if (name === 'mousemoveoutside') {\n const moveHandler = e => {\n if (el.contains((0,_utils__WEBPACK_IMPORTED_MODULE_0__.getEventTarget)(e))) return;\n originalHandler(e);\n };\n return {\n mousemove: moveHandler,\n touchstart: moveHandler\n };\n } else if (name === 'clickoutside') {\n let mouseDownOutside = false;\n const downHandler = e => {\n mouseDownOutside = !el.contains((0,_utils__WEBPACK_IMPORTED_MODULE_0__.getEventTarget)(e));\n };\n const upHanlder = e => {\n if (!mouseDownOutside) return;\n if (el.contains((0,_utils__WEBPACK_IMPORTED_MODULE_0__.getEventTarget)(e))) return;\n originalHandler(e);\n };\n return {\n mousedown: downHandler,\n mouseup: upHanlder,\n touchstart: downHandler,\n touchend: upHanlder\n };\n }\n console.error(\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `[evtd/create-trap-handler]: name \\`${name}\\` is invalid. This could be a bug of evtd.`);\n return {};\n}\nfunction ensureTrapHandlers(name, el, handler) {\n const handlers = traps[name];\n let elHandlers = handlers.get(el);\n if (elHandlers === undefined) {\n handlers.set(el, elHandlers = new WeakMap());\n }\n let trapHandler = elHandlers.get(handler);\n if (trapHandler === undefined) {\n elHandlers.set(handler, trapHandler = createTrapHandler(name, el, handler));\n }\n return trapHandler;\n}\nfunction trapOn(name, el, handler, options) {\n if (name === 'mousemoveoutside' || name === 'clickoutside') {\n const trapHandlers = ensureTrapHandlers(name, el, handler);\n Object.keys(trapHandlers).forEach(key => {\n (0,_delegate__WEBPACK_IMPORTED_MODULE_1__.on)(key, document, trapHandlers[key], options);\n });\n return true;\n }\n return false;\n}\nfunction trapOff(name, el, handler, options) {\n if (name === 'mousemoveoutside' || name === 'clickoutside') {\n const trapHandlers = ensureTrapHandlers(name, el, handler);\n Object.keys(trapHandlers).forEach(key => {\n (0,_delegate__WEBPACK_IMPORTED_MODULE_1__.off)(key, document, trapHandlers[key], options);\n });\n return true;\n }\n return false;\n}\n\n\n//# sourceURL=webpack://classroom/./node_modules/evtd/es/traps.js?"); /***/ }), /***/ "./node_modules/evtd/es/utils.js": /*!***************************************!*\ !*** ./node_modules/evtd/es/utils.js ***! \***************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEventTarget: function() { return /* binding */ getEventTarget; }\n/* harmony export */ });\nfunction getEventTarget(e) {\n const path = e.composedPath();\n return path[0];\n}\n\n//# sourceURL=webpack://classroom/./node_modules/evtd/es/utils.js?"); /***/ }), /***/ "./node_modules/seemly/es/animation/next-frame-once.js": /*!*************************************************************!*\ !*** ./node_modules/seemly/es/animation/next-frame-once.js ***! \*************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ beforeNextFrameOnce: function() { return /* binding */ beforeNextFrameOnce; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\nlet onceCbs = [];\nconst paramsMap = new WeakMap();\nfunction flushOnceCallbacks() {\n onceCbs.forEach(cb => cb(...paramsMap.get(cb)));\n onceCbs = [];\n}\nfunction beforeNextFrameOnce(cb, ...params) {\n paramsMap.set(cb, params);\n if (onceCbs.includes(cb)) return;\n onceCbs.push(cb) === 1 && requestAnimationFrame(flushOnceCallbacks);\n}\n\n\n//# sourceURL=webpack://classroom/./node_modules/seemly/es/animation/next-frame-once.js?"); /***/ }), /***/ "./node_modules/seemly/es/color/colors.js": /*!************************************************!*\ !*** ./node_modules/seemly/es/color/colors.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n black: '#000',\n silver: '#C0C0C0',\n gray: '#808080',\n white: '#FFF',\n maroon: '#800000',\n red: '#F00',\n purple: '#800080',\n fuchsia: '#F0F',\n green: '#008000',\n lime: '#0F0',\n olive: '#808000',\n yellow: '#FF0',\n navy: '#000080',\n blue: '#00F',\n teal: '#008080',\n aqua: '#0FF',\n transparent: '#0000'\n});\n\n//# sourceURL=webpack://classroom/./node_modules/seemly/es/color/colors.js?"); /***/ }), /***/ "./node_modules/seemly/es/color/convert.js": /*!*************************************************!*\ !*** ./node_modules/seemly/es/color/convert.js ***! \*************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hsl2hsv: function() { return /* binding */ hsl2hsv; },\n/* harmony export */ hsl2rgb: function() { return /* binding */ hsl2rgb; },\n/* harmony export */ hsv2hsl: function() { return /* binding */ hsv2hsl; },\n/* harmony export */ hsv2rgb: function() { return /* binding */ hsv2rgb; },\n/* harmony export */ rgb2hsl: function() { return /* binding */ rgb2hsl; },\n/* harmony export */ rgb2hsv: function() { return /* binding */ rgb2hsv; }\n/* harmony export */ });\n// All the algorithms credit to https://stackoverflow.com/questions/36721830/convert-hsl-to-rgb-and-hex/54014428#54014428\n// original author: Kamil Kiełczewski\n/**\n * @param h 360\n * @param s 100\n * @param l 100\n * @returns [h, s, v] 360, 100, 100\n */\nfunction hsl2hsv(h, s, l) {\n s /= 100;\n l /= 100;\n const v = s * Math.min(l, 1 - l) + l;\n return [h, v ? (2 - 2 * l / v) * 100 : 0, v * 100];\n}\n/**\n * @param h 360\n * @param s 100\n * @param v 100\n * @returns [h, s, l] 360, 100, 100\n */\nfunction hsv2hsl(h, s, v) {\n s /= 100;\n v /= 100;\n const l = v - v * s / 2;\n const m = Math.min(l, 1 - l);\n return [h, m ? (v - l) / m * 100 : 0, l * 100];\n}\n/**\n * @param h 360\n * @param s 100\n * @param v 100\n * @returns [r, g, b] 255, 255, 255\n */\nfunction hsv2rgb(h, s, v) {\n s /= 100;\n v /= 100;\n let f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5) * 255, f(3) * 255, f(1) * 255];\n}\n/**\n * @param r 255\n * @param g 255\n * @param b 255\n * @returns [360, 100, 100]\n */\nfunction rgb2hsv(r, g, b) {\n r /= 255;\n g /= 255;\n b /= 255;\n let v = Math.max(r, g, b),\n c = v - Math.min(r, g, b);\n let h = c && (v == r ? (g - b) / c : v == g ? 2 + (b - r) / c : 4 + (r - g) / c);\n return [60 * (h < 0 ? h + 6 : h), v && c / v * 100, v * 100];\n}\n/**\n * @param r 255\n * @param g 255\n * @param b 255\n * @returns [360, 100, 100]\n */\nfunction rgb2hsl(r, g, b) {\n r /= 255;\n g /= 255;\n b /= 255;\n let v = Math.max(r, g, b),\n c = v - Math.min(r, g, b),\n f = 1 - Math.abs(v + v - c - 1);\n let h = c && (v == r ? (g - b) / c : v == g ? 2 + (b - r) / c : 4 + (r - g) / c);\n return [60 * (h < 0 ? h + 6 : h), f ? c / f * 100 : 0, (v + v - c) * 50];\n}\n/**\n * @param h 360\n * @param s 100\n * @param l 100\n * @returns [255, 255, 255]\n */\nfunction hsl2rgb(h, s, l) {\n s /= 100;\n l /= 100;\n let a = s * Math.min(l, 1 - l);\n let f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0) * 255, f(8) * 255, f(4) * 255];\n}\n\n//# sourceURL=webpack://classroom/./node_modules/seemly/es/color/convert.js?"); /***/ }), /***/ "./node_modules/seemly/es/color/index.js": /*!***********************************************!*\ !*** ./node_modules/seemly/es/color/index.js ***! \***********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ changeColor: function() { return /* binding */ changeColor; },\n/* harmony export */ composite: function() { return /* binding */ composite; },\n/* harmony export */ getAlpha: function() { return /* binding */ getAlpha; },\n/* harmony export */ getAlphaString: function() { return /* binding */ getAlphaString; },\n/* harmony export */ hsl2hsv: function() { return /* reexport safe */ _convert__WEBPACK_IMPORTED_MODULE_1__.hsl2hsv; },\n/* harmony export */ hsl2rgb: function() { return /* reexport safe */ _convert__WEBPACK_IMPORTED_MODULE_1__.hsl2rgb; },\n/* harmony export */ hsla: function() { return /* binding */ hsla; },\n/* harmony export */ hsv2hsl: function() { return /* reexport safe */ _convert__WEBPACK_IMPORTED_MODULE_1__.hsv2hsl; },\n/* harmony export */ hsv2rgb: function() { return /* reexport safe */ _convert__WEBPACK_IMPORTED_MODULE_1__.hsv2rgb; },\n/* harmony export */ hsva: function() { return /* binding */ hsva; },\n/* harmony export */ rgb2hsl: function() { return /* reexport safe */ _convert__WEBPACK_IMPORTED_MODULE_1__.rgb2hsl; },\n/* harmony export */ rgb2hsv: function() { return /* reexport safe */ _convert__WEBPACK_IMPORTED_MODULE_1__.rgb2hsv; },\n/* harmony export */ rgba: function() { return /* binding */ rgba; },\n/* harmony export */ roundAlpha: function() { return /* binding */ roundAlpha; },\n/* harmony export */ roundChannel: function() { return /* binding */ roundChannel; },\n/* harmony export */ roundDeg: function() { return /* binding */ roundDeg; },\n/* harmony export */ roundPercent: function() { return /* binding */ roundPercent; },\n/* harmony export */ scaleColor: function() { return /* binding */ scaleColor; },\n/* harmony export */ toHexString: function() { return /* binding */ toHexString; },\n/* harmony export */ toHexaString: function() { return /* binding */ toHexaString; },\n/* harmony export */ toHslString: function() { return /* binding */ toHslString; },\n/* harmony export */ toHslaString: function() { return /* binding */ toHslaString; },\n/* harmony export */ toHsvString: function() { return /* binding */ toHsvString; },\n/* harmony export */ toHsvaString: function() { return /* binding */ toHsvaString; },\n/* harmony export */ toRgbString: function() { return /* binding */ toRgbString; },\n/* harmony export */ toRgbaString: function() { return /* binding */ toRgbaString; }\n/* harmony export */ });\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ \"./node_modules/seemly/es/color/colors.js\");\n/* harmony import */ var _convert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./convert */ \"./node_modules/seemly/es/color/convert.js\");\n\nconst prefix = '^\\\\s*';\nconst suffix = '\\\\s*$';\nconst percent = '\\\\s*((\\\\.\\\\d+)|(\\\\d+(\\\\.\\\\d*)?))%\\\\s*'; // 4 offset\nconst float = '\\\\s*((\\\\.\\\\d+)|(\\\\d+(\\\\.\\\\d*)?))\\\\s*'; // 4 offset\nconst hex = '([0-9A-Fa-f])';\nconst dhex = '([0-9A-Fa-f]{2})';\nconst hslRegex = new RegExp(`${prefix}hsl\\\\s*\\\\(${float},${percent},${percent}\\\\)${suffix}`);\nconst hsvRegex = new RegExp(`${prefix}hsv\\\\s*\\\\(${float},${percent},${percent}\\\\)${suffix}`);\nconst hslaRegex = new RegExp(`${prefix}hsla\\\\s*\\\\(${float},${percent},${percent},${float}\\\\)${suffix}`);\nconst hsvaRegex = new RegExp(`${prefix}hsva\\\\s*\\\\(${float},${percent},${percent},${float}\\\\)${suffix}`);\nconst rgbRegex = new RegExp(`${prefix}rgb\\\\s*\\\\(${float},${float},${float}\\\\)${suffix}`);\nconst rgbaRegex = new RegExp(`${prefix}rgba\\\\s*\\\\(${float},${float},${float},${float}\\\\)${suffix}`);\nconst sHexRegex = new RegExp(`${prefix}#${hex}${hex}${hex}${suffix}`);\nconst hexRegex = new RegExp(`${prefix}#${dhex}${dhex}${dhex}${suffix}`);\nconst sHexaRegex = new RegExp(`${prefix}#${hex}${hex}${hex}${hex}${suffix}`);\nconst hexaRegex = new RegExp(`${prefix}#${dhex}${dhex}${dhex}${dhex}${suffix}`);\nfunction parseHex(value) {\n return parseInt(value, 16);\n}\n/**\n * Convert color string to hsla array\n * @param color format like hsl(180, 100%, 100%), hsla(180, 100%, 100%, 1)\n * @returns\n */\nfunction hsla(color) {\n try {\n let i;\n if (i = hslaRegex.exec(color)) {\n return [roundDeg(i[1]), roundPercent(i[5]), roundPercent(i[9]), roundAlpha(i[13])];\n } else if (i = hslRegex.exec(color)) {\n return [roundDeg(i[1]), roundPercent(i[5]), roundPercent(i[9]), 1];\n }\n throw new Error(`[seemly/hsla]: Invalid color value ${color}.`);\n } catch (e) {\n throw e;\n }\n}\n/**\n * Convert color string to hsva array\n * @param color format like hsv(180, 100%, 100%), hsva(180, 100%, 100%, 1)\n * @returns\n */\nfunction hsva(color) {\n try {\n let i;\n if (i = hsvaRegex.exec(color)) {\n return [roundDeg(i[1]), roundPercent(i[5]), roundPercent(i[9]), roundAlpha(i[13])];\n } else if (i = hsvRegex.exec(color)) {\n return [roundDeg(i[1]), roundPercent(i[5]), roundPercent(i[9]), 1];\n }\n throw new Error(`[seemly/hsva]: Invalid color value ${color}.`);\n } catch (e) {\n throw e;\n }\n}\n/**\n * Convert color string to rgba array.\n * @param color format like #000[0], #000000[00], rgb(0, 0, 0), rgba(0, 0, 0, 0) and basic color keywords https://www.w3.org/TR/css-color-3/#html4 and transparent\n * @returns\n */\nfunction rgba(color) {\n try {\n let i;\n if (i = hexRegex.exec(color)) {\n return [parseHex(i[1]), parseHex(i[2]), parseHex(i[3]), 1];\n } else if (i = rgbRegex.exec(color)) {\n return [roundChannel(i[1]), roundChannel(i[5]), roundChannel(i[9]), 1];\n } else if (i = rgbaRegex.exec(color)) {\n return [roundChannel(i[1]), roundChannel(i[5]), roundChannel(i[9]), roundAlpha(i[13])];\n } else if (i = sHexRegex.exec(color)) {\n return [parseHex(i[1] + i[1]), parseHex(i[2] + i[2]), parseHex(i[3] + i[3]), 1];\n } else if (i = hexaRegex.exec(color)) {\n return [parseHex(i[1]), parseHex(i[2]), parseHex(i[3]), roundAlpha(parseHex(i[4]) / 255)];\n } else if (i = sHexaRegex.exec(color)) {\n return [parseHex(i[1] + i[1]), parseHex(i[2] + i[2]), parseHex(i[3] + i[3]), roundAlpha(parseHex(i[4] + i[4]) / 255)];\n } else if (color in _colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n return rgba(_colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"][color]);\n }\n throw new Error(`[seemly/rgba]: Invalid color value ${color}.`);\n } catch (e) {\n throw e;\n }\n}\nfunction normalizeAlpha(alphaValue) {\n return alphaValue > 1 ? 1 : alphaValue < 0 ? 0 : alphaValue;\n}\nfunction stringifyRgb(r, g, b) {\n return `rgb(${roundChannel(r)}, ${roundChannel(g)}, ${roundChannel(b)})`;\n}\nfunction stringifyRgba(r, g, b, a) {\n return `rgba(${roundChannel(r)}, ${roundChannel(g)}, ${roundChannel(b)}, ${normalizeAlpha(a)})`;\n}\nfunction compositeChannel(v1, a1, v2, a2, a) {\n return roundChannel((v1 * a1 * (1 - a2) + v2 * a2) / a);\n}\nfunction composite(background, overlay) {\n if (!Array.isArray(background)) background = rgba(background);\n if (!Array.isArray(overlay)) overlay = rgba(overlay);\n const a1 = background[3];\n const a2 = overlay[3];\n const alpha = roundAlpha(a1 + a2 - a1 * a2);\n return stringifyRgba(compositeChannel(background[0], a1, overlay[0], a2, alpha), compositeChannel(background[1], a1, overlay[1], a2, alpha), compositeChannel(background[2], a1, overlay[2], a2, alpha), alpha);\n}\nfunction changeColor(base, options) {\n const [r, g, b, a = 1] = Array.isArray(base) ? base : rgba(base);\n if (options.alpha) {\n return stringifyRgba(r, g, b, options.alpha);\n }\n return stringifyRgba(r, g, b, a);\n}\nfunction scaleColor(base, options) {\n const [r, g, b, a = 1] = Array.isArray(base) ? base : rgba(base);\n const {\n lightness = 1,\n alpha = 1\n } = options;\n return toRgbaString([r * lightness, g * lightness, b * lightness, a * alpha]);\n}\nfunction getAlpha(base) {\n var _a;\n const alpha = (_a = (Array.isArray(base) ? base : rgba(base))[3]) !== null && _a !== void 0 ? _a : 1;\n return alpha;\n}\nfunction getAlphaString(base) {\n return `${getAlpha(base)}`;\n}\nfunction roundAlpha(value) {\n const v = Math.round(Number(value) * 100) / 100;\n if (v > 1) return 1;\n if (v < 0) return 0;\n return v;\n}\nfunction roundDeg(value) {\n const v = Math.round(Number(value));\n if (v >= 360) return 0;\n if (v < 0) return 0;\n return v;\n}\nfunction roundChannel(value) {\n const v = Math.round(Number(value));\n if (v > 255) return 255;\n if (v < 0) return 0;\n return v;\n}\nfunction roundPercent(value) {\n const v = Math.round(Number(value));\n if (v > 100) return 100;\n if (v < 0) return 0;\n return v;\n}\nfunction toRgbString(base) {\n const [r, g, b] = Array.isArray(base) ? base : rgba(base);\n return stringifyRgb(r, g, b);\n}\nfunction toRgbaString(base) {\n const [r, g, b] = base;\n if (3 in base) {\n return `rgba(${roundChannel(r)}, ${roundChannel(g)}, ${roundChannel(b)}, ${roundAlpha(base[3])})`;\n }\n return `rgba(${roundChannel(r)}, ${roundChannel(g)}, ${roundChannel(b)}, 1)`;\n}\nfunction toHsvString(base) {\n return `hsv(${roundDeg(base[0])}, ${roundPercent(base[1])}%, ${roundPercent(base[2])}%)`;\n}\nfunction toHsvaString(base) {\n const [h, s, v] = base;\n if (3 in base) {\n return `hsva(${roundDeg(h)}, ${roundPercent(s)}%, ${roundPercent(v)}%, ${roundAlpha(base[3])})`;\n }\n return `hsva(${roundDeg(h)}, ${roundPercent(s)}%, ${roundPercent(v)}%, 1)`;\n}\nfunction toHslString(base) {\n return `hsl(${roundDeg(base[0])}, ${roundPercent(base[1])}%, ${roundPercent(base[2])}%)`;\n}\nfunction toHslaString(base) {\n const [h, s, l] = base;\n if (3 in base) {\n return `hsla(${roundDeg(h)}, ${roundPercent(s)}%, ${roundPercent(l)}%, ${roundAlpha(base[3])})`;\n }\n return `hsla(${roundDeg(h)}, ${roundPercent(s)}%, ${roundPercent(l)}%, 1)`;\n}\n/**\n *\n * @param base [255, 255, 255, 255], [255, 255, 255], any hex string\n * @returns\n */\nfunction toHexaString(base) {\n if (typeof base === 'string') {\n let i;\n if (i = hexRegex.exec(base)) {\n return `${i[0]}FF`;\n } else if (i = hexaRegex.exec(base)) {\n return i[0];\n } else if (i = sHexRegex.exec(base)) {\n return `#${i[1]}${i[1]}${i[2]}${i[2]}${i[3]}${i[3]}FF`;\n } else if (i = sHexaRegex.exec(base)) {\n return `#${i[1]}${i[1]}${i[2]}${i[2]}${i[3]}${i[3]}${i[4]}${i[4]}`;\n }\n throw new Error(`[seemly/toHexString]: Invalid hex value ${base}.`);\n }\n const hex = `#${base.slice(0, 3).map(unit => roundChannel(unit).toString(16).toUpperCase().padStart(2, '0')).join('')}`;\n const a = base.length === 3 ? 'FF' : roundChannel(base[3] * 255).toString(16).padStart(2, '0').toUpperCase();\n return hex + a;\n}\n/**\n *\n * @param base [255, 255, 255, 255], [255, 255, 255], any hex string\n * @returns\n */\nfunction toHexString(base) {\n if (typeof base === 'string') {\n let i;\n if (i = hexRegex.exec(base)) {\n return i[0];\n } else if (i = hexaRegex.exec(base)) {\n return i[0].slice(0, 7);\n } else if (i = sHexRegex.exec(base) || sHexaRegex.exec(base)) {\n return `#${i[1]}${i[1]}${i[2]}${i[2]}${i[3]}${i[3]}`;\n }\n throw new Error(`[seemly/toHexString]: Invalid hex value ${base}.`);\n }\n return `#${base.slice(0, 3).map(unit => roundChannel(unit).toString(16).toUpperCase().padStart(2, '0')).join('')}`;\n}\n\n\n//# sourceURL=webpack://classroom/./node_modules/seemly/es/color/index.js?"); /***/ }), /***/ "./node_modules/tcplayer.js/dist/tcplayer.v4.9.1.min.js": /*!**************************************************************!*\ !*** ./node_modules/tcplayer.js/dist/tcplayer.v4.9.1.min.js ***! \**************************************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { eval("__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");__webpack_require__(/*! core-js/modules/es.typed-array.to-reversed.js */ \"./node_modules/core-js/modules/es.typed-array.to-reversed.js\");__webpack_require__(/*! core-js/modules/es.typed-array.to-sorted.js */ \"./node_modules/core-js/modules/es.typed-array.to-sorted.js\");__webpack_require__(/*! core-js/modules/es.typed-array.with.js */ \"./node_modules/core-js/modules/es.typed-array.with.js\");__webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ \"./node_modules/core-js/modules/web.url-search-params.delete.js\");__webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ \"./node_modules/core-js/modules/web.url-search-params.has.js\");__webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ \"./node_modules/core-js/modules/web.url-search-params.size.js\");__webpack_require__(/*! core-js/modules/web.dom-exception.stack.js */ \"./node_modules/core-js/modules/web.dom-exception.stack.js\");!function(t,e){ true?module.exports=e():0;}(this,function(){function unwrapExports(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t[\"default\"]:t;}function createCommonjsModule(t,e){return e={exports:{}},t(e,e.exports),e.exports;}function each(t,e){keys(t).forEach(function(n){return e(t[n],n);});}function reduce(t,e){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;return keys(t).reduce(function(n,i){return e(n,t[i],i);},n);}function assign(t){for(var e=arguments.length,n=Array(e>1?e-1:0),i=1;i0&&arguments[0]!==undefined?arguments[0]:\"div\",e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},i=arguments[3],r=document_1.createElement(t);return Object.getOwnPropertyNames(e).forEach(function(t){var n=e[t];-1!==t.indexOf(\"aria-\")||\"role\"===t||\"type\"===t?(log$2.warn(tsml(_templateObject,t,n)),r.setAttribute(t,n)):\"textContent\"===t?textContent(r,n):r[t]=n;}),Object.getOwnPropertyNames(n).forEach(function(t){r.setAttribute(t,n[t]);}),i&&appendContent(r,i),r;}function textContent(t,e){return\"undefined\"==typeof t.textContent?t.innerText=e:t.textContent=e,t;}function prependTo(t,e){e.firstChild?e.insertBefore(t,e.firstChild):e.appendChild(t);}function hasClass(t,e){return throwIfWhitespace(e),t.classList?t.classList.contains(e):classRegExp(e).test(t.className);}function addClass(t,e){return t.classList?t.classList.add(e):hasClass(t,e)||(t.className=(t.className+\" \"+e).trim()),t;}function removeClass(t,e){return t.classList?t.classList.remove(e):(throwIfWhitespace(e),t.className=t.className.split(/\\s+/).filter(function(t){return t!==e;}).join(\" \")),t;}function toggleClass(t,e,n){var i=hasClass(t,e);if(\"function\"==typeof n&&(n=n(t,e)),\"boolean\"!=typeof n&&(n=!i),n!==i)return n?addClass(t,e):removeClass(t,e),t;}function setAttributes(t,e){Object.getOwnPropertyNames(e).forEach(function(n){var i=e[n];null===i||void 0===i||!1===i?t.removeAttribute(n):t.setAttribute(n,!0===i?\"\":i);});}function getAttributes(t){var e={};if(t&&t.attributes&&t.attributes.length>0)for(var n=t.attributes,i=n.length-1;i>=0;i--){var r=n[i].name,o=n[i].value;\"boolean\"!=typeof t[r]&&-1===\",autoplay,controls,playsinline,loop,muted,default,defaultMuted,\".indexOf(\",\"+r+\",\")||(o=null!==o),e[r]=o;}return e;}function getAttribute(t,e){return t.getAttribute(e);}function setAttribute(t,e,n){t.setAttribute(e,n);}function removeAttribute(t,e){t.removeAttribute(e);}function blockTextSelection(){document_1.body.focus(),document_1.onselectstart=function(){return!1;};}function unblockTextSelection(){document_1.onselectstart=function(){return!0;};}function getBoundingClientRect(t){if(t&&t.getBoundingClientRect&&t.parentNode){var e=t.getBoundingClientRect(),n={};return[\"bottom\",\"height\",\"left\",\"right\",\"top\",\"width\"].forEach(function(t){e[t]!==undefined&&(n[t]=e[t]);}),n.height||(n.height=parseFloat(computedStyle(t,\"height\"))),n.width||(n.width=parseFloat(computedStyle(t,\"width\"))),n;}}function findPosition(t){var e=void 0;if(t.getBoundingClientRect&&t.parentNode&&(e=t.getBoundingClientRect()),!e)return{left:0,top:0};var n=document_1.documentElement,i=document_1.body,r=n.clientLeft||i.clientLeft||0,o=window_1.pageXOffset||i.scrollLeft,s=e.left+o-r,a=n.clientTop||i.clientTop||0,l=window_1.pageYOffset||i.scrollTop,c=e.top+l-a;return{left:Math.round(s),top:Math.round(c)};}function getPointerPosition(t,e,n){var i={},r=findPosition(t),o=t.offsetWidth,s=t.offsetHeight,a=r.top,l=r.left,c=e.pageY,u=e.pageX;if(e.changedTouches&&(u=e.changedTouches[0].pageX,c=e.changedTouches[0].pageY),n){var h=[c,u];u=h[0],c=h[1];}return i.y=Math.max(0,Math.min(1,(a-c+s)/s)),i.x=Math.max(0,Math.min(1,(u-l)/o)),i;}function isTextNode(t){return isObject$1(t)&&3===t.nodeType;}function emptyEl(t){for(;t.firstChild;)t.removeChild(t.firstChild);return t;}function normalizeContent(t){return\"function\"==typeof t&&(t=t()),(Array.isArray(t)?t:[t]).map(function(t){return\"function\"==typeof t&&(t=t()),isEl(t)||isTextNode(t)?t:\"string\"==typeof t&&/\\S/.test(t)?document_1.createTextNode(t):void 0;}).filter(function(t){return t;});}function appendContent(t,e){return normalizeContent(e).forEach(function(e){return t.appendChild(e);}),t;}function insertContent(t,e){return appendContent(emptyEl(t),e);}function isSingleLeftClick(t){return t.button===undefined&&t.buttons===undefined||0===t.button&&t.buttons===undefined||9===IE_VERSION||0===t.button&&1===t.buttons;}function newGUID(){return _guid++;}function getData(t){var e=t[elIdAttr];return e||(e=t[elIdAttr]=newGUID()),elData[e]||(elData[e]={}),elData[e];}function hasData(t){var e=t[elIdAttr];return!!e&&!!Object.getOwnPropertyNames(elData[e]).length;}function removeData(t){var e=t[elIdAttr];if(e){delete elData[e];try{delete t[elIdAttr];}catch(n){t.removeAttribute?t.removeAttribute(elIdAttr):t[elIdAttr]=null;}}}function _cleanUpEvents(t,e){var n=getData(t);0===n.handlers[e].length&&(delete n.handlers[e],t.removeEventListener?t.removeEventListener(e,n.dispatcher,!1):t.detachEvent&&t.detachEvent(\"on\"+e,n.dispatcher)),Object.getOwnPropertyNames(n.handlers).length<=0&&(delete n.handlers,delete n.dispatcher,delete n.disabled),0===Object.getOwnPropertyNames(n).length&&removeData(t);}function _handleMultipleEvents(t,e,n,i){n.forEach(function(n){t(e,n,i);});}function fixEvent(t){function e(){return!0;}function n(){return!1;}if(!t||!t.isPropagationStopped){var i=t||window_1.event;t={};for(var r in i)\"layerX\"!==r&&\"layerY\"!==r&&\"keyLocation\"!==r&&\"webkitMovementX\"!==r&&\"webkitMovementY\"!==r&&(\"returnValue\"===r&&i.preventDefault||(t[r]=i[r]));if(t.target||(t.target=t.srcElement||document_1),t.relatedTarget||(t.relatedTarget=t.fromElement===t.target?t.toElement:t.fromElement),t.preventDefault=function(){i.preventDefault&&i.preventDefault(),t.returnValue=!1,i.returnValue=!1,t.defaultPrevented=!0;},t.defaultPrevented=!1,t.stopPropagation=function(){i.stopPropagation&&i.stopPropagation(),t.cancelBubble=!0,i.cancelBubble=!0,t.isPropagationStopped=e;},t.isPropagationStopped=n,t.stopImmediatePropagation=function(){i.stopImmediatePropagation&&i.stopImmediatePropagation(),t.isImmediatePropagationStopped=e,t.stopPropagation();},t.isImmediatePropagationStopped=n,null!==t.clientX&&t.clientX!==undefined){var o=document_1.documentElement,s=document_1.body;t.pageX=t.clientX+(o&&o.scrollLeft||s&&s.scrollLeft||0)-(o&&o.clientLeft||s&&s.clientLeft||0),t.pageY=t.clientY+(o&&o.scrollTop||s&&s.scrollTop||0)-(o&&o.clientTop||s&&s.clientTop||0);}t.which=t.charCode||t.keyCode,null!==t.button&&t.button!==undefined&&(t.button=1&t.button?0:4&t.button?1:2&t.button?2:0);}return t;}function on(t,e,n){if(Array.isArray(e))return _handleMultipleEvents(on,t,e,n);var i=getData(t);if(i.handlers||(i.handlers={}),i.handlers[e]||(i.handlers[e]=[]),n.guid||(n.guid=newGUID()),i.handlers[e].push(n),i.dispatcher||(i.disabled=!1,i.dispatcher=function(e,n){if(!i.disabled){e=fixEvent(e);var r=i.handlers[e.type];if(r)for(var o=r.slice(0),s=0,a=o.length;s-1&&(r={passive:!0}),t.addEventListener(e,i.dispatcher,r);}else t.attachEvent&&t.attachEvent(\"on\"+e,i.dispatcher);}function off(t,e,n){if(hasData(t)){var i=getData(t);if(i.handlers){if(Array.isArray(e))return _handleMultipleEvents(off,t,e,n);var r=function(t,e){i.handlers[e]=[],_cleanUpEvents(t,e);};if(e!==undefined){var o=i.handlers[e];if(o){if(!n)return void r(t,e);if(n.guid)for(var s=0;s1&&arguments[1]!==undefined?arguments[1]:{},n=e.eventBusKey;if(n){if(!t[n].nodeName)throw new Error('The eventBusKey \"'+n+'\" does not refer to an element.');t.eventBusEl_=t[n];}else t.eventBusEl_=createEl(\"span\",{className:\"vjs-event-bus\"});return assign(t,EventedMixin),t.on(\"dispose\",function(){t.off(),window_1.setTimeout(function(){t.eventBusEl_=null;},0);}),t;}function stateful(t,e){return assign(t,StatefulMixin),t.state=assign({},t.state,e),\"function\"==typeof t.handleStateChanged&&isEvented(t)&&t.on(\"statechanged\",t.handleStateChanged),t;}function toTitleCase(t){return\"string\"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1);}function titleCaseEquals(t,e){return toTitleCase(t)===toTitleCase(e);}function mergeOptions(){for(var t={},e=arguments.length,n=Array(e),i=0;i-1;}function listCacheSet(t,e){var n=this.__data__,i=_assocIndexOf(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this;}function ListCache(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1)t=t.replace(\".sdp\",\".flv\"),e.push(t.replace(\".sdp\",\".m3u8\"));else{var n=t.replace(\"webrtc://\",\"https://\").replace(\"?\",\".flv?\");-1===n.indexOf(\"?\")&&-1===n.indexOf(\".flv\")&&(n+=\".flv\"),hlsSrc=t.replace(\"webrtc://\",\"https://\").replace(\"?\",\".m3u8?\"),-1===hlsSrc.indexOf(\"?\")&&-1===hlsSrc.indexOf(\".m3u8\")&&(hlsSrc+=\".m3u8\"),e.push(hlsSrc);}return e;}function replaceHost(t,e){var n=/^http(s)?:\\/\\/(.*?)\\//,i=t.match(n);return t.replace(i[2],e);}function getViewportSize(){var t=document,e=t.documentElement,n=t.body;return{width:e&&e.clientWidth||n&&n.offsetWidth||window.innerWidth||0,height:e&&e.clientHeight||n&&n.offsetHeight||window.innerHeight||0};}function getTimeStamp(){return new Date().getTime();}function getTimeStampBySecond(){return Date.parse(new Date())/1e3;}function loadCssText(t,e){var n=document.getElementById(t);if(n)n.innerHTML=e;else{var i=document.createElement(\"style\");i.id=t,i.type=\"text/css\",i.appendChild(document.createTextNode(e)),document.getElementsByTagName(\"head\")[0].appendChild(i);}}function releaseCssText(t){var e=document.getElementById(t);e&&e.remove();}function loadScript(t,e,n){var i=arguments.length>3&&arguments[3]!==undefined&&arguments[3],r=document.createElement(\"script\");if(r.onload=r.onreadystatechange=function(){this.readyState&&\"loaded\"!==this.readyState&&\"complete\"!==this.readyState||(\"function\"==typeof e&&e(),r.onload=r.onreadystatechange=null,r.parentNode&&!i&&r.parentNode.removeChild(r));},n)for(var o in n)if(n.hasOwnProperty(o)){var s=n[o];null===s?r.removeAttribute(s):r.setAttribute(o,s);}r.src=t,document.getElementsByTagName(\"head\")[0].appendChild(r);}function serializeParams(t){var e=[],n=function(t,n){n=\"function\"==typeof n?n():n,n=null===n?\"\":n===undefined?\"\":n,e[e.length]=encodeURIComponent(t)+\"=\"+encodeURIComponent(n);};return function i(t,r){var o=void 0,s=void 0,a=void 0;if(t){if(Array.isArray(r))for(o=0,s=r.length;o/g,\">\").replace(/\\\"/g,\""\").replace(/\\'/g,\"'\").replace(/\\//g,\"/\"):\"\";}function isWebrtcUrl(t){return /webrtc:\\/\\//.test(t)||/\\.sdp/.test(t);}function getperformance(){return window.performance||window.msPerformance||window.webkitPerformance||{};}function arrangeWebrtcSource(t,e){var n=getParams(\"tabr_bitrates\",t),i=getParams(\"tabr_start_bitrate\",t),r=\"auto\"===getParams(\"tabr_control\",t);t=t.replace(\"&tabr_control=auto\",\"\");var o=[],s=[];if(n&&i){if(s=n.split(\",\").map(function(n){var r,s=e.webrtcConfig.abrLabels[n]||n;return o.push(s),r={},r[s]=[{src:t.replace(\"tabr_start_bitrate=\"+i,\"tabr_start_bitrate=\"+n)}],r;}),r){var a;s.push((a={},a[e.webrtcConfig.abrLabels.auto||\"AUTO\"]=[{src:t+\"&tabr_control=auto\"}],a)),o.push(e.webrtcConfig.abrLabels.auto||\"AUTO\");}var l={};s.forEach(function(t){for(var e in t)l[e]=t[e];}),e.showOrder=o,e.defaultRes=r?e.webrtcConfig.abrLabels.auto||\"AUTO\":e.webrtcConfig.abrLabels[i]||i||o[0];var c={};o.forEach(function(t){c[t]=e.webrtcConfig.abrLabels[t]||t;}),e.labels=c,e.label=c,e.sources=[],e.multiResolution={sources:l};}}function rangeCheck(t,e,n){if(\"number\"!=typeof e||e<0||e>n)throw new Error(\"Failed to execute '\"+t+\"' on 'TimeRanges': The index provided (\"+e+\") is non-numeric or out of bounds (0-\"+n+\").\");}function getRange(t,e,n,i){return rangeCheck(t,i,n.length-1),n[i][e];}function createTimeRangesObj(t){return t===undefined||0===t.length?{length:0,start:function(){throw new Error(\"This TimeRanges object is empty\");},end:function(){throw new Error(\"This TimeRanges object is empty\");}}:{length:t.length,start:getRange.bind(null,\"start\",0,t),end:getRange.bind(null,\"end\",1,t)};}function createTimeRanges(t,e){return Array.isArray(t)?createTimeRangesObj(t):t===undefined||e===undefined?createTimeRangesObj():createTimeRangesObj([[t,e]]);}function bufferedPercent(t,e){var n=0,i=void 0,r=void 0;if(!e)return 0;t&&t.length||(t=createTimeRanges(0,0));for(var o=0;oe&&(r=e),n+=r-i;return n/e;}function MediaError(t){if(t instanceof MediaError)return t;\"number\"==typeof t?this.code=t:\"string\"==typeof t?this.message=t:isObject$1(t)&&(\"number\"==typeof t.code&&(this.code=t.code),assign(this,t)),this.message||(this.message=MediaError.defaultMessages[this.code]||\"\");}function SafeParseTuple(t,e){var n,i=null;try{n=JSON.parse(t,e);}catch(r){i=r;}return[i,n];}function isPromise(t){return t!==undefined&&\"function\"==typeof t.then;}function silencePromise(t){isPromise(t)&&t.then(null,function(t){});}function isFunction$3(t){if(!t)return!1;var e=toString$3.call(t);return\"[object Function]\"===e||\"function\"==typeof t&&\"[object RegExp]\"!==e||\"undefined\"!=typeof window&&(t===window.setTimeout||t===window.alert||t===window.confirm||t===window.prompt);}function extend$1(){for(var t={},e=0;e0&&(u=setTimeout(function(){if(!c){c=!0,a.abort(\"timeout\");var t=new Error(\"XMLHttpRequest timeout\");t.code=\"ETIMEDOUT\",i(t);}},t.timeout)),a.setRequestHeader)for(l in f)f.hasOwnProperty(l)&&a.setRequestHeader(l,f[l]);else if(t.headers&&!isEmpty(t.headers))throw new Error(\"Headers cannot be set on an XDomainRequest object\");return\"responseType\"in t&&(a.responseType=t.responseType),\"beforeSend\"in t&&\"function\"==typeof t.beforeSend&&t.beforeSend(a),a.send(d||null),a;}function getXml(t){if(\"document\"===t.responseType)return t.responseXML;var e=t.responseXML&&\"parsererror\"===t.responseXML.documentElement.nodeName;return\"\"!==t.responseType||e?null:t.responseXML;}function noop(){}function ParsingError(t,e){this.name=\"ParsingError\",this.code=t.code,this.message=e||t.message;}function parseTimeStamp(t){function e(t,e,n,i){return 3600*(0|t)+60*(0|e)+(0|n)+(0|i)/1e3;}var n=t.match(/^(\\d+):(\\d{2})(:\\d{2})?\\.(\\d{3})/);return n?n[3]?e(n[1],n[2],n[3].replace(\":\",\"\"),n[4]):n[1]>59?e(n[1],n[2],0,n[4]):e(0,n[1],n[2],n[4]):null;}function Settings(){this.values=_objCreate(null);}function parseOptions(t,e,n,i){var r=i?t.split(i):[t];for(var o in r)if(\"string\"==typeof r[o]){var s=r[o].split(n);if(2===s.length){var a=s[0],l=s[1];e(a,l);}}}function parseCue(t,e,n){function i(){var e=parseTimeStamp(t);if(null===e)throw new ParsingError(ParsingError.Errors.BadTimeStamp,\"Malformed timestamp: \"+o);return t=t.replace(/^[^\\sa-zA-Z-]+/,\"\"),e;}function r(){t=t.replace(/^\\s+/,\"\");}var o=t;if(r(),e.startTime=i(),r(),\"--\\x3e\"!==t.substr(0,3))throw new ParsingError(ParsingError.Errors.BadTimeStamp,\"Malformed time stamp (time stamps must be separated by '--\\x3e'): \"+o);t=t.substr(3),r(),e.endTime=i(),r(),function(t,e){var i=new Settings();parseOptions(t,function(t,e){switch(t){case\"region\":for(var r=n.length-1;r>=0;r--)if(n[r].id===e){i.set(t,n[r].region);break;}break;case\"vertical\":i.alt(t,e,[\"rl\",\"lr\"]);break;case\"line\":var o=e.split(\",\"),s=o[0];i.integer(t,s),i.percent(t,s)&&i.set(\"snapToLines\",!1),i.alt(t,s,[\"auto\"]),2===o.length&&i.alt(\"lineAlign\",o[1],[\"start\",\"middle\",\"end\"]);break;case\"position\":o=e.split(\",\"),i.percent(t,o[0]),2===o.length&&i.alt(\"positionAlign\",o[1],[\"start\",\"middle\",\"end\"]);break;case\"size\":i.percent(t,e);break;case\"align\":i.alt(t,e,[\"start\",\"middle\",\"end\",\"left\",\"right\"]);}},/:/,/\\s/),e.region=i.get(\"region\",null),e.vertical=i.get(\"vertical\",\"\"),e.line=i.get(\"line\",\"auto\"),e.lineAlign=i.get(\"lineAlign\",\"start\"),e.snapToLines=i.get(\"snapToLines\",!0),e.size=i.get(\"size\",100),e.align=i.get(\"align\",\"middle\"),e.position=i.get(\"position\",{start:0,left:0,middle:50,end:100,right:100},e.align),e.positionAlign=i.get(\"positionAlign\",{start:\"start\",left:\"start\",middle:\"middle\",end:\"end\",right:\"end\"},e.align);}(t,e);}function parseContent(t,e){function n(t){return ESCAPE[t];}for(var i,r=t.document.createElement(\"div\"),o=r,s=[];null!==(i=function(){if(!e)return null;var t=e.match(/^([^<]*)(<[^>]+>?)?/);return function(t){return e=e.substr(t.length),t;}(t[1]?t[1]:t[2]);}());)if(\"<\"!==i[0])o.appendChild(t.document.createTextNode(function(t){for(;c=t.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)t=t.replace(c[0],n);return t;}(i)));else{if(\"/\"===i[1]){s.length&&s[s.length-1]===i.substr(2).replace(\">\",\"\")&&(s.pop(),o=o.parentNode);continue;}var a,l=parseTimeStamp(i.substr(1,i.length-2));if(l){a=t.document.createProcessingInstruction(\"timestamp\",l),o.appendChild(a);continue;}var c=i.match(/^<([^.\\s\\/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/);if(!c)continue;if(!(a=function(e,n){var i=TAG_NAME[e];if(!i)return null;var r=t.document.createElement(i);r.localName=i;var o=TAG_ANNOTATION[e];return o&&n&&(r[o]=n.trim()),r;}(c[1],c[3])))continue;if(!function(t,e){return!NEEDS_PARENT[e.localName]||NEEDS_PARENT[e.localName]===t.localName;}(o,a))continue;c[2]&&(a.className=c[2].substr(1).replace(\".\",\" \")),s.push(c[1]),o.appendChild(a),o=a;}return r;}function isStrongRTLChar(t){for(var e=0;e=n[0]&&t<=n[1])return!0;}return!1;}function determineBidi(t){function e(t,e){for(var n=e.childNodes.length-1;n>=0;n--)t.push(e.childNodes[n]);}function n(t){if(!t||!t.length)return null;var i=t.pop(),r=i.textContent||i.innerText;if(r){var o=r.match(/^.*(\\n|\\r)/);return o?(t.length=0,o[0]):r;}return\"ruby\"===i.tagName?n(t):i.childNodes?(e(t,i),n(t)):void 0;}var i,r=[],o=\"\";if(!t||!t.childNodes)return\"ltr\";for(e(r,t);o=n(r);)for(var s=0;s=0&&t.line<=100))return t.line;if(!t.track||!t.track.textTrackList||!t.track.textTrackList.mediaElement)return-1;for(var e=t.track,n=e.textTrackList,i=0,r=0;rh&&(u=u<0?-1:1,u*=Math.ceil(h/c)*c),s<0&&(u+=\"\"===o.vertical?n.height:n.width,a=a.reverse()),r.move(p,u);}else{var d=r.lineHeight/n.height*100;switch(o.lineAlign){case\"middle\":s-=d/2;break;case\"end\":s-=d;}switch(o.vertical){case\"\":e.applyStyles({top:e.formatStyle(s,\"%\")});break;case\"rl\":e.applyStyles({left:e.formatStyle(s,\"%\")});break;case\"lr\":e.applyStyles({right:e.formatStyle(s,\"%\")});}a=[\"+y\",\"-x\",\"+x\",\"-y\"],r=new BoxPosition(e);}var f=function(t,e){for(var r,o=new BoxPosition(t),s=1,a=0;al&&(r=new BoxPosition(t),s=l),t=new BoxPosition(o);}return r||o;}(r,a);e.move(f.toCSSCompatValues(n));}function WebVTT$1(){}function findDirectionSetting(t){return\"string\"==typeof t&&!!directionSetting[t.toLowerCase()]&&t.toLowerCase();}function findAlignSetting(t){return\"string\"==typeof t&&!!alignSetting[t.toLowerCase()]&&t.toLowerCase();}function extend$2(t){for(var e=1;e100)throw new Error(\"Position must be between 0 and 100.\");y=t,this.hasBeenReset=!0;}})),Object.defineProperty(i,\"positionAlign\",extend$2({},o,{get:function(){return m;},set:function(t){var e=findAlignSetting(t);if(!e)throw new SyntaxError(\"An invalid or illegal string was specified.\");m=e,this.hasBeenReset=!0;}})),Object.defineProperty(i,\"size\",extend$2({},o,{get:function(){return v;},set:function(t){if(t<0||t>100)throw new Error(\"Size must be between 0 and 100.\");v=t,this.hasBeenReset=!0;}})),Object.defineProperty(i,\"align\",extend$2({},o,{get:function(){return _;},set:function(t){var e=findAlignSetting(t);if(!e)throw new SyntaxError(\"An invalid or illegal string was specified.\");_=e,this.hasBeenReset=!0;}})),i.displayState=undefined,r)return i;}function findScrollSetting(t){return\"string\"==typeof t&&!!scrollSetting[t.toLowerCase()]&&t.toLowerCase();}function isValidPercentValue(t){return\"number\"==typeof t&&t>=0&&t<=100;}function VTTRegion(){var t=100,e=3,n=0,i=100,r=0,o=100,s=\"\";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return t;},set:function(e){if(!isValidPercentValue(e))throw new Error(\"Width must be between 0 and 100.\");t=e;}},lines:{enumerable:!0,get:function(){return e;},set:function(t){if(\"number\"!=typeof t)throw new TypeError(\"Lines must be set to a number.\");e=t;}},regionAnchorY:{enumerable:!0,get:function(){return i;},set:function(t){if(!isValidPercentValue(t))throw new Error(\"RegionAnchorX must be between 0 and 100.\");i=t;}},regionAnchorX:{enumerable:!0,get:function(){return n;},set:function(t){if(!isValidPercentValue(t))throw new Error(\"RegionAnchorY must be between 0 and 100.\");n=t;}},viewportAnchorY:{enumerable:!0,get:function(){return o;},set:function(t){if(!isValidPercentValue(t))throw new Error(\"ViewportAnchorY must be between 0 and 100.\");o=t;}},viewportAnchorX:{enumerable:!0,get:function(){return r;},set:function(t){if(!isValidPercentValue(t))throw new Error(\"ViewportAnchorX must be between 0 and 100.\");r=t;}},scroll:{enumerable:!0,get:function(){return s;},set:function(t){var e=findScrollSetting(t);if(!1===e)throw new SyntaxError(\"An invalid or illegal string was specified.\");s=e;}}});}function createTrackHelper(t,e,n,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{},o=t.textTracks();r.kind=e,n&&(r.label=n),i&&(r.language=i),r.tech=t;var s=new ALL.text.TrackClass(r);return o.addTrack(s),s;}function use(t,e){middlewares[t]=middlewares[t]||[],middlewares[t].push(e);}function setSource(t,e,n){t.setTimeout(function(){return setSourceHelper(e,middlewares[e.type],n,t);},1);}function setTech(t,e){t.forEach(function(t){return t.setTech&&t.setTech(e);});}function get$3(t,e,n){return t.reduceRight(middlewareIterator(n),e[n]());}function set$1(t,e,n,i){return e[n](t.reduce(middlewareIterator(n),i));}function middlewareIterator(t){return function(e,n){return n[t]?n[t](e):e;};}function setSourceHelper(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[],n=arguments[2],i=arguments[3],r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:[],o=arguments.length>5&&arguments[5]!==undefined&&arguments[5],s=e[0],a=e.slice(1);if(\"string\"==typeof s)setSourceHelper(t,middlewares[s],n,i,r,o);else if(s){var l=s(i);l.setSource(assign({},t),function(e,s){if(e)return setSourceHelper(t,a,n,i,r,o);r.push(l),setSourceHelper(s,t.type===s.type?a:middlewares[s.type],n,i,r,o);});}else a.length?setSourceHelper(t,a,n,i,r,o):o?n(t,r):setSourceHelper(t,middlewares[\"*\"],n,i,r,!0);}function constructColor(t,e){return\"rgba(\"+parseInt(t[1]+t[1],16)+\",\"+parseInt(t[2]+t[2],16)+\",\"+parseInt(t[3]+t[3],16)+\",\"+e+\")\";}function tryUpdateStyle(t,e,n){try{t.style[e]=n;}catch(i){return;}}function formatTime(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:t;t=t<0?0:t;var n=Math.floor(t%60),i=Math.floor(t/60%60),r=Math.floor(t/3600),o=Math.floor(e/60%60),s=Math.floor(e/3600);return(isNaN(t)||t===Infinity)&&(r=i=n=\"-\"),r=r>0||s>0?r+\":\":\"\",i=((r||o>=10)&&i<10?\"0\"+i:i)+\":\",n=n<10?\"0\"+n:n,r+i+n;}function formatDate(t,e){if(!t)return\"\";var n=new Date(t),i=n.getFullYear(),r=n.getMonth()+1,o=n.getDate(),s=n.getHours(),a=n.getMinutes();n.getSeconds();return i+\"/\"+r+\"/\"+o+\" \"+s+\":\"+(a<10?\"0\"+a:a);}function parseOptionValue(t,e){if(e&&(t=e(t)),t&&\"none\"!==t)return t;}function getSelectedOptionValue(t,e){return parseOptionValue(t.options[t.options.selectedIndex].value,e);}function setSelectedOption(t,e,n){if(e)for(var i=0;i0?e.join(\"=\"):undefined;o=o===undefined?null:decodeUriComponent(o),n(decodeUriComponent(r),o,i);}),Object.keys(i).sort().reduce(function(t,e){var n=i[e];return Boolean(n)&&\"object\"==typeof n&&!Array.isArray(n)?t[e]=keysSorter(n):t[e]=n,t;},Object.create(null))):i;}function jsonp(t,e,n){function i(){c.parentNode&&c.parentNode.removeChild(c),window[a]=\"\",u&&clearTimeout(u);}function r(){window[a]&&i();}\"function\"==typeof e&&(n=e,e={}),e||(e={});var o,s=e.prefix||\"__jp\",a=e.name||s+count++,l=e.funcKey||\"callback\";o=\"object\"==_typeof(e.param)?queryString.stringify(e.param):e.param;var c,u,h=null!=e.timeout?e.timeout:6e3,p=encodeURIComponent,d=document.getElementsByTagName(\"script\")[0]||document.head;return h&&(u=setTimeout(function(){i(),n&&n(new Error(\"Timeout\"));},h)),window[a]=function(t){i(),n&&n(null,t);},t+=(~t.indexOf(\"?\")?\"&\":\"?\")+o+\"&\"+l+\"=\"+p(a),t=t.replace(\"?&\",\"?\"),c=document.createElement(\"script\"),c.setAttribute(\"src\",t),c.setAttribute(\"async\",!0),c.onload=function(t){},c.onreadystatechange=function(){\"loaded\"===this.readyState&&window[a]&&(i(),n&&n(new Error(\"ServerError\")));},c.onerror=function(t){i(),n&&n(new Error(\"ServerError\"));},d.parentNode.insertBefore(c,d),r;}function mountHlsProvider(t){if(videojs.browser.IS_IOS&&videojs.browser.IS_MQQ||videojs.browser.IS_UC)return!1;if(videojs.browser.IS_ENABLED_MSE||videojs.browser.IS_SIMULATOR||t)try{var e=videojs.getTech&&videojs.getTech(\"Html5\");e&&e.registerSourceHandler(HlsSourceHandler,0);}catch(n){}}function handlePlaybackMetadataLoaded(t,e){function n(t){return\"dash-audio-\"+t;}function i(t,e){return t.find(function(t){return n(t.index)===e.id;});}var r=t.dash.mediaPlayer,o=r.getTracksFor(\"audio\"),s=t.audioTracks();s.length&&e.clearTracks([\"audio\"]);var a=r.getCurrentTrackFor(\"audio\");o.forEach(function(t){var e=t.lang;t.roles&&t.roles.length&&(e+=\" (\"+t.roles.join(\", \")+\")\"),s.addTrack(new videojs.AudioTrack({enabled:t===a,id:n(t.index),kind:t.kind||\"main\",label:e,language:t.lang}));});var l=function(){for(var t=0;t0&&arguments[0]!==undefined?arguments[0]:0,e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:\"fill\",n=t,i=\"draw-\"+e;return['\\n \\n \\n ','\\n \\n \\n ','\\n \\n \\n '][n];}function trimmedEndIndex(t){for(var e=t.length;e--&&reWhitespace.test(t.charAt(e)););return e;}function baseTrim(t){return t?t.slice(0,_trimmedEndIndex(t)+1).replace(reTrimStart,\"\"):t;}function toNumber(t){if(\"number\"==typeof t)return t;if(isSymbol_1(t))return NAN;if(isObject_1(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=isObject_1(e)?e+\"\":e;}if(\"string\"!=typeof t)return 0===t?t:+t;t=_baseTrim(t);var n=reIsBinary.test(t);return n||reIsOctal.test(t)?freeParseInt(t.slice(2),n?2:8):reIsBadHex.test(t)?NAN:+t;}function debounce(t,e,n){function i(e){var n=p,i=d;return p=d=undefined,v=e,g=t.apply(i,n);}function r(t){return v=t,y=setTimeout(a,e),_?i(t):g;}function o(t){var n=t-m,i=t-v,r=e-n;return b?nativeMin(r,f-i):r;}function s(t){var n=t-m,i=t-v;return m===undefined||n>=e||n<0||b&&i>=f;}function a(){var t=now_1();if(s(t))return l(t);y=setTimeout(a,o(t));}function l(t){return y=undefined,T&&p?i(t):(p=d=undefined,g);}function c(){y!==undefined&&clearTimeout(y),v=0,p=m=d=y=undefined;}function u(){return y===undefined?g:l(now_1());}function h(){var t=now_1(),n=s(t);if(p=arguments,d=this,m=t,n){if(y===undefined)return r(m);if(b)return clearTimeout(y),y=setTimeout(a,e),i(m);}return y===undefined&&(y=setTimeout(a,e)),g;}var p,d,f,g,y,m,v=0,_=!1,b=!1,T=!0;if(\"function\"!=typeof t)throw new TypeError(FUNC_ERROR_TEXT$2);return e=toNumber_1(e)||0,isObject_1(n)&&(_=!!n.leading,b=\"maxWait\"in n,f=b?nativeMax(toNumber_1(n.maxWait)||0,e):f,T=\"trailing\"in n?!!n.trailing:T),h.cancel=c,h.flush=u,h;}function throttle$1(t,e,n){var i=!0,r=!0;if(\"function\"!=typeof t)throw new TypeError(FUNC_ERROR_TEXT$1);return isObject_1(n)&&(i=\"leading\"in n?!!n.leading:i,r=\"trailing\"in n?!!n.trailing:r),debounce_1(t,e,{leading:i,maxWait:e,trailing:r});}function mountFlvProvider(t){if(videojs.browser.IS_IOS&&videojs.browser.IS_MQQ)return!1;if(!videojs.browser.IS_TBS&&!videojs.browser.IS_MQQB&&(!IS_IOS||!videojs.browser.IS_SAFARI)&&!videojs.browser.IE_VERSION||t)try{var e=videojs.getTech&&videojs.getTech(\"Html5\");e&&e.registerSourceHandler(FlvSourceHandler,0);}catch(n){}}function mountWebRTCProvider(t){if(!videojs.browser.isWebRTCSupported())return!1;try{var e=videojs.getTech&&videojs.getTech(\"Html5\");e&&e.registerSourceHandler(sourceHandler,0);}catch(n){}}function FlashRtmpDecorator(t){return t.streamingFormats={\"rtmp/mp4\":\"MP4\",\"rtmp/flv\":\"FLV\"},t.streamFromParts=function(t,e){return t+\"&\"+e;},t.streamToParts=function(t){var e={connection:\"\",stream:\"\"};if(!t)return e;var n=t.search(/&(?!\\w+=)/),i=void 0;return-1!==n?i=n+1:0===(n=i=t.lastIndexOf(\"/\")+1)&&(n=i=t.length),e.connection=t.substring(0,n),e.stream=t.substring(i,t.length),e;},t.isStreamingType=function(e){return e in t.streamingFormats;},t.RTMP_RE=/^rtmp[set]?:\\/\\//i,t.isStreamingSrc=function(e){return t.RTMP_RE.test(e);},t.rtmpSourceHandler={},t.rtmpSourceHandler.canPlayType=function(e){return t.isStreamingType(e)?\"maybe\":\"\";},t.rtmpSourceHandler.canHandleSource=function(e,n){var i=t.rtmpSourceHandler.canPlayType(e.type);return i||(t.isStreamingSrc(e.src)?\"maybe\":\"\");},t.rtmpSourceHandler.handleSource=function(e,n,i){var r=t.streamToParts(e.src);n.setRtmpConnection(r.connection),n.setRtmpStream(r.stream);},t.registerSourceHandler(t.rtmpSourceHandler),t;}function _createSetter(t){var e=t.charAt(0).toUpperCase()+t.slice(1);_api[\"set\"+e]=function(e){return this.el_.vjs_setProperty(t,e);};}function _createGetter(t){_api[t]=function(){return this.el_.vjs_getProperty(t);};}function TCPlayer(t,e,n){var i=void 0,r=new Date().getTime(),o=videojs.dom;if(\"string\"==typeof t)i=document.querySelector(\"#\"+t);else{if(!t||!t.nodeName)throw new TypeError(\"The ID or element supplied is not valid.\");i=t;}if(\"video\"!=i.nodeName.toLowerCase()&&\"audio\"!=i.nodeName.toLowerCase())throw new TypeError(\"The element type must be