kplayer-ts 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,402 @@
1
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`:root{--balloon-border-radius:2px;--balloon-color:#101010f2;--balloon-text-color:#fff;--balloon-font-size:12px;--balloon-move:4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{cursor:pointer;position:relative}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;text-indent:0;text-shadow:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-style:normal;font-weight:400;font-size:var(--balloon-font-size);background:var(--balloon-color);color:var(--balloon-text-color);border-radius:2px;border-radius:var(--balloon-border-radius);content:attr(aria-label);white-space:nowrap;z-index:10;padding:.5em 1em;transition:all .18s ease-out .18s;position:absolute}[aria-label][data-balloon-pos]:before{border:5px solid #0000;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;content:"";z-index:10;width:0;height:0;transition:all .18s ease-out .18s;position:absolute}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{transform-origin:top;transform:translate(0, var(--balloon-move));bottom:100%}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{transform:translate(-50%, var(--balloon-move));left:50%}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{transform:translate(0, calc(var(--balloon-move) * -1));top:100%}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{border:5px solid #0000;border-bottom-color:var(--balloon-color);width:0;height:0}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{transform:translate(-50%, calc(var(--balloon-move) * -1));left:50%}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{transform:translate(var(--balloon-move), -50%);top:50%;right:100%}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{border:5px solid #0000;border-left-color:var(--balloon-color);width:0;height:0}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{transform:translate(calc(var(--balloon-move) * -1), -50%);top:50%;left:100%}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{border:5px solid #0000;border-right-color:var(--balloon-color);width:0;height:0}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (width<=768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}@keyframes my-face{2%{transform:translateY(1.5px)rotate(1.5deg)}4%{transform:translateY(-1.5px)rotate(-.5deg)}6%{transform:translateY(1.5px)rotate(-1.5deg)}8%{transform:translateY(-1.5px)rotate(-1.5deg)}10%{transform:translateY(2.5px)rotate(1.5deg)}12%{transform:translateY(-.5px)rotate(1.5deg)}14%{transform:translateY(-1.5px)rotate(1.5deg)}16%{transform:translateY(-.5px)rotate(-1.5deg)}18%{transform:translateY(.5px)rotate(-1.5deg)}20%{transform:translateY(-1.5px)rotate(2.5deg)}22%{transform:translateY(.5px)rotate(-1.5deg)}24%{transform:translateY(1.5px)rotate(1.5deg)}26%{transform:translateY(.5px)rotate(.5deg)}28%{transform:translateY(.5px)rotate(1.5deg)}30%{transform:translateY(-.5px)rotate(2.5deg)}32%{transform:translateY(1.5px)rotate(-.5deg)}34%{transform:translateY(1.5px)rotate(-.5deg)}36%{transform:translateY(-1.5px)rotate(2.5deg)}38%{transform:translateY(1.5px)rotate(-1.5deg)}40%{transform:translateY(-.5px)rotate(2.5deg)}42%{transform:translateY(2.5px)rotate(-1.5deg)}44%{transform:translateY(1.5px)rotate(.5deg)}46%{transform:translateY(-1.5px)rotate(2.5deg)}48%{transform:translateY(-.5px)rotate(.5deg)}50%{transform:translateY(.5px)rotate(.5deg)}52%{transform:translateY(2.5px)rotate(2.5deg)}54%{transform:translateY(-1.5px)rotate(1.5deg)}56%{transform:translateY(2.5px)rotate(2.5deg)}58%{transform:translateY(.5px)rotate(2.5deg)}60%{transform:translateY(2.5px)rotate(2.5deg)}62%{transform:translateY(-.5px)rotate(2.5deg)}64%{transform:translateY(-.5px)rotate(1.5deg)}66%{transform:translateY(1.5px)rotate(-.5deg)}68%{transform:translateY(-1.5px)rotate(-.5deg)}70%{transform:translateY(1.5px)rotate(.5deg)}72%{transform:translateY(2.5px)rotate(1.5deg)}74%{transform:translateY(-.5px)rotate(.5deg)}76%{transform:translateY(-.5px)rotate(2.5deg)}78%{transform:translateY(-.5px)rotate(1.5deg)}80%{transform:translateY(1.5px)rotate(1.5deg)}82%{transform:translateY(-.5px)rotate(.5deg)}84%{transform:translateY(1.5px)rotate(2.5deg)}86%{transform:translateY(-1.5px)rotate(-1.5deg)}88%{transform:translateY(-.5px)rotate(2.5deg)}90%{transform:translateY(2.5px)rotate(-.5deg)}92%{transform:translateY(.5px)rotate(-.5deg)}94%{transform:translateY(2.5px)rotate(.5deg)}96%{transform:translateY(-.5px)rotate(1.5deg)}98%{transform:translateY(-1.5px)rotate(-.5deg)}0%,to{transform:translate(0)rotate(0)}}.kplayer{-webkit-user-select:none;user-select:none;aspect-ratio:16/9;background-color:#000;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1;position:relative;overflow:hidden}.kplayer *{box-sizing:content-box}.kplayer :focus-visible{outline-offset:-2px;border-radius:3px;outline:2px solid #fff}.kplayer svg{fill:#fff;width:100%;height:100%}.kplayer svg path,.kplayer svg circle{fill:#fff}.kplayer svg[stroke] path,.kplayer svg[stroke] circle,.kplayer svg[stroke] line,.kplayer svg[stroke] polyline,.kplayer svg[stroke] rect{stroke:#fff;fill:none}.kplayer svg[stroke] path[fill=none][stroke=none]{stroke:none}.kplayer:-webkit-full-screen{z-index:100000;background:#000;width:100%;height:100%;margin:0;padding:0;position:fixed;top:0;left:0;transform:translate(0)}.kplayer.kplayer-no-awaken .kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box .kplayer-setting-showdan,.kplayer.kplayer-no-awaken .kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box .kplayer-setting-awaken,.kplayer.kplayer-no-awaken .kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box .kplayer-setting-danunlimit,.kplayer.kplayer-no-awaken .kplayer-awaken,.kplayer.kplayer-live .kplayer-time,.kplayer.kplayer-live .kplayer-bar-wrap,.kplayer.kplayer-live .kplayer-setting-speed,.kplayer.kplayer-live .kplayer-setting-loop,.kplayer.kplayer-live.kplayer-no-awaken .kplayer-setting{display:none}.kplayer.kplayer-arrow .kplayer-awaken{font-size:18px}.kplayer.kplayer-arrow .kplayer-icon{margin:0 -3px}.kplayer.kplayer-playing .kplayer-awaken .kplayer-awaken-move{animation-play-state:running}.kplayer.kplayer-loading .kplayer-bezel .diplayer-loading-icon{display:block}.kplayer.kplayer-loading .kplayer-awaken,.kplayer.kplayer-paused .kplayer-awaken,.kplayer.kplayer-loading .kplayer-awaken-move,.kplayer.kplayer-paused .kplayer-awaken-move{animation-play-state:paused}.kplayer.kplayer-hide-controller{cursor:none}.kplayer.kplayer-hide-controller .kplayer-controller-mask,.kplayer.kplayer-hide-controller .kplayer-controller{opacity:0;transform:translateY(100%)}.kplayer.kplayer-hide-controller .kplayer-title-bar{opacity:0;visibility:hidden}.kplayer.kplayer-hide-controller .kplayer-mobile-controls{opacity:0;visibility:hidden;pointer-events:none}.kplayer.kplayer-show-controller .kplayer-controller-mask,.kplayer.kplayer-show-controller .kplayer-controller{opacity:1}.kplayer.kplayer-fulled{z-index:100000;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;position:fixed;top:0;left:0;width:100%!important;height:100dvh!important}.kplayer.kplayer-mobile .kplayer-icons-center{display:none!important}.kplayer.kplayer-mobile .kplayer-controller .kplayer-icons .kplayer-volume,.kplayer.kplayer-mobile .kplayer-controller .kplayer-icons .kplayer-camera-icon,.kplayer.kplayer-mobile .kplayer-controller .kplayer-icons .kplayer-airplay-icon,.kplayer.kplayer-mobile .kplayer-controller .kplayer-icons .kplayer-chromecast-icon,.kplayer.kplayer-mobile .kplayer-controller .kplayer-icons .kplayer-play-icon{display:none}.kplayer.kplayer-mobile .kplayer-controller .kplayer-icons .kplayer-full-in-icon,.kplayer.kplayer-mobile .kplayer-controller .kplayer-icons .kplayer-full-icon{display:inline-block}.kplayer.kplayer-mobile .kplayer-title-bar{max-width:none;top:8px;left:44px;right:8px}.kplayer.kplayer-mobile .kplayer-title-bar .kplayer-title-main{font-size:14px}.kplayer.kplayer-mobile .kplayer-title-bar .kplayer-title-desc{font-size:12px}.kplayer.kplayer-mobile .kplayer-bar-time,.kplayer.kplayer-mobile.kplayer-hide-controller .kplayer-mobile-controls{display:none}.kplayer.kplayer-mobile .kplayer-mobile-controls{display:flex}.kplayer .kplayer-mobile-controls{z-index:1;align-items:center;gap:36px;transition:opacity .3s,visibility .3s;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.kplayer .kplayer-mobile-controls button{cursor:pointer;background:#00000073;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;width:52px;height:52px;padding:0;transition:background .15s,transform .12s;display:flex}.kplayer .kplayer-mobile-controls button:active{background:#0000009e;transform:scale(.9)}.kplayer .kplayer-mobile-controls button svg{fill:#fff;stroke:#fff;width:26px;height:26px;display:block}.kplayer .kplayer-mobile-controls button svg path{fill:#fff}.kplayer .kplayer-mobile-controls .kplayer-mobile-play-btn{width:64px;height:64px}.kplayer .kplayer-mobile-controls .kplayer-mobile-play-btn svg{width:32px;height:32px}.kplayer .kplayer-mobile-play{display:none!important}.kplayer-web-fullscreen-fix{margin:0;padding:0;position:fixed;top:0;left:0}.kplayer-ad-playing .kplayer-controller{opacity:0!important;pointer-events:none!important;visibility:hidden!important}.kplayer-ad-playing .kplayer-controller-mask{opacity:0!important;pointer-events:none!important}.kplayer-ad-playing .kplayer-title-bar,.kplayer-ad-playing .kplayer-back{opacity:0!important;visibility:hidden!important;pointer-events:none!important}[data-balloon]:before{display:none}[data-balloon]:after{background:#111111b3;padding:.3em .7em}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0}.kplayer-bezel{color:#fff;pointer-events:none;font-size:22px;position:absolute;inset:0}.kplayer-bezel .kplayer-bezel-icon{box-sizing:border-box;opacity:0;pointer-events:none;background:#00000080;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;padding:12px;position:absolute;top:50%;left:50%}.kplayer-bezel .kplayer-bezel-icon.kplayer-bezel-transition{animation:.5s linear bezel-hide}@keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.kplayer-bezel .kplayer-danloading{text-align:center;width:100%;margin-top:-7px;font-size:14px;line-height:14px;animation:5s ease-in-out infinite my-face;position:absolute;top:50%}.kplayer-bezel .diplayer-loading-icon{pointer-events:none;width:36px;height:36px;margin:-18px 0 0 -18px;display:none;position:absolute;top:50%;left:50%}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{opacity:0;transform-origin:4px 4px;animation:.8s infinite diplayer-loading-dot-fade}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{animation-delay:.1s}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{animation-delay:.2s}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{animation-delay:.3s}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{animation-delay:.4s}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{animation-delay:.5s}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{animation-delay:.6s}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{animation-delay:.7s}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2)}50%{opacity:.25;transform:scale(.9)}to{opacity:.25;transform:scale(.85)}}.kplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) bottom repeat-x;width:100%;height:98px;transition:all .15s;position:absolute;bottom:0}.kplayer-back{z-index:90;cursor:pointer;opacity:1;visibility:visible;pointer-events:all;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:10px;left:15px}.kplayer-back .kplayer-title-back-btn{cursor:pointer;opacity:1;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:opacity .15s;display:flex}.kplayer-back .kplayer-title-back-btn:hover{opacity:1}.kplayer-back .kplayer-title-back-btn svg{fill:#fff;display:block;width:22px!important;height:22px!important}.kplayer-back .kplayer-title-back-btn svg path{fill:#fff}@media (width<=768px){.kplayer-back{width:24px;height:24px;top:8px;left:10px}.kplayer-back .kplayer-title-back-btn{width:24px;height:24px}.kplayer-back .kplayer-title-back-btn svg{width:22px!important;height:22px!important}}.kplayer-title-wrap{z-index:90;position:absolute;top:10px;left:15px;right:5px}.kplayer-hide-controller .kplayer-title-wrap,.kplayer-hide-controller .kplayer-title-bar,.kplayer-hide-controller .kplayer-back{opacity:0;visibility:hidden;pointer-events:none}.kplayer-title-main{font-weight:800}.kplayer-title-bar{z-index:90;text-align:right;opacity:1;visibility:visible;pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:flex-end;max-width:60%;min-height:30px;display:inline-flex;position:absolute;top:10px;left:auto;right:15px}.kplayer-title-bar .kplayer-title-info{flex-direction:column;align-items:flex-end;gap:4px;width:100%;min-width:0;display:flex}.kplayer-title-bar .kplayer-title-main{color:#fff;text-align:right;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;max-width:100%;margin:0;font-size:22px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.kplayer-title-bar .kplayer-title-desc{color:#fffc;text-align:right;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:15px;font-weight:400;line-height:1.3;display:block;overflow:hidden}@media (width<=1400px){.kplayer-title-bar{top:10px;right:10px}.kplayer-title-bar .kplayer-title-main{font-size:20px}.kplayer-title-bar .kplayer-title-desc{font-size:14px}}@media (width<=768px){.kplayer-title-bar .kplayer-title-main{font-size:18px}.kplayer-title-bar .kplayer-title-desc{font-size:13px}}@media (width<=480px){.kplayer-title-bar .kplayer-title-main{font-size:13px}.kplayer-title-bar .kplayer-title-desc{font-size:11px}.kplayer-title-bar .kplayer-title-back-btn{width:30px;height:30px}.kplayer-title-bar .kplayer-title-back-btn svg{width:15px;height:15px}}.kplayer-title-bar .kplayer-title-info{justify-content:center;min-height:30px}.kplayer.kplayer-mobile .kplayer-back{justify-content:center;align-items:center;width:24px;height:24px;display:flex;top:8px;left:10px}.kplayer.kplayer-mobile .kplayer-back .kplayer-title-back-btn{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.kplayer.kplayer-mobile .kplayer-back .kplayer-title-back-btn svg{width:20px!important;height:20px!important}.kplayer.kplayer-mobile .kplayer-title-bar{pointer-events:none;max-width:none;top:8px;left:44px;right:8px}.kplayer.kplayer-mobile .kplayer-title-bar .kplayer-title-info{gap:2px;width:100%;min-width:0}.kplayer.kplayer-mobile .kplayer-title-bar .kplayer-title-main{white-space:normal;-webkit-line-clamp:1;-webkit-box-orient:vertical;width:100%;max-width:100%;font-size:13px;line-height:1.2;display:-webkit-box;overflow:hidden}.kplayer.kplayer-mobile .kplayer-title-bar .kplayer-title-desc{white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:100%;font-size:11px;line-height:1.2;overflow:hidden}.kplayer-controller{-webkit-user-select:none;user-select:none;height:41px;padding:0 20px;transition:all .1s;position:absolute;bottom:0;left:0;right:0}.kplayer-controller .kplayer-bar-wrap{cursor:pointer;width:calc(100% - 40px);height:4px;padding:5px 0;position:absolute;bottom:33px}.kplayer-controller .kplayer-bar-wrap:hover .kplayer-bar .kplayer-played .kplayer-thumb{transform:scale(1)}.kplayer-controller .kplayer-bar-wrap:hover .kplayer-highlight,.kplayer-controller .kplayer-bar-wrap:hover .kplayer-ad-marker{width:8px;height:40%;display:block;top:4px;transform:translate(-4px)}.kplayer-controller .kplayer-bar-wrap .kplayer-ad-marker{z-index:12;text-align:center;background-color:gold;border-radius:6px;width:6px;height:30%;transition:all .2s ease-in-out;position:absolute;top:5px;transform:translate(-3px)}.kplayer-controller .kplayer-bar-wrap .kplayer-ad-marker:hover .kplayer-ad-marker-text{display:block}.kplayer-controller .kplayer-bar-wrap .kplayer-ad-marker:hover~.kplayer-bar-preview,.kplayer-controller .kplayer-bar-wrap .kplayer-ad-marker:hover~.kplayer-bar-time{opacity:0}.kplayer-controller .kplayer-bar-wrap .kplayer-ad-marker .kplayer-ad-marker-text{color:#fff;white-space:nowrap;background-color:#0000009e;border-radius:4px;padding:5px 8px;font-size:12px;display:none;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.kplayer-controller .kplayer-bar-wrap .kplayer-highlight{z-index:12;text-align:center;background-color:#fff;border-radius:6px;width:6px;height:30%;transition:all .2s ease-in-out;position:absolute;top:5px;transform:translate(-3px)}.kplayer-controller .kplayer-bar-wrap .kplayer-highlight:hover .kplayer-highlight-text{display:block}.kplayer-controller .kplayer-bar-wrap .kplayer-highlight:hover~.kplayer-bar-preview,.kplayer-controller .kplayer-bar-wrap .kplayer-highlight:hover~.kplayer-bar-time{opacity:0}.kplayer-controller .kplayer-bar-wrap .kplayer-highlight .kplayer-highlight-text{color:#fff;white-space:nowrap;background-color:#0000009e;border-radius:4px;padding:5px 8px;font-size:12px;display:none;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.kplayer-controller .kplayer-bar-wrap .kplayer-bar-preview{pointer-events:none;background:#fff 0 0/16000px 100%;display:none;position:absolute}.kplayer-controller .kplayer-bar-wrap .kplayer-bar-preview-canvas{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute}.kplayer-controller .kplayer-bar-wrap .kplayer-bar-time{color:#fff;text-align:center;opacity:1;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none;background-color:#0000009e;border-radius:4px;padding:5px 7px;font-size:12px;transition:opacity .1s ease-in-out;position:absolute;top:-20px;left:0}.kplayer-controller .kplayer-bar-wrap .kplayer-bar-time.hidden{opacity:0}.kplayer-controller .kplayer-bar-wrap .kplayer-bar{cursor:pointer;background:#fff3;width:100%;height:4px;position:relative}.kplayer-controller .kplayer-bar-wrap .kplayer-bar .kplayer-loaded{will-change:width;background:#fff6;height:4px;transition:all .5s;position:absolute;top:0;bottom:0;left:0}.kplayer-controller .kplayer-bar-wrap .kplayer-bar .kplayer-played{will-change:width;height:4px;position:absolute;top:0;bottom:0;left:0}.kplayer-controller .kplayer-bar-wrap .kplayer-bar .kplayer-played .kplayer-thumb{cursor:pointer;border-radius:50%;width:11px;height:11px;margin-top:-4px;margin-right:-10px;transition:all .3s ease-in-out;position:absolute;top:0;right:5px;transform:scale(0)}.kplayer-controller .kplayer-icons{height:38px;position:absolute;bottom:0}.kplayer-controller .kplayer-icons.kplayer-icons-left .kplayer-icon{padding:7px}.kplayer-controller .kplayer-icons.kplayer-icons-right{right:20px}.kplayer-controller .kplayer-icons.kplayer-icons-right .kplayer-icon{padding:8px}.kplayer-controller .kplayer-icons.kplayer-icons-center{align-items:center;display:inline-flex;left:50%;transform:translate(-50%)}.kplayer-controller .kplayer-icons.kplayer-icons-center .kplayer-icon{padding:8px}.kplayer-controller .kplayer-icons .kplayer-time,.kplayer-controller .kplayer-icons .kplayer-live-badge{color:#eee;text-shadow:0 0 2px #00000080;vertical-align:middle;cursor:default;font-size:13px;line-height:38px}.kplayer-controller .kplayer-icons .kplayer-live-dot{vertical-align:4%;content:"";border-radius:6px;width:6px;height:6px;margin-right:5px;display:inline-block}.kplayer-controller .kplayer-icons .kplayer-icon{cursor:pointer;vertical-align:middle;box-sizing:border-box;background-color:#0000;border:none;border-radius:50%;outline:none;width:40px;height:100%;transition:background-color .15s;display:inline-block}.kplayer-controller .kplayer-icons .kplayer-icon:hover{background-color:#ffffff1f}.kplayer-controller .kplayer-icons .kplayer-icon:active{background-color:#fff3}.kplayer-controller .kplayer-icons .kplayer-icon .kplayer-icon-content{color:#fff;opacity:.8;transition:all .2s ease-in-out}.kplayer-controller .kplayer-icons .kplayer-icon:hover .kplayer-icon-content{opacity:1}.kplayer-controller .kplayer-icons .kplayer-icon.kplayer-quality-icon{color:#fff;width:auto;font-size:14px;line-height:22px}.kplayer-controller .kplayer-icons .kplayer-icon.kplayer-setting-icon{padding-top:8.5px}.kplayer-controller .kplayer-icons .kplayer-icon.kplayer-volume-icon{width:43px}.kplayer-controller .kplayer-icons .kplayer-icon.kplayer-full-in-icon,.kplayer-controller .kplayer-icons .kplayer-icon.kplayer-full-icon{display:inline-block}.kplayer-controller .kplayer-icons .kplayer-volume{cursor:pointer;height:100%;display:inline-block;position:relative}.kplayer-controller .kplayer-icons .kplayer-volume:hover .kplayer-volume-bar-wrap .kplayer-volume-bar,.kplayer-controller .kplayer-icons .kplayer-volume.kplayer-volume-active .kplayer-volume-bar-wrap .kplayer-volume-bar{width:45px}.kplayer-controller .kplayer-icons .kplayer-volume:hover .kplayer-volume-bar-wrap .kplayer-volume-bar .kplayer-volume-bar-inner .kplayer-thumb,.kplayer-controller .kplayer-icons .kplayer-volume.kplayer-volume-active .kplayer-volume-bar-wrap .kplayer-volume-bar .kplayer-volume-bar-inner .kplayer-thumb{transform:scale(1)}.kplayer-controller .kplayer-icons .kplayer-volume .kplayer-volume-bar-wrap{vertical-align:middle;height:100%;margin:0 10px 0 -5px;display:inline-block}.kplayer-controller .kplayer-icons .kplayer-volume .kplayer-volume-bar-wrap .kplayer-volume-bar{background:#fff3;width:0;height:3px;transition:all .3s ease-in-out;position:relative;top:17px}.kplayer-controller .kplayer-icons .kplayer-volume .kplayer-volume-bar-wrap .kplayer-volume-bar .kplayer-volume-bar-inner{will-change:width;height:100%;transition:all .1s;position:absolute;bottom:0;left:0}.kplayer-controller .kplayer-icons .kplayer-volume .kplayer-volume-bar-wrap .kplayer-volume-bar .kplayer-volume-bar-inner .kplayer-thumb{cursor:pointer;border-radius:50%;width:11px;height:11px;margin-top:-4px;margin-right:-10px;transition:all .3s ease-in-out;position:absolute;top:0;right:5px;transform:scale(0)}.kplayer-controller .kplayer-icons .kplayer-subtitle-btn,.kplayer-controller .kplayer-icons .kplayer-subtitles{height:100%;display:inline-block}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-box{z-index:2;background:#16161af5;border:.5px solid #ffffff1a;border-radius:8px;width:fit-content;min-width:120px;max-width:240px;padding:4px 0;transition:none;position:absolute;bottom:50px;right:0;overflow:auto;transform:scale(0)}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-box.kplayer-subtitles-panel{display:block}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-box.kplayer-subtitles-box-open{transform:scale(1)}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-item{box-sizing:border-box;cursor:pointer;justify-content:space-between;align-items:center;height:36px;padding:0 12px;transition:background .12s;display:flex;position:relative}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-item:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-item .kplayer-label{color:#ffffffbf;white-space:nowrap;font-size:13px}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-item.kplayer-selected .kplayer-label{color:#fff}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-item.kplayer-selected .kplayer-check-icon{opacity:1}.kplayer-controller .kplayer-icons .kplayer-setting{z-index:10000;height:100%;display:inline-block;position:relative}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box{transform-origin:100% 100%;z-index:9999;-webkit-backdrop-filter:blur(12px);background:#16161af5;border-radius:2px;width:220px;padding:10px 0;transition:none;position:absolute;bottom:50px;right:0;overflow:hidden;transform:scale(0)}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box>div{display:none}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box>div.kplayer-setting-origin-panel{display:block}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-open{transform:scale(1)}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-narrow{width:220px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-speed .kplayer-setting-origin-panel{display:none}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-speed .kplayer-setting-speed-panel{display:block}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-speed .kplayer-setting-subtitle-panel,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-speed .kplayer-setting-quality-panel,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-subtitle .kplayer-setting-origin-panel,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-subtitle .kplayer-setting-speed-panel,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-subtitle .kplayer-setting-quality-panel{display:none}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-subtitle .kplayer-setting-subtitle-panel{display:block}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-quality .kplayer-setting-origin-panel,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-quality .kplayer-setting-speed-panel,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-quality .kplayer-setting-subtitle-panel{display:none}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box.kplayer-setting-box-quality .kplayer-setting-quality-panel{display:block}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-panel-back{cursor:pointer;box-sizing:border-box;border-bottom:.5px solid #ffffff14;align-items:center;gap:8px;height:38px;min-height:38px;margin-bottom:3px;padding:0 12px;transition:background .12s;display:flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-panel-back:hover{background:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-panel-back .kplayer-setting-back-icon{opacity:1;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-panel-back .kplayer-setting-back-icon svg{fill:#fff;width:14px;height:14px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-panel-back .kplayer-label{color:#fff;font-size:12px;font-weight:400}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-item{box-sizing:border-box;cursor:pointer;justify-content:space-between;align-items:center;height:38px;min-height:38px;padding:0 12px;transition:background .12s;display:flex;position:relative}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-item:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-item:active{background-color:#ffffff1f}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action{box-sizing:border-box;cursor:pointer;justify-content:space-between;align-items:center;height:38px;min-height:38px;padding:0 12px;transition:background .12s;display:flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action:active{background-color:#ffffff1f}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-main{align-items:center;gap:9px;display:inline-flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-icon{opacity:1;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-icon svg{fill:#fff;width:15px;height:15px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-btn{opacity:.7;justify-content:center;align-items:center;width:22px;height:22px;transition:opacity .15s;display:inline-flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-btn:hover{opacity:1}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-btn svg{fill:#fff;width:13px;height:13px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-label{color:#fff;vertical-align:middle;white-space:nowrap;font-size:13px;font-weight:400;display:inline-block}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-title{color:#fff;vertical-align:middle;white-space:nowrap;padding:10px 0;font-size:13px;font-weight:400;display:inline-block}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-current-value{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:80px;margin-right:2px;font-size:12px;overflow:hidden}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-item-right{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-arrow{opacity:.35;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-arrow svg{fill:#fff;width:12px;height:12px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-speed-badge{color:#fff;white-space:nowrap;background:#ffffff14;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-speed-item{box-sizing:border-box;cursor:pointer;justify-content:space-between;align-items:center;height:36px;min-height:36px;padding:0 12px;transition:background .12s;display:flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-speed-item:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-speed-item:active{background-color:#ffffff1f}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-speed-item .kplayer-label,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-speed-item.kplayer-selected .kplayer-label{color:#fff}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-speed-item.kplayer-selected .kplayer-check-icon{opacity:1}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-subtitle-toggle{box-sizing:border-box;cursor:pointer;justify-content:space-between;align-items:center;height:38px;min-height:38px;padding:0 12px;transition:background .12s;display:flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-subtitle-toggle:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle{text-align:center;vertical-align:middle;flex-shrink:0;width:32px;height:20px;font-size:0;position:relative}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input{max-width:0;max-height:0;display:none}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input+label{box-shadow:none;box-sizing:border-box;cursor:pointer;background:#ffffff1a;border:.5px solid #fff3;border-radius:10px;width:32px;height:20px;transition:background .2s ease-in-out,border-color .2s ease-in-out;display:inline-block;position:relative}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input+label:before{content:"";border-radius:15px;width:18px;height:18px;transition:all .2s ease-in-out;display:block;position:absolute;top:0;left:0}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input+label:after{content:"";background:#ffffffe6;border-radius:15px;width:18px;height:18px;transition:all .2s ease-in-out;display:block;position:absolute;top:0;left:0;box-shadow:0 1px 3px #0006}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input:checked+label{background:#ffffff73;border-color:#ffffff80}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input:checked+label:before{background:0 0;width:30px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input:checked+label:after{left:12px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken{cursor:pointer;justify-content:space-between;align-items:center;height:38px;min-height:38px;padding:0 12px;transition:background .12s;display:flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken .kplayer-label{color:#fff}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken:hover .kplayer-label,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken.kplayer-setting-awaken-active .kplayer-label{display:none}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken:hover .kplayer-awaken-bar-wrap,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken.kplayer-setting-awaken-active .kplayer-awaken-bar-wrap{display:inline-flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken .kplayer-awaken-bar-wrap{box-sizing:border-box;flex:1;align-items:center;width:100%;height:100%;padding:0;display:none}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken .kplayer-awaken-bar-wrap .kplayer-awaken-bar{background:#fff3;border-radius:2px;width:100%;height:3px;transition:all .3s ease-in-out;position:relative}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken .kplayer-awaken-bar-wrap .kplayer-awaken-bar .kplayer-awaken-bar-inner{will-change:width;background:#ffffffb3;border-radius:2px;height:100%;transition:all .1s;position:absolute;bottom:0;left:0}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken .kplayer-awaken-bar-wrap .kplayer-awaken-bar .kplayer-awaken-bar-inner .kplayer-thumb{cursor:pointer;background:#fff;border-radius:50%;width:11px;height:11px;margin-top:-4px;margin-right:-10px;transition:all .3s ease-in-out;position:absolute;top:0;right:5px;box-shadow:0 1px 3px #0000004d}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality-inline{height:auto;display:block}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline .kplayer-subtitles-box,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality-inline .kplayer-quality-list{background:0 0;border:none;border-radius:0;width:100%;min-width:0;max-width:none;padding:0;display:block;position:static;transform:none}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline .kplayer-subtitles-item{cursor:pointer;box-sizing:border-box;justify-content:space-between;align-items:center;height:36px;min-height:36px;padding:0 12px;transition:background .12s;display:flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline .kplayer-subtitles-item:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline .kplayer-subtitles-item .kplayer-label{color:#fff;font-size:13px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline .kplayer-subtitles-item.kplayer-selected .kplayer-label{color:#fff}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline .kplayer-subtitles-item.kplayer-selected .kplayer-check-icon{opacity:1}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality-inline .kplayer-quality-item{cursor:pointer;box-sizing:border-box;text-align:left;justify-content:space-between;align-items:center;height:36px;min-height:36px;padding:0 12px;line-height:36px;transition:background .12s;display:flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality-inline .kplayer-quality-item:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality-inline .kplayer-quality-item .kplayer-label{color:#fff;font-size:13px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality-inline .kplayer-quality-item.kplayer-selected .kplayer-label{color:#fff}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality-inline .kplayer-quality-item.kplayer-selected .kplayer-check-icon{opacity:1}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-check-icon{opacity:0;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;transition:opacity .15s;display:inline-flex}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-check-icon svg{fill:none;stroke:#fff;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality{z-index:2;height:100%;display:inline-block;position:relative}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality:hover .kplayer-quality-list,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality:hover .kplayer-quality-mask{display:block}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality .kplayer-quality-mask{width:80px;padding-bottom:12px;display:none;position:absolute;bottom:38px;left:-18px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality .kplayer-quality-list{color:#fff;text-align:center;background:#16161af5;border:.5px solid #ffffff1a;border-radius:8px;width:100px;padding:4px 0;font-size:12px;transition:all .2s ease-in-out;display:none;overflow:hidden}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality .kplayer-quality-item{box-sizing:border-box;cursor:pointer;color:#ffffffbf;height:30px;padding:0 10px;font-size:13px;line-height:30px;transition:background .12s}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality .kplayer-quality-item:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality .kplayer-quality-item.kplayer-selected{color:#fff}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality .kplayer-quality-item.kplayer-selected .kplayer-check-icon{opacity:1}.kplayer-controller .kplayer-icons .kplayer-label{color:#fff;vertical-align:middle;white-space:nowrap;font-size:13px;display:inline-block}.kplayer-mobile-play{z-index:1;cursor:pointer;box-sizing:border-box;opacity:.8;background-color:#0000;border:none;outline:none;width:50px;height:50px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.kplayer-awaken{color:#fff;font-size:22px;position:absolute;inset:0}.kplayer-awaken .kplayer-awaken-item{pointer-events:none;-webkit-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px #00000080;display:inline-block}.kplayer-awaken .kplayer-awaken-item--demo{visibility:hidden;position:absolute}.kplayer-awaken .kplayer-awaken-right{position:absolute;right:0;transform:translate(100%)}.kplayer-awaken .kplayer-awaken-right.kplayer-awaken-move{will-change:transform;animation-name:awaken;animation-timing-function:linear;animation-play-state:paused}@keyframes awaken{0%{transform:translate(100%)}}.kplayer-awaken .kplayer-awaken-top,.kplayer-awaken .kplayer-awaken-bottom{text-align:center;visibility:hidden;width:100%;position:absolute}.kplayer-awaken .kplayer-awaken-top.kplayer-awaken-move,.kplayer-awaken .kplayer-awaken-bottom.kplayer-awaken-move{will-change:visibility;animation-name:awaken-center;animation-timing-function:linear;animation-play-state:paused}@keyframes awaken-center{0%{visibility:visible}to{visibility:visible}}.kplayer-logo{pointer-events:none;max-width:100px;max-height:50px;position:absolute;top:60px;left:20px}.kplayer-logo img{background:0 0;max-width:100%;max-height:100%}@media (width<=768px){.kplayer-logo{pointer-events:none;max-width:80px;max-height:50px;position:absolute;top:30px;left:15px}.kplayer-logo img{background:0 0;max-width:100%;max-height:100%}}.kplayer-menu{z-index:3;background:#16161af5;border-radius:2px;width:170px;padding:5px 0;display:none;position:absolute;overflow:hidden}.kplayer-menu.kplayer-menu-show{display:block}.kplayer-menu .kplayer-menu-item{box-sizing:border-box;cursor:pointer;height:30px}.kplayer-menu .kplayer-menu-item:hover{background-color:#ffffff1a}.kplayer-menu .kplayer-menu-item a{color:#eee;vertical-align:middle;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;width:100%;padding:0 10px;font-size:13px;line-height:30px;display:inline-block;overflow:hidden}.kplayer-menu .kplayer-menu-item a:hover{text-decoration:none}.kplayer-notice-list{position:absolute;bottom:60px;left:20px}.kplayer-notice-list .kplayer-notice{-webkit-backdrop-filter:blur(12px);color:#ffffffe0;pointer-events:none;background:#16161af5;border-radius:2px;font-size:13px;font-weight:400;transition:all .3s ease-in-out;animation:.3s forwards showNotice;display:table;overflow:hidden}.kplayer-notice-list .remove-notice{animation:.3s forwards removeNotice}@keyframes showNotice{0%{opacity:0;margin-top:0;padding:0;font-size:0}to{opacity:1;margin-top:5px;padding:6px 14px;font-size:13px}}@keyframes removeNotice{0%{opacity:1;margin-top:5px;padding:6px 14px;font-size:13px}20%{opacity:.5;font-size:11px}21%{padding:6px 10px;font-size:0}to{opacity:0;margin-top:0;padding:0;font-size:0}}.kplayer-subtitle{text-align:center;color:#fff;text-shadow:.5px .5px .5px #00000080;width:90%;font-size:20px;position:absolute;bottom:40px;left:5%}.kplayer-subtitle.kplayer-subtitle-hide{display:none}.kplayer-mask{z-index:1;display:none;position:absolute;inset:0}.kplayer-mask.kplayer-mask-show{display:block}.kplayer-video-wrap{background:#000;width:100%;height:100%;font-size:0;position:relative;overflow:hidden}.kplayer-video-wrap .kplayer-video{width:100%;height:100%;display:none}.kplayer-video-wrap .kplayer-video-current{display:block}.kplayer-video-wrap .kplayer-video-prepare{display:none}video::-webkit-media-text-track-display{display:none!important}.kplayer-info-panel{color:#fff;background:#1c1c1ccc;border-radius:2px;width:400px;padding:10px;font-size:12px;position:absolute;top:10px;left:10px}.kplayer-info-panel-hide{display:none}.kplayer-info-panel .kplayer-info-panel-close{cursor:pointer;position:absolute;top:10px;right:10px}.kplayer-info-panel .kplayer-info-panel-item>span{vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;line-height:15px;display:inline-block;overflow:hidden}.kplayer-info-panel .kplayer-info-panel-item-title{text-align:right;width:100px;margin-right:10px}.kplayer-info-panel .kplayer-info-panel-item-data{width:260px}.kplayer-skip-btn{z-index:2;color:#ffffffe0;cursor:pointer;-webkit-backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;white-space:nowrap;background:#16161af5;border:none;border-radius:2px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:400;display:flex;position:absolute;bottom:60px;right:16px}.kplayer-skip-btn-text{pointer-events:none}.kplayer-hide-controller .kplayer-skip-btn{bottom:16px}.kplayer-tap-seek{pointer-events:none;opacity:0;z-index:11;color:#fff;justify-content:center;align-items:center;width:42%;display:flex;position:absolute;top:0;bottom:0}.kplayer-tap-seek.kplayer-tap-seek-left{border-radius:0 50% 50% 0;left:0}.kplayer-tap-seek.kplayer-tap-seek-right{border-radius:50% 0 0 50%;right:0}.kplayer-tap-seek .kplayer-tap-seek-inner{text-shadow:0 1px 3px #00000080;flex-direction:column;align-items:center;gap:4px;display:flex}.kplayer-tap-seek .kplayer-tap-seek-icon{width:36px;height:36px;display:inline-flex}.kplayer-tap-seek .kplayer-tap-seek-icon svg{fill:#fff;width:36px;height:36px}.kplayer-tap-seek .kplayer-tap-seek-text{letter-spacing:.02em;font-size:13px;font-weight:700}.kplayer-tap-seek.kplayer-tap-seek-active{animation:.6s kplayer-tap-seek-flash}.kplayer-tap-seek.kplayer-tap-seek-left.kplayer-tap-seek-active .kplayer-tap-seek-icon svg{animation:.6s kplayer-tap-nudge-left}.kplayer-tap-seek.kplayer-tap-seek-right.kplayer-tap-seek-active .kplayer-tap-seek-icon svg{animation:.6s kplayer-tap-nudge-right}@keyframes kplayer-tap-seek-flash{0%{opacity:0;background:radial-gradient(circle,#fff0 0% 70%)}25%{opacity:1;background:radial-gradient(circle,#fff3 0%,#fff0 72%)}to{opacity:0;background:radial-gradient(circle,#fff0 0% 70%)}}@keyframes kplayer-tap-nudge-left{0%,to{transform:translate(0)}40%{transform:translate(-7px)}}@keyframes kplayer-tap-nudge-right{0%,to{transform:translate(0)}40%{transform:translate(7px)}}/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
2
+ var e=typeof navigator<`u`&&navigator.userAgent?navigator.userAgent:``,t=/mobile|android|iphone|ipod|phone|ipad/i.test(e),n={secondToTime(e){if(e||=0,e===0||e===1/0||e.toString()===`NaN`)return`00:00`;let t=e=>e<10?`0`+e:``+e,n=Math.floor(e/3600),r=Math.floor((e-n*3600)/60),i=Math.floor(e-n*3600-r*60);return(n>0?[n,r,i]:[r,i]).map(t).join(`:`)},getElementViewLeft(e){let t=e.offsetLeft,n=e.offsetParent,r=document.body.scrollLeft+document.documentElement.scrollLeft;if(!document.fullscreenElement&&!document.mozFullScreenElement&&!document.webkitFullscreenElement)for(;n!==null;)t+=n.offsetLeft,n=n.offsetParent;else for(;n!==null&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;return t-r},getBoundingClientRectViewLeft(e){let t=window.scrollY||document.body.scrollTop+(document.documentElement&&document.documentElement.scrollTop||0);if(e.getBoundingClientRect){let n=this.getBoundingClientRectViewLeft;if(typeof n.offset!=`number`){let e=document.createElement(`div`);e.style.cssText=`position:absolute;top:0;left:0;`,document.body.appendChild(e),n.offset=-e.getBoundingClientRect().top-t,document.body.removeChild(e)}let r=e.getBoundingClientRect(),i=n.offset;return r.left+i}else return this.getElementViewLeft(e)},getScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0}},setScrollPosition({left:e=0,top:t=0}){this.isFirefox?(document.documentElement.scrollLeft=e,document.documentElement.scrollTop=t):window.scrollTo(e,t)},isMobile:t,isFirefox:/firefox/i.test(e),isChrome:/chrome/i.test(e),isSafari:/safari/i.test(e),storage:{set(e,t){localStorage.setItem(e,String(t))},get(e){return localStorage.getItem(e)}},nameMap:{dragStart:t?`touchstart`:`mousedown`,dragMove:t?`touchmove`:`mousemove`,dragEnd:t?`touchend`:`mouseup`},color2Number(e){return e[0]===`#`&&(e=e.slice(1)),e.length===3&&(e=`${e[0]}${e[0]}${e[1]}${e[1]}${e[2]}${e[2]}`),parseInt(e,16)+0&16777215},number2Color(e){return`#`+(`00000`+e.toString(16)).slice(-6)},number2Type(e){switch(e){case 0:return`right`;case 1:return`top`;case 2:return`bottom`;default:return`right`}}},r=e=>{let t={container:e.element||document.getElementsByClassName(`kplayer`)[0],live:!1,autoplay:!1,theme:`#b7daff`,loop:!1,lang:(navigator.language||navigator.browserLanguage||`en`).toLowerCase(),screenshot:!1,airplay:!0,chromecast:!1,hotkey:!0,preload:`metadata`,volume:.7,playbackSpeed:[.5,.75,1,1.25,1.5,2],video:{},contextmenu:[],ad:null,vastAD:!1,vastADURL:``,mutex:!0,pluginOptions:{hls:{},flv:{},dash:{},webtorrent:{}},preventClickToggle:!1};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&!Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=t[n]);return e.video&&(e.video.type||(e.video.type=`auto`)),typeof e.awaken==`object`&&e.awaken&&(e.awaken.user||(e.awaken.user=`DIYgod`)),e.subtitle&&(e.subtitle.type||(e.subtitle.type=`webvtt`),e.subtitle.fontSize||(e.subtitle.fontSize=`20px`),e.subtitle.bottom||(e.subtitle.bottom=`40px`),e.subtitle.color||(e.subtitle.color=`#fff`)),e.video?.quality&&e.video.defaultQuality!==void 0&&(e.video.url=e.video.quality[e.video.defaultQuality].url),e.lang&&=e.lang.toLowerCase(),e.contextmenu=(e.contextmenu||[]).concat([{key:`about-author`,link:`https://github.com/kenji-07/`}]),e};function i(e){this.lang=e,this.fallbackLang=this.lang.includes(`-`)?this.lang.split(`-`)[0]:this.lang,this.tran=e=>(e=e.toLowerCase(),o[this.lang]&&o[this.lang][e]?o[this.lang][e]:o[this.fallbackLang]&&o[this.fallbackLang][e]?o[this.fallbackLang][e]:a[e]?a[e]:e)}var a={"awaken-loading":`Awaken ачааллаж байна`,top:`Дээд`,bottom:`Доод`,rolling:`Гүйлгэх`,"input-awaken-enter":`Awaken бичээд Enter дарна уу`,"about-author":`Зохиогчийн тухай`,"kplayer-feedback":`KPlayer санал хүсэлт`,"about-kplayer":`KPlayer-ийн тухай`,loop:`Дахин тоглуулах`,speed:`Тоглуулах хурд`,quality:`Бичлэгийн чанар`,"opacity-awaken":`Awaken тунгалаг байдал`,normal:`Хэвийн`,"please-input-awaken":`Awaken текст оруулна уу!`,"set-awaken-color":`Awaken өнгө тохируулах`,"set-awaken-type":`Awaken төрөл тохируулах`,"show-awaken":`Awaken харуулах`,"video-failed":`Видео ачааллахад алдаа гарлаа`,"awaken-failed":`Awaken ачааллахад алдаа гарлаа`,"awaken-send-failed":`Awaken илгээхэд алдаа гарлаа`,"switching-quality":`Чанар солигдож байна: %q`,"switched-quality":`Чанар солигдлоо: %q`,ff:`>> %s секунд`,rew:`<< %s секунд`,"unlimited-awaken":`Хязгааргүй awaken`,"send-awaken":`Awaken илгээх`,setting:`ТОХИРГОО`,fullscreen:`Бүтэн дэлгэц`,"web-fullscreen":`Вэб бүтэн дэлгэц`,send:`Илгээх`,screenshot:`Дэлгэцийн зураг авах`,airplay:`AirPlay`,chromecast:`Chromecast`,subtitle:`Хадмал орчуулга`,off:`Унтраалттай`,"show-subs":`Хадмал харуулах`,"hide-subs":`Хадмал нуух`,volume:`Дууны түвшин`,live:`Шууд`,"video-info":`Видео мэдээлэл`,play:`Тоглуулах`,pause:`Түр зогсоох`,rewind:`10 секунд хойш`,forward:`10 секунд урагш`,mute:`Дуу хаах`,unmute:`Дуу нээх`,seek:`Хугацааны заагч`,"video-player":`Видео тоглуулагч`},o={mn:a,en:{"awaken-loading":`awaken is loading`,top:`Top`,bottom:`Bottom`,rolling:`Rolling`,"input-awaken-enter":`Input awaken, hit Enter`,"about-author":`About author`,"kplayer-feedback":`KPlayer feedback`,"about-kplayer":`About KPlayer`,loop:`Loop`,speed:`Speed`,quality:`Quality`,"opacity-awaken":`Opacity for awaken`,normal:`Normal`,"please-input-awaken":`Please input awaken content!`,"set-awaken-color":`Set awaken color`,"set-awaken-type":`Set awaken type`,"show-awaken":`Show awaken`,"video-failed":`Video load failed`,"awaken-failed":`awaken load failed`,"awaken-send-failed":`awaken send failed`,"switching-quality":`Switching to %q quality`,"switched-quality":`Switched to %q quality`,ff:`>> %s s`,rew:`<< %s s`,"unlimited-awaken":`Unlimited awaken`,"send-awaken":`Send awaken`,setting:`Setting`,fullscreen:`Full screen`,"web-fullscreen":`Web full screen`,send:`Send`,screenshot:`Screenshot`,airplay:`AirPlay`,chromecast:`ChromeCast`,subtitle:`Subtitle`,off:`Off`,"show-subs":`Show subtitle`,"hide-subs":`Hide subtitle`,volume:`Volume`,live:`Live`,"video-info":`Video info`,play:`Play`,pause:`Pause`,rewind:`Rewind 10 seconds`,forward:`Forward 10 seconds`,mute:`Mute`,unmute:`Unmute`,seek:`Seek slider`,"video-player":`Video player`},"zh-cn":{"awaken-loading":`弹幕加载中`,top:`顶部`,bottom:`底部`,rolling:`滚动`,"input-awaken-enter":`输入弹幕,回车发送`,"about-author":`关于作者`,"kplayer-feedback":`播放器意见反馈`,"about-kplayer":`关于 KPlayer 播放器`,loop:`洗脑循环`,speed:`速度`,quality:`画质`,"opacity-awaken":`弹幕透明度`,normal:`正常`,"please-input-awaken":`要输入弹幕内容啊喂!`,"set-awaken-color":`设置弹幕颜色`,"set-awaken-type":`设置弹幕类型`,"show-awaken":`显示弹幕`,"video-failed":`视频加载失败`,"awaken-failed":`弹幕加载失败`,"awaken-send-failed":`弹幕发送失败`,"switching-quality":`正在切换至 %q 画质`,"switched-quality":`已经切换至 %q 画质`,ff:`快进 %s 秒`,rew:`快退 %s 秒`,"unlimited-awaken":`海量弹幕`,"send-awaken":`发送弹幕`,setting:`设置`,fullscreen:`全屏`,"web-fullscreen":`页面全屏`,send:`发送`,screenshot:`截图`,airplay:`无线投屏`,chromecast:`ChromeCast`,subtitle:`字幕`,off:`关闭`,"show-subs":`显示字幕`,"hide-subs":`隐藏字幕`,volume:`音量`,live:`直播`,"video-info":`视频统计信息`,play:`播放`,pause:`暂停`,rewind:`后退10秒`,forward:`前进10秒`,mute:`静音`,unmute:`取消静音`,seek:`进度条`,"video-player":`视频播放器`},"zh-tw":{"awaken-loading":`彈幕載入中`,top:`頂部`,bottom:`底部`,rolling:`滾動`,"input-awaken-enter":`輸入彈幕,Enter 發送`,"about-author":`關於作者`,"kplayer-feedback":`播放器意見回饋`,"about-kplayer":`關於 KPlayer 播放器`,loop:`循環播放`,speed:`速度`,quality:`畫質`,"opacity-awaken":`彈幕透明度`,normal:`正常`,"please-input-awaken":`請輸入彈幕內容啊!`,"set-awaken-color":`設定彈幕顏色`,"set-awaken-type":`設定彈幕類型`,"show-awaken":`顯示彈幕`,"video-failed":`影片載入失敗`,"awaken-failed":`彈幕載入失敗`,"awaken-send-failed":`彈幕發送失敗`,"switching-quality":`正在切換至 %q 畫質`,"switched-quality":`已經切換至 %q 畫質`,ff:`快進 %s 秒`,rew:`快退 %s 秒`,"unlimited-awaken":`巨量彈幕`,"send-awaken":`發送彈幕`,setting:`設定`,fullscreen:`全螢幕`,"web-fullscreen":`頁面全螢幕`,send:`發送`,screenshot:`截圖`,airplay:`無線投屏`,chromecast:`ChromeCast`,subtitle:`字幕`,off:`關閉`,"show-subs":`顯示字幕`,"hide-subs":`隱藏字幕`,volume:`音量`,live:`直播`,"video-info":`影片統計訊息`,play:`播放`,pause:`暫停`,rewind:`後退10秒`,forward:`前進10秒`,mute:`靜音`,unmute:`取消靜音`,seek:`進度條`,"video-player":`視訊播放器`},"ko-kr":{"awaken-loading":`awaken를 불러오는 중입니다.`,top:`Top`,bottom:`Bottom`,rolling:`Rolling`,"input-awaken-enter":`awaken를 입력하고 Enter를 누르세요.`,"about-author":`만든이`,"kplayer-feedback":`피드백 보내기`,"about-kplayer":`KPlayer 정보`,loop:`반복`,speed:`배속`,quality:`화질`,"opacity-awaken":`awaken 불투명도`,normal:`표준`,"please-input-awaken":`awaken를 입력하세요!`,"set-awaken-color":`awaken 색상`,"set-awaken-type":`awaken 설정`,"show-awaken":`awaken 표시`,"video-failed":`비디오를 불러오지 못했습니다.`,"awaken-failed":`awaken를 불러오지 못했습니다.`,"awaken-send-failed":`awaken 전송에 실패했습니다.`,"switching-quality":`전환 %q 화질`,"switched-quality":`전환 됨 %q 화질`,ff:`앞으로 %s 초`,rew:`뒤로 %s 초`,"unlimited-awaken":`끝없는 awaken`,"send-awaken":`awaken 보내기`,setting:`설정`,fullscreen:`전체 화면`,"web-fullscreen":`웹 내 전체화면`,send:`보내기`,screenshot:`화면 캡쳐`,airplay:`에어플레이`,chromecast:`ChromeCast`,subtitle:`부제`,off:`끄다`,"show-subs":`자막 보이기`,"hide-subs":`자막 숨기기`,volume:`볼륨`,live:`생방송`,"video-info":`비디오 정보`,play:`재생`,pause:`일시정지`,rewind:`10초 뒤로`,forward:`10초 앞으로`,mute:`음소거`,unmute:`음소거 해제`,seek:`탐색 막대`,"video-player":`비디오 플레이어`},de:{"awaken-loading":`awaken lädt...`,top:`Oben`,bottom:`Unten`,rolling:`Rollend`,"input-awaken-enter":`Drücke Enter nach dem Einfügen vom awaken`,"about-author":`Über den Autor`,"kplayer-feedback":`KPlayer Feedback`,"about-kplayer":`Über KPlayer`,loop:`Wiederholen`,speed:`Geschwindigkeit`,quality:`Qualität`,"opacity-awaken":`Transparenz für awaken`,normal:`Normal`,"please-input-awaken":`Bitte awaken Inhalt eingeben!`,"set-awaken-color":`awaken Farbe festlegen`,"set-awaken-type":`awaken Typ festlegen`,"show-awaken":`Zeige awaken`,"video-failed":`Das Video konnte nicht geladen werden`,"awaken-failed":`awaken konnte nicht geladen werden`,"awaken-send-failed":`Das senden von awaken ist fehgeschlagen`,"switching-quality":`Wechsle zur %q Qualität`,"switched-quality":`Zur %q Qualität gewechselt`,ff:`%s s Vorwärts`,rew:`%s s Zurück`,"unlimited-awaken":`Unlimitiertes awaken`,"send-awaken":`Sende awaken`,setting:`Einstellungen`,fullscreen:`Vollbild`,"web-fullscreen":`Browser Vollbild`,send:`Senden`,screenshot:`Screenshot`,airplay:`AirPlay`,chromecast:`ChromeCast`,subtitle:`Untertitel`,off:`Schließung`,"show-subs":`Zeige Untertitel`,"hide-subs":`Verstecke Untertitel`,volume:`Lautstärke`,live:`Live`,"video-info":`Video Info`,play:`Abspielen`,pause:`Pause`,rewind:`10 Sekunden zurück`,forward:`10 Sekunden vor`,mute:`Stummschalten`,unmute:`Ton einschalten`,seek:`Suchleiste`,"video-player":`Videoplayer`},ja:{"awaken-loading":`コメントを読み込んでいます`,top:`トップ`,bottom:`ボトム`,rolling:`スクロール`,"input-awaken-enter":`コメントを入力し,Enter で送信`,"about-author":`作者について`,"kplayer-feedback":`KPlayer についての意見・要望`,"about-kplayer":`KPlayer について`,loop:`くり返し`,speed:`再生速度`,quality:`へ`,"opacity-awaken":`コメントの透明度`,normal:`通常`,"please-input-awaken":`コメントを入力してください!`,"set-awaken-color":`コメントの色`,"set-awaken-type":`コメントの種類`,"show-awaken":`コメント表示`,"video-failed":`ビデオの読み込みに失敗`,"awaken-failed":`コメントの読み込みに失敗`,"awaken-send-failed":`コメントの送信に失敗`,"switching-quality":`%qへ切り替え中`,"switched-quality":`%qへ切り替え完了`,ff:`%s 秒早送り`,rew:`%s 秒早戻し`,"unlimited-awaken":`コメント無制限`,"send-awaken":`コメント送信`,setting:`設定`,fullscreen:`全画面表示`,"web-fullscreen":`ブラウザ全体表示`,send:`送信`,screenshot:`画面コピー`,airplay:`AirPlay`,chromecast:`ChromeCast`,subtitle:`字幕`,off:`OFF`,"show-subs":`字幕表示`,"hide-subs":`字幕非表示`,volume:`音量`,live:`ライブ`,"video-info":`動画情報`,play:`再生`,pause:`一時停止`,rewind:`10秒戻る`,forward:`10秒進む`,mute:`ミュート`,unmute:`ミュート解除`,seek:`シークバー`,"video-player":`ビデオプレーヤー`},ru:{"awaken-loading":`Загрузка комментариев`,top:`Вверху`,bottom:`Внизу`,rolling:`Лента`,"input-awaken-enter":`Введите комментарий, нажмите Enter`,"about-author":`Об авторе`,"kplayer-feedback":`Обратная связь`,"about-kplayer":`О плеере`,loop:`Закольцевать`,speed:`Скорость`,quality:`Качество`,"opacity-awaken":`Прозрачность`,normal:`Обычный`,"please-input-awaken":`Пожалуйста, введите комментарий!`,"set-awaken-color":`Цвет комментария`,"set-awaken-type":`Тип комментария`,"show-awaken":`Показать комментарии`,"video-failed":`Ошибка загрузки видео`,"awaken-failed":`Ошибка загрузки комментариев`,"awaken-send-failed":`Ошибка отправки комментария`,"switching-quality":`Переключение качества на: %q`,"switched-quality":`Установлено качество: %q`,ff:`Вперёд: %s с`,rew:`Назад: %s с`,"unlimited-awaken":`Без ограничений`,"send-awaken":`Отправить комментарий`,setting:`Настройки`,fullscreen:`На весь экран`,"web-fullscreen":`На весь Web экран`,send:`Отправить`,screenshot:`Скриншот`,airplay:`AirPlay`,chromecast:`ChromeCast`,subtitle:`Комментарий`,off:`Выкл`,"show-subs":`Показать комментарии`,"hide-subs":`Скрыть комментарии`,volume:`Громкость`,live:`Живые комментарии`,"video-info":`Информация о видео`,play:`Воспроизвести`,pause:`Пауза`,rewind:`Назад на 10 секунд`,forward:`Вперёд на 10 секунд`,mute:`Без звука`,unmute:`Включить звук`,seek:`Полоса перемотки`,"video-player":`Видеоплеер`}},s=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 32">
3
+ <path d="M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z"></path>
4
+ </svg>`,c=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 17 32">
5
+ <path d="M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z"></path>
6
+ </svg>`,l=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 21 32">
7
+ <path d="M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z"></path>
8
+ </svg>`,u=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 21 32">
9
+ <path d="M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z"></path>
10
+ </svg>`,d=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 21 32">
11
+ <path d="M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z"></path>
12
+ </svg>`,f=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 33">
13
+ <path d="M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z"></path>
14
+ </svg>`,p=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 33">
15
+ <path d="M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z"></path>
16
+ </svg>`,m=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 28">
17
+ <path d="M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z"></path>
18
+ </svg>`,h=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32">
19
+ <path d="M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z"></path>
20
+ </svg>`,g=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32">
21
+ <path d="M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z"></path>
22
+ </svg>`,ee=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-camera"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 7h1a2 2 0 0 0 2 -2a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v9a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2" /><path d="M9 13a3 3 0 1 0 6 0a3 3 0 0 0 -6 0" /></svg>`,_=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-broadcast"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18.364 19.364a9 9 0 1 0 -12.728 0" /><path d="M15.536 16.536a5 5 0 1 0 -7.072 0" /><path d="M11 13a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /></svg>`,v=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-subtitles"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 5a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3l12 0" /><path d="M7 15h5" /><path d="M15 15h2" /><path d="M17 12h-3" /><path d="M11 12h-1" /></svg>`,y=`<svg height="100%" version="1.1" viewBox="0 0 22 22">
23
+ <svg x="7" y="1">
24
+ <circle class="diplayer-loading-dot diplayer-loading-dot-0" cx="4" cy="4" r="2"></circle>
25
+ </svg>
26
+ <svg x="11" y="3">
27
+ <circle class="diplayer-loading-dot diplayer-loading-dot-1" cx="4" cy="4" r="2"></circle>
28
+ </svg>
29
+ <svg x="13" y="7">
30
+ <circle class="diplayer-loading-dot diplayer-loading-dot-2" cx="4" cy="4" r="2"></circle>
31
+ </svg>
32
+ <svg x="11" y="11">
33
+ <circle class="diplayer-loading-dot diplayer-loading-dot-3" cx="4" cy="4" r="2"></circle>
34
+ </svg>
35
+ <svg x="7" y="13">
36
+ <circle class="diplayer-loading-dot diplayer-loading-dot-4" cx="4" cy="4" r="2"></circle>
37
+ </svg>
38
+ <svg x="3" y="11">
39
+ <circle class="diplayer-loading-dot diplayer-loading-dot-5" cx="4" cy="4" r="2"></circle>
40
+ </svg>
41
+ <svg x="1" y="7">
42
+ <circle class="diplayer-loading-dot diplayer-loading-dot-6" cx="4" cy="4" r="2"></circle>
43
+ </svg>
44
+ <svg x="3" y="3">
45
+ <circle class="diplayer-loading-dot diplayer-loading-dot-7" cx="4" cy="4" r="2"></circle>
46
+ </svg>
47
+ </svg>`,b=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-cast"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 19l.01 0" /><path d="M7 19a4 4 0 0 0 -4 -4" /><path d="M11 19a8 8 0 0 0 -8 -8" /><path d="M15 19h3a3 3 0 0 0 3 -3v-8a3 3 0 0 0 -3 -3h-12a3 3 0 0 0 -2.8 2" /></svg>`,x=`<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
48
+ <g><path d="M990,503.4c0,25.9-21,46.9-46.9,46.9H56.9c-25.9,0-46.9-21-46.9-46.9v-4.6c0-25.9,21-46.9,46.9-46.9h886.1c25.9,0,46.9,21,46.9,46.9V503.4z"></path><path d="M430.9,131.1c18.3,18.3,18.3,48.1,0,66.4L93.1,535.2c-18.3,18.3-48.1,18.3-66.4,0l-2.9-2.9C5.5,514,5.5,484.3,23.9,466l337.7-337.7c18.3-18.3,48.1-18.3,66.4,0L430.9,131.1z"></path><path d="M430.9,868.9c18.3-18.3,18.3-48.1,0-66.4L93.1,464.8c-18.3-18.3-48.1-18.3-66.4,0l-2.9,2.9C5.5,486,5.5,515.7,23.9,534l337.7,337.7c18.3,18.3,48.1,18.3,66.4,0L430.9,868.9z"></path></g>
49
+ </svg>`,S=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="currentColor" class="w-6 md:w-8 lg:w-12"><path d="M360-522h-30q-10.4 0-17.2-7.12-6.8-7.11-6.8-18 0-10.88 7.08-17.38 7.09-6.5 17.92-6.5h55q11 0 17.5 6.5T410-547v212q0 10.83-7.12 17.92-7.11 7.08-18 7.08-10.88 0-17.88-7.08-7-7.09-7-17.92v-187Zm147 212q-18.7 0-31.35-12.65Q463-335.3 463-354v-173q0-18.7 12.65-31.35Q488.3-571 507-571h83q18.7 0 31.35 12.65Q634-545.7 634-527v173q0 18.7-12.65 31.35Q608.7-310 590-310h-83Zm6-50h71v-162h-71v162ZM480-80q-75 0-140.5-28T225-185q-49-49-77-114.5T120-440q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82 0 21.32 8.62 8.5 8.63 8.5 21.38 0 125.36 87.32 212.68Q354.64-140 480-140q125.36 0 212.68-87.32Q780-314.64 780-440q0-125.36-85-212.68Q610-740 485-740h-22l52 52q9 9 9 21t-8.61 21q-9.39 9-21.39 9t-21-9L368-751q-9-9-9-21t9-21l106-106q8-8 20.5-8t20.85 8q7.65 8 7.65 20.5t-8 20.5l-58 58h23q75 0 140.5 28T735-695q49 49 77 114.5T840-440q0 75-28 140.5T735-185q-49 49-114.5 77T480-80Z"></path></svg>`,C=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="currentColor" class="w-6 md:w-8 lg:w-12"><path d="M480-80q-75 0-140.5-28T225-185q-49-49-77-114.5T120-440q0-75 28-140.5T225-695q49-49 114.5-77T480-800h23l-57-57q-8-8-8-20.5t7.65-20.5q8.35-8 20.35-8.5 12-.5 20 7.5l106 106q9 9 9 21t-9 21L487-646q-9 9-21 9t-21.39-9q-8.61-9-8.61-21t9-21l52-52h-22q-125 0-210 87.32T180-440q0 125.36 87.32 212.68Q354.64-140 480-140q125.36 0 212.68-87.32Q780-314.64 780-440q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82 0 21.32 8.62 8.5 8.63 8.5 21.38 0 75-28 140.5T735-185q-49 49-114.5 77T480-80ZM360-522h-30q-10.4 0-17.2-7.12-6.8-7.11-6.8-18 0-10.88 7.08-17.38 7.09-6.5 17.92-6.5h55q11 0 17.5 6.5T410-547v212q0 10.83-7.12 17.92-7.11 7.08-18 7.08-10.88 0-17.88-7.08-7-7.09-7-17.92v-187Zm147 212q-18.7 0-31.35-12.65Q463-335.3 463-354v-173q0-18.7 12.65-31.35Q488.3-571 507-571h83q18.7 0 31.35 12.65Q634-545.7 634-527v173q0 18.7-12.65 31.35Q608.7-310 590-310h-83Zm6-50h71v-162h-71v162Z"></path></svg>`,w=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-badge-hd"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10" /><path d="M14 9v6h1a2 2 0 0 0 2 -2v-2a2 2 0 0 0 -2 -2h-1" /><path d="M7 15v-6" /><path d="M10 15v-6" /><path d="M7 12h3" /></svg>`,T=e=>e.replace(/<svg\b/,`<svg aria-hidden="true" focusable="false"`),E={play:T(s),pause:T(c),volumeUp:T(l),volumeDown:T(u),volumeOff:T(d),full:T(f),fullWeb:T(p),setting:T(m),right:T(h),pallette:T(g),camera:T(ee),subtitle:T(v),loading:T(y),airplay:T(_),chromecast:T(b),back:T(x),rewind:T(S),forward:T(C),video:T(w)};function D(e){return String(e??``).replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function O({current:e=!1,airplay:t=!1,pic:n=``,screenshot:r=!1,preload:i=``,url:a=``,subtitle:o=null}={}){return o&&o.type,`
50
+ <video
51
+ class="kplayer-video ${e?`kplayer-video-current`:``}"
52
+ webkit-playsinline
53
+ ${t?`x-webkit-airplay="allow"`:``}
54
+ playsinline
55
+ ${n?`poster="${D(n)}"`:``}
56
+ ${r?`crossorigin="anonymous"`:``}
57
+ ${i?`preload="${D(i)}"`:``}
58
+ ${t?`nosrc`:a?`src="${D(a)}"`:``}
59
+ >
60
+ ${t?`<source src="${D(a)}">`:``}
61
+ </video>`.trim()}function k(e){return String(e??``).replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function A(e){return e==null?``:String(e)}function j(e){return e?`checked`:``}function M({options:e,index:t,tran:n,icons:r,mobile:i,video:a}){let o=e.theme||`#b7daff`,s=e.awaken&&typeof e.awaken==`object`&&e.awaken.bottom?` style="margin-bottom:${k(e.awaken.bottom)}"`:``,c=e.subtitle&&typeof e.subtitle.url==`string`,l=e.video?.quality?.[e.video?.defaultQuality??0]?.name||``,u=e.title?.back?`
62
+ <div class="kplayer-back">
63
+ <button class="kplayer-title-back-btn" aria-label="Back">
64
+ <span class="kplayer-icon-content">${A(r.back)}</span>
65
+ </button>
66
+ </div>`:``,d=e.title?`
67
+ ${u}
68
+ <div class="kplayer-title-bar">
69
+ <div class="kplayer-title-info">
70
+ <div class="kplayer-title-main">${A(e.title.title||``)}</div>
71
+ ${e.title.description?`<div class="kplayer-title-desc">${A(e.title.description)}</div>`:``}
72
+ </div>
73
+ </div>`:``;return`
74
+ <div class="kplayer-mask"></div>
75
+ <div class="kplayer-video-wrap">
76
+ ${O(a)}
77
+ ${e.logo?`
78
+ <div class="kplayer-logo">
79
+ <img src="${k(e.logo)}" alt="">
80
+ </div>`:``}
81
+ ${d}
82
+ <div class="kplayer-awaken"${s}>
83
+ <div class="kplayer-awaken-item kplayer-awaken-item--demo"></div>
84
+ </div>
85
+ <div class="kplayer-subtitle"></div>
86
+ <div class="kplayer-bezel">
87
+ <span class="kplayer-bezel-icon"></span>
88
+ ${e.awaken?`
89
+ <span class="kplayer-danloading">${A(n(`awaken-loading`))}</span>`:``}
90
+ <span class="diplayer-loading-icon">${A(r.loading)}</span>
91
+ </div>
92
+ </div>
93
+ <div class="kplayer-controller-mask"></div>
94
+
95
+
96
+ <div class="kplayer-controller">
97
+
98
+ <div class="kplayer-icons kplayer-icons-left">
99
+ <div class="kplayer-volume">
100
+ <button class="kplayer-icon kplayer-volume-icon" aria-label="${k(n(`mute`))}">
101
+ <span class="kplayer-icon-content">${A(r.volumeDown)}</span>
102
+ </button>
103
+ <div class="kplayer-volume-bar-wrap" data-balloon-pos="up" role="slider" tabindex="0" aria-label="${k(n(`volume`))}" aria-valuemin="0" aria-valuemax="100" aria-valuenow="${Math.round((e.volume??.7)*100)}">
104
+ <div class="kplayer-volume-bar">
105
+ <div class="kplayer-volume-bar-inner" style="background: ${k(o)};">
106
+ <span class="kplayer-thumb" style="background: ${k(o)}"></span>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ <span class="kplayer-time">
112
+ <span class="kplayer-ptime">0:00</span> /
113
+ <span class="kplayer-dtime">0:00</span>
114
+ </span>
115
+ ${e.live?`
116
+ <span class="kplayer-live-badge"><span class="kplayer-live-dot" style="background: ${k(o)};"></span>${A(n(`live`))}</span>`:``}
117
+ </div>
118
+
119
+ <div class="kplayer-icons kplayer-icons-center">
120
+ <button class="kplayer-icon kplayer-rewind-icon" aria-label="${k(n(`rewind`))}">
121
+ <span class="kplayer-icon-content">${A(r.rewind)}</span>
122
+ </button>
123
+ <button class="kplayer-icon kplayer-play-icon" aria-label="${k(n(`play`))}">
124
+ <span class="kplayer-icon-content">${A(r.play)}</span>
125
+ </button>
126
+ <button class="kplayer-icon kplayer-forward-icon" aria-label="${k(n(`forward`))}">
127
+ <span class="kplayer-icon-content">${A(r.forward)}</span>
128
+ </button>
129
+ </div>
130
+
131
+ <div class="kplayer-icons kplayer-icons-right">
132
+ <div class="kplayer-camera-icon"></div>
133
+ <div class="kplayer-airplay-icon"></div>
134
+ <div class="kplayer-chromecast-icon"></div>
135
+
136
+ <div class="kplayer-setting">
137
+ <button class="kplayer-icon kplayer-setting-icon" data-balloon="${k(n(`setting`))}" data-balloon-pos="up" aria-label="${k(n(`setting`))}" aria-haspopup="true">
138
+ <span class="kplayer-icon-content">${A(r.setting)}</span>
139
+ </button>
140
+
141
+ <div class="kplayer-setting-box">
142
+ <!-- MAIN PANEL -->
143
+ <div class="kplayer-setting-origin-panel">
144
+
145
+ ${e.subtitle?`
146
+ <div class="kplayer-setting-item kplayer-setting-subtitle-entry">
147
+ <div class="kplayer-setting-action-main">
148
+ <span class="kplayer-setting-action-icon">${A(r.subtitle)}</span>
149
+ <span class="kplayer-label">${A(n(`subtitle`))}</span>
150
+ </div>
151
+ <div class="kplayer-setting-item-right">
152
+ <span class="kplayer-setting-current-value" id="kplayer-subtitle-current"></span>
153
+ <span class="kplayer-setting-arrow">${A(r.right)}</span>
154
+ </div>
155
+ </div>`:``}
156
+
157
+ ${e.video?.quality||e.video?.type===`hls`||e.video?.type===`auto`?`
158
+ <div class="kplayer-setting-item kplayer-setting-quality-entry">
159
+ <div class="kplayer-setting-action-main">
160
+ <span class="kplayer-setting-action-icon">${A(r.video||r.setting)}</span>
161
+ <span class="kplayer-label">${A(n(`quality`))}</span>
162
+ </div>
163
+ <div class="kplayer-setting-item-right">
164
+ <span class="kplayer-setting-current-value" id="kplayer-quality-current"> ${A(l||`Auto`)}</span>
165
+ <span class="kplayer-setting-arrow">${A(r.right)}</span>
166
+ </div>
167
+ </div>`:``}
168
+
169
+ ${e.airplay?`
170
+ <div class="kplayer-setting-action kplayer-setting-airplay-entry">
171
+ <div class="kplayer-setting-action-main">
172
+ <span class="kplayer-setting-action-icon">${A(r.airplay)}</span>
173
+ <span class="kplayer-label">${A(n(`airplay`))}</span>
174
+ </div>
175
+ </div>`:``}
176
+
177
+ ${e.chromecast?`
178
+ <div class="kplayer-setting-action kplayer-setting-chromecast-entry">
179
+ <div class="kplayer-setting-action-main">
180
+ <span class="kplayer-setting-action-icon">${A(r.chromecast)}</span>
181
+ <span class="kplayer-label">${A(n(`chromecast`))}</span>
182
+ </div>
183
+ </div>`:``}
184
+
185
+ ${e.screenshot?`
186
+ <div class="kplayer-setting-action kplayer-setting-screenshot-entry">
187
+ <div class="kplayer-setting-action-main">
188
+ <span class="kplayer-setting-action-icon">${A(r.camera)}</span>
189
+ <span class="kplayer-label">${A(n(`screenshot`))}</span>
190
+ </div>
191
+ </div>`:``}
192
+
193
+ <div class="kplayer-setting-item kplayer-setting-speed">
194
+ <div class="kplayer-setting-action-main">
195
+ <span class="kplayer-label">${A(n(`speed`))}</span>
196
+ </div>
197
+ <div class="kplayer-setting-item-right">
198
+ <span class="kplayer-setting-speed-badge" id="kplayer-speed-current">1×</span>
199
+ <span class="kplayer-setting-arrow">${A(r.right)}</span>
200
+ </div>
201
+ </div>
202
+
203
+ <div class="kplayer-setting-item kplayer-setting-loop">
204
+ <div class="kplayer-setting-action-main">
205
+ <span class="kplayer-label">${A(n(`loop`))}</span>
206
+ </div>
207
+ <div class="kplayer-toggle">
208
+ <input class="kplayer-toggle-setting-input" type="checkbox" name="kplayer-toggle" ${j(e.loop)}>
209
+ <label for="kplayer-toggle"></label>
210
+ </div>
211
+ </div>
212
+
213
+ <div class="kplayer-setting-item kplayer-setting-showdan">
214
+ <div class="kplayer-toggle">
215
+ <input class="kplayer-showdan-setting-input" type="checkbox" name="kplayer-toggle-dan" ${j(!0)}>
216
+ <label for="kplayer-toggle-dan"></label>
217
+ </div>
218
+ </div>
219
+
220
+ <div class="kplayer-setting-item kplayer-setting-danunlimit">
221
+ <span class="kplayer-label">${A(n(`unlimited-awaken`))}</span>
222
+ <div class="kplayer-toggle">
223
+ <input class="kplayer-danunlimit-setting-input" type="checkbox" name="kplayer-toggle-danunlimit" ${j(typeof e.awaken==`object`&&e.awaken?.unlimited)}>
224
+ <label for="kplayer-toggle-danunlimit"></label>
225
+ </div>
226
+ </div>
227
+
228
+ <div class="kplayer-setting-item kplayer-setting-awaken">
229
+ <span class="kplayer-label">${A(n(`opacity-awaken`))}</span>
230
+ <div class="kplayer-awaken-bar-wrap">
231
+ <div class="kplayer-awaken-bar">
232
+ <div class="kplayer-awaken-bar-inner">
233
+ <span class="kplayer-thumb"></span>
234
+ </div>
235
+ </div>
236
+ </div>
237
+ </div>
238
+ </div>
239
+
240
+ <!-- SPEED PANEL -->
241
+ <div class="kplayer-setting-speed-panel">
242
+ <div class="kplayer-setting-panel-back kplayer-setting-back-main">
243
+ <div class="kplayer-setting-action-main">
244
+ <span class="kplayer-setting-back-icon">${A(r.back)}</span>
245
+ <span class="kplayer-label">${A(n(`speed`))}</span>
246
+ </div>
247
+ </div>
248
+ ${(e.playbackSpeed||[]).map(e=>`
249
+ <div class="kplayer-setting-speed-item" data-speed="${k(e)}">
250
+ <span class="kplayer-label">${A(e===1?n(`normal`):e)}</span>
251
+ <span class="kplayer-check-icon"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
252
+ </div>`).join(``)}
253
+ </div>
254
+
255
+ <!-- SUBTITLE PANEL -->
256
+ <div class="kplayer-setting-subtitle-panel">
257
+ <div class="kplayer-setting-panel-back kplayer-setting-back-main">
258
+ <div class="kplayer-setting-action-main">
259
+ <span class="kplayer-setting-back-icon">${A(r.back)}</span>
260
+ <span class="kplayer-label">${A(n(`subtitle`))}</span>
261
+ </div>
262
+ </div>
263
+ ${e.subtitle?c?`
264
+ <div class="kplayer-setting-subtitle-toggle">
265
+ <div class="kplayer-setting-action-main">
266
+ <span class="kplayer-setting-action-icon">${A(r.subtitle)}</span>
267
+ <span class="kplayer-label">${A(n(`hide-subs`))}</span>
268
+ </div>
269
+ </div>`:`
270
+ <div class="kplayer-subtitles-inline">
271
+ <div class="kplayer-subtitles-box">
272
+ <div class="kplayer-subtitles-panel">
273
+ ${(Array.isArray(e.subtitle.url)?e.subtitle.url:[]).map(e=>{let t=e,r=t.lang?t.name?`${t.name} (${n(t.lang)})`:n(t.lang):t.name||``;return`
274
+ <div class="kplayer-subtitles-item" data-subtitle="${k(t.url)}">
275
+ <span class="kplayer-label">${A(r)}</span>
276
+ <span class="kplayer-check-icon"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
277
+ </div>`}).join(``)}
278
+ </div>
279
+ </div>
280
+ </div>`:``}
281
+ </div>
282
+
283
+ <!-- QUALITY PANEL -->
284
+ <div class="kplayer-setting-quality-panel">
285
+ <div class="kplayer-setting-panel-back kplayer-setting-back-main">
286
+ <div class="kplayer-setting-action-main">
287
+ <span class="kplayer-setting-back-icon">${A(r.back)}</span>
288
+ <span class="kplayer-label">${A(n(`quality`))}</span>
289
+ </div>
290
+ </div>
291
+ ${e.video?.quality||e.video?.type===`hls`||e.video?.type===`auto`?`
292
+ <div class="kplayer-quality-inline">
293
+ <div class="kplayer-quality-list">
294
+ ${e.video?.quality?e.video.quality.map((e,t)=>`
295
+ <div class="kplayer-quality-item" data-index="${t}">
296
+ <span class="kplayer-label">${A(e.name)}</span>
297
+ <span class="kplayer-check-icon"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
298
+ </div>`).join(``):``}
299
+ </div>
300
+ </div>`:``}
301
+ </div>
302
+ </div>
303
+ </div>
304
+
305
+ <button class="kplayer-icon kplayer-full-in-icon" data-balloon="${k(n(`web-fullscreen`))}" data-balloon-pos="up" aria-label="${k(n(`web-fullscreen`))}">
306
+ <span class="kplayer-icon-content">${A(r.fullWeb)}</span>
307
+ </button>
308
+ <button class="kplayer-icon kplayer-full-icon" data-balloon="${k(n(`fullscreen`))}" data-balloon-pos="up" aria-label="${k(n(`fullscreen`))}">
309
+ <span class="kplayer-icon-content">${A(r.full)}</span>
310
+ </button>
311
+ </div>
312
+
313
+ <div class="kplayer-bar-wrap" role="slider" tabindex="0" aria-label="${k(n(`seek`))}" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" aria-valuetext="0:00">
314
+ <div class="kplayer-bar-time hidden">00:00</div>
315
+ <div class="kplayer-bar-preview"></div>
316
+ <div class="kplayer-bar">
317
+ <div class="kplayer-loaded" style="width: 0;"></div>
318
+ <div class="kplayer-played" style="width: 0; background: ${k(o)}">
319
+ <span class="kplayer-thumb" style="background: ${k(o)}"></span>
320
+ </div>
321
+ </div>
322
+ </div>
323
+ </div>
324
+
325
+ <div class="kplayer-info-panel kplayer-info-panel-hide">
326
+ <div class="kplayer-info-panel-close">[x]</div>
327
+ <div class="kplayer-info-panel-item kplayer-info-panel-item-version">
328
+ <span class="kplayer-info-panel-item-title">Player version</span>
329
+ <span class="kplayer-info-panel-item-data"></span>
330
+ </div>
331
+ <div class="kplayer-info-panel-item kplayer-info-panel-item-fps">
332
+ <span class="kplayer-info-panel-item-title">Player FPS</span>
333
+ <span class="kplayer-info-panel-item-data"></span>
334
+ </div>
335
+ <div class="kplayer-info-panel-item kplayer-info-panel-item-type">
336
+ <span class="kplayer-info-panel-item-title">Video type</span>
337
+ <span class="kplayer-info-panel-item-data"></span>
338
+ </div>
339
+ <div class="kplayer-info-panel-item kplayer-info-panel-item-url">
340
+ <span class="kplayer-info-panel-item-title">Video url</span>
341
+ <span class="kplayer-info-panel-item-data"></span>
342
+ </div>
343
+ <div class="kplayer-info-panel-item kplayer-info-panel-item-resolution">
344
+ <span class="kplayer-info-panel-item-title">Video resolution</span>
345
+ <span class="kplayer-info-panel-item-data"></span>
346
+ </div>
347
+ <div class="kplayer-info-panel-item kplayer-info-panel-item-duration">
348
+ <span class="kplayer-info-panel-item-title">Video duration</span>
349
+ <span class="kplayer-info-panel-item-data"></span>
350
+ </div>
351
+ ${e.awaken?`
352
+ <div class="kplayer-info-panel-item kplayer-info-panel-item-awaken-id">
353
+ <span class="kplayer-info-panel-item-title">Awaken id</span>
354
+ <span class="kplayer-info-panel-item-data"></span>
355
+ </div>
356
+ <div class="kplayer-info-panel-item kplayer-info-panel-item-awaken-api">
357
+ <span class="kplayer-info-panel-item-title">Awaken api</span>
358
+ <span class="kplayer-info-panel-item-data"></span>
359
+ </div>
360
+ <div class="kplayer-info-panel-item kplayer-info-panel-item-awaken-amount">
361
+ <span class="kplayer-info-panel-item-title">Awaken amount</span>
362
+ <span class="kplayer-info-panel-item-data"></span>
363
+ </div>`:``}
364
+ </div>
365
+
366
+ <div class="kplayer-menu">
367
+ ${(e.contextmenu||[]).map(e=>{let t=`${e.key?n(e.key):``}${e.text?e.text:``}`;return`
368
+ <div class="kplayer-menu-item">
369
+ <a ${e.link?`target="_blank" rel="noopener noreferrer"`:``} href="${k(e.link||`#`)}">${A(t)}</a>
370
+ </div>`}).join(``)}
371
+ </div>
372
+
373
+ <div class="kplayer-notice-list"></div>
374
+ <button class="kplayer-mobile-play" style="display:none!important">
375
+ ${A(r.play)}
376
+ </button>
377
+
378
+ <div class="kplayer-mobile-controls">
379
+ <button class="kplayer-mobile-rewind" aria-label="${k(n(`rewind`))}">
380
+ <span class="kplayer-icon-content">${A(r.rewind)}</span>
381
+ </button>
382
+ <button class="kplayer-mobile-play-btn" aria-label="${k(n(`play`))}">
383
+ <span class="kplayer-icon-content">${A(r.play)}</span>
384
+ </button>
385
+ <button class="kplayer-mobile-forward" aria-label="${k(n(`forward`))}">
386
+ <span class="kplayer-icon-content">${A(r.forward)}</span>
387
+ </button>
388
+ </div>
389
+
390
+ `.trim()}var N=class{constructor(e){this.container=e.container,this.options=e.options,this.index=e.index,this.tran=e.tran,this.init()}init(){this.container.innerHTML=M({options:this.options,index:this.index,tran:this.tran,icons:E,mobile:n.isMobile,video:{current:!0,pic:this.options.video.pic,screenshot:this.options.screenshot,airplay:n.isSafari&&!n.isChrome?this.options.airplay:!1,chromecast:this.options.chromecast,preload:this.options.preload,url:this.options.video.url,subtitle:this.options.subtitle}});let e=e=>this.container.querySelector(e),t=e=>this.container.querySelectorAll(e);this.volumeBar=e(`.kplayer-volume-bar-inner`),this.volumeBarWrap=e(`.kplayer-volume-bar`),this.volumeBarWrapWrap=e(`.kplayer-volume-bar-wrap`),this.volumeButton=e(`.kplayer-volume`),this.volumeButtonIcon=e(`.kplayer-volume-icon`),this.volumeIcon=e(`.kplayer-volume-icon .kplayer-icon-content`),this.playedBar=e(`.kplayer-played`),this.loadedBar=e(`.kplayer-loaded`),this.playedBarWrap=e(`.kplayer-bar-wrap`),this.playedBarTime=e(`.kplayer-bar-time`),this.awaken=e(`.kplayer-awaken`),this.awakenLoading=e(`.kplayer-danloading`),this.video=e(`.kplayer-video-current`),this.bezel=e(`.kplayer-bezel-icon`),this.playButton=e(`.kplayer-play-icon`),this.mobilePlayButton=e(`.kplayer-mobile-play`)||document.createElement(`button`),this.videoWrap=e(`.kplayer-video-wrap`),this.controllerMask=e(`.kplayer-controller-mask`),this.ptime=e(`.kplayer-ptime`),this.settingButton=e(`.kplayer-setting-icon`),this.settingBox=e(`.kplayer-setting-box`),this.mask=e(`.kplayer-mask`),this.loop=e(`.kplayer-setting-loop`),this.loopToggle=e(`.kplayer-setting-loop .kplayer-toggle-setting-input`),this.showAwaken=e(`.kplayer-setting-showdan`),this.showAwakenToggle=e(`.kplayer-showdan-setting-input`),this.unlimitAwaken=e(`.kplayer-setting-danunlimit`),this.unlimitAwakenToggle=e(`.kplayer-danunlimit-setting-input`),this.speed=e(`.kplayer-setting-speed`),this.speedItem=t(`.kplayer-setting-speed-item`),this.awakenOpacityBar=e(`.kplayer-awaken-bar-inner`),this.awakenOpacityBarWrap=e(`.kplayer-awaken-bar`),this.awakenOpacityBarWrapWrap=e(`.kplayer-awaken-bar-wrap`),this.awakenOpacityBox=e(`.kplayer-setting-awaken`),this.dtime=e(`.kplayer-dtime`),this.controller=e(`.kplayer-controller`),this.browserFullButton=e(`.kplayer-full-icon`),this.webFullButton=e(`.kplayer-full-in-icon`),this.menu=e(`.kplayer-menu`),this.menuItem=t(`.kplayer-menu-item`),this.qualityList=e(`.kplayer-quality-list`),this.camareButton=e(`.kplayer-camera-icon`),this.airplayButton=e(`.kplayer-airplay-icon`),this.chromecastButton=e(`.kplayer-chromecast-icon`),this.subtitleButton=e(`.kplayer-subtitle-icon`),this.subtitleButtonInner=e(`.kplayer-subtitle-icon .kplayer-icon-content`),this.subtitlesBox=e(`.kplayer-subtitles-box`),this.subtitlesItem=t(`.kplayer-subtitles-item`),this.subtitle=e(`.kplayer-subtitle`),this.subtrack=e(`.kplayer-subtrack`),this.barPreview=e(`.kplayer-bar-preview`),this.barWrap=e(`.kplayer-bar-wrap`),this.noticeList=e(`.kplayer-notice-list`),this.infoPanel=e(`.kplayer-info-panel`),this.infoPanelClose=e(`.kplayer-info-panel-close`),this.infoVersion=e(`.kplayer-info-panel-item-version .kplayer-info-panel-item-data`),this.infoFPS=e(`.kplayer-info-panel-item-fps .kplayer-info-panel-item-data`),this.infoType=e(`.kplayer-info-panel-item-type .kplayer-info-panel-item-data`),this.infoUrl=e(`.kplayer-info-panel-item-url .kplayer-info-panel-item-data`),this.infoResolution=e(`.kplayer-info-panel-item-resolution .kplayer-info-panel-item-data`),this.infoDuration=e(`.kplayer-info-panel-item-duration .kplayer-info-panel-item-data`),this.infoAwakenId=e(`.kplayer-info-panel-item-awaken-id .kplayer-info-panel-item-data`),this.infoAwakenApi=e(`.kplayer-info-panel-item-awaken-api .kplayer-info-panel-item-data`),this.infoAwakenAmount=e(`.kplayer-info-panel-item-awaken-amount .kplayer-info-panel-item-data`),this.subtitlesButton=e(`.kplayer-subtitles-icon`)||{addEventListener:()=>{},dataset:{},style:{}},this.qualityButton=e(`.kplayer-quality-icon`)||document.createElement(`span`),this.titleBar=e(`.kplayer-title-bar`),this.titleBack=e(`.kplayer-title-back-btn`),this.titleMain=e(`.kplayer-title-main`),this.titleDesc=e(`.kplayer-title-desc`),this.subtitleEntry=e(`.kplayer-setting-subtitle-entry`),this.qualityEntry=e(`.kplayer-setting-quality-entry`),this.qualityItems=t(`.kplayer-quality-item`)}static NewNotice(e,t,n){let r=document.createElement(`div`);return r.classList.add(`kplayer-notice`),r.style.opacity=String(t),r.innerText=e,n&&(r.id=`kplayer-notice-${n}`),r}},P=class{constructor(e){this.currentAd=null,this.adContainer=null,this.skipRemaining=0,this.adMarkers=[],this._timeUpdateBound=!1,this._shownAds=new Set,this._adVideo=null,this.player=e,this.options=e.options.ad||null,this._createAdContainer(),this.options&&Array.isArray(this.options.url)&&this.options.url.length>0&&(this._renderBarMarkers(),this._bindTimeUpdate())}_createAdContainer(){let e=this.player.template.videoWrap;this.adContainer=document.createElement(`div`),this.adContainer.className=`kplayer-ad-container`,Object.assign(this.adContainer.style,{display:`none`,position:`absolute`,top:`0`,left:`0`,right:`0`,bottom:`0`,zIndex:`100`,background:`#000`}),this.adContent=document.createElement(`div`),this.adContent.className=`kplayer-ad-content`,Object.assign(this.adContent.style,{width:`100%`,height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`,position:`relative`}),this.skipBtn=document.createElement(`button`),this.skipBtn.className=`kplayer-ad-skip-btn`,Object.assign(this.skipBtn.style,{position:`absolute`,bottom:`60px`,right:`16px`,zIndex:`60`,display:`none`,alignItems:`center`,gap:`6px`,padding:`6px 14px`,border:`none`,borderRadius:`2px`,background:`rgba(255, 255, 255, 0.96)`,color:`rgba(0, 0, 0, 1.0)`,fontSize:`13px`,fontWeight:`400`,cursor:`pointer`}),this.skipBtn.innerHTML=`<span class="kplayer-ad-skip-text">Skip ad in <span class="kplayer-ad-skip-count">5</span>s</span>`,this.skipBtn.addEventListener(`click`,()=>this._skipAd()),this.deeplinkBtn=document.createElement(`button`),this.deeplinkBtn.className=`kplayer-ad-deeplink-btn`,Object.assign(this.deeplinkBtn.style,{position:`absolute`,bottom:`60px`,left:`16px`,zIndex:`60`,display:`none`,alignItems:`center`,gap:`6px`,padding:`6px 14px`,border:`none`,borderRadius:`2px`,background:`rgba(255, 255, 255, 0.96)`,color:`rgba(0, 0, 0, 1.0)`,fontSize:`13px`,cursor:`pointer`}),this.deeplinkBtn.textContent=`Learn more`,this.deeplinkBtn.addEventListener(`click`,()=>{this.currentAd?.deeplink&&window.open(this.currentAd.deeplink,`_blank`)}),this.adLabel=document.createElement(`div`),this.adLabel.className=`kplayer-ad-label`,Object.assign(this.adLabel.style,{position:`absolute`,top:`12px`,left:`16px`,zIndex:`60`,padding:`5px 10px`,borderRadius:`2px`,background:`rgba(255, 174, 0, 0.8)`,color:`rgba(255, 255, 255, 1.0)`,fontSize:`12px`,letterSpacing:`0.04em`}),this.adLabel.textContent=`Ad`,this.adContainer.appendChild(this.adContent),this.adContainer.appendChild(this.skipBtn),this.adContainer.appendChild(this.deeplinkBtn),this.adContainer.appendChild(this.adLabel),e.appendChild(this.adContainer)}_createMarker(e,t){let n=document.createElement(`div`);n.className=`kplayer-ad-marker`,n.style.left=`${e}%`;let r=document.createElement(`span`);r.className=`kplayer-ad-marker-text`;let i=`Ad`;if(t.name?.includes(`vast_`)){let e=t.name.replace(`vast_`,``);i=e===`start`||e===`end`?`Ad`:`Ad · ${e}`}else t.name&&(i=t.name);return r.textContent=i,n.appendChild(r),n}_renderBarMarkers(){this.player.on(`durationchange`,()=>{let e=this.player.video.duration;!e||e===1/0||(this.adMarkers.forEach(e=>e.parentNode?.removeChild(e)),this.adMarkers=[],(this.options?.url||[]).forEach(t=>{if(t.startTime===void 0||t.startTime<=0)return;let n=t.startTime/e*100;if(n>=100)return;let r=this._createMarker(n,t);this.player.template.playedBarWrap.appendChild(r),this.adMarkers.push(r)}))})}_bindTimeUpdate(){this._timeUpdateBound||(this._timeUpdateBound=!0,this.player.on(`timeupdate`,()=>{if(this.currentAd||!this.options?.url)return;let e=this.player.video.currentTime,t=this.player.video.duration;for(let n of this.options.url){n._isPostroll&&t&&t!==1/0&&(n.startTime=t-1);let r=`${n.name}_${n.startTime}`;if(!this._shownAds.has(r)&&Math.abs(e-(n.startTime||0))<.8){this._shownAds.add(r),n._impressionUrl&&fetch(n._impressionUrl).catch(()=>{}),this._showAd(n);break}}}))}_showAd(e){this.currentAd=e,this.adContent.innerHTML=``,this.adContainer&&(this.adContainer.style.display=`block`),this.player.container.classList.add(`kplayer-ad-playing`),this.player.controller.hide(),this.player.controller.disableAutoHide=!0;let t=this.player.template.titleBar;t&&(t.style.opacity=`0`,t.style.visibility=`hidden`,t.style.pointerEvents=`none`),this.player.setting.hide(),this.deeplinkBtn.style.display=e.deeplink?`flex`:`none`,e.type===`image`?this._showImageAd(e):e.type===`text`?this._showTextAd(e):e.type===`video`&&this._showVideoAd(e),e.type===`video`?this.player.video.pause():this.player.pause(),this._startSkipTimer(e.skipTime||5)}_showImageAd(e){let t=document.createElement(`img`);t.src=e.url,Object.assign(t.style,{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`,cursor:e.deeplink?`pointer`:`default`}),e.deeplink&&t.addEventListener(`click`,()=>window.open(e.deeplink,`_blank`)),this.adContent.appendChild(t)}_showTextAd(e){let t=e.backroundColor?e.backroundColor.startsWith(`#`)?e.backroundColor:`#`+e.backroundColor:`#1a1a1a`;this.adContent.style.background=t,this.adContainer&&(this.adContainer.style.background=t);let n=document.createElement(`div`);Object.assign(n.style,{color:`#fff`,fontSize:`18px`,fontWeight:`400`,textAlign:`center`,padding:`24px`,lineHeight:`1.6`,cursor:e.deeplink?`pointer`:`default`}),n.textContent=e.url,e.deeplink&&n.addEventListener(`click`,()=>window.open(e.deeplink,`_blank`)),this.adContent.appendChild(n)}_showVideoAd(e){this.adContainer&&(this.adContainer.style.background=`#000`),this.adContent.style.background=`#000`;let t=document.createElement(`video`);t.src=e.url,t.autoplay=!0,t.controls=!1,Object.assign(t.style,{width:`100%`,height:`100%`,objectFit:`contain`,cursor:e.deeplink?`pointer`:`default`}),e.deeplink&&t.addEventListener(`click`,()=>window.open(e.deeplink,`_blank`)),t.addEventListener(`ended`,()=>this._closeAd()),this.adContent.appendChild(t),this._adVideo=t}_startSkipTimer(e){this.skipRemaining=e,this.skipBtn.style.display=`flex`;let t=this.skipBtn.querySelector(`.kplayer-ad-skip-text`);this.skipBtn.disabled=!0,this.skipBtn.style.opacity=`0.6`,this.skipBtn.style.cursor=`default`,t&&(t.innerHTML=`Skip ad in <span class="kplayer-ad-skip-count">${this.skipRemaining}</span>s`),clearInterval(this.skipTimer),this.skipTimer=setInterval(()=>{this.skipRemaining--,this.skipRemaining<=0?(clearInterval(this.skipTimer),this.skipBtn.disabled=!1,this.skipBtn.style.opacity=`1`,this.skipBtn.style.cursor=`pointer`,t&&(t.textContent=`Skip ad`)):t&&(t.innerHTML=`Skip ad in <span class="kplayer-ad-skip-count">${this.skipRemaining}</span>s`)},1e3)}_skipAd(){this.skipRemaining>0||this._closeAd()}_closeAd(){clearInterval(this.skipTimer),this.player.container.classList.remove(`kplayer-ad-playing`),this._adVideo&&=(this._adVideo.pause(),this._adVideo.src=``,null),this.adContent.style.background=``,this.adContainer&&(this.adContainer.style.background=`#000`,this.adContainer.style.display=`none`),this.skipBtn.style.display=`none`,this.deeplinkBtn.style.display=`none`,this.adContent.innerHTML=``,this.player.controller.disableAutoHide=!1,this.player.controller.show();let e=this.player.template.titleBar;e&&(e.style.opacity=``,e.style.visibility=``,e.style.pointerEvents=``,e.style.transform=``);let t=this.currentAd;if(this.currentAd=null,t&&t.startTime!==void 0){let e=(t.startTime||0)+.5,n=this.player.video.duration||0;n>0&&e<n&&(this.player.video.currentTime=e)}this.player.play()}async _loadVAST(e){try{let t=await(await fetch(e)).text(),n=new DOMParser().parseFromString(t,`text/xml`),r=`http://www.iab.net/videosuite/vmap`,i=n.getElementsByTagNameNS(r,`AdBreak`);if(i.length>0){let e=this.player.video.duration||0,t=[];for(let n of Array.from(i)){let i=n.getAttribute(`timeOffset`)||``,a=0;i===`start`?a=0:i===`end`?a=e>0?e-1:99999:i&&(a=this._parseTime(i));let o=n.getElementsByTagNameNS(r,`AdTagURI`)[0]?.textContent?.trim();o&&t.push({vastUrl:o,startTime:a,timeOffset:i})}for(let{vastUrl:e,startTime:n,timeOffset:r}of t)await this._fetchVASTAndRegister(e,n,r);this._registerVMAPMarkers()}else await this._parseVASTAndShow(n,0,5)}catch(e){console.warn(`[Kplayer] VAST/VMAP load failed:`,e)}}async _fetchVASTAndRegister(e,t,n){try{let r=await(await fetch(e)).text(),i=new DOMParser().parseFromString(r,`text/xml`),a=i.querySelector(`MediaFile`)?.textContent?.trim(),o=i.querySelector(`Linear`)?.getAttribute(`skipoffset`),s=o?this._parseTime(o):5,c=i.querySelector(`Impression`)?.textContent?.trim();if(!a)return;let l={type:`video`,url:a,startTime:t,skipTime:s,name:`vast_${n}`,_impressionUrl:c,_isPostroll:n===`end`};this.options||={url:[]},Array.isArray(this.options.url)||(this.options.url=[]),this.options.url.push(l)}catch(t){console.warn(`[Kplayer] VAST fetch failed:`,e,t)}}_registerVMAPMarkers(){let e=()=>{let e=this.player.video.duration;!e||e===1/0||((this.options?.url||[]).forEach(t=>{t._isPostroll&&(t.startTime=e-1)}),this.adMarkers.forEach(e=>e.parentNode?.removeChild(e)),this.adMarkers=[],(this.options?.url||[]).forEach(t=>{if(t.startTime===void 0||t.startTime<=0)return;let n=t.startTime/e*100;if(n>=100)return;let r=this._createMarker(n,t);this.player.template.playedBarWrap.appendChild(r),this.adMarkers.push(r)}))};this.player.video.duration&&this.player.video.duration!==1/0?e():this.player.on(`durationchange`,e),this._bindTimeUpdate()}async _parseVASTAndShow(e,t,n){let r=e.querySelector(`MediaFile`)?.textContent?.trim(),i=e.querySelector(`Linear`)?.getAttribute(`skipoffset`),a=i?this._parseTime(i):n,o=e.querySelector(`Impression`)?.textContent?.trim();o&&fetch(o).catch(()=>{}),r&&this._showAd({type:`video`,url:r,startTime:t,skipTime:a})}_parseTime(e){if(!e)return 0;let t=e.split(`:`);return t.length===3?parseInt(t[0])*3600+parseInt(t[1])*60+parseFloat(t[2]):0}destroy(){clearInterval(this.skipTimer),this.adMarkers.forEach(e=>e.parentNode?.removeChild(e)),this.adContainer?.parentNode&&this.adContainer.parentNode.removeChild(this.adContainer)}},F=class{constructor(){this.events={},this.videoEvents=[`abort`,`canplay`,`canplaythrough`,`durationchange`,`emptied`,`ended`,`error`,`loadeddata`,`loadedmetadata`,`loadstart`,`mozaudioavailable`,`pause`,`play`,`playing`,`progress`,`ratechange`,`seeked`,`seeking`,`stalled`,`suspend`,`timeupdate`,`volumechange`,`waiting`],this.playerEvents=[`screenshot`,`thumbnails_show`,`thumbnails_hide`,`awaken_show`,`awaken_hide`,`awaken_clear`,`awaken_loaded`,`awaken_send`,`awaken_opacity`,`contextmenu_show`,`contextmenu_hide`,`notice_show`,`notice_hide`,`quality_start`,`quality_end`,`destroy`,`resize`,`fullscreen`,`fullscreen_cancel`,`webfullscreen`,`webfullscreen_cancel`,`subtitle_show`,`subtitle_hide`,`subtitle_change`,`title_back`]}on(e,t){this.type(e)&&typeof t==`function`&&(this.events[e]||(this.events[e]=[]),this.events[e].push(t))}trigger(e,t){if(this.events[e]&&this.events[e].length)for(let n=0;n<this.events[e].length;n++)this.events[e][n](t)}type(e){return this.playerEvents.indexOf(e)===-1?this.videoEvents.indexOf(e)===-1?(console.error(`Unknown event name: ${e}`),null):`video`:`player`}},I=class{constructor(e){this.player=e,this.lastScrollPosition={left:0,top:0},this.player.events.on(`webfullscreen`,()=>{this.player.resize()}),this.player.events.on(`webfullscreen_cancel`,()=>{this.player.resize(),n.setScrollPosition(this.lastScrollPosition)}),this.fullscreenchange=()=>{this.player.resize(),this.isFullScreen(`browser`)?this.player.events.trigger(`fullscreen`):(n.setScrollPosition(this.lastScrollPosition),this.player.events.trigger(`fullscreen_cancel`))},this.docfullscreenchange=()=>{let e=document,t=document.fullscreenElement||e.mozFullScreenElement||e.msFullscreenElement;t&&t!==this.player.container||(this.player.resize(),t?this.player.events.trigger(`fullscreen`):(n.setScrollPosition(this.lastScrollPosition),this.player.events.trigger(`fullscreen_cancel`)))},/Firefox/.test(navigator.userAgent)?(document.addEventListener(`mozfullscreenchange`,this.docfullscreenchange),document.addEventListener(`fullscreenchange`,this.docfullscreenchange)):(this.player.container.addEventListener(`fullscreenchange`,this.fullscreenchange),this.player.container.addEventListener(`webkitfullscreenchange`,this.fullscreenchange),document.addEventListener(`msfullscreenchange`,this.docfullscreenchange),document.addEventListener(`MSFullscreenChange`,this.docfullscreenchange))}isFullScreen(e=`browser`){let t=document;switch(e){case`browser`:return document.fullscreenElement||t.mozFullScreenElement||t.webkitFullscreenElement||t.msFullscreenElement||null;case`web`:return this.player.container.classList.contains(`kplayer-fulled`)}}request(e=`browser`){let t=e===`browser`?`web`:`browser`,r=this.isFullScreen(t);switch(r||(this.lastScrollPosition=n.getScrollPosition()),e){case`browser`:{let e=this.player.container,t=this.player.video;e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():t.webkitEnterFullscreen?t.webkitEnterFullscreen():t.webkitEnterFullScreen?t.webkitEnterFullScreen():e.msRequestFullscreen&&e.msRequestFullscreen();break}case`web`:this.player.container.classList.add(`kplayer-fulled`),document.body.classList.add(`kplayer-web-fullscreen-fix`),this.player.events.trigger(`webfullscreen`);break}r&&this.cancel(t)}cancel(e=`browser`){let t=document;switch(e){case`browser`:t.cancelFullScreen?t.cancelFullScreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.webkitCancelFullScreen?t.webkitCancelFullScreen():t.webkitCancelFullscreen?t.webkitCancelFullscreen():t.msCancelFullScreen?t.msCancelFullScreen():t.msExitFullscreen?t.msExitFullscreen():document.exitFullscreen&&document.exitFullscreen();break;case`web`:this.player.container.classList.remove(`kplayer-fulled`),document.body.classList.remove(`kplayer-web-fullscreen-fix`),this.player.events.trigger(`webfullscreen_cancel`);break}}toggle(e=`browser`){this.isFullScreen(e)?this.cancel(e):this.request(e)}destroy(){/Firefox/.test(navigator.userAgent)?(document.removeEventListener(`mozfullscreenchange`,this.docfullscreenchange),document.removeEventListener(`fullscreenchange`,this.docfullscreenchange)):(this.player.container.removeEventListener(`fullscreenchange`,this.fullscreenchange),this.player.container.removeEventListener(`webkitfullscreenchange`,this.fullscreenchange),document.removeEventListener(`msfullscreenchange`,this.docfullscreenchange),document.removeEventListener(`MSFullscreenChange`,this.docfullscreenchange))}},L=class{constructor(e){this.storageName={opacity:`kplayer-awaken-opacity`,volume:`kplayer-volume`,unlimited:`kplayer-awaken-unlimited`,awaken:`kplayer-awaken-show`,subtitle:`kplayer-subtitle-show`},this.default={opacity:.7,volume:e.options.hasOwnProperty(`volume`)?e.options.volume??.7:.7,unlimited:(e.options.awaken&&typeof e.options.awaken==`object`&&e.options.awaken.unlimited?1:0)||0,awaken:1,subtitle:1},this.data={},this.init()}init(){for(let e in this.storageName){let t=e,r=this.storageName[t];this.data[t]=parseFloat(n.storage.get(r)||String(this.default[t]))}}get(e){return this.data[e]}set(e,t){this.data[e]=t,n.storage.set(this.storageName[e],t)}},R=class{constructor(e,t,n,r){this._track=null,this.container=e,this.video=t,this.options=n,this.events=r,this.init()}init(){this.container.style.fontSize=this.options.fontSize||`20px`,this.container.style.bottom=this.options.bottom||`40px`,this.container.style.color=this.options.color||`#fff`}async loadVttText(e){this._clearTrack();let t=this.video.addTextTrack(`subtitles`,``,``);t.mode=`showing`,this._track=t;let n=this._parseVtt(e);for(let e of n)try{t.addCue(e)}catch(e){console.warn(`[KPlayer] addCue failed:`,e)}this._onTimeUpdateBound=this._onTimeUpdate.bind(this),this.video.addEventListener(`timeupdate`,this._onTimeUpdateBound)}_onTimeUpdate(){if(!this._track?.activeCues)return;let e=this._track.activeCues;this.container.innerHTML=``;for(let t=0;t<e.length;t++){let n=e[t],r=document.createElement(`p`);r.textContent=n.text.replace(/<[^>]+>/g,``),this.container.appendChild(r)}}_clearTrack(){if(this._onTimeUpdateBound&&=(this.video.removeEventListener(`timeupdate`,this._onTimeUpdateBound),void 0),this._track){for(;this._track.cues&&this._track.cues.length>0;)this._track.removeCue(this._track.cues[0]);this._track.mode=`disabled`,this._track.oncuechange=null,this._track=null}this.container.innerHTML=``}_parseVtt(e){let t=[],n=e.replace(/^\uFEFF/,``).trim().split(/\n\s*\n/);for(let e of n){let n=e.trim().split(`
391
+ `);if(!n.length||n[0].startsWith(`WEBVTT`)||n[0].startsWith(`NOTE`)||n[0].startsWith(`STYLE`))continue;let r=-1;for(let e=0;e<n.length;e++)if(n[e].includes(`-->`)){r=e;break}if(r===-1)continue;let i=n[r].match(/((?:\d{2}:)?\d{2}:\d{2}[.,]\d{3})\s*-->\s*((?:\d{2}:)?\d{2}:\d{2}[.,]\d{3})/);if(!i)continue;let a=this._timeToSeconds(i[1]),o=this._timeToSeconds(i[2]),s=n.slice(r+1).join(`
392
+ `).trim();if(s)try{let e=new VTTCue(a,o,s);t.push(e)}catch(e){console.warn(`[KPlayer] VTTCue failed:`,e,a,o,s)}}return t}_timeToSeconds(e){let t=e.replace(`,`,`.`).split(`:`);return t.length===3?parseInt(t[0])*3600+parseInt(t[1])*60+parseFloat(t[2]):t.length===2?parseInt(t[0])*60+parseFloat(t[1]):0}show(){this.container.classList.remove(`kplayer-subtitle-hide`),this._track&&(this._track.mode=`hidden`),this.events.trigger(`subtitle_show`)}hide(){this.container.classList.add(`kplayer-subtitle-hide`),this._track&&(this._track.mode=`disabled`),this.events.trigger(`subtitle_hide`)}toggle(){this.container.classList.contains(`kplayer-subtitle-hide`)?this.show():this.hide()}destroy(){this._clearTrack()}},z=class{constructor(e){this.player=e,this.player.template.mask.addEventListener(`click`,()=>{this.hide()}),this.player.template.subtitlesButton&&`addEventListener`in this.player.template.subtitlesButton&&this.player.template.subtitlesButton.addEventListener(`click`,()=>{this.adaptiveHeight(),this.show()});let t=Array.from(this.player.template.subtitlesItem||[]),n=t.length-1;if(n<0)return;for(let e=0;e<n;e++)t[e].addEventListener(`click`,()=>{this.hide(),this.selectSubtitle(e)});t[n].addEventListener(`click`,()=>{this.hide(),this.selectOff()});let r=this.player.options.subtitle?.index??0;t[r]&&(t.forEach(e=>e.classList.remove(`kplayer-selected`)),t[r].classList.add(`kplayer-selected`))}reloadTrack(){let e=this.player.video,t=this.player.template.subtrack;if(t){if(t.default=!0,e?.textTracks?.[0])try{e.textTracks[0].mode=`disabled`,e.textTracks[0].mode=`showing`;return}catch{}e&&typeof e.load==`function`&&e.load()}}clearSelected(){Array.from(this.player.template.subtitlesItem||[]).forEach(e=>e.classList.remove(`kplayer-selected`))}selectSubtitle(e){let t=Array.from(this.player.template.subtitlesItem||[])[e];t&&(this.clearSelected(),t.classList.add(`kplayer-selected`),this.player.options.subtitle.index=e,this.player.loadSubtitleByIndex(e),this.player.template.subtitle.classList.contains(`kplayer-subtitle-hide`)&&this.subContainerShow())}selectOff(){let e=Array.from(this.player.template.subtitlesItem||[]),t=e.length-1,n=e[t];n&&(this.clearSelected(),n.classList.add(`kplayer-selected`),this.player.options.subtitle.index=t,this.player.subtitle?.hide(),this.player.template.subtitle.innerHTML=``,this.subContainerHide())}subContainerShow(){this.player.template.subtitle.classList.remove(`kplayer-subtitle-hide`),this.player.events.trigger(`subtitle_show`)}subContainerHide(){this.player.template.subtitle.classList.add(`kplayer-subtitle-hide`),this.player.events.trigger(`subtitle_hide`)}hide(){this.player.template.subtitlesBox?.classList.remove(`kplayer-subtitles-box-open`),this.player.template.mask.classList.remove(`kplayer-mask-show`),this.player.controller.disableAutoHide=!1}show(){this.player.template.subtitlesBox?.classList.add(`kplayer-subtitles-box-open`),this.player.template.mask.classList.add(`kplayer-mask-show`),this.player.controller.disableAutoHide=!0}adaptiveHeight(){let e=Array.from(this.player.template.subtitlesItem||[]).length*30+14,t=this.player.template.videoWrap.offsetHeight*.8;this.player.template.subtitlesBox&&(e>=t-50?(this.player.template.subtitlesBox.style.bottom=`8px`,this.player.template.subtitlesBox.style.maxHeight=`${t-8}px`):(this.player.template.subtitlesBox.style.bottom=`50px`,this.player.template.subtitlesBox.style.maxHeight=`${t-50}px`))}updateUrls(e){Array.isArray(e)&&this.player.options.subtitle&&(this.player.options.subtitle.url=e)}},B=class{constructor(e){this.elements={},e.volumeBar&&(this.elements.volume=e.volumeBar),e.playedBar&&(this.elements.played=e.playedBar),e.loadedBar&&(this.elements.loaded=e.loadedBar),e.awakenOpacityBar&&(this.elements.awaken=e.awakenOpacityBar)}set(e,t,n){t=Math.max(t,0),t=Math.min(t,1),this.elements[e]&&(this.elements[e].style[n]=t*100+`%`)}get(e){return parseFloat(this.elements[e]?.style.width||`0`)/100}},V=class{constructor(e){this.enableloadingChecker=!1,this.enableinfoChecker=!1,this.enablefpsChecker=!1,this.fpsIndex=0,this.player=e,window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60),0},this.types=[`loading`,`info`,`fps`],this.init()}init(){this.types.forEach(e=>{e!==`fps`&&this[`init${e}Checker`]()})}initloadingChecker(){let e=0,t=0,n=!1;this.loadingChecker=setInterval(()=>{this.enableloadingChecker&&(t=this.player.video.currentTime,!n&&t===e&&!this.player.video.paused&&(this.player.container.classList.add(`kplayer-loading`),n=!0),n&&t>e&&!this.player.video.paused&&(this.player.container.classList.remove(`kplayer-loading`),n=!1),e=t)},100)}initfpsChecker(){window.requestAnimationFrame(()=>{if(this.enablefpsChecker)if(this.initfpsChecker(),!this.fpsStart)this.fpsStart=new Date,this.fpsIndex=0;else{this.fpsIndex++;let e=new Date;e.getTime()-this.fpsStart.getTime()>1e3&&(this.player.infoPanel.fps(this.fpsIndex/(e.getTime()-this.fpsStart.getTime())*1e3),this.fpsStart=new Date,this.fpsIndex=0)}else this.fpsStart=void 0,this.fpsIndex=0})}initinfoChecker(){this.infoChecker=setInterval(()=>{this.enableinfoChecker&&this.player.infoPanel.update()},1e3)}enable(e){this[`enable${e}Checker`]=!0,e===`fps`&&this.initfpsChecker()}disable(e){this[`enable${e}Checker`]=!1}destroy(){this.types.forEach(e=>{this[`enable${e}Checker`]=!1;let t=this[`${e}Checker`];t&&clearInterval(t)})}},H=class{constructor(e){this.container=e,this.container.addEventListener(`animationend`,()=>{this.container.classList.remove(`kplayer-bezel-transition`)})}switch(e){this.container.innerHTML=e,this.container.classList.add(`kplayer-bezel-transition`)}},U=class{constructor(e){this.container=e.container,this.barWidth=e.barWidth,this.container.style.backgroundImage=`url('${e.url}')`,this.events=e.events}resize(e,t,n){this.container.style.width=`${e}px`,this.container.style.height=`${t}px`,this.container.style.top=`${-t+2}px`,this.barWidth=n}show(){this.container.style.display=`block`,this.events&&this.events.trigger(`thumbnails_show`)}move(e){this.container.style.backgroundPosition=`-${(Math.ceil(e/this.barWidth*100)-1)*160}px 0`,this.container.style.left=`${Math.min(Math.max(e-this.container.offsetWidth/2,-10),this.barWidth-150)}px`}hide(){this.container.style.display=`none`,this.events&&this.events.trigger(`thumbnails_hide`)}},W=!0,G=!1,K=class{constructor(e){this.autoHideTimer=0,this.disableAutoHide=!1,this._skipBtn=null,this._skipTarget=null,this.session=void 0,this.currentMedia=null,this._tapTime=0,this._tapSide=null,this._tapTimer=0,this._seekAccum=0,this._rippleTimer=0,this.player=e,n.isMobile||(this.setAutoHideHandler=this.setAutoHide.bind(this),this.player.container.addEventListener(`mousemove`,this.setAutoHideHandler),this.player.container.addEventListener(`click`,this.setAutoHideHandler),this.player.on(`play`,this.setAutoHideHandler),this.player.on(`pause`,this.setAutoHideHandler)),this.initPlayButton(),this.initSeekButtons(),this.initThumbnails(),this.initPlayedBar(),this.initFullButton(),this.initQualityButton(),this.initScreenshotButton(),this.player.options.subtitle&&typeof this.player.options.subtitle.url==`string`&&this.initSubtitleButton(),this.initHighlights(),this.initAirplayButton(),this.initChromecastButton(),n.isMobile||this.initVolumeButton()}initPlayButton(){this.player.template.playButton.addEventListener(`click`,()=>{this.player.toggle()}),this.player.template.mobilePlayButton.addEventListener(`click`,()=>{this.player.toggle()}),n.isMobile?(this._setupMobileTapSeek(),this.player.template.controllerMask.addEventListener(`click`,()=>{this.toggle()})):this.player.options.preventClickToggle||(this.player.template.videoWrap.addEventListener(`click`,()=>{this.player.toggle()}),this.player.template.controllerMask.addEventListener(`click`,()=>{this.player.toggle()}));let e=this.player.container.querySelector(`.kplayer-mobile-rewind`),t=this.player.container.querySelector(`.kplayer-mobile-forward`),r=this.player.container.querySelector(`.kplayer-mobile-play-btn`);e?.addEventListener(`click`,e=>{e.stopPropagation(),this.player.seek(this.player.video.currentTime-10),this.setAutoHide()}),t?.addEventListener(`click`,e=>{e.stopPropagation(),this.player.seek(this.player.video.currentTime+10),this.setAutoHide()}),r?.addEventListener(`click`,e=>{e.stopPropagation(),this.player.toggle()})}initSeekButtons(){let e=this.player.container.querySelector(`.kplayer-rewind-icon`),t=this.player.container.querySelector(`.kplayer-forward-icon`);e?.addEventListener(`click`,e=>{e.stopPropagation(),this.player.seek(this.player.video.currentTime-10)}),t?.addEventListener(`click`,e=>{e.stopPropagation(),this.player.seek(this.player.video.currentTime+10)})}initHighlights(){this._createSkipButton(),this.player.on(`durationchange`,()=>{if(this.player.video.duration!==1&&this.player.video.duration!==1/0&&this.player.options.highlight){let e=this.player.template.playedBarWrap.querySelectorAll(`.kplayer-highlight`);Array.from(e).forEach(e=>{this.player.template.playedBarWrap.removeChild(e)});for(let e=0;e<this.player.options.highlight.length;e++){let t=this.player.options.highlight[e];if(!t.text||!t.time)continue;let n=document.createElement(`div`);n.classList.add(`kplayer-highlight`),n.style.left=t.time/this.player.video.duration*100+`%`,n.innerHTML=`<span class="kplayer-highlight-text">${t.text}</span>`,n.addEventListener(`click`,e=>{e.stopPropagation(),this.player.seek(t.time),this.player.paused&&this.player.play()}),this.player.template.playedBarWrap.insertBefore(n,this.player.template.playedBarTime)}}}),this.player.on(`timeupdate`,()=>{this._updateSkipButton()})}_createSkipButton(){if(this.player.container.querySelector(`.kplayer-skip-btn`))return;let e=document.createElement(`button`);e.classList.add(`kplayer-skip-btn`),e.style.display=`none`,e.innerHTML=`<span class="kplayer-skip-btn-text"></span>`,e.addEventListener(`click`,t=>{t.stopPropagation(),this._skipTarget!=null&&(this.player.seek(this._skipTarget),this.player.paused&&this.player.play()),e.style.display=`none`}),this.player.template.videoWrap.appendChild(e),this._skipBtn=e,this._skipTarget=null}_updateSkipButton(){if(!this.player.options.highlight||!this._skipBtn)return;let e=this.player.options.highlight,t=this.player.video.currentTime,n=!1;for(let r=0;r<e.length-1;r++){let i=e[r],a=e[r+1];if(/\bstart\b|\bэхлэл\b/i.test(i.text)&&/\bend\b|\bтөгсгөл\b/i.test(a.text)&&!(t<i.time||t>=a.time)){this._skipTarget=a.time,this._skipBtn.querySelector(`.kplayer-skip-btn-text`).textContent=i.text,this._skipBtn.style.display=`flex`,n=!0;break}}n||(this._skipBtn.style.display=`none`)}initThumbnails(){this.player.options.video.thumbnails&&(this.thumbnails=new U({container:this.player.template.barPreview,barWidth:this.player.template.barWrap.offsetWidth,url:this.player.options.video.thumbnails,events:this.player.events}),this.player.on(`loadedmetadata`,()=>{this.thumbnails?.resize(160,this.player.video.videoHeight/this.player.video.videoWidth*160,this.player.template.barWrap.offsetWidth)}))}initPlayedBar(){let e=e=>{let t=((e.clientX||e.changedTouches[0].clientX)-n.getBoundingClientRectViewLeft(this.player.template.playedBarWrap))/this.player.template.playedBarWrap.clientWidth;t=Math.max(0,Math.min(1,t)),this.player.bar.set(`played`,t,`width`),this.player.template.ptime.innerHTML=n.secondToTime(t*this.player.video.duration)},t=r=>{document.removeEventListener(n.nameMap.dragEnd,t),document.removeEventListener(n.nameMap.dragMove,e);let i=((r.clientX||r.changedTouches[0].clientX)-n.getBoundingClientRectViewLeft(this.player.template.playedBarWrap))/this.player.template.playedBarWrap.clientWidth;i=Math.max(0,Math.min(1,i)),this.player.bar.set(`played`,i,`width`),this.player.seek(this.player.bar.get(`played`)*this.player.video.duration),this.player.moveBar=!1};this.player.template.playedBarWrap.addEventListener(n.nameMap.dragStart,()=>{this.player.moveBar=!0,document.addEventListener(n.nameMap.dragMove,e),document.addEventListener(n.nameMap.dragEnd,t)}),this.player.template.playedBarWrap.addEventListener(n.nameMap.dragMove,e=>{if(this.player.video.duration){let t=this.player.template.playedBarWrap.getBoundingClientRect().left,r=(e.clientX||e.changedTouches[0].clientX)-t;if(r<0||r>this.player.template.playedBarWrap.offsetWidth)return;let i=this.player.video.duration*(r/this.player.template.playedBarWrap.offsetWidth);n.isMobile&&this.thumbnails?.show(),this.thumbnails?.move(r),this.player.template.playedBarTime.style.left=`${r-(i>=3600?25:20)}px`,this.player.template.playedBarTime.innerText=n.secondToTime(i),this.player.template.playedBarTime.classList.remove(`hidden`)}}),this.player.template.playedBarWrap.addEventListener(n.nameMap.dragEnd,()=>{n.isMobile&&this.thumbnails?.hide()}),n.isMobile||(this.player.template.playedBarWrap.addEventListener(`mouseenter`,()=>{this.player.video.duration&&(this.thumbnails?.show(),this.player.template.playedBarTime.classList.remove(`hidden`))}),this.player.template.playedBarWrap.addEventListener(`mouseleave`,()=>{this.player.video.duration&&(this.thumbnails?.hide(),this.player.template.playedBarTime.classList.add(`hidden`))})),this.player.template.playedBarWrap.addEventListener(`keydown`,e=>{let t=this.player.video.duration;if(!t||!isFinite(t))return;let n=this.player.video.currentTime,r=!0;switch(e.key){case`ArrowLeft`:this.player.seek(n-5);break;case`ArrowRight`:this.player.seek(n+5);break;case`PageDown`:this.player.seek(n-30);break;case`PageUp`:this.player.seek(n+30);break;case`Home`:this.player.seek(0);break;case`End`:this.player.seek(t);break;default:r=!1}r&&e.preventDefault()})}initFullButton(){this.player.template.browserFullButton.addEventListener(`click`,()=>{this.player.fullScreen.toggle(`browser`)}),this.player.template.webFullButton.addEventListener(`click`,()=>{this.player.fullScreen.toggle(`web`)})}initVolumeButton(){let e=e=>{let t=e,r=((t.clientX||t.changedTouches[0].clientX)-n.getBoundingClientRectViewLeft(this.player.template.volumeBarWrap)-5.5)/35;this.player.volume(r)},t=()=>{document.removeEventListener(n.nameMap.dragEnd,t),document.removeEventListener(n.nameMap.dragMove,e),this.player.template.volumeButton.classList.remove(`kplayer-volume-active`)};this.player.template.volumeBarWrapWrap.addEventListener(`click`,e=>{let t=((e.clientX||0)-n.getBoundingClientRectViewLeft(this.player.template.volumeBarWrap)-5.5)/35;this.player.volume(t)}),this.player.template.volumeBarWrapWrap.addEventListener(n.nameMap.dragStart,()=>{document.addEventListener(n.nameMap.dragMove,e),document.addEventListener(n.nameMap.dragEnd,t),this.player.template.volumeButton.classList.add(`kplayer-volume-active`)}),this.player.template.volumeButtonIcon.addEventListener(`click`,()=>{this.player.video.muted?(this.player.video.muted=!1,this.player.switchVolumeIcon(),this.player.bar.set(`volume`,this.player.volume(),`width`)):(this.player.video.muted=!0,this.player.template.volumeIcon.innerHTML=E.volumeOff,this.player.bar.set(`volume`,0,`width`))}),this.player.template.volumeBarWrapWrap.addEventListener(`keydown`,e=>{let t=this.player.volume(void 0,!0,!0),n=!0;switch(e.key){case`ArrowUp`:case`ArrowRight`:this.player.volume(Math.min(1,t+.05));break;case`ArrowDown`:case`ArrowLeft`:this.player.volume(Math.max(0,t-.05));break;case`Home`:this.player.volume(1);break;case`End`:this.player.volume(0);break;default:n=!1}n&&e.preventDefault()})}initQualityButton(){if(this.player.options.video.quality){let e=this.player.options.video.defaultQuality||0,t=this.player.template.qualityList.querySelectorAll(`.kplayer-quality-item`);t[e]&&t[e].classList.add(`kplayer-selected`),this.player.template.qualityList.addEventListener(`click`,e=>{let n=e.target.closest(`.kplayer-quality-item`);n&&(t.forEach(e=>e.classList.remove(`kplayer-selected`)),n.classList.add(`kplayer-selected`),this.player.switchQuality(Number(n.dataset.index)))})}}initScreenshotButton(){this.player.options.screenshot&&this.player.template.camareButton&&this.player.template.camareButton.addEventListener(`click`,()=>{let e=document.createElement(`canvas`);e.width=this.player.video.videoWidth,e.height=this.player.video.videoHeight,e.getContext(`2d`)?.drawImage(this.player.video,0,0,e.width,e.height),e.toBlob(e=>{if(!e)return;let t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`kplayer.png`,n.style.display=`none`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t),this.player.events.trigger(`screenshot`,t)})})}initAirplayButton(){this.player.options.airplay&&(window.WebKitPlaybackTargetAvailabilityEvent?this.player.video.addEventListener(`webkitplaybacktargetavailabilitychanged`,function(e){e.availability===`available`?this.template.airplayButton&&(this.template.airplayButton.disable=!1):this.template.airplayButton&&(this.template.airplayButton.disable=!0),this.template.airplayButton?.addEventListener(`click`,()=>{this.video.webkitShowPlaybackTargetPicker?.()})}.bind(this.player)):this.player.template.airplayButton&&(this.player.template.airplayButton.style.display=`none`))}initChromecast(){let e=document.createElement(`script`);e.setAttribute(`type`,`text/javascript`),e.setAttribute(`src`,`https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1`),document.body.appendChild(e),window.__onGCastApiAvailable=e=>{if(e){if(cast=window.chrome?.cast,!cast)return;let e=new cast.SessionRequest(cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID),t=new cast.ApiConfig(e,()=>{},e=>{e===cast.ReceiverAvailability.AVAILABLE&&this.player.events.trigger(`chromecast_available`,e)});cast.initialize(t,()=>{})}}}initChromecastButton(){if(this.player.options.chromecast){W&&(W=!1,this.initChromecast());let e=e=>{if(!cast)return!1;let r=new cast.media.MediaInfo(e),i=new cast.media.LoadRequest(r);return this.session?(this.session.loadMedia(i,t.bind(this,`loadMedia`),n).play(),!0):(window.open(e),!1)},t=(e,t)=>{this.currentMedia=t},n=e=>{console.error(`Error launching media`,e)};this.player.template.chromecastButton?.addEventListener(`click`,()=>{G?(G=!1,this.currentMedia?.stop(),this.session?.stop(),this.initChromecast()):(G=!0,cast?.requestSession(t=>{this.session=t,e(this.player.options.video.url||``)},e=>{e.code===`cancel`?this.session=void 0:console.error(`Error selecting cast device`,e)}))})}}initSubtitleButton(){this.player.events.on(`subtitle_show`,()=>{this.player.template.subtitleButton&&`dataset`in this.player.template.subtitleButton&&(this.player.template.subtitleButton.dataset.balloon=this.player.tran(`hide-subs`)),this.player.template.subtitleButtonInner&&(this.player.template.subtitleButtonInner.style.opacity=``),this.player.user.set(`subtitle`,1)}),this.player.events.on(`subtitle_hide`,()=>{this.player.template.subtitleButton&&`dataset`in this.player.template.subtitleButton&&(this.player.template.subtitleButton.dataset.balloon=this.player.tran(`show-subs`)),this.player.template.subtitleButtonInner&&(this.player.template.subtitleButtonInner.style.opacity=`0.4`),this.player.user.set(`subtitle`,0)}),this.player.template.subtitleButton&&`addEventListener`in this.player.template.subtitleButton&&this.player.template.subtitleButton.addEventListener(`click`,()=>{this.player.subtitle?.toggle()})}_showTitleBar(){let e=this.player.template.titleBar;e&&(e.style.opacity=`1`,e.style.visibility=`visible`,e.style.transform=`translateY(0)`,e.style.pointerEvents=`auto`)}_hideTitleBar(){let e=this.player.template.titleBar;e&&(e.style.opacity=`0`,e.style.visibility=`hidden`,e.style.transform=`translateY(-8px)`,e.style.pointerEvents=`none`)}setAutoHide(){this.show(),clearTimeout(this.autoHideTimer),this.autoHideTimer=window.setTimeout(()=>{this.player.video.played.length&&!this.player.paused&&!this.disableAutoHide&&this.hide()},1500)}show(){this.player.container.classList.remove(`kplayer-hide-controller`),this._showTitleBar()}hide(){this.player.container.classList.add(`kplayer-hide-controller`),this.player.setting.hide(),this._hideTitleBar()}isShow(){return!this.player.container.classList.contains(`kplayer-hide-controller`)}toggle(){this.isShow()?this.hide():this.show()}_setupMobileTapSeek(){let e=this.player.template.videoWrap;e.addEventListener(`click`,t=>{let n=e.getBoundingClientRect(),r=t.clientX-n.left<n.width/2?`left`:`right`,i=Date.now();if(i-this._tapTime<300&&this._tapSide===r){window.clearTimeout(this._tapTimer);let e=this.player.video.currentTime,t=this.player.video.duration;this._seekAccum+=10,r===`left`?this.player.seek(Math.max(0,e-10)):this.player.seek(t?Math.min(t,e+10):e+10),this._showSeekRipple(r,this._seekAccum),this._tapTime=i}else this._tapTime=i,this._tapSide=r,this._seekAccum=0,window.clearTimeout(this._tapTimer),this._tapTimer=window.setTimeout(()=>{this.toggle(),this._tapSide=null},300)})}_showSeekRipple(e,t){let n=this.player.template.videoWrap,r=n.querySelector(`.kplayer-tap-seek-${e}`);r||(r=document.createElement(`div`),r.className=`kplayer-tap-seek kplayer-tap-seek-${e}`,r.innerHTML=`<div class="kplayer-tap-seek-inner">
393
+ <span class="kplayer-tap-seek-icon">${e===`left`?E.rewind:E.forward}</span>
394
+ <span class="kplayer-tap-seek-text"></span>
395
+ </div>`,n.appendChild(r));let i=r.querySelector(`.kplayer-tap-seek-text`);i&&(i.textContent=`${t}`),r.classList.remove(`kplayer-tap-seek-active`),r.offsetWidth,r.classList.add(`kplayer-tap-seek-active`),window.clearTimeout(this._rippleTimer),this._rippleTimer=window.setTimeout(()=>{r?.classList.remove(`kplayer-tap-seek-active`),this._seekAccum=0},600)}destroy(){window.clearTimeout(this._tapTimer),window.clearTimeout(this._rippleTimer),!n.isMobile&&this.setAutoHideHandler&&(this.player.container.removeEventListener(`mousemove`,this.setAutoHideHandler),this.player.container.removeEventListener(`click`,this.setAutoHideHandler)),clearTimeout(this.autoHideTimer)}},q=class{constructor(e){this.player=e,this.player.template.mask.addEventListener(`click`,()=>{this.hide(),this.player.contextmenu.shown&&this.player.contextmenu.hide(),this.player.subtitles&&this.player.subtitles.hide()}),this.player.template.settingButton.addEventListener(`click`,()=>{this.show()}),this.loop=this.player.options.loop||!1,this.player.template.loopToggle.checked=this.loop,this.player.template.loop.addEventListener(`click`,()=>{this.player.template.loopToggle.checked=!this.player.template.loopToggle.checked,this.loop=this.player.template.loopToggle.checked}),this.showAwaken=this.player.user.get(`awaken`),this.showAwaken||this.player.awaken&&this.player.awaken.hide(),this.player.template.showAwakenToggle.checked=!!this.showAwaken,this.player.template.showAwaken.addEventListener(`click`,()=>{this.player.template.showAwakenToggle.checked=!this.player.template.showAwakenToggle.checked,this.player.template.showAwakenToggle.checked?(this.showAwaken=1,this.player.awaken?.show()):(this.showAwaken=0,this.player.awaken?.hide()),this.player.user.set(`awaken`,+!!this.showAwaken),this.hide()}),this.unlimitAwaken=this.player.user.get(`unlimited`),this.player.template.unlimitAwakenToggle.checked=!!this.unlimitAwaken,this.player.template.unlimitAwaken.addEventListener(`click`,()=>{this.player.template.unlimitAwakenToggle.checked=!this.player.template.unlimitAwakenToggle.checked,this.player.template.unlimitAwakenToggle.checked?(this.unlimitAwaken=1,this.player.awaken?.unlimit(!0)):(this.unlimitAwaken=0,this.player.awaken?.unlimit(!1)),this.player.user.set(`unlimited`,+!!this.unlimitAwaken),this.hide()}),this.player.template.speed.addEventListener(`click`,()=>{this.player.template.settingBox.classList.add(`kplayer-setting-box-speed`)});let t=(this.player.options.playbackSpeed||[]).indexOf(1);if(t>=0&&this.player.template.speedItem[t]&&this.player.template.speedItem[t].classList.add(`kplayer-selected`),Array.from(this.player.template.speedItem).forEach((e,t)=>{e.addEventListener(`click`,()=>{Array.from(this.player.template.speedItem).forEach(e=>e.classList.remove(`kplayer-selected`)),e.classList.add(`kplayer-selected`),this.player.speed(Number(e.dataset.speed));let t=this.player.container.querySelector(`#kplayer-speed-current`);if(t){let n=e.dataset.speed;t.textContent=n===`1`?`1×`:n+`×`}})}),this.player.template.subtitleEntry&&this.player.template.subtitleEntry.addEventListener(`click`,()=>{this.player.template.settingBox.classList.add(`kplayer-setting-box-subtitle`)}),this.player.template.qualityEntry&&this.player.template.qualityEntry.addEventListener(`click`,()=>{this.player.template.settingBox.classList.add(`kplayer-setting-box-quality`)}),this.airplayEntry=this.player.container.querySelector(`.kplayer-setting-airplay-entry`),this.chromecastEntry=this.player.container.querySelector(`.kplayer-setting-chromecast-entry`),this.screenshotEntry=this.player.container.querySelector(`.kplayer-setting-screenshot-entry`),this.screenshotEntry&&this.player.template.camareButton&&this.screenshotEntry.addEventListener(`click`,e=>{e.stopPropagation(),this.player.template.camareButton?.click(),this.hide()}),this.airplayEntry&&this.player.template.airplayButton&&this.airplayEntry.addEventListener(`click`,e=>{e.stopPropagation(),this.player.template.airplayButton?.click(),this.hide()}),this.chromecastEntry&&this.player.template.chromecastButton&&this.chromecastEntry.addEventListener(`click`,e=>{e.stopPropagation(),this.player.template.chromecastButton?.click(),this.hide()}),this.player.container.querySelectorAll(`.kplayer-setting-back-main`).forEach(e=>{e.addEventListener(`click`,()=>{this.player.template.settingBox.classList.remove(`kplayer-setting-box-speed`),this.player.template.settingBox.classList.remove(`kplayer-setting-box-subtitle`),this.player.template.settingBox.classList.remove(`kplayer-setting-box-quality`),this.player.template.settingBox.classList.remove(`kplayer-setting-box-narrow`)})}),this.player.awaken){this.player.on(`awaken_opacity`,e=>{this.player.bar.set(`awaken`,e,`width`),this.player.user.set(`opacity`,e)}),this.player.awaken?.opacity(this.player.user.get(`opacity`));let e=e=>{let t=e,r=((t.clientX||t.changedTouches?.[0]?.clientX||0)-n.getBoundingClientRectViewLeft(this.player.template.awakenOpacityBarWrap))/130;r=Math.max(0,Math.min(1,r)),this.player.awaken?.opacity(r)},t=()=>{document.removeEventListener(n.nameMap.dragEnd,t),document.removeEventListener(n.nameMap.dragMove,e),this.player.template.awakenOpacityBox?.classList.remove(`kplayer-setting-awaken-active`)};this.player.template.awakenOpacityBarWrapWrap?.addEventListener(`click`,e=>{let t=((e.clientX||0)-n.getBoundingClientRectViewLeft(this.player.template.awakenOpacityBarWrap))/130;t=Math.max(0,Math.min(1,t)),this.player.awaken?.opacity(t)}),this.player.template.awakenOpacityBarWrapWrap?.addEventListener(n.nameMap.dragStart,()=>{document.addEventListener(n.nameMap.dragMove,e),document.addEventListener(n.nameMap.dragEnd,t),this.player.template.awakenOpacityBox?.classList.add(`kplayer-setting-awaken-active`)})}this._setupMenuA11y()}_setupMenuA11y(){let e=this.player.template.settingBox;if(!e)return;let t=`.kplayer-setting-item, .kplayer-setting-action, .kplayer-setting-speed-item, .kplayer-subtitles-item, .kplayer-quality-item, .kplayer-setting-subtitle-toggle, .kplayer-setting-panel-back`;e.querySelectorAll(t).forEach(e=>{e.hasAttribute(`role`)||e.setAttribute(`role`,`menuitem`),e.hasAttribute(`tabindex`)||e.setAttribute(`tabindex`,`0`)}),e.addEventListener(`keydown`,n=>{if(n.key!==`Enter`&&n.key!==` `)return;let r=n.target?.closest(t);r&&e.contains(r)&&(n.preventDefault(),r.click())})}hide(){this.player.template.settingBox.classList.remove(`kplayer-setting-box-open`),this.player.template.mask.classList.remove(`kplayer-mask-show`),setTimeout(()=>{this.player.template.settingBox.classList.remove(`kplayer-setting-box-narrow`),this.player.template.settingBox.classList.remove(`kplayer-setting-box-speed`),this.player.template.settingBox.classList.remove(`kplayer-setting-box-subtitle`),this.player.template.settingBox.classList.remove(`kplayer-setting-box-quality`)},300),this.player.controller.disableAutoHide=!1}show(){if(this.player.template.settingBox.classList.contains(`kplayer-setting-box-open`)){this.hide();return}this.player.template.settingBox.classList.add(`kplayer-setting-box-open`),this.player.template.mask.classList.add(`kplayer-mask-show`),this.player.controller.disableAutoHide=!0}},J=class{constructor(e){this.player=e,this.doHotKeyHandler=this.doHotKey.bind(this),this.cancelFullScreenHandler=this.cancelFullScreen.bind(this),this.player.options.hotkey&&document.addEventListener(`keydown`,this.doHotKeyHandler),document.addEventListener(`keydown`,this.cancelFullScreenHandler)}doHotKey(e){if(this.player.focus){let t=document.activeElement.tagName.toUpperCase(),n=document.activeElement?.getAttribute(`contenteditable`);if(t!==`INPUT`&&t!==`TEXTAREA`&&n!==``&&n!==`true`){let t;switch(e.keyCode){case 32:e.preventDefault(),this.player.toggle();break;case 37:if(e.preventDefault(),this.player.options.live)break;this.player.seek(this.player.video.currentTime-10),this.player.controller.setAutoHide();break;case 39:if(e.preventDefault(),this.player.options.live)break;this.player.seek(this.player.video.currentTime+10),this.player.controller.setAutoHide();break;case 38:e.preventDefault(),t=this.player.volume()+.1,this.player.volume(t);break;case 40:e.preventDefault(),t=this.player.volume()-.1,this.player.volume(t);break}}}}cancelFullScreen(e){switch(e.keyCode){case 27:this.player.fullScreen.isFullScreen(`web`)&&this.player.fullScreen.cancel(`web`);break}}destroy(){this.player.options.hotkey&&document.removeEventListener(`keydown`,this.doHotKeyHandler),document.removeEventListener(`keydown`,this.cancelFullScreenHandler)}},Y=class{constructor(e){this.shown=!1,this.player=e,Array.prototype.slice.call(this.player.template.menuItem).forEach((e,t)=>{let n=this.player.options.contextmenu?.[t];n?.click&&e.addEventListener(`click`,e=>{e.preventDefault(),n.click(this.player),this.hide()})}),this.contextmenuHandler=e=>{e.preventDefault(),e.stopPropagation();let t=this.player.container.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;if(this.shown){this.hide();return}this.show(n,r)},this.player.container.addEventListener(`contextmenu`,this.contextmenuHandler),this.videoContextHandler=e=>{e.preventDefault(),e.stopPropagation();let t=this.player.container.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;if(this.shown){this.hide();return}this.show(n,r)},this.player.video.addEventListener(`contextmenu`,this.videoContextHandler)}show(e,t){this.player.template.menu.classList.add(`kplayer-menu-show`);let n=this.player.container.getBoundingClientRect();e+this.player.template.menu.offsetWidth>=n.width?(this.player.template.menu.style.right=n.width-e+`px`,this.player.template.menu.style.left=`initial`):(this.player.template.menu.style.left=e+`px`,this.player.template.menu.style.right=`initial`),t+this.player.template.menu.offsetHeight>=n.height?(this.player.template.menu.style.bottom=n.height-t+`px`,this.player.template.menu.style.top=`initial`):(this.player.template.menu.style.top=t+`px`,this.player.template.menu.style.bottom=`initial`),this.player.template.mask.classList.add(`kplayer-mask-show`),this.shown=!0,this.player.events.trigger(`contextmenu_show`)}hide(){this.player.template.mask.classList.remove(`kplayer-mask-show`),this.player.template.menu.classList.remove(`kplayer-menu-show`),this.shown=!1,this.player.events.trigger(`contextmenu_hide`)}destroy(){this.player.container.removeEventListener(`contextmenu`,this.contextmenuHandler),this.videoContextHandler&&this.player.video.removeEventListener(`contextmenu`,this.videoContextHandler)}},X=class{constructor(e){this.beginTime=0,this.container=e.template.infoPanel,this.template=e.template,this.video=e.video,this.player=e,this.template.infoPanelClose?.addEventListener(`click`,()=>{this.hide()})}show(){this.beginTime=Date.now(),this.update(),this.player.timer.enable(`info`),this.player.timer.enable(`fps`),this.container.classList.remove(`kplayer-info-panel-hide`)}hide(){this.player.timer.disable(`info`),this.player.timer.disable(`fps`),this.container.classList.add(`kplayer-info-panel-hide`)}triggle(){this.container.classList.contains(`kplayer-info-panel-hide`)?this.show():this.hide()}update(){this.template.infoVersion&&(this.template.infoVersion.innerHTML=`v1.0.4 dev`),this.template.infoType&&(this.template.infoType.innerHTML=this.player.type||``),this.template.infoUrl&&(this.template.infoUrl.innerHTML=this.player.options.video?.url||``),this.template.infoResolution&&(this.template.infoResolution.innerHTML=`${this.video.videoWidth} x ${this.video.videoHeight}`),this.template.infoDuration&&(this.template.infoDuration.innerHTML=String(this.video.duration)),this.player.options.awaken&&typeof this.player.options.awaken==`object`&&(this.template.infoAwakenId&&(this.template.infoAwakenId.innerHTML=this.player.options.awaken.id||``),this.template.infoAwakenApi&&(this.template.infoAwakenApi.innerHTML=this.player.options.awaken.api||``))}fps(e){this.template.infoFPS&&(this.template.infoFPS.innerHTML=`${e.toFixed(1)}`)}},Z=0,Q=[];function te(e){let t=e.DefaultConfig.loader;return class extends t{constructor(e){super(e);let t=this.load.bind(this);this.load=function(e,n,r){let i=e,a=r,o=a.onSuccess;a.onSuccess=function(e,t,n,r){try{if(i.type===`fragment`){let t=e.data,n;if(t instanceof ArrayBuffer?n=t:typeof t==`string`&&(n=new TextEncoder().encode(t).buffer),n){let t=new Blob([n],{type:`video/mp2t`}),r=URL.createObjectURL(t);e.url=r,setTimeout(()=>URL.revokeObjectURL(r),1e4)}}}catch(e){console.warn(`[KPlayer] BlobHLSLoader error:`,e)}o(e,t,n,r)},t(e,n,r)}}}}async function $(e,t,n,r){let i=await fetch(e,{mode:`cors`});if(!i.ok)throw Error(`HTTP ${i.status}`);let a=await i.text();if(t&&n&&r){let e=/^\d{2}:\d{2}:\d{2}[.,]\d{3}\s*-->\s*\d{2}:\d{2}:\d{2}[.,]\d{3}$/,t=async(e,t,n)=>{let r=new Uint8Array(e.match(/.{2}/g).map(e=>parseInt(e,16))),i=await crypto.subtle.decrypt({name:`AES-CBC`,iv:n.buffer},t,r.buffer);return new TextDecoder().decode(i)},i=new Uint8Array(n.match(/.{2}/g).map(e=>parseInt(e,16))),o=new Uint8Array(r.match(/.{2}/g).map(e=>parseInt(e,16))),s=await crypto.subtle.importKey(`raw`,i.buffer,{name:`AES-CBC`},!1,[`decrypt`]),c;try{c=atob(a.trim())}catch{c=a}let l=c.split(`
396
+ `),u=[];for(let n of l){let r=n.trim();if(!r){u.push(n);continue}if(e.test(r)){u.push(n);continue}if(/^[0-9a-fA-F]+$/.test(r)&&r.length%2==0)try{let e=await t(r,s,o);u.push(e)}catch{u.push(n)}else u.push(n)}a=u.join(`
397
+ `)}return a}var ne=class{constructor(e){if(this.focus=!1,this.paused=!0,this.moveBar=!1,this.switchingQuality=!1,this.options=r({preload:e.video?.type===`webtorrent`?`none`:`metadata`,...e}),this.options.video.quality&&(this.qualityIndex=this.options.video.defaultQuality??0,this.quality=this.options.video.quality[this.qualityIndex]),this.tran=new i(this.options.lang||`en`).tran,this.events=new F,this.user=new L(this),this.container=this.options.container,this.noticeList={},this.hlsQualityList=[],this.hlsCurrentLevel=-1,this.hlsAutoEnabled=!0,this.container.classList.add(`kplayer`),this.container.hasAttribute(`role`)||this.container.setAttribute(`role`,`region`),this.container.hasAttribute(`aria-label`)||this.container.setAttribute(`aria-label`,this.options.title?.title||this.tran(`video-player`)),this.options.awaken||this.container.classList.add(`kplayer-no-awaken`),this.options.live?this.container.classList.add(`kplayer-live`):this.container.classList.remove(`kplayer-live`),n.isMobile&&this.container.classList.add(`kplayer-mobile`),this.container.offsetWidth<=500&&this.container.classList.add(`kplayer-arrow`),this.options.subtitle&&Array.isArray(this.options.subtitle.url)){if(this.options.subtitle.url.push({subtitle:``,lang:`off`,url:``}),this.options.subtitle.defaultSubtitle!==void 0){let e=this.options.subtitle.defaultSubtitle;typeof e==`string`?this.options.subtitle.index=this.options.subtitle.url.findIndex(t=>t.lang===e||t.name===e):typeof e==`number`&&(this.options.subtitle.index=e)}let e=this.options.subtitle.url;(this.options.subtitle.index===-1||this.options.subtitle.index==null||this.options.subtitle.index>e.length-1)&&(this.options.subtitle.index=e.findIndex(e=>e.lang===this.options.lang)),this.options.subtitle.index===-1&&(this.options.subtitle.index=e.length-1)}this.template=new N({container:this.container,options:this.options,index:Z,tran:this.tran}),this.video=this.template.video,this.bar=new B(this.template),this.bezel=new H(this.template.bezel),this.fullScreen=new I(this),this.controller=new K(this),this.setting=new q(this),this.plugins={},this.docClickFun=()=>{this.focus=!1},this.containerClickFun=()=>{this.focus=!0},document.addEventListener(`click`,this.docClickFun,!0),this.container.addEventListener(`click`,this.containerClickFun,!0),this.paused=!0,this.timer=new V(this),this.hotkey=new J(this),this.contextmenu=new Y(this),this.initVideo(this.video,this.quality&&this.quality.type||this.options.video.type||`auto`),this.infoPanel=new X(this),(this.options.ad||this.options.vastAD)&&(this.ad=new P(this)),this.options.vastAD&&this.options.vastADURL&&this.ad?._loadVAST(this.options.vastADURL),this.template.titleBack&&this.template.titleBack.addEventListener(`click`,()=>{typeof this.options.title?.onBack==`function`?this.options.title.onBack(this):window.history.back(),this.events.trigger(`title_back`)}),!this.awaken&&this.options.autoplay&&this.play(),typeof ResizeObserver<`u`&&(this.resizeObserver=new ResizeObserver(()=>this.resize()),this.resizeObserver.observe(this.container)),this.moveBar=!1,Z++,Q.push(this)}seek(e){e=Math.max(e,0),this.video.duration&&(e=Math.min(e,this.video.duration)),this.video.currentTime<e?this.notice(`${this.tran(`ff`).replace(`%s`,(e-this.video.currentTime).toFixed(0))}`):this.video.currentTime>e&&this.notice(`${this.tran(`rew`).replace(`%s`,(this.video.currentTime-e).toFixed(0))}`),this.video.currentTime=e,this.awaken&&this.awaken.seek(),this.bar.set(`played`,e/this.video.duration,`width`),this.template.ptime.innerHTML=n.secondToTime(e)}play(e){if(this.paused=!1,this.video.paused&&!n.isMobile&&this.bezel.switch(E.play),this.template.playButton.innerHTML=E.pause,this.template.mobilePlayButton.innerHTML=E.pause,this._setPlayLabel(this.tran(`pause`)),e||Promise.resolve(this.video.play()).catch(()=>{this.pause()}),this.timer.enable(`loading`),this.container.classList.remove(`kplayer-paused`),this.container.classList.add(`kplayer-playing`),this.awaken&&this.awaken.play(),this.options.mutex)for(let e of Q)this!==e&&e.pause();let t=this.container.querySelector(`.kplayer-mobile-play-btn .kplayer-icon-content`);t&&(t.innerHTML=E.pause)}pause(e){this.paused=!0,this.container.classList.remove(`kplayer-loading`),!this.video.paused&&!n.isMobile&&this.bezel.switch(E.pause),this.template.playButton.innerHTML=E.play,this.template.mobilePlayButton.innerHTML=E.play,this._setPlayLabel(this.tran(`play`)),e||this.video.pause(),this.timer.disable(`loading`),this.container.classList.remove(`kplayer-playing`),this.container.classList.add(`kplayer-paused`),this.awaken&&this.awaken.pause();let t=this.container.querySelector(`.kplayer-mobile-play-btn .kplayer-icon-content`);t&&(t.innerHTML=E.play)}_setPlayLabel(e){this.template.playButton.setAttribute(`aria-label`,e),this.container.querySelector(`.kplayer-mobile-play-btn`)?.setAttribute(`aria-label`,e)}switchVolumeIcon(){this.volume()>=.95?this.template.volumeIcon.innerHTML=E.volumeUp:this.volume()>0?this.template.volumeIcon.innerHTML=E.volumeDown:this.template.volumeIcon.innerHTML=E.volumeOff}volume(e,t,n){let r=parseFloat(String(e));if(!isNaN(r)){let e=Math.max(0,Math.min(1,r));this.bar.set(`volume`,e,`width`);let i=`${(e*100).toFixed(0)}%`;this.template.volumeBarWrapWrap.dataset.balloon=i,t||this.user.set(`volume`,e),n||this.notice(`${this.tran(`volume`)} ${(e*100).toFixed(0)}%`,void 0,void 0,`volume`),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon();let a=Math.round(e*100);this.template.volumeBarWrapWrap.setAttribute(`aria-valuenow`,String(a)),this.template.volumeBarWrapWrap.setAttribute(`aria-valuetext`,i),this.template.volumeButtonIcon?.setAttribute(`aria-label`,this.tran(e===0?`unmute`:`mute`))}return this.video.volume}toggle(){this.video.paused?this.play():this.pause()}on(e,t){this.events.on(e,t)}initMSE(e,t){if(this.type=t,this.options.video.customType?.[t]){let e=this.options.video.customType[t];typeof e==`function`?e(this.video,this):console.error(`Illegal customType: ${t}`);return}let n=t;n===`auto`&&(n=/m3u8(#|\?|$)/i.exec(e.src)?`hls`:/.flv(#|\?|$)/i.exec(e.src)?`flv`:/.mpd(#|\?|$)/i.exec(e.src)?`dash`:`normal`),n===`hls`&&(e.canPlayType(`application/x-mpegURL`)||e.canPlayType(`application/vnd.apple.mpegURL`))&&(n=`normal`),this.type=n;let r=this.quality?this.quality.url:e.src;switch(n){case`hls`:{let t=window.Hls;if(!t){this.notice(`Error: Can't find Hls.`);return}if(!t.isSupported()){this.notice(`Error: Hls is not supported.`);return}let n=this.options.pluginOptions?.hls||{},r=te(t),i=new t({...n,loader:r});this.plugins.hls=i,i.loadSource(e.src),i.attachMedia(e),i.on(t.Events.MANIFEST_PARSED,()=>{this.buildHlsQualityMenu(i,t),this.updateHlsQualityCurrentLabel()}),i.on(t.Events.LEVEL_SWITCHED,(...e)=>{let t=e[1];this.hlsCurrentLevel=t.level,this.updateHlsQualityCurrentLabel()}),this.events.on(`destroy`,()=>{i.destroy(),delete this.plugins.hls});break}case`flv`:{let t=window.flvjs;if(t)if(t.isSupported()){let n=t.createPlayer(Object.assign(this.options.pluginOptions?.flv?.mediaDataSource||{},{type:`flv`,url:e.src}),this.options.pluginOptions?.flv?.config);this.plugins.flvjs=n,n.attachMediaElement(e),n.load(),this.events.on(`destroy`,()=>{n.unload(),n.detachMediaElement(),n.destroy(),delete this.plugins.flvjs}),this.events.on(`quality_end`,()=>{r!==this.quality?.url&&(n.unload(),n.detachMediaElement(),n.destroy())})}else this.notice(`Error: flvjs is not supported.`);else this.notice(`Error: Can't find flvjs.`);break}case`dash`:{let t=window.dashjs;if(t){let n=t.MediaPlayer().create();n.initialize(e,e.src,!1,0),n.updateSettings(this.options.pluginOptions?.dash||{}),this.plugins.dash=n,this.events.on(`destroy`,()=>{t.MediaPlayer().reset(),delete this.plugins.dash}),this.events.on(`quality_end`,()=>{r!==this.quality?.url&&t.MediaPlayer().reset()})}else this.notice(`Error: Can't find dashjs.`);break}case`webtorrent`:{let t=window.WebTorrent;if(t)if(t.WEBRTC_SUPPORT){this.container.classList.add(`kplayer-loading`);let n=new t(this.options.pluginOptions?.webtorrent||{});this.plugins.webtorrent=n;let i=e.src;e.src=``,e.preload=`metadata`,e.addEventListener(`durationchange`,()=>this.container.classList.remove(`kplayer-loading`),{once:!0}),n.add(i,e=>{e.files.find(e=>e.name.endsWith(`.mp4`))?.renderTo(this.video,{autoplay:this.options.autoplay,controls:!1})}),this.events.on(`destroy`,()=>{n.remove(i),n.destroy(),delete this.plugins.webtorrent}),this.events.on(`quality_end`,()=>{r!==this.quality?.url&&(n.remove(i),n.destroy())})}else this.notice(`Error: Webtorrent is not supported.`);else this.notice(`Error: Can't find Webtorrent.`);break}}}initVideo(e,t){this.initMSE(e,t),this.on(`durationchange`,()=>{e.duration!==1&&e.duration!==1/0&&(this.template.dtime.innerHTML=n.secondToTime(e.duration))}),this.on(`progress`,()=>{let t=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;this.bar.set(`loaded`,t,`width`)}),this.on(`error`,()=>{this.video.error&&this.tran&&this.notice&&this.type!==`webtorrent`&&this.notice(this.tran(`video-failed`))}),this.on(`ended`,()=>{this.bar.set(`played`,1,`width`),this.setting.loop?(this.seek(0),this.play()):this.pause(),this.awaken&&(this.awaken.danIndex=0)}),this.on(`play`,()=>{this.paused&&this.play(!0)}),this.on(`pause`,()=>{this.paused||this.pause(!0)}),this.on(`timeupdate`,()=>{this.moveBar||this.bar.set(`played`,this.video.currentTime/this.video.duration,`width`);let e=n.secondToTime(this.video.currentTime);this.template.ptime.innerHTML!==e&&(this.template.ptime.innerHTML=e);let t=this.video.duration;if(t&&isFinite(t)){let r=Math.round(this.video.currentTime/t*100);this.template.barWrap.setAttribute(`aria-valuenow`,String(r)),this.template.barWrap.setAttribute(`aria-valuetext`,`${e} / ${n.secondToTime(t)}`)}});for(let t of this.events.videoEvents)e.addEventListener(t,e=>{this.events.trigger(t,e)});this.volume(this.user.get(`volume`),!0,!0),this.options.subtitle&&(this.subtitle=new R(this.template.subtitle,this.video,this.options.subtitle,this.events),Array.isArray(this.options.subtitle.url)&&(this.subtitles=new z(this)),this.user.get(`subtitle`)||this.subtitle.hide(),this._loadSubtitleTexts())}getHlsLevelLabel(e){return e?e.height?`${e.height}p`:e.bitrate?`${Math.round(e.bitrate/1e3)}kbps`:`Auto`:`Auto`}updateHlsQualityCurrentLabel(){let e=this.container.querySelector(`#kplayer-quality-current`);if(!e||!this.plugins.hls)return;let t=this.plugins.hls;if(t.autoLevelEnabled){let n=t.levels[t.currentLevel];e.textContent=n?`Auto (${n.height}p)`:`Auto`}else{let n=t.levels[t.currentLevel];e.textContent=n?`${n.height}p`:`Manual`}}buildHlsQualityMenu(e,t){if(!e?.levels?.length)return;let n=new Set,r=[];e.levels.forEach((e,t)=>{let i=`${e.height}-${e.bitrate}`;n.has(i)||(n.add(i),r.push({index:t,name:e.height?`${e.height}p`:`${Math.round((e.bitrate||0)/1e3)}kbps`,height:e.height||0,bitrate:e.bitrate||0}))}),r.sort((e,t)=>t.height-e.height||t.bitrate-e.bitrate);let i=[{index:-1,name:`Auto`},...r],a=this.container.querySelector(`.kplayer-quality-list`);if(!a)return;a.innerHTML=i.map(e=>`
398
+ <div class="kplayer-quality-item" data-level="${e.index}">
399
+ <span class="kplayer-label">${e.name}</span>
400
+ </div>
401
+ `).join(``);let o=a.querySelectorAll(`.kplayer-quality-item`),s=this.container.querySelector(`#kplayer-quality-current`);o.forEach(n=>{n.setAttribute(`role`,`menuitem`),n.setAttribute(`tabindex`,`0`),n.addEventListener(`click`,()=>{let r=Number(n.dataset.level);e.currentLevel=r,e.nextLevel=r,e.loadLevel=r,o.forEach(e=>e.classList.remove(`active`)),n.classList.add(`active`);let i=n.textContent?.trim()||``;s&&(s.textContent=i),this.notice(`${this.tran(`switching-quality`).replace(`%q`,i)}`,-1,void 0,`switch-quality`);let a=()=>{this.notice(`${this.tran(`switched-quality`).replace(`%q`,i)}`,2e3,void 0,`switch-quality`),e.off(t.Events.LEVEL_SWITCHED,a)};e.on(t.Events.LEVEL_SWITCHED,a)})}),s&&(s.textContent=`Auto`)}switchQuality(e){if(e=typeof e==`string`?parseInt(e):e,this.qualityIndex===e||this.switchingQuality||(this.prevIndex=this.qualityIndex,this.qualityIndex=e,this.switchingQuality=!0,this.quality=this.options.video.quality?.[e],!this.quality))return;this.template.qualityButton&&(this.template.qualityButton.innerHTML=this.quality.name);let t=this.container.querySelector(`#kplayer-quality-current`);t&&(t.textContent=this.quality.name);let n=this.video.paused;this.video.pause();let r=O({current:!1,pic:void 0,screenshot:this.options.screenshot,preload:`auto`,url:this.quality.url,subtitle:this.options.subtitle}),i=new DOMParser().parseFromString(r,`text/html`).body.firstChild;this.template.videoWrap.insertBefore(i,this.template.videoWrap.getElementsByTagName(`div`)[0]),this.prevVideo=this.video,this.video=i,this.initVideo(this.video,this.quality.type||this.options.video.type||`auto`),this.seek(this.prevVideo.currentTime),this.notice(`${this.tran(`switching-quality`).replace(`%q`,this.quality.name)}`,-1,void 0,`switch-quality`),this.events.trigger(`quality_start`,this.quality),this.on(`canplay`,()=>{if(this.prevVideo){if(this.video.currentTime!==this.prevVideo.currentTime){this.seek(this.prevVideo.currentTime);return}this.template.videoWrap.removeChild(this.prevVideo),this.video.classList.add(`kplayer-video-current`),n||this.video.play(),this.prevVideo=void 0,this.notice(`${this.tran(`switched-quality`).replace(`%q`,this.quality.name)}`,void 0,void 0,`switch-quality`),this.switchingQuality=!1,this.events.trigger(`quality_end`)}}),this.on(`error`,()=>{this.video.error&&this.prevVideo&&(this.template.videoWrap.removeChild(this.video),this.video=this.prevVideo,n||this.video.play(),this.qualityIndex=this.prevIndex,this.quality=this.options.video.quality?.[this.qualityIndex??0],this.prevVideo=void 0,this.switchingQuality=!1)})}notice(e,t=2e3,n=.8,r){let i;if(r&&(i=document.getElementById(`kplayer-notice-${r}`),i&&(i.innerHTML=e),this.noticeList[r]&&(clearTimeout(this.noticeList[r]),this.noticeList[r]=null)),!i){let t=N.NewNotice(e,n,r);this.template.noticeList.appendChild(t),i=t}this.events.trigger(`notice_show`,i),t>0&&(this.noticeList[r||``]=setTimeout(((e,t)=>()=>{e.addEventListener(`animationend`,()=>{t.template.noticeList.removeChild(e)}),e.classList.add(`remove-notice`),t.events.trigger(`notice_hide`),t.noticeList[r||``]=null})(i,this),t))}resize(){this.container.classList.toggle(`kplayer-arrow`,this.container.offsetWidth<=500),this.awaken&&this.awaken.resize(),this.controller.thumbnails&&this.controller.thumbnails.resize(160,this.video.videoHeight/this.video.videoWidth*160,this.template.barWrap.offsetWidth),this.events.trigger(`resize`)}speed(e){this.video.playbackRate=e}destroy(){Q.splice(Q.indexOf(this),1),this.pause(),this.resizeObserver?.disconnect(),document.removeEventListener(`click`,this.docClickFun,!0),this.container.removeEventListener(`click`,this.containerClickFun,!0),this.fullScreen.destroy(),this.hotkey.destroy(),this.contextmenu.destroy(),this.controller.destroy(),this.timer.destroy(),this.video.src=``,this.container.innerHTML=``,this.ad?.destroy(),this.events.trigger(`destroy`)}static get version(){return`1.0.4`}async _resolveSubtitleCrypto(){let e=this.options.subtitle;if(!e?.encrypt)return{};if(e.keyProvider)try{let{key:t,iv:n}=await e.keyProvider();return{key:t,iv:n}}catch(e){console.warn(`[KPlayer] subtitle keyProvider failed:`,e)}return{key:e.key,iv:e.iv}}async _loadSubtitleTexts(){let e=this.options.subtitle;if(!e?.url||!Array.isArray(e.url))return;let t=e.index??0,n=e.url[t];if(!(!n?.url||n.lang===`off`))try{let{key:t,iv:r}=await this._resolveSubtitleCrypto(),i=await $(n.url,e.encrypt,t,r);await this.subtitle?.loadVttText(i)}catch(e){console.warn(`[KPlayer] Subtitle load failed:`,e)}}async loadSubtitleByIndex(e){let t=this.options.subtitle;if(!t?.url||!Array.isArray(t.url))return;let n=t.url[e];if(!n?.url||n.lang===`off`){this.subtitle?.hide();return}try{let{key:e,iv:r}=await this._resolveSubtitleCrypto(),i=await $(n.url,t.encrypt,e,r);await this.subtitle?.loadVttText(i),this.subtitle?.show()}catch(e){console.warn(`[KPlayer] Subtitle switch failed:`,e)}}};module.exports=ne;
402
+ //# sourceMappingURL=kplayer-ts.cjs.map