kplayer-ts 1.0.2 → 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.
@@ -1,23 +1,25 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(':root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[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{transform:translate(-50%)}[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{transform:translate(0)}[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{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[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{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[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{transform:translateY(-50%)}[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{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[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 (max-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%}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FO_F.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk7PFO_F.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE-_F.ttf) format("truetype")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU7NSg.ttf) format("truetype")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_m07NSg.ttf) format("truetype")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNSg.ttf) format("truetype")}@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{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;line-height:1;font-family:Noto Sans,sans-serif}.kplayer *{box-sizing:content-box}.kplayer svg{width:100%;height:100%;fill:#fff}.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{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0;margin:0;padding: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{position:fixed;z-index:100000;left:0;top:0;width:100%!important;height:100%!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{top:8px;right:8px;left:44px;max-width:none}.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{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);align-items:center;gap:32px;z-index:1;transition:opacity .3s ease,visibility .3s ease}.kplayer .kplayer-mobile-controls button{background:transparent;border:none;outline:none;cursor:pointer;padding:0;opacity:.9}.kplayer .kplayer-mobile-controls button svg{width:36px;height:36px;display:block;fill:#fff;stroke:#fff}.kplayer .kplayer-mobile-controls button svg path{fill:#fff}.kplayer .kplayer-mobile-controls .kplayer-mobile-play-btn{width:52px;height:52px;background:#0006;border-radius:50%;display:flex;align-items:center;justify-content:center}.kplayer .kplayer-mobile-controls .kplayer-mobile-play-btn svg{width:28px;height:28px}.kplayer .kplayer-mobile-play{display:none!important}.kplayer-web-fullscreen-fix{position:fixed;top:0;left:0;margin:0;padding:0}[data-balloon]:before{display:none}[data-balloon]:after{padding:.3em .7em;background:#111111b3}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0}.kplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.kplayer-bezel .kplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;box-sizing:border-box;background:#00000080;border-radius:50%;opacity:0;pointer-events:none}.kplayer-bezel .kplayer-bezel-icon.kplayer-bezel-transition{animation:bezel-hide .5s linear}@keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.kplayer-bezel .kplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;animation:my-face 5s infinite ease-in-out}.kplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.kplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;transform-origin:4px 4px}.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==) repeat-x bottom;height:98px;width:100%;position:absolute;bottom:0;transition:all .15s ease}.kplayer-back{position:absolute;top:10px;left:15px;height:30px;width:30px;z-index:90;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;pointer-events:all}.kplayer-back .kplayer-title-back-btn{width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;outline:none;cursor:pointer;opacity:1;transition:opacity .15s ease}.kplayer-back .kplayer-title-back-btn:hover{opacity:1}.kplayer-back .kplayer-title-back-btn svg{width:22px!important;height:22px!important;display:block;fill:#fff}.kplayer-back .kplayer-title-back-btn svg path{fill:#fff}@media (max-width: 768px){.kplayer-back{top:8px;left:10px;width:24px;height:24px}.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{position:absolute;top:10px;left:15px;right:5px;z-index:90}.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{position:absolute;top:10px;right:15px;left:auto;z-index:90;min-height:30px;display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;text-align:right;opacity:1;visibility:visible;pointer-events:none;max-width:60%}.kplayer-title-bar .kplayer-title-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.kplayer-title-bar .kplayer-title-main{display:block;font-size:22px;font-weight:700;color:#fff;line-height:1.2;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;margin:0}.kplayer-title-bar .kplayer-title-desc{display:block;font-size:15px;font-weight:400;color:#fffc;line-height:1.3;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-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 (max-width: 768px){.kplayer-title-bar .kplayer-title-main{font-size:18px}.kplayer-title-bar .kplayer-title-desc{font-size:13px}}@media (max-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{min-height:30px;justify-content:center}.kplayer.kplayer-mobile .kplayer-back{top:8px;left:10px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.kplayer.kplayer-mobile .kplayer-back .kplayer-title-back-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.kplayer.kplayer-mobile .kplayer-back .kplayer-title-back-btn svg{width:20px!important;height:20px!important}.kplayer.kplayer-mobile .kplayer-title-bar{top:8px;right:8px;left:44px;max-width:none;pointer-events:none}.kplayer.kplayer-mobile .kplayer-title-bar .kplayer-title-info{width:100%;gap:2px}.kplayer.kplayer-mobile .kplayer-title-bar .kplayer-title-main{font-size:13px;line-height:1.2;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.kplayer.kplayer-mobile .kplayer-title-bar .kplayer-title-desc{font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kplayer-controller{position:absolute;bottom:0;left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;user-select:none;transition:all .1s ease}.kplayer-controller .kplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:4px}.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{display:block;width:8px;transform:translate(-4px);top:4px;height:40%}.kplayer-controller .kplayer-bar-wrap .kplayer-ad-marker{z-index:12;position:absolute;top:5px;width:6px;height:30%;border-radius:6px;background-color:gold;text-align:center;transform:translate(-3px);transition:all .2s ease-in-out}.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{opacity:0}.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{display:none;position:absolute;left:50%;top:-24px;padding:5px 8px;background-color:#0000009e;color:#fff;border-radius:4px;font-size:12px;white-space:nowrap;transform:translate(-50%)}.kplayer-controller .kplayer-bar-wrap .kplayer-highlight{z-index:12;position:absolute;top:5px;width:6px;height:30%;border-radius:6px;background-color:#fff;text-align:center;transform:translate(-3px);transition:all .2s ease-in-out}.kplayer-controller .kplayer-bar-wrap .kplayer-highlight:hover .kplayer-highlight-text{display:block}.kplayer-controller .kplayer-bar-wrap .kplayer-highlight:hover~.kplayer-bar-preview{opacity:0}.kplayer-controller .kplayer-bar-wrap .kplayer-highlight:hover~.kplayer-bar-time{opacity:0}.kplayer-controller .kplayer-bar-wrap .kplayer-highlight .kplayer-highlight-text{display:none;position:absolute;left:50%;top:-24px;padding:5px 8px;background-color:#0000009e;color:#fff;border-radius:4px;font-size:12px;white-space:nowrap;transform:translate(-50%)}.kplayer-controller .kplayer-bar-wrap .kplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:16000px 100%}.kplayer-controller .kplayer-bar-wrap .kplayer-bar-preview-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.kplayer-controller .kplayer-bar-wrap .kplayer-bar-time{position:absolute;left:0;top:-20px;border-radius:4px;padding:5px 7px;background-color:#0000009e;color:#fff;font-size:12px;text-align:center;opacity:1;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.kplayer-controller .kplayer-bar-wrap .kplayer-bar-time.hidden{opacity:0}.kplayer-controller .kplayer-bar-wrap .kplayer-bar{position:relative;height:4px;width:100%;background:#fff3;cursor:pointer}.kplayer-controller .kplayer-bar-wrap .kplayer-bar .kplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:#fff6;height:4px;transition:all .5s ease;will-change:width}.kplayer-controller .kplayer-bar-wrap .kplayer-bar .kplayer-played{position:absolute;left:0;top:0;bottom:0;height:4px;will-change:width}.kplayer-controller .kplayer-bar-wrap .kplayer-bar .kplayer-played .kplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;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{left:50%;transform:translate(-50%);display:inline-flex;align-items:center}.kplayer-controller .kplayer-icons.kplayer-icons-center .kplayer-icon{padding:8px}.kplayer-controller .kplayer-icons .kplayer-time,.kplayer-controller .kplayer-icons .kplayer-live-badge{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.kplayer-controller .kplayer-icons .kplayer-live-dot{display:inline-block;width:6px;height:6px;vertical-align:4%;margin-right:5px;content:"";border-radius:6px}.kplayer-controller .kplayer-icons .kplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;vertical-align:middle;box-sizing:border-box;display:inline-block}.kplayer-controller .kplayer-icons .kplayer-icon .kplayer-icon-content{color:#fff;transition:all .2s ease-in-out;opacity:.8}.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;line-height:22px;font-size:14px}.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{position:relative;display:inline-block;cursor:pointer;height:100%}.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{display:inline-block;margin:0 10px 0 -5px;vertical-align:middle;height:100%}.kplayer-controller .kplayer-icons .kplayer-volume .kplayer-volume-bar-wrap .kplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#fff3;transition:all .3s ease-in-out}.kplayer-controller .kplayer-icons .kplayer-volume .kplayer-volume-bar-wrap .kplayer-volume-bar .kplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;will-change:width}.kplayer-controller .kplayer-icons .kplayer-volume .kplayer-volume-bar-wrap .kplayer-volume-bar .kplayer-volume-bar-inner .kplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;transform:scale(0)}.kplayer-controller .kplayer-icons .kplayer-subtitle-btn,.kplayer-controller .kplayer-icons .kplayer-subtitles{display:inline-block;height:100%}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-box{position:absolute;right:0;bottom:50px;transform:scale(0);width:fit-content;max-width:240px;min-width:120px;border-radius:8px;background:#16161af5;border:.5px solid rgba(255,255,255,.1);padding:4px 0;transition:none;overflow:auto;z-index:2}.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{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 12px;box-sizing:border-box;cursor:pointer;position:relative;transition:background .12s}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-item:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-subtitles .kplayer-subtitles-item .kplayer-label{font-size:13px;color:#ffffffbf;white-space:nowrap}.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{display:inline-block;height:100%;position:relative;z-index:10000}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-box{position:absolute;right:0;bottom:50px;transform-origin:bottom right;transform:scale(0);width:220px;border-radius:2px;background:#16161af5;padding:10px 0;transition:none;overflow:hidden;z-index:9999;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.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{display:flex;align-items:center;gap:8px;padding:0 12px;height:38px;min-height:38px;cursor:pointer;border-bottom:.5px solid rgba(255,255,255,.08);margin-bottom:3px;box-sizing:border-box;transition:background .12s}.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{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;opacity:1;flex-shrink:0}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-panel-back .kplayer-setting-back-icon svg{width:14px;height:14px;fill:#fff}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-panel-back .kplayer-label{font-size:12px;color:#fff;font-weight:400}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-item{display:flex;align-items:center;justify-content:space-between;height:38px;min-height:38px;padding:0 12px;box-sizing:border-box;cursor:pointer;position:relative;transition:background .12s}.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{display:flex;align-items:center;justify-content:space-between;height:38px;min-height:38px;padding:0 12px;box-sizing:border-box;cursor:pointer;transition:background .12s}.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{display:inline-flex;align-items:center;gap:9px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;opacity:1;flex-shrink:0}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-icon svg{width:15px;height:15px;fill:#fff}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;opacity:.7;transition:opacity .15s}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-btn:hover{opacity:1}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-action-btn svg{width:13px;height:13px;fill:#fff}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-label{font-size:13px;color:#fff;font-weight:400;display:inline-block;vertical-align:middle;white-space:nowrap}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-title{font-size:13px;padding:10px 0;color:#fff;font-weight:400;display:inline-block;vertical-align:middle;white-space:nowrap}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-current-value{font-size:12px;color:#fff;margin-right:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-item-right{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-arrow{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;opacity:.35}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-arrow svg{width:12px;height:12px;fill:#fff}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-speed-badge{font-size:11px;color:#fff;background:#ffffff14;border-radius:4px;padding:2px 6px;font-weight:500;white-space:nowrap}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-speed-item{display:flex;align-items:center;justify-content:space-between;height:36px;min-height:36px;padding:0 12px;box-sizing:border-box;cursor:pointer;transition:background .12s}.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{display:flex;align-items:center;justify-content:space-between;height:38px;min-height:38px;padding:0 12px;box-sizing:border-box;cursor:pointer;transition:background .12s}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-subtitle-toggle:hover{background-color:#ffffff12}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle{width:32px;height:20px;text-align:center;font-size:0;vertical-align:middle;position:relative;flex-shrink:0}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input{max-height:0;max-width:0;display:none}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input+label{display:inline-block;position:relative;box-shadow:none;border:.5px solid rgba(255,255,255,.2);background:#ffffff1a;height:20px;width:32px;border-radius:10px;box-sizing:border-box;cursor:pointer;transition:background .2s ease-in-out,border-color .2s ease-in-out}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input+label:before{content:"";position:absolute;display:block;height:18px;width:18px;top:0;left:0;border-radius:15px;transition:.2s ease-in-out}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input+label:after{content:"";position:absolute;display:block;left:0;top:0;border-radius:15px;background:#ffffffe6;transition:.2s ease-in-out;box-shadow:0 1px 3px #0006;height:18px;width:18px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input:checked+label{border-color:#ffffff80;background:#ffffff73}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input:checked+label:before{width:30px;background:transparent}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-toggle input:checked+label:after{left:12px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken{padding:0 12px;height:38px;min-height:38px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .12s}.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{flex:1;padding:0;box-sizing:border-box;display:none;align-items:center;height:100%;width:100%}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken .kplayer-awaken-bar-wrap .kplayer-awaken-bar{position:relative;width:100%;height:3px;background:#fff3;border-radius:2px;transition:all .3s ease-in-out}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken .kplayer-awaken-bar-wrap .kplayer-awaken-bar .kplayer-awaken-bar-inner{position:absolute;bottom:0;left:0;height:100%;border-radius:2px;transition:all .1s ease;background:#ffffffb3;will-change:width}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-setting-awaken .kplayer-awaken-bar-wrap .kplayer-awaken-bar .kplayer-awaken-bar-inner .kplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;background:#fff;box-shadow:0 1px 3px #0000004d}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality-inline{display:block;height:auto}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline .kplayer-subtitles-box,.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality-inline .kplayer-quality-list{position:static;transform:none;display:block;width:100%;max-width:none;min-width:0;background:transparent;border:none;padding:0;border-radius:0}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-subtitles-inline .kplayer-subtitles-item{display:flex;align-items:center;justify-content:space-between;height:36px;min-height:36px;padding:0 12px;cursor:pointer;transition:background .12s;box-sizing:border-box}.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{display:flex;align-items:center;justify-content:space-between;height:36px;min-height:36px;padding:0 12px;cursor:pointer;transition:background .12s;box-sizing:border-box;text-align:left;line-height:36px}.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{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-check-icon svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality{position:relative;display:inline-block;height:100%;z-index:2}.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{display:none;position:absolute;bottom:38px;left:-18px;width:80px;padding-bottom:12px}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality .kplayer-quality-list{display:none;font-size:12px;width:100px;border-radius:8px;background:#16161af5;border:.5px solid rgba(255,255,255,.1);padding:4px 0;transition:all .2s ease-in-out;overflow:hidden;color:#fff;text-align:center}.kplayer-controller .kplayer-icons .kplayer-setting .kplayer-quality .kplayer-quality-item{height:30px;box-sizing:border-box;cursor:pointer;line-height:30px;padding:0 10px;font-size:13px;color:#ffffffbf;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;font-size:13px;display:inline-block;vertical-align:middle;white-space:nowrap}.kplayer-mobile-play{z-index:1;display:none;width:50px;height:50px;border:none;background-color:transparent;outline:none;cursor:pointer;box-sizing:border-box;opacity:.8;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.kplayer-awaken{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.kplayer-awaken .kplayer-awaken-item{display:inline-block;pointer-events:none;-webkit-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.kplayer-awaken .kplayer-awaken-item--demo{position:absolute;visibility:hidden}.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{position:absolute;width:100%;text-align:center;visibility:hidden}.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;position:absolute;left:20px;top:60px;max-width:100px;max-height:50px}.kplayer-logo img{max-width:100%;max-height:100%;background:none}@media (max-width: 768px){.kplayer-logo{pointer-events:none;position:absolute;left:15px;top:30px;max-width:80px;max-height:50px}.kplayer-logo img{max-width:100%;max-height:100%;background:none}}.kplayer-menu{position:absolute;width:170px;border-radius:2px;background:#16161af5;padding:5px 0;overflow:hidden;z-index:3;display:none}.kplayer-menu.kplayer-menu-show{display:block}.kplayer-menu .kplayer-menu-item{height:30px;box-sizing:border-box;cursor:pointer}.kplayer-menu .kplayer-menu-item:hover{background-color:#ffffff1a}.kplayer-menu .kplayer-menu-item a{padding:0 10px;line-height:30px;color:#eee;font-size:13px;display:inline-block;vertical-align:middle;width:100%;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;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{border-radius:2px;background:#16161af5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s ease-in-out;overflow:hidden;color:#ffffffe0;font-size:13px;font-weight:400;display:table;pointer-events:none;animation:showNotice .3s ease 1 forwards}.kplayer-notice-list .remove-notice{animation:removeNotice .3s ease 1 forwards}@keyframes showNotice{0%{padding:0;font-size:0;margin-top:0;opacity:0}to{padding:6px 14px;font-size:13px;margin-top:5px;opacity:1}}@keyframes removeNotice{0%{padding:6px 14px;font-size:13px;margin-top:5px;opacity:1}20%{font-size:11px;opacity:.5}21%{font-size:0;padding:6px 10px}to{padding:0;margin-top:0;font-size:0;opacity:0}}.kplayer-subtitle{position:absolute;bottom:40px;width:90%;left:5%;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px}.kplayer-subtitle.kplayer-subtitle-hide{display:none}.kplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.kplayer-mask.kplayer-mask-show{display:block}.kplayer-video-wrap{position:relative;overflow:hidden;background:#000;font-size:0;width:100%;height:100%}.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{position:absolute;top:10px;left:10px;width:400px;background:#1c1c1ccc;padding:10px;color:#fff;font-size:12px;border-radius:2px}.kplayer-info-panel-hide{display:none}.kplayer-info-panel .kplayer-info-panel-close{cursor:pointer;position:absolute;right:10px;top:10px}.kplayer-info-panel .kplayer-info-panel-item>span{display:inline-block;vertical-align:middle;line-height:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.kplayer-info-panel .kplayer-info-panel-item-title{width:100px;text-align:right;margin-right:10px}.kplayer-info-panel .kplayer-info-panel-item-data{width:260px}.kplayer-skip-btn{position:absolute;bottom:60px;right:16px;z-index:2;display:flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:2px;background:#16161af5;color:#ffffffe0;font-size:13px;font-weight:400;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;white-space:nowrap}.kplayer-skip-btn-text{pointer-events:none}.kplayer-hide-controller .kplayer-skip-btn{bottom:16px}')),document.head.appendChild(e)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
2
- (function(B,h){typeof exports=="object"&&typeof module<"u"?module.exports=h():typeof define=="function"&&define.amd?define(h):(B=typeof globalThis<"u"?globalThis:B||self,B.KPlayer=h())})(this,function(){"use strict";const B=/mobile|android|iphone|ipod|phone|ipad/i.test(window.navigator.userAgent),h={secondToTime(n){if(n=n||0,n===0||n===1/0||n.toString()==="NaN")return"00:00";const e=a=>a<10?"0"+a:""+a,t=Math.floor(n/3600),i=Math.floor((n-t*3600)/60),s=Math.floor(n-t*3600-i*60);return(t>0?[t,i,s]:[i,s]).map(e).join(":")},getElementViewLeft(n){let e=n.offsetLeft,t=n.offsetParent;const i=document.body.scrollLeft+document.documentElement.scrollLeft;if(!document.fullscreenElement&&!document.mozFullScreenElement&&!document.webkitFullscreenElement)for(;t!==null;)e+=t.offsetLeft,t=t.offsetParent;else for(;t!==null&&t!==n;)e+=t.offsetLeft,t=t.offsetParent;return e-i},getBoundingClientRectViewLeft(n){const e=window.scrollY||window.pageYOffset||document.body.scrollTop+(document.documentElement&&document.documentElement.scrollTop||0);if(n.getBoundingClientRect){const t=this.getBoundingClientRectViewLeft;if(typeof t.offset!="number"){let a=document.createElement("div");a.style.cssText="position:absolute;top:0;left:0;",document.body.appendChild(a),t.offset=-a.getBoundingClientRect().top-e,document.body.removeChild(a),a=null}const i=n.getBoundingClientRect(),s=t.offset;return i.left+s}else return this.getElementViewLeft(n)},getScrollPosition(){return{left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},setScrollPosition({left:n=0,top:e=0}){this.isFirefox?(document.documentElement.scrollLeft=n,document.documentElement.scrollTop=e):window.scrollTo(n,e)},isMobile:B,isFirefox:/firefox/i.test(window.navigator.userAgent),isChrome:/chrome/i.test(window.navigator.userAgent),isSafari:/safari/i.test(window.navigator.userAgent),storage:{set(n,e){localStorage.setItem(n,String(e))},get(n){return localStorage.getItem(n)}},nameMap:{dragStart:B?"touchstart":"mousedown",dragMove:B?"touchmove":"mousemove",dragEnd:B?"touchend":"mouseup"},color2Number(n){return n[0]==="#"&&(n=n.substr(1)),n.length===3&&(n=`${n[0]}${n[0]}${n[1]}${n[1]}${n[2]}${n[2]}`),parseInt(n,16)+0&16777215},number2Color(n){return"#"+("00000"+n.toString(16)).slice(-6)},number2Type(n){switch(n){case 0:return"right";case 1:return"top";case 2:return"bottom";default:return"right"}}},U=n=>{var t;const e={container:n.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(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&!Object.prototype.hasOwnProperty.call(n,i)&&(n[i]=e[i]);return n.video&&(n.video.type||(n.video.type="auto")),typeof n.awaken=="object"&&n.awaken&&(n.awaken.user||(n.awaken.user="DIYgod")),n.subtitle&&(n.subtitle.type||(n.subtitle.type="webvtt"),n.subtitle.fontSize||(n.subtitle.fontSize="20px"),n.subtitle.bottom||(n.subtitle.bottom="40px"),n.subtitle.color||(n.subtitle.color="#fff")),(t=n.video)!=null&&t.quality&&n.video.defaultQuality!==void 0&&(n.video.url=n.video.quality[n.video.defaultQuality].url),n.lang&&(n.lang=n.lang.toLowerCase()),n.contextmenu=(n.contextmenu||[]).concat([{key:"about-author",link:"https://github.com/kenji-07/"}]),n};function j(n){this.lang=n,this.fallbackLang=this.lang.includes("-")?this.lang.split("-")[0]:this.lang,this.tran=e=>(e=e.toLowerCase(),T[this.lang]&&T[this.lang][e]?T[this.lang][e]:T[this.fallbackLang]&&T[this.fallbackLang][e]?T[this.fallbackLang][e]:S[e]?S[e]:e)}const S={"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":"Видео мэдээлэл"},T={mn:S,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"},"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":"视频统计信息"},"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":"影片統計訊息"},"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":"비디오 정보"},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"},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":"動画情報"},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":"Информация о видео"}},b={play:`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 32">
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
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.KPlayer=t())})(this,function(){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
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>`,pause:`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 17 32">
4
+ </svg>`,c=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 17 32">
5
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>`,volumeUp:`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 21 32">
6
+ </svg>`,l=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 21 32">
7
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>`,volumeDown:`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 21 32">
8
+ </svg>`,u=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 21 32">
9
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>`,volumeOff:`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 21 32">
10
+ </svg>`,d=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 21 32">
11
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>`,full:`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 33">
12
+ </svg>`,f=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 33">
13
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>`,fullWeb:`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 33">
14
+ </svg>`,p=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 33">
15
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>`,setting:`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 28">
16
+ </svg>`,m=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 28">
17
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>`,right:`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32">
18
+ </svg>`,h=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32">
19
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>`,camera:'<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>',subtitle:'<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>',loading:`<svg height="100%" version="1.1" viewBox="0 0 22 22">
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">
21
23
  <svg x="7" y="1">
22
24
  <circle class="diplayer-loading-dot diplayer-loading-dot-0" cx="4" cy="4" r="2"></circle>
23
25
  </svg>
@@ -42,64 +44,50 @@
42
44
  <svg x="3" y="3">
43
45
  <circle class="diplayer-loading-dot diplayer-loading-dot-7" cx="4" cy="4" r="2"></circle>
44
46
  </svg>
45
- </svg>`,airplay:'<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>',chromecast:'<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>',back:`<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">
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">
46
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>
47
- </svg>`,rewind:`<svg height="64" viewBox="0 0 52 58" width="64" xmlns="http://www.w3.org/2000/svg">
48
- <g fill="currentColor" fill-rule="evenodd">
49
- <path d="m 5.5924415,15.888 c 0.689576,-0.850221 1.934556,-0.988067 2.793425,-0.309293 0.858869,0.678775 1.01244,1.921914 0.344575,2.789293 -3.080792,3.874075 -4.749496,8.682314 -4.731,13.632 C 3.9968145,43.81419 13.325754,53.521229 25.13073,53.987735 36.935706,54.45424 47.001556,45.513639 47.931221,33.736084 48.860886,21.958529 40.322412,11.54939 28.590442,10.158 l 2.709,2.323 c 0.805609,0.726128 0.885668,1.962033 0.180472,2.786027 -0.705196,0.823994 -1.938636,0.935771 -2.780472,0.251973 l -7,-6 C 21.25581,9.139031 21.000457,8.5841111 21.000457,8 c 0,-0.5841111 0.255353,-1.1390314 0.698985,-1.519 l 7,-6 c 0.539853,-0.48659126 1.301183,-0.64202535 1.988568,-0.4059887 0.687386,0.2360366 1.192625,0.8263892 1.319668,1.5419814 C 32.134722,2.3325849 31.863571,3.0607745 31.299442,3.519 l -3.019,2.587 C 42.289945,7.3398222 52.778928,19.489857 51.954757,33.529417 51.130586,47.568977 39.292047,58.408309 25.234406,57.994492 11.176766,57.580675 -0.00366845,46.06373 -5.5845031e-4,32 -0.02194145,26.149702 1.9507985,20.466743 5.5924415,15.888 Z" fill-rule="nonzero"/>
50
- <path d="m 18.518442,15.3 c -0.345217,0.403014 -0.836445,0.652314 -1.365537,0.693013 -0.529093,0.0407 -1.05267,-0.130538 -1.455463,-0.476013 l -7.0000005,-6 C 8.2538095,9.137031 7.9984565,8.5821111 7.9984565,7.998 c 0,-0.5841111 0.255353,-1.1390315 0.698985,-1.519 l 7.0000005,-6 c 0.539853,-0.48659126 1.301183,-0.64202535 1.988568,-0.4059887 0.687386,0.2360366 1.192625,0.8263892 1.319668,1.5419814 C 19.132722,2.3305849 18.861571,3.0587745 18.297442,3.517 l -5.225,4.483 5.227,4.481 c 0.838569,0.718149 0.936595,1.979957 0.219,2.819 z" fill-rule="nonzero"/>
51
- <path d="m 15,40 c -1.104569,0 -2,0.895431 -2,2 0,1.104569 0.895431,2 2,2 h 6 c 1.104569,0 2,-0.895431 2,-2 0,-1.104569 -0.895431,-2 -2,-2 H 20 V 23 C 19.999864,22.262562 19.593937,21.58503 18.943766,21.237045 18.293595,20.88906 17.504684,20.92709 16.891,21.336 l -3,2 c -0.895079,0.599923 -1.153983,1.801111 -0.585512,2.716488 C 13.87396,26.967865 15.06543,27.268334 16,26.732 V 40 Z" fill-rule="nonzero"/>
52
- <path d="m 31,21 c -2.761424,0 -5,2.238576 -5,5 v 13 c 0,2.761424 2.238576,5 5,5 h 3 c 2.761424,0 5,-2.238576 5,-5 V 26 c 0,-2.761424 -2.238576,-5 -5,-5 z m 4,5 v 13 c 0,0.552285 -0.447715,1 -1,1 h -3 c -0.552285,0 -1,-0.447715 -1,-1 V 26 c 0,-0.552285 0.447715,-1 1,-1 h 3 c 0.552285,0 1,0.447715 1,1 z" fill-rule="nonzero"/>
53
- </g>
54
- </svg>`,forward:`<svg height="64" viewBox="0 0 52 58" width="64" xmlns="http://www.w3.org/2000/svg">
55
- <g fill="currentColor" fill-rule="evenodd">
56
- <path d="M 46.407,15.888 C 45.717424,15.037779 44.472444,14.899933 43.613575,15.578707 42.754706,16.257482 42.601135,17.500621 43.269,18.368 46.349792,22.242075 48.018496,27.050314 48,32 48.002627,43.81419 38.673688,53.521229 26.868712,53.987735 15.063736,54.45424 4.9978851,45.513639 4.0682205,33.736084 3.1385559,21.958529 11.67703,11.54939 23.409,10.158 L 20.7,12.481 c -0.805609,0.726128 -0.885668,1.962033 -0.180472,2.786027 0.705196,0.823994 1.938636,0.935771 2.780472,0.251973 l 7,-6 C 30.743632,9.139031 30.998985,8.5841111 30.998985,8 30.998985,7.4158889 30.743632,6.8609686 30.3,6.481 l -7,-6 C 22.760147,-0.00559126 21.998817,-0.16102535 21.311432,0.0750113 20.624046,0.3110479 20.118807,0.9014005 19.991764,1.6169927 19.86472,2.3325849 20.135871,3.0607745 20.7,3.519 l 3.019,2.587 C 9.709497,7.3398222 -0.77948671,19.489857 0.0446845,33.529417 0.8688557,47.568977 12.707395,58.408309 26.765036,57.994492 40.822676,57.580675 52.00311,46.06373 52,32 52.021383,26.149702 50.048643,20.466743 46.407,15.888 Z" fill-rule="nonzero"/>
57
- <path d="m 33.481,15.3 c 0.345217,0.403014 0.836445,0.652314 1.365537,0.693013 0.529093,0.0407 1.05267,-0.130538 1.455463,-0.476013 l 7,-6 c 0.443632,-0.379969 0.698985,-0.9348889 0.698985,-1.519 0,-0.5841111 -0.255353,-1.1390315 -0.698985,-1.519 l -7,-6 C 35.762147,-0.00759126 35.000817,-0.16302535 34.313432,0.0730113 33.626046,0.3090479 33.120807,0.8994005 32.993764,1.6149927 32.86672,2.3305849 33.137871,3.0587745 33.702,3.517 L 38.927,8 33.7,12.481 c -0.838569,0.718149 -0.936595,1.979957 -0.219,2.819 z" fill-rule="nonzero"/>
58
- <path d="m 15,40 c -1.104569,0 -2,0.895431 -2,2 0,1.104569 0.895431,2 2,2 h 6 c 1.104569,0 2,-0.895431 2,-2 0,-1.104569 -0.895431,-2 -2,-2 H 20 V 23 C 19.999864,22.262562 19.593937,21.58503 18.943766,21.237045 18.293595,20.88906 17.504684,20.92709 16.891,21.336 l -3,2 c -0.895079,0.599923 -1.153983,1.801111 -0.585512,2.716488 C 13.87396,26.967865 15.06543,27.268334 16,26.732 V 40 Z" fill-rule="nonzero"/>
59
- <path d="m 31,21 c -2.761424,0 -5,2.238576 -5,5 v 13 c 0,2.761424 2.238576,5 5,5 h 3 c 2.761424,0 5,-2.238576 5,-5 V 26 c 0,-2.761424 -2.238576,-5 -5,-5 z m 4,5 v 13 c 0,0.552285 -0.447715,1 -1,1 h -3 c -0.552285,0 -1,-0.447715 -1,-1 V 26 c 0,-0.552285 0.447715,-1 1,-1 h 3 c 0.552285,0 1,0.447715 1,1 z" fill-rule="nonzero"/>
60
- </g>
61
- </svg>`,video:'<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>'};function C(n){return String(n??"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function $({current:n=!1,airplay:e=!1,pic:t="",screenshot:i=!1,preload:s="",url:a="",subtitle:l=null}={}){return l&&l.type,`
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,`
62
50
  <video
63
- class="kplayer-video ${n?"kplayer-video-current":""}"
51
+ class="kplayer-video ${e?`kplayer-video-current`:``}"
64
52
  webkit-playsinline
65
- ${e?'x-webkit-airplay="allow"':""}
53
+ ${t?`x-webkit-airplay="allow"`:``}
66
54
  playsinline
67
- ${t?`poster="${C(t)}"`:""}
68
- ${i?'crossorigin="anonymous"':""}
69
- ${s?`preload="${C(s)}"`:""}
70
- ${e?"nosrc":a?`src="${C(a)}"`:""}
55
+ ${n?`poster="${D(n)}"`:``}
56
+ ${r?`crossorigin="anonymous"`:``}
57
+ ${i?`preload="${D(i)}"`:``}
58
+ ${t?`nosrc`:a?`src="${D(a)}"`:``}
71
59
  >
72
- ${e?`<source src="${C(a)}">`:""}
73
- </video>`.trim()}function w(n){return String(n??"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function d(n){return n==null?"":String(n)}function M(n){return n?"checked":""}function N({options:n,index:e,tran:t,icons:i,mobile:s,video:a}){var k,r,c,f,v,L,E,q,F,z,V,R,O;const l=n.theme||"#b7daff",o=n.awaken&&typeof n.awaken=="object"&&n.awaken.bottom?` style="margin-bottom:${w(n.awaken.bottom)}"`:"",u=n.subtitle&&typeof n.subtitle.url=="string",y=((f=(c=(k=n.video)==null?void 0:k.quality)==null?void 0:c[((r=n.video)==null?void 0:r.defaultQuality)??0])==null?void 0:f.name)||"",m=(v=n.title)!=null&&v.back?`
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?`
74
62
  <div class="kplayer-back">
75
63
  <button class="kplayer-title-back-btn" aria-label="Back">
76
- <span class="kplayer-icon-content">${d(i.back)}</span>
64
+ <span class="kplayer-icon-content">${A(r.back)}</span>
77
65
  </button>
78
- </div>`:"",p=n.title?`
79
- ${m}
66
+ </div>`:``,d=e.title?`
67
+ ${u}
80
68
  <div class="kplayer-title-bar">
81
69
  <div class="kplayer-title-info">
82
- <div class="kplayer-title-main">${d(n.title.title||"")}</div>
83
- ${n.title.description?`<div class="kplayer-title-desc">${d(n.title.description)}</div>`:""}
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>`:``}
84
72
  </div>
85
- </div>`:"";return`
73
+ </div>`:``;return`
86
74
  <div class="kplayer-mask"></div>
87
75
  <div class="kplayer-video-wrap">
88
- ${$(a)}
89
- ${n.logo?`
76
+ ${O(a)}
77
+ ${e.logo?`
90
78
  <div class="kplayer-logo">
91
- <img src="${w(n.logo)}">
92
- </div>`:""}
93
- ${p}
94
- <div class="kplayer-awaken"${o}>
79
+ <img src="${k(e.logo)}" alt="">
80
+ </div>`:``}
81
+ ${d}
82
+ <div class="kplayer-awaken"${s}>
95
83
  <div class="kplayer-awaken-item kplayer-awaken-item--demo"></div>
96
84
  </div>
97
85
  <div class="kplayer-subtitle"></div>
98
86
  <div class="kplayer-bezel">
99
87
  <span class="kplayer-bezel-icon"></span>
100
- ${n.awaken?`
101
- <span class="kplayer-danloading">${d(t("awaken-loading"))}</span>`:""}
102
- <span class="diplayer-loading-icon">${d(i.loading)}</span>
88
+ ${e.awaken?`
89
+ <span class="kplayer-danloading">${A(n(`awaken-loading`))}</span>`:``}
90
+ <span class="diplayer-loading-icon">${A(r.loading)}</span>
103
91
  </div>
104
92
  </div>
105
93
  <div class="kplayer-controller-mask"></div>
@@ -109,13 +97,13 @@ ${m}
109
97
 
110
98
  <div class="kplayer-icons kplayer-icons-left">
111
99
  <div class="kplayer-volume">
112
- <button class="kplayer-icon kplayer-volume-icon">
113
- <span class="kplayer-icon-content">${d(i.volumeDown)}</span>
100
+ <button class="kplayer-icon kplayer-volume-icon" aria-label="${k(n(`mute`))}">
101
+ <span class="kplayer-icon-content">${A(r.volumeDown)}</span>
114
102
  </button>
115
- <div class="kplayer-volume-bar-wrap" data-balloon-pos="up">
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)}">
116
104
  <div class="kplayer-volume-bar">
117
- <div class="kplayer-volume-bar-inner" style="background: ${w(l)};">
118
- <span class="kplayer-thumb" style="background: ${w(l)}"></span>
105
+ <div class="kplayer-volume-bar-inner" style="background: ${k(o)};">
106
+ <span class="kplayer-thumb" style="background: ${k(o)}"></span>
119
107
  </div>
120
108
  </div>
121
109
  </div>
@@ -124,19 +112,19 @@ ${m}
124
112
  <span class="kplayer-ptime">0:00</span> /
125
113
  <span class="kplayer-dtime">0:00</span>
126
114
  </span>
127
- ${n.live?`
128
- <span class="kplayer-live-badge"><span class="kplayer-live-dot" style="background: ${w(l)};"></span>${d(t("live"))}</span>`:""}
115
+ ${e.live?`
116
+ <span class="kplayer-live-badge"><span class="kplayer-live-dot" style="background: ${k(o)};"></span>${A(n(`live`))}</span>`:``}
129
117
  </div>
130
118
 
131
119
  <div class="kplayer-icons kplayer-icons-center">
132
- <button class="kplayer-icon kplayer-rewind-icon">
133
- <span class="kplayer-icon-content">${d(i.rewind)}</span>
120
+ <button class="kplayer-icon kplayer-rewind-icon" aria-label="${k(n(`rewind`))}">
121
+ <span class="kplayer-icon-content">${A(r.rewind)}</span>
134
122
  </button>
135
- <button class="kplayer-icon kplayer-play-icon">
136
- <span class="kplayer-icon-content">${d(i.play)}</span>
123
+ <button class="kplayer-icon kplayer-play-icon" aria-label="${k(n(`play`))}">
124
+ <span class="kplayer-icon-content">${A(r.play)}</span>
137
125
  </button>
138
- <button class="kplayer-icon kplayer-forward-icon">
139
- <span class="kplayer-icon-content">${d(i.forward)}</span>
126
+ <button class="kplayer-icon kplayer-forward-icon" aria-label="${k(n(`forward`))}">
127
+ <span class="kplayer-icon-content">${A(r.forward)}</span>
140
128
  </button>
141
129
  </div>
142
130
 
@@ -146,99 +134,99 @@ ${m}
146
134
  <div class="kplayer-chromecast-icon"></div>
147
135
 
148
136
  <div class="kplayer-setting">
149
- <button class="kplayer-icon kplayer-setting-icon" data-balloon="${w(t("setting"))}" data-balloon-pos="up">
150
- <span class="kplayer-icon-content">${d(i.setting)}</span>
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>
151
139
  </button>
152
140
 
153
141
  <div class="kplayer-setting-box">
154
142
  <!-- MAIN PANEL -->
155
143
  <div class="kplayer-setting-origin-panel">
156
144
 
157
- ${n.subtitle?`
145
+ ${e.subtitle?`
158
146
  <div class="kplayer-setting-item kplayer-setting-subtitle-entry">
159
147
  <div class="kplayer-setting-action-main">
160
- <span class="kplayer-setting-action-icon">${d(i.subtitle)}</span>
161
- <span class="kplayer-label">${d(t("subtitle"))}</span>
148
+ <span class="kplayer-setting-action-icon">${A(r.subtitle)}</span>
149
+ <span class="kplayer-label">${A(n(`subtitle`))}</span>
162
150
  </div>
163
151
  <div class="kplayer-setting-item-right">
164
152
  <span class="kplayer-setting-current-value" id="kplayer-subtitle-current"></span>
165
- <span class="kplayer-setting-arrow">${d(i.right)}</span>
153
+ <span class="kplayer-setting-arrow">${A(r.right)}</span>
166
154
  </div>
167
- </div>`:""}
155
+ </div>`:``}
168
156
 
169
- ${(L=n.video)!=null&&L.quality||((E=n.video)==null?void 0:E.type)==="hls"||((q=n.video)==null?void 0:q.type)==="auto"?`
157
+ ${e.video?.quality||e.video?.type===`hls`||e.video?.type===`auto`?`
170
158
  <div class="kplayer-setting-item kplayer-setting-quality-entry">
171
159
  <div class="kplayer-setting-action-main">
172
- <span class="kplayer-setting-action-icon">${d(i.video||i.setting)}</span>
173
- <span class="kplayer-label">${d(t("quality"))}</span>
160
+ <span class="kplayer-setting-action-icon">${A(r.video||r.setting)}</span>
161
+ <span class="kplayer-label">${A(n(`quality`))}</span>
174
162
  </div>
175
163
  <div class="kplayer-setting-item-right">
176
- <span class="kplayer-setting-current-value" id="kplayer-quality-current">${d(y||"Auto")}</span>
177
- <span class="kplayer-setting-arrow">${d(i.right)}</span>
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>
178
166
  </div>
179
- </div>`:""}
167
+ </div>`:``}
180
168
 
181
- ${n.airplay?`
169
+ ${e.airplay?`
182
170
  <div class="kplayer-setting-action kplayer-setting-airplay-entry">
183
171
  <div class="kplayer-setting-action-main">
184
- <span class="kplayer-setting-action-icon">${d(i.airplay)}</span>
185
- <span class="kplayer-label">${d(t("airplay"))}</span>
172
+ <span class="kplayer-setting-action-icon">${A(r.airplay)}</span>
173
+ <span class="kplayer-label">${A(n(`airplay`))}</span>
186
174
  </div>
187
- </div>`:""}
175
+ </div>`:``}
188
176
 
189
- ${n.chromecast?`
177
+ ${e.chromecast?`
190
178
  <div class="kplayer-setting-action kplayer-setting-chromecast-entry">
191
179
  <div class="kplayer-setting-action-main">
192
- <span class="kplayer-setting-action-icon">${d(i.chromecast)}</span>
193
- <span class="kplayer-label">${d(t("chromecast"))}</span>
180
+ <span class="kplayer-setting-action-icon">${A(r.chromecast)}</span>
181
+ <span class="kplayer-label">${A(n(`chromecast`))}</span>
194
182
  </div>
195
- </div>`:""}
183
+ </div>`:``}
196
184
 
197
- ${n.screenshot?`
185
+ ${e.screenshot?`
198
186
  <div class="kplayer-setting-action kplayer-setting-screenshot-entry">
199
187
  <div class="kplayer-setting-action-main">
200
- <span class="kplayer-setting-action-icon">${d(i.camera)}</span>
201
- <span class="kplayer-label">${d(t("screenshot"))}</span>
188
+ <span class="kplayer-setting-action-icon">${A(r.camera)}</span>
189
+ <span class="kplayer-label">${A(n(`screenshot`))}</span>
202
190
  </div>
203
- </div>`:""}
191
+ </div>`:``}
204
192
 
205
193
  <div class="kplayer-setting-item kplayer-setting-speed">
206
194
  <div class="kplayer-setting-action-main">
207
- <span class="kplayer-label">${d(t("speed"))}</span>
195
+ <span class="kplayer-label">${A(n(`speed`))}</span>
208
196
  </div>
209
197
  <div class="kplayer-setting-item-right">
210
198
  <span class="kplayer-setting-speed-badge" id="kplayer-speed-current">1×</span>
211
- <span class="kplayer-setting-arrow">${d(i.right)}</span>
199
+ <span class="kplayer-setting-arrow">${A(r.right)}</span>
212
200
  </div>
213
201
  </div>
214
202
 
215
203
  <div class="kplayer-setting-item kplayer-setting-loop">
216
204
  <div class="kplayer-setting-action-main">
217
- <span class="kplayer-label">${d(t("loop"))}</span>
205
+ <span class="kplayer-label">${A(n(`loop`))}</span>
218
206
  </div>
219
207
  <div class="kplayer-toggle">
220
- <input class="kplayer-toggle-setting-input" type="checkbox" name="kplayer-toggle" ${M(n.loop)}>
208
+ <input class="kplayer-toggle-setting-input" type="checkbox" name="kplayer-toggle" ${j(e.loop)}>
221
209
  <label for="kplayer-toggle"></label>
222
210
  </div>
223
211
  </div>
224
212
 
225
213
  <div class="kplayer-setting-item kplayer-setting-showdan">
226
214
  <div class="kplayer-toggle">
227
- <input class="kplayer-showdan-setting-input" type="checkbox" name="kplayer-toggle-dan" ${M(!0)}>
215
+ <input class="kplayer-showdan-setting-input" type="checkbox" name="kplayer-toggle-dan" ${j(!0)}>
228
216
  <label for="kplayer-toggle-dan"></label>
229
217
  </div>
230
218
  </div>
231
219
 
232
220
  <div class="kplayer-setting-item kplayer-setting-danunlimit">
233
- <span class="kplayer-label">${d(t("unlimited-awaken"))}</span>
221
+ <span class="kplayer-label">${A(n(`unlimited-awaken`))}</span>
234
222
  <div class="kplayer-toggle">
235
- <input class="kplayer-danunlimit-setting-input" type="checkbox" name="kplayer-toggle-danunlimit" ${M(typeof n.awaken=="object"&&((F=n.awaken)==null?void 0:F.unlimited))}>
223
+ <input class="kplayer-danunlimit-setting-input" type="checkbox" name="kplayer-toggle-danunlimit" ${j(typeof e.awaken==`object`&&e.awaken?.unlimited)}>
236
224
  <label for="kplayer-toggle-danunlimit"></label>
237
225
  </div>
238
226
  </div>
239
227
 
240
228
  <div class="kplayer-setting-item kplayer-setting-awaken">
241
- <span class="kplayer-label">${d(t("opacity-awaken"))}</span>
229
+ <span class="kplayer-label">${A(n(`opacity-awaken`))}</span>
242
230
  <div class="kplayer-awaken-bar-wrap">
243
231
  <div class="kplayer-awaken-bar">
244
232
  <div class="kplayer-awaken-bar-inner">
@@ -253,82 +241,82 @@ ${m}
253
241
  <div class="kplayer-setting-speed-panel">
254
242
  <div class="kplayer-setting-panel-back kplayer-setting-back-main">
255
243
  <div class="kplayer-setting-action-main">
256
- <span class="kplayer-setting-back-icon">${d(i.back)}</span>
257
- <span class="kplayer-label">${d(t("speed"))}</span>
244
+ <span class="kplayer-setting-back-icon">${A(r.back)}</span>
245
+ <span class="kplayer-label">${A(n(`speed`))}</span>
258
246
  </div>
259
247
  </div>
260
- ${(n.playbackSpeed||[]).map(g=>`
261
- <div class="kplayer-setting-speed-item" data-speed="${w(g)}">
262
- <span class="kplayer-label">${d(g===1?t("normal"):g)}</span>
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>
263
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>
264
- </div>`).join("")}
252
+ </div>`).join(``)}
265
253
  </div>
266
254
 
267
255
  <!-- SUBTITLE PANEL -->
268
256
  <div class="kplayer-setting-subtitle-panel">
269
257
  <div class="kplayer-setting-panel-back kplayer-setting-back-main">
270
258
  <div class="kplayer-setting-action-main">
271
- <span class="kplayer-setting-back-icon">${d(i.back)}</span>
272
- <span class="kplayer-label">${d(t("subtitle"))}</span>
259
+ <span class="kplayer-setting-back-icon">${A(r.back)}</span>
260
+ <span class="kplayer-label">${A(n(`subtitle`))}</span>
273
261
  </div>
274
262
  </div>
275
- ${n.subtitle?u?`
263
+ ${e.subtitle?c?`
276
264
  <div class="kplayer-setting-subtitle-toggle">
277
265
  <div class="kplayer-setting-action-main">
278
- <span class="kplayer-setting-action-icon">${d(i.subtitle)}</span>
279
- <span class="kplayer-label">${d(t("hide-subs"))}</span>
266
+ <span class="kplayer-setting-action-icon">${A(r.subtitle)}</span>
267
+ <span class="kplayer-label">${A(n(`hide-subs`))}</span>
280
268
  </div>
281
269
  </div>`:`
282
270
  <div class="kplayer-subtitles-inline">
283
271
  <div class="kplayer-subtitles-box">
284
272
  <div class="kplayer-subtitles-panel">
285
- ${(Array.isArray(n.subtitle.url)?n.subtitle.url:[]).map(g=>{const x=g,ce=x.lang?x.name?`${x.name} (${t(x.lang)})`:t(x.lang):x.name||"";return`
286
- <div class="kplayer-subtitles-item" data-subtitle="${w(x.url)}">
287
- <span class="kplayer-label">${d(ce)}</span>
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>
288
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>
289
- </div>`}).join("")}
277
+ </div>`}).join(``)}
290
278
  </div>
291
279
  </div>
292
- </div>`:""}
280
+ </div>`:``}
293
281
  </div>
294
282
 
295
283
  <!-- QUALITY PANEL -->
296
284
  <div class="kplayer-setting-quality-panel">
297
285
  <div class="kplayer-setting-panel-back kplayer-setting-back-main">
298
286
  <div class="kplayer-setting-action-main">
299
- <span class="kplayer-setting-back-icon">${d(i.back)}</span>
300
- <span class="kplayer-label">${d(t("quality"))}</span>
287
+ <span class="kplayer-setting-back-icon">${A(r.back)}</span>
288
+ <span class="kplayer-label">${A(n(`quality`))}</span>
301
289
  </div>
302
290
  </div>
303
- ${(z=n.video)!=null&&z.quality||((V=n.video)==null?void 0:V.type)==="hls"||((R=n.video)==null?void 0:R.type)==="auto"?`
291
+ ${e.video?.quality||e.video?.type===`hls`||e.video?.type===`auto`?`
304
292
  <div class="kplayer-quality-inline">
305
293
  <div class="kplayer-quality-list">
306
- ${(O=n.video)!=null&&O.quality?n.video.quality.map((g,x)=>`
307
- <div class="kplayer-quality-item" data-index="${x}">
308
- <span class="kplayer-label">${d(g.name)}</span>
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>
309
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>
310
- </div>`).join(""):""}
298
+ </div>`).join(``):``}
311
299
  </div>
312
- </div>`:""}
300
+ </div>`:``}
313
301
  </div>
314
302
  </div>
315
303
  </div>
316
304
 
317
- <button class="kplayer-icon kplayer-full-in-icon" data-balloon="${w(t("web-fullscreen"))}" data-balloon-pos="up">
318
- <span class="kplayer-icon-content">${d(i.fullWeb)}</span>
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>
319
307
  </button>
320
- <button class="kplayer-icon kplayer-full-icon" data-balloon="${w(t("fullscreen"))}" data-balloon-pos="up">
321
- <span class="kplayer-icon-content">${d(i.full)}</span>
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>
322
310
  </button>
323
311
  </div>
324
312
 
325
- <div class="kplayer-bar-wrap">
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">
326
314
  <div class="kplayer-bar-time hidden">00:00</div>
327
315
  <div class="kplayer-bar-preview"></div>
328
316
  <div class="kplayer-bar">
329
317
  <div class="kplayer-loaded" style="width: 0;"></div>
330
- <div class="kplayer-played" style="width: 0; background: ${w(l)}">
331
- <span class="kplayer-thumb" style="background: ${w(l)}"></span>
318
+ <div class="kplayer-played" style="width: 0; background: ${k(o)}">
319
+ <span class="kplayer-thumb" style="background: ${k(o)}"></span>
332
320
  </div>
333
321
  </div>
334
322
  </div>
@@ -360,7 +348,7 @@ ${m}
360
348
  <span class="kplayer-info-panel-item-title">Video duration</span>
361
349
  <span class="kplayer-info-panel-item-data"></span>
362
350
  </div>
363
- ${n.awaken?`
351
+ ${e.awaken?`
364
352
  <div class="kplayer-info-panel-item kplayer-info-panel-item-awaken-id">
365
353
  <span class="kplayer-info-panel-item-title">Awaken id</span>
366
354
  <span class="kplayer-info-panel-item-data"></span>
@@ -372,40 +360,43 @@ ${m}
372
360
  <div class="kplayer-info-panel-item kplayer-info-panel-item-awaken-amount">
373
361
  <span class="kplayer-info-panel-item-title">Awaken amount</span>
374
362
  <span class="kplayer-info-panel-item-data"></span>
375
- </div>`:""}
363
+ </div>`:``}
376
364
  </div>
377
365
 
378
366
  <div class="kplayer-menu">
379
- ${(n.contextmenu||[]).map(g=>{const x=`${g.key?t(g.key):""}${g.text?g.text:""}`;return`
367
+ ${(e.contextmenu||[]).map(e=>{let t=`${e.key?n(e.key):``}${e.text?e.text:``}`;return`
380
368
  <div class="kplayer-menu-item">
381
- <a ${g.link?'target="_blank"':""} href="${w(g.link||"javascript:void(0);")}">${d(x)}</a>
382
- </div>`}).join("")}
369
+ <a ${e.link?`target="_blank" rel="noopener noreferrer"`:``} href="${k(e.link||`#`)}">${A(t)}</a>
370
+ </div>`}).join(``)}
383
371
  </div>
384
372
 
385
373
  <div class="kplayer-notice-list"></div>
386
374
  <button class="kplayer-mobile-play" style="display:none!important">
387
- ${d(i.play)}
375
+ ${A(r.play)}
388
376
  </button>
389
377
 
390
378
  <div class="kplayer-mobile-controls">
391
- <button class="kplayer-mobile-rewind">
392
- <span class="kplayer-icon-content">${d(i.rewind)}</span>
379
+ <button class="kplayer-mobile-rewind" aria-label="${k(n(`rewind`))}">
380
+ <span class="kplayer-icon-content">${A(r.rewind)}</span>
393
381
  </button>
394
- <button class="kplayer-mobile-play-btn">
395
- <span class="kplayer-icon-content">${d(i.play)}</span>
382
+ <button class="kplayer-mobile-play-btn" aria-label="${k(n(`play`))}">
383
+ <span class="kplayer-icon-content">${A(r.play)}</span>
396
384
  </button>
397
- <button class="kplayer-mobile-forward">
398
- <span class="kplayer-icon-content">${d(i.forward)}</span>
385
+ <button class="kplayer-mobile-forward" aria-label="${k(n(`forward`))}">
386
+ <span class="kplayer-icon-content">${A(r.forward)}</span>
399
387
  </button>
400
388
  </div>
401
389
 
402
- `.trim()}class H{constructor(e){this.container=e.container,this.options=e.options,this.index=e.index,this.tran=e.tran,this.init()}init(){this.container.innerHTML=N({options:this.options,index:this.index,tran:this.tran,icons:b,mobile:h.isMobile,video:{current:!0,pic:this.options.video.pic,screenshot:this.options.screenshot,airplay:h.isSafari&&!h.isChrome?this.options.airplay:!1,chromecast:this.options.chromecast,preload:this.options.preload,url:this.options.video.url,subtitle:this.options.subtitle}});const e=i=>this.container.querySelector(i),t=i=>this.container.querySelectorAll(i);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,i){const s=document.createElement("div");return s.classList.add("kplayer-notice"),s.style.opacity=String(t),s.innerText=e,i&&(s.id=`kplayer-notice-${i}`),s}}class D{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(){const 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:"50",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(22, 22, 26, 0.96)",color:"rgba(255, 255, 255, 0.88)",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(22, 22, 26, 0.96)",color:"rgba(255, 255, 255, 0.88)",fontSize:"13px",cursor:"pointer"}),this.deeplinkBtn.textContent="Learn more",this.deeplinkBtn.addEventListener("click",()=>{var t;(t=this.currentAd)!=null&&t.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:"3px 8px",borderRadius:"2px",background:"rgba(22, 22, 26, 0.8)",color:"rgba(255, 255, 255, 0.6)",fontSize:"11px",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){var l;const i=document.createElement("div");i.className="kplayer-ad-marker",i.style.left=`${e}%`;const s=document.createElement("span");s.className="kplayer-ad-marker-text";let a="Ad";if((l=t.name)!=null&&l.includes("vast_")){const o=t.name.replace("vast_","");a=o==="start"||o==="end"?"Ad":`Ad · ${o}`}else t.name&&(a=t.name);return s.textContent=a,i.appendChild(s),i}_renderBarMarkers(){this.player.on("durationchange",()=>{var t;const e=this.player.video.duration;!e||e===1/0||(this.adMarkers.forEach(i=>{var s;return(s=i.parentNode)==null?void 0:s.removeChild(i)}),this.adMarkers=[],(((t=this.options)==null?void 0:t.url)||[]).forEach(i=>{if(i.startTime===void 0||i.startTime<=0)return;const s=i.startTime/e*100;if(s>=100)return;const a=this._createMarker(s,i);this.player.template.playedBarWrap.appendChild(a),this.adMarkers.push(a)}))})}_bindTimeUpdate(){this._timeUpdateBound||(this._timeUpdateBound=!0,this.player.on("timeupdate",()=>{var i;if(this.currentAd||!((i=this.options)!=null&&i.url))return;const e=this.player.video.currentTime,t=this.player.video.duration;for(const s of this.options.url){s._isPostroll&&t&&t!==1/0&&(s.startTime=t-1);const a=`${s.name}_${s.startTime}`;if(this._shownAds.has(a))continue;if(Math.abs(e-(s.startTime||0))<.8){this._shownAds.add(a),s._impressionUrl&&fetch(s._impressionUrl).catch(()=>{}),this._showAd(s);break}}}))}_showAd(e){this.currentAd=e,this.adContent.innerHTML="",this.adContainer&&(this.adContainer.style.display="block"),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.pause():this.player.video.pause(),this._startSkipTimer(e.skipTime||5)}_showImageAd(e){const 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){const t=e.backroundColor?e.backroundColor.startsWith("#")?e.backroundColor:"#"+e.backroundColor:"#1a1a1a";this.adContent.style.background=t,this.adContainer&&(this.adContainer.style.background=t);const i=document.createElement("div");Object.assign(i.style,{color:"#fff",fontSize:"18px",fontWeight:"400",textAlign:"center",padding:"24px",lineHeight:"1.6",cursor:e.deeplink?"pointer":"default"}),i.textContent=e.url,e.deeplink&&i.addEventListener("click",()=>window.open(e.deeplink,"_blank")),this.adContent.appendChild(i)}_showVideoAd(e){this.adContainer&&(this.adContainer.style.background="#000"),this.adContent.style.background="#000";const 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";const 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._adVideo&&(this._adVideo.pause(),this._adVideo.src="",this._adVideo=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="";const e=this.currentAd;if(this.currentAd=null,e&&e.startTime!==void 0){const t=(e.startTime||0)+.5,i=this.player.video.duration||0;i>0&&t<i&&(this.player.video.currentTime=t)}this.player.play()}async _loadVAST(e){var t;try{const s=await(await fetch(e)).text(),l=new DOMParser().parseFromString(s,"text/xml"),o="http://www.iab.net/videosuite/vmap",u=l.getElementsByTagNameNS(o,"AdBreak");if(u.length>0){const y=this.player.video.duration||0,m=[];for(const p of Array.from(u)){const k=p.getAttribute("timeOffset")||"";let r=0;k==="start"?r=0:k==="end"?r=y>0?y-1:99999:k&&(r=this._parseTime(k));const c=p.getElementsByTagNameNS(o,"AdTagURI")[0],f=(t=c==null?void 0:c.textContent)==null?void 0:t.trim();f&&m.push({vastUrl:f,startTime:r,timeOffset:k})}for(const{vastUrl:p,startTime:k,timeOffset:r}of m)await this._fetchVASTAndRegister(p,k,r);this._registerVMAPMarkers()}else await this._parseVASTAndShow(l,0,5)}catch(i){console.warn("[Kplayer] VAST/VMAP load failed:",i)}}async _fetchVASTAndRegister(e,t,i){var s,a,l,o;try{const y=await(await fetch(e)).text(),p=new DOMParser().parseFromString(y,"text/xml"),k=p.querySelector("MediaFile"),r=(s=k==null?void 0:k.textContent)==null?void 0:s.trim(),c=(a=p.querySelector("Linear"))==null?void 0:a.getAttribute("skipoffset"),f=c?this._parseTime(c):5,v=(o=(l=p.querySelector("Impression"))==null?void 0:l.textContent)==null?void 0:o.trim();if(!r)return;const L={type:"video",url:r,startTime:t,skipTime:f,name:`vast_${i}`,_impressionUrl:v,_isPostroll:i==="end"};this.options||(this.options={url:[]}),Array.isArray(this.options.url)||(this.options.url=[]),this.options.url.push(L)}catch(u){console.warn("[Kplayer] VAST fetch failed:",e,u)}}_registerVMAPMarkers(){const e=()=>{var i,s;const t=this.player.video.duration;!t||t===1/0||((((i=this.options)==null?void 0:i.url)||[]).forEach(a=>{a._isPostroll&&(a.startTime=t-1)}),this.adMarkers.forEach(a=>{var l;return(l=a.parentNode)==null?void 0:l.removeChild(a)}),this.adMarkers=[],(((s=this.options)==null?void 0:s.url)||[]).forEach(a=>{if(a.startTime===void 0||a.startTime<=0)return;const l=a.startTime/t*100;if(l>=100)return;const o=this._createMarker(l,a);this.player.template.playedBarWrap.appendChild(o),this.adMarkers.push(o)}))};this.player.video.duration&&this.player.video.duration!==1/0?e():this.player.on("durationchange",e),this._bindTimeUpdate()}async _parseVASTAndShow(e,t,i){var y,m,p,k;const s=e.querySelector("MediaFile"),a=(y=s==null?void 0:s.textContent)==null?void 0:y.trim(),l=(m=e.querySelector("Linear"))==null?void 0:m.getAttribute("skipoffset"),o=l?this._parseTime(l):i,u=(k=(p=e.querySelector("Impression"))==null?void 0:p.textContent)==null?void 0:k.trim();u&&fetch(u).catch(()=>{}),a&&this._showAd({type:"video",url:a,startTime:t,skipTime:o})}_parseTime(e){if(!e)return 0;const t=e.split(":");return t.length!==3?0:parseInt(t[0])*3600+parseInt(t[1])*60+parseFloat(t[2])}destroy(){var e;clearInterval(this.skipTimer),this.adMarkers.forEach(t=>{var i;return(i=t.parentNode)==null?void 0:i.removeChild(t)}),(e=this.adContainer)!=null&&e.parentNode&&this.adContainer.parentNode.removeChild(this.adContainer)}}class K{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 i=0;i<this.events[e].length;i++)this.events[e][i](t)}type(e){return this.playerEvents.indexOf(e)!==-1?"player":this.videoEvents.indexOf(e)!==-1?"video":(console.error(`Unknown event name: ${e}`),null)}}class Q{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(),h.setScrollPosition(this.lastScrollPosition)}),this.fullscreenchange=()=>{this.player.resize(),this.isFullScreen("browser")?this.player.events.trigger("fullscreen"):(h.setScrollPosition(this.lastScrollPosition),this.player.events.trigger("fullscreen_cancel"))},this.docfullscreenchange=()=>{const t=document,i=document.fullscreenElement||t.mozFullScreenElement||t.msFullscreenElement;i&&i!==this.player.container||(this.player.resize(),i?this.player.events.trigger("fullscreen"):(h.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"){const 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"){const t=e==="browser"?"web":"browser",i=this.isFullScreen(t);switch(i||(this.lastScrollPosition=h.getScrollPosition()),e){case"browser":{const s=this.player.container,a=this.player.video;s.requestFullscreen?s.requestFullscreen():s.mozRequestFullScreen?s.mozRequestFullScreen():s.webkitRequestFullscreen?s.webkitRequestFullscreen():a.webkitEnterFullscreen?a.webkitEnterFullscreen():a.webkitEnterFullScreen?a.webkitEnterFullScreen():s.msRequestFullscreen&&s.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}i&&this.cancel(t)}cancel(e="browser"){const 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))}}class X{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(const e in this.storageName){const t=e,i=this.storageName[t];this.data[t]=parseFloat(h.storage.get(i)||String(this.default[t]))}}get(e){return this.data[e]}set(e,t){this.data[e]=t,h.storage.set(this.storageName[e],t)}}class Y{constructor(e,t,i,s){this._track=null,this.container=e,this.video=t,this.options=i,this.events=s,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();const t=this.video.addTextTrack("subtitles","","");t.mode="showing",this._track=t;const i=this._parseVtt(e);for(const s of i)try{t.addCue(s)}catch(a){console.warn("[KPlayer] addCue failed:",a)}this._onTimeUpdateBound=this._onTimeUpdate.bind(this),this.video.addEventListener("timeupdate",this._onTimeUpdateBound)}_onTimeUpdate(){var t;if(!((t=this._track)!=null&&t.activeCues))return;const e=this._track.activeCues;this.container.innerHTML="";for(let i=0;i<e.length;i++){const s=e[i],a=document.createElement("p");a.textContent=s.text.replace(/<[^>]+>/g,""),this.container.appendChild(a)}}_clearTrack(){if(this._onTimeUpdateBound&&(this.video.removeEventListener("timeupdate",this._onTimeUpdateBound),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){const t=[],s=e.replace(/^\uFEFF/,"").trim().split(/\n\s*\n/);for(const a of s){const l=a.trim().split(`
403
- `);if(!l.length||l[0].startsWith("WEBVTT")||l[0].startsWith("NOTE")||l[0].startsWith("STYLE"))continue;let o=-1;for(let r=0;r<l.length;r++)if(l[r].includes("-->")){o=r;break}if(o===-1)continue;const y=l[o].match(/((?:\d{2}:)?\d{2}:\d{2}[.,]\d{3})\s*-->\s*((?:\d{2}:)?\d{2}:\d{2}[.,]\d{3})/);if(!y)continue;const m=this._timeToSeconds(y[1]),p=this._timeToSeconds(y[2]),k=l.slice(o+1).join(`
404
- `).trim();if(k)try{const r=new VTTCue(m,p,k);t.push(r)}catch(r){console.warn("[KPlayer] VTTCue failed:",r,m,p,k)}}return t}_timeToSeconds(e){const i=e.replace(",",".").split(":");return i.length===3?parseInt(i[0])*3600+parseInt(i[1])*60+parseFloat(i[2]):i.length===2?parseInt(i[0])*60+parseFloat(i[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()}}class Z{constructor(e){var a;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()});const t=Array.from(this.player.template.subtitlesItem||[]),i=t.length-1;if(i<0)return;for(let l=0;l<i;l++)t[l].addEventListener("click",()=>{this.hide(),this.selectSubtitle(l)});t[i].addEventListener("click",()=>{this.hide(),this.selectOff()});const s=((a=this.player.options.subtitle)==null?void 0:a.index)??0;t[s]&&(t.forEach(l=>l.classList.remove("kplayer-selected")),t[s].classList.add("kplayer-selected"))}reloadTrack(){var i;const e=this.player.video,t=this.player.template.subtrack;if(t){if(t.default=!0,(i=e==null?void 0:e.textTracks)!=null&&i[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(t=>t.classList.remove("kplayer-selected"))}selectSubtitle(e){const i=Array.from(this.player.template.subtitlesItem||[])[e];i&&(this.clearSelected(),i.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(){var s;const e=Array.from(this.player.template.subtitlesItem||[]),t=e.length-1,i=e[t];i&&(this.clearSelected(),i.classList.add("kplayer-selected"),this.player.options.subtitle.index=t,(s=this.player.subtitle)==null||s.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(){var e;(e=this.player.template.subtitlesBox)==null||e.classList.remove("kplayer-subtitles-box-open"),this.player.template.mask.classList.remove("kplayer-mask-show"),this.player.controller.disableAutoHide=!1}show(){var e;(e=this.player.template.subtitlesBox)==null||e.classList.add("kplayer-subtitles-box-open"),this.player.template.mask.classList.add("kplayer-mask-show"),this.player.controller.disableAutoHide=!0}adaptiveHeight(){const t=Array.from(this.player.template.subtitlesItem||[]).length*30+14,i=this.player.template.videoWrap.offsetHeight*.8;this.player.template.subtitlesBox&&(t>=i-50?(this.player.template.subtitlesBox.style.bottom="8px",this.player.template.subtitlesBox.style.maxHeight=`${i-8}px`):(this.player.template.subtitlesBox.style.bottom="50px",this.player.template.subtitlesBox.style.maxHeight=`${i-50}px`))}updateUrls(e){Array.isArray(e)&&this.player.options.subtitle&&(this.player.options.subtitle.url=e)}}class G{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,i){t=Math.max(t,0),t=Math.min(t,1),this.elements[e]&&(this.elements[e].style[i]=t*100+"%")}get(e){var t;return parseFloat(((t=this.elements[e])==null?void 0:t.style.width)||"0")/100}}class J{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(t){return window.setTimeout(t,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,i=!1;this.loadingChecker=setInterval(()=>{this.enableloadingChecker&&(t=this.player.video.currentTime,!i&&t===e&&!this.player.video.paused&&(this.player.container.classList.add("kplayer-loading"),i=!0),i&&t>e&&!this.player.video.paused&&(this.player.container.classList.remove("kplayer-loading"),i=!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++;const 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;const t=this[`${e}Checker`];t&&clearInterval(t)})}}class ee{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")}}class te{constructor(e){this.container=e.container,this.barWidth=e.barWidth,this.container.style.backgroundImage=`url('${e.url}')`,this.events=e.events}resize(e,t,i){this.container.style.width=`${e}px`,this.container.style.height=`${t}px`,this.container.style.top=`${-t+2}px`,this.barWidth=i}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")}}let I=!0,_=!1;class ie{constructor(e){this.autoHideTimer=0,this.disableAutoHide=!1,this._skipBtn=null,this._skipTarget=null,this.session=void 0,this.currentMedia=null,this.player=e,h.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(),h.isMobile||this.initVolumeButton()}initPlayButton(){this.player.template.playButton.addEventListener("click",()=>{this.player.toggle()}),this.player.template.mobilePlayButton.addEventListener("click",()=>{this.player.toggle()}),h.isMobile?(this.player.template.videoWrap.addEventListener("click",()=>{this.toggle()}),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()}));const e=this.player.container.querySelector(".kplayer-mobile-rewind"),t=this.player.container.querySelector(".kplayer-mobile-forward"),i=this.player.container.querySelector(".kplayer-mobile-play-btn");e==null||e.addEventListener("click",s=>{s.stopPropagation(),this.player.seek(this.player.video.currentTime-10),this.setAutoHide()}),t==null||t.addEventListener("click",s=>{s.stopPropagation(),this.player.seek(this.player.video.currentTime+10),this.setAutoHide()}),i==null||i.addEventListener("click",s=>{s.stopPropagation(),this.player.toggle()})}initSeekButtons(){const e=this.player.container.querySelector(".kplayer-rewind-icon"),t=this.player.container.querySelector(".kplayer-forward-icon");e==null||e.addEventListener("click",i=>{i.stopPropagation(),this.player.seek(this.player.video.currentTime-10)}),t==null||t.addEventListener("click",i=>{i.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){const e=this.player.template.playedBarWrap.querySelectorAll(".kplayer-highlight");Array.from(e).forEach(t=>{this.player.template.playedBarWrap.removeChild(t)});for(let t=0;t<this.player.options.highlight.length;t++){const i=this.player.options.highlight[t];if(!i.text||!i.time)continue;const s=document.createElement("div");s.classList.add("kplayer-highlight"),s.style.left=i.time/this.player.video.duration*100+"%",s.innerHTML=`<span class="kplayer-highlight-text">${i.text}</span>`,s.addEventListener("click",a=>{a.stopPropagation(),this.player.seek(i.time),this.player.paused&&this.player.play()}),this.player.template.playedBarWrap.insertBefore(s,this.player.template.playedBarTime)}}}),this.player.on("timeupdate",()=>{this._updateSkipButton()})}_createSkipButton(){if(this.player.container.querySelector(".kplayer-skip-btn"))return;const 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;const e=this.player.options.highlight,t=this.player.video.currentTime;let i=!1;for(let s=0;s<e.length-1;s++){const a=e[s],l=e[s+1];if(!(!/\bstart\b|\bэхлэл\b/i.test(a.text)||!/\bend\b|\bтөгсгөл\b/i.test(l.text))&&!(t<a.time||t>=l.time)){this._skipTarget=l.time,this._skipBtn.querySelector(".kplayer-skip-btn-text").textContent=a.text,this._skipBtn.style.display="flex",i=!0;break}}i||(this._skipBtn.style.display="none")}initThumbnails(){this.player.options.video.thumbnails&&(this.thumbnails=new te({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",()=>{var e;(e=this.thumbnails)==null||e.resize(160,this.player.video.videoHeight/this.player.video.videoWidth*160,this.player.template.barWrap.offsetWidth)}))}initPlayedBar(){const e=i=>{let s=((i.clientX||i.changedTouches[0].clientX)-h.getBoundingClientRectViewLeft(this.player.template.playedBarWrap))/this.player.template.playedBarWrap.clientWidth;s=Math.max(0,Math.min(1,s)),this.player.bar.set("played",s,"width"),this.player.template.ptime.innerHTML=h.secondToTime(s*this.player.video.duration)},t=i=>{document.removeEventListener(h.nameMap.dragEnd,t),document.removeEventListener(h.nameMap.dragMove,e);let s=((i.clientX||i.changedTouches[0].clientX)-h.getBoundingClientRectViewLeft(this.player.template.playedBarWrap))/this.player.template.playedBarWrap.clientWidth;s=Math.max(0,Math.min(1,s)),this.player.bar.set("played",s,"width"),this.player.seek(this.player.bar.get("played")*this.player.video.duration),this.player.moveBar=!1};this.player.template.playedBarWrap.addEventListener(h.nameMap.dragStart,()=>{this.player.moveBar=!0,document.addEventListener(h.nameMap.dragMove,e),document.addEventListener(h.nameMap.dragEnd,t)}),this.player.template.playedBarWrap.addEventListener(h.nameMap.dragMove,i=>{var s,a;if(this.player.video.duration){const l=this.player.template.playedBarWrap.getBoundingClientRect().left,o=(i.clientX||i.changedTouches[0].clientX)-l;if(o<0||o>this.player.template.playedBarWrap.offsetWidth)return;const u=this.player.video.duration*(o/this.player.template.playedBarWrap.offsetWidth);h.isMobile&&((s=this.thumbnails)==null||s.show()),(a=this.thumbnails)==null||a.move(o),this.player.template.playedBarTime.style.left=`${o-(u>=3600?25:20)}px`,this.player.template.playedBarTime.innerText=h.secondToTime(u),this.player.template.playedBarTime.classList.remove("hidden")}}),this.player.template.playedBarWrap.addEventListener(h.nameMap.dragEnd,()=>{var i;h.isMobile&&((i=this.thumbnails)==null||i.hide())}),h.isMobile||(this.player.template.playedBarWrap.addEventListener("mouseenter",()=>{var i;this.player.video.duration&&((i=this.thumbnails)==null||i.show(),this.player.template.playedBarTime.classList.remove("hidden"))}),this.player.template.playedBarWrap.addEventListener("mouseleave",()=>{var i;this.player.video.duration&&((i=this.thumbnails)==null||i.hide(),this.player.template.playedBarTime.classList.add("hidden"))}))}initFullButton(){this.player.template.browserFullButton.addEventListener("click",()=>{this.player.fullScreen.toggle("browser")}),this.player.template.webFullButton.addEventListener("click",()=>{this.player.fullScreen.toggle("web")})}initVolumeButton(){const t=s=>{const a=s,l=((a.clientX||a.changedTouches[0].clientX)-h.getBoundingClientRectViewLeft(this.player.template.volumeBarWrap)-5.5)/35;this.player.volume(l)},i=()=>{document.removeEventListener(h.nameMap.dragEnd,i),document.removeEventListener(h.nameMap.dragMove,t),this.player.template.volumeButton.classList.remove("kplayer-volume-active")};this.player.template.volumeBarWrapWrap.addEventListener("click",s=>{const a=((s.clientX||0)-h.getBoundingClientRectViewLeft(this.player.template.volumeBarWrap)-5.5)/35;this.player.volume(a)}),this.player.template.volumeBarWrapWrap.addEventListener(h.nameMap.dragStart,()=>{document.addEventListener(h.nameMap.dragMove,t),document.addEventListener(h.nameMap.dragEnd,i),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=b.volumeOff,this.player.bar.set("volume",0,"width"))})}initQualityButton(){if(this.player.options.video.quality){const 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",i=>{const s=i.target.closest(".kplayer-quality-item");s&&(t.forEach(a=>a.classList.remove("kplayer-selected")),s.classList.add("kplayer-selected"),this.player.switchQuality(Number(s.dataset.index)))})}}initScreenshotButton(){this.player.options.screenshot&&this.player.template.camareButton&&this.player.template.camareButton.addEventListener("click",()=>{var t;const e=document.createElement("canvas");e.width=this.player.video.videoWidth,e.height=this.player.video.videoHeight,(t=e.getContext("2d"))==null||t.drawImage(this.player.video,0,0,e.width,e.height),e.toBlob(i=>{if(!i)return;const s=URL.createObjectURL(i),a=document.createElement("a");a.href=s,a.download="kplayer.png",a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(s),this.player.events.trigger("screenshot",s)})})}initAirplayButton(){this.player.options.airplay&&(window.WebKitPlaybackTargetAvailabilityEvent?this.player.video.addEventListener("webkitplaybacktargetavailabilitychanged",(function(e){var i;e.availability==="available"?this.template.airplayButton&&(this.template.airplayButton.disable=!1):this.template.airplayButton&&(this.template.airplayButton.disable=!0),(i=this.template.airplayButton)==null||i.addEventListener("click",()=>{var s,a;(a=(s=this.video).webkitShowPlaybackTargetPicker)==null||a.call(s)})}).bind(this.player)):this.player.template.airplayButton&&(this.player.template.airplayButton.style.display="none"))}initChromecast(){const 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=t=>{var i;if(t){if(cast=(i=window.chrome)==null?void 0:i.cast,!cast)return;const s=new cast.SessionRequest(cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID),a=new cast.ApiConfig(s,()=>{},l=>{l===cast.ReceiverAvailability.AVAILABLE&&console.log("chromecast:",l)});cast.initialize(a,()=>{})}}}initChromecastButton(){var e;if(this.player.options.chromecast){I&&(I=!1,this.initChromecast());const t=a=>{if(!cast)return!1;const l=new cast.media.MediaInfo(a),o=new cast.media.LoadRequest(l);return this.session?(this.session.loadMedia(o,i.bind(this,"loadMedia"),s).play(),!0):(window.open(a),!1)},i=(a,l)=>{this.currentMedia=l},s=a=>{console.error("Error launching media",a)};(e=this.player.template.chromecastButton)==null||e.addEventListener("click",()=>{var a,l;_?(_=!1,(a=this.currentMedia)==null||a.stop(),(l=this.session)==null||l.stop(),this.initChromecast()):(_=!0,cast==null||cast.requestSession(o=>{this.session=o,t(this.player.options.video.url||"")},o=>{o.code==="cancel"?this.session=void 0:console.error("Error selecting cast device",o)}))})}}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",()=>{var e;(e=this.player.subtitle)==null||e.toggle()})}_showTitleBar(){const e=this.player.template.titleBar;e&&(e.style.opacity="1",e.style.visibility="visible",e.style.transform="translateY(0)",e.style.pointerEvents="auto")}_hideTitleBar(){const 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()}destroy(){!h.isMobile&&this.setAutoHideHandler&&(this.player.container.removeEventListener("mousemove",this.setAutoHideHandler),this.player.container.removeEventListener("click",this.setAutoHideHandler)),clearTimeout(this.autoHideTimer)}}class se{constructor(e){var a,l,o;this.player=e,this.player.template.mask.addEventListener("click",()=>{this.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",()=>{var u,y;this.player.template.showAwakenToggle.checked=!this.player.template.showAwakenToggle.checked,this.player.template.showAwakenToggle.checked?(this.showAwaken=1,(u=this.player.awaken)==null||u.show()):(this.showAwaken=0,(y=this.player.awaken)==null||y.hide()),this.player.user.set("awaken",this.showAwaken?1:0),this.hide()}),this.unlimitAwaken=this.player.user.get("unlimited"),this.player.template.unlimitAwakenToggle.checked=!!this.unlimitAwaken,this.player.template.unlimitAwaken.addEventListener("click",()=>{var u,y;this.player.template.unlimitAwakenToggle.checked=!this.player.template.unlimitAwakenToggle.checked,this.player.template.unlimitAwakenToggle.checked?(this.unlimitAwaken=1,(u=this.player.awaken)==null||u.unlimit(!0)):(this.unlimitAwaken=0,(y=this.player.awaken)==null||y.unlimit(!1)),this.player.user.set("unlimited",this.unlimitAwaken?1:0),this.hide()}),this.player.template.speed.addEventListener("click",()=>{this.player.template.settingBox.classList.add("kplayer-setting-box-speed")});const i=(this.player.options.playbackSpeed||[]).indexOf(1);if(i>=0&&this.player.template.speedItem[i]&&this.player.template.speedItem[i].classList.add("kplayer-selected"),Array.from(this.player.template.speedItem).forEach((u,y)=>{u.addEventListener("click",()=>{Array.from(this.player.template.speedItem).forEach(p=>p.classList.remove("kplayer-selected")),u.classList.add("kplayer-selected"),this.player.speed(Number(u.dataset.speed));const m=this.player.container.querySelector("#kplayer-speed-current");if(m){const p=u.dataset.speed;m.textContent=p==="1"?"1×":p+"×"}})}),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",u=>{var y;u.stopPropagation(),(y=this.player.template.camareButton)==null||y.click(),this.hide()}),this.airplayEntry&&this.player.template.airplayButton&&this.airplayEntry.addEventListener("click",u=>{var y;u.stopPropagation(),(y=this.player.template.airplayButton)==null||y.click(),this.hide()}),this.chromecastEntry&&this.player.template.chromecastButton&&this.chromecastEntry.addEventListener("click",u=>{var y;u.stopPropagation(),(y=this.player.template.chromecastButton)==null||y.click(),this.hide()}),this.player.container.querySelectorAll(".kplayer-setting-back-main").forEach(u=>{u.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",p=>{this.player.bar.set("awaken",p,"width"),this.player.user.set("opacity",p)}),(a=this.player.awaken)==null||a.opacity(this.player.user.get("opacity"));const y=p=>{var c,f,v;const k=p;let r=((k.clientX||((f=(c=k.changedTouches)==null?void 0:c[0])==null?void 0:f.clientX)||0)-h.getBoundingClientRectViewLeft(this.player.template.awakenOpacityBarWrap))/130;r=Math.max(0,Math.min(1,r)),(v=this.player.awaken)==null||v.opacity(r)},m=()=>{var p;document.removeEventListener(h.nameMap.dragEnd,m),document.removeEventListener(h.nameMap.dragMove,y),(p=this.player.template.awakenOpacityBox)==null||p.classList.remove("kplayer-setting-awaken-active")};(l=this.player.template.awakenOpacityBarWrapWrap)==null||l.addEventListener("click",p=>{var r;let k=((p.clientX||0)-h.getBoundingClientRectViewLeft(this.player.template.awakenOpacityBarWrap))/130;k=Math.max(0,Math.min(1,k)),(r=this.player.awaken)==null||r.opacity(k)}),(o=this.player.template.awakenOpacityBarWrapWrap)==null||o.addEventListener(h.nameMap.dragStart,()=>{var p;document.addEventListener(h.nameMap.dragMove,y),document.addEventListener(h.nameMap.dragEnd,m),(p=this.player.template.awakenOpacityBox)==null||p.classList.add("kplayer-setting-awaken-active")})}}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(){this.player.template.settingBox.classList.add("kplayer-setting-box-open"),this.player.template.mask.classList.add("kplayer-mask-show"),this.player.controller.disableAutoHide=!0}}class ae{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){var t;if(this.player.focus){const i=document.activeElement.tagName.toUpperCase(),s=(t=document.activeElement)==null?void 0:t.getAttribute("contenteditable");if(i!=="INPUT"&&i!=="TEXTAREA"&&s!==""&&s!=="true"){let a;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(),a=this.player.volume()+.1,this.player.volume(a);break;case 40:e.preventDefault(),a=this.player.volume()-.1,this.player.volume(a);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)}}class ne{constructor(e){this.shown=!1,this.player=e,Array.prototype.slice.call(this.player.template.menuItem).forEach((t,i)=>{var a;const s=(a=this.player.options.contextmenu)==null?void 0:a[i];s!=null&&s.click&&t.addEventListener("click",()=>{s.click(this.player),this.hide()})}),this.contextmenuHandler=t=>{t.preventDefault(),t.stopPropagation();const i=this.player.container.getBoundingClientRect(),s=t.clientX-i.left,a=t.clientY-i.top;if(this.shown){this.hide();return}this.show(s,a)},this.player.container.addEventListener("contextmenu",this.contextmenuHandler),this.videoContextHandler=t=>{t.preventDefault(),t.stopPropagation();const i=this.player.container.getBoundingClientRect(),s=t.clientX-i.left,a=t.clientY-i.top;if(this.shown){this.hide();return}this.show(s,a)},this.player.video.addEventListener("contextmenu",this.videoContextHandler)}show(e,t){this.player.template.menu.classList.add("kplayer-menu-show");const i=this.player.container.getBoundingClientRect();e+this.player.template.menu.offsetWidth>=i.width?(this.player.template.menu.style.right=i.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>=i.height?(this.player.template.menu.style.bottom=i.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)}}class le{constructor(e){var t;this.beginTime=0,this.container=e.template.infoPanel,this.template=e.template,this.video=e.video,this.player=e,(t=this.template.infoPanelClose)==null||t.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(){var e;this.template.infoVersion&&(this.template.infoVersion.innerHTML="v1.0.2 dev"),this.template.infoType&&(this.template.infoType.innerHTML=this.player.type||""),this.template.infoUrl&&(this.template.infoUrl.innerHTML=((e=this.player.options.video)==null?void 0:e.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)}`)}}let P=0;const A=[];function re(n){const e=n.DefaultConfig.loader;return class extends e{constructor(i){super(i);const s=this.load.bind(this);this.load=function(a,l,o){const u=o.onSuccess;o.onSuccess=function(y,m,p,k){try{if(a.type==="fragment"){const r=y.data;let c;if(r instanceof ArrayBuffer?c=r:typeof r=="string"&&(c=new TextEncoder().encode(r).buffer),c){const f=new Blob([c],{type:"video/mp2t"}),v=URL.createObjectURL(f);y.url=v,setTimeout(()=>URL.revokeObjectURL(v),1e4)}}}catch(r){console.warn("[KPlayer] BlobHLSLoader error:",r)}u(y,m,p,k)},s(a,l,o)}}}}async function W(n,e,t,i){const s=await fetch(n,{mode:"cors"});if(!s.ok)throw new Error(`HTTP ${s.status}`);let a=await s.text();if(e&&t&&i){const l=/^\d{2}:\d{2}:\d{2}[.,]\d{3}\s*-->\s*\d{2}:\d{2}:\d{2}[.,]\d{3}$/,o=async(c,f,v)=>{const L=new Uint8Array(c.match(/.{2}/g).map(q=>parseInt(q,16))),E=await crypto.subtle.decrypt({name:"AES-CBC",iv:v.buffer},f,L.buffer);return new TextDecoder().decode(E)},u=new Uint8Array(t.match(/.{2}/g).map(c=>parseInt(c,16))),y=new Uint8Array(i.match(/.{2}/g).map(c=>parseInt(c,16))),m=await crypto.subtle.importKey("raw",u.buffer,{name:"AES-CBC"},!1,["decrypt"]);let p;try{p=atob(a.trim())}catch{p=a}const k=p.split(`
405
- `),r=[];for(const c of k){const f=c.trim();if(!f){r.push(c);continue}if(l.test(f)){r.push(c);continue}if(/^[0-9a-fA-F]+$/.test(f)&&f.length%2===0)try{const v=await o(f,m,y);r.push(v)}catch{r.push(c)}else r.push(c)}a=r.join(`
406
- `)}return a}class oe{constructor(e){var t,i;if(this.focus=!1,this.paused=!0,this.moveBar=!1,this.switchingQuality=!1,this.options=U({preload:((t=e.video)==null?void 0:t.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 j(this.options.lang||"en").tran,this.events=new K,this.user=new X(this),this.container=this.options.container,this.noticeList={},this.hlsQualityList=[],this.hlsCurrentLevel=-1,this.hlsAutoEnabled=!0,this.container.classList.add("kplayer"),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"),h.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)){const s={subtitle:"",lang:"off",url:""};if(this.options.subtitle.url.push(s),this.options.subtitle.defaultSubtitle!==void 0){const l=this.options.subtitle.defaultSubtitle;typeof l=="string"?this.options.subtitle.index=this.options.subtitle.url.findIndex(o=>o.lang===l||o.name===l):typeof l=="number"&&(this.options.subtitle.index=l)}const a=this.options.subtitle.url;(this.options.subtitle.index===-1||this.options.subtitle.index==null||this.options.subtitle.index>a.length-1)&&(this.options.subtitle.index=a.findIndex(l=>l.lang===this.options.lang)),this.options.subtitle.index===-1&&(this.options.subtitle.index=a.length-1)}this.template=new H({container:this.container,options:this.options,index:P,tran:this.tran}),this.video=this.template.video,this.bar=new G(this.template),this.bezel=new ee(this.template.bezel),this.fullScreen=new Q(this),this.controller=new ie(this),this.setting=new se(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 J(this),this.hotkey=new ae(this),this.contextmenu=new ne(this),this.initVideo(this.video,this.quality&&this.quality.type||this.options.video.type||"auto"),this.infoPanel=new le(this),(this.options.ad||this.options.vastAD)&&(this.ad=new D(this)),this.options.vastAD&&this.options.vastADURL&&((i=this.ad)==null||i._loadVAST(this.options.vastADURL)),this.template.titleBack&&this.template.titleBack.addEventListener("click",()=>{var s;typeof((s=this.options.title)==null?void 0:s.onBack)=="function"?this.options.title.onBack(this):window.history.back(),this.events.trigger("title_back")}),!this.awaken&&this.options.autoplay&&this.play(),this.moveBar=!1,P++,A.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=h.secondToTime(e)}play(e){if(this.paused=!1,this.video.paused&&!h.isMobile&&this.bezel.switch(b.play),this.template.playButton.innerHTML=b.pause,this.template.mobilePlayButton.innerHTML=b.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(const i of A)this!==i&&i.pause();const t=this.container.querySelector(".kplayer-mobile-play-btn .kplayer-icon-content");t&&(t.innerHTML=b.pause)}pause(e){this.paused=!0,this.container.classList.remove("kplayer-loading"),!this.video.paused&&!h.isMobile&&this.bezel.switch(b.pause),this.template.playButton.innerHTML=b.play,this.template.mobilePlayButton.innerHTML=b.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();const t=this.container.querySelector(".kplayer-mobile-play-btn .kplayer-icon-content");t&&(t.innerHTML=b.play)}switchVolumeIcon(){this.volume()>=.95?this.template.volumeIcon.innerHTML=b.volumeUp:this.volume()>0?this.template.volumeIcon.innerHTML=b.volumeDown:this.template.volumeIcon.innerHTML=b.volumeOff}volume(e,t,i){const s=parseFloat(String(e));if(!isNaN(s)){const a=Math.max(0,Math.min(1,s));this.bar.set("volume",a,"width");const l=`${(a*100).toFixed(0)}%`;this.template.volumeBarWrapWrap.dataset.balloon=l,t||this.user.set("volume",a),i||this.notice(`${this.tran("volume")} ${(a*100).toFixed(0)}%`,void 0,void 0,"volume"),this.video.volume=a,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}return this.video.volume}toggle(){this.video.paused?this.play():this.pause()}on(e,t){this.events.on(e,t)}initMSE(e,t){var a,l,o,u,y,m,p,k;if(this.type=t,(a=this.options.video.customType)!=null&&a[t]){const r=this.options.video.customType[t];typeof r=="function"?r(this.video,this):console.error(`Illegal customType: ${t}`);return}let i=t;i==="auto"&&(/m3u8(#|\?|$)/i.exec(e.src)?i="hls":/.flv(#|\?|$)/i.exec(e.src)?i="flv":/.mpd(#|\?|$)/i.exec(e.src)?i="dash":i="normal"),i==="auto"&&(e.canPlayType("application/x-mpegURL")||e.canPlayType("application/vnd.apple.mpegURL"))&&(i="normal"),this.type=i;const s=this.quality?this.quality.url:e.src;switch(i){case"hls":{const r=window.Hls;if(!r){this.notice("Error: Can't find Hls.");return}if(!r.isSupported()){this.notice("Error: Hls is not supported.");return}const c=((l=this.options.pluginOptions)==null?void 0:l.hls)||{},f=re(r),v=new r({...c,loader:f});this.plugins.hls=v,v.loadSource(e.src),v.attachMedia(e),v.on(r.Events.MANIFEST_PARSED,()=>{this.buildHlsQualityMenu(v,r),this.updateHlsQualityCurrentLabel()}),v.on(r.Events.LEVEL_SWITCHED,(L,E)=>{this.hlsCurrentLevel=E.level,this.updateHlsQualityCurrentLabel()}),this.events.on("destroy",()=>{v.destroy(),delete this.plugins.hls});break}case"flv":{const r=window.flvjs;if(r)if(r.isSupported()){const c=r.createPlayer(Object.assign(((u=(o=this.options.pluginOptions)==null?void 0:o.flv)==null?void 0:u.mediaDataSource)||{},{type:"flv",url:e.src}),(m=(y=this.options.pluginOptions)==null?void 0:y.flv)==null?void 0:m.config);this.plugins.flvjs=c,c.attachMediaElement(e),c.load(),this.events.on("destroy",()=>{c.unload(),c.detachMediaElement(),c.destroy(),delete this.plugins.flvjs}),this.events.on("quality_end",()=>{var f;s!==((f=this.quality)==null?void 0:f.url)&&(c.unload(),c.detachMediaElement(),c.destroy())})}else this.notice("Error: flvjs is not supported.");else this.notice("Error: Can't find flvjs.");break}case"dash":{const r=window.dashjs;if(r){const c=r.MediaPlayer().create();c.initialize(e,e.src,!1,0),c.updateSettings(((p=this.options.pluginOptions)==null?void 0:p.dash)||{}),this.plugins.dash=c,this.events.on("destroy",()=>{r.MediaPlayer().reset(),delete this.plugins.dash}),this.events.on("quality_end",()=>{var f;s!==((f=this.quality)==null?void 0:f.url)&&r.MediaPlayer().reset()})}else this.notice("Error: Can't find dashjs.");break}case"webtorrent":{const r=window.WebTorrent;if(r)if(r.WEBRTC_SUPPORT){this.container.classList.add("kplayer-loading");const c=new r(((k=this.options.pluginOptions)==null?void 0:k.webtorrent)||{});this.plugins.webtorrent=c;const f=e.src;e.src="",e.preload="metadata",e.addEventListener("durationchange",()=>this.container.classList.remove("kplayer-loading"),{once:!0}),c.add(f,v=>{const L=v.files.find(E=>E.name.endsWith(".mp4"));L==null||L.renderTo(this.video,{autoplay:this.options.autoplay,controls:!1})}),this.events.on("destroy",()=>{c.remove(f),c.destroy(),delete this.plugins.webtorrent}),this.events.on("quality_end",()=>{var v;s!==((v=this.quality)==null?void 0:v.url)&&(c.remove(f),c.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=h.secondToTime(e.duration))}),this.on("progress",()=>{const i=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;this.bar.set("loaded",i,"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");const i=h.secondToTime(this.video.currentTime);this.template.ptime.innerHTML!==i&&(this.template.ptime.innerHTML=i)});for(const i of this.events.videoEvents)e.addEventListener(i,s=>{this.events.trigger(i,s)});this.volume(this.user.get("volume"),!0,!0),this.options.subtitle&&(this.subtitle=new Y(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(){const e=this.container.querySelector("#kplayer-quality-current");if(!e||!this.plugins.hls)return;const t=this.plugins.hls;if(t.autoLevelEnabled){const i=t.levels[t.currentLevel];e.textContent=i?`Auto (${i.height}p)`:"Auto"}else{const i=t.levels[t.currentLevel];e.textContent=i?`${i.height}p`:"Manual"}}buildHlsQualityMenu(e,t){var y;if(!((y=e==null?void 0:e.levels)!=null&&y.length))return;const i=new Set,s=[];e.levels.forEach((m,p)=>{const k=`${m.height}-${m.bitrate}`;i.has(k)||(i.add(k),s.push({index:p,name:m.height?`${m.height}p`:`${Math.round((m.bitrate||0)/1e3)}kbps`,height:m.height||0,bitrate:m.bitrate||0}))}),s.sort((m,p)=>p.height-m.height||p.bitrate-m.bitrate);const a=[{index:-1,name:"Auto"},...s],l=this.container.querySelector(".kplayer-quality-list");if(!l)return;l.innerHTML=a.map(m=>`
407
- <div class="kplayer-quality-item" data-level="${m.index}">
408
- <span class="kplayer-label">${m.name}</span>
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}return 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>
409
400
  </div>
410
- `).join("");const o=l.querySelectorAll(".kplayer-quality-item"),u=this.container.querySelector("#kplayer-quality-current");o.forEach(m=>{m.addEventListener("click",()=>{var c;const p=Number(m.dataset.level);e.currentLevel=p,e.nextLevel=p,e.loadLevel=p,o.forEach(f=>f.classList.remove("active")),m.classList.add("active");const k=((c=m.textContent)==null?void 0:c.trim())||"";u&&(u.textContent=k),this.notice(`${this.tran("switching-quality").replace("%q",k)}`,-1,void 0,"switch-quality");const r=()=>{this.notice(`${this.tran("switched-quality").replace("%q",k)}`,2e3,void 0,"switch-quality"),e.off(t.Events.LEVEL_SWITCHED,r)};e.on(t.Events.LEVEL_SWITCHED,r)})}),u&&(u.textContent="Auto")}switchQuality(e){var l;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=(l=this.options.video.quality)==null?void 0:l[e],!this.quality))return;this.template.qualityButton&&(this.template.qualityButton.innerHTML=this.quality.name);const t=this.container.querySelector("#kplayer-quality-current");t&&(t.textContent=this.quality.name);const i=this.video.paused;this.video.pause();const s=$({current:!1,pic:void 0,screenshot:this.options.screenshot,preload:"auto",url:this.quality.url,subtitle:this.options.subtitle}),a=new DOMParser().parseFromString(s,"text/html").body.firstChild;this.template.videoWrap.insertBefore(a,this.template.videoWrap.getElementsByTagName("div")[0]),this.prevVideo=this.video,this.video=a,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"),i||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",()=>{var o;this.video.error&&this.prevVideo&&(this.template.videoWrap.removeChild(this.video),this.video=this.prevVideo,i||this.video.play(),this.qualityIndex=this.prevIndex,this.quality=(o=this.options.video.quality)==null?void 0:o[this.qualityIndex??0],this.prevVideo=void 0,this.switchingQuality=!1)})}notice(e,t=2e3,i=.8,s){let a;if(s&&(a=document.getElementById(`kplayer-notice-${s}`),a&&(a.innerHTML=e),this.noticeList[s]&&(clearTimeout(this.noticeList[s]),this.noticeList[s]=null)),!a){const l=H.NewNotice(e,i,s);this.template.noticeList.appendChild(l),a=l}this.events.trigger("notice_show",a),t>0&&(this.noticeList[s||""]=setTimeout(((l,o)=>()=>{l.addEventListener("animationend",()=>{o.template.noticeList.removeChild(l)}),l.classList.add("remove-notice"),o.events.trigger("notice_hide"),o.noticeList[s||""]=null})(a,this),t))}resize(){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(){var e;A.splice(A.indexOf(this),1),this.pause(),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="",(e=this.ad)==null||e.destroy(),this.events.trigger("destroy")}static get version(){return"1.0.2"}async _loadSubtitleTexts(){var s;const e=this.options.subtitle;if(!(e!=null&&e.url)||!Array.isArray(e.url))return;const t=e.index??0,i=e.url[t];if(!(!(i!=null&&i.url)||i.lang==="off"))try{const a=await W(i.url,e.encrypt,e.key,e.iv);await((s=this.subtitle)==null?void 0:s.loadVttText(a))}catch(a){console.warn("[KPlayer] Subtitle load failed:",a)}}async loadSubtitleByIndex(e){var s,a,l;const t=this.options.subtitle;if(!(t!=null&&t.url)||!Array.isArray(t.url))return;const i=t.url[e];if(!(i!=null&&i.url)||i.lang==="off"){(s=this.subtitle)==null||s.hide();return}try{const o=await W(i.url,t.encrypt,t.key,t.iv);await((a=this.subtitle)==null?void 0:a.loadVttText(o)),(l=this.subtitle)==null||l.show()}catch(o){console.warn("[KPlayer] Subtitle switch failed:",o)}}}return oe});
411
- //# sourceMappingURL=kplayer-ts.umd.js.map
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)}}}});
402
+ //# sourceMappingURL=kplayer-ts.umd.js.map