boss-web-player-sdk 1.1.85 → 1.1.86

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.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A unified, high-performance OTT web video player SDK for adaptive streaming — HLS/DASH, token-based DRM, dynamic watermarking, captions, chapters, casting, and premium UI controls.
4
4
 
5
- > **Heads up:** the high-level `<BossVideoPlayer>` component is **tenant-gated**. It validates a GoBOSS **player key** against the GoBOSS API before playback starts, and resolves its feature set (subtitles, DRM, chromecast, etc.) from your plan. You need a player key from the GoBOSS dashboard to use it. For a generic, ungated player use the [headless core entry](#headless-core-no-react).
5
+ > **Heads up:** the high-level `<BossVideoPlayer>` component is **tenant-gated**. It validates your GoBOSS player key before playback starts, and resolves its feature set (subtitles, DRM, chromecast, etc.) from your plan. Obtain a player key from the GoBOSS dashboard and supply it from your app config (never commit real keys). For a generic, ungated player use the [headless core entry](#headless-core-no-react).
6
6
 
7
7
  ## Features
8
8
 
@@ -57,7 +57,7 @@ import 'boss-web-player-sdk/css';
57
57
  export default function App() {
58
58
  return (
59
59
  <BossVideoPlayer
60
- playerKey="bsp_your_player_key" // from the GoBOSS dashboard (required)
60
+ playerKey={process.env.NEXT_PUBLIC_PLAYER_KEY!} // from your app config / env (required)
61
61
  src="https://cdn.example.com/video.m3u8" // HLS (.m3u8) or DASH (.mpd)
62
62
  title="My Video"
63
63
  themeColor="#6366f1"
@@ -88,7 +88,7 @@ import { BossVideoPlayer } from 'boss-web-player-sdk';
88
88
  export default function WatchPage() {
89
89
  return (
90
90
  <BossVideoPlayer
91
- playerKey="bsp_your_player_key"
91
+ playerKey={process.env.NEXT_PUBLIC_PLAYER_KEY!}
92
92
  src="https://cdn.example.com/video.m3u8"
93
93
  autoplay
94
94
  muted
@@ -128,7 +128,7 @@ by default.
128
128
  ```ts
129
129
  interface BossVideoPlayerProps {
130
130
  // ── Required ──────────────────────────────────────────────
131
- playerKey: string; // GoBOSS player key — gates playback & features
131
+ playerKey: string; // from your GoBOSS dashboard — supply via app config/env
132
132
  src: string; // HLS (.m3u8) or DASH (.mpd) URL
133
133
 
134
134
  // ── Identity / theming ────────────────────────────────────
@@ -138,7 +138,7 @@ interface BossVideoPlayerProps {
138
138
  licenseKey?: string; // Required by DRM-enabled plans (presence-checked)
139
139
 
140
140
  // ── Networking ────────────────────────────────────────────
141
- apiBaseUrl?: string; // Override the GoBOSS API base URL (see note below)
141
+ apiBaseUrl?: string; // Optional API base override (e.g. reverse proxy path)
142
142
  proxyDomains?: string; // CORS proxy map, "host=/path,host2=/path2" (see CORS)
143
143
 
144
144
  // ── Ads (AWS MediaTailor SSAI) ────────────────────────────
@@ -187,7 +187,7 @@ even if the stream has spliced ad breaks.
187
187
 
188
188
  ```tsx
189
189
  <BossVideoPlayer
190
- playerKey="bsp_..."
190
+ playerKey={playerKey}
191
191
  src="https://cdn.example.com/episode-04.m3u8"
192
192
  introStartTime={0}
193
193
  introEndTime={78} // Skip Intro shows between 0s–78s, seeks to 78s on click
@@ -211,7 +211,7 @@ import { createPlayer } from 'boss-web-player-sdk';
211
211
  import 'boss-web-player-sdk/css';
212
212
 
213
213
  const player = createPlayer(document.getElementById('player')!, {
214
- playerKey: 'bsp_your_player_key',
214
+ playerKey, // from your app config / env
215
215
  src: 'https://cdn.example.com/video.m3u8',
216
216
  autoplay: true,
217
217
  muted: true,
@@ -267,17 +267,17 @@ The `/core` entry also exposes the individual modules: `AnalyticsModule`, `Fireb
267
267
  The player fetches the manifest and media segments **from the browser**, so those origins must send CORS
268
268
  headers. Two tools help:
269
269
 
270
- - **`apiBaseUrl`** — point the SDK's GoBOSS API calls at your own reverse proxy (useful to avoid CORS on
271
- the API in development).
270
+ - **`apiBaseUrl`** — optional override for GoBOSS API calls (e.g. a same-origin reverse proxy
271
+ during local development). Prefer the package default.
272
272
  - **`proxyDomains`** — a comma-separated `"<host>=/<proxyPath>"` map. Any stream URL whose host matches is
273
273
  rewritten to `<proxyPath><pathname><search>`, and applied to the manifest **and** every segment/key
274
274
  request. Back each `<proxyPath>` with a same-origin dev proxy.
275
275
 
276
276
  ```tsx
277
277
  <BossVideoPlayer
278
- playerKey="bsp_..."
278
+ playerKey={playerKey}
279
279
  src="https://master.example.com/index.m3u8"
280
- apiBaseUrl="/boss-api"
280
+ apiBaseUrl="/api-proxy"
281
281
  proxyDomains="segments.example.com=/seg-proxy,master.example.com=/mt-proxy"
282
282
  />
283
283
  ```
@@ -305,7 +305,7 @@ Every player event flows through `onAnalyticsEvent`:
305
305
 
306
306
  ```tsx
307
307
  <BossVideoPlayer
308
- playerKey="bsp_..."
308
+ playerKey={playerKey}
309
309
  src="https://cdn.example.com/video.m3u8"
310
310
  onAnalyticsEvent={(e) => console.log(e.eventType, e)}
311
311
  />
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty;const a=require("./chunks/src-C9mlHhBC.cjs");let c=require("react");var l,o;o=null!=(l=c)?e(i(l)):{},c=((e,i,a,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(var l,o=n(i),u=0,d=o.length;u<d;u++)l=o[u],s.call(e,l)||void 0===l||t(e,l,{get:(e=>i[e]).bind(null,l),enumerable:!(c=r(i,l))||c.enumerable});return e})(t(o,"default",{value:l,enumerable:!0}),l);let u=require("react-dom"),d=require("react/jsx-runtime"),m=require("react-dom/client");var p=(...e)=>e.filter((e,t,r)=>Boolean(e)&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),h=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)},f={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},b=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1},k=(0,c.createContext)({}),g=(0,c.forwardRef)(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:n,className:i="",children:s,iconNode:a,...l},o)=>{const{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:m=!1,color:h="currentColor",className:g=""}=(0,c.useContext)(k)??{},y=n??m?24*Number(r??d)/Number(t??u):r??d;return(0,c.createElement)("svg",{ref:o,...f,width:t??u??f.width,height:t??u??f.height,stroke:e??h,strokeWidth:y,className:p("lucide",g,i),...!s&&!b(l)&&{"aria-hidden":"true"},...l},[...a.map(([e,t])=>(0,c.createElement)(e,t)),...Array.isArray(s)?s:[s]])}),y=(e,t)=>{const r=(0,c.forwardRef)(({className:r,...n},i)=>{return(0,c.createElement)(g,{ref:i,iconNode:t,className:p(`lucide-${s=h(e),s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...n});var s});return r.displayName=h(e),r},v=y("airplay",[["path",{d:"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1",key:"ns4c3b"}],["path",{d:"m12 15 5 6H7Z",key:"14qnn2"}]]),x=y("captions",[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]]),T=y("cast",[["path",{d:"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6",key:"3zrzxg"}],["path",{d:"M2 12a9 9 0 0 1 8 8",key:"g6cvee"}],["path",{d:"M2 16a5 5 0 0 1 4 4",key:"1y1dii"}],["line",{x1:"2",x2:"2.01",y1:"20",y2:"20",key:"xu2jvo"}]]),w=y("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),S=y("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),j=y("cloud-off",[["path",{d:"M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057",key:"1uxyv8"}],["path",{d:"M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78",key:"99tcn7"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),E=y("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),C=y("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]),M=y("languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]),N=y("list-video",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 19H3",key:"108z41"}],["path",{d:"M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z",key:"ms4nik"}]]),R=y("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),P=y("minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),A=y("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),L=y("picture-in-picture",[["path",{d:"M2 10h6V4",key:"zwrco"}],["path",{d:"m2 4 6 6",key:"ug085t"}],["path",{d:"M21 10V7a2 2 0 0 0-2-2h-7",key:"git5jr"}],["path",{d:"M3 14v2a2 2 0 0 0 2 2h3",key:"1f7fh3"}],["rect",{x:"12",y:"14",width:"10",height:"7",rx:"1",key:"1wjs3o"}]]),I=y("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),D=y("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),$=y("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),_=y("skip-forward",[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]]),z=y("volume-1",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}]]),F=y("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),V=y("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]),q=y("volume",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}]]);function H({offline:e=!1,title:t=(e?"No Internet Connection":"Something Went Wrong"),subtitle:r=(e?"Please check your network connection and try again.":"We encountered an error while playing this video.\nPlease try again."),onRetry:n,icon:i=(e?(0,d.jsx)(j,{size:36,color:"rgba(255,255,255,0.85)"}):void 0)}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{style:{width:80,height:80,borderRadius:"50%",background:"rgba(255,255,255,0.08)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:i??(0,d.jsxs)("svg",{width:"36",height:"36",viewBox:"0 0 24 24",fill:"none",stroke:"rgba(255,255,255,0.85)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),(0,d.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,d.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]})}),(0,d.jsxs)("div",{style:{textAlign:"center",padding:"0 24px"},children:[(0,d.jsx)("p",{style:{color:"#ffffff",fontSize:22,fontWeight:700,margin:"0 0 8px",letterSpacing:"-0.2px"},children:t}),(0,d.jsx)("p",{style:{color:"rgba(255,255,255,0.5)",fontSize:14,margin:0,lineHeight:1.6,whiteSpace:"pre-line"},children:r})]}),(0,d.jsxs)("button",{onClick:n,style:{display:"flex",alignItems:"center",gap:10,background:"#ffffff",color:"#09090e",border:"none",borderRadius:10,padding:"14px 32px",fontSize:16,fontWeight:700,cursor:"pointer",letterSpacing:"-0.1px"},children:[(0,d.jsx)(D,{size:20,strokeWidth:2.5}),"Retry Now"]})]})}function U(e){if("number"==typeof e)return Number.isFinite(e)&&e>=0?e:null;if("string"!=typeof e)return null;const t=e.trim();if(""===t)return null;const r=t.split(":");if(r.length>3)return null;let n=0;for(const i of r){if(!/^\d+(\.\d+)?$/.test(i))return null;n=60*n+Number(i)}return Number.isFinite(n)?n:null}function B(e,t,r){const n=[];for(const i of e??[]){if(!i)continue;const e=U(i.start),t=U(i.end);null==e||null==t||t<=e||n.push({id:`${e}-${t}`,title:i.title?.trim()||void 0,start:e,end:t})}return 0===n.length&&null!=t&&null!=r&&r>t&&n.push({id:`${t}-${r}`,start:t,end:r}),n.sort((e,t)=>e.start-t.start)}var O=!1,W=e=>{if(!e||e.length<10)return null;if(73!==e[0]||68!==e[1]||51!==e[2])return null;const t=e[3],r=(127&e[6])<<21|(127&e[7])<<14|(127&e[8])<<7|127&e[9],n=Math.min(10+r,e.length);let i=10;for(;i+10<=n;){const r=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),s=t>=4?(127&e[i+4])<<21|(127&e[i+5])<<14|(127&e[i+6])<<7|127&e[i+7]:e[i+4]<<24|e[i+5]<<16|e[i+6]<<8|e[i+7];if(s<=0||i+10+s>n)break;if("TIT2"===r){const t=e[i+10],r=e.slice(i+11,i+10+s),n=(1===t||2===t?new TextDecoder("utf-16").decode(r):new TextDecoder(3===t?"utf-8":"latin1").decode(r)).replace(/\0/g,"").trim();if(n)return n}i+=10+s}return null},K=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M7 8 3 12l4 4"}),(0,d.jsx)("path",{d:"M21 6H11"}),(0,d.jsx)("path",{d:"M21 12H11"}),(0,d.jsx)("path",{d:"M21 18H11"})]}),X=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"2",y:"5",width:"20",height:"14",rx:"3"}),(0,d.jsx)("path",{d:"M7 9v6M7 12h3M10 9v6"}),(0,d.jsx)("path",{d:"M14 9h1.5a3 3 0 0 1 0 6H14z"})]}),Q=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"2",y:"5",width:"20",height:"14",rx:"3"}),(0,d.jsx)("path",{d:"M7 9v6M7 12h3M10 9v6"}),(0,d.jsx)("path",{d:"M14 9h1.5a3 3 0 0 1 0 6H14z"})]}),J=e=>{const t=e.replace("#","");return 6===t.length?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:3===t.length?`${parseInt(t[0]+t[0],16)}, ${parseInt(t[1]+t[1],16)}, ${parseInt(t[2]+t[2],16)}`:"99, 102, 241"},G={en:"English",eng:"English",fr:"French",fre:"French",fra:"French",es:"Spanish",spa:"Spanish",de:"German",ger:"German",deu:"German",it:"Italian",ita:"Italian",pt:"Portuguese",por:"Portuguese",ja:"Japanese",zh:"Chinese",ko:"Korean",ru:"Russian",ar:"Arabic",hi:"Hindi",ta:"Tamil",tam:"Tamil"},Y=e=>{if(!e)return null;const t=e.trim().toLowerCase(),r=t.match(/^(en|eng|fr|fre|fra|es|spa|de|ger|deu|it|ita|pt|por|ja|zh|ko|ru|ar|hi|ta|tam)/);if(r&&G[r[0]])return G[r[0]];for(const[n,i]of Object.entries(G))if(t.includes(n))return i;return/english|anglais|ingles/i.test(t)?"English":/french|français/i.test(t)?"French":/spanish|español/i.test(t)?"Spanish":/german|deutsch/i.test(t)?"German":/italian|italiano/i.test(t)?"Italian":/portuguese|português/i.test(t)?"Portuguese":/japanese|nihongo/i.test(t)?"Japanese":/chinese|中文/i.test(t)?"Chinese":/korean|한국어/i.test(t)?"Korean":/tamil|தமிழ்/i.test(t)?"Tamil":/russian|русский/i.test(t)?"Russian":/arabic|العربية/i.test(t)?"Arabic":/hindi|हिन्दी/i.test(t)?"Hindi":null},Z=e=>{if(e.lang){const t=Y(e.lang);if(t)return t}if(e.label){const t=e.label.trim(),r=t.split(/[#\d\.\s\-_/|:]+/).filter(Boolean);for(let e=r.length-1;e>=0;e-=1){const t=Y(r[e]);if(t)return t}const n=t.replace(/^[#\d\.\s]+/,"").trim();return Y(n)||n}return"Unknown"},ee=e=>{const t=new Set;return e.filter(e=>{const r=`${Z(e).toLowerCase()}|${(e.lang||"").trim().toLowerCase()}`;return!t.has(r)&&(t.add(r),!0)})},te=e=>{const t=(e??"").split(":").map(Number);return 3600*(t[0]||0)+60*(t[1]||0)+(t[2]||0)},re=e=>{if(!e)return!1;try{const{protocol:t}=new URL(e,window.location.href);return"http:"===t||"https:"===t}catch{return!1}},ne=e=>{if("number"==typeof e)return Number.isFinite(e)&&e>=0?e:null;if("string"!=typeof e)return null;const t=e.trim();if(!t)return null;if(/^\d+:\d{1,2}:\d{1,2}(\.\d+)?$/.test(t))return te(t);const r=Number(t);return Number.isFinite(r)&&r>=0?r:null},ie=[0,250,500,750,1e3,1500,2e3,3e3,5e3,8e3],se="undefined"!=typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent),ae="undefined"!=typeof navigator&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,ce=se&&!ae,le=new Set,oe=(e,t,r)=>{const n=t.find(t=>e>=t.startTime&&e<t.endTime&&!r.has(t.startTime));if(n)return n;let i;for(const s of t)s.startTime<=1&&s.startTime>0&&!r.has(s.startTime)&&e<s.startTime&&(!i||s.endTime>i.endTime)&&(i=s);return i},ue=(e,t,r)=>{if(oe(e,t,r))return!0;const n=t.reduce((e,t)=>t.startTime<=1&&!r.has(t.startTime)?Math.max(e,t.endTime):e,0);return n>0&&e<n},de=2e3,me=4e3;function pe(e,t,r,n=!1,i){let s,a=!1,c=null,l=!1,o=!1;const u=()=>{l||o||(l=!0,i?.())},d=i=>{s=setTimeout(()=>{a||fetch(e).then(e=>e.json()).then(e=>{if(a)return;const s=t(e);if(null!==s){o=!0;const e=JSON.stringify(s);if(e!==c&&(c=e,r(s)),!n)return}else u();i+1<ie.length&&d(i+1)}).catch(()=>{a||(u(),i+1<ie.length&&d(i+1))})},ie[i])};return d(0),()=>{a=!0,s&&clearTimeout(s)}}var he=({src:e,autoplay:t=!1,muted:r=!1,chapters:n=[],keyMoments:i,subtitles:s=[],thumbnails:l,watermark:o,themeColor:m="#6366f1",drmConfig:p,firebaseConfig:h,videoId:f,onAnalyticsEvent:b,onAdBreakChange:k,onKeyMomentsLoaded:g,enableControls:y=!0,enableChromecast:j,enableKeyMoments:U,enableSubtitles:G,enableQuality:Y,enableSources:ie=!1,enablePlaybackSpeed:he,enablePiP:fe,enableFullscreen:be=!0,autoFullscreen:ke=!1,watchProgressInterval:ge=30,subtitleStyle:ye={},resolvedEntitlement:ve,title:xe,artworkUrl:Te,chaptersDisplayMode:we="strip",volumeControlType:Se="slider",urlTransformer:je,pauseAdOnTabSwitch:Ee=!0,enableSkipAd:Ce=!1,skipAdAfterSeconds:Me=5,overlayAdUrl:Ne,adTrackingUrl:Re,sources:Pe,activeSourceIndex:Ae=0,onSourceChange:Le,initialTime:Ie,onTimeUpdate:De,skipMarkers:$e,introStartTime:_e,introEndTime:ze,hasNextEpisode:Fe,outroStartTime:Ve,nextEpisodeLabel:qe="Next Episode",onNextEpisode:He,nextEpisodeAutoAdvanceSeconds:Ue=5,nextEpisodeThumbnailUrl:Be})=>{const Oe=je??(e=>e),We=(0,c.useRef)(null),Ke=(0,c.useRef)(null),Xe=(0,c.useRef)(!1),Qe=(0,c.useRef)(null),Je=(0,c.useRef)(0),Ge=(0,c.useRef)(null),Ye=(0,c.useRef)(null),Ze=(0,c.useRef)(null),et=(0,c.useRef)(null),tt=(0,c.useRef)(!1),rt=(0,c.useRef)(!1),nt=(0,c.useRef)(null),it=(0,c.useRef)(null),st=(0,c.useRef)(null),at=(0,c.useRef)(!1),ct=(0,c.useRef)(null),lt=(0,c.useRef)(()=>{}),ot=(0,c.useRef)(null),ut=(0,c.useRef)(!1),dt=(0,c.useRef)(null),mt=e=>{const t=dt.current;if(!t)return!0;const r=t.getContext("2d");if(!r)return!0;if(r.clearRect(0,0,t.width,t.height),!e||!e.videoWidth||!e.videoHeight)return!0;try{if("function"==typeof r.getImageData){const t=document.createElement("canvas");t.width=16,t.height=9;const r=t.getContext("2d");if(r&&"function"==typeof r.getImageData){r.drawImage(e,0,0,t.width,t.height);const n=r.getImageData(0,0,t.width,t.height).data;let i=!0;for(let e=4;e<n.length;e+=4)if(Math.abs(n[e]-n[0])>8||Math.abs(n[e+1]-n[1])>8||Math.abs(n[e+2]-n[2])>8){i=!1;break}if(i)return!1}}return t.width=e.videoWidth,t.height=e.videoHeight,r.drawImage(e,0,0,t.width,t.height),!0}catch(n){return r.clearRect(0,0,t.width,t.height),!1}},pt=(0,c.useRef)(!0),ht=(0,c.useRef)(0),ft=(0,c.useRef)(null),bt=()=>{ht.current+=1,ft.current&&(window.clearTimeout(ft.current),ft.current=null)},kt=(0,c.useRef)(null),gt=(0,c.useRef)(!1),yt=e=>{e&&null===kt.current&&(gt.current||(kt.current=e.muted,e.muted=!0))},vt=e=>{null!==kt.current&&(e&&(e.muted=kt.current),kt.current=null)},xt=(0,c.useRef)(null),Tt=(0,c.useRef)(!1),wt=(0,c.useRef)(null),[St,jt]=(0,c.useState)(null),Et=(0,c.useRef)(null),Ct=(0,c.useRef)(null),Mt=(0,c.useRef)(null),Nt=(0,c.useRef)(null),Rt=(0,c.useRef)(null),Pt=(0,c.useRef)(null),At=(0,c.useRef)(null),Lt=(0,c.useRef)(Pe),It=(0,c.useRef)(Le),Dt=(0,c.useRef)(!1),$t=(0,c.useRef)(null),_t=(0,c.useRef)(null),zt=(0,c.useRef)(!1),Ft=(0,c.useRef)(null),Vt=(0,c.useRef)(null),qt=(0,c.useRef)(null),Ht=(0,c.useRef)(null),Ut=(0,c.useRef)(0),Bt=(0,c.useRef)(null),Ot=(0,c.useRef)(null),Wt=(0,c.useRef)(null),[Kt,Xt]=(0,c.useState)(!1),Qt=(0,c.useRef)(!1),Jt=(0,c.useRef)(null),[Gt,Yt]=(0,c.useState)(null);(0,c.useEffect)(()=>{if("undefined"==typeof window||O)return;const e=window.requestAnimationFrame(()=>{const e=We.current;if(!e)return;const t=window.getComputedStyle(e);"hidden"!==t.overflow&&"0px"===t.borderTopLeftRadius&&(O=!0)});return()=>window.cancelAnimationFrame(e)},[]),(0,c.useEffect)(()=>{const e=We.current;if(!e)return;const t=new ResizeObserver(e=>{for(const t of e)Xt(t.contentRect.width<=768)});return t.observe(e),Xt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);const[Zt,er]=(0,c.useState)(null),tr=(0,c.useRef)(null),[rr,nr]=(0,c.useState)(!1),ir=ve??null,sr=null!=ir,ar=ir?.features??{},cr=!1,lr={enableSubtitles:"boolean"==typeof G?G:!sr||Boolean(ar.subtitle_support),enableChromecast:"boolean"==typeof j?j:!sr||Boolean(ar.chromecast),enableKeyMoments:"boolean"==typeof U?U:!sr||Boolean(ar.key_moments),enableQuality:"boolean"!=typeof Y||Y,enablePlaybackSpeed:"boolean"==typeof he?he:!sr||Boolean(ar.playback_speed),enablePiP:"boolean"==typeof fe?fe:!sr||Boolean(ar.picture_in_picture),allowAirplay:!!sr&&Boolean(ar.airplay),allowMultipleAudio:!sr||Boolean(ar.multiple_audio),m3u8_playback:!sr||Boolean(ar.m3u8_playback),drm_protection:!!sr&&Boolean(ar.drm_protection)},[or,ur]=(0,c.useState)(!1),[dr,mr]=(0,c.useState)("undefined"!=typeof navigator&&!navigator.onLine),[pr,hr]=(0,c.useState)(!1),[fr,br]=(0,c.useState)(0),[kr,gr]=(0,c.useState)(!1),[yr,vr]=(0,c.useState)(0),[xr,Tr]=(0,c.useState)(0),[wr,Sr]=(0,c.useState)(1),[jr,Er]=(0,c.useState)(!1),[Cr,Mr]=(0,c.useState)(!1),[Nr,Rr]=(0,c.useState)(!1),Pr=(0,c.useRef)(!1),Ar=(0,c.useRef)(null),Lr=(0,c.useRef)(0),Ir=(0,c.useCallback)(()=>{if(!Pr.current||ut.current)return null!==Ar.current&&(window.clearTimeout(Ar.current),Ar.current=null),void Mr(!1);if(null!==Ar.current)return;const e=Math.max(400,Lr.current-Date.now());Ar.current=window.setTimeout(()=>{Ar.current=null,Pr.current&&!ut.current&&(Date.now()<Lr.current?Ir():Mr(!0))},e)},[]);(0,c.useEffect)(()=>()=>{null!==Ar.current&&window.clearTimeout(Ar.current)},[]);const Dr=(0,c.useCallback)(e=>{Pr.current=e,Ir()},[Ir]);(0,c.useEffect)(()=>{const e=()=>mr(!1),t=()=>mr(!0);return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]);const $r=(0,c.useCallback)(()=>{hr(!1),ur(!0),Dr(!1),Pt.current=null,At.current&&(clearTimeout(At.current),At.current=null),Rr(!1),Vt.current=null,qt.current&&(window.clearTimeout(qt.current),qt.current=null),$t.current&&($t.current.style.opacity="0")},[Dr]),_r=(0,c.useCallback)(()=>{if("function"!=typeof fetch||"undefined"==typeof window)return Promise.resolve(!0);const e="undefined"!=typeof AbortController?new AbortController:void 0,t=e?window.setTimeout(()=>e.abort(),5e3):null;return fetch(`${window.location.origin}${window.location.pathname}?_gbConnCheck=${Date.now()}`,{method:"HEAD",cache:"no-store",signal:e?.signal}).then(()=>!0).catch(()=>!1).finally(()=>{null!==t&&window.clearTimeout(t)})},[]),zr=(0,c.useCallback)(()=>{ur(!1),hr(!1),Dr(!0),null!==Ct.current&&$t.current&&($t.current.style.opacity="1"),br(e=>e+1)},[Dr]);(0,c.useEffect)(()=>{if(or||!dr||!Cr&&!pr)return;const e=window.setTimeout(()=>{if(null===Ct.current&&Zt){const e=Zt.getCurrentTime();Number.isFinite(e)&&e>0&&(Ct.current=e)}$r()},1e4);return()=>window.clearTimeout(e)},[dr,Cr,pr,or,Zt,$r]),(0,c.useEffect)(()=>{if(or||dr||!Cr)return;let e=!1;const t=window.setTimeout(()=>{_r().then(t=>{if(!e){if(!t)return mr(!0),hr(!0),void Dr(!0);if(null===Ct.current&&Zt){const e=Zt.getCurrentTime();Number.isFinite(e)&&e>0&&(Ct.current=e)}$r()}})},3e4);return()=>{e=!0,window.clearTimeout(t)}},[dr,Cr,or,Zt,$r,_r]),(0,c.useEffect)(()=>{!dr&&pr&&zr()},[dr,pr,zr]),(0,c.useEffect)(()=>{if(!pr)return;let e=!1;const t=window.setInterval(()=>{_r().then(t=>{!e&&t&&(mr(!1),zr())})},4e3);return()=>{e=!0,window.clearInterval(t)}},[pr,_r,zr]);const[Fr,Vr]=(0,c.useState)(!1),[qr,Hr]=(0,c.useState)(!1),[Ur,Br]=(0,c.useState)(!1),Or=Kt||(Fr||qr)&&Ur,Wr=(0,c.useRef)(!1);Wr.current=Or;const[Kr,Xr]=(0,c.useState)(!1),[Qr,Jr]=(0,c.useState)(null),[Gr,Yr]=(0,c.useState)(!1),[Zr,en]=(0,c.useState)([]),tn=(0,c.useRef)([]),rn=(0,c.useRef)(new Set),[nn,sn]=(0,c.useState)(!1),an=(0,c.useRef)(!1),cn=Pe&&Pe.length>0?Pe.map(e=>e.url).join("|"):e,[ln,on]=(0,c.useState)(new Set),[un,dn]=(0,c.useState)(cn),mn=(0,c.useRef)(null),pn=(0,c.useRef)(!1),hn=(0,c.useRef)(null);un!==cn&&(dn(cn),on(new Set),rn.current=new Set,mn.current=null,pn.current=!1);const fn=(0,c.useRef)(null),bn=(0,c.useRef)(!1),[kn,gn]=(0,c.useState)([]),[yn,vn]=(0,c.useState)(null),xn=(0,c.useRef)([]),Tn=(0,c.useRef)(null),wn=(0,c.useRef)(new Set),[Sn,jn]=(0,c.useState)([]),En=(0,c.useRef)([]),[Cn,Mn]=(0,c.useState)(!1),Nn=(0,c.useRef)(!1),Rn=(0,c.useCallback)(()=>{Nn.current||(Nn.current=!0,Mn(!0))},[]),[Pn,An]=(0,c.useState)(!1),Ln=(0,c.useRef)(!1),In=(0,c.useCallback)(()=>{Ln.current||(Ln.current=!0,An(!0))},[]),[Dn,$n]=(0,c.useState)(!1),_n=(0,c.useRef)(!1),[zn,Fn]=(0,c.useState)(!1),[Vn,qn]=(0,c.useState)(!1),Hn=(0,c.useRef)(null),[Un,Bn]=(0,c.useState)({w:0,h:0}),[On,Wn]=(0,c.useState)(null),[Kn,Xn]=(0,c.useState)([]),[Qn,Jn]=(0,c.useState)(0),Gn=(0,c.useRef)(0),Yn=(0,c.useRef)(0),Zn=e=>{const t=En.current.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds);if(t)return{start:t.startTimeSeconds,end:t.endTimeSeconds};const r=tn.current.find(t=>e>=t.startTime&&e<t.endTime);return r?{start:r.startTime,end:r.endTime}:null},[ei,ti]=(0,c.useState)(null),[ri,ni]=(0,c.useState)(null),ii=(0,c.useRef)(null);(0,c.useEffect)(()=>{ii.current=ei},[ei]);const si=(0,c.useRef)(!1),ai=(0,c.useMemo)(()=>Zr.reduce((e,t)=>e+(t.endTime-t.startTime),0),[Zr]),ci=xr>0?xr:ei?ri?.duration??0:0,li=ci>0?Math.max(0,ci-ai):0,oi=Zr.length>0&&li>0?li:ci,ui=(0,c.useCallback)(e=>{let t=e;for(const r of Zr)e>=r.endTime?t-=r.endTime-r.startTime:e>=r.startTime&&(t-=e-r.startTime);return Math.max(0,t)},[Zr]),di=(0,c.useCallback)(e=>{const t=[...Zr].sort((e,t)=>e.startTime-t.startTime);let r=e;for(const n of t)r>n.startTime&&(r+=n.endTime-n.startTime);return r},[Zr]),mi=(0,c.useCallback)(e=>e.startTime>.1&&e.endTime<ci-.1,[ci]),pi=(0,c.useCallback)((e,t)=>{if(oi<=0||t<=0)return!1;for(const r of Zr){if(ln.has(r.startTime)||!mi(r))continue;const n=ui(r.startTime)/oi*t;if(e>=n-2&&e<=n+3+2)return!0}return!1},[Zr,oi,ln,mi,ui]),[hi,fi]=(0,c.useState)([]),[bi,ki]=(0,c.useState)({id:-1,height:0,width:0,bitrate:0,label:"Auto"}),[gi,yi]=(0,c.useState)(""),[vi,xi]=(0,c.useState)("off"),[Ti,wi]=(0,c.useState)(ee(s)),[Si,ji]=(0,c.useState)([]),[Ei,Ci]=(0,c.useState)(0);(0,c.useEffect)(()=>{if(Zt){const e=Zt.subtitles.getTracks();wi(ee([...s,...e.filter(e=>!s.some(t=>t.id===e.id))]))}else wi(ee(s))},[s.map(e=>e.id).join(","),Zt]);const[Mi,Ni]=(0,c.useState)({chapter:null,index:-1}),[Ri,Pi]=(0,c.useState)(i||n||[]),[Ai,Li]=(0,c.useState)("none"),[Ii,Di]=(0,c.useState)(1),[$i,_i]=(0,c.useState)(!1),[zi,Fi]=(0,c.useState)({}),[Vi,qi]=(0,c.useState)(""),[Hi,Ui]=(0,c.useState)(null),Bi=(0,c.useRef)(!1),Oi=JSON.stringify(Ri.map(e=>({title:e.title,startTime:e.startTime})));(0,c.useEffect)(()=>{Pi(i||n||[])},[(i||n||[]).map(e=>`${e.startTime}:${e.title}`).join(",")]),(0,c.useEffect)(()=>{if(!e||!Ri||0===Ri.length)return;Fi({});const t=document.createElement("video");t.setAttribute("playsinline","true"),t.setAttribute("webkit-playsinline","true"),t.playsInline=!0,t.webkitPlaysInline=!0,t.muted=!0,t.preload="metadata",t.crossOrigin="anonymous",t.style.cssText="position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;",document.body.appendChild(t);let r=null;const n=e.includes(".m3u8"),i=document.createElement("canvas");i.width=160,i.height=90;const s=i.getContext("2d");let c=0,l=!1;const o=()=>{if(c>=Ri.length)return void m();const e=Ri[c].startTime;t.currentTime=0===e?.01:e},u=()=>{if(s&&t.readyState>=2){s.drawImage(t,0,0,i.width,i.height);const e=i.toDataURL("image/jpeg",.8);Fi(t=>({...t,[c]:e})),c++,o()}else setTimeout(u,100)},d=()=>{l||(l=!0,o())};t.addEventListener("seeked",u),t.addEventListener("canplay",d),n&&a.Hls.isSupported()?(r=new a.Hls({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{const r=p?.authToken;try{const n=Oe(t),i=new URL(n,window.location.origin);r&&i.searchParams.set("token",r),e.open("GET",i.toString(),!0)}catch(n){}}}),r.loadSource(Oe(e)),r.attachMedia(t)):t.src=e,t.readyState>=2&&d();const m=()=>{t.removeEventListener("seeked",u),t.removeEventListener("canplay",d),r&&r.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return m},[e,Oi]);const Wi=(0,c.useRef)(!1),Ki=(0,c.useRef)(0),Xi=(0,c.useRef)(0),Qi=(0,c.useRef)(null),Ji=(0,c.useRef)(0),Gi=(0,c.useRef)(null),Yi=(0,c.useRef)(0),Zi=e=>{Qi.current=e,Ji.current=0,Gi.current=null,Yi.current=Date.now()},es=()=>{Qi.current=null,Ji.current=0,Gi.current=null,Yi.current=0},ts=e=>{if(null!==Ct.current)return Ct.current;if(!Dt.current&&(Ie??0)>0)return Ie;const t=Vt.current??wt.current;return null!==t&&t>0&&e.getCurrentTime()<1?t:e.getCurrentTime()},rs=e=>{const t=e.drm?.getRequestHeaders?.()??{},r=Ti.filter(e=>!!e.src).map(e=>({id:e.id,label:e.label,language:e.lang,src:e.src}));return{...Object.keys(t).length>0?{headers:t}:{},...o?{watermark:o}:{},...r.length>0?{externalSubtitles:r}:{},...re(Re)?{adTrackingUrl:Re}:{}}},[ns,is]=(0,c.useState)(!1),[ss,as]=(0,c.useState)(!1),[cs,ls]=(0,c.useState)(null);gt.current=ss;const os=(0,c.useRef)(0),us=(0,c.useRef)(0),[ds,ms]=(0,c.useState)(null),[ps,hs]=(0,c.useState)(0),[fs,bs]=(0,c.useState)(0),[ks,gs]=(0,c.useState)(null),[ys,vs]=(0,c.useState)(null),xs=(0,c.useRef)(!1),[Ts,ws]=(0,c.useState)(!1),[Ss,js]=(0,c.useState)(null);(0,c.useEffect)(()=>{ws(!1)},[l?.spriteUrl]);const Es=!!Zt?.thumbnails.hasThumbnails()&&!Ts;(0,c.useEffect)(()=>{if(!Zt?.thumbnails.hasThumbnails())return;const e=Zt.thumbnails.getThumbnail(0);e?.url&&((new Image).src=Oe(e.url))},[Zt]),(0,c.useEffect)(()=>{if(ct.current&&!ct.current.querySelector("google-cast-launcher")){const e=document.createElement("google-cast-launcher");e.style.cursor="pointer",e.style.width="100%",e.style.height="100%",e.style.display="block",ct.current.appendChild(e)}},[]),(0,c.useEffect)(()=>{if(!Zt)return is(!1),as(!1),void ls(null);const e=Zt.getVideoElement(),t=e,r="function"==typeof t?.webkitShowPlaybackTargetPicker,n=e=>is(e&&r),i=()=>{const e=Boolean(t?.webkitCurrentPlaybackTargetIsWireless);return as(e),ls(e?t.webkitCurrentPlaybackTargetName||"AirPlay device":null),e};n(Zt.casting.isAirPlayAvailable()),i();const s=e=>{n("available"===e.availability)},a=()=>{const e=gt.current,t=i(),r=Zt.getCurrentTime(),n=Number.isFinite(r)&&r>=0;if(t&&!e){n&&vr(r),os.current=0;const e=nt.current;return void(rt.current&&null!==e&&Zt.seek(e))}if(!t&&e){os.current=0,rt.current&&(rt.current=!1,nt.current=null,it.current=null,st.current&&(window.clearTimeout(st.current),st.current=null)),n&&vr(r);const e=Zt.getVideoElement();e&&e.paused&&!e.ended&&at.current&&Zt.play()}};return r&&(e.addEventListener("webkitplaybacktargetavailabilitychanged",s),e.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",a)),()=>{r&&(e.removeEventListener("webkitplaybacktargetavailabilitychanged",s),e.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged",a))}},[Zt]);const[Cs,Ms]=(0,c.useState)(""),Ns=`${cn}::${f??""}`,[Rs,Ps]=(0,c.useState)(Ns),[As,Ls]=(0,c.useState)(!1),[Is,Ds]=(0,c.useState)(xe);Rs!==Ns?(Ps(Ns),Ms(""),Ls(xe===Is&&Boolean(xe)),Ds(xe)):xe!==Is&&(Ds(xe),As&&Ls(!1));const $s=(As?void 0:xe)||Cs||"",_s=(0,c.useRef)(xe),zs=(0,c.useRef)(Cs);_s.current=xe,zs.current=Cs;const[Fs,Vs]=(0,c.useState)(!1),[qs,Hs]=(0,c.useState)(!1),[Us,Bs]=(0,c.useState)(!1),Os=(0,c.useRef)(!1),Ws=(0,c.useRef)(null),Ks=(0,c.useRef)(!1),Xs=(0,c.useRef)(null),Qs=(0,c.useRef)("none"),Js=(0,c.useRef)(s),Gs=(0,c.useRef)(0),Ys=(0,c.useRef)(!1),Zs=(0,c.useRef)(!1),ea=()=>{Gs.current=Date.now(),Vs(!0),!Wr.current&&We.current?.matches(":hover")&&(Ys.current=!0),Ws.current&&window.clearTimeout(Ws.current);const e=Wr.current||Qt.current?3500:1e4;Ws.current=window.setTimeout(()=>{Ws.current=null,at.current&&"none"===Qs.current&&(!Wr.current&&Ys.current||Vs(!1))},e)},ta=()=>{const e=at.current&&!Pr.current;if(Ln.current&&an.current||e){if(ii.current||Ks.current||!ue(Yn.current,tn.current,rn.current))Xs.current=null;else if(e)Xs.current=null;else{const e=Date.now();if(null===Xs.current&&(Xs.current=e),e-Xs.current<2500)return}ea()}},[ra,na]=(0,c.useState)(!1);(0,c.useEffect)(()=>{na(!ei&&!qs&&ue(yr,Zr,rn.current))},[yr,Zr,qs,ei]),(0,c.useEffect)(()=>{if(qs)return Zs.current=!1,Ws.current&&(window.clearTimeout(Ws.current),Ws.current=null),void Vs(!1);const e=kr;if(!e&&(!Pn||!nn||ra)&&!Zs.current)return Ws.current&&(window.clearTimeout(Ws.current),Ws.current=null),void Vs(!1);e&&y&&!Zs.current&&(Zs.current=!0,ea())},[qs,Pn,nn,ra,y,kr]);const ia=(0,c.useCallback)(e=>{Nt.current&&(clearTimeout(Nt.current),Nt.current=null);const t=Lt.current,r=t?.[e]?.label??"This format",n=t?.[0]?.label??"default";Rt.current=null,Ui(`${r} isn't supported on this device. Switched to ${n}.`),window.setTimeout(()=>Ui(null),4e3),It.current?.(0)},[]);(0,c.useEffect)(()=>{if(!We.current)return;$t.current&&null===Ct.current&&Ie&&Ie>0&&($t.current.style.opacity="1");const t=document.createElement("video");t.setAttribute("playsinline","true"),t.setAttribute("webkit-playsinline","true"),t.playsInline=!0,t.webkitPlaysInline=!0,t.muted=!0,t.preload="metadata",t.crossOrigin="anonymous",t.style.cssText="display:none;position:absolute;pointer-events:none;",document.body.appendChild(t),Ye.current=t;const n=e.includes(".m3u8");if(n&&a.Hls.isSupported()){const r=new a.Hls({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{const r=p?.authToken;try{const n=Oe(t),i=new URL(n,window.location.origin);r&&i.searchParams.set("token",r),e.open("GET",i.toString(),!0)}catch(n){}}});r.loadSource(Oe(e)),r.attachMedia(t),Ze.current=r,r.on(a.Hls.Events.MANIFEST_LOADED,(e,t)=>{if(_s.current)return;const r=(e=>{const t=e.match(/#EXT-X-TITLE:(.+)/);if(t?.[1]?.trim())return t[1].trim();const r=e.match(/#EXT-X-SESSION-DATA:[^\n]*DATA-ID="[^"]*title[^"]*"[^\n]*VALUE="([^"]+)"/i);return r?.[1]?.trim()?r[1].trim():null})(t?.networkDetails?.responseText??"");r&&Ms(r)}),r.on(a.Hls.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!_s.current&&!zs.current)for(const r of t?.samples??[]){const e=W(r.data);if(e){Ms(e);break}}})}else n&&t.canPlayType("application/vnd.apple.mpegurl"),t.src=e;let i;if(t.addEventListener("seeked",()=>{if(xs.current)return;const e=Ge.current;if(!e)return;const r=e.getContext("2d");r&&t.readyState>=2&&(r.drawImage(t,0,0,e.width,e.height),gs(e.toDataURL("image/jpeg",.82)))}),h){const e=new a.FirebaseAnalyticsProvider(h);Ke.current=e,i=e.createCallback()}const c=Wt.current;Wt.current=null;const u=new a.VideoPlayerSDK({container:We.current,src:e,videoId:f,title:xe,artworkUrl:Te,videoElement:c??void 0,autoplay:!1,muted:r,keyMoments:Ri,subtitles:s,thumbnails:l,drm:{watermarkText:o,allowedDomains:["localhost","127.0.0.1",window.location.hostname],...p},analyticsCallback:e=>{if(e.sessionId&&(null===mn.current?mn.current=e.sessionId:e.sessionId!==mn.current&&(e={...e,sessionId:mn.current})),"session_start"===e.eventType){if(pn.current)return;pn.current=!0}i?.(e),b&&b(e)},analyticsSessionSeed:hn.current?.key===cn?hn.current.snapshot:void 0,watchProgressInterval:1e3*ge,themeColor:m,urlTransformer:je}),d=Ot.current;if(d)if(d.closed)Ot.current=null,Jr(null),Xr(!1);else{const e=u.getVideoElement();e.classList.add("gb-pip-video"),d.document.body.insertBefore(e,d.document.body.firstChild)}if(c){const e=c;Xr(document.pictureInPictureElement===c||"picture-in-picture"===e.webkitPresentationMode)}u.on("keymomentsloaded",e=>{Pi(e),g&&g(e)}),u.on("chaptersloaded",e=>{Pi(e),g&&g(e)}),u.on("play",()=>{gr(!0),Yr(!1),T(u.getCurrentTime(),!1)}),u.on("pause",()=>{gr(!1),T(u.getCurrentTime(),!0)}),u.on("ended",()=>{gr(!1),Yr(!0)});const y=()=>{ut.current||(pt.current=mt(u.getVideoElement())),bt(),ut.current=!0,Ir(),ot.current&&pt.current&&(ot.current.style.transition="none",ot.current.style.opacity="1"),yt(u.getVideoElement())},v=()=>{const e=u.getVideoElement(),t=ht.current,r=()=>{t===ht.current&&(ft.current&&(window.clearTimeout(ft.current),ft.current=null),ut.current=!1,ot.current&&(ot.current.style.transition="opacity 180ms ease-out",ot.current.style.opacity="0"),vt(e),Lr.current=Date.now()+1e3,Ir())},n=e?.requestVideoFrameCallback;if("function"==typeof n){n.call(e,()=>r());const i=n=>{ft.current=window.setTimeout(()=>{(Pr.current||e.seeking||e.readyState<2)&&n+de<8e3&&t===ht.current?i(n+de):r()},de)};return void i(0)}requestAnimationFrame(()=>requestAnimationFrame(r))},x=(e,t=!1)=>{rt.current=!0;const r=t?e+.5:wt.current??e+.5;t||(wt.current=null),Tt.current=t,nt.current=r,it.current=u.getCurrentTime(),os.current=0,us.current=performance.now(),vr(r),t||jt(null),y(),u.seek(r),ii.current&&u.casting.remoteSkipAd(r);const n=u.getVideoElement(),i=gt.current;if(n&&!i){const e=()=>{n.removeEventListener("seeked",e),st.current&&(window.clearTimeout(st.current),st.current=null),rt.current=!1,nt.current=null,it.current=null;const t=Tt.current;Tt.current=!1,(t||null===wt.current)&&v(),t||null!==wt.current||jt(null)};n.addEventListener("seeked",e)}st.current&&window.clearTimeout(st.current);const s=i?me:3e3;st.current=window.setTimeout(()=>{rt.current=!1,nt.current=null,it.current=null,st.current=null,Tt.current=!1,jt(null),v()},s)};xt.current=x;const T=(e,t)=>{if(!("mediaSession"in navigator)||!navigator.mediaSession.setPositionState)return;navigator.mediaSession.playbackState=t?"paused":"playing";const r=u.getDuration();if(gt.current){if(r>0)try{navigator.mediaSession.setPositionState({duration:r,playbackRate:1,position:Math.min(Math.max(0,e),r)})}catch(i){}return}let n=tn.current.find(t=>e>=t.startTime&&e<t.endTime);if(!n&&Ks.current&&null!==fn.current&&(n=tn.current.find(e=>e.startTime===fn.current)),n){const t=n.endTime-n.startTime,r=Math.max(0,e-n.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(r,t)})}catch(i){}}else{const t=tn.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=r>0?Math.max(0,r-t):0;let s=e;for(const r of tn.current)e>=r.endTime?s-=r.endTime-r.startTime:e>=r.startTime&&(s-=e-r.startTime);s=Math.max(0,s);const a=tn.current.length>0&&n>0?n:r;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(s,a)})}catch(i){}}};u.on("timeupdate",e=>{const t=Bt.current;if(t&&(e>=t.end||e<t.start-.5?Bt.current=null:rt.current||null!==Vt.current||u.getVideoElement().seeking||(e-t.start<=1.5?Bt.current=null:t.attempts<2?(t.attempts++,u.seek(t.start)):Bt.current=null)),!rt.current&&null===Vt.current){const t=tn.current.find(t=>rn.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t)return void x(t.endTime);null!==wt.current&&tn.current.find(t=>e>=t.endTime-.5&&e<t.endTime)&&y()}if(rt.current&&null!==nt.current){const t=nt.current,r=null!==it.current&&t<it.current,n=gt.current,i=Math.abs(e-t)<=2;let s;if(n){const e=us.current>0?performance.now()-us.current:0;i&&e>=1200?os.current+=1:os.current=0,s=os.current>=2}else s=r?e<=t+2&&e>=t-2:e>=t-2;if(!s)return;{os.current=0,rt.current=!1,nt.current=null,it.current=null,st.current&&(window.clearTimeout(st.current),st.current=null);const t=tn.current.some(t=>e>=t.startTime&&e<t.endTime),r=Tt.current;Tt.current=!1,(r||!t&&null===wt.current)&&v(),t||null!==wt.current||jt(null)}}vr(e),Ut.current=e;const r=u.getDuration();if(Tr(r),null!==Vt.current&&e>=Vt.current-2){const t=tn.current.find(t=>rn.current.has(t.startTime)&&e>=t.startTime&&e<t.endTime);t&&x(t.endTime);const r=tn.current.some(t=>e>=t.startTime&&e<t.endTime&&!rn.current.has(t.startTime));Ks.current&&!r||(Vt.current=null,qt.current&&(window.clearTimeout(qt.current),qt.current=null),requestAnimationFrame(()=>{requestAnimationFrame(()=>{$t.current&&($t.current.style.opacity="0")})}))}if(!Dt.current&&Ln.current&&an.current&&null===Ct.current&&Ie&&Ie>0&&r>0&&Ie<r){Dt.current=!0;const t=tn.current.find(e=>Ie>=e.startTime&&Ie<e.endTime),r=t?t.startTime:Ie;Bt.current=t?{start:t.startTime,end:t.endTime,attempts:0}:null;const n=oe(e,tn.current,rn.current);n&&r>n.endTime?(Ht.current=null,wt.current=r,$t.current&&($t.current.style.opacity="0")):(Ht.current=t?null:Ie,Vt.current=r,u.seek(r),qt.current&&window.clearTimeout(qt.current),qt.current=window.setTimeout(()=>{Vt.current=null,qt.current=null,$t.current&&($t.current.style.opacity="0")},4e3))}if(De?.(e),xn.current.length>0)if(Tn.current){const t=Tn.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&(vn(null),Tn.current=null)}else{const t=xn.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!wn.current.has(t.availId));t&&(vn(t),Tn.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:"no-cors"}).catch(()=>{})}))}const n=u.keyMoments.getCurrentMoment(e);Ni({chapter:n.keyMoment,index:n.index}),T(e,u.getVideoElement().paused)}),u.on("qualitylevels",e=>{fi(e);const t=Mt.current;if(!t)return;const r=null!==t.qualityHeight?e.find(e=>e.height===t.qualityHeight):void 0;r?(u.setQuality(r.id),ki(r)):ki({id:-1,height:0,width:0,bitrate:0,label:"Auto"})}),u.on("qualitychange",e=>{ki(e);const t=Pt.current;null!==t&&(-1!==t.targetId&&t.targetId!==e.id||(t.levelSwitched=!0,u.seek(t.resumeTime),t.wasPlaying?u.play():(Pt.current=null,At.current&&(clearTimeout(At.current),At.current=null),Rr(!1),Dr(!1))))}),u.on("buffering",e=>{if(e)return void Dr(!0);const t=Pt.current;if(null!==t){if(!t.levelSwitched)return;Pt.current=null,At.current&&(clearTimeout(At.current),At.current=null),Rr(!1)}const r=u.getVideoElement();Dr(!!r&&!r.paused&&!r.seeking&&r.currentTime<.05),Nt.current&&(clearTimeout(Nt.current),Nt.current=null),Rt.current=null;const n=Mt.current;if(n&&(Mt.current=null,1!==n.playbackRate&&u.setPlaybackRate(n.playbackRate),u.setVolume(n.volume),u.setMute(n.muted)),null!==Ct.current){const e=Ct.current;Ct.current=null,Dt.current=!0,Vt.current=e,qt.current&&window.clearTimeout(qt.current),qt.current=window.setTimeout(()=>{Vt.current=null,qt.current=null,$t.current&&($t.current.style.opacity="0")},4e3),u.seek(e)}}),u.on("adbreakchange",e=>{if(u.analytics.setAdBreak(e,u.getVideoElement()),k&&k(e),e){const e=u.getCurrentTime(),t=tn.current.find(t=>e>=t.startTime&&e<t.endTime);if(Os.current=!1,Bs(!1),t&&rn.current.has(t.startTime))return y(),void(rt.current||x(t.endTime));t&&(fn.current=t.startTime),Wn(t??null),Hs(!0),Li("none"),T(e,u.getVideoElement().paused),v()}else{const e=fn.current;if(fn.current=null,Wn(null),null!==e){const t=tn.current.find(t=>t.startTime===e);t&&u.getCurrentTime()>=t.endTime-1.5&&(rn.current.add(e),on(new Set(rn.current)))}if(Hs(!1),T(u.getCurrentTime(),u.getVideoElement().paused),null!==wt.current){const e=wt.current;wt.current=null,rt.current=!0,nt.current=e,it.current=u.getCurrentTime(),os.current=0,us.current=performance.now(),vr(e),y(),u.seek(e),st.current&&window.clearTimeout(st.current);const t=gt.current?me:3e3;st.current=window.setTimeout(()=>{rt.current=!1,nt.current=null,it.current=null,st.current=null,v()},t)}}}),u.on("adbreaksloaded",e=>{tn.current=e,e.length>0&&(an.current=!0),en(e),In();const t=Ht.current;if(null===t)return;Ht.current=null;const r=e.find(e=>t>=e.startTime&&t<e.endTime);if(!r||rn.current.has(r.startTime))return;const n=u.getCurrentTime();n<r.startTime||n>=r.endTime||($t.current&&($t.current.style.opacity="1"),Vt.current=r.startTime,qt.current&&window.clearTimeout(qt.current),qt.current=window.setTimeout(()=>{Vt.current=null,qt.current=null,$t.current&&($t.current.style.opacity="0")},4e3),Bt.current={start:r.startTime,end:r.endTime,attempts:0},u.seek(r.startTime))}),u.on("volumechange",e=>{Sr(e.volume),null===kt.current&&Er(e.muted)}),u.on("pipchange",e=>{Xr(e)}),u.on("error",()=>{if(null===Ct.current){const e=u.getCurrentTime();Number.isFinite(e)&&e>0&&(Ct.current=e)}const e=Rt.current;if(!(e&&0!==e.targetIdx&&(Lt.current?.length??0)>1))return"undefined"==typeof navigator||navigator.onLine?void _r().then(e=>{if(!e)return mr(!0),hr(!0),void Dr(!0);$r()}):(hr(!0),void Dr(!0));ia(e.targetIdx)}),u.on("unsupportedcodec",()=>{const e=Rt.current;e&&0!==e.targetIdx&&(Lt.current?.length??0)>1&&ia(e.targetIdx)}),u.subtitles.onSubtitleChange(e=>{yi(e)}),u.on("subtitlesloaded",e=>{if(!lr.enableSubtitles)return;wi(ee([...e]));const t=Mt.current;if(t){const r="off"===t.subtitleId?"off":e.find(e=>e.id===t.subtitleId)?.id??(t.subtitleLang?e.find(e=>e.lang===t.subtitleLang)?.id:void 0);if(r)return u.subtitles.setActiveTrack(r),void xi(r)}const r=e.find(e=>e.isDefault)??e[0];r&&(u.subtitles.setActiveTrack(r.id),xi(r.id))}),u.on("audiotracksloaded",e=>{ji(e);const t=Mt.current,r=t?e.find(e=>t.audioLang&&e.lang===t.audioLang)??e.find(e=>t.audioLabel&&e.label===t.audioLabel):void 0;if(r)return u.setAudioTrack(r.id),void Ci(r.id);Ci(e[0]?.id??0)}),u.on("audiotrackchange",e=>{Ci(e)}),u.casting.onCastStateChange((t,r)=>{if(t)Wi.current=u.isMuted(),u.pause(),u.getVideoElement().muted=!0,ti(r||"Chromecast"),u.casting.syncMedia(e,ts(u),xe,rs(u)),u.analytics.track("cast_start",u.getVideoElement());else{const e=u.casting.getRemoteState(),t=e&&e.currentTime>0?e.currentTime:Xi.current>0?Xi.current:Ki.current>0?Ki.current:null,r=null===t?null:tn.current.find(e=>t>=e.startTime&&t<e.endTime)??null,n=r?t:null!==Qi.current&&Qi.current>0?Qi.current:t,i=ca.current?.target??null;r&&null!==i&&i>r.endTime&&(wt.current=i,jt(i)),ca.current=null;const s=u.getVideoElement();s.muted=Wi.current,si.current=!1,ti(null),ni(null),Ki.current=0,Xi.current=0,es(),null!==n&&n>0&&(rt.current=!0,nt.current=n,it.current=u.getCurrentTime(),u.seek(n),st.current&&window.clearTimeout(st.current),st.current=window.setTimeout(()=>{rt.current=!1,nt.current=null,it.current=null,st.current=null},3e3)),u.play(),u.analytics.track("cast_stop",s,null!==n?{currentTime:n}:{})}}),u.casting.onRemoteStateChange(e=>{if(ni(e),e&&(Xi.current=e.currentTime,e.currentTime>0&&(Ki.current=e.currentTime),null!==Qi.current))if(Math.abs(e.currentTime-Qi.current)<1.5)es();else{const t=Gi.current;(null===t||Math.abs(e.currentTime-t)>=.25)&&(Gi.current=e.currentTime,Ji.current++),(Ji.current>=2||Date.now()-Yi.current>=5e3)&&es()}});const w=window.setInterval(()=>{u.casting.getCastingState().isCasting&&u.casting.checkCastState()},1e3);if(Sr(u.getVolume()),Er(u.isMuted()),"mediaSession"in navigator)try{navigator.mediaSession.setActionHandler("seekto",e=>{if(null==e.seekTime||Ks.current||Os.current)return;if(gt.current)return void Et.current?.(e.seekTime);let t=e.seekTime;for(const r of tn.current)r.startTime<=t&&(t+=r.endTime-r.startTime);Et.current?.(t)});const e=(e,t)=>{if(Ks.current||Os.current)return;const r=t&&t>0?t:10,n=ii.current?Qi.current??Xi.current:u.getCurrentTime();let i=n;for(const s of tn.current)n>=s.endTime?i-=s.endTime-s.startTime:n>=s.startTime&&(i-=n-s.startTime);if(e){const e=tn.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),t=Math.max(0,u.getDuration()-e);let n=Math.min(t,i+r);for(const r of tn.current)n>=r.startTime&&(n+=r.endTime-r.startTime);Et.current?.(n,{eventType:"fast_forward",skipSeconds:r})}else{let e=Math.max(0,i-r);for(const t of tn.current)e>=t.startTime&&(e+=t.endTime-t.startTime);Et.current?.(e,{eventType:"fast_backward",skipSeconds:r})}};navigator.mediaSession.setActionHandler("seekforward",t=>e(!0,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler("seekbackward",t=>e(!1,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler("play",()=>{Ks.current&&!gt.current||u.play()}),navigator.mediaSession.setActionHandler("pause",()=>{Ks.current&&!gt.current||u.pause()})}catch(V){}const S=u.getVideoElement(),j=()=>{Xr("picture-in-picture"===S.webkitPresentationMode)};S.addEventListener("webkitpresentationmodechanged",j);const E=()=>{T(S.currentTime,S.paused)};S.addEventListener("loadedmetadata",E,{once:!0}),S.readyState>=1&&E();let C=null,M=null;const N=()=>{M=null;const e=C;if(C=null,null===e)return;const t=S.currentTime;Math.abs(t-e)<.5||(Ks.current?S.currentTime=e:(S.currentTime=e,Et.current?.(t)))},R=()=>{document.pictureInPictureElement!==S&&"picture-in-picture"!==S.webkitPresentationMode||rt.current||null!==Vt.current||null!==Ct.current||(null===C&&(C=Ut.current),null!==M&&window.clearTimeout(M),M=window.setTimeout(N,220))};if(S.addEventListener("seeking",R),tr.current=u,er(u),lr.enableSubtitles&&!Mt.current){const e=u.subtitles.getActiveTrackId();if("off"!==e)xi(e);else if(s.length>0){const e=s.find(e=>e.isDefault)??s[0];u.subtitles.setActiveTrack(e.id),xi(e.id)}}const P=Rt.current;P&&0!==P.targetIdx&&(Nt.current&&clearTimeout(Nt.current),Nt.current=setTimeout(()=>{Nt.current=null,u.getBufferedRanges().some(e=>e.end>e.start)||ia(P.targetIdx)},1e4)),null!==Ct.current&&(qt.current&&window.clearTimeout(qt.current),qt.current=window.setTimeout(()=>{qt.current=null,Vt.current=null,$t.current&&($t.current.style.opacity="0"),Dr(!1)},12e3));const A=()=>{!zt.current&&_t.current&&(zt.current=!0,requestAnimationFrame(()=>{requestAnimationFrame(()=>{zt.current&&_t.current&&(_t.current.style.opacity="0")})}))};let L=null,I=null;ce?(zt.current=!1,_t.current&&(_t.current.style.opacity="1"),L=()=>{ke?da():We.current?.classList.contains("sdk-fs-safari-prep")||A()},I=()=>{ke||We.current?.classList.contains("sdk-fs-safari-prep")||S.readyState>=2&&A()},S.addEventListener("playing",L,{once:!0}),S.addEventListener("loadeddata",I,{once:!0})):da();const D=()=>{const e=document,t=!(!document.fullscreenElement&&!e.webkitFullscreenElement);if(Vr(t),t||Hr(!1),ce){const e=We.current;null!==Ft.current&&(window.clearTimeout(Ft.current),Ft.current=null),t?Ft.current=window.setTimeout(()=>{Ft.current=null,e?.classList.remove("sdk-fs-safari-prep"),A()},350):(e?.classList.remove("sdk-fs-safari-prep"),A())}const r=u.getVideoElement();u.analytics.track(t?"fullscreen_enter":"fullscreen_exit",r)};document.addEventListener("fullscreenchange",D),document.addEventListener("webkitfullscreenchange",D);const $=u.getVideoElement(),_=()=>{Vr(!0),u.analytics.track("fullscreen_enter",$)},z=()=>{Vr(!1),Hr(!1),u.analytics.track("fullscreen_exit",$)};$.addEventListener("webkitbeginfullscreen",_),$.addEventListener("webkitendfullscreen",z);const F=e=>{const t=document.activeElement;if(!t||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&"true"!==t.getAttribute("contenteditable")&&"slider"!==t.getAttribute("role")){switch(e.key.toLowerCase()){case" ":case"k":if(e.preventDefault(),u.getVideoElement().paused)u.play();else{u.pause();try{const e=u.getVideoElement();e&&!e.paused&&e.pause()}catch(e){}if(Ye.current&&!Ye.current.paused)try{Ye.current.pause()}catch(e){}}break;case"arrowleft":case"j":if(e.preventDefault(),!Ks.current){const e=ii.current?Qi.current??Xi.current:u.getCurrentTime();let t=e;for(const n of tn.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let r=Math.max(0,t-10);for(const n of tn.current)r>=n.startTime&&(r+=n.endTime-n.startTime);Et.current?.(r,{eventType:"fast_backward",skipSeconds:10})}break;case"arrowright":case"l":if(e.preventDefault(),!Ks.current){const e=ii.current?Qi.current??Xi.current:u.getCurrentTime(),t=tn.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=Math.max(0,u.getDuration()-t);let n=e;for(const s of tn.current)e>=s.endTime?n-=s.endTime-s.startTime:e>=s.startTime&&(n-=e-s.startTime);let i=Math.min(r,n+10);for(const s of tn.current)i>=s.startTime&&(i+=s.endTime-s.startTime);Et.current?.(i,{eventType:"fast_forward",skipSeconds:10})}break;case"arrowup":e.preventDefault(),u.setVolume(u.getVolume()+.1);break;case"arrowdown":e.preventDefault(),u.setVolume(u.getVolume()-.1);break;case"m":e.preventDefault(),u.setMute(!u.isMuted());break;case"f":e.preventDefault(),lt.current();break;case"p":e.preventDefault(),Ks.current||u.togglePictureInPicture();break;case"c":if(e.preventDefault(),lr.enableSubtitles&&!Ks.current)if("off"!==u.subtitles.getActiveTrackId())u.subtitles.setActiveTrack("off"),xi("off");else{const e=Js.current;e&&e.length>0&&(u.subtitles.setActiveTrack(e[0].id),xi(e[0].id))}break;default:return}ta()}};return document.addEventListener("keydown",F),ta(),()=>{window.clearInterval(w),hn.current={key:cn,snapshot:u.analytics.getSessionSnapshot()};const e=S;if(Ot.current||document.pictureInPictureElement!==S&&"picture-in-picture"!==e.webkitPresentationMode?u.destroy():(Wt.current=S,u.destroy({releaseVideoElement:!0})),Ke.current?.destroy(),Ke.current=null,document.body.style.overflow="",document.body.style.touchAction="",document.removeEventListener("fullscreenchange",D),document.removeEventListener("webkitfullscreenchange",D),$.removeEventListener("webkitbeginfullscreen",_),$.removeEventListener("webkitendfullscreen",z),document.removeEventListener("keydown",F),Ws.current&&window.clearTimeout(Ws.current),st.current&&(window.clearTimeout(st.current),st.current=null),Nt.current&&(clearTimeout(Nt.current),Nt.current=null),At.current&&(clearTimeout(At.current),At.current=null),Rr(!1),Pt.current=null,bt(),ut.current=!1,ot.current&&(ot.current.style.opacity="0"),Ir(),L&&S.removeEventListener("playing",L),I&&S.removeEventListener("loadeddata",I),null!==Ft.current&&(window.clearTimeout(Ft.current),Ft.current=null),We.current?.classList.remove("sdk-fs-safari-prep"),zt.current=!1,_t.current&&(_t.current.style.opacity="0"),S.removeEventListener("seeking",R),null!==M&&(window.clearTimeout(M),M=null),C=null,S.removeEventListener("webkitpresentationmodechanged",j),"mediaSession"in navigator){try{navigator.mediaSession.setActionHandler("seekto",null)}catch(V){}try{navigator.mediaSession.setActionHandler("seekforward",null)}catch(V){}try{navigator.mediaSession.setActionHandler("seekbackward",null)}catch(V){}try{navigator.mediaSession.setActionHandler("play",null)}catch(V){}try{navigator.mediaSession.setActionHandler("pause",null)}catch(V){}}Ze.current&&(Ze.current.destroy(),Ze.current=null),Ye.current&&(document.body.removeChild(Ye.current),Ye.current=null),Dt.current=!1,Vt.current=null,qt.current&&(window.clearTimeout(qt.current),qt.current=null)}},[e,o,fr]),(0,c.useEffect)(()=>{if(Zt){Zt.keyMoments.setKeyMoments(Ri);const e=We.current?.querySelector("video");if(e){const t=Zt.keyMoments.getCurrentMoment(e.currentTime);Ni({chapter:t.keyMoment,index:t.index})}}},[Oi,Zt]),(0,c.useEffect)(()=>{const e=e=>{"none"!==Ai&&(e.target.closest(".sdk-menu-container")||Li("none"))};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}},[Ai]),(0,c.useEffect)(()=>{at.current=kr},[kr]),(0,c.useEffect)(()=>{Ks.current=qs},[qs]),(0,c.useEffect)(()=>{Os.current=Us},[Us]);const sa=null!==(0,c.useMemo)(()=>{if(!ei||!ri)return null;const e=ri.currentTime;return Zr.find(t=>e>=t.startTime&&e<t.endTime)??null},[ei,ri,Zr]),aa=(0,c.useRef)(!1);(0,c.useEffect)(()=>{aa.current=sa},[sa]);const ca=(0,c.useRef)(null),la=(0,c.useRef)(null),oa=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!ei||!ri||!Zt)return la.current=null,void(oa.current=null);const e=ri.currentTime,t=la.current;if(la.current=e,null===t)return;for(const i of tn.current)t>=i.startTime&&t<i.endTime&&e>=i.endTime&&!rn.current.has(i.startTime)&&(rn.current.add(i.startTime),on(new Set(rn.current)));const r=ca.current;if(r&&e>=r.breakEnd)return ca.current=null,oa.current=null,Zi(r.target),Xi.current=r.target,ni(e=>e?{...e,currentTime:r.target}:e),void Zt.casting.remoteSeek(r.target);const n=tn.current.find(t=>e>=t.startTime&&e<t.endTime&&rn.current.has(t.startTime));if(n){if(oa.current!==n.startTime){oa.current=n.startTime;const e=n.endTime+.5;Zi(e),Xi.current=e,ni(t=>t?{...t,currentTime:e}:t),Zt.casting.remoteSeek(e)}}else oa.current=null},[ei,ri,Zt]),(0,c.useEffect)(()=>{ei||(ca.current=null,oa.current=null,es())},[ei]),(0,c.useEffect)(()=>{if(!Zt||!ei)return void(si.current=!1);si.current=!0;const e=Zt.getVideoElement?.();if(!e)return;const t=()=>{si.current&&!e.paused&&e.pause()};return t(),e.addEventListener("play",t),()=>{e.removeEventListener("play",t),si.current=!1}},[Zt,ei]);const ua=qs||Us||sa;(0,c.useEffect)(()=>{Ot.current=Qr},[Qr]),(0,c.useEffect)(()=>{Qs.current=Ai},[Ai]),(0,c.useEffect)(()=>{if(!qs||!Zt)return;let e=0,t=Zt.getCurrentTime(),r=performance.now();const n=()=>{const i=Zt.getVideoElement?.(),s=Zt.getCurrentTime(),a=performance.now();let c;if(s!==t)t=s,r=a,c=s;else if(!i||i.paused||i.ended)c=t;else{const e=i.playbackRate||1;c=t+(a-r)/1e3*e}const l=Zn(s);if(l){const e=Math.min(c,s+.4,l.end),t=Math.min(100,Math.max(0,(e-l.start)/(l.end-l.start)*100));(We.current?.querySelectorAll(".sdk-ad-progress-fill"))?.forEach(e=>{e.style.width=`${t}%`})}e=requestAnimationFrame(n)};return e=requestAnimationFrame(n),()=>cancelAnimationFrame(e)},[qs,Zt]),(0,c.useEffect)(()=>{Js.current=Ti},[Ti]),(0,c.useEffect)(()=>{Qt.current=Kt},[Kt]),(0,c.useEffect)(()=>{tn.current=Zr},[Zr]),(0,c.useEffect)(()=>{xn.current=kn},[kn]),(0,c.useEffect)(()=>{Tn.current=yn},[yn]),(0,c.useEffect)(()=>{En.current=Sn},[Sn]),(0,c.useEffect)(()=>{Yn.current=yr},[yr]),(0,c.useEffect)(()=>{Lt.current=Pe},[Pe]),(0,c.useEffect)(()=>{const e=Hn.current;if(!qs||!e||"undefined"==typeof ResizeObserver)return;const t=()=>{const t=e.getBoundingClientRect();Bn(e=>e.w===t.width&&e.h===t.height?e:{w:t.width,h:t.height})};t();const r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[qs,Sn]),(0,c.useEffect)(()=>{It.current=Le},[Le]),(0,c.useEffect)(()=>{fn.current=null,Wn(null),bn.current=!1,wt.current=null,jt(null),Ht.current=null,vn(null),Tn.current=null,wn.current=new Set,ur(!1),hr(!1)},[e]),(0,c.useEffect)(()=>{nr(!1)},[e]),(0,c.useEffect)(()=>{Zt&&ei&&e&&Zt.casting.syncMedia(e,ts(Zt),xe,rs(Zt))},[Zt,ei,e,xe]),(0,c.useEffect)(()=>{if(!Zt||!ei)return;if(vi&&"off"!==vi){const e=Ti.find(e=>e.id===vi);Zt.casting.remoteSetSubtitle({id:vi,language:e?.lang,label:e?.label})}const e=Si.find(e=>e.id===Ei);e&&0!==Ei&&Zt.casting.remoteSetAudioTrack({language:e.lang,label:e.label}),1!==Ii&&Zt.casting.remoteSetPlaybackRate(Ii)},[Zt,ei]),(0,c.useEffect)(()=>{ei&&($t.current&&($t.current.style.opacity="0"),Vt.current=null,Dr(!1))},[ei,e,Zt]),(0,c.useEffect)(()=>{qn(!1),Nn.current=!1,Mn(!1),Ln.current=!1,An(!1),Zs.current=!1},[e]),(0,c.useEffect)(()=>{if(!Zt)return;const e=Zt.getVideoElement();if(e&&e.readyState>=1)return void nr(!0);const t=()=>nr(!0);return Zt.on("qualitylevels",t),e?.addEventListener("loadedmetadata",t),()=>{Zt.off("qualitylevels",t),e?.removeEventListener("loadedmetadata",t)}},[Zt]),(0,c.useEffect)(()=>{if(!Zt)return;const e=Zt.getVideoElement(),t=()=>{qn(!0);const e=Zt.getDuration();Number.isFinite(e)&&e>0&&Tr(e)};return e&&e.readyState>=1&&t(),e?.addEventListener("loadedmetadata",t),e?.addEventListener("durationchange",t),()=>{e?.removeEventListener("loadedmetadata",t),e?.removeEventListener("durationchange",t)}},[Zt,e]),(0,c.useEffect)(()=>{Vn&&Cn&&In()},[Vn,Cn,In]),(0,c.useEffect)(()=>{const e=window.setTimeout(In,1e4);return()=>window.clearTimeout(e)},[e,In]),(0,c.useEffect)(()=>{an.current=nn},[nn]),(0,c.useEffect)(()=>{sn(!1),an.current=!1;const e=()=>{an.current=!0,sn(!0)},t=Re?null:e;t&&(Zt?.hasAdBreakDiscoverySettled()?e():Zt?.on("adbreakdiscoverysettled",t));const r=window.setTimeout(e,1e4);return()=>{window.clearTimeout(r),t&&Zt?.off("adbreakdiscoverysettled",t)}},[Re,e,Zt]),(0,c.useEffect)(()=>{Zr.length>0&&(an.current=!0,sn(!0))},[Zr]),(0,c.useEffect)(()=>{if(gn([]),Ne&&rr)return pe(Ne,e=>{const t=new Set,r=[];for(const i of e.nonLinearAvails??[]){if(t.has(i.availId))continue;t.add(i.availId);const e=i.nonLinearAdsList?.[0],s=e?.nonLinearAdList?.[0];if(!s?.staticResource)continue;const a=(e?.trackingEvents??[]).filter(e=>"impression"===e.eventType).flatMap(e=>e.beaconUrls??[]);let c={};try{c=JSON.parse(s.adParameters??"{}")}catch(n){}const l=c.position??"bottom_center";r.push({availId:i.availId,startTimeSeconds:te(i.startTime??""),durationSeconds:te(s.minSuggestedDuration??"00:00:15"),imageUrl:s.staticResource,imageWidth:parseInt(s.width??"320",10),imageHeight:parseInt(s.height??"50",10),title:s.adTitle??"",clickThrough:re(s.clickThrough)?s.clickThrough:"",clickTrackingUrl:s.clickTracking??"",impressionBeacons:a,position:l,dismissible:!0===c.dismissible})}return r.length>0?r:null},gn)},[Ne,e,rr]),(0,c.useEffect)(()=>{jn([]),Xn([]),Gn.current=0},[e]),(0,c.useEffect)(()=>{if(!Re)return void Rn();const e=window.setTimeout(Rn,2500);return()=>window.clearTimeout(e)},[Re,e,Rn]),(0,c.useEffect)(()=>{if(Re)return pe(Re,e=>{const t=[],r=[];for(const n of e.avails??[]){const e=n.ads??[];if(0===e.length)continue;const i=n.startTimeInSeconds??e[0].startTimeInSeconds??0,s=e[e.length-1],a=(s?.startTimeInSeconds??i)+(s?.durationInSeconds??0);r.push({startTime:i,endTime:null!=n.durationInSeconds?i+n.durationInSeconds:Math.max(a,i)}),e.forEach((r,n)=>{const i=ne(r?.skipOffset),s=null!==i;let a={};try{a=JSON.parse(r?.adParameters??"{}")}catch(d){}const c=(r?.trackingEvents??[]).filter(e=>"clickTracking"===e.eventType).flatMap(e=>e.beaconUrls??[]),l=a.ctaText&&re(a.redirectUrl)?{text:a.ctaText,url:a.redirectUrl,title:a.title||void 0,description:a.description||void 0,clickTrackingBeacons:c}:null,o=r.startTimeInSeconds??0,u=r.durationInSeconds??0;t.push({startTimeSeconds:o,endTimeSeconds:o+u,durationSeconds:u,skippable:s,skipOffsetSeconds:i??0,cta:l,podIndex:n,podTotal:e.length})})}return t.length>0?{pods:t,breaks:r}:null},({pods:e,breaks:t})=>{jn(e),Xn(t)},!0,Rn)},[Re,e,Qn,Rn]),(0,c.useEffect)(()=>{if(!Re||!qs)return;const e=setInterval(()=>{const e=Yn.current;En.current.some(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds)||Gn.current>=8||(Gn.current+=1,Jn(e=>e+1))},700);return()=>clearInterval(e)},[Re,qs]),(0,c.useEffect)(()=>{Zt&&0!==Kn.length&&(Zt.setAdBreaks(Kn),Rn())},[Zt,Kn,Rn]),(0,c.useEffect)(()=>{Zt&&Zt.setRetiredAdBreaks([...ln])},[Zt,ln]),(0,c.useEffect)(()=>{if(!Re||Sn.length>0)return void $n(!0);$n(!1);const e=window.setTimeout(()=>$n(!0),3e3);return()=>window.clearTimeout(e)},[Re,e,Sn]),(0,c.useEffect)(()=>{_n.current=!1,Fn(!1)},[e,fr]),(0,c.useEffect)(()=>{Zt&&t&&Dn&&!_n.current&&(ei||(_n.current=!0,Zt.play()))},[Zt,t,Dn,ei]),(0,c.useEffect)(()=>{if(!Zt)return;const e=Zt.getVideoElement();if(!e)return;let t=e.currentTime;const r=window.setInterval(()=>{if(!Pr.current)return void(t=e.currentTime);if(null!==Rt.current||null!==Ct.current||null!==Pt.current)return;const r=e.currentTime,n=r>t+.01;t=r;const i=!gt.current&&e.seeking;!n||e.paused||i||Dr(!1)},350);return()=>window.clearInterval(r)},[Zt,Dr]),(0,c.useEffect)(()=>{Zt&&zn&&Dn&&(Fn(!1),_n.current=!0,Dr(!0),Zt.play())},[Zt,zn,Dn,Dr]),(0,c.useEffect)(()=>{if(!Zt)return;const e=()=>{document.hidden?Ee&&Ks.current&&at.current&&(Zt.pause(),bn.current=!0):bn.current&&(Zt.play(),bn.current=!1)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[Zt,Ee]);const da=()=>{if(!ke||Xe.current||!We.current)return;if((()=>{const e=tr.current?.getVideoElement?.();return!!e&&(document.pictureInPictureElement===e||"picture-in-picture"===e.webkitPresentationMode)})())return;Xe.current=!0;const e=We.current,t=e,r=e.requestFullscreen?.bind(e)??t.webkitRequestFullscreen?.bind(t);if(r){const t=()=>{r().catch(()=>{Xe.current=!1,e.classList.remove("sdk-fs-safari-prep"),_t.current&&(zt.current=!0,_t.current.style.opacity="0")})};return void(ce?(zt.current=!1,_t.current&&(_t.current.style.opacity="1"),e.classList.add("sdk-fs-safari-prep"),document.body.style.overflow="hidden",requestAnimationFrame(t)):t())}Hr(!0),Vr(!0),document.body.style.overflow="hidden",document.body.style.touchAction="none",Zt?.analytics.track("fullscreen_enter",Zt.getVideoElement())},ma=()=>{if(!Zt)return;const e=Zt.getVideoElement(),t=(Ct.current??Ie??e?.currentTime??0)<1&&(e?.currentTime??0)<1;if(t&&!Dn&&Re)return Fn(!0),void Dr(!0);_n.current=!0,t&&Dr(!0),Zt.play()},pa=()=>{if(Zt){if(ei)return Zt.casting.remotePlayPause(),void ta();if(zn)return Fn(!1),_n.current=!0,Dr(!1),void ta();if(Gr)fa(0),da(),ma(),Yr(!1);else if(kr){Zt.pause();try{const e=Zt.getVideoElement?.();e&&!e.paused&&e.pause()}catch(e){}if(We.current&&We.current.querySelectorAll("video").forEach(t=>{try{t.pause()}catch(e){}}),Ye.current&&!Ye.current.paused)try{Ye.current.pause()}catch(e){}}else da(),ma();ta()}},ha=e=>{if(!Zt||ua)return;tt.current=!0,js((e=>{if(!Qe.current||!Zt||0===oi)return 0;const t=Qe.current.getBoundingClientRect();return di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi)})(e));const t=e=>{if(!tt.current||!Qe.current)return;const t=Qe.current.getBoundingClientRect(),r=di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi),n=e.clientX-t.left,i=pi(n,t.width);xs.current=i,js(r),ms(n),bs(r),i?(gs(null),vs(null)):!Es&&Ye.current&&(Ye.current.currentTime=r),ta()},r=e=>{if(tt.current=!1,Qe.current){const t=Qe.current.getBoundingClientRect();fa(di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi))}js(null),ms(null),gs(null),vs(null),document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",t),document.addEventListener("mouseup",r)},fa=(e,t)=>{if(!Zt)return;if(aa.current)return;if(Ht.current=null,Bt.current=null,ei){const t=Qi.current??Xi.current;if(e>t&&tn.current.length>0){const r=tn.current.filter(r=>r.startTime<e&&r.endTime>t&&!rn.current.has(r.startTime)).sort((e,t)=>e.startTime-t.startTime);if(r.length>0){const n=r[r.length-1];ca.current={target:e,breakEnd:n.endTime};const i=Math.max(n.startTime,t);return Zi(i),Xi.current=i,ni(e=>e?{...e,currentTime:i}:e),void Zt.casting.remoteSeek(i)}}ca.current=null;const r=tn.current.find(t=>rn.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime+2),n=r?Math.max(e,r.endTime+.5):e;return Zi(n),Xi.current=n,ni(e=>e?{...e,currentTime:n}:e),void Zt.casting.remoteSeek(n)}const r=Math.max(0,xr>0?Math.min(e,xr):e);if(t){const{eventType:e,...r}=t;Zt.attributeNextSeek(e,r)}const n=Zt.getCurrentTime();if(r>n&&tn.current.length>0){const e=tn.current.filter(e=>e.startTime<r&&e.endTime>n&&!rn.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){wt.current=r,jt(r);const t=e[e.length-1],i=t.startTime;Bt.current={start:t.startTime,end:t.endTime,attempts:0},rt.current=!0,nt.current=i,it.current=n,os.current=0,us.current=performance.now(),vr(i),Os.current=!0,Bs(!0);const s=mt(Zt.getVideoElement());pt.current=s,bt(),ot.current&&s&&(ot.current.style.transition="none",ot.current.style.opacity="1"),yt(Zt.getVideoElement()),Zt.seek(i),st.current&&window.clearTimeout(st.current);const a=gt.current?me:3e3;return void(st.current=window.setTimeout(()=>{rt.current=!1,Os.current=!1,Bs(!1),nt.current=null,it.current=null,st.current=null,bt(),ut.current=!1,ot.current&&(ot.current.style.opacity="0"),vt(Zt.getVideoElement())},a))}}wt.current=null,jt(null);const i=tn.current.find(e=>rn.current.has(e.startTime)&&r>=e.startTime-.5&&r<e.endTime+2);if(i&&r<i.endTime&&xt.current)return void xt.current(i.endTime);const s=i?Math.max(r,i.endTime+.5):r;rt.current=!0,nt.current=s,it.current=n,os.current=0,us.current=performance.now(),vr(s),bt(),ut.current=!1,ot.current&&(ot.current.style.opacity="0"),vt(Zt.getVideoElement()),Zt.seek(s),st.current&&window.clearTimeout(st.current);const a=gt.current?me:3e3;st.current=window.setTimeout(()=>{rt.current=!1,nt.current=null,it.current=null,st.current=null,bt(),ut.current=!1,ot.current&&(ot.current.style.opacity="0")},a)};Et.current=fa;const ba=()=>rt.current&&null!==nt.current?nt.current:ii.current?Qi.current??Xi.current:gt.current&&Zt?Zt.getCurrentTime():yr,ka=(e,t)=>{const r=ba();fa(di(Math.max(0,Math.min(oi,ui(r)+e))),{eventType:t,skipSeconds:Math.abs(e)})},ga=()=>{if(!Zt)return;if(ei)return void Zt.casting.remoteSetMute(!ri?.isMuted);const e=!jr;Zt.setMute(e),Er(e)},ya=e=>{Zt&&(Zt.setPlaybackRate(e),Di(e),ei&&Zt.casting.remoteSetPlaybackRate(e),Li("none"),qi("Playback speed: "+(1===e?"Normal":`${e}x`)))},va=e=>{Zt?.setAudioTrack(e.id),Ci(e.id),Li("none"),qi(`Audio: ${Z(e)}`),ei&&Zt?.casting.remoteSetAudioTrack({language:e.lang,label:e.label})},xa=e=>{if(!Zt)return;if(bi.id===e)return void Li("none");At.current&&(clearTimeout(At.current),At.current=null);const t=Zt.getCurrentTime(),r=!Zt.getVideoElement().paused;Zt.pause(),Pt.current={targetId:e,levelSwitched:!1,resumeTime:t,wasPlaying:r},Rr(!0),Dr(!0),Zt.setQuality(e);const n=hi.find(t=>t.id===e);n&&qi(`Quality: ${n.label}`),Li("none"),At.current=setTimeout(()=>{At.current=null;const e=Pt.current;null!==e&&(Pt.current=null,Zt.seek(e.resumeTime),e.wasPlaying&&Zt.play(),Rr(!1),Dr(!1))},8e3)},Ta=e=>{if(Zt){if(Zt.subtitles.setActiveTrack(e),xi(e),Li("none"),ei){const t="off"===e?null:Ti.find(t=>t.id===e);Zt.casting.remoteSetSubtitle("off"===e?null:{id:e,language:t?.lang,label:t?.label})}if("off"===e)qi("Captions off");else{const t=Ti.find(t=>t.id===e);qi(`Captions: ${t?Z(t):"on"}`)}}},wa=e=>{if(Zt){if(Nt.current&&(clearTimeout(Nt.current),Nt.current=null),Ui(null),ei||($t.current&&($t.current.style.opacity="1"),Dr(!0)),null===Rt.current){Ct.current=ei?ri?.currentTime??Zt.getCurrentTime():Zt.getCurrentTime();const e=Ti.find(e=>e.id===vi),t=Si.find(e=>e.id===Ei);Mt.current={playbackRate:Ii,volume:wr,muted:jr,subtitleId:vi,subtitleLang:e?.lang??null,audioLang:t&&0!==Ei?t.lang:null,audioLabel:t&&0!==Ei?t.label:null,qualityHeight:-1!==bi.id?bi.height:null}}Rt.current={targetIdx:e},Li("none"),qi(`Source: ${Pe?.[e]?.label??""}`),Le?.(e)}},Sa=(e,t)=>{fa(e,{eventType:"key_moments",momentTitle:t?.title??"",momentTime:e}),Li("none")},ja=(0,c.useCallback)(()=>{if(!Ot.current)return;const e=tr.current?.getVideoElement?.();e&&We.current&&e.ownerDocument!==document&&(e.classList.remove("gb-pip-video"),e.style.objectFit="",We.current.insertBefore(e,We.current.firstChild)),Ot.current=null,Jr(null),Xr(!1),tr.current?.notifyPipToggle?.(!1)},[]);(0,c.useEffect)(()=>()=>{const e=Ot.current;Ot.current=null,e?.close(),(e=>{if(!e)return;const t=e;try{"picture-in-picture"===t.webkitPresentationMode?t.webkitSetPresentationMode("inline"):"undefined"!=typeof document&&document.pictureInPictureElement===e&&document.exitPictureInPicture?.().catch(()=>{})}catch(r){}try{e.pause()}catch(r){}e.removeAttribute("src");try{e.load()}catch(r){}e.parentElement?.removeChild(e)})(Wt.current),Wt.current=null},[]);const Ea=async()=>{if(!Zt||!Zt.getVideoElement?.()?.isConnected)return;const e=window.documentPictureInPicture;if(e)if(Ot.current)Ot.current.close();else try{const t=Zt.getVideoElement(),r=t.videoWidth&&t.videoHeight?t.videoWidth/t.videoHeight:16/9,n=360,i=await e.requestWindow({width:n,height:Math.round(n/r)}),s=i.document.createElement("style");s.textContent="\n html, body { margin: 0; padding: 0; height: 100%; background: #000; overflow: hidden; }\n * { box-sizing: border-box; }\n .gb-pip-video { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; }\n .gb-pip-overlay {\n position: absolute; inset: 0; z-index: 2;\n display: flex; flex-direction: column; justify-content: space-between;\n font-family: system-ui, -apple-system, sans-serif; color: #fff;\n opacity: 0; transition: opacity 0.15s ease;\n background: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 65%, rgba(0,0,0,0.55) 100%);\n }\n .gb-pip-overlay:hover, .gb-pip-overlay.gb-pip-paused { opacity: 1; }\n .gb-pip-center {\n flex: 1; display: flex; align-items: center; justify-content: center; gap: 28px;\n }\n .gb-pip-btn {\n background: rgba(0,0,0,0.35); border: none; color: #fff; border-radius: 50%;\n width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;\n cursor: pointer; padding: 0;\n }\n .gb-pip-btn:hover { background: rgba(0,0,0,0.55); }\n .gb-pip-btn.gb-pip-play { width: 56px; height: 56px; }\n .gb-pip-bottom { padding: 6px 10px 8px; display: flex; flex-direction: column; gap: 4px; }\n .gb-pip-progress { position: relative; height: 4px; border-radius: 2px; background: rgba(255,255,255,0.3); cursor: pointer; }\n .gb-pip-progress-fill { position: absolute; inset: 0; width: 0%; border-radius: 2px; background: #fff; }\n .gb-pip-time { font-size: 11px; font-variant-numeric: tabular-nums; opacity: 0.9; }\n",i.document.head.appendChild(s),t.classList.add("gb-pip-video"),i.document.body.appendChild(t),i.addEventListener("pagehide",()=>ja(),{once:!0}),Ot.current=i,Jr(i),Xr(!0),Zt.notifyPipToggle?.(!0)}catch(t){}else Zt.togglePictureInPicture()},Ca=e=>{if(ua||!nn)return;const t=e.currentTarget.getBoundingClientRect();fa(di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi))},Ma=e=>{if(ua||!nn)return;const t=e.currentTarget,r=Ot.current?.document??t.ownerDocument;tt.current=!0;let n=e.clientX,i=!1;const s=e=>{const r=t.getBoundingClientRect();return di(Math.max(0,Math.min(1,(e-r.left)/r.width))*oi)},a=e=>{tt.current&&(n=e.clientX,i||(i=!0,requestAnimationFrame(()=>{i=!1,tt.current&&fa(s(n))})))},c=e=>{tt.current=!1,fa(s(e.clientX)),r.removeEventListener("mousemove",a),r.removeEventListener("mouseup",c)};r.addEventListener("mousemove",a),r.addEventListener("mouseup",c)},Na=()=>{if(!We.current)return;const e=We.current,t=document,r=e,n=e.querySelector("video"),i=!!n?.webkitDisplayingFullscreen,s=!(!document.fullscreenElement&&!t.webkitFullscreenElement),a=()=>{e.classList.remove("sdk-fs-safari-prep"),_t.current&&(zt.current=!0,_t.current.style.opacity="0"),Hr(!0),Vr(!0),document.body.style.overflow="hidden",document.body.style.touchAction="none",Zt?.analytics.track("fullscreen_enter",Zt.getVideoElement())};if(s||qr||i)Br(!1),e.classList.remove("sdk-fs-safari-prep"),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():i?n.webkitExitFullscreen():(Hr(!1),Vr(!1),document.body.style.overflow="",document.body.style.touchAction="",Zt?.analytics.track("fullscreen_exit",Zt.getVideoElement()));else{Br(Qt.current);const t=e.requestFullscreen?.bind(e)??r.webkitRequestFullscreen?.bind(r);if(t){const r=()=>{t().catch(a)};ce?(zt.current=!1,_t.current&&(_t.current.style.opacity="1"),e.classList.add("sdk-fs-safari-prep"),document.body.style.overflow="hidden",requestAnimationFrame(r)):r()}else a()}};(0,c.useEffect)(()=>{lt.current=Na});const Ra=()=>{if(!qs)return;const e=Zr.find(e=>yr>=e.startTime&&yr<e.endTime),t=Sn.find(e=>yr>=e.startTimeSeconds&&yr<e.endTimeSeconds);if(t){const r=t.podIndex>=t.podTotal-1;return void xt.current?.(r?e?.endTime??t.endTimeSeconds:t.endTimeSeconds,!r)}e&&xt.current?.(e.endTime)},Pa=ei?ri?.currentTime??yr:yr,Aa=ui(Pa),La=ue(Pa,Zr,le),Ia=(0,c.useMemo)(()=>B($e,_e,ze),[$e,_e,ze]),[Da,$a]=(0,c.useState)([]);(0,c.useEffect)(()=>{$a(e=>{if(0===e.length)return e;const t=e.filter(e=>{const t=Ia.find(t=>t.id===e);return null!=t&&Aa>=t.start-2});return t.length===e.length?e:t})},[Aa,Ia]);const _a=or||!Pn||!nn||qs||Us||sa||La?null:Ia.find(e=>!Da.includes(e.id)&&Aa>=e.start&&Aa<e.end-.5)??null,[za,Fa]=(0,c.useState)(!1),[Va,qa]=(0,c.useState)(0),Ha=(0,c.useRef)(!1),Ua=(0,c.useRef)(null),Ba=(0,c.useRef)(!1),Oa=(0,c.useCallback)(()=>{if(!Ba.current){if(Ba.current=!0,null!=Ua.current&&(window.clearTimeout(Ua.current),Ua.current=null),Fa(!1),De?.(Yn.current),Zt)try{Zt.pause()}catch(e){}Pr.current=!0,null!==Ar.current&&(window.clearTimeout(Ar.current),Ar.current=null),Mr(!0),He?.()}},[He,De,Zt]);(0,c.useEffect)(()=>{Ba.current=!1},[e,Ae]),(0,c.useEffect)(()=>{if(or||qs||Us||!Fe||!Ve||Ve<=0)return Fa(!1),qa(0),Ha.current=!1,void(null!=Ua.current&&window.clearTimeout(Ua.current));li>0&&Aa>=Ve&&!Ha.current&&(Fa(!0),qa(0),Ha.current=!0,Ua.current=window.setTimeout(()=>{Oa()},1e3*Ue)),Aa<Ve&&Ha.current&&(Fa(!1),qa(0),Ha.current=!1,null!=Ua.current&&window.clearTimeout(Ua.current))},[Aa,li,Ve,Fe,Oa,Ue,or,cr,qs,Us]),(0,c.useEffect)(()=>{if(!za)return;qa(0);const e=Math.max(100,1e3*Ue),t=Date.now();let r;const n=()=>{const i=Date.now()-t,s=Math.min(1,i/e);qa(s),s<1&&(r=window.setTimeout(n,100))};return n(),()=>{null!=r&&window.clearTimeout(r)}},[za,Ue]),(0,c.useEffect)(()=>()=>{null!=Ua.current&&window.clearTimeout(Ua.current)},[]);const Wa=()=>{Zt&&(ei?Zt.casting.stopCasting():Zt.casting.requestSession(e,ts(Zt),xe,rs(Zt)))},Ka=()=>{if(!Zt)return;const e=Zt.getVideoElement();ss?Zt.casting.stopAirPlay(e):("function"==typeof e.webkitShowPlaybackTargetPicker||Zt.casting.isAirPlayAvailable())&&Zt.casting.requestAirPlaySession(e)},Xa=e=>{if(!Qe.current||0===oi||!Zt||ua)return;const t=Qe.current.getBoundingClientRect();Je.current=t.width;const r=e.clientX-t.left,n=pi(r,t.width);xs.current=n,hs(Math.max(96,Math.min(r,t.width-96)));const i=di(Math.max(0,Math.min(1,r/t.width))*oi);if(ms(r),bs(i),et.current&&window.clearTimeout(et.current),n)return gs(null),void vs(null);Es||(et.current=window.setTimeout(()=>{Ye.current&&(Ye.current.currentTime=i)},100)),vs(Zt.keyMoments.getCurrentMoment(i).keyMoment)},Qa=e=>{if(!Zt||ua||0===oi)return;e.preventDefault(),tt.current=!0,js((e=>{if(!Qe.current||0===oi)return 0;const t=Qe.current.getBoundingClientRect();return di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi)})(e.touches[0]));const t=e=>{if(!tt.current||!Qe.current)return;const t=e.touches[0],r=Qe.current.getBoundingClientRect(),n=di(Math.max(0,Math.min(1,(t.clientX-r.left)/r.width))*oi);js(n),bs(n),ta()},r=e=>{if(tt.current=!1,Qe.current&&e.changedTouches[0]){const t=e.changedTouches[0],r=Qe.current.getBoundingClientRect();fa(di(Math.max(0,Math.min(1,(t.clientX-r.left)/r.width))*oi))}js(null),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",r)};document.addEventListener("touchmove",t,{passive:!1}),document.addEventListener("touchend",r)},Ja=()=>{xs.current=!1,ms(null),gs(null),vs(null),et.current&&window.clearTimeout(et.current)},Ga=e=>{if(isNaN(e)||e<0)return"00:00";const t=Math.floor(e),r=Math.floor(t/3600),n=Math.floor(t%3600/60),i=t%60,s=e=>String(e).padStart(2,"0");return r>0?`${s(r)}:${s(n)}:${s(i)}`:`${s(n)}:${s(i)}`};(0,c.useEffect)(()=>{Bi.current&&qi(kr?"Playing":"Paused")},[kr]),(0,c.useEffect)(()=>{Bi.current&&qi(jr?"Muted":"Unmuted")},[jr]),(0,c.useEffect)(()=>{Bi.current=!0},[]),(0,c.useEffect)(()=>{const e=e=>{"Escape"===e.key&&"none"!==Qs.current&&(e.preventDefault(),Li("none"))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);const Ya=ei?!(ri?.isPaused??1):kr||zn,Za=ei?ri?.currentTime??0:yr,ec=null!==Ss?Ss:St??yr,tc=ei?oi>0?oi:ui(ri?.duration??0):oi,rc=ui(ei?Za:ec),nc=ei?ri?.volumeLevel??1:wr,ic=ei?ri?.isMuted??!1:jr,sc=(0,c.useCallback)(e=>{if(ua)return;if(e.target.closest('button, a, input, select, textarea, [role="button"], [role="slider"], [role="menu"], [role="listbox"], [role="menuitem"], .sdk-dropdown-menu, .sdk-seekbar-container, .sdk-mobile-chapters-scroll'))return;if(Date.now()-Gs.current<400)return;const t=Date.now(),r=We.current?.getBoundingClientRect(),n=e.clientX-(r?.left??0),i=Jt.current;if(i&&t-i.time<300){Jt.current=null;const e=n<(r?.width??0)/2,t=ba();fa(di(Math.max(0,Math.min(oi,ui(t)+(e?-10:10)))),{eventType:e?"fast_backward":"fast_forward",skipSeconds:10}),Yt(e?"left":"right"),window.setTimeout(()=>Yt(null),700),ta()}else Jt.current={time:t,x:n},Fs?(Vs(!1),Ws.current&&window.clearTimeout(Ws.current)):ta()},[ua,oi,ui,di,fa,Fs,ba]),ac=()=>ic||0===nc?(0,d.jsx)(V,{size:18}):nc<.3?(0,d.jsx)(q,{size:18}):nc<.7?(0,d.jsx)(z,{size:18}):(0,d.jsx)(F,{size:18}),cc=e=>t=>{"Enter"===t.key||" "===t.key?(t.preventDefault(),e()):"Escape"===t.key&&(t.preventDefault(),Li("none"))},lc=e=>t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e())},oc=e=>{if(!ua)if("ArrowLeft"===e.key||"ArrowRight"===e.key){e.preventDefault();const t="ArrowLeft"===e.key?-5:5;fa(di(Math.max(0,Math.min(oi,ui(ba())+t))))}else"Home"===e.key?(e.preventDefault(),fa(di(0))):"End"===e.key&&(e.preventDefault(),fa(di(oi)))},uc=e=>{Li(Ai===e?"none":e)},dc=(0,c.useCallback)(e=>{if(!e)return;e.style.left="";const t=We.current;if(!t)return;const r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=r.right-(n.right-8),s=n.left+8-r.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:s>0&&(e.style.left=`calc(50% + ${Math.ceil(s)}px)`)},[]);return(0,d.jsxs)("div",{ref:We,role:"region","aria-label":$s?`${$s} video player`:"Video player",className:`sdk-player-container ${Fs?"controls-active":""} ${qr?"sdk-fs-simulated":""}`,onMouseMove:()=>{Wr.current||(Ys.current=!0,ta())},onTouchStart:Or?()=>{Fs||ta()}:ta,onMouseLeave:()=>{Ys.current=!1,!Wr.current&&at.current&&"none"===Qs.current&&null===Ws.current&&Vs(!1)},style:{border:qr?"none":"1px solid rgba(255, 255, 255, 0.08)","--sdk-theme-color":m,"--sdk-theme-color-rgb":J(m)},children:[(0,d.jsx)("canvas",{ref:Ge,width:160,height:90,style:{display:"none",position:"absolute",pointerEvents:"none"},"aria-hidden":"true"}),(0,d.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sdk-sr-only",children:Vi}),(0,d.jsx)("div",{ref:ot,style:{opacity:0,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true",children:(0,d.jsx)("canvas",{ref:dt,className:"sdk-ad-cover-frame",style:{width:"100%",height:"100%",objectFit:"contain",display:"block"},"aria-hidden":"true"})}),Qr&&(0,d.jsxs)("div",{className:"sdk-pip-placeholder","aria-hidden":"true",children:[(0,d.jsx)(L,{size:32,"aria-hidden":"true"}),(0,d.jsx)("span",{children:"Playing in Picture-in-Picture"})]}),ce&&(0,d.jsx)("div",{ref:_t,style:{opacity:1,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true"}),(0,d.jsx)("div",{ref:$t,style:{opacity:Ie&&Ie>0?1:0,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true"}),(0,d.jsx)("div",{className:`sdk-spinner-overlay ${Cr?"active":""}${Nr?" sdk-spinner-overlay--video-only":""}`,"aria-hidden":"true",children:(0,d.jsx)("div",{className:"sdk-spinner"})}),or&&(0,d.jsx)("div",{className:"sdk-error-overlay",style:{position:"absolute",inset:0,zIndex:50,background:"rgba(9,9,14,0.96)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:20,padding:"0 24px"},children:(0,d.jsx)(H,{offline:dr,onRetry:zr})}),Hi&&(0,d.jsx)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, calc(-50% + 70px))",background:"rgba(0,0,0,0.82)",color:"#fff",fontSize:13,fontWeight:500,padding:"8px 16px",borderRadius:8,zIndex:102,pointerEvents:"none",maxWidth:"85%",textAlign:"center",backdropFilter:"blur(8px)",border:"1px solid rgba(255,255,255,0.12)"},children:Hi}),lr.enableSubtitles&&!qs&&gi&&"off"!==vi&&(0,d.jsx)("div",{className:"sdk-subtitles-overlay",children:(0,d.jsx)("span",{className:"sdk-subtitles-text",style:{fontSize:"small"===ye.size?"14px":"large"===ye.size?"24px":"18px",color:ye.color??"#ffffff",background:"solid"===ye.background?"rgba(0, 0, 0, 0.92)":"dim"===ye.background?"rgba(0, 0, 0, 0.55)":"transparent",border:"none",backdropFilter:"none",boxShadow:"none",padding:"solid"===ye.background||"dim"===ye.background?"8px 16px":"0",borderRadius:"solid"===ye.background||"dim"===ye.background?"8px":"0"},dangerouslySetInnerHTML:{__html:gi.split("\n").map(e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")).join("<br>")}})}),yn&&(0,d.jsxs)("div",{className:`sdk-overlay-ad sdk-overlay-ad--${yn.position}`,role:"complementary","aria-label":"Advertisement",children:[(0,d.jsxs)("div",{className:"sdk-overlay-ad-topbar",children:[(0,d.jsx)("span",{className:"sdk-overlay-ad-label",children:"Ad"}),yn.dismissible&&(0,d.jsx)("button",{className:"sdk-overlay-ad-close",onClick:()=>{Tn.current&&wn.current.add(Tn.current.availId),vn(null),Tn.current=null},"aria-label":"Close advertisement",children:"✕"})]}),(0,d.jsx)("img",{src:yn.imageUrl,width:yn.imageWidth,height:yn.imageHeight,alt:yn.title||"Advertisement",className:"sdk-overlay-ad-img",onClick:()=>{return(e=yn).clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:"no-cors"}).catch(()=>{}),void(e.clickThrough&&window.open(e.clickThrough,"_blank","noopener,noreferrer"));var e}})]}),qs&&(()=>{const e=On&&yr<On.startTime?On.startTime:yr,t=Sn.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds),r=Zr.find(t=>e>=t.startTime&&e<t.endTime)??On,n=t?Math.max(0,t.endTimeSeconds-e):r?Math.max(0,r.endTime-e):0,i=t?e-t.startTimeSeconds:r?e-r.startTime:0,s=!!t&&t.podTotal>1,a=t?t.skippable:Ce,c=t?t.skipOffsetSeconds:Me,l=a&&i>=c,o=Math.ceil(c-i),u=i+n,m=u>0?Math.min(1,Math.max(0,i/u)):0,p=2.5,{w:h,h:f}=Un,b=Math.max(0,h-p),k=Math.max(0,f-p),g=Math.min(20.75,k/2),y=Math.max(0,b-2*g),v=Math.max(0,k-2*g),x=`M${1.25+g+y/2},1.25h${y/2}a${g},${g} 0 0 1 ${g},${g}v${v}a${g},${g} 0 0 1 ${-g},${g}h${-y}a${g},${g} 0 0 1 ${-g},${-g}v${-v}a${g},${g} 0 0 1 ${g},${-g}h${y/2}`,T=2*y+2*v+2*Math.PI*g;return(0,d.jsxs)(d.Fragment,{children:[(!Re||!!t)&&(0,d.jsxs)("div",{ref:Hn,className:"sdk-ad-countdown",role:"timer","aria-label":s?`Advertisement ${t.podIndex+1} of ${t.podTotal} — ${Ga(n)} remaining`:`Advertisement — ${Ga(n)} remaining`,"aria-live":"off",children:[h>0&&f>0&&(0,d.jsxs)("svg",{className:"sdk-ad-countdown-border",width:h,height:f,viewBox:`0 0 ${h} ${f}`,"aria-hidden":"true",children:[(0,d.jsx)("path",{className:"sdk-ad-countdown-border-track",d:x,strokeWidth:p}),(0,d.jsx)("path",{className:"sdk-ad-countdown-border-fill",d:x,strokeWidth:p,strokeDasharray:T,strokeDashoffset:T*(1-m)})]}),(0,d.jsx)("span",{className:"sdk-ad-countdown-badge","aria-hidden":"true",children:"Ad"}),s&&(0,d.jsxs)("span",{className:"sdk-ad-countdown-count","aria-hidden":"true",children:[t.podIndex+1," of ",t.podTotal]}),(0,d.jsx)("span",{className:"sdk-ad-countdown-sep","aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-ad-countdown-time","aria-hidden":"true",children:Ga(n)})]}),a&&(0,d.jsx)("button",{className:"sdk-skip-ad-btn "+(l?"sdk-skip-ad-btn--ready":""),onClick:l?Ra:void 0,disabled:!l,"aria-label":l?"Skip advertisement":`Skip advertisement available in ${o} seconds`,"aria-disabled":!l,children:l?"Skip Ad ›":`Skip in ${o}s`}),t?.cta&&(()=>{const e=t.cta,r=(0,d.jsxs)("button",{className:"sdk-ad-cta-btn",onClick:()=>(e=>{e.clickTrackingBeacons.forEach(e=>{fetch(e,{mode:"no-cors"}).catch(()=>{})}),window.open(e.url,"_blank","noopener,noreferrer")})(e),"aria-label":`${e.text} — opens advertiser site in a new tab`,children:[(0,d.jsx)("span",{className:"sdk-ad-cta-btn-text",children:e.text}),(0,d.jsx)(E,{size:15,"aria-hidden":"true"})]});return(0,d.jsx)("div",{className:"sdk-ad-cta",role:"complementary","aria-label":"Advertisement call to action",children:e.title?(0,d.jsxs)("div",{className:"sdk-ad-cta-card",children:[(0,d.jsxs)("div",{className:"sdk-ad-cta-info",children:[(0,d.jsx)("div",{className:"sdk-ad-cta-title",children:e.title}),e.description&&(0,d.jsx)("div",{className:"sdk-ad-cta-desc",children:e.description})]}),r]}):r})})()]})})(),_a&&(0,d.jsx)("button",{className:"sdk-skip-ad-btn sdk-skip-ad-btn--ready sdk-skip-intro-btn",onClick:()=>{_a&&($a(e=>e.includes(_a.id)?e:[...e,_a.id]),fa(di(_a.end+.5)))},"aria-label":_a.title??"Skip intro",children:_a.title??"Skip Intro"}),za&&!qs&&!Us&&(0,d.jsxs)("button",{type:"button",className:"sdk-next-episode-wrapper",onClick:e=>{e.stopPropagation(),Oa()},"aria-label":`Play next episode now — ${qe}`,children:[Be&&(0,d.jsx)("img",{className:"sdk-next-episode-thumb",src:Be,alt:"","aria-hidden":"true"}),(0,d.jsxs)("span",{className:"sdk-next-episode-chip",children:[(0,d.jsx)("span",{className:"sdk-next-episode-progress-fill","aria-hidden":"true",style:{transform:`scaleX(${Va})`}}),(0,d.jsxs)("span",{className:"sdk-next-episode-content",children:[(0,d.jsx)("svg",{className:"sdk-next-episode-icon",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M7 6v12l10-6-10-6z",fill:"currentColor"})}),(0,d.jsx)("span",{className:"sdk-next-episode-label",children:qe})]})]})]}),cr,(ei||ss)&&(0,d.jsx)("div",{className:"sdk-cast-bg"}),Or&&(0,d.jsxs)("div",{className:"sdk-mobile-overlay "+(Fs?"active":""),onClick:sc,children:[Gt&&(0,d.jsx)("div",{className:`sdk-mobile-doubletap ${Gt}`,children:(0,d.jsxs)("div",{className:"sdk-mobile-doubletap-icon",children:["left"===Gt?(0,d.jsx)(D,{size:26}):(0,d.jsx)($,{size:26}),(0,d.jsx)("span",{className:"sdk-mobile-doubletap-label",children:"10s"})]})}),y&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"sdk-mobile-header sdk-mobile-ctrl",children:[(0,d.jsxs)("div",{className:"sdk-mobile-header-left",children:[(Fr||qr)&&(0,d.jsx)("button",{className:"sdk-mobile-back-btn",onClick:Na,"aria-label":"Exit fullscreen",children:(0,d.jsx)(S,{size:22,"aria-hidden":"true"})}),$s&&(0,d.jsx)("div",{className:"sdk-mobile-title",children:$s})]}),(0,d.jsxs)("div",{className:"sdk-mobile-header-actions",children:[lr.enablePiP&&!qs&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:()=>Ea(),style:{color:Kr?m:""},"aria-label":Kr?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":Kr,children:(0,d.jsx)(L,{size:20,"aria-hidden":"true"})}),lr.enableChromecast&&!se&&!qs&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:Wa,"data-tooltip":ei?`Casting to ${ei} — tap to disconnect`:"Cast to device","aria-label":ei?`Stop casting to ${ei}`:"Cast to device","aria-pressed":!!ei,style:{color:ei?"#3b82f6":""},children:(0,d.jsx)(T,{size:20,fill:ei?"currentColor":"none","aria-hidden":"true"})}),lr.allowAirplay&&ns&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:Ka,"aria-label":ss?`Stop AirPlay to ${cs||"device"}`:"AirPlay to device","aria-pressed":ss,style:{color:ss?m:""},children:(0,d.jsx)(v,{size:20,"aria-hidden":"true"})})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-center-controls sdk-mobile-ctrl",children:[!ua&&(0,d.jsxs)("button",{className:"sdk-mobile-seek-btn",onClick:e=>{e.stopPropagation(),ka(-10,"fast_backward")},"aria-label":"Rewind 10 seconds",children:[(0,d.jsx)(D,{size:22,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-mobile-seek-label","aria-hidden":"true",children:"10"})]}),(0,d.jsx)("button",{className:"sdk-mobile-play-btn",onClick:pa,"aria-label":Gr?"Replay":Ya?"Pause":"Play",children:Gr?(0,d.jsx)(D,{size:38,"aria-hidden":"true"}):Ya?(0,d.jsx)(A,{size:38,fill:"currentColor","aria-hidden":"true"}):(0,d.jsx)(I,{size:38,fill:"currentColor",style:{marginLeft:"3px"},"aria-hidden":"true"})}),!ua&&(0,d.jsxs)("button",{className:"sdk-mobile-seek-btn",onClick:e=>{e.stopPropagation(),ka(10,"fast_forward")},"aria-label":"Skip forward 10 seconds",children:[(0,d.jsx)($,{size:22,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-mobile-seek-label","aria-hidden":"true",children:"10"})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-bottom-bar sdk-mobile-ctrl",children:[lr.enableKeyMoments&&$i&&Ri.length>0&&(0,d.jsx)("div",{className:"sdk-mobile-chapters-scroll",children:Ri.map((e,t)=>{const r=Mi.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-mobile-chapter-card"+(r?" active":""),style:{borderColor:r?m:void 0},"aria-label":`${e.title}, ${Ga(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:()=>{Sa(e.startTime,e)},onKeyDown:lc(()=>Sa(e.startTime,e)),children:[(0,d.jsxs)("div",{className:"sdk-mobile-chapter-thumb",children:[zi[t]||e.thumbnail?(0,d.jsx)("img",{src:zi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(N,{size:16,"aria-hidden":"true",style:{color:r?m:"rgba(255,255,255,0.3)"}}),(0,d.jsx)("span",{className:"sdk-mobile-chapter-time-badge","aria-hidden":"true",children:Ga(e.startTime)})]}),(0,d.jsx)("div",{className:"sdk-mobile-chapter-title",style:{color:r?m:void 0},children:e.title})]},t)})}),(0,d.jsx)("div",{ref:Qe,role:ua?void 0:"slider","aria-label":ua?void 0:"Seek","aria-valuemin":ua?void 0:0,"aria-valuemax":ua?void 0:Math.round(tc),"aria-valuenow":ua?void 0:Math.round(rc),"aria-valuetext":ua?void 0:`${Ga(rc)} of ${Ga(tc)}`,tabIndex:ua?void 0:0,className:"sdk-seekbar-container sdk-mobile-seekbar"+(qs||sa?" sdk-ad-mode":""),onMouseDown:ua?void 0:ha,onMouseMove:ua?void 0:Xa,onMouseLeave:ua?void 0:Ja,onTouchStart:ua?void 0:Qa,onKeyDown:ua?void 0:oc,style:{pointerEvents:ua?"none":void 0,touchAction:"none"},children:qs?(0,d.jsx)("div",{className:"sdk-ad-progress-fill",style:{width:(()=>{const e=Zt?Zt.getCurrentTime():yr,t=Zn(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:"0%"})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"sdk-seekbar-buffered",style:{width:(xr?(Zt&&Zt.getBufferedRanges()[0]?.end||0)/xr*100:0)+"%"}}),oi>0&&Zr.filter(e=>!ln.has(e.startTime)&&mi(e)).map((e,t)=>(0,d.jsx)("div",{className:"sdk-seekbar-adbreak",style:{left:ui(e.startTime)/oi*100+"%",width:"3px"}},t)),(0,d.jsx)("div",{className:"sdk-seekbar-progress",style:{width:(tc>0?rc/tc*100:0)+"%",background:"#ffffff",boxShadow:"none"},children:(0,d.jsx)("div",{className:"sdk-seekbar-handle",style:{opacity:1,transform:"scale(1)"}})}),lr.enableKeyMoments&&Ri.map((e,t)=>0===oi?null:(0,d.jsx)("div",{className:"sdk-seekbar-chapter-marker sdk-desktop-chapter-dot",style:{left:ui(e.startTime)/oi*100+"%"}},t))]})}),(0,d.jsxs)("div",{className:"sdk-mobile-controls-row",children:[(0,d.jsxs)("div",{className:"sdk-mobile-left-controls",children:[!qs&&(0,d.jsx)("span",{className:"sdk-time-display",children:`${Ga(rc)} / ${Ga(tc)}`}),!qs&&(0,d.jsxs)("div",{className:"sdk-mobile-volume-control",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn",onClick:e=>{e.stopPropagation(),ga()},"aria-label":ic||0===nc?"Unmute":"Mute","aria-pressed":ic||0===nc,children:ac()}),"slider"===Se&&!ae&&(0,d.jsx)("input",{type:"range",className:"sdk-mobile-volume-slider",min:0,max:1,step:.05,value:ic?0:nc,"aria-label":"Volume","aria-valuetext":ic?"Muted":`${Math.round(100*nc)}%`,style:{"--vol-pct":Math.round(100*(ic?0:nc))},onChange:e=>{const t=parseFloat(e.target.value);ei?(Zt?.casting.remoteSetVolume(t),t>0&&Zt?.casting.remoteSetMute(!1)):(Zt?.setVolume(t),t>0&&jr&&Zt?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-bottom-icons",children:[Fe&&He&&!qs&&!Us&&(0,d.jsx)("button",{className:"sdk-mobile-icon-btn sdk-next-episode-btn",onClick:()=>{Oa()},"aria-label":qe,children:(0,d.jsx)(_,{size:18,fill:"currentColor","aria-hidden":"true"})}),lr.enableKeyMoments&&Ri.length>0&&!qs&&(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+($i?" active":""),onClick:()=>{_i(!$i)},"aria-label":$i?"Hide chapters":"Show chapters","aria-pressed":$i,children:(0,d.jsx)(K,{size:18})}),lr.enableSubtitles&&!qs&&Ti.length>0&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("off"!==vi?" active":""),onClick:()=>{uc("subtitles")},"aria-label":"Captions","aria-haspopup":"listbox","aria-expanded":"subtitles"===Ai,children:(0,d.jsx)(x,{size:18,"aria-hidden":"true"})}),"subtitles"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Captions",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Subtitles"}),(0,d.jsxs)("div",{role:"option","aria-selected":"off"===vi,tabIndex:0,className:"sdk-dropup-item "+("off"===vi?"active":""),onClick:()=>Ta("off"),onKeyDown:cc(()=>Ta("off")),children:[(0,d.jsx)("span",{children:"Off"}),"off"===vi&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]}),Ti.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":vi===e.id,tabIndex:0,className:"sdk-dropup-item "+(vi===e.id?"active":""),onClick:()=>Ta(e.id),onKeyDown:cc(()=>Ta(e.id)),children:[(0,d.jsx)("span",{children:Z(e)}),vi===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),lr.allowMultipleAudio&&Si.length>1&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("audio"===Ai?" active":""),onClick:()=>{uc("audio")},"aria-label":"Audio track","aria-haspopup":"listbox","aria-expanded":"audio"===Ai,children:(0,d.jsx)(M,{size:18,"aria-hidden":"true"})}),"audio"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Audio track",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Audio Track"}),Si.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Ei===e.id,tabIndex:0,className:"sdk-dropup-item "+(Ei===e.id?"active":""),onClick:()=>va(e),onKeyDown:cc(()=>va(e)),children:[(0,d.jsx)("span",{children:Z(e)}),Ei===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),lr.enablePlaybackSpeed&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("speed"===Ai?" active":""),onClick:()=>{uc("speed")},"aria-label":"Playback speed","aria-haspopup":"listbox","aria-expanded":"speed"===Ai,children:(0,d.jsx)(C,{size:18,"aria-hidden":"true"})}),"speed"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Playback speed",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Speed"}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Ii===e,tabIndex:0,className:"sdk-dropup-item "+(Ii===e?"active":""),onClick:()=>ya(e),onKeyDown:cc(()=>ya(e)),children:[(0,d.jsx)("span",{children:1===e?"Normal":`${e}x`}),Ii===e&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e))]})]}),lr.enableQuality&&hi.length>0&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+(-1!==bi.id?" active":""),onClick:()=>{uc("quality")},"aria-label":"Video quality","aria-haspopup":"listbox","aria-expanded":"quality"===Ai,children:(0,d.jsx)(X,{size:18,"aria-hidden":"true"})}),"quality"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu large",role:"listbox","aria-label":"Video quality",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Quality"}),hi.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":bi.id===e.id,tabIndex:0,className:"sdk-dropup-item "+(bi.id===e.id?"active":""),onClick:()=>xa(e.id),onKeyDown:cc(()=>xa(e.id)),children:[(0,d.jsx)("span",{children:e.label}),bi.id===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),ie&&Pe&&Pe.length>1&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("sources"===Ai?" active":""),onClick:()=>{uc("sources")},"aria-label":"Select source","aria-haspopup":"listbox","aria-expanded":"sources"===Ai,children:(0,d.jsx)(Q,{size:18,"aria-hidden":"true"})}),"sources"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Select source",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Source"}),Pe.map((e,t)=>(0,d.jsxs)("div",{role:"option","aria-selected":Ae===t,tabIndex:0,className:"sdk-dropup-item "+(Ae===t?"active":""),onClick:()=>wa(t),onKeyDown:cc(()=>wa(t)),children:[(0,d.jsx)("span",{children:e.label}),Ae===t&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},t))]})]}),(0,d.jsx)("button",{className:"sdk-mobile-icon-btn",onClick:Na,"aria-label":Fr||qr?"Exit fullscreen":"Enter fullscreen","aria-pressed":Fr||qr,children:Fr?(0,d.jsx)(P,{size:18,"aria-hidden":"true"}):(0,d.jsx)(R,{size:18,"aria-hidden":"true"})})]})]})]})]})]}),!Or&&(0,d.jsxs)("div",{className:"sdk-controls-overlay",onClick:e=>{qs||e.target.closest(".sdk-desktop-header")||e.target.closest(".sdk-desktop-center-controls")||e.target.closest(".sdk-desktop-bottom")||(Ws.current&&(window.clearTimeout(Ws.current),Ws.current=null),Vs(!1))},children:[(0,d.jsxs)("div",{className:"sdk-desktop-header",children:[(0,d.jsxs)("div",{className:"sdk-desktop-header-left",children:[(Fr||qr)&&(0,d.jsx)("button",{className:"sdk-desktop-back-btn",onClick:e=>{e.stopPropagation(),Na()},"aria-label":"Exit fullscreen",children:(0,d.jsx)(S,{size:22,"aria-hidden":"true"})}),$s&&(0,d.jsx)("span",{className:"sdk-desktop-title",children:$s})]}),(0,d.jsxs)("div",{className:"sdk-desktop-header-right",children:[lr.enableChromecast&&!se&&!qs&&(0,d.jsx)("button",{className:"sdk-desktop-hdr-btn",onClick:e=>{e.stopPropagation(),Wa()},"data-tooltip":ei?`Casting to ${ei} — click to disconnect`:"Cast to device","aria-label":ei?`Stop casting to ${ei}`:"Cast to device","aria-pressed":!!ei,style:{color:ei?"#3b82f6":""},children:(0,d.jsx)(T,{size:20,fill:ei?"currentColor":"none","aria-hidden":"true"})}),ei&&(0,d.jsxs)("span",{className:"sdk-cast-indicator","aria-hidden":"true",children:[(0,d.jsx)(T,{size:10,fill:"currentColor","aria-hidden":"true"}),ei]}),lr.allowAirplay&&ns&&(0,d.jsx)("button",{className:"sdk-desktop-hdr-btn",onClick:e=>{e.stopPropagation(),Ka()},"data-tooltip":ss?`AirPlay to ${cs||"device"} — click to disconnect`:"AirPlay to device","aria-label":ss?`Stop AirPlay to ${cs||"device"}`:"AirPlay to device","aria-pressed":ss,style:{color:ss?m:""},children:(0,d.jsx)(v,{size:20,"aria-hidden":"true"})})]})]}),y&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"sdk-desktop-center-controls",style:{pointerEvents:"none"},children:[!ua&&(0,d.jsx)("button",{className:"sdk-desktop-seek-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ka(-10,"fast_backward")},"aria-label":"Rewind 10 seconds",children:(0,d.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)(D,{size:30,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-desktop-seek-label","aria-hidden":"true",children:"10"})]})}),(0,d.jsx)("button",{className:"sdk-desktop-play-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),pa()},"aria-label":Gr?"Replay":Ya?"Pause":"Play",children:Gr?(0,d.jsx)(D,{size:38,"aria-hidden":"true"}):Ya?(0,d.jsx)(A,{size:38,fill:"currentColor","aria-hidden":"true"}):(0,d.jsx)(I,{size:38,fill:"currentColor",style:{marginLeft:"4px"},"aria-hidden":"true"})}),!ua&&(0,d.jsx)("button",{className:"sdk-desktop-seek-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ka(10,"fast_forward")},"aria-label":"Skip forward 10 seconds",children:(0,d.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)($,{size:30,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-desktop-seek-label","aria-hidden":"true",children:"10"})]})})]}),lr.enableKeyMoments&&$i&&Ri.length>0&&"panel"===we&&(0,d.jsxs)("div",{className:"sdk-chapters-panel",onClick:e=>e.stopPropagation(),children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-header",children:(0,d.jsx)("span",{className:"sdk-chapters-panel-title",children:"Chapters"})}),(0,d.jsx)("div",{className:"sdk-chapters-panel-list",children:Ri.map((e,t)=>{const r=Mi.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-chapters-panel-item"+(r?" active":""),"aria-label":`${e.title}, ${Ga(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:()=>Sa(e.startTime,e),onKeyDown:lc(()=>Sa(e.startTime,e)),children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-thumb",children:zi[t]||e.thumbnail?(0,d.jsx)("img",{src:zi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(N,{size:18,"aria-hidden":"true",style:{color:"rgba(255,255,255,0.3)"}})}),(0,d.jsxs)("div",{className:"sdk-chapters-panel-info",children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-item-title",children:e.title}),e.description&&(0,d.jsx)("div",{className:"sdk-chapters-panel-item-desc",children:e.description}),(0,d.jsx)("div",{className:"sdk-chapters-panel-item-time","aria-hidden":"true",children:Ga(e.startTime)})]})]},t)})})]}),(0,d.jsxs)("div",{className:"sdk-desktop-bottom",children:[lr.enableKeyMoments&&$i&&Ri.length>0&&"strip"===we&&(0,d.jsx)("div",{className:"sdk-desktop-chapters-strip",children:Ri.map((e,t)=>{const r=Mi.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-desktop-chapter-card"+(r?" active":""),"aria-label":`${e.title}, ${Ga(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:t=>{t.stopPropagation(),Sa(e.startTime,e)},onKeyDown:lc(()=>Sa(e.startTime,e)),children:[(0,d.jsx)("div",{className:"sdk-desktop-chapter-thumb",children:zi[t]||e.thumbnail?(0,d.jsx)("img",{src:zi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(N,{size:18,"aria-hidden":"true",style:{color:"rgba(255,255,255,0.35)"}})}),(0,d.jsx)("div",{className:"sdk-desktop-chapter-title",children:e.title}),(0,d.jsx)("div",{className:"sdk-desktop-chapter-time","aria-hidden":"true",children:Ga(e.startTime)})]},t)})}),(0,d.jsx)("div",{ref:Qe,role:ua?void 0:"slider","aria-label":ua?void 0:"Seek","aria-valuemin":ua?void 0:0,"aria-valuemax":ua?void 0:Math.round(tc),"aria-valuenow":ua?void 0:Math.round(rc),"aria-valuetext":ua?void 0:`${Ga(rc)} of ${Ga(tc)}`,tabIndex:ua?void 0:0,className:"sdk-seekbar-container sdk-desktop-seekbar"+(qs||sa?" sdk-ad-mode":""),onMouseDown:ua?void 0:ha,onMouseMove:ua?void 0:Xa,onMouseLeave:ua?void 0:Ja,onTouchStart:ua?void 0:Qa,onKeyDown:ua?void 0:oc,style:{pointerEvents:ua?"none":void 0},children:qs?(0,d.jsx)("div",{className:"sdk-ad-progress-fill",style:{width:(()=>{const e=Zt?Zt.getCurrentTime():yr,t=Zn(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:"0%"})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"sdk-seekbar-buffered",style:{width:(xr?(Zt&&Zt.getBufferedRanges()[0]?.end||0)/xr*100:0)+"%"}}),oi>0&&Zr.filter(e=>!ln.has(e.startTime)&&mi(e)).map((e,t)=>(0,d.jsx)("div",{className:"sdk-seekbar-adbreak",style:{left:ui(e.startTime)/oi*100+"%",width:"3px"}},t)),(0,d.jsx)("div",{className:"sdk-seekbar-progress",style:{width:(tc>0?rc/tc*100:0)+"%",background:"#ffffff",boxShadow:"none"},children:(0,d.jsx)("div",{className:"sdk-seekbar-handle"})}),lr.enableKeyMoments&&Ri.map((e,t)=>0===oi?null:(0,d.jsx)("div",{className:"sdk-seekbar-chapter-marker sdk-desktop-chapter-dot",style:{left:ui(e.startTime)/oi*100+"%"}},t)),(()=>{if(null===ds)return null;const e=ui(fs),t=Es&&!xs.current?Zt.thumbnails.getThumbnail(e):null,r=t?Zt.thumbnails.getSpriteSize():null,n=t?null:ys?.thumbnail??null,i=t&&t.width>0?192/t.width:1;return t&&r||n||ks?(0,d.jsxs)("div",{className:"sdk-thumbnail-tooltip",style:{left:`${ps}px`},children:[!za&&(0,d.jsx)("div",{className:"sdk-thumbnail-preview",children:t&&r?(0,d.jsx)("img",{src:Oe(t.url),alt:"preview",draggable:!1,onError:()=>ws(!0),style:{position:"absolute",top:-t.y*i+"px",left:-t.x*i+"px",width:r.width*i+"px",height:r.height*i+"px",maxWidth:"none",display:"block"}}):(0,d.jsx)("img",{src:n??ks,alt:"preview",style:{width:"100%",height:"100%",objectFit:"cover",borderRadius:"8px",display:"block"}})}),ys&&(0,d.jsx)("div",{className:"sdk-thumbnail-chapter-name",children:ys.title}),(0,d.jsx)("div",{className:"sdk-thumbnail-time-label",children:Ga(e)})]}):null})()]})}),(0,d.jsxs)("div",{className:"sdk-desktop-controls-row",children:[(0,d.jsxs)("div",{className:"sdk-desktop-left-controls",children:[!qs&&(0,d.jsx)("div",{className:"sdk-time-display",children:`${Ga(rc)} / ${Ga(tc)}`}),"slider"===Se&&(0,d.jsxs)("div",{className:"sdk-volume-control",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),ga()},"data-tooltip":ic?"Unmute":"Mute","aria-label":ic?"Unmute":"Mute","aria-pressed":ic,children:ac()}),(0,d.jsx)("input",{type:"range",className:"sdk-volume-slider",min:0,max:1,step:.02,value:ic?0:nc,"aria-label":"Volume","aria-valuetext":ic?"Muted":`${Math.round(100*nc)}%`,style:{"--vol-pct":Math.round(100*(ic?0:nc))},onChange:e=>{const t=parseFloat(e.target.value);ei?(Zt?.casting.remoteSetVolume(t),t>0&&Zt?.casting.remoteSetMute(!1)):(Zt?.setVolume(t),t>0&&jr&&Zt?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)("div",{className:"sdk-desktop-right-icons",children:[Fe&&He&&!qs&&!Us&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn sdk-next-episode-btn",onClick:e=>{e.stopPropagation(),Oa()},"data-tooltip":qe,"aria-label":qe,children:(0,d.jsx)(_,{size:20,fill:"currentColor","aria-hidden":"true"})}),lr.enableKeyMoments&&Ri.length>0&&!qs&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+($i?" active":""),onClick:e=>{e.stopPropagation(),_i(!$i)},"data-tooltip":"Key Moments","aria-label":$i?"Hide chapters":"Show chapters","aria-pressed":$i,children:(0,d.jsx)(K,{size:20})}),lr.enableSubtitles&&!qs&&Ti.length>0&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("off"!==vi?" active":""),onClick:e=>{e.stopPropagation(),uc("subtitles")},"data-tooltip":"Captions","aria-label":"Captions","aria-haspopup":"listbox","aria-expanded":"subtitles"===Ai,children:(0,d.jsx)(x,{size:20,"aria-hidden":"true"})}),"subtitles"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Captions",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Subtitles"}),(0,d.jsxs)("div",{role:"option","aria-selected":"off"===vi,tabIndex:0,className:"sdk-dropup-item "+("off"===vi?"active":""),onClick:()=>Ta("off"),onKeyDown:cc(()=>Ta("off")),children:[(0,d.jsx)("span",{children:"Off"}),"off"===vi&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]}),Ti.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":vi===e.id,tabIndex:0,className:"sdk-dropup-item "+(vi===e.id?"active":""),onClick:()=>Ta(e.id),onKeyDown:cc(()=>Ta(e.id)),children:[(0,d.jsx)("span",{children:Z(e)}),vi===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),lr.allowMultipleAudio&&Si.length>1&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("audio"===Ai?" active":""),onClick:e=>{e.stopPropagation(),uc("audio")},"data-tooltip":"Audio Track","aria-label":"Audio track","aria-haspopup":"listbox","aria-expanded":"audio"===Ai,children:(0,d.jsx)(M,{size:20,"aria-hidden":"true"})}),"audio"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Audio track",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Audio Track"}),Si.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Ei===e.id,tabIndex:0,className:"sdk-dropup-item "+(Ei===e.id?"active":""),onClick:()=>va(e),onKeyDown:cc(()=>va(e)),children:[(0,d.jsx)("span",{children:Z(e)}),Ei===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),lr.enablePlaybackSpeed&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("speed"===Ai?" active":""),onClick:e=>{e.stopPropagation(),uc("speed")},"data-tooltip":"Playback Speed","aria-label":"Playback speed","aria-haspopup":"listbox","aria-expanded":"speed"===Ai,children:(0,d.jsx)(C,{size:20,"aria-hidden":"true"})}),"speed"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Playback speed",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Speed"}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Ii===e,tabIndex:0,className:"sdk-dropup-item "+(Ii===e?"active":""),onClick:()=>ya(e),onKeyDown:cc(()=>ya(e)),children:[(0,d.jsx)("span",{children:1===e?"Normal":`${e}x`}),Ii===e&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e))]})]}),lr.enableQuality&&hi.length>0&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(-1!==bi.id?" active":""),onClick:e=>{e.stopPropagation(),uc("quality")},"data-tooltip":"Quality","aria-label":"Video quality","aria-haspopup":"listbox","aria-expanded":"quality"===Ai,children:(0,d.jsx)(X,{size:20,"aria-hidden":"true"})}),"quality"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu large",role:"listbox","aria-label":"Video quality",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Quality"}),hi.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":bi.id===e.id,tabIndex:0,className:"sdk-dropup-item "+(bi.id===e.id?"active":""),onClick:()=>xa(e.id),onKeyDown:cc(()=>xa(e.id)),children:[(0,d.jsx)("span",{children:e.label}),bi.id===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),ie&&Pe&&Pe.length>1&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("sources"===Ai?" active":""),onClick:e=>{e.stopPropagation(),uc("sources")},"data-tooltip":"Select Source","aria-label":"Select source","aria-haspopup":"listbox","aria-expanded":"sources"===Ai,children:(0,d.jsx)(Q,{size:20,"aria-hidden":"true"})}),"sources"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Select source",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Source"}),Pe.map((e,t)=>(0,d.jsxs)("div",{role:"option","aria-selected":Ae===t,tabIndex:0,className:"sdk-dropup-item "+(Ae===t?"active":""),onClick:()=>wa(t),onKeyDown:cc(()=>wa(t)),children:[(0,d.jsx)("span",{children:e.label}),Ae===t&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},t))]})]}),lr.enablePiP&&!qs&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(Kr?" active":""),onClick:e=>{e.stopPropagation(),Ea()},"data-tooltip":"Picture-in-Picture","aria-label":Kr?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":Kr,children:(0,d.jsx)(L,{size:20,"aria-hidden":"true"})}),"button"===Se&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),ga()},"data-tooltip":ic?"Unmute":"Mute","aria-label":ic?"Unmute":"Mute","aria-pressed":ic,children:ac()}),be&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),Na()},"data-tooltip":Fr||qr?"Exit fullscreen":"Fullscreen","aria-label":Fr||qr?"Exit fullscreen":"Enter fullscreen","aria-pressed":Fr||qr,children:Fr?(0,d.jsx)(P,{size:20,"aria-hidden":"true"}):(0,d.jsx)(R,{size:20,"aria-hidden":"true"})})]})]})]})]})]}),Qr&&(()=>{const e=Zr.find(e=>Za>=e.startTime&&Za<e.endTime),t=e?e.endTime-e.startTime:nn?oi:null,r=e?Math.max(0,Za-e.startTime):nn?ui(Za):null;return(0,u.createPortal)((0,d.jsxs)("div",{className:"gb-pip-overlay"+(Ya?"":" gb-pip-paused"),children:[(0,d.jsx)("div",{}),(0,d.jsxs)("div",{className:"gb-pip-center",children:[(0,d.jsx)("button",{className:"gb-pip-btn",onClick:()=>ka(-10,"fast_backward"),"aria-label":"Rewind 10 seconds",disabled:ua,children:(0,d.jsx)(D,{size:20,"aria-hidden":"true"})}),(0,d.jsx)("button",{className:"gb-pip-btn gb-pip-play",onClick:pa,"aria-label":Gr?"Replay":Ya?"Pause":"Play",children:Gr?(0,d.jsx)(D,{size:24,"aria-hidden":"true"}):Ya?(0,d.jsx)(A,{size:24,"aria-hidden":"true"}):(0,d.jsx)(I,{size:24,"aria-hidden":"true",style:{marginLeft:2}})}),(0,d.jsx)("button",{className:"gb-pip-btn",onClick:()=>ka(10,"fast_forward"),"aria-label":"Skip forward 10 seconds",disabled:ua,children:(0,d.jsx)($,{size:20,"aria-hidden":"true"})})]}),(0,d.jsxs)("div",{className:"gb-pip-bottom",children:[(0,d.jsx)("div",{className:"gb-pip-progress",onClick:Ca,onMouseDown:Ma,children:(0,d.jsx)("div",{className:"gb-pip-progress-fill",style:{width:(t?(r??0)/t*100:0)+"%"}})}),(0,d.jsx)("div",{className:"gb-pip-time",children:null!==t?`${Ga(r??0)} / ${Ga(t)}`:"––:––"})]})]}),Qr.document.body)})()]})};function fe(e,t,r){if(!r)return e;const n=/^[a-z][a-z0-9+.-]*:\/\//i.test(e),i=!n&&e.startsWith("//");try{let s;i?s="https://sdk-relative-base.invalid/":n||(s="http://sdk-relative-base.invalid/");const a=new URL(e,s);return a.searchParams.set(t,r),n?a.toString():i?a.toString().replace(/^https:/,""):`${a.pathname}${a.search}${a.hash}`}catch{return e}}var be="https://dev-api.go-boss.com";function ke(e){return{"x-player-key":e,"Content-Type":"application/json"}}async function ge(e,t=be,r={}){const n=await fetch(`${t}/api/player/sdk/init`,{method:"POST",headers:ke(e),body:JSON.stringify({videoUrl:r.videoUrl})});if(!n.ok)throw new Error(`SDK init failed: ${n.status}`);return await n.json()}async function ye(e,t,r=be){const{sessionId:n,videoId:i,videoTitle:s,videoUrl:a,contentDurationSec:c}=t,l=await fetch(`${r}/api/player/sdk/session/start`,{method:"POST",headers:ke(e),body:JSON.stringify({sessionId:n,videoId:i,videoTitle:s,videoUrl:a,contentDurationSec:"number"==typeof c&&Number.isFinite(c)&&c>0?c:void 0})});if(!l.ok)throw new Error(`Session start failed: ${l.status}`)}async function ve(e,t,r,n,i=be){const s={sessionId:t,currentTime:r,duration:n},a=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:"POST",headers:ke(e),body:JSON.stringify(s)});if(!a.ok)throw new Error(`Heartbeat failed: ${a.status}`)}async function xe(e,t,r=0,n=0,i=be){const s=await fetch(`${i}/api/player/sdk/session/end`,{method:"POST",headers:ke(e),body:JSON.stringify({sessionId:t,currentTime:r,duration:n})});if(!s.ok)throw new Error(`Session end failed: ${s.status}`)}async function Te(e,t,r=be){const n=await fetch(`${r}/api/player/sdk/events`,{method:"POST",headers:ke(e),body:JSON.stringify(t),priority:"low"});if(!n.ok)throw new Error(`Event ${t.eventType} failed: ${n.status}`)}var we=null;function Se(){if("undefined"!=typeof screen)return screen.orientation?.type??void 0}var je=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch("number"!=typeof e.currentTime||Number.isNaN(e.currentTime)||(this.lastCurrentTime=e.currentTime),"number"!=typeof e.duration||Number.isNaN(e.duration)||(this.lastDuration=e.duration),"number"==typeof e.totalWatchTime&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case"play":this.isPlaybackActive?this.call("playerDidResumePlaying",e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call("playerDidStartPlaying",e.currentTime,this.autoplay));break;case"pause":e.duration>0&&e.currentTime>=e.duration-.25||this.call("playerDidPause",e.currentTime);break;case"ended":this.isPlaybackActive=!1,this.hasFinished=!0,this.call("playerDidFinishPlaying",e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case"seek":this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case"fast_forward":this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case"fast_backward":this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case"buffering_start":this.call("playerDidStartBuffering",e.currentTime);break;case"buffering_end":this.call("playerDidFinishBuffering",e.currentTime);break;case"quality_change":{const t=e.rendition;t&&t!==this.prevQuality&&(this.call("playerDidChangeQuality",this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case"subtitle_change":if(!1===e.subtitleEnabled)this.call("playerDidDisableSubtitle",this.prevSubtitle),this.prevSubtitle=void 0;else{const t=e.subtitleLanguage??"";this.call("playerDidChangeSubtitle",this.prevSubtitle,t),this.prevSubtitle=t}break;case"audio_track_change":{const t=e.audioTrack??"";this.call("playerDidChangeAudioTrack",this.prevAudioTrack,t),this.prevAudioTrack=t;break}case"speed_change":{const t=e.speed??1;t!==this.prevSpeed&&(this.call("playerDidChangePlaybackSpeed",this.prevSpeed,t),this.prevSpeed=t);break}case"fullscreen_enter":this.call("playerDidEnterFullscreen",Se());break;case"fullscreen_exit":this.call("playerDidExitFullscreen",Se());break;case"key_moments":{const t=e.momentTitle??"",r=e.momentTime??e.currentTime,n=this.keyMoments,i=n.findIndex(e=>t&&e.title===t||e.startTime===r),s=i>=0?n[i]:void 0;this.call("playerDidSelectKeyMoment",i>=0?String(i):void 0,s?.title??t,s?.startTime??r,s?.endTime??r);break}case"pip_toggle":(e.pipState?"entered"===e.pipState:"entered"===e.errorMessage)?this.call("playerDidEnterPictureInPicture",e.currentTime):this.call("playerDidExitPictureInPicture",e.currentTime);break;case"error":this.call("playerDidEncounterPlaybackError",null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",e.errorMessage??"Unknown player error",e.isRecoverable??!1);break;case"network_error":this.call("playerDidEncounterNetworkError",e.errorCode??0,e.errorMessage??"Network error",e.isRecoverable??!1)}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){const{fromTime:t,startedWallMs:r}=this.pendingSeek;this.pendingSeek=null,this.call("playerDidFinishSeeking",t,e,(Date.now()-r)/1e3)}this.call("playerDidUpdateCurrentTime",e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call("playerDidDismiss",this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){this.pendingSeek?this.pendingSeek.toTime=t:(this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call("playerDidStartSeeking",e))}call(e,...t){const r=this.delegate,n=r?.[e];if("function"==typeof n)try{n.apply(r,t)}catch(i){}}},Ee={subtitles:"subtitle_support",ads:"ad_support",chapterMarkers:"key_moments",playbackSpeed:"playback_speed",airplay:"airplay",chromecast:"chromecast",pictureInPicture:"picture_in_picture",multipleResolution:"multiple_resolution",multipleAudio:"multiple_audio",drmProtection:"drm_protection",screenRecordingPrevention:"screen_recording_prevention",signalStrength:"signal_strength"};function Ce(e){const t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(const[r,n]of Object.entries(Ee))r in e&&(t[n]=e[r]);return t}function Me({playerKey:e,src:t,subtitles:r,licenseKey:n,themeColor:i="#6366f1",firebaseConfig:s,proxyDomains:l,apiBaseUrl:o,adTrackingUrl:u,overlayAdUrl:m,videoId:p,title:h,artworkUrl:f,watermark:b,autoplay:k=!1,muted:g=!1,autoFullscreen:y=!1,enableControls:v=!0,enableSkipAd:x,skipAdAfterSeconds:T,chaptersDisplayMode:w="strip",volumeControlType:S="slider",subtitleStyle:j,drmConfig:E,onAnalyticsEvent:C,delegate:M,onKeyMomentsLoaded:N,initialTime:R,onTimeUpdate:P,skipMarkers:A,introStartTime:L,introEndTime:I,hasNextEpisode:D,outroStartTime:$,nextEpisodeLabel:_,onNextEpisode:z,nextEpisodeAutoAdvanceSeconds:F,nextEpisodeThumbnailUrl:V,featureOverrides:q,enableQuality:U,enableSources:B=!1}){const[O,W]=(0,c.useState)([]),[K,X]=(0,c.useState)(0),[Q]=(0,c.useState)(()=>new je);(0,c.useEffect)(()=>{Q.setDelegate(M),Q.setAutoplay(k)},[Q,M,k]),(0,c.useEffect)(()=>()=>Q.notifyDismissed(),[Q]);const J=Array.isArray(t)?t:[{label:"Default",url:t}],G=J[K]?.url??J[0]?.url??"",[Y,Z]=(0,c.useState)("loading"),[ee,te]=(0,c.useState)(null),[re,ne]=(0,c.useState)(0),[ie,se]=(0,c.useState)("network"),ae=(0,c.useRef)(null),ce=(0,c.useRef)(!1),le=(0,c.useRef)(""),oe=(0,c.useRef)(!1),ue=(0,c.useRef)(!1),de=(0,c.useRef)(null),me=(0,c.useRef)(!1),pe=(0,c.useRef)(Promise.resolve()),Se=(0,c.useRef)(void 0),Me=(0,c.useRef)(!1),Ne=(0,c.useRef)(!1),Re=(0,c.useRef)(3e4),Pe=(0,c.useRef)(null),Ae=(0,c.useRef)(0),Le=(0,c.useRef)(null),Ie=(0,c.useRef)({currentTime:0,duration:0,contentTime:0,contentDuration:0}),De=(0,c.useRef)(()=>{}),$e=(0,c.useRef)([]),_e=(0,c.useRef)(()=>{}),ze=p||(G?a.extractVideoId(G):"")||"video",Fe=(0,c.useRef)(G);(0,c.useEffect)(()=>{Fe.current=G},[G]);const Ve=(0,c.useRef)(ze);(0,c.useLayoutEffect)(()=>{Ve.current=ze},[ze]);const qe=(0,c.useMemo)(()=>function(e){if(!e)return e=>e;const t=[];for(const r of e.split(",")){const[e,n]=r.split("=");e?.trim()&&n?.trim()&&t.push({domain:e.trim(),proxyPath:n.trim()})}return e=>{for(const{domain:r,proxyPath:n}of t)if(e.includes(r))try{const t=new URL(e);return`${n}${t.pathname}${t.search}`}catch{return e.replace(`https://${r}`,n)}return e}}(l),[l]),He=(0,c.useCallback)(e=>fe(fe(qe(e),"sid",le.current),"vid",Ve.current),[qe]),Ue=function(e){const t=e.replace("#","");return 6!==t.length?"99, 102, 241":`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`}(i);(0,c.useEffect)(()=>{document.documentElement.style.setProperty("--accent-indigo",i),document.documentElement.style.setProperty("--accent-indigo-rgb",Ue)},[i,Ue]),(0,c.useEffect)(()=>{let t=!1;return ge(e,o,{videoUrl:Fe.current}).then(e=>{if(t)return;ae.current=e;const{features:r,planTier:n,heartbeatIntervalSeconds:i}=e.result.data;Re.current="number"==typeof i&&i>0?1e3*i:3e4;const s={package:n,is_active:!0,features:Ce(r),limits:{streaming_minutes:0}};te(s),Z("ready")}).catch(e=>{if(t)return;const r=e.message??"";se(/init failed: 4\d\d/.test(r)?"auth":"network"),Z("error")}),()=>{t=!0,_e.current(),Pe.current&&(clearTimeout(Pe.current),Pe.current=null),Ae.current=0,Le.current=null,Z("loading"),te(null),oe.current=!1,le.current="",ue.current=!1,de.current=null,me.current=!1,pe.current=Promise.resolve(),Se.current=void 0,Ne.current=!1}},[e,o,re]);const Be=(0,c.useCallback)(e=>{const t=de.current;if(!t)return e();const r=pe.current.catch(()=>{}).then(()=>t).then(()=>{if(!me.current)return e()});return pe.current=r.catch(()=>{}),r},[]),Oe=(0,c.useCallback)(()=>{Pe.current&&(clearTimeout(Pe.current),Pe.current=null,null!==Le.current&&(Ae.current+=Date.now()-Le.current,Le.current=null))},[]),We=(0,c.useCallback)(()=>{Pe.current&&(clearTimeout(Pe.current),Pe.current=null),Ae.current=0,Le.current=null},[]),Ke=(0,c.useCallback)(()=>{if(!le.current||ue.current)return;if(ue.current=!0,We(),me.current)return;const{contentTime:t,contentDuration:r}=Ie.current;!function(e,t,r=0,n=0,i=be){const s=`${i}/api/player/sdk/session/end`,a=JSON.stringify({sessionId:t,currentTime:r,duration:n});if(function(){if(null===we)try{we="keepalive"in new Request(be)}catch{we=!1}return we}())fetch(s,{method:"POST",headers:ke(e),body:a,keepalive:!0}).catch(()=>{});else try{const t=new XMLHttpRequest;t.open("POST",s,!1),t.setRequestHeader("x-player-key",e),t.setRequestHeader("Content-Type","application/json"),t.send(a)}catch{}}(e,le.current,t,r,o)},[e,o,We]);(0,c.useEffect)(()=>{_e.current=Ke},[Ke]);const Xe=(0,c.useCallback)(()=>{if(Pe.current||!le.current)return;Le.current=Date.now();const t=Re.current-Ae.current;Pe.current=setTimeout(()=>{Pe.current=null,Ae.current=0,Le.current=null;const{contentTime:t,contentDuration:r}=Ie.current,n=le.current;Be(()=>ve(e,n,t,r,o)).catch(e=>{}),De.current()},t)},[e,o,Be]);(0,c.useEffect)(()=>{De.current=Xe},[Xe]);const Qe=(0,c.useRef)(!0);(0,c.useEffect)(()=>{Qe.current?Qe.current=!1:(Me.current=!0,Se.current=void 0,Oe())},[K,Oe]),(0,c.useEffect)(()=>{const e=()=>{Q.notifyDismissed(),Ke()};return window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),()=>{window.removeEventListener("beforeunload",e),window.removeEventListener("pagehide",e),Ke(),We()}},[Ke,We,Q]);const Je=(0,c.useCallback)((e=4e3)=>new Promise(t=>{const r=e=>{clearTimeout(n),$e.current=$e.current.filter(e=>e!==r),t(e)},n=setTimeout(()=>{$e.current=$e.current.filter(e=>e!==r),t(void 0)},e);$e.current.push(r)}),[]),Ge=(0,c.useCallback)(t=>{me.current=!1;const r=t.contentDuration??t.duration;de.current=(Number.isFinite(r)&&r>0?Promise.resolve(r):Je()).then(t=>ye(e,{sessionId:le.current,videoId:ze,videoTitle:h,videoUrl:Fe.current,contentDurationSec:t},o)).catch(e=>{me.current=!0})},[e,o,ze,h,Je]),Ye=(0,c.useCallback)(t=>{const r=t;if(void 0!==t.currentTime){const e=t.contentTime??t.currentTime,r=t.contentDuration??t.duration;if(Ie.current={currentTime:t.currentTime,duration:t.duration,contentTime:e,contentDuration:r},$e.current.length>0&&Number.isFinite(r)&&r>0){const e=$e.current;$e.current=[],e.forEach(e=>e(r))}}if("error"!==t.eventType&&"network_error"!==t.eventType||(Ne.current=!0),Ne.current&&("buffering_end"===t.eventType||"play"===t.eventType)&&oe.current&&le.current&&!ue.current&&(Ne.current=!1,me.current&&Ge(t)),"session_start"!==t.eventType||oe.current||(oe.current=!0,ue.current=!1,Ne.current=!1,le.current="string"==typeof r.sessionId?r.sessionId:"",Ge(t),ce.current||Xe()),"play"!==t.eventType||!oe.current||ce.current||Me.current||Xe(),"pause"===t.eventType&&Oe(),"buffering_start"===t.eventType&&Oe(),"buffering_end"===t.eventType&&oe.current&&!ce.current&&(Me.current=!1,Xe()),"ended"===t.eventType&&(We(),le.current&&!ue.current)){ue.current=!0;const{contentTime:t,contentDuration:r}=Ie.current,n=le.current;le.current="",oe.current=!1,Be(()=>xe(e,n,t,r,o)).catch(e=>{})}if(oe.current&&le.current&&!ue.current){const r=function(e,t){switch(e.eventType){case"pause":return{eventType:"pause",extras:{}};case"seek":return{eventType:"seek",extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case"mute":return{eventType:"mute",extras:{isMuted:e.isMuted??!0}};case"fast_forward":return{eventType:"fast_forward",extras:{skipSeconds:e.skipSeconds??10}};case"fast_backward":return{eventType:"fast_backward",extras:{skipSeconds:e.skipSeconds??10}};case"key_moments":return{eventType:"key_moments",extras:{momentTitle:e.momentTitle??"",momentTime:e.momentTime??0}};case"buffering_start":return{eventType:"buffering_start",extras:{bufferingCount:e.bufferingCount??0}};case"buffering_end":return{eventType:"buffering_end",extras:{}};case"quality_change":return t&&e.rendition&&t!==e.rendition?{eventType:"quality_change",extras:{from:t,to:e.rendition}}:null;case"speed_change":return{eventType:"speed_change",extras:{speed:e.speed??1}};case"subtitle_change":return!1===e.subtitleEnabled?{eventType:"subtitle_disable",extras:{enabled:!1}}:{eventType:"subtitle_change",extras:{language:e.subtitleLanguage??"",enabled:!0}};case"audio_track_change":return{eventType:"audio_track_change",extras:{track:e.audioTrack??""}};case"pip_toggle":return{eventType:"pip_toggle",extras:{enabled:"entered"===e.errorMessage}};case"fullscreen_enter":return{eventType:"fullscreen_toggle",extras:{enabled:!0}};case"fullscreen_exit":return{eventType:"fullscreen_toggle",extras:{enabled:!1}};case"error":return{eventType:"player_error",extras:{code:null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",message:e.errorMessage??"Unknown player error"}};case"network_error":return{eventType:"network_error",extras:{code:e.errorCode?String(e.errorCode):"NETWORK_ERROR",message:e.errorMessage??"Network error"}};default:return null}}(t,Se.current);if(r){const n={eventType:r.eventType,sessionId:le.current,currentTime:t.currentTime??0,videoId:ze,videoTitle:h,...r.extras};Be(()=>Te(e,n,o)).catch(e=>{})}}"quality_change"===t.eventType&&t.rendition&&(Se.current=t.rendition),Q.handleAnalyticsEvent(t),C?.(t)},[e,o,ze,h,Xe,Oe,We,C,Q,Be,Je,Ge]),Ze=(0,c.useCallback)(e=>{ce.current=e,e?Oe():oe.current&&Xe()},[Oe,Xe]),et=(0,c.useCallback)(e=>{Q.setKeyMoments(e),W(e),N?.(e)},[N,Q]),tt=(0,c.useCallback)(e=>{Ie.current={...Ie.current,currentTime:e},Q.handleTimeUpdate(e),P?.(e)},[P,Q]),rt=(0,c.useCallback)(()=>{if(le.current&&!ue.current){ue.current=!0,We();const{contentTime:t,contentDuration:r}=Ie.current,n=le.current;le.current="",oe.current=!1,Be(()=>xe(e,n,t,r,o)).catch(e=>{})}else We();z?.()},[z,e,o,We,Be]),nt=(0,c.useMemo)(()=>{if(!ee||!q)return ee;const e={...ee.features};for(const[t,r]of Object.entries(q)){const n=Ee[t];n&&(e[n]=e[n]&&!1!==r)}return{...ee,features:e}},[ee,q]);if("loading"===Y)return(0,d.jsxs)("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#000",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)("style",{children:"@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}"}),(0,d.jsx)("div",{style:{width:60,height:60,borderRadius:"50%",border:`4px solid rgba(${Ue}, 0.1)`,borderLeftColor:i,borderRightColor:`rgba(${Ue}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Ue}, 0.5))`,animation:"boss-sdk-spin 1s linear infinite"}})]});if("error"===Y){const e="auth"===ie;return(0,d.jsx)("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#09090e",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",gap:20},children:(0,d.jsx)(H,{title:e?"Invalid Player Key":"Something Went Wrong",subtitle:e?"Your player key is invalid or expired.\nPlease check your configuration.":"We encountered an error while connecting.\nPlease try again.",onRetry:()=>ne(e=>e+1)})})}return(0,d.jsx)(he,{src:G,sources:J,enableSources:B,enableQuality:U,activeSourceIndex:K,onSourceChange:e=>X(e),subtitles:r,keyMoments:O,themeColor:i,firebaseConfig:s,resolvedEntitlement:nt,licenseKey:n,title:h,artworkUrl:f,watermark:b,autoplay:k,muted:g,autoFullscreen:y,enableControls:v,enableSkipAd:x,skipAdAfterSeconds:T,chaptersDisplayMode:w,volumeControlType:S,subtitleStyle:j,drmConfig:E,overlayAdUrl:m,adTrackingUrl:u,videoId:ze,urlTransformer:He,onAnalyticsEvent:Ye,onAdBreakChange:Ze,onKeyMomentsLoaded:et,initialTime:R,onTimeUpdate:tt,skipMarkers:A,introStartTime:L,introEndTime:I,hasNextEpisode:D,outroStartTime:$,nextEpisodeLabel:_,onNextEpisode:rt,nextEpisodeAutoAdvanceSeconds:F,nextEpisodeThumbnailUrl:V})}exports.BossVideoPlayer=Me,exports.ErrorScreen=H,exports.FirebaseAnalyticsProvider=a.FirebaseAnalyticsProvider,exports.VideoPlayerSDK=a.VideoPlayerSDK,exports.WebVideoPlayer=he,exports.createPlayer=function(e,t){const r=(0,m.createRoot)(e);let n=t;return r.render((0,c.createElement)(Me,n)),{update(e){n={...n,...e},r.render((0,c.createElement)(Me,n))},destroy(){r.unmount()}}},exports.endSession=xe,exports.initSdk=ge,exports.normalizeSkipMarkers=B,exports.parseTimecode=U,exports.sendEvent=Te,exports.sendHeartbeat=ve,exports.startSession=ye;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty;const a=require("./chunks/src-C9mlHhBC.cjs");let c=require("react");var l,o;o=null!=(l=c)?e(i(l)):{},c=((e,i,a,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(var l,o=n(i),u=0,d=o.length;u<d;u++)l=o[u],s.call(e,l)||void 0===l||t(e,l,{get:(e=>i[e]).bind(null,l),enumerable:!(c=r(i,l))||c.enumerable});return e})(t(o,"default",{value:l,enumerable:!0}),l);let u=require("react-dom"),d=require("react/jsx-runtime"),m=require("react-dom/client");var p=(...e)=>e.filter((e,t,r)=>Boolean(e)&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),h=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)},f={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},b=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1},k=(0,c.createContext)({}),g=(0,c.forwardRef)(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:n,className:i="",children:s,iconNode:a,...l},o)=>{const{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:m=!1,color:h="currentColor",className:g=""}=(0,c.useContext)(k)??{},y=n??m?24*Number(r??d)/Number(t??u):r??d;return(0,c.createElement)("svg",{ref:o,...f,width:t??u??f.width,height:t??u??f.height,stroke:e??h,strokeWidth:y,className:p("lucide",g,i),...!s&&!b(l)&&{"aria-hidden":"true"},...l},[...a.map(([e,t])=>(0,c.createElement)(e,t)),...Array.isArray(s)?s:[s]])}),y=(e,t)=>{const r=(0,c.forwardRef)(({className:r,...n},i)=>{return(0,c.createElement)(g,{ref:i,iconNode:t,className:p(`lucide-${s=h(e),s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...n});var s});return r.displayName=h(e),r},v=y("airplay",[["path",{d:"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1",key:"ns4c3b"}],["path",{d:"m12 15 5 6H7Z",key:"14qnn2"}]]),x=y("captions",[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]]),T=y("cast",[["path",{d:"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6",key:"3zrzxg"}],["path",{d:"M2 12a9 9 0 0 1 8 8",key:"g6cvee"}],["path",{d:"M2 16a5 5 0 0 1 4 4",key:"1y1dii"}],["line",{x1:"2",x2:"2.01",y1:"20",y2:"20",key:"xu2jvo"}]]),w=y("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),S=y("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),j=y("cloud-off",[["path",{d:"M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057",key:"1uxyv8"}],["path",{d:"M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78",key:"99tcn7"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),E=y("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),C=y("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]),M=y("languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]),N=y("list-video",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 19H3",key:"108z41"}],["path",{d:"M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z",key:"ms4nik"}]]),R=y("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),P=y("minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),A=y("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),L=y("picture-in-picture",[["path",{d:"M2 10h6V4",key:"zwrco"}],["path",{d:"m2 4 6 6",key:"ug085t"}],["path",{d:"M21 10V7a2 2 0 0 0-2-2h-7",key:"git5jr"}],["path",{d:"M3 14v2a2 2 0 0 0 2 2h3",key:"1f7fh3"}],["rect",{x:"12",y:"14",width:"10",height:"7",rx:"1",key:"1wjs3o"}]]),I=y("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),D=y("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),$=y("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),_=y("skip-forward",[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]]),z=y("volume-1",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}]]),F=y("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),V=y("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]),q=y("volume",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}]]);function H({offline:e=!1,title:t=(e?"No Internet Connection":"Something Went Wrong"),subtitle:r=(e?"Please check your network connection and try again.":"We encountered an error while playing this video.\nPlease try again."),onRetry:n,icon:i=(e?(0,d.jsx)(j,{size:36,color:"rgba(255,255,255,0.85)"}):void 0)}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{style:{width:80,height:80,borderRadius:"50%",background:"rgba(255,255,255,0.08)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:i??(0,d.jsxs)("svg",{width:"36",height:"36",viewBox:"0 0 24 24",fill:"none",stroke:"rgba(255,255,255,0.85)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),(0,d.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,d.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]})}),(0,d.jsxs)("div",{style:{textAlign:"center",padding:"0 24px"},children:[(0,d.jsx)("p",{style:{color:"#ffffff",fontSize:22,fontWeight:700,margin:"0 0 8px",letterSpacing:"-0.2px"},children:t}),(0,d.jsx)("p",{style:{color:"rgba(255,255,255,0.5)",fontSize:14,margin:0,lineHeight:1.6,whiteSpace:"pre-line"},children:r})]}),(0,d.jsxs)("button",{onClick:n,style:{display:"flex",alignItems:"center",gap:10,background:"#ffffff",color:"#09090e",border:"none",borderRadius:10,padding:"14px 32px",fontSize:16,fontWeight:700,cursor:"pointer",letterSpacing:"-0.1px"},children:[(0,d.jsx)(D,{size:20,strokeWidth:2.5}),"Retry Now"]})]})}function U(e){if("number"==typeof e)return Number.isFinite(e)&&e>=0?e:null;if("string"!=typeof e)return null;const t=e.trim();if(""===t)return null;const r=t.split(":");if(r.length>3)return null;let n=0;for(const i of r){if(!/^\d+(\.\d+)?$/.test(i))return null;n=60*n+Number(i)}return Number.isFinite(n)?n:null}function B(e,t,r){const n=[];for(const i of e??[]){if(!i)continue;const e=U(i.start),t=U(i.end);null==e||null==t||t<=e||n.push({id:`${e}-${t}`,title:i.title?.trim()||void 0,start:e,end:t})}return 0===n.length&&null!=t&&null!=r&&r>t&&n.push({id:`${t}-${r}`,start:t,end:r}),n.sort((e,t)=>e.start-t.start)}var O=!1,W=e=>{if(!e||e.length<10)return null;if(73!==e[0]||68!==e[1]||51!==e[2])return null;const t=e[3],r=(127&e[6])<<21|(127&e[7])<<14|(127&e[8])<<7|127&e[9],n=Math.min(10+r,e.length);let i=10;for(;i+10<=n;){const r=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),s=t>=4?(127&e[i+4])<<21|(127&e[i+5])<<14|(127&e[i+6])<<7|127&e[i+7]:e[i+4]<<24|e[i+5]<<16|e[i+6]<<8|e[i+7];if(s<=0||i+10+s>n)break;if("TIT2"===r){const t=e[i+10],r=e.slice(i+11,i+10+s),n=(1===t||2===t?new TextDecoder("utf-16").decode(r):new TextDecoder(3===t?"utf-8":"latin1").decode(r)).replace(/\0/g,"").trim();if(n)return n}i+=10+s}return null},K=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M7 8 3 12l4 4"}),(0,d.jsx)("path",{d:"M21 6H11"}),(0,d.jsx)("path",{d:"M21 12H11"}),(0,d.jsx)("path",{d:"M21 18H11"})]}),X=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"2",y:"5",width:"20",height:"14",rx:"3"}),(0,d.jsx)("path",{d:"M7 9v6M7 12h3M10 9v6"}),(0,d.jsx)("path",{d:"M14 9h1.5a3 3 0 0 1 0 6H14z"})]}),Q=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"2",y:"5",width:"20",height:"14",rx:"3"}),(0,d.jsx)("path",{d:"M7 9v6M7 12h3M10 9v6"}),(0,d.jsx)("path",{d:"M14 9h1.5a3 3 0 0 1 0 6H14z"})]}),J=e=>{const t=e.replace("#","");return 6===t.length?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:3===t.length?`${parseInt(t[0]+t[0],16)}, ${parseInt(t[1]+t[1],16)}, ${parseInt(t[2]+t[2],16)}`:"99, 102, 241"},G={en:"English",eng:"English",fr:"French",fre:"French",fra:"French",es:"Spanish",spa:"Spanish",de:"German",ger:"German",deu:"German",it:"Italian",ita:"Italian",pt:"Portuguese",por:"Portuguese",ja:"Japanese",zh:"Chinese",ko:"Korean",ru:"Russian",ar:"Arabic",hi:"Hindi",ta:"Tamil",tam:"Tamil"},Y=e=>{if(!e)return null;const t=e.trim().toLowerCase(),r=t.match(/^(en|eng|fr|fre|fra|es|spa|de|ger|deu|it|ita|pt|por|ja|zh|ko|ru|ar|hi|ta|tam)/);if(r&&G[r[0]])return G[r[0]];for(const[n,i]of Object.entries(G))if(t.includes(n))return i;return/english|anglais|ingles/i.test(t)?"English":/french|français/i.test(t)?"French":/spanish|español/i.test(t)?"Spanish":/german|deutsch/i.test(t)?"German":/italian|italiano/i.test(t)?"Italian":/portuguese|português/i.test(t)?"Portuguese":/japanese|nihongo/i.test(t)?"Japanese":/chinese|中文/i.test(t)?"Chinese":/korean|한국어/i.test(t)?"Korean":/tamil|தமிழ்/i.test(t)?"Tamil":/russian|русский/i.test(t)?"Russian":/arabic|العربية/i.test(t)?"Arabic":/hindi|हिन्दी/i.test(t)?"Hindi":null},Z=e=>{if(e.lang){const t=Y(e.lang);if(t)return t}if(e.label){const t=e.label.trim(),r=t.split(/[#\d\.\s\-_/|:]+/).filter(Boolean);for(let e=r.length-1;e>=0;e-=1){const t=Y(r[e]);if(t)return t}const n=t.replace(/^[#\d\.\s]+/,"").trim();return Y(n)||n}return"Unknown"},ee=e=>{const t=new Set;return e.filter(e=>{const r=`${Z(e).toLowerCase()}|${(e.lang||"").trim().toLowerCase()}`;return!t.has(r)&&(t.add(r),!0)})},te=e=>{const t=(e??"").split(":").map(Number);return 3600*(t[0]||0)+60*(t[1]||0)+(t[2]||0)},re=e=>{if(!e)return!1;try{const{protocol:t}=new URL(e,window.location.href);return"http:"===t||"https:"===t}catch{return!1}},ne=e=>{if("number"==typeof e)return Number.isFinite(e)&&e>=0?e:null;if("string"!=typeof e)return null;const t=e.trim();if(!t)return null;if(/^\d+:\d{1,2}:\d{1,2}(\.\d+)?$/.test(t))return te(t);const r=Number(t);return Number.isFinite(r)&&r>=0?r:null},ie=[0,250,500,750,1e3,1500,2e3,3e3,5e3,8e3],se="undefined"!=typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent),ae="undefined"!=typeof navigator&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,ce=se&&!ae,le=new Set,oe=(e,t,r)=>{const n=t.find(t=>e>=t.startTime&&e<t.endTime&&!r.has(t.startTime));if(n)return n;let i;for(const s of t)s.startTime<=1&&s.startTime>0&&!r.has(s.startTime)&&e<s.startTime&&(!i||s.endTime>i.endTime)&&(i=s);return i},ue=(e,t,r)=>{if(oe(e,t,r))return!0;const n=t.reduce((e,t)=>t.startTime<=1&&!r.has(t.startTime)?Math.max(e,t.endTime):e,0);return n>0&&e<n},de=2e3,me=4e3;function pe(e,t,r,n=!1,i){let s,a=!1,c=null,l=!1,o=!1;const u=()=>{l||o||(l=!0,i?.())},d=i=>{s=setTimeout(()=>{a||fetch(e).then(e=>e.json()).then(e=>{if(a)return;const s=t(e);if(null!==s){o=!0;const e=JSON.stringify(s);if(e!==c&&(c=e,r(s)),!n)return}else u();i+1<ie.length&&d(i+1)}).catch(()=>{a||(u(),i+1<ie.length&&d(i+1))})},ie[i])};return d(0),()=>{a=!0,s&&clearTimeout(s)}}var he=({src:e,autoplay:t=!1,muted:r=!1,chapters:n=[],keyMoments:i,subtitles:s=[],thumbnails:l,watermark:o,themeColor:m="#6366f1",drmConfig:p,firebaseConfig:h,videoId:f,onAnalyticsEvent:b,onAdBreakChange:k,onKeyMomentsLoaded:g,enableControls:y=!0,enableChromecast:j,enableKeyMoments:U,enableSubtitles:G,enableQuality:Y,enableSources:ie=!1,enablePlaybackSpeed:he,enablePiP:fe,enableFullscreen:be=!0,autoFullscreen:ke=!1,watchProgressInterval:ge=30,subtitleStyle:ye={},resolvedEntitlement:ve,title:xe,artworkUrl:Te,chaptersDisplayMode:we="strip",volumeControlType:Se="slider",urlTransformer:je,pauseAdOnTabSwitch:Ee=!0,enableSkipAd:Ce=!1,skipAdAfterSeconds:Me=5,overlayAdUrl:Ne,adTrackingUrl:Re,sources:Pe,activeSourceIndex:Ae=0,onSourceChange:Le,initialTime:Ie,onTimeUpdate:De,skipMarkers:$e,introStartTime:_e,introEndTime:ze,hasNextEpisode:Fe,outroStartTime:Ve,nextEpisodeLabel:qe="Next Episode",onNextEpisode:He,nextEpisodeAutoAdvanceSeconds:Ue=5,nextEpisodeThumbnailUrl:Be})=>{const Oe=je??(e=>e),We=(0,c.useRef)(null),Ke=(0,c.useRef)(null),Xe=(0,c.useRef)(!1),Qe=(0,c.useRef)(null),Je=(0,c.useRef)(0),Ge=(0,c.useRef)(null),Ye=(0,c.useRef)(null),Ze=(0,c.useRef)(null),et=(0,c.useRef)(null),tt=(0,c.useRef)(!1),rt=(0,c.useRef)(!1),nt=(0,c.useRef)(null),it=(0,c.useRef)(null),st=(0,c.useRef)(null),at=(0,c.useRef)(!1),ct=(0,c.useRef)(null),lt=(0,c.useRef)(()=>{}),ot=(0,c.useRef)(null),ut=(0,c.useRef)(!1),dt=(0,c.useRef)(null),mt=e=>{const t=dt.current;if(!t)return!0;const r=t.getContext("2d");if(!r)return!0;if(r.clearRect(0,0,t.width,t.height),!e||!e.videoWidth||!e.videoHeight)return!0;try{if("function"==typeof r.getImageData){const t=document.createElement("canvas");t.width=16,t.height=9;const r=t.getContext("2d");if(r&&"function"==typeof r.getImageData){r.drawImage(e,0,0,t.width,t.height);const n=r.getImageData(0,0,t.width,t.height).data;let i=!0;for(let e=4;e<n.length;e+=4)if(Math.abs(n[e]-n[0])>8||Math.abs(n[e+1]-n[1])>8||Math.abs(n[e+2]-n[2])>8){i=!1;break}if(i)return!1}}return t.width=e.videoWidth,t.height=e.videoHeight,r.drawImage(e,0,0,t.width,t.height),!0}catch(n){return r.clearRect(0,0,t.width,t.height),!1}},pt=(0,c.useRef)(!0),ht=(0,c.useRef)(0),ft=(0,c.useRef)(null),bt=()=>{ht.current+=1,ft.current&&(window.clearTimeout(ft.current),ft.current=null)},kt=(0,c.useRef)(null),gt=(0,c.useRef)(!1),yt=e=>{e&&null===kt.current&&(gt.current||(kt.current=e.muted,e.muted=!0))},vt=e=>{null!==kt.current&&(e&&(e.muted=kt.current),kt.current=null)},xt=(0,c.useRef)(null),Tt=(0,c.useRef)(!1),wt=(0,c.useRef)(null),[St,jt]=(0,c.useState)(null),Et=(0,c.useRef)(null),Ct=(0,c.useRef)(null),Mt=(0,c.useRef)(null),Nt=(0,c.useRef)(null),Rt=(0,c.useRef)(null),Pt=(0,c.useRef)(null),At=(0,c.useRef)(null),Lt=(0,c.useRef)(Pe),It=(0,c.useRef)(Le),Dt=(0,c.useRef)(!1),$t=(0,c.useRef)(null),_t=(0,c.useRef)(null),zt=(0,c.useRef)(!1),Ft=(0,c.useRef)(null),Vt=(0,c.useRef)(null),qt=(0,c.useRef)(null),Ht=(0,c.useRef)(null),Ut=(0,c.useRef)(0),Bt=(0,c.useRef)(null),Ot=(0,c.useRef)(null),Wt=(0,c.useRef)(null),[Kt,Xt]=(0,c.useState)(!1),Qt=(0,c.useRef)(!1),Jt=(0,c.useRef)(null),[Gt,Yt]=(0,c.useState)(null);(0,c.useEffect)(()=>{if("undefined"==typeof window||O)return;const e=window.requestAnimationFrame(()=>{const e=We.current;if(!e)return;const t=window.getComputedStyle(e);"hidden"!==t.overflow&&"0px"===t.borderTopLeftRadius&&(O=!0)});return()=>window.cancelAnimationFrame(e)},[]),(0,c.useEffect)(()=>{const e=We.current;if(!e)return;const t=new ResizeObserver(e=>{for(const t of e)Xt(t.contentRect.width<=768)});return t.observe(e),Xt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);const[Zt,er]=(0,c.useState)(null),tr=(0,c.useRef)(null),[rr,nr]=(0,c.useState)(!1),ir=ve??null,sr=null!=ir,ar=ir?.features??{},cr=!1,lr={enableSubtitles:"boolean"==typeof G?G:!sr||Boolean(ar.subtitle_support),enableChromecast:"boolean"==typeof j?j:!sr||Boolean(ar.chromecast),enableKeyMoments:"boolean"==typeof U?U:!sr||Boolean(ar.key_moments),enableQuality:"boolean"!=typeof Y||Y,enablePlaybackSpeed:"boolean"==typeof he?he:!sr||Boolean(ar.playback_speed),enablePiP:"boolean"==typeof fe?fe:!sr||Boolean(ar.picture_in_picture),allowAirplay:!!sr&&Boolean(ar.airplay),allowMultipleAudio:!sr||Boolean(ar.multiple_audio),m3u8_playback:!sr||Boolean(ar.m3u8_playback),drm_protection:!!sr&&Boolean(ar.drm_protection)},[or,ur]=(0,c.useState)(!1),[dr,mr]=(0,c.useState)("undefined"!=typeof navigator&&!navigator.onLine),[pr,hr]=(0,c.useState)(!1),[fr,br]=(0,c.useState)(0),[kr,gr]=(0,c.useState)(!1),[yr,vr]=(0,c.useState)(0),[xr,Tr]=(0,c.useState)(0),[wr,Sr]=(0,c.useState)(1),[jr,Er]=(0,c.useState)(!1),[Cr,Mr]=(0,c.useState)(!1),[Nr,Rr]=(0,c.useState)(!1),Pr=(0,c.useRef)(!1),Ar=(0,c.useRef)(null),Lr=(0,c.useRef)(0),Ir=(0,c.useCallback)(()=>{if(!Pr.current||ut.current)return null!==Ar.current&&(window.clearTimeout(Ar.current),Ar.current=null),void Mr(!1);if(null!==Ar.current)return;const e=Math.max(400,Lr.current-Date.now());Ar.current=window.setTimeout(()=>{Ar.current=null,Pr.current&&!ut.current&&(Date.now()<Lr.current?Ir():Mr(!0))},e)},[]);(0,c.useEffect)(()=>()=>{null!==Ar.current&&window.clearTimeout(Ar.current)},[]);const Dr=(0,c.useCallback)(e=>{Pr.current=e,Ir()},[Ir]);(0,c.useEffect)(()=>{const e=()=>mr(!1),t=()=>mr(!0);return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]);const $r=(0,c.useCallback)(()=>{hr(!1),ur(!0),Dr(!1),Pt.current=null,At.current&&(clearTimeout(At.current),At.current=null),Rr(!1),Vt.current=null,qt.current&&(window.clearTimeout(qt.current),qt.current=null),$t.current&&($t.current.style.opacity="0")},[Dr]),_r=(0,c.useCallback)(()=>{if("function"!=typeof fetch||"undefined"==typeof window)return Promise.resolve(!0);const e="undefined"!=typeof AbortController?new AbortController:void 0,t=e?window.setTimeout(()=>e.abort(),5e3):null;return fetch(`${window.location.origin}${window.location.pathname}?_gbConnCheck=${Date.now()}`,{method:"HEAD",cache:"no-store",signal:e?.signal}).then(()=>!0).catch(()=>!1).finally(()=>{null!==t&&window.clearTimeout(t)})},[]),zr=(0,c.useCallback)(()=>{ur(!1),hr(!1),Dr(!0),null!==Ct.current&&$t.current&&($t.current.style.opacity="1"),br(e=>e+1)},[Dr]);(0,c.useEffect)(()=>{if(or||!dr||!Cr&&!pr)return;const e=window.setTimeout(()=>{if(null===Ct.current&&Zt){const e=Zt.getCurrentTime();Number.isFinite(e)&&e>0&&(Ct.current=e)}$r()},1e4);return()=>window.clearTimeout(e)},[dr,Cr,pr,or,Zt,$r]),(0,c.useEffect)(()=>{if(or||dr||!Cr)return;let e=!1;const t=window.setTimeout(()=>{_r().then(t=>{if(!e){if(!t)return mr(!0),hr(!0),void Dr(!0);if(null===Ct.current&&Zt){const e=Zt.getCurrentTime();Number.isFinite(e)&&e>0&&(Ct.current=e)}$r()}})},3e4);return()=>{e=!0,window.clearTimeout(t)}},[dr,Cr,or,Zt,$r,_r]),(0,c.useEffect)(()=>{!dr&&pr&&zr()},[dr,pr,zr]),(0,c.useEffect)(()=>{if(!pr)return;let e=!1;const t=window.setInterval(()=>{_r().then(t=>{!e&&t&&(mr(!1),zr())})},4e3);return()=>{e=!0,window.clearInterval(t)}},[pr,_r,zr]);const[Fr,Vr]=(0,c.useState)(!1),[qr,Hr]=(0,c.useState)(!1),[Ur,Br]=(0,c.useState)(!1),Or=Kt||(Fr||qr)&&Ur,Wr=(0,c.useRef)(!1);Wr.current=Or;const[Kr,Xr]=(0,c.useState)(!1),[Qr,Jr]=(0,c.useState)(null),[Gr,Yr]=(0,c.useState)(!1),[Zr,en]=(0,c.useState)([]),tn=(0,c.useRef)([]),rn=(0,c.useRef)(new Set),[nn,sn]=(0,c.useState)(!1),an=(0,c.useRef)(!1),cn=Pe&&Pe.length>0?Pe.map(e=>e.url).join("|"):e,[ln,on]=(0,c.useState)(new Set),[un,dn]=(0,c.useState)(cn),mn=(0,c.useRef)(null),pn=(0,c.useRef)(!1),hn=(0,c.useRef)(null);un!==cn&&(dn(cn),on(new Set),rn.current=new Set,mn.current=null,pn.current=!1);const fn=(0,c.useRef)(null),bn=(0,c.useRef)(!1),[kn,gn]=(0,c.useState)([]),[yn,vn]=(0,c.useState)(null),xn=(0,c.useRef)([]),Tn=(0,c.useRef)(null),wn=(0,c.useRef)(new Set),[Sn,jn]=(0,c.useState)([]),En=(0,c.useRef)([]),[Cn,Mn]=(0,c.useState)(!1),Nn=(0,c.useRef)(!1),Rn=(0,c.useCallback)(()=>{Nn.current||(Nn.current=!0,Mn(!0))},[]),[Pn,An]=(0,c.useState)(!1),Ln=(0,c.useRef)(!1),In=(0,c.useCallback)(()=>{Ln.current||(Ln.current=!0,An(!0))},[]),[Dn,$n]=(0,c.useState)(!1),_n=(0,c.useRef)(!1),[zn,Fn]=(0,c.useState)(!1),[Vn,qn]=(0,c.useState)(!1),Hn=(0,c.useRef)(null),[Un,Bn]=(0,c.useState)({w:0,h:0}),[On,Wn]=(0,c.useState)(null),[Kn,Xn]=(0,c.useState)([]),[Qn,Jn]=(0,c.useState)(0),Gn=(0,c.useRef)(0),Yn=(0,c.useRef)(0),Zn=e=>{const t=En.current.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds);if(t)return{start:t.startTimeSeconds,end:t.endTimeSeconds};const r=tn.current.find(t=>e>=t.startTime&&e<t.endTime);return r?{start:r.startTime,end:r.endTime}:null},[ei,ti]=(0,c.useState)(null),[ri,ni]=(0,c.useState)(null),ii=(0,c.useRef)(null);(0,c.useEffect)(()=>{ii.current=ei},[ei]);const si=(0,c.useRef)(!1),ai=(0,c.useMemo)(()=>Zr.reduce((e,t)=>e+(t.endTime-t.startTime),0),[Zr]),ci=xr>0?xr:ei?ri?.duration??0:0,li=ci>0?Math.max(0,ci-ai):0,oi=Zr.length>0&&li>0?li:ci,ui=(0,c.useCallback)(e=>{let t=e;for(const r of Zr)e>=r.endTime?t-=r.endTime-r.startTime:e>=r.startTime&&(t-=e-r.startTime);return Math.max(0,t)},[Zr]),di=(0,c.useCallback)(e=>{const t=[...Zr].sort((e,t)=>e.startTime-t.startTime);let r=e;for(const n of t)r>n.startTime&&(r+=n.endTime-n.startTime);return r},[Zr]),mi=(0,c.useCallback)(e=>e.startTime>.1&&e.endTime<ci-.1,[ci]),pi=(0,c.useCallback)((e,t)=>{if(oi<=0||t<=0)return!1;for(const r of Zr){if(ln.has(r.startTime)||!mi(r))continue;const n=ui(r.startTime)/oi*t;if(e>=n-2&&e<=n+3+2)return!0}return!1},[Zr,oi,ln,mi,ui]),[hi,fi]=(0,c.useState)([]),[bi,ki]=(0,c.useState)({id:-1,height:0,width:0,bitrate:0,label:"Auto"}),[gi,yi]=(0,c.useState)(""),[vi,xi]=(0,c.useState)("off"),[Ti,wi]=(0,c.useState)(ee(s)),[Si,ji]=(0,c.useState)([]),[Ei,Ci]=(0,c.useState)(0);(0,c.useEffect)(()=>{if(Zt){const e=Zt.subtitles.getTracks();wi(ee([...s,...e.filter(e=>!s.some(t=>t.id===e.id))]))}else wi(ee(s))},[s.map(e=>e.id).join(","),Zt]);const[Mi,Ni]=(0,c.useState)({chapter:null,index:-1}),[Ri,Pi]=(0,c.useState)(i||n||[]),[Ai,Li]=(0,c.useState)("none"),[Ii,Di]=(0,c.useState)(1),[$i,_i]=(0,c.useState)(!1),[zi,Fi]=(0,c.useState)({}),[Vi,qi]=(0,c.useState)(""),[Hi,Ui]=(0,c.useState)(null),Bi=(0,c.useRef)(!1),Oi=JSON.stringify(Ri.map(e=>({title:e.title,startTime:e.startTime})));(0,c.useEffect)(()=>{Pi(i||n||[])},[(i||n||[]).map(e=>`${e.startTime}:${e.title}`).join(",")]),(0,c.useEffect)(()=>{if(!e||!Ri||0===Ri.length)return;Fi({});const t=document.createElement("video");t.setAttribute("playsinline","true"),t.setAttribute("webkit-playsinline","true"),t.playsInline=!0,t.webkitPlaysInline=!0,t.muted=!0,t.preload="metadata",t.crossOrigin="anonymous",t.style.cssText="position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;",document.body.appendChild(t);let r=null;const n=e.includes(".m3u8"),i=document.createElement("canvas");i.width=160,i.height=90;const s=i.getContext("2d");let c=0,l=!1;const o=()=>{if(c>=Ri.length)return void m();const e=Ri[c].startTime;t.currentTime=0===e?.01:e},u=()=>{if(s&&t.readyState>=2){s.drawImage(t,0,0,i.width,i.height);const e=i.toDataURL("image/jpeg",.8);Fi(t=>({...t,[c]:e})),c++,o()}else setTimeout(u,100)},d=()=>{l||(l=!0,o())};t.addEventListener("seeked",u),t.addEventListener("canplay",d),n&&a.Hls.isSupported()?(r=new a.Hls({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{const r=p?.authToken;try{const n=Oe(t),i=new URL(n,window.location.origin);r&&i.searchParams.set("token",r),e.open("GET",i.toString(),!0)}catch(n){}}}),r.loadSource(Oe(e)),r.attachMedia(t)):t.src=e,t.readyState>=2&&d();const m=()=>{t.removeEventListener("seeked",u),t.removeEventListener("canplay",d),r&&r.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return m},[e,Oi]);const Wi=(0,c.useRef)(!1),Ki=(0,c.useRef)(0),Xi=(0,c.useRef)(0),Qi=(0,c.useRef)(null),Ji=(0,c.useRef)(0),Gi=(0,c.useRef)(null),Yi=(0,c.useRef)(0),Zi=e=>{Qi.current=e,Ji.current=0,Gi.current=null,Yi.current=Date.now()},es=()=>{Qi.current=null,Ji.current=0,Gi.current=null,Yi.current=0},ts=e=>{if(null!==Ct.current)return Ct.current;if(!Dt.current&&(Ie??0)>0)return Ie;const t=Vt.current??wt.current;return null!==t&&t>0&&e.getCurrentTime()<1?t:e.getCurrentTime()},rs=e=>{const t=e.drm?.getRequestHeaders?.()??{},r=Ti.filter(e=>!!e.src).map(e=>({id:e.id,label:e.label,language:e.lang,src:e.src}));return{...Object.keys(t).length>0?{headers:t}:{},...o?{watermark:o}:{},...r.length>0?{externalSubtitles:r}:{},...re(Re)?{adTrackingUrl:Re}:{}}},[ns,is]=(0,c.useState)(!1),[ss,as]=(0,c.useState)(!1),[cs,ls]=(0,c.useState)(null);gt.current=ss;const os=(0,c.useRef)(0),us=(0,c.useRef)(0),[ds,ms]=(0,c.useState)(null),[ps,hs]=(0,c.useState)(0),[fs,bs]=(0,c.useState)(0),[ks,gs]=(0,c.useState)(null),[ys,vs]=(0,c.useState)(null),xs=(0,c.useRef)(!1),[Ts,ws]=(0,c.useState)(!1),[Ss,js]=(0,c.useState)(null);(0,c.useEffect)(()=>{ws(!1)},[l?.spriteUrl]);const Es=!!Zt?.thumbnails.hasThumbnails()&&!Ts;(0,c.useEffect)(()=>{if(!Zt?.thumbnails.hasThumbnails())return;const e=Zt.thumbnails.getThumbnail(0);e?.url&&((new Image).src=Oe(e.url))},[Zt]),(0,c.useEffect)(()=>{if(ct.current&&!ct.current.querySelector("google-cast-launcher")){const e=document.createElement("google-cast-launcher");e.style.cursor="pointer",e.style.width="100%",e.style.height="100%",e.style.display="block",ct.current.appendChild(e)}},[]),(0,c.useEffect)(()=>{if(!Zt)return is(!1),as(!1),void ls(null);const e=Zt.getVideoElement(),t=e,r="function"==typeof t?.webkitShowPlaybackTargetPicker,n=e=>is(e&&r),i=()=>{const e=Boolean(t?.webkitCurrentPlaybackTargetIsWireless);return as(e),ls(e?t.webkitCurrentPlaybackTargetName||"AirPlay device":null),e};n(Zt.casting.isAirPlayAvailable()),i();const s=e=>{n("available"===e.availability)},a=()=>{const e=gt.current,t=i(),r=Zt.getCurrentTime(),n=Number.isFinite(r)&&r>=0;if(t&&!e){n&&vr(r),os.current=0;const e=nt.current;return void(rt.current&&null!==e&&Zt.seek(e))}if(!t&&e){os.current=0,rt.current&&(rt.current=!1,nt.current=null,it.current=null,st.current&&(window.clearTimeout(st.current),st.current=null)),n&&vr(r);const e=Zt.getVideoElement();e&&e.paused&&!e.ended&&at.current&&Zt.play()}};return r&&(e.addEventListener("webkitplaybacktargetavailabilitychanged",s),e.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",a)),()=>{r&&(e.removeEventListener("webkitplaybacktargetavailabilitychanged",s),e.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged",a))}},[Zt]);const[Cs,Ms]=(0,c.useState)(""),Ns=`${cn}::${f??""}`,[Rs,Ps]=(0,c.useState)(Ns),[As,Ls]=(0,c.useState)(!1),[Is,Ds]=(0,c.useState)(xe);Rs!==Ns?(Ps(Ns),Ms(""),Ls(xe===Is&&Boolean(xe)),Ds(xe)):xe!==Is&&(Ds(xe),As&&Ls(!1));const $s=(As?void 0:xe)||Cs||"",_s=(0,c.useRef)(xe),zs=(0,c.useRef)(Cs);_s.current=xe,zs.current=Cs;const[Fs,Vs]=(0,c.useState)(!1),[qs,Hs]=(0,c.useState)(!1),[Us,Bs]=(0,c.useState)(!1),Os=(0,c.useRef)(!1),Ws=(0,c.useRef)(null),Ks=(0,c.useRef)(!1),Xs=(0,c.useRef)(null),Qs=(0,c.useRef)("none"),Js=(0,c.useRef)(s),Gs=(0,c.useRef)(0),Ys=(0,c.useRef)(!1),Zs=(0,c.useRef)(!1),ea=()=>{Gs.current=Date.now(),Vs(!0),!Wr.current&&We.current?.matches(":hover")&&(Ys.current=!0),Ws.current&&window.clearTimeout(Ws.current);const e=Wr.current||Qt.current?3500:1e4;Ws.current=window.setTimeout(()=>{Ws.current=null,at.current&&"none"===Qs.current&&(!Wr.current&&Ys.current||Vs(!1))},e)},ta=()=>{const e=at.current&&!Pr.current;if(Ln.current&&an.current||e){if(ii.current||Ks.current||!ue(Yn.current,tn.current,rn.current))Xs.current=null;else if(e)Xs.current=null;else{const e=Date.now();if(null===Xs.current&&(Xs.current=e),e-Xs.current<2500)return}ea()}},[ra,na]=(0,c.useState)(!1);(0,c.useEffect)(()=>{na(!ei&&!qs&&ue(yr,Zr,rn.current))},[yr,Zr,qs,ei]),(0,c.useEffect)(()=>{if(qs)return Zs.current=!1,Ws.current&&(window.clearTimeout(Ws.current),Ws.current=null),void Vs(!1);const e=kr;if(!e&&(!Pn||!nn||ra)&&!Zs.current)return Ws.current&&(window.clearTimeout(Ws.current),Ws.current=null),void Vs(!1);e&&y&&!Zs.current&&(Zs.current=!0,ea())},[qs,Pn,nn,ra,y,kr]);const ia=(0,c.useCallback)(e=>{Nt.current&&(clearTimeout(Nt.current),Nt.current=null);const t=Lt.current,r=t?.[e]?.label??"This format",n=t?.[0]?.label??"default";Rt.current=null,Ui(`${r} isn't supported on this device. Switched to ${n}.`),window.setTimeout(()=>Ui(null),4e3),It.current?.(0)},[]);(0,c.useEffect)(()=>{if(!We.current)return;$t.current&&null===Ct.current&&Ie&&Ie>0&&($t.current.style.opacity="1");const t=document.createElement("video");t.setAttribute("playsinline","true"),t.setAttribute("webkit-playsinline","true"),t.playsInline=!0,t.webkitPlaysInline=!0,t.muted=!0,t.preload="metadata",t.crossOrigin="anonymous",t.style.cssText="display:none;position:absolute;pointer-events:none;",document.body.appendChild(t),Ye.current=t;const n=e.includes(".m3u8");if(n&&a.Hls.isSupported()){const r=new a.Hls({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{const r=p?.authToken;try{const n=Oe(t),i=new URL(n,window.location.origin);r&&i.searchParams.set("token",r),e.open("GET",i.toString(),!0)}catch(n){}}});r.loadSource(Oe(e)),r.attachMedia(t),Ze.current=r,r.on(a.Hls.Events.MANIFEST_LOADED,(e,t)=>{if(_s.current)return;const r=(e=>{const t=e.match(/#EXT-X-TITLE:(.+)/);if(t?.[1]?.trim())return t[1].trim();const r=e.match(/#EXT-X-SESSION-DATA:[^\n]*DATA-ID="[^"]*title[^"]*"[^\n]*VALUE="([^"]+)"/i);return r?.[1]?.trim()?r[1].trim():null})(t?.networkDetails?.responseText??"");r&&Ms(r)}),r.on(a.Hls.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!_s.current&&!zs.current)for(const r of t?.samples??[]){const e=W(r.data);if(e){Ms(e);break}}})}else n&&t.canPlayType("application/vnd.apple.mpegurl"),t.src=e;let i;if(t.addEventListener("seeked",()=>{if(xs.current)return;const e=Ge.current;if(!e)return;const r=e.getContext("2d");r&&t.readyState>=2&&(r.drawImage(t,0,0,e.width,e.height),gs(e.toDataURL("image/jpeg",.82)))}),h){const e=new a.FirebaseAnalyticsProvider(h);Ke.current=e,i=e.createCallback()}const c=Wt.current;Wt.current=null;const u=new a.VideoPlayerSDK({container:We.current,src:e,videoId:f,title:xe,artworkUrl:Te,videoElement:c??void 0,autoplay:!1,muted:r,keyMoments:Ri,subtitles:s,thumbnails:l,drm:{watermarkText:o,allowedDomains:["localhost","127.0.0.1",window.location.hostname],...p},analyticsCallback:e=>{if(e.sessionId&&(null===mn.current?mn.current=e.sessionId:e.sessionId!==mn.current&&(e={...e,sessionId:mn.current})),"session_start"===e.eventType){if(pn.current)return;pn.current=!0}i?.(e),b&&b(e)},analyticsSessionSeed:hn.current?.key===cn?hn.current.snapshot:void 0,watchProgressInterval:1e3*ge,themeColor:m,urlTransformer:je}),d=Ot.current;if(d)if(d.closed)Ot.current=null,Jr(null),Xr(!1);else{const e=u.getVideoElement();e.classList.add("gb-pip-video"),d.document.body.insertBefore(e,d.document.body.firstChild)}if(c){const e=c;Xr(document.pictureInPictureElement===c||"picture-in-picture"===e.webkitPresentationMode)}u.on("keymomentsloaded",e=>{Pi(e),g&&g(e)}),u.on("chaptersloaded",e=>{Pi(e),g&&g(e)}),u.on("play",()=>{gr(!0),Yr(!1),T(u.getCurrentTime(),!1)}),u.on("pause",()=>{gr(!1),T(u.getCurrentTime(),!0)}),u.on("ended",()=>{gr(!1),Yr(!0)});const y=()=>{ut.current||(pt.current=mt(u.getVideoElement())),bt(),ut.current=!0,Ir(),ot.current&&pt.current&&(ot.current.style.transition="none",ot.current.style.opacity="1"),yt(u.getVideoElement())},v=()=>{const e=u.getVideoElement(),t=ht.current,r=()=>{t===ht.current&&(ft.current&&(window.clearTimeout(ft.current),ft.current=null),ut.current=!1,ot.current&&(ot.current.style.transition="opacity 180ms ease-out",ot.current.style.opacity="0"),vt(e),Lr.current=Date.now()+1e3,Ir())},n=e?.requestVideoFrameCallback;if("function"==typeof n){n.call(e,()=>r());const i=n=>{ft.current=window.setTimeout(()=>{(Pr.current||e.seeking||e.readyState<2)&&n+de<8e3&&t===ht.current?i(n+de):r()},de)};return void i(0)}requestAnimationFrame(()=>requestAnimationFrame(r))},x=(e,t=!1)=>{rt.current=!0;const r=t?e+.5:wt.current??e+.5;t||(wt.current=null),Tt.current=t,nt.current=r,it.current=u.getCurrentTime(),os.current=0,us.current=performance.now(),vr(r),t||jt(null),y(),u.seek(r),ii.current&&u.casting.remoteSkipAd(r);const n=u.getVideoElement(),i=gt.current;if(n&&!i){const e=()=>{n.removeEventListener("seeked",e),st.current&&(window.clearTimeout(st.current),st.current=null),rt.current=!1,nt.current=null,it.current=null;const t=Tt.current;Tt.current=!1,(t||null===wt.current)&&v(),t||null!==wt.current||jt(null)};n.addEventListener("seeked",e)}st.current&&window.clearTimeout(st.current);const s=i?me:3e3;st.current=window.setTimeout(()=>{rt.current=!1,nt.current=null,it.current=null,st.current=null,Tt.current=!1,jt(null),v()},s)};xt.current=x;const T=(e,t)=>{if(!("mediaSession"in navigator)||!navigator.mediaSession.setPositionState)return;navigator.mediaSession.playbackState=t?"paused":"playing";const r=u.getDuration();if(gt.current){if(r>0)try{navigator.mediaSession.setPositionState({duration:r,playbackRate:1,position:Math.min(Math.max(0,e),r)})}catch(i){}return}let n=tn.current.find(t=>e>=t.startTime&&e<t.endTime);if(!n&&Ks.current&&null!==fn.current&&(n=tn.current.find(e=>e.startTime===fn.current)),n){const t=n.endTime-n.startTime,r=Math.max(0,e-n.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(r,t)})}catch(i){}}else{const t=tn.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=r>0?Math.max(0,r-t):0;let s=e;for(const r of tn.current)e>=r.endTime?s-=r.endTime-r.startTime:e>=r.startTime&&(s-=e-r.startTime);s=Math.max(0,s);const a=tn.current.length>0&&n>0?n:r;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(s,a)})}catch(i){}}};u.on("timeupdate",e=>{const t=Bt.current;if(t&&(e>=t.end||e<t.start-.5?Bt.current=null:rt.current||null!==Vt.current||u.getVideoElement().seeking||(e-t.start<=1.5?Bt.current=null:t.attempts<2?(t.attempts++,u.seek(t.start)):Bt.current=null)),!rt.current&&null===Vt.current){const t=tn.current.find(t=>rn.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t)return void x(t.endTime);null!==wt.current&&tn.current.find(t=>e>=t.endTime-.5&&e<t.endTime)&&y()}if(rt.current&&null!==nt.current){const t=nt.current,r=null!==it.current&&t<it.current,n=gt.current,i=Math.abs(e-t)<=2;let s;if(n){const e=us.current>0?performance.now()-us.current:0;i&&e>=1200?os.current+=1:os.current=0,s=os.current>=2}else s=r?e<=t+2&&e>=t-2:e>=t-2;if(!s)return;{os.current=0,rt.current=!1,nt.current=null,it.current=null,st.current&&(window.clearTimeout(st.current),st.current=null);const t=tn.current.some(t=>e>=t.startTime&&e<t.endTime),r=Tt.current;Tt.current=!1,(r||!t&&null===wt.current)&&v(),t||null!==wt.current||jt(null)}}vr(e),Ut.current=e;const r=u.getDuration();if(Tr(r),null!==Vt.current&&e>=Vt.current-2){const t=tn.current.find(t=>rn.current.has(t.startTime)&&e>=t.startTime&&e<t.endTime);t&&x(t.endTime);const r=tn.current.some(t=>e>=t.startTime&&e<t.endTime&&!rn.current.has(t.startTime));Ks.current&&!r||(Vt.current=null,qt.current&&(window.clearTimeout(qt.current),qt.current=null),requestAnimationFrame(()=>{requestAnimationFrame(()=>{$t.current&&($t.current.style.opacity="0")})}))}if(!Dt.current&&Ln.current&&an.current&&null===Ct.current&&Ie&&Ie>0&&r>0&&Ie<r){Dt.current=!0;const t=tn.current.find(e=>Ie>=e.startTime&&Ie<e.endTime),r=t?t.startTime:Ie;Bt.current=t?{start:t.startTime,end:t.endTime,attempts:0}:null;const n=oe(e,tn.current,rn.current);n&&r>n.endTime?(Ht.current=null,wt.current=r,$t.current&&($t.current.style.opacity="0")):(Ht.current=t?null:Ie,Vt.current=r,u.seek(r),qt.current&&window.clearTimeout(qt.current),qt.current=window.setTimeout(()=>{Vt.current=null,qt.current=null,$t.current&&($t.current.style.opacity="0")},4e3))}if(De?.(e),xn.current.length>0)if(Tn.current){const t=Tn.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&(vn(null),Tn.current=null)}else{const t=xn.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!wn.current.has(t.availId));t&&(vn(t),Tn.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:"no-cors"}).catch(()=>{})}))}const n=u.keyMoments.getCurrentMoment(e);Ni({chapter:n.keyMoment,index:n.index}),T(e,u.getVideoElement().paused)}),u.on("qualitylevels",e=>{fi(e);const t=Mt.current;if(!t)return;const r=null!==t.qualityHeight?e.find(e=>e.height===t.qualityHeight):void 0;r?(u.setQuality(r.id),ki(r)):ki({id:-1,height:0,width:0,bitrate:0,label:"Auto"})}),u.on("qualitychange",e=>{ki(e);const t=Pt.current;null!==t&&(-1!==t.targetId&&t.targetId!==e.id||(t.levelSwitched=!0,u.seek(t.resumeTime),t.wasPlaying?u.play():(Pt.current=null,At.current&&(clearTimeout(At.current),At.current=null),Rr(!1),Dr(!1))))}),u.on("buffering",e=>{if(e)return void Dr(!0);const t=Pt.current;if(null!==t){if(!t.levelSwitched)return;Pt.current=null,At.current&&(clearTimeout(At.current),At.current=null),Rr(!1)}const r=u.getVideoElement();Dr(!!r&&!r.paused&&!r.seeking&&r.currentTime<.05),Nt.current&&(clearTimeout(Nt.current),Nt.current=null),Rt.current=null;const n=Mt.current;if(n&&(Mt.current=null,1!==n.playbackRate&&u.setPlaybackRate(n.playbackRate),u.setVolume(n.volume),u.setMute(n.muted)),null!==Ct.current){const e=Ct.current;Ct.current=null,Dt.current=!0,Vt.current=e,qt.current&&window.clearTimeout(qt.current),qt.current=window.setTimeout(()=>{Vt.current=null,qt.current=null,$t.current&&($t.current.style.opacity="0")},4e3),u.seek(e)}}),u.on("adbreakchange",e=>{if(u.analytics.setAdBreak(e,u.getVideoElement()),k&&k(e),e){const e=u.getCurrentTime(),t=tn.current.find(t=>e>=t.startTime&&e<t.endTime);if(Os.current=!1,Bs(!1),t&&rn.current.has(t.startTime))return y(),void(rt.current||x(t.endTime));t&&(fn.current=t.startTime),Wn(t??null),Hs(!0),Li("none"),T(e,u.getVideoElement().paused),v()}else{const e=fn.current;if(fn.current=null,Wn(null),null!==e){const t=tn.current.find(t=>t.startTime===e);t&&u.getCurrentTime()>=t.endTime-1.5&&(rn.current.add(e),on(new Set(rn.current)))}if(Hs(!1),T(u.getCurrentTime(),u.getVideoElement().paused),null!==wt.current){const e=wt.current;wt.current=null,rt.current=!0,nt.current=e,it.current=u.getCurrentTime(),os.current=0,us.current=performance.now(),vr(e),y(),u.seek(e),st.current&&window.clearTimeout(st.current);const t=gt.current?me:3e3;st.current=window.setTimeout(()=>{rt.current=!1,nt.current=null,it.current=null,st.current=null,v()},t)}}}),u.on("adbreaksloaded",e=>{tn.current=e,e.length>0&&(an.current=!0),en(e),In();const t=Ht.current;if(null===t)return;Ht.current=null;const r=e.find(e=>t>=e.startTime&&t<e.endTime);if(!r||rn.current.has(r.startTime))return;const n=u.getCurrentTime();n<r.startTime||n>=r.endTime||($t.current&&($t.current.style.opacity="1"),Vt.current=r.startTime,qt.current&&window.clearTimeout(qt.current),qt.current=window.setTimeout(()=>{Vt.current=null,qt.current=null,$t.current&&($t.current.style.opacity="0")},4e3),Bt.current={start:r.startTime,end:r.endTime,attempts:0},u.seek(r.startTime))}),u.on("volumechange",e=>{Sr(e.volume),null===kt.current&&Er(e.muted)}),u.on("pipchange",e=>{Xr(e)}),u.on("error",()=>{if(null===Ct.current){const e=u.getCurrentTime();Number.isFinite(e)&&e>0&&(Ct.current=e)}const e=Rt.current;if(!(e&&0!==e.targetIdx&&(Lt.current?.length??0)>1))return"undefined"==typeof navigator||navigator.onLine?void _r().then(e=>{if(!e)return mr(!0),hr(!0),void Dr(!0);$r()}):(hr(!0),void Dr(!0));ia(e.targetIdx)}),u.on("unsupportedcodec",()=>{const e=Rt.current;e&&0!==e.targetIdx&&(Lt.current?.length??0)>1&&ia(e.targetIdx)}),u.subtitles.onSubtitleChange(e=>{yi(e)}),u.on("subtitlesloaded",e=>{if(!lr.enableSubtitles)return;wi(ee([...e]));const t=Mt.current;if(t){const r="off"===t.subtitleId?"off":e.find(e=>e.id===t.subtitleId)?.id??(t.subtitleLang?e.find(e=>e.lang===t.subtitleLang)?.id:void 0);if(r)return u.subtitles.setActiveTrack(r),void xi(r)}const r=e.find(e=>e.isDefault)??e[0];r&&(u.subtitles.setActiveTrack(r.id),xi(r.id))}),u.on("audiotracksloaded",e=>{ji(e);const t=Mt.current,r=t?e.find(e=>t.audioLang&&e.lang===t.audioLang)??e.find(e=>t.audioLabel&&e.label===t.audioLabel):void 0;if(r)return u.setAudioTrack(r.id),void Ci(r.id);Ci(e[0]?.id??0)}),u.on("audiotrackchange",e=>{Ci(e)}),u.casting.onCastStateChange((t,r)=>{if(t)Wi.current=u.isMuted(),u.pause(),u.getVideoElement().muted=!0,ti(r||"Chromecast"),u.casting.syncMedia(e,ts(u),xe,rs(u)),u.analytics.track("cast_start",u.getVideoElement());else{const e=u.casting.getRemoteState(),t=e&&e.currentTime>0?e.currentTime:Xi.current>0?Xi.current:Ki.current>0?Ki.current:null,r=null===t?null:tn.current.find(e=>t>=e.startTime&&t<e.endTime)??null,n=r?t:null!==Qi.current&&Qi.current>0?Qi.current:t,i=ca.current?.target??null;r&&null!==i&&i>r.endTime&&(wt.current=i,jt(i)),ca.current=null;const s=u.getVideoElement();s.muted=Wi.current,si.current=!1,ti(null),ni(null),Ki.current=0,Xi.current=0,es(),null!==n&&n>0&&(rt.current=!0,nt.current=n,it.current=u.getCurrentTime(),u.seek(n),st.current&&window.clearTimeout(st.current),st.current=window.setTimeout(()=>{rt.current=!1,nt.current=null,it.current=null,st.current=null},3e3)),u.play(),u.analytics.track("cast_stop",s,null!==n?{currentTime:n}:{})}}),u.casting.onRemoteStateChange(e=>{if(ni(e),e&&(Xi.current=e.currentTime,e.currentTime>0&&(Ki.current=e.currentTime),null!==Qi.current))if(Math.abs(e.currentTime-Qi.current)<1.5)es();else{const t=Gi.current;(null===t||Math.abs(e.currentTime-t)>=.25)&&(Gi.current=e.currentTime,Ji.current++),(Ji.current>=2||Date.now()-Yi.current>=5e3)&&es()}});const w=window.setInterval(()=>{u.casting.getCastingState().isCasting&&u.casting.checkCastState()},1e3);if(Sr(u.getVolume()),Er(u.isMuted()),"mediaSession"in navigator)try{navigator.mediaSession.setActionHandler("seekto",e=>{if(null==e.seekTime||Ks.current||Os.current)return;if(gt.current)return void Et.current?.(e.seekTime);let t=e.seekTime;for(const r of tn.current)r.startTime<=t&&(t+=r.endTime-r.startTime);Et.current?.(t)});const e=(e,t)=>{if(Ks.current||Os.current)return;const r=t&&t>0?t:10,n=ii.current?Qi.current??Xi.current:u.getCurrentTime();let i=n;for(const s of tn.current)n>=s.endTime?i-=s.endTime-s.startTime:n>=s.startTime&&(i-=n-s.startTime);if(e){const e=tn.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),t=Math.max(0,u.getDuration()-e);let n=Math.min(t,i+r);for(const r of tn.current)n>=r.startTime&&(n+=r.endTime-r.startTime);Et.current?.(n,{eventType:"fast_forward",skipSeconds:r})}else{let e=Math.max(0,i-r);for(const t of tn.current)e>=t.startTime&&(e+=t.endTime-t.startTime);Et.current?.(e,{eventType:"fast_backward",skipSeconds:r})}};navigator.mediaSession.setActionHandler("seekforward",t=>e(!0,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler("seekbackward",t=>e(!1,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler("play",()=>{Ks.current&&!gt.current||u.play()}),navigator.mediaSession.setActionHandler("pause",()=>{Ks.current&&!gt.current||u.pause()})}catch(V){}const S=u.getVideoElement(),j=()=>{Xr("picture-in-picture"===S.webkitPresentationMode)};S.addEventListener("webkitpresentationmodechanged",j);const E=()=>{T(S.currentTime,S.paused)};S.addEventListener("loadedmetadata",E,{once:!0}),S.readyState>=1&&E();let C=null,M=null;const N=()=>{M=null;const e=C;if(C=null,null===e)return;const t=S.currentTime;Math.abs(t-e)<.5||(Ks.current?S.currentTime=e:(S.currentTime=e,Et.current?.(t)))},R=()=>{document.pictureInPictureElement!==S&&"picture-in-picture"!==S.webkitPresentationMode||rt.current||null!==Vt.current||null!==Ct.current||(null===C&&(C=Ut.current),null!==M&&window.clearTimeout(M),M=window.setTimeout(N,220))};if(S.addEventListener("seeking",R),tr.current=u,er(u),lr.enableSubtitles&&!Mt.current){const e=u.subtitles.getActiveTrackId();if("off"!==e)xi(e);else if(s.length>0){const e=s.find(e=>e.isDefault)??s[0];u.subtitles.setActiveTrack(e.id),xi(e.id)}}const P=Rt.current;P&&0!==P.targetIdx&&(Nt.current&&clearTimeout(Nt.current),Nt.current=setTimeout(()=>{Nt.current=null,u.getBufferedRanges().some(e=>e.end>e.start)||ia(P.targetIdx)},1e4)),null!==Ct.current&&(qt.current&&window.clearTimeout(qt.current),qt.current=window.setTimeout(()=>{qt.current=null,Vt.current=null,$t.current&&($t.current.style.opacity="0"),Dr(!1)},12e3));const A=()=>{!zt.current&&_t.current&&(zt.current=!0,requestAnimationFrame(()=>{requestAnimationFrame(()=>{zt.current&&_t.current&&(_t.current.style.opacity="0")})}))};let L=null,I=null;ce?(zt.current=!1,_t.current&&(_t.current.style.opacity="1"),L=()=>{ke?da():We.current?.classList.contains("sdk-fs-safari-prep")||A()},I=()=>{ke||We.current?.classList.contains("sdk-fs-safari-prep")||S.readyState>=2&&A()},S.addEventListener("playing",L,{once:!0}),S.addEventListener("loadeddata",I,{once:!0})):da();const D=()=>{const e=document,t=!(!document.fullscreenElement&&!e.webkitFullscreenElement);if(Vr(t),t||Hr(!1),ce){const e=We.current;null!==Ft.current&&(window.clearTimeout(Ft.current),Ft.current=null),t?Ft.current=window.setTimeout(()=>{Ft.current=null,e?.classList.remove("sdk-fs-safari-prep"),A()},350):(e?.classList.remove("sdk-fs-safari-prep"),A())}const r=u.getVideoElement();u.analytics.track(t?"fullscreen_enter":"fullscreen_exit",r)};document.addEventListener("fullscreenchange",D),document.addEventListener("webkitfullscreenchange",D);const $=u.getVideoElement(),_=()=>{Vr(!0),u.analytics.track("fullscreen_enter",$)},z=()=>{Vr(!1),Hr(!1),u.analytics.track("fullscreen_exit",$)};$.addEventListener("webkitbeginfullscreen",_),$.addEventListener("webkitendfullscreen",z);const F=e=>{const t=document.activeElement;if(!t||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&"true"!==t.getAttribute("contenteditable")&&"slider"!==t.getAttribute("role")){switch(e.key.toLowerCase()){case" ":case"k":if(e.preventDefault(),u.getVideoElement().paused)u.play();else{u.pause();try{const e=u.getVideoElement();e&&!e.paused&&e.pause()}catch(e){}if(Ye.current&&!Ye.current.paused)try{Ye.current.pause()}catch(e){}}break;case"arrowleft":case"j":if(e.preventDefault(),!Ks.current){const e=ii.current?Qi.current??Xi.current:u.getCurrentTime();let t=e;for(const n of tn.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let r=Math.max(0,t-10);for(const n of tn.current)r>=n.startTime&&(r+=n.endTime-n.startTime);Et.current?.(r,{eventType:"fast_backward",skipSeconds:10})}break;case"arrowright":case"l":if(e.preventDefault(),!Ks.current){const e=ii.current?Qi.current??Xi.current:u.getCurrentTime(),t=tn.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=Math.max(0,u.getDuration()-t);let n=e;for(const s of tn.current)e>=s.endTime?n-=s.endTime-s.startTime:e>=s.startTime&&(n-=e-s.startTime);let i=Math.min(r,n+10);for(const s of tn.current)i>=s.startTime&&(i+=s.endTime-s.startTime);Et.current?.(i,{eventType:"fast_forward",skipSeconds:10})}break;case"arrowup":e.preventDefault(),u.setVolume(u.getVolume()+.1);break;case"arrowdown":e.preventDefault(),u.setVolume(u.getVolume()-.1);break;case"m":e.preventDefault(),u.setMute(!u.isMuted());break;case"f":e.preventDefault(),lt.current();break;case"p":e.preventDefault(),Ks.current||u.togglePictureInPicture();break;case"c":if(e.preventDefault(),lr.enableSubtitles&&!Ks.current)if("off"!==u.subtitles.getActiveTrackId())u.subtitles.setActiveTrack("off"),xi("off");else{const e=Js.current;e&&e.length>0&&(u.subtitles.setActiveTrack(e[0].id),xi(e[0].id))}break;default:return}ta()}};return document.addEventListener("keydown",F),ta(),()=>{window.clearInterval(w),hn.current={key:cn,snapshot:u.analytics.getSessionSnapshot()};const e=S;if(Ot.current||document.pictureInPictureElement!==S&&"picture-in-picture"!==e.webkitPresentationMode?u.destroy():(Wt.current=S,u.destroy({releaseVideoElement:!0})),Ke.current?.destroy(),Ke.current=null,document.body.style.overflow="",document.body.style.touchAction="",document.removeEventListener("fullscreenchange",D),document.removeEventListener("webkitfullscreenchange",D),$.removeEventListener("webkitbeginfullscreen",_),$.removeEventListener("webkitendfullscreen",z),document.removeEventListener("keydown",F),Ws.current&&window.clearTimeout(Ws.current),st.current&&(window.clearTimeout(st.current),st.current=null),Nt.current&&(clearTimeout(Nt.current),Nt.current=null),At.current&&(clearTimeout(At.current),At.current=null),Rr(!1),Pt.current=null,bt(),ut.current=!1,ot.current&&(ot.current.style.opacity="0"),Ir(),L&&S.removeEventListener("playing",L),I&&S.removeEventListener("loadeddata",I),null!==Ft.current&&(window.clearTimeout(Ft.current),Ft.current=null),We.current?.classList.remove("sdk-fs-safari-prep"),zt.current=!1,_t.current&&(_t.current.style.opacity="0"),S.removeEventListener("seeking",R),null!==M&&(window.clearTimeout(M),M=null),C=null,S.removeEventListener("webkitpresentationmodechanged",j),"mediaSession"in navigator){try{navigator.mediaSession.setActionHandler("seekto",null)}catch(V){}try{navigator.mediaSession.setActionHandler("seekforward",null)}catch(V){}try{navigator.mediaSession.setActionHandler("seekbackward",null)}catch(V){}try{navigator.mediaSession.setActionHandler("play",null)}catch(V){}try{navigator.mediaSession.setActionHandler("pause",null)}catch(V){}}Ze.current&&(Ze.current.destroy(),Ze.current=null),Ye.current&&(document.body.removeChild(Ye.current),Ye.current=null),Dt.current=!1,Vt.current=null,qt.current&&(window.clearTimeout(qt.current),qt.current=null)}},[e,o,fr]),(0,c.useEffect)(()=>{if(Zt){Zt.keyMoments.setKeyMoments(Ri);const e=We.current?.querySelector("video");if(e){const t=Zt.keyMoments.getCurrentMoment(e.currentTime);Ni({chapter:t.keyMoment,index:t.index})}}},[Oi,Zt]),(0,c.useEffect)(()=>{const e=e=>{"none"!==Ai&&(e.target.closest(".sdk-menu-container")||Li("none"))};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}},[Ai]),(0,c.useEffect)(()=>{at.current=kr},[kr]),(0,c.useEffect)(()=>{Ks.current=qs},[qs]),(0,c.useEffect)(()=>{Os.current=Us},[Us]);const sa=null!==(0,c.useMemo)(()=>{if(!ei||!ri)return null;const e=ri.currentTime;return Zr.find(t=>e>=t.startTime&&e<t.endTime)??null},[ei,ri,Zr]),aa=(0,c.useRef)(!1);(0,c.useEffect)(()=>{aa.current=sa},[sa]);const ca=(0,c.useRef)(null),la=(0,c.useRef)(null),oa=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!ei||!ri||!Zt)return la.current=null,void(oa.current=null);const e=ri.currentTime,t=la.current;if(la.current=e,null===t)return;for(const i of tn.current)t>=i.startTime&&t<i.endTime&&e>=i.endTime&&!rn.current.has(i.startTime)&&(rn.current.add(i.startTime),on(new Set(rn.current)));const r=ca.current;if(r&&e>=r.breakEnd)return ca.current=null,oa.current=null,Zi(r.target),Xi.current=r.target,ni(e=>e?{...e,currentTime:r.target}:e),void Zt.casting.remoteSeek(r.target);const n=tn.current.find(t=>e>=t.startTime&&e<t.endTime&&rn.current.has(t.startTime));if(n){if(oa.current!==n.startTime){oa.current=n.startTime;const e=n.endTime+.5;Zi(e),Xi.current=e,ni(t=>t?{...t,currentTime:e}:t),Zt.casting.remoteSeek(e)}}else oa.current=null},[ei,ri,Zt]),(0,c.useEffect)(()=>{ei||(ca.current=null,oa.current=null,es())},[ei]),(0,c.useEffect)(()=>{if(!Zt||!ei)return void(si.current=!1);si.current=!0;const e=Zt.getVideoElement?.();if(!e)return;const t=()=>{si.current&&!e.paused&&e.pause()};return t(),e.addEventListener("play",t),()=>{e.removeEventListener("play",t),si.current=!1}},[Zt,ei]);const ua=qs||Us||sa;(0,c.useEffect)(()=>{Ot.current=Qr},[Qr]),(0,c.useEffect)(()=>{Qs.current=Ai},[Ai]),(0,c.useEffect)(()=>{if(!qs||!Zt)return;let e=0,t=Zt.getCurrentTime(),r=performance.now();const n=()=>{const i=Zt.getVideoElement?.(),s=Zt.getCurrentTime(),a=performance.now();let c;if(s!==t)t=s,r=a,c=s;else if(!i||i.paused||i.ended)c=t;else{const e=i.playbackRate||1;c=t+(a-r)/1e3*e}const l=Zn(s);if(l){const e=Math.min(c,s+.4,l.end),t=Math.min(100,Math.max(0,(e-l.start)/(l.end-l.start)*100));(We.current?.querySelectorAll(".sdk-ad-progress-fill"))?.forEach(e=>{e.style.width=`${t}%`})}e=requestAnimationFrame(n)};return e=requestAnimationFrame(n),()=>cancelAnimationFrame(e)},[qs,Zt]),(0,c.useEffect)(()=>{Js.current=Ti},[Ti]),(0,c.useEffect)(()=>{Qt.current=Kt},[Kt]),(0,c.useEffect)(()=>{tn.current=Zr},[Zr]),(0,c.useEffect)(()=>{xn.current=kn},[kn]),(0,c.useEffect)(()=>{Tn.current=yn},[yn]),(0,c.useEffect)(()=>{En.current=Sn},[Sn]),(0,c.useEffect)(()=>{Yn.current=yr},[yr]),(0,c.useEffect)(()=>{Lt.current=Pe},[Pe]),(0,c.useEffect)(()=>{const e=Hn.current;if(!qs||!e||"undefined"==typeof ResizeObserver)return;const t=()=>{const t=e.getBoundingClientRect();Bn(e=>e.w===t.width&&e.h===t.height?e:{w:t.width,h:t.height})};t();const r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[qs,Sn]),(0,c.useEffect)(()=>{It.current=Le},[Le]),(0,c.useEffect)(()=>{fn.current=null,Wn(null),bn.current=!1,wt.current=null,jt(null),Ht.current=null,vn(null),Tn.current=null,wn.current=new Set,ur(!1),hr(!1)},[e]),(0,c.useEffect)(()=>{nr(!1)},[e]),(0,c.useEffect)(()=>{Zt&&ei&&e&&Zt.casting.syncMedia(e,ts(Zt),xe,rs(Zt))},[Zt,ei,e,xe]),(0,c.useEffect)(()=>{if(!Zt||!ei)return;if(vi&&"off"!==vi){const e=Ti.find(e=>e.id===vi);Zt.casting.remoteSetSubtitle({id:vi,language:e?.lang,label:e?.label})}const e=Si.find(e=>e.id===Ei);e&&0!==Ei&&Zt.casting.remoteSetAudioTrack({language:e.lang,label:e.label}),1!==Ii&&Zt.casting.remoteSetPlaybackRate(Ii)},[Zt,ei]),(0,c.useEffect)(()=>{ei&&($t.current&&($t.current.style.opacity="0"),Vt.current=null,Dr(!1))},[ei,e,Zt]),(0,c.useEffect)(()=>{qn(!1),Nn.current=!1,Mn(!1),Ln.current=!1,An(!1),Zs.current=!1},[e]),(0,c.useEffect)(()=>{if(!Zt)return;const e=Zt.getVideoElement();if(e&&e.readyState>=1)return void nr(!0);const t=()=>nr(!0);return Zt.on("qualitylevels",t),e?.addEventListener("loadedmetadata",t),()=>{Zt.off("qualitylevels",t),e?.removeEventListener("loadedmetadata",t)}},[Zt]),(0,c.useEffect)(()=>{if(!Zt)return;const e=Zt.getVideoElement(),t=()=>{qn(!0);const e=Zt.getDuration();Number.isFinite(e)&&e>0&&Tr(e)};return e&&e.readyState>=1&&t(),e?.addEventListener("loadedmetadata",t),e?.addEventListener("durationchange",t),()=>{e?.removeEventListener("loadedmetadata",t),e?.removeEventListener("durationchange",t)}},[Zt,e]),(0,c.useEffect)(()=>{Vn&&Cn&&In()},[Vn,Cn,In]),(0,c.useEffect)(()=>{const e=window.setTimeout(In,1e4);return()=>window.clearTimeout(e)},[e,In]),(0,c.useEffect)(()=>{an.current=nn},[nn]),(0,c.useEffect)(()=>{sn(!1),an.current=!1;const e=()=>{an.current=!0,sn(!0)},t=Re?null:e;t&&(Zt?.hasAdBreakDiscoverySettled()?e():Zt?.on("adbreakdiscoverysettled",t));const r=window.setTimeout(e,1e4);return()=>{window.clearTimeout(r),t&&Zt?.off("adbreakdiscoverysettled",t)}},[Re,e,Zt]),(0,c.useEffect)(()=>{Zr.length>0&&(an.current=!0,sn(!0))},[Zr]),(0,c.useEffect)(()=>{if(gn([]),Ne&&rr)return pe(Ne,e=>{const t=new Set,r=[];for(const i of e.nonLinearAvails??[]){if(t.has(i.availId))continue;t.add(i.availId);const e=i.nonLinearAdsList?.[0],s=e?.nonLinearAdList?.[0];if(!s?.staticResource)continue;const a=(e?.trackingEvents??[]).filter(e=>"impression"===e.eventType).flatMap(e=>e.beaconUrls??[]);let c={};try{c=JSON.parse(s.adParameters??"{}")}catch(n){}const l=c.position??"bottom_center";r.push({availId:i.availId,startTimeSeconds:te(i.startTime??""),durationSeconds:te(s.minSuggestedDuration??"00:00:15"),imageUrl:s.staticResource,imageWidth:parseInt(s.width??"320",10),imageHeight:parseInt(s.height??"50",10),title:s.adTitle??"",clickThrough:re(s.clickThrough)?s.clickThrough:"",clickTrackingUrl:s.clickTracking??"",impressionBeacons:a,position:l,dismissible:!0===c.dismissible})}return r.length>0?r:null},gn)},[Ne,e,rr]),(0,c.useEffect)(()=>{jn([]),Xn([]),Gn.current=0},[e]),(0,c.useEffect)(()=>{if(!Re)return void Rn();const e=window.setTimeout(Rn,2500);return()=>window.clearTimeout(e)},[Re,e,Rn]),(0,c.useEffect)(()=>{if(Re)return pe(Re,e=>{const t=[],r=[];for(const n of e.avails??[]){const e=n.ads??[];if(0===e.length)continue;const i=n.startTimeInSeconds??e[0].startTimeInSeconds??0,s=e[e.length-1],a=(s?.startTimeInSeconds??i)+(s?.durationInSeconds??0);r.push({startTime:i,endTime:null!=n.durationInSeconds?i+n.durationInSeconds:Math.max(a,i)}),e.forEach((r,n)=>{const i=ne(r?.skipOffset),s=null!==i;let a={};try{a=JSON.parse(r?.adParameters??"{}")}catch(d){}const c=(r?.trackingEvents??[]).filter(e=>"clickTracking"===e.eventType).flatMap(e=>e.beaconUrls??[]),l=a.ctaText&&re(a.redirectUrl)?{text:a.ctaText,url:a.redirectUrl,title:a.title||void 0,description:a.description||void 0,clickTrackingBeacons:c}:null,o=r.startTimeInSeconds??0,u=r.durationInSeconds??0;t.push({startTimeSeconds:o,endTimeSeconds:o+u,durationSeconds:u,skippable:s,skipOffsetSeconds:i??0,cta:l,podIndex:n,podTotal:e.length})})}return t.length>0?{pods:t,breaks:r}:null},({pods:e,breaks:t})=>{jn(e),Xn(t)},!0,Rn)},[Re,e,Qn,Rn]),(0,c.useEffect)(()=>{if(!Re||!qs)return;const e=setInterval(()=>{const e=Yn.current;En.current.some(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds)||Gn.current>=8||(Gn.current+=1,Jn(e=>e+1))},700);return()=>clearInterval(e)},[Re,qs]),(0,c.useEffect)(()=>{Zt&&0!==Kn.length&&(Zt.setAdBreaks(Kn),Rn())},[Zt,Kn,Rn]),(0,c.useEffect)(()=>{Zt&&Zt.setRetiredAdBreaks([...ln])},[Zt,ln]),(0,c.useEffect)(()=>{if(!Re||Sn.length>0)return void $n(!0);$n(!1);const e=window.setTimeout(()=>$n(!0),3e3);return()=>window.clearTimeout(e)},[Re,e,Sn]),(0,c.useEffect)(()=>{_n.current=!1,Fn(!1)},[e,fr]),(0,c.useEffect)(()=>{Zt&&t&&Dn&&!_n.current&&(ei||(_n.current=!0,Zt.play()))},[Zt,t,Dn,ei]),(0,c.useEffect)(()=>{if(!Zt)return;const e=Zt.getVideoElement();if(!e)return;let t=e.currentTime;const r=window.setInterval(()=>{if(!Pr.current)return void(t=e.currentTime);if(null!==Rt.current||null!==Ct.current||null!==Pt.current)return;const r=e.currentTime,n=r>t+.01;t=r;const i=!gt.current&&e.seeking;!n||e.paused||i||Dr(!1)},350);return()=>window.clearInterval(r)},[Zt,Dr]),(0,c.useEffect)(()=>{Zt&&zn&&Dn&&(Fn(!1),_n.current=!0,Dr(!0),Zt.play())},[Zt,zn,Dn,Dr]),(0,c.useEffect)(()=>{if(!Zt)return;const e=()=>{document.hidden?Ee&&Ks.current&&at.current&&(Zt.pause(),bn.current=!0):bn.current&&(Zt.play(),bn.current=!1)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[Zt,Ee]);const da=()=>{if(!ke||Xe.current||!We.current)return;if((()=>{const e=tr.current?.getVideoElement?.();return!!e&&(document.pictureInPictureElement===e||"picture-in-picture"===e.webkitPresentationMode)})())return;Xe.current=!0;const e=We.current,t=e,r=e.requestFullscreen?.bind(e)??t.webkitRequestFullscreen?.bind(t);if(r){const t=()=>{r().catch(()=>{Xe.current=!1,e.classList.remove("sdk-fs-safari-prep"),_t.current&&(zt.current=!0,_t.current.style.opacity="0")})};return void(ce?(zt.current=!1,_t.current&&(_t.current.style.opacity="1"),e.classList.add("sdk-fs-safari-prep"),document.body.style.overflow="hidden",requestAnimationFrame(t)):t())}Hr(!0),Vr(!0),document.body.style.overflow="hidden",document.body.style.touchAction="none",Zt?.analytics.track("fullscreen_enter",Zt.getVideoElement())},ma=()=>{if(!Zt)return;const e=Zt.getVideoElement(),t=(Ct.current??Ie??e?.currentTime??0)<1&&(e?.currentTime??0)<1;if(t&&!Dn&&Re)return Fn(!0),void Dr(!0);_n.current=!0,t&&Dr(!0),Zt.play()},pa=()=>{if(Zt){if(ei)return Zt.casting.remotePlayPause(),void ta();if(zn)return Fn(!1),_n.current=!0,Dr(!1),void ta();if(Gr)fa(0),da(),ma(),Yr(!1);else if(kr){Zt.pause();try{const e=Zt.getVideoElement?.();e&&!e.paused&&e.pause()}catch(e){}if(We.current&&We.current.querySelectorAll("video").forEach(t=>{try{t.pause()}catch(e){}}),Ye.current&&!Ye.current.paused)try{Ye.current.pause()}catch(e){}}else da(),ma();ta()}},ha=e=>{if(!Zt||ua)return;tt.current=!0,js((e=>{if(!Qe.current||!Zt||0===oi)return 0;const t=Qe.current.getBoundingClientRect();return di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi)})(e));const t=e=>{if(!tt.current||!Qe.current)return;const t=Qe.current.getBoundingClientRect(),r=di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi),n=e.clientX-t.left,i=pi(n,t.width);xs.current=i,js(r),ms(n),bs(r),i?(gs(null),vs(null)):!Es&&Ye.current&&(Ye.current.currentTime=r),ta()},r=e=>{if(tt.current=!1,Qe.current){const t=Qe.current.getBoundingClientRect();fa(di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi))}js(null),ms(null),gs(null),vs(null),document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",t),document.addEventListener("mouseup",r)},fa=(e,t)=>{if(!Zt)return;if(aa.current)return;if(Ht.current=null,Bt.current=null,ei){const t=Qi.current??Xi.current;if(e>t&&tn.current.length>0){const r=tn.current.filter(r=>r.startTime<e&&r.endTime>t&&!rn.current.has(r.startTime)).sort((e,t)=>e.startTime-t.startTime);if(r.length>0){const n=r[r.length-1];ca.current={target:e,breakEnd:n.endTime};const i=Math.max(n.startTime,t);return Zi(i),Xi.current=i,ni(e=>e?{...e,currentTime:i}:e),void Zt.casting.remoteSeek(i)}}ca.current=null;const r=tn.current.find(t=>rn.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime+2),n=r?Math.max(e,r.endTime+.5):e;return Zi(n),Xi.current=n,ni(e=>e?{...e,currentTime:n}:e),void Zt.casting.remoteSeek(n)}const r=Math.max(0,xr>0?Math.min(e,xr):e);if(t){const{eventType:e,...r}=t;Zt.attributeNextSeek(e,r)}const n=Zt.getCurrentTime();if(r>n&&tn.current.length>0){const e=tn.current.filter(e=>e.startTime<r&&e.endTime>n&&!rn.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){wt.current=r,jt(r);const t=e[e.length-1],i=t.startTime;Bt.current={start:t.startTime,end:t.endTime,attempts:0},rt.current=!0,nt.current=i,it.current=n,os.current=0,us.current=performance.now(),vr(i),Os.current=!0,Bs(!0);const s=mt(Zt.getVideoElement());pt.current=s,bt(),ot.current&&s&&(ot.current.style.transition="none",ot.current.style.opacity="1"),yt(Zt.getVideoElement()),Zt.seek(i),st.current&&window.clearTimeout(st.current);const a=gt.current?me:3e3;return void(st.current=window.setTimeout(()=>{rt.current=!1,Os.current=!1,Bs(!1),nt.current=null,it.current=null,st.current=null,bt(),ut.current=!1,ot.current&&(ot.current.style.opacity="0"),vt(Zt.getVideoElement())},a))}}wt.current=null,jt(null);const i=tn.current.find(e=>rn.current.has(e.startTime)&&r>=e.startTime-.5&&r<e.endTime+2);if(i&&r<i.endTime&&xt.current)return void xt.current(i.endTime);const s=i?Math.max(r,i.endTime+.5):r;rt.current=!0,nt.current=s,it.current=n,os.current=0,us.current=performance.now(),vr(s),bt(),ut.current=!1,ot.current&&(ot.current.style.opacity="0"),vt(Zt.getVideoElement()),Zt.seek(s),st.current&&window.clearTimeout(st.current);const a=gt.current?me:3e3;st.current=window.setTimeout(()=>{rt.current=!1,nt.current=null,it.current=null,st.current=null,bt(),ut.current=!1,ot.current&&(ot.current.style.opacity="0")},a)};Et.current=fa;const ba=()=>rt.current&&null!==nt.current?nt.current:ii.current?Qi.current??Xi.current:gt.current&&Zt?Zt.getCurrentTime():yr,ka=(e,t)=>{const r=ba();fa(di(Math.max(0,Math.min(oi,ui(r)+e))),{eventType:t,skipSeconds:Math.abs(e)})},ga=()=>{if(!Zt)return;if(ei)return void Zt.casting.remoteSetMute(!ri?.isMuted);const e=!jr;Zt.setMute(e),Er(e)},ya=e=>{Zt&&(Zt.setPlaybackRate(e),Di(e),ei&&Zt.casting.remoteSetPlaybackRate(e),Li("none"),qi("Playback speed: "+(1===e?"Normal":`${e}x`)))},va=e=>{Zt?.setAudioTrack(e.id),Ci(e.id),Li("none"),qi(`Audio: ${Z(e)}`),ei&&Zt?.casting.remoteSetAudioTrack({language:e.lang,label:e.label})},xa=e=>{if(!Zt)return;if(bi.id===e)return void Li("none");At.current&&(clearTimeout(At.current),At.current=null);const t=Zt.getCurrentTime(),r=!Zt.getVideoElement().paused;Zt.pause(),Pt.current={targetId:e,levelSwitched:!1,resumeTime:t,wasPlaying:r},Rr(!0),Dr(!0),Zt.setQuality(e);const n=hi.find(t=>t.id===e);n&&qi(`Quality: ${n.label}`),Li("none"),At.current=setTimeout(()=>{At.current=null;const e=Pt.current;null!==e&&(Pt.current=null,Zt.seek(e.resumeTime),e.wasPlaying&&Zt.play(),Rr(!1),Dr(!1))},8e3)},Ta=e=>{if(Zt){if(Zt.subtitles.setActiveTrack(e),xi(e),Li("none"),ei){const t="off"===e?null:Ti.find(t=>t.id===e);Zt.casting.remoteSetSubtitle("off"===e?null:{id:e,language:t?.lang,label:t?.label})}if("off"===e)qi("Captions off");else{const t=Ti.find(t=>t.id===e);qi(`Captions: ${t?Z(t):"on"}`)}}},wa=e=>{if(Zt){if(Nt.current&&(clearTimeout(Nt.current),Nt.current=null),Ui(null),ei||($t.current&&($t.current.style.opacity="1"),Dr(!0)),null===Rt.current){Ct.current=ei?ri?.currentTime??Zt.getCurrentTime():Zt.getCurrentTime();const e=Ti.find(e=>e.id===vi),t=Si.find(e=>e.id===Ei);Mt.current={playbackRate:Ii,volume:wr,muted:jr,subtitleId:vi,subtitleLang:e?.lang??null,audioLang:t&&0!==Ei?t.lang:null,audioLabel:t&&0!==Ei?t.label:null,qualityHeight:-1!==bi.id?bi.height:null}}Rt.current={targetIdx:e},Li("none"),qi(`Source: ${Pe?.[e]?.label??""}`),Le?.(e)}},Sa=(e,t)=>{fa(e,{eventType:"key_moments",momentTitle:t?.title??"",momentTime:e}),Li("none")},ja=(0,c.useCallback)(()=>{if(!Ot.current)return;const e=tr.current?.getVideoElement?.();e&&We.current&&e.ownerDocument!==document&&(e.classList.remove("gb-pip-video"),e.style.objectFit="",We.current.insertBefore(e,We.current.firstChild)),Ot.current=null,Jr(null),Xr(!1),tr.current?.notifyPipToggle?.(!1)},[]);(0,c.useEffect)(()=>()=>{const e=Ot.current;Ot.current=null,e?.close(),(e=>{if(!e)return;const t=e;try{"picture-in-picture"===t.webkitPresentationMode?t.webkitSetPresentationMode("inline"):"undefined"!=typeof document&&document.pictureInPictureElement===e&&document.exitPictureInPicture?.().catch(()=>{})}catch(r){}try{e.pause()}catch(r){}e.removeAttribute("src");try{e.load()}catch(r){}e.parentElement?.removeChild(e)})(Wt.current),Wt.current=null},[]);const Ea=async()=>{if(!Zt||!Zt.getVideoElement?.()?.isConnected)return;const e=window.documentPictureInPicture;if(e)if(Ot.current)Ot.current.close();else try{const t=Zt.getVideoElement(),r=t.videoWidth&&t.videoHeight?t.videoWidth/t.videoHeight:16/9,n=360,i=await e.requestWindow({width:n,height:Math.round(n/r)}),s=i.document.createElement("style");s.textContent="\n html, body { margin: 0; padding: 0; height: 100%; background: #000; overflow: hidden; }\n * { box-sizing: border-box; }\n .gb-pip-video { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; }\n .gb-pip-overlay {\n position: absolute; inset: 0; z-index: 2;\n display: flex; flex-direction: column; justify-content: space-between;\n font-family: system-ui, -apple-system, sans-serif; color: #fff;\n opacity: 0; transition: opacity 0.15s ease;\n background: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 65%, rgba(0,0,0,0.55) 100%);\n }\n .gb-pip-overlay:hover, .gb-pip-overlay.gb-pip-paused { opacity: 1; }\n .gb-pip-center {\n flex: 1; display: flex; align-items: center; justify-content: center; gap: 28px;\n }\n .gb-pip-btn {\n background: rgba(0,0,0,0.35); border: none; color: #fff; border-radius: 50%;\n width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;\n cursor: pointer; padding: 0;\n }\n .gb-pip-btn:hover { background: rgba(0,0,0,0.55); }\n .gb-pip-btn.gb-pip-play { width: 56px; height: 56px; }\n .gb-pip-bottom { padding: 6px 10px 8px; display: flex; flex-direction: column; gap: 4px; }\n .gb-pip-progress { position: relative; height: 4px; border-radius: 2px; background: rgba(255,255,255,0.3); cursor: pointer; }\n .gb-pip-progress-fill { position: absolute; inset: 0; width: 0%; border-radius: 2px; background: #fff; }\n .gb-pip-time { font-size: 11px; font-variant-numeric: tabular-nums; opacity: 0.9; }\n",i.document.head.appendChild(s),t.classList.add("gb-pip-video"),i.document.body.appendChild(t),i.addEventListener("pagehide",()=>ja(),{once:!0}),Ot.current=i,Jr(i),Xr(!0),Zt.notifyPipToggle?.(!0)}catch(t){}else Zt.togglePictureInPicture()},Ca=e=>{if(ua||!nn)return;const t=e.currentTarget.getBoundingClientRect();fa(di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi))},Ma=e=>{if(ua||!nn)return;const t=e.currentTarget,r=Ot.current?.document??t.ownerDocument;tt.current=!0;let n=e.clientX,i=!1;const s=e=>{const r=t.getBoundingClientRect();return di(Math.max(0,Math.min(1,(e-r.left)/r.width))*oi)},a=e=>{tt.current&&(n=e.clientX,i||(i=!0,requestAnimationFrame(()=>{i=!1,tt.current&&fa(s(n))})))},c=e=>{tt.current=!1,fa(s(e.clientX)),r.removeEventListener("mousemove",a),r.removeEventListener("mouseup",c)};r.addEventListener("mousemove",a),r.addEventListener("mouseup",c)},Na=()=>{if(!We.current)return;const e=We.current,t=document,r=e,n=e.querySelector("video"),i=!!n?.webkitDisplayingFullscreen,s=!(!document.fullscreenElement&&!t.webkitFullscreenElement),a=()=>{e.classList.remove("sdk-fs-safari-prep"),_t.current&&(zt.current=!0,_t.current.style.opacity="0"),Hr(!0),Vr(!0),document.body.style.overflow="hidden",document.body.style.touchAction="none",Zt?.analytics.track("fullscreen_enter",Zt.getVideoElement())};if(s||qr||i)Br(!1),e.classList.remove("sdk-fs-safari-prep"),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():i?n.webkitExitFullscreen():(Hr(!1),Vr(!1),document.body.style.overflow="",document.body.style.touchAction="",Zt?.analytics.track("fullscreen_exit",Zt.getVideoElement()));else{Br(Qt.current);const t=e.requestFullscreen?.bind(e)??r.webkitRequestFullscreen?.bind(r);if(t){const r=()=>{t().catch(a)};ce?(zt.current=!1,_t.current&&(_t.current.style.opacity="1"),e.classList.add("sdk-fs-safari-prep"),document.body.style.overflow="hidden",requestAnimationFrame(r)):r()}else a()}};(0,c.useEffect)(()=>{lt.current=Na});const Ra=()=>{if(!qs)return;const e=Zr.find(e=>yr>=e.startTime&&yr<e.endTime),t=Sn.find(e=>yr>=e.startTimeSeconds&&yr<e.endTimeSeconds);if(t){const r=t.podIndex>=t.podTotal-1;return void xt.current?.(r?e?.endTime??t.endTimeSeconds:t.endTimeSeconds,!r)}e&&xt.current?.(e.endTime)},Pa=ei?ri?.currentTime??yr:yr,Aa=ui(Pa),La=ue(Pa,Zr,le),Ia=(0,c.useMemo)(()=>B($e,_e,ze),[$e,_e,ze]),[Da,$a]=(0,c.useState)([]);(0,c.useEffect)(()=>{$a(e=>{if(0===e.length)return e;const t=e.filter(e=>{const t=Ia.find(t=>t.id===e);return null!=t&&Aa>=t.start-2});return t.length===e.length?e:t})},[Aa,Ia]);const _a=or||!Pn||!nn||qs||Us||sa||La?null:Ia.find(e=>!Da.includes(e.id)&&Aa>=e.start&&Aa<e.end-.5)??null,[za,Fa]=(0,c.useState)(!1),[Va,qa]=(0,c.useState)(0),Ha=(0,c.useRef)(!1),Ua=(0,c.useRef)(null),Ba=(0,c.useRef)(!1),Oa=(0,c.useCallback)(()=>{if(!Ba.current){if(Ba.current=!0,null!=Ua.current&&(window.clearTimeout(Ua.current),Ua.current=null),Fa(!1),De?.(Yn.current),Zt)try{Zt.pause()}catch(e){}Pr.current=!0,null!==Ar.current&&(window.clearTimeout(Ar.current),Ar.current=null),Mr(!0),He?.()}},[He,De,Zt]);(0,c.useEffect)(()=>{Ba.current=!1},[e,Ae]),(0,c.useEffect)(()=>{if(or||qs||Us||!Fe||!Ve||Ve<=0)return Fa(!1),qa(0),Ha.current=!1,void(null!=Ua.current&&window.clearTimeout(Ua.current));li>0&&Aa>=Ve&&!Ha.current&&(Fa(!0),qa(0),Ha.current=!0,Ua.current=window.setTimeout(()=>{Oa()},1e3*Ue)),Aa<Ve&&Ha.current&&(Fa(!1),qa(0),Ha.current=!1,null!=Ua.current&&window.clearTimeout(Ua.current))},[Aa,li,Ve,Fe,Oa,Ue,or,cr,qs,Us]),(0,c.useEffect)(()=>{if(!za)return;qa(0);const e=Math.max(100,1e3*Ue),t=Date.now();let r;const n=()=>{const i=Date.now()-t,s=Math.min(1,i/e);qa(s),s<1&&(r=window.setTimeout(n,100))};return n(),()=>{null!=r&&window.clearTimeout(r)}},[za,Ue]),(0,c.useEffect)(()=>()=>{null!=Ua.current&&window.clearTimeout(Ua.current)},[]);const Wa=()=>{Zt&&(ei?Zt.casting.stopCasting():Zt.casting.requestSession(e,ts(Zt),xe,rs(Zt)))},Ka=()=>{if(!Zt)return;const e=Zt.getVideoElement();ss?Zt.casting.stopAirPlay(e):("function"==typeof e.webkitShowPlaybackTargetPicker||Zt.casting.isAirPlayAvailable())&&Zt.casting.requestAirPlaySession(e)},Xa=e=>{if(!Qe.current||0===oi||!Zt||ua)return;const t=Qe.current.getBoundingClientRect();Je.current=t.width;const r=e.clientX-t.left,n=pi(r,t.width);xs.current=n,hs(Math.max(96,Math.min(r,t.width-96)));const i=di(Math.max(0,Math.min(1,r/t.width))*oi);if(ms(r),bs(i),et.current&&window.clearTimeout(et.current),n)return gs(null),void vs(null);Es||(et.current=window.setTimeout(()=>{Ye.current&&(Ye.current.currentTime=i)},100)),vs(Zt.keyMoments.getCurrentMoment(i).keyMoment)},Qa=e=>{if(!Zt||ua||0===oi)return;e.preventDefault(),tt.current=!0,js((e=>{if(!Qe.current||0===oi)return 0;const t=Qe.current.getBoundingClientRect();return di(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*oi)})(e.touches[0]));const t=e=>{if(!tt.current||!Qe.current)return;const t=e.touches[0],r=Qe.current.getBoundingClientRect(),n=di(Math.max(0,Math.min(1,(t.clientX-r.left)/r.width))*oi);js(n),bs(n),ta()},r=e=>{if(tt.current=!1,Qe.current&&e.changedTouches[0]){const t=e.changedTouches[0],r=Qe.current.getBoundingClientRect();fa(di(Math.max(0,Math.min(1,(t.clientX-r.left)/r.width))*oi))}js(null),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",r)};document.addEventListener("touchmove",t,{passive:!1}),document.addEventListener("touchend",r)},Ja=()=>{xs.current=!1,ms(null),gs(null),vs(null),et.current&&window.clearTimeout(et.current)},Ga=e=>{if(isNaN(e)||e<0)return"00:00";const t=Math.floor(e),r=Math.floor(t/3600),n=Math.floor(t%3600/60),i=t%60,s=e=>String(e).padStart(2,"0");return r>0?`${s(r)}:${s(n)}:${s(i)}`:`${s(n)}:${s(i)}`};(0,c.useEffect)(()=>{Bi.current&&qi(kr?"Playing":"Paused")},[kr]),(0,c.useEffect)(()=>{Bi.current&&qi(jr?"Muted":"Unmuted")},[jr]),(0,c.useEffect)(()=>{Bi.current=!0},[]),(0,c.useEffect)(()=>{const e=e=>{"Escape"===e.key&&"none"!==Qs.current&&(e.preventDefault(),Li("none"))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);const Ya=ei?!(ri?.isPaused??1):kr||zn,Za=ei?ri?.currentTime??0:yr,ec=null!==Ss?Ss:St??yr,tc=ei?oi>0?oi:ui(ri?.duration??0):oi,rc=ui(ei?Za:ec),nc=ei?ri?.volumeLevel??1:wr,ic=ei?ri?.isMuted??!1:jr,sc=(0,c.useCallback)(e=>{if(ua)return;if(e.target.closest('button, a, input, select, textarea, [role="button"], [role="slider"], [role="menu"], [role="listbox"], [role="menuitem"], .sdk-dropdown-menu, .sdk-seekbar-container, .sdk-mobile-chapters-scroll'))return;if(Date.now()-Gs.current<400)return;const t=Date.now(),r=We.current?.getBoundingClientRect(),n=e.clientX-(r?.left??0),i=Jt.current;if(i&&t-i.time<300){Jt.current=null;const e=n<(r?.width??0)/2,t=ba();fa(di(Math.max(0,Math.min(oi,ui(t)+(e?-10:10)))),{eventType:e?"fast_backward":"fast_forward",skipSeconds:10}),Yt(e?"left":"right"),window.setTimeout(()=>Yt(null),700),ta()}else Jt.current={time:t,x:n},Fs?(Vs(!1),Ws.current&&window.clearTimeout(Ws.current)):ta()},[ua,oi,ui,di,fa,Fs,ba]),ac=()=>ic||0===nc?(0,d.jsx)(V,{size:18}):nc<.3?(0,d.jsx)(q,{size:18}):nc<.7?(0,d.jsx)(z,{size:18}):(0,d.jsx)(F,{size:18}),cc=e=>t=>{"Enter"===t.key||" "===t.key?(t.preventDefault(),e()):"Escape"===t.key&&(t.preventDefault(),Li("none"))},lc=e=>t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e())},oc=e=>{if(!ua)if("ArrowLeft"===e.key||"ArrowRight"===e.key){e.preventDefault();const t="ArrowLeft"===e.key?-5:5;fa(di(Math.max(0,Math.min(oi,ui(ba())+t))))}else"Home"===e.key?(e.preventDefault(),fa(di(0))):"End"===e.key&&(e.preventDefault(),fa(di(oi)))},uc=e=>{Li(Ai===e?"none":e)},dc=(0,c.useCallback)(e=>{if(!e)return;e.style.left="";const t=We.current;if(!t)return;const r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=r.right-(n.right-8),s=n.left+8-r.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:s>0&&(e.style.left=`calc(50% + ${Math.ceil(s)}px)`)},[]);return(0,d.jsxs)("div",{ref:We,role:"region","aria-label":$s?`${$s} video player`:"Video player",className:`sdk-player-container ${Fs?"controls-active":""} ${qr?"sdk-fs-simulated":""}`,onMouseMove:()=>{Wr.current||(Ys.current=!0,ta())},onTouchStart:Or?()=>{Fs||ta()}:ta,onMouseLeave:()=>{Ys.current=!1,!Wr.current&&at.current&&"none"===Qs.current&&null===Ws.current&&Vs(!1)},style:{border:qr?"none":"1px solid rgba(255, 255, 255, 0.08)","--sdk-theme-color":m,"--sdk-theme-color-rgb":J(m)},children:[(0,d.jsx)("canvas",{ref:Ge,width:160,height:90,style:{display:"none",position:"absolute",pointerEvents:"none"},"aria-hidden":"true"}),(0,d.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sdk-sr-only",children:Vi}),(0,d.jsx)("div",{ref:ot,style:{opacity:0,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true",children:(0,d.jsx)("canvas",{ref:dt,className:"sdk-ad-cover-frame",style:{width:"100%",height:"100%",objectFit:"contain",display:"block"},"aria-hidden":"true"})}),Qr&&(0,d.jsxs)("div",{className:"sdk-pip-placeholder","aria-hidden":"true",children:[(0,d.jsx)(L,{size:32,"aria-hidden":"true"}),(0,d.jsx)("span",{children:"Playing in Picture-in-Picture"})]}),ce&&(0,d.jsx)("div",{ref:_t,style:{opacity:1,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true"}),(0,d.jsx)("div",{ref:$t,style:{opacity:Ie&&Ie>0?1:0,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true"}),(0,d.jsx)("div",{className:`sdk-spinner-overlay ${Cr?"active":""}${Nr?" sdk-spinner-overlay--video-only":""}`,"aria-hidden":"true",children:(0,d.jsx)("div",{className:"sdk-spinner"})}),or&&(0,d.jsx)("div",{className:"sdk-error-overlay",style:{position:"absolute",inset:0,zIndex:50,background:"rgba(9,9,14,0.96)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:20,padding:"0 24px"},children:(0,d.jsx)(H,{offline:dr,onRetry:zr})}),Hi&&(0,d.jsx)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, calc(-50% + 70px))",background:"rgba(0,0,0,0.82)",color:"#fff",fontSize:13,fontWeight:500,padding:"8px 16px",borderRadius:8,zIndex:102,pointerEvents:"none",maxWidth:"85%",textAlign:"center",backdropFilter:"blur(8px)",border:"1px solid rgba(255,255,255,0.12)"},children:Hi}),lr.enableSubtitles&&!qs&&gi&&"off"!==vi&&(0,d.jsx)("div",{className:"sdk-subtitles-overlay",children:(0,d.jsx)("span",{className:"sdk-subtitles-text",style:{fontSize:"small"===ye.size?"14px":"large"===ye.size?"24px":"18px",color:ye.color??"#ffffff",background:"solid"===ye.background?"rgba(0, 0, 0, 0.92)":"dim"===ye.background?"rgba(0, 0, 0, 0.55)":"transparent",border:"none",backdropFilter:"none",boxShadow:"none",padding:"solid"===ye.background||"dim"===ye.background?"8px 16px":"0",borderRadius:"solid"===ye.background||"dim"===ye.background?"8px":"0"},dangerouslySetInnerHTML:{__html:gi.split("\n").map(e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")).join("<br>")}})}),yn&&(0,d.jsxs)("div",{className:`sdk-overlay-ad sdk-overlay-ad--${yn.position}`,role:"complementary","aria-label":"Advertisement",children:[(0,d.jsxs)("div",{className:"sdk-overlay-ad-topbar",children:[(0,d.jsx)("span",{className:"sdk-overlay-ad-label",children:"Ad"}),yn.dismissible&&(0,d.jsx)("button",{className:"sdk-overlay-ad-close",onClick:()=>{Tn.current&&wn.current.add(Tn.current.availId),vn(null),Tn.current=null},"aria-label":"Close advertisement",children:"✕"})]}),(0,d.jsx)("img",{src:yn.imageUrl,width:yn.imageWidth,height:yn.imageHeight,alt:yn.title||"Advertisement",className:"sdk-overlay-ad-img",onClick:()=>{return(e=yn).clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:"no-cors"}).catch(()=>{}),void(e.clickThrough&&window.open(e.clickThrough,"_blank","noopener,noreferrer"));var e}})]}),qs&&(()=>{const e=On&&yr<On.startTime?On.startTime:yr,t=Sn.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds),r=Zr.find(t=>e>=t.startTime&&e<t.endTime)??On,n=t?Math.max(0,t.endTimeSeconds-e):r?Math.max(0,r.endTime-e):0,i=t?e-t.startTimeSeconds:r?e-r.startTime:0,s=!!t&&t.podTotal>1,a=t?t.skippable:Ce,c=t?t.skipOffsetSeconds:Me,l=a&&i>=c,o=Math.ceil(c-i),u=i+n,m=u>0?Math.min(1,Math.max(0,i/u)):0,p=2.5,{w:h,h:f}=Un,b=Math.max(0,h-p),k=Math.max(0,f-p),g=Math.min(20.75,k/2),y=Math.max(0,b-2*g),v=Math.max(0,k-2*g),x=`M${1.25+g+y/2},1.25h${y/2}a${g},${g} 0 0 1 ${g},${g}v${v}a${g},${g} 0 0 1 ${-g},${g}h${-y}a${g},${g} 0 0 1 ${-g},${-g}v${-v}a${g},${g} 0 0 1 ${g},${-g}h${y/2}`,T=2*y+2*v+2*Math.PI*g;return(0,d.jsxs)(d.Fragment,{children:[(!Re||!!t)&&(0,d.jsxs)("div",{ref:Hn,className:"sdk-ad-countdown",role:"timer","aria-label":s?`Advertisement ${t.podIndex+1} of ${t.podTotal} — ${Ga(n)} remaining`:`Advertisement — ${Ga(n)} remaining`,"aria-live":"off",children:[h>0&&f>0&&(0,d.jsxs)("svg",{className:"sdk-ad-countdown-border",width:h,height:f,viewBox:`0 0 ${h} ${f}`,"aria-hidden":"true",children:[(0,d.jsx)("path",{className:"sdk-ad-countdown-border-track",d:x,strokeWidth:p}),(0,d.jsx)("path",{className:"sdk-ad-countdown-border-fill",d:x,strokeWidth:p,strokeDasharray:T,strokeDashoffset:T*(1-m)})]}),(0,d.jsx)("span",{className:"sdk-ad-countdown-badge","aria-hidden":"true",children:"Ad"}),s&&(0,d.jsxs)("span",{className:"sdk-ad-countdown-count","aria-hidden":"true",children:[t.podIndex+1," of ",t.podTotal]}),(0,d.jsx)("span",{className:"sdk-ad-countdown-sep","aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-ad-countdown-time","aria-hidden":"true",children:Ga(n)})]}),a&&(0,d.jsx)("button",{className:"sdk-skip-ad-btn "+(l?"sdk-skip-ad-btn--ready":""),onClick:l?Ra:void 0,disabled:!l,"aria-label":l?"Skip advertisement":`Skip advertisement available in ${o} seconds`,"aria-disabled":!l,children:l?"Skip Ad ›":`Skip in ${o}s`}),t?.cta&&(()=>{const e=t.cta,r=(0,d.jsxs)("button",{className:"sdk-ad-cta-btn",onClick:()=>(e=>{e.clickTrackingBeacons.forEach(e=>{fetch(e,{mode:"no-cors"}).catch(()=>{})}),window.open(e.url,"_blank","noopener,noreferrer")})(e),"aria-label":`${e.text} — opens advertiser site in a new tab`,children:[(0,d.jsx)("span",{className:"sdk-ad-cta-btn-text",children:e.text}),(0,d.jsx)(E,{size:15,"aria-hidden":"true"})]});return(0,d.jsx)("div",{className:"sdk-ad-cta",role:"complementary","aria-label":"Advertisement call to action",children:e.title?(0,d.jsxs)("div",{className:"sdk-ad-cta-card",children:[(0,d.jsxs)("div",{className:"sdk-ad-cta-info",children:[(0,d.jsx)("div",{className:"sdk-ad-cta-title",children:e.title}),e.description&&(0,d.jsx)("div",{className:"sdk-ad-cta-desc",children:e.description})]}),r]}):r})})()]})})(),_a&&(0,d.jsx)("button",{className:"sdk-skip-ad-btn sdk-skip-ad-btn--ready sdk-skip-intro-btn",onClick:()=>{_a&&($a(e=>e.includes(_a.id)?e:[...e,_a.id]),fa(di(_a.end+.5)))},"aria-label":_a.title??"Skip intro",children:_a.title??"Skip Intro"}),za&&!qs&&!Us&&(0,d.jsxs)("button",{type:"button",className:"sdk-next-episode-wrapper",onClick:e=>{e.stopPropagation(),Oa()},"aria-label":`Play next episode now — ${qe}`,children:[Be&&(0,d.jsx)("img",{className:"sdk-next-episode-thumb",src:Be,alt:"","aria-hidden":"true"}),(0,d.jsxs)("span",{className:"sdk-next-episode-chip",children:[(0,d.jsx)("span",{className:"sdk-next-episode-progress-fill","aria-hidden":"true",style:{transform:`scaleX(${Va})`}}),(0,d.jsxs)("span",{className:"sdk-next-episode-content",children:[(0,d.jsx)("svg",{className:"sdk-next-episode-icon",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M7 6v12l10-6-10-6z",fill:"currentColor"})}),(0,d.jsx)("span",{className:"sdk-next-episode-label",children:qe})]})]})]}),cr,(ei||ss)&&(0,d.jsx)("div",{className:"sdk-cast-bg"}),Or&&(0,d.jsxs)("div",{className:"sdk-mobile-overlay "+(Fs?"active":""),onClick:sc,children:[Gt&&(0,d.jsx)("div",{className:`sdk-mobile-doubletap ${Gt}`,children:(0,d.jsxs)("div",{className:"sdk-mobile-doubletap-icon",children:["left"===Gt?(0,d.jsx)(D,{size:26}):(0,d.jsx)($,{size:26}),(0,d.jsx)("span",{className:"sdk-mobile-doubletap-label",children:"10s"})]})}),y&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"sdk-mobile-header sdk-mobile-ctrl",children:[(0,d.jsxs)("div",{className:"sdk-mobile-header-left",children:[(Fr||qr)&&(0,d.jsx)("button",{className:"sdk-mobile-back-btn",onClick:Na,"aria-label":"Exit fullscreen",children:(0,d.jsx)(S,{size:22,"aria-hidden":"true"})}),$s&&(0,d.jsx)("div",{className:"sdk-mobile-title",children:$s})]}),(0,d.jsxs)("div",{className:"sdk-mobile-header-actions",children:[lr.enablePiP&&!qs&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:()=>Ea(),style:{color:Kr?m:""},"aria-label":Kr?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":Kr,children:(0,d.jsx)(L,{size:20,"aria-hidden":"true"})}),lr.enableChromecast&&!se&&!qs&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:Wa,"data-tooltip":ei?`Casting to ${ei} — tap to disconnect`:"Cast to device","aria-label":ei?`Stop casting to ${ei}`:"Cast to device","aria-pressed":!!ei,style:{color:ei?"#3b82f6":""},children:(0,d.jsx)(T,{size:20,fill:ei?"currentColor":"none","aria-hidden":"true"})}),lr.allowAirplay&&ns&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:Ka,"aria-label":ss?`Stop AirPlay to ${cs||"device"}`:"AirPlay to device","aria-pressed":ss,style:{color:ss?m:""},children:(0,d.jsx)(v,{size:20,"aria-hidden":"true"})})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-center-controls sdk-mobile-ctrl",children:[!ua&&(0,d.jsxs)("button",{className:"sdk-mobile-seek-btn",onClick:e=>{e.stopPropagation(),ka(-10,"fast_backward")},"aria-label":"Rewind 10 seconds",children:[(0,d.jsx)(D,{size:22,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-mobile-seek-label","aria-hidden":"true",children:"10"})]}),(0,d.jsx)("button",{className:"sdk-mobile-play-btn",onClick:pa,"aria-label":Gr?"Replay":Ya?"Pause":"Play",children:Gr?(0,d.jsx)(D,{size:38,"aria-hidden":"true"}):Ya?(0,d.jsx)(A,{size:38,fill:"currentColor","aria-hidden":"true"}):(0,d.jsx)(I,{size:38,fill:"currentColor",style:{marginLeft:"3px"},"aria-hidden":"true"})}),!ua&&(0,d.jsxs)("button",{className:"sdk-mobile-seek-btn",onClick:e=>{e.stopPropagation(),ka(10,"fast_forward")},"aria-label":"Skip forward 10 seconds",children:[(0,d.jsx)($,{size:22,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-mobile-seek-label","aria-hidden":"true",children:"10"})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-bottom-bar sdk-mobile-ctrl",children:[lr.enableKeyMoments&&$i&&Ri.length>0&&(0,d.jsx)("div",{className:"sdk-mobile-chapters-scroll",children:Ri.map((e,t)=>{const r=Mi.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-mobile-chapter-card"+(r?" active":""),style:{borderColor:r?m:void 0},"aria-label":`${e.title}, ${Ga(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:()=>{Sa(e.startTime,e)},onKeyDown:lc(()=>Sa(e.startTime,e)),children:[(0,d.jsxs)("div",{className:"sdk-mobile-chapter-thumb",children:[zi[t]||e.thumbnail?(0,d.jsx)("img",{src:zi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(N,{size:16,"aria-hidden":"true",style:{color:r?m:"rgba(255,255,255,0.3)"}}),(0,d.jsx)("span",{className:"sdk-mobile-chapter-time-badge","aria-hidden":"true",children:Ga(e.startTime)})]}),(0,d.jsx)("div",{className:"sdk-mobile-chapter-title",style:{color:r?m:void 0},children:e.title})]},t)})}),(0,d.jsx)("div",{ref:Qe,role:ua?void 0:"slider","aria-label":ua?void 0:"Seek","aria-valuemin":ua?void 0:0,"aria-valuemax":ua?void 0:Math.round(tc),"aria-valuenow":ua?void 0:Math.round(rc),"aria-valuetext":ua?void 0:`${Ga(rc)} of ${Ga(tc)}`,tabIndex:ua?void 0:0,className:"sdk-seekbar-container sdk-mobile-seekbar"+(qs||sa?" sdk-ad-mode":""),onMouseDown:ua?void 0:ha,onMouseMove:ua?void 0:Xa,onMouseLeave:ua?void 0:Ja,onTouchStart:ua?void 0:Qa,onKeyDown:ua?void 0:oc,style:{pointerEvents:ua?"none":void 0,touchAction:"none"},children:qs?(0,d.jsx)("div",{className:"sdk-ad-progress-fill",style:{width:(()=>{const e=Zt?Zt.getCurrentTime():yr,t=Zn(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:"0%"})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"sdk-seekbar-buffered",style:{width:(xr?(Zt&&Zt.getBufferedRanges()[0]?.end||0)/xr*100:0)+"%"}}),oi>0&&Zr.filter(e=>!ln.has(e.startTime)&&mi(e)).map((e,t)=>(0,d.jsx)("div",{className:"sdk-seekbar-adbreak",style:{left:ui(e.startTime)/oi*100+"%",width:"3px"}},t)),(0,d.jsx)("div",{className:"sdk-seekbar-progress",style:{width:(tc>0?rc/tc*100:0)+"%",background:"#ffffff",boxShadow:"none"},children:(0,d.jsx)("div",{className:"sdk-seekbar-handle",style:{opacity:1,transform:"scale(1)"}})}),lr.enableKeyMoments&&Ri.map((e,t)=>0===oi?null:(0,d.jsx)("div",{className:"sdk-seekbar-chapter-marker sdk-desktop-chapter-dot",style:{left:ui(e.startTime)/oi*100+"%"}},t))]})}),(0,d.jsxs)("div",{className:"sdk-mobile-controls-row",children:[(0,d.jsxs)("div",{className:"sdk-mobile-left-controls",children:[!qs&&(0,d.jsx)("span",{className:"sdk-time-display",children:`${Ga(rc)} / ${Ga(tc)}`}),!qs&&(0,d.jsxs)("div",{className:"sdk-mobile-volume-control",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn",onClick:e=>{e.stopPropagation(),ga()},"aria-label":ic||0===nc?"Unmute":"Mute","aria-pressed":ic||0===nc,children:ac()}),"slider"===Se&&!ae&&(0,d.jsx)("input",{type:"range",className:"sdk-mobile-volume-slider",min:0,max:1,step:.05,value:ic?0:nc,"aria-label":"Volume","aria-valuetext":ic?"Muted":`${Math.round(100*nc)}%`,style:{"--vol-pct":Math.round(100*(ic?0:nc))},onChange:e=>{const t=parseFloat(e.target.value);ei?(Zt?.casting.remoteSetVolume(t),t>0&&Zt?.casting.remoteSetMute(!1)):(Zt?.setVolume(t),t>0&&jr&&Zt?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-bottom-icons",children:[Fe&&He&&!qs&&!Us&&(0,d.jsx)("button",{className:"sdk-mobile-icon-btn sdk-next-episode-btn",onClick:()=>{Oa()},"aria-label":qe,children:(0,d.jsx)(_,{size:18,fill:"currentColor","aria-hidden":"true"})}),lr.enableKeyMoments&&Ri.length>0&&!qs&&(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+($i?" active":""),onClick:()=>{_i(!$i)},"aria-label":$i?"Hide chapters":"Show chapters","aria-pressed":$i,children:(0,d.jsx)(K,{size:18})}),lr.enableSubtitles&&!qs&&Ti.length>0&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("off"!==vi?" active":""),onClick:()=>{uc("subtitles")},"aria-label":"Captions","aria-haspopup":"listbox","aria-expanded":"subtitles"===Ai,children:(0,d.jsx)(x,{size:18,"aria-hidden":"true"})}),"subtitles"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Captions",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Subtitles"}),(0,d.jsxs)("div",{role:"option","aria-selected":"off"===vi,tabIndex:0,className:"sdk-dropup-item "+("off"===vi?"active":""),onClick:()=>Ta("off"),onKeyDown:cc(()=>Ta("off")),children:[(0,d.jsx)("span",{children:"Off"}),"off"===vi&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]}),Ti.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":vi===e.id,tabIndex:0,className:"sdk-dropup-item "+(vi===e.id?"active":""),onClick:()=>Ta(e.id),onKeyDown:cc(()=>Ta(e.id)),children:[(0,d.jsx)("span",{children:Z(e)}),vi===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),lr.allowMultipleAudio&&Si.length>1&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("audio"===Ai?" active":""),onClick:()=>{uc("audio")},"aria-label":"Audio track","aria-haspopup":"listbox","aria-expanded":"audio"===Ai,children:(0,d.jsx)(M,{size:18,"aria-hidden":"true"})}),"audio"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Audio track",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Audio Track"}),Si.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Ei===e.id,tabIndex:0,className:"sdk-dropup-item "+(Ei===e.id?"active":""),onClick:()=>va(e),onKeyDown:cc(()=>va(e)),children:[(0,d.jsx)("span",{children:Z(e)}),Ei===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),lr.enablePlaybackSpeed&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("speed"===Ai?" active":""),onClick:()=>{uc("speed")},"aria-label":"Playback speed","aria-haspopup":"listbox","aria-expanded":"speed"===Ai,children:(0,d.jsx)(C,{size:18,"aria-hidden":"true"})}),"speed"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Playback speed",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Speed"}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Ii===e,tabIndex:0,className:"sdk-dropup-item "+(Ii===e?"active":""),onClick:()=>ya(e),onKeyDown:cc(()=>ya(e)),children:[(0,d.jsx)("span",{children:1===e?"Normal":`${e}x`}),Ii===e&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e))]})]}),lr.enableQuality&&hi.length>0&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+(-1!==bi.id?" active":""),onClick:()=>{uc("quality")},"aria-label":"Video quality","aria-haspopup":"listbox","aria-expanded":"quality"===Ai,children:(0,d.jsx)(X,{size:18,"aria-hidden":"true"})}),"quality"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu large",role:"listbox","aria-label":"Video quality",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Quality"}),hi.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":bi.id===e.id,tabIndex:0,className:"sdk-dropup-item "+(bi.id===e.id?"active":""),onClick:()=>xa(e.id),onKeyDown:cc(()=>xa(e.id)),children:[(0,d.jsx)("span",{children:e.label}),bi.id===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),ie&&Pe&&Pe.length>1&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("sources"===Ai?" active":""),onClick:()=>{uc("sources")},"aria-label":"Select source","aria-haspopup":"listbox","aria-expanded":"sources"===Ai,children:(0,d.jsx)(Q,{size:18,"aria-hidden":"true"})}),"sources"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Select source",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Source"}),Pe.map((e,t)=>(0,d.jsxs)("div",{role:"option","aria-selected":Ae===t,tabIndex:0,className:"sdk-dropup-item "+(Ae===t?"active":""),onClick:()=>wa(t),onKeyDown:cc(()=>wa(t)),children:[(0,d.jsx)("span",{children:e.label}),Ae===t&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},t))]})]}),(0,d.jsx)("button",{className:"sdk-mobile-icon-btn",onClick:Na,"aria-label":Fr||qr?"Exit fullscreen":"Enter fullscreen","aria-pressed":Fr||qr,children:Fr?(0,d.jsx)(P,{size:18,"aria-hidden":"true"}):(0,d.jsx)(R,{size:18,"aria-hidden":"true"})})]})]})]})]})]}),!Or&&(0,d.jsxs)("div",{className:"sdk-controls-overlay",onClick:e=>{qs||e.target.closest(".sdk-desktop-header")||e.target.closest(".sdk-desktop-center-controls")||e.target.closest(".sdk-desktop-bottom")||(Ws.current&&(window.clearTimeout(Ws.current),Ws.current=null),Vs(!1))},children:[(0,d.jsxs)("div",{className:"sdk-desktop-header",children:[(0,d.jsxs)("div",{className:"sdk-desktop-header-left",children:[(Fr||qr)&&(0,d.jsx)("button",{className:"sdk-desktop-back-btn",onClick:e=>{e.stopPropagation(),Na()},"aria-label":"Exit fullscreen",children:(0,d.jsx)(S,{size:22,"aria-hidden":"true"})}),$s&&(0,d.jsx)("span",{className:"sdk-desktop-title",children:$s})]}),(0,d.jsxs)("div",{className:"sdk-desktop-header-right",children:[lr.enableChromecast&&!se&&!qs&&(0,d.jsx)("button",{className:"sdk-desktop-hdr-btn",onClick:e=>{e.stopPropagation(),Wa()},"data-tooltip":ei?`Casting to ${ei} — click to disconnect`:"Cast to device","aria-label":ei?`Stop casting to ${ei}`:"Cast to device","aria-pressed":!!ei,style:{color:ei?"#3b82f6":""},children:(0,d.jsx)(T,{size:20,fill:ei?"currentColor":"none","aria-hidden":"true"})}),ei&&(0,d.jsxs)("span",{className:"sdk-cast-indicator","aria-hidden":"true",children:[(0,d.jsx)(T,{size:10,fill:"currentColor","aria-hidden":"true"}),ei]}),lr.allowAirplay&&ns&&(0,d.jsx)("button",{className:"sdk-desktop-hdr-btn",onClick:e=>{e.stopPropagation(),Ka()},"data-tooltip":ss?`AirPlay to ${cs||"device"} — click to disconnect`:"AirPlay to device","aria-label":ss?`Stop AirPlay to ${cs||"device"}`:"AirPlay to device","aria-pressed":ss,style:{color:ss?m:""},children:(0,d.jsx)(v,{size:20,"aria-hidden":"true"})})]})]}),y&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"sdk-desktop-center-controls",style:{pointerEvents:"none"},children:[!ua&&(0,d.jsx)("button",{className:"sdk-desktop-seek-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ka(-10,"fast_backward")},"aria-label":"Rewind 10 seconds",children:(0,d.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)(D,{size:30,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-desktop-seek-label","aria-hidden":"true",children:"10"})]})}),(0,d.jsx)("button",{className:"sdk-desktop-play-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),pa()},"aria-label":Gr?"Replay":Ya?"Pause":"Play",children:Gr?(0,d.jsx)(D,{size:38,"aria-hidden":"true"}):Ya?(0,d.jsx)(A,{size:38,fill:"currentColor","aria-hidden":"true"}):(0,d.jsx)(I,{size:38,fill:"currentColor",style:{marginLeft:"4px"},"aria-hidden":"true"})}),!ua&&(0,d.jsx)("button",{className:"sdk-desktop-seek-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ka(10,"fast_forward")},"aria-label":"Skip forward 10 seconds",children:(0,d.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)($,{size:30,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-desktop-seek-label","aria-hidden":"true",children:"10"})]})})]}),lr.enableKeyMoments&&$i&&Ri.length>0&&"panel"===we&&(0,d.jsxs)("div",{className:"sdk-chapters-panel",onClick:e=>e.stopPropagation(),children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-header",children:(0,d.jsx)("span",{className:"sdk-chapters-panel-title",children:"Chapters"})}),(0,d.jsx)("div",{className:"sdk-chapters-panel-list",children:Ri.map((e,t)=>{const r=Mi.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-chapters-panel-item"+(r?" active":""),"aria-label":`${e.title}, ${Ga(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:()=>Sa(e.startTime,e),onKeyDown:lc(()=>Sa(e.startTime,e)),children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-thumb",children:zi[t]||e.thumbnail?(0,d.jsx)("img",{src:zi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(N,{size:18,"aria-hidden":"true",style:{color:"rgba(255,255,255,0.3)"}})}),(0,d.jsxs)("div",{className:"sdk-chapters-panel-info",children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-item-title",children:e.title}),e.description&&(0,d.jsx)("div",{className:"sdk-chapters-panel-item-desc",children:e.description}),(0,d.jsx)("div",{className:"sdk-chapters-panel-item-time","aria-hidden":"true",children:Ga(e.startTime)})]})]},t)})})]}),(0,d.jsxs)("div",{className:"sdk-desktop-bottom",children:[lr.enableKeyMoments&&$i&&Ri.length>0&&"strip"===we&&(0,d.jsx)("div",{className:"sdk-desktop-chapters-strip",children:Ri.map((e,t)=>{const r=Mi.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-desktop-chapter-card"+(r?" active":""),"aria-label":`${e.title}, ${Ga(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:t=>{t.stopPropagation(),Sa(e.startTime,e)},onKeyDown:lc(()=>Sa(e.startTime,e)),children:[(0,d.jsx)("div",{className:"sdk-desktop-chapter-thumb",children:zi[t]||e.thumbnail?(0,d.jsx)("img",{src:zi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(N,{size:18,"aria-hidden":"true",style:{color:"rgba(255,255,255,0.35)"}})}),(0,d.jsx)("div",{className:"sdk-desktop-chapter-title",children:e.title}),(0,d.jsx)("div",{className:"sdk-desktop-chapter-time","aria-hidden":"true",children:Ga(e.startTime)})]},t)})}),(0,d.jsx)("div",{ref:Qe,role:ua?void 0:"slider","aria-label":ua?void 0:"Seek","aria-valuemin":ua?void 0:0,"aria-valuemax":ua?void 0:Math.round(tc),"aria-valuenow":ua?void 0:Math.round(rc),"aria-valuetext":ua?void 0:`${Ga(rc)} of ${Ga(tc)}`,tabIndex:ua?void 0:0,className:"sdk-seekbar-container sdk-desktop-seekbar"+(qs||sa?" sdk-ad-mode":""),onMouseDown:ua?void 0:ha,onMouseMove:ua?void 0:Xa,onMouseLeave:ua?void 0:Ja,onTouchStart:ua?void 0:Qa,onKeyDown:ua?void 0:oc,style:{pointerEvents:ua?"none":void 0},children:qs?(0,d.jsx)("div",{className:"sdk-ad-progress-fill",style:{width:(()=>{const e=Zt?Zt.getCurrentTime():yr,t=Zn(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:"0%"})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"sdk-seekbar-buffered",style:{width:(xr?(Zt&&Zt.getBufferedRanges()[0]?.end||0)/xr*100:0)+"%"}}),oi>0&&Zr.filter(e=>!ln.has(e.startTime)&&mi(e)).map((e,t)=>(0,d.jsx)("div",{className:"sdk-seekbar-adbreak",style:{left:ui(e.startTime)/oi*100+"%",width:"3px"}},t)),(0,d.jsx)("div",{className:"sdk-seekbar-progress",style:{width:(tc>0?rc/tc*100:0)+"%",background:"#ffffff",boxShadow:"none"},children:(0,d.jsx)("div",{className:"sdk-seekbar-handle"})}),lr.enableKeyMoments&&Ri.map((e,t)=>0===oi?null:(0,d.jsx)("div",{className:"sdk-seekbar-chapter-marker sdk-desktop-chapter-dot",style:{left:ui(e.startTime)/oi*100+"%"}},t)),(()=>{if(null===ds)return null;const e=ui(fs),t=Es&&!xs.current?Zt.thumbnails.getThumbnail(e):null,r=t?Zt.thumbnails.getSpriteSize():null,n=t?null:ys?.thumbnail??null,i=t&&t.width>0?192/t.width:1;return t&&r||n||ks?(0,d.jsxs)("div",{className:"sdk-thumbnail-tooltip",style:{left:`${ps}px`},children:[!za&&(0,d.jsx)("div",{className:"sdk-thumbnail-preview",children:t&&r?(0,d.jsx)("img",{src:Oe(t.url),alt:"preview",draggable:!1,onError:()=>ws(!0),style:{position:"absolute",top:-t.y*i+"px",left:-t.x*i+"px",width:r.width*i+"px",height:r.height*i+"px",maxWidth:"none",display:"block"}}):(0,d.jsx)("img",{src:n??ks,alt:"preview",style:{width:"100%",height:"100%",objectFit:"cover",borderRadius:"8px",display:"block"}})}),ys&&(0,d.jsx)("div",{className:"sdk-thumbnail-chapter-name",children:ys.title}),(0,d.jsx)("div",{className:"sdk-thumbnail-time-label",children:Ga(e)})]}):null})()]})}),(0,d.jsxs)("div",{className:"sdk-desktop-controls-row",children:[(0,d.jsxs)("div",{className:"sdk-desktop-left-controls",children:[!qs&&(0,d.jsx)("div",{className:"sdk-time-display",children:`${Ga(rc)} / ${Ga(tc)}`}),"slider"===Se&&(0,d.jsxs)("div",{className:"sdk-volume-control",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),ga()},"data-tooltip":ic?"Unmute":"Mute","aria-label":ic?"Unmute":"Mute","aria-pressed":ic,children:ac()}),(0,d.jsx)("input",{type:"range",className:"sdk-volume-slider",min:0,max:1,step:.02,value:ic?0:nc,"aria-label":"Volume","aria-valuetext":ic?"Muted":`${Math.round(100*nc)}%`,style:{"--vol-pct":Math.round(100*(ic?0:nc))},onChange:e=>{const t=parseFloat(e.target.value);ei?(Zt?.casting.remoteSetVolume(t),t>0&&Zt?.casting.remoteSetMute(!1)):(Zt?.setVolume(t),t>0&&jr&&Zt?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)("div",{className:"sdk-desktop-right-icons",children:[Fe&&He&&!qs&&!Us&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn sdk-next-episode-btn",onClick:e=>{e.stopPropagation(),Oa()},"data-tooltip":qe,"aria-label":qe,children:(0,d.jsx)(_,{size:20,fill:"currentColor","aria-hidden":"true"})}),lr.enableKeyMoments&&Ri.length>0&&!qs&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+($i?" active":""),onClick:e=>{e.stopPropagation(),_i(!$i)},"data-tooltip":"Key Moments","aria-label":$i?"Hide chapters":"Show chapters","aria-pressed":$i,children:(0,d.jsx)(K,{size:20})}),lr.enableSubtitles&&!qs&&Ti.length>0&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("off"!==vi?" active":""),onClick:e=>{e.stopPropagation(),uc("subtitles")},"data-tooltip":"Captions","aria-label":"Captions","aria-haspopup":"listbox","aria-expanded":"subtitles"===Ai,children:(0,d.jsx)(x,{size:20,"aria-hidden":"true"})}),"subtitles"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Captions",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Subtitles"}),(0,d.jsxs)("div",{role:"option","aria-selected":"off"===vi,tabIndex:0,className:"sdk-dropup-item "+("off"===vi?"active":""),onClick:()=>Ta("off"),onKeyDown:cc(()=>Ta("off")),children:[(0,d.jsx)("span",{children:"Off"}),"off"===vi&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]}),Ti.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":vi===e.id,tabIndex:0,className:"sdk-dropup-item "+(vi===e.id?"active":""),onClick:()=>Ta(e.id),onKeyDown:cc(()=>Ta(e.id)),children:[(0,d.jsx)("span",{children:Z(e)}),vi===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),lr.allowMultipleAudio&&Si.length>1&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("audio"===Ai?" active":""),onClick:e=>{e.stopPropagation(),uc("audio")},"data-tooltip":"Audio Track","aria-label":"Audio track","aria-haspopup":"listbox","aria-expanded":"audio"===Ai,children:(0,d.jsx)(M,{size:20,"aria-hidden":"true"})}),"audio"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Audio track",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Audio Track"}),Si.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Ei===e.id,tabIndex:0,className:"sdk-dropup-item "+(Ei===e.id?"active":""),onClick:()=>va(e),onKeyDown:cc(()=>va(e)),children:[(0,d.jsx)("span",{children:Z(e)}),Ei===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),lr.enablePlaybackSpeed&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("speed"===Ai?" active":""),onClick:e=>{e.stopPropagation(),uc("speed")},"data-tooltip":"Playback Speed","aria-label":"Playback speed","aria-haspopup":"listbox","aria-expanded":"speed"===Ai,children:(0,d.jsx)(C,{size:20,"aria-hidden":"true"})}),"speed"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Playback speed",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Speed"}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Ii===e,tabIndex:0,className:"sdk-dropup-item "+(Ii===e?"active":""),onClick:()=>ya(e),onKeyDown:cc(()=>ya(e)),children:[(0,d.jsx)("span",{children:1===e?"Normal":`${e}x`}),Ii===e&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e))]})]}),lr.enableQuality&&hi.length>0&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(-1!==bi.id?" active":""),onClick:e=>{e.stopPropagation(),uc("quality")},"data-tooltip":"Quality","aria-label":"Video quality","aria-haspopup":"listbox","aria-expanded":"quality"===Ai,children:(0,d.jsx)(X,{size:20,"aria-hidden":"true"})}),"quality"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu large",role:"listbox","aria-label":"Video quality",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Quality"}),hi.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":bi.id===e.id,tabIndex:0,className:"sdk-dropup-item "+(bi.id===e.id?"active":""),onClick:()=>xa(e.id),onKeyDown:cc(()=>xa(e.id)),children:[(0,d.jsx)("span",{children:e.label}),bi.id===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),ie&&Pe&&Pe.length>1&&!qs&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("sources"===Ai?" active":""),onClick:e=>{e.stopPropagation(),uc("sources")},"data-tooltip":"Select Source","aria-label":"Select source","aria-haspopup":"listbox","aria-expanded":"sources"===Ai,children:(0,d.jsx)(Q,{size:20,"aria-hidden":"true"})}),"sources"===Ai&&(0,d.jsxs)("div",{ref:dc,className:"sdk-dropup-menu",role:"listbox","aria-label":"Select source",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Source"}),Pe.map((e,t)=>(0,d.jsxs)("div",{role:"option","aria-selected":Ae===t,tabIndex:0,className:"sdk-dropup-item "+(Ae===t?"active":""),onClick:()=>wa(t),onKeyDown:cc(()=>wa(t)),children:[(0,d.jsx)("span",{children:e.label}),Ae===t&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},t))]})]}),lr.enablePiP&&!qs&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(Kr?" active":""),onClick:e=>{e.stopPropagation(),Ea()},"data-tooltip":"Picture-in-Picture","aria-label":Kr?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":Kr,children:(0,d.jsx)(L,{size:20,"aria-hidden":"true"})}),"button"===Se&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),ga()},"data-tooltip":ic?"Unmute":"Mute","aria-label":ic?"Unmute":"Mute","aria-pressed":ic,children:ac()}),be&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),Na()},"data-tooltip":Fr||qr?"Exit fullscreen":"Fullscreen","aria-label":Fr||qr?"Exit fullscreen":"Enter fullscreen","aria-pressed":Fr||qr,children:Fr?(0,d.jsx)(P,{size:20,"aria-hidden":"true"}):(0,d.jsx)(R,{size:20,"aria-hidden":"true"})})]})]})]})]})]}),Qr&&(()=>{const e=Zr.find(e=>Za>=e.startTime&&Za<e.endTime),t=e?e.endTime-e.startTime:nn?oi:null,r=e?Math.max(0,Za-e.startTime):nn?ui(Za):null;return(0,u.createPortal)((0,d.jsxs)("div",{className:"gb-pip-overlay"+(Ya?"":" gb-pip-paused"),children:[(0,d.jsx)("div",{}),(0,d.jsxs)("div",{className:"gb-pip-center",children:[(0,d.jsx)("button",{className:"gb-pip-btn",onClick:()=>ka(-10,"fast_backward"),"aria-label":"Rewind 10 seconds",disabled:ua,children:(0,d.jsx)(D,{size:20,"aria-hidden":"true"})}),(0,d.jsx)("button",{className:"gb-pip-btn gb-pip-play",onClick:pa,"aria-label":Gr?"Replay":Ya?"Pause":"Play",children:Gr?(0,d.jsx)(D,{size:24,"aria-hidden":"true"}):Ya?(0,d.jsx)(A,{size:24,"aria-hidden":"true"}):(0,d.jsx)(I,{size:24,"aria-hidden":"true",style:{marginLeft:2}})}),(0,d.jsx)("button",{className:"gb-pip-btn",onClick:()=>ka(10,"fast_forward"),"aria-label":"Skip forward 10 seconds",disabled:ua,children:(0,d.jsx)($,{size:20,"aria-hidden":"true"})})]}),(0,d.jsxs)("div",{className:"gb-pip-bottom",children:[(0,d.jsx)("div",{className:"gb-pip-progress",onClick:Ca,onMouseDown:Ma,children:(0,d.jsx)("div",{className:"gb-pip-progress-fill",style:{width:(t?(r??0)/t*100:0)+"%"}})}),(0,d.jsx)("div",{className:"gb-pip-time",children:null!==t?`${Ga(r??0)} / ${Ga(t)}`:"––:––"})]})]}),Qr.document.body)})()]})};function fe(e,t,r){if(!r)return e;const n=/^[a-z][a-z0-9+.-]*:\/\//i.test(e),i=!n&&e.startsWith("//");try{let s;i?s="https://sdk-relative-base.invalid/":n||(s="http://sdk-relative-base.invalid/");const a=new URL(e,s);return a.searchParams.set(t,r),n?a.toString():i?a.toString().replace(/^https:/,""):`${a.pathname}${a.search}${a.hash}`}catch{return e}}var be="https://api.go-boss.com";function ke(e){return{"x-player-key":e,"Content-Type":"application/json"}}async function ge(e,t=be,r={}){const n=await fetch(`${t}/api/player/sdk/init`,{method:"POST",headers:ke(e),body:JSON.stringify({videoUrl:r.videoUrl})});if(!n.ok)throw new Error(`SDK init failed: ${n.status}`);return await n.json()}async function ye(e,t,r=be){const{sessionId:n,videoId:i,videoTitle:s,videoUrl:a,contentDurationSec:c}=t,l=await fetch(`${r}/api/player/sdk/session/start`,{method:"POST",headers:ke(e),body:JSON.stringify({sessionId:n,videoId:i,videoTitle:s,videoUrl:a,contentDurationSec:"number"==typeof c&&Number.isFinite(c)&&c>0?c:void 0})});if(!l.ok)throw new Error(`Session start failed: ${l.status}`)}async function ve(e,t,r,n,i=be){const s={sessionId:t,currentTime:r,duration:n},a=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:"POST",headers:ke(e),body:JSON.stringify(s)});if(!a.ok)throw new Error(`Heartbeat failed: ${a.status}`)}async function xe(e,t,r=0,n=0,i=be){const s=await fetch(`${i}/api/player/sdk/session/end`,{method:"POST",headers:ke(e),body:JSON.stringify({sessionId:t,currentTime:r,duration:n})});if(!s.ok)throw new Error(`Session end failed: ${s.status}`)}async function Te(e,t,r=be){const n=await fetch(`${r}/api/player/sdk/events`,{method:"POST",headers:ke(e),body:JSON.stringify(t),priority:"low"});if(!n.ok)throw new Error(`Event ${t.eventType} failed: ${n.status}`)}var we=null;function Se(){if("undefined"!=typeof screen)return screen.orientation?.type??void 0}var je=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch("number"!=typeof e.currentTime||Number.isNaN(e.currentTime)||(this.lastCurrentTime=e.currentTime),"number"!=typeof e.duration||Number.isNaN(e.duration)||(this.lastDuration=e.duration),"number"==typeof e.totalWatchTime&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case"play":this.isPlaybackActive?this.call("playerDidResumePlaying",e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call("playerDidStartPlaying",e.currentTime,this.autoplay));break;case"pause":e.duration>0&&e.currentTime>=e.duration-.25||this.call("playerDidPause",e.currentTime);break;case"ended":this.isPlaybackActive=!1,this.hasFinished=!0,this.call("playerDidFinishPlaying",e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case"seek":this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case"fast_forward":this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case"fast_backward":this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case"buffering_start":this.call("playerDidStartBuffering",e.currentTime);break;case"buffering_end":this.call("playerDidFinishBuffering",e.currentTime);break;case"quality_change":{const t=e.rendition;t&&t!==this.prevQuality&&(this.call("playerDidChangeQuality",this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case"subtitle_change":if(!1===e.subtitleEnabled)this.call("playerDidDisableSubtitle",this.prevSubtitle),this.prevSubtitle=void 0;else{const t=e.subtitleLanguage??"";this.call("playerDidChangeSubtitle",this.prevSubtitle,t),this.prevSubtitle=t}break;case"audio_track_change":{const t=e.audioTrack??"";this.call("playerDidChangeAudioTrack",this.prevAudioTrack,t),this.prevAudioTrack=t;break}case"speed_change":{const t=e.speed??1;t!==this.prevSpeed&&(this.call("playerDidChangePlaybackSpeed",this.prevSpeed,t),this.prevSpeed=t);break}case"fullscreen_enter":this.call("playerDidEnterFullscreen",Se());break;case"fullscreen_exit":this.call("playerDidExitFullscreen",Se());break;case"key_moments":{const t=e.momentTitle??"",r=e.momentTime??e.currentTime,n=this.keyMoments,i=n.findIndex(e=>t&&e.title===t||e.startTime===r),s=i>=0?n[i]:void 0;this.call("playerDidSelectKeyMoment",i>=0?String(i):void 0,s?.title??t,s?.startTime??r,s?.endTime??r);break}case"pip_toggle":(e.pipState?"entered"===e.pipState:"entered"===e.errorMessage)?this.call("playerDidEnterPictureInPicture",e.currentTime):this.call("playerDidExitPictureInPicture",e.currentTime);break;case"error":this.call("playerDidEncounterPlaybackError",null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",e.errorMessage??"Unknown player error",e.isRecoverable??!1);break;case"network_error":this.call("playerDidEncounterNetworkError",e.errorCode??0,e.errorMessage??"Network error",e.isRecoverable??!1)}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){const{fromTime:t,startedWallMs:r}=this.pendingSeek;this.pendingSeek=null,this.call("playerDidFinishSeeking",t,e,(Date.now()-r)/1e3)}this.call("playerDidUpdateCurrentTime",e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call("playerDidDismiss",this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){this.pendingSeek?this.pendingSeek.toTime=t:(this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call("playerDidStartSeeking",e))}call(e,...t){const r=this.delegate,n=r?.[e];if("function"==typeof n)try{n.apply(r,t)}catch(i){}}},Ee={subtitles:"subtitle_support",ads:"ad_support",chapterMarkers:"key_moments",playbackSpeed:"playback_speed",airplay:"airplay",chromecast:"chromecast",pictureInPicture:"picture_in_picture",multipleResolution:"multiple_resolution",multipleAudio:"multiple_audio",drmProtection:"drm_protection",screenRecordingPrevention:"screen_recording_prevention",signalStrength:"signal_strength"};function Ce(e){const t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(const[r,n]of Object.entries(Ee))r in e&&(t[n]=e[r]);return t}function Me({playerKey:e,src:t,subtitles:r,licenseKey:n,themeColor:i="#6366f1",firebaseConfig:s,proxyDomains:l,apiBaseUrl:o,adTrackingUrl:u,overlayAdUrl:m,videoId:p,title:h,artworkUrl:f,watermark:b,autoplay:k=!1,muted:g=!1,autoFullscreen:y=!1,enableControls:v=!0,enableSkipAd:x,skipAdAfterSeconds:T,chaptersDisplayMode:w="strip",volumeControlType:S="slider",subtitleStyle:j,drmConfig:E,onAnalyticsEvent:C,delegate:M,onKeyMomentsLoaded:N,initialTime:R,onTimeUpdate:P,skipMarkers:A,introStartTime:L,introEndTime:I,hasNextEpisode:D,outroStartTime:$,nextEpisodeLabel:_,onNextEpisode:z,nextEpisodeAutoAdvanceSeconds:F,nextEpisodeThumbnailUrl:V,featureOverrides:q,enableQuality:U,enableSources:B=!1}){const[O,W]=(0,c.useState)([]),[K,X]=(0,c.useState)(0),[Q]=(0,c.useState)(()=>new je);(0,c.useEffect)(()=>{Q.setDelegate(M),Q.setAutoplay(k)},[Q,M,k]),(0,c.useEffect)(()=>()=>Q.notifyDismissed(),[Q]);const J=Array.isArray(t)?t:[{label:"Default",url:t}],G=J[K]?.url??J[0]?.url??"",[Y,Z]=(0,c.useState)("loading"),[ee,te]=(0,c.useState)(null),[re,ne]=(0,c.useState)(0),[ie,se]=(0,c.useState)("network"),ae=(0,c.useRef)(null),ce=(0,c.useRef)(!1),le=(0,c.useRef)(""),oe=(0,c.useRef)(!1),ue=(0,c.useRef)(!1),de=(0,c.useRef)(null),me=(0,c.useRef)(!1),pe=(0,c.useRef)(Promise.resolve()),Se=(0,c.useRef)(void 0),Me=(0,c.useRef)(!1),Ne=(0,c.useRef)(!1),Re=(0,c.useRef)(3e4),Pe=(0,c.useRef)(null),Ae=(0,c.useRef)(0),Le=(0,c.useRef)(null),Ie=(0,c.useRef)({currentTime:0,duration:0,contentTime:0,contentDuration:0}),De=(0,c.useRef)(()=>{}),$e=(0,c.useRef)([]),_e=(0,c.useRef)(()=>{}),ze=p||(G?a.extractVideoId(G):"")||"video",Fe=(0,c.useRef)(G);(0,c.useEffect)(()=>{Fe.current=G},[G]);const Ve=(0,c.useRef)(ze);(0,c.useLayoutEffect)(()=>{Ve.current=ze},[ze]);const qe=(0,c.useMemo)(()=>function(e){if(!e)return e=>e;const t=[];for(const r of e.split(",")){const[e,n]=r.split("=");e?.trim()&&n?.trim()&&t.push({domain:e.trim(),proxyPath:n.trim()})}return e=>{for(const{domain:r,proxyPath:n}of t)if(e.includes(r))try{const t=new URL(e);return`${n}${t.pathname}${t.search}`}catch{return e.replace(`https://${r}`,n)}return e}}(l),[l]),He=(0,c.useCallback)(e=>fe(fe(qe(e),"sid",le.current),"vid",Ve.current),[qe]),Ue=function(e){const t=e.replace("#","");return 6!==t.length?"99, 102, 241":`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`}(i);(0,c.useEffect)(()=>{document.documentElement.style.setProperty("--accent-indigo",i),document.documentElement.style.setProperty("--accent-indigo-rgb",Ue)},[i,Ue]),(0,c.useEffect)(()=>{let t=!1;return ge(e,o,{videoUrl:Fe.current}).then(e=>{if(t)return;ae.current=e;const{features:r,planTier:n,heartbeatIntervalSeconds:i}=e.result.data;Re.current="number"==typeof i&&i>0?1e3*i:3e4;const s={package:n,is_active:!0,features:Ce(r),limits:{streaming_minutes:0}};te(s),Z("ready")}).catch(e=>{if(t)return;const r=e.message??"";se(/init failed: 4\d\d/.test(r)?"auth":"network"),Z("error")}),()=>{t=!0,_e.current(),Pe.current&&(clearTimeout(Pe.current),Pe.current=null),Ae.current=0,Le.current=null,Z("loading"),te(null),oe.current=!1,le.current="",ue.current=!1,de.current=null,me.current=!1,pe.current=Promise.resolve(),Se.current=void 0,Ne.current=!1}},[e,o,re]);const Be=(0,c.useCallback)(e=>{const t=de.current;if(!t)return e();const r=pe.current.catch(()=>{}).then(()=>t).then(()=>{if(!me.current)return e()});return pe.current=r.catch(()=>{}),r},[]),Oe=(0,c.useCallback)(()=>{Pe.current&&(clearTimeout(Pe.current),Pe.current=null,null!==Le.current&&(Ae.current+=Date.now()-Le.current,Le.current=null))},[]),We=(0,c.useCallback)(()=>{Pe.current&&(clearTimeout(Pe.current),Pe.current=null),Ae.current=0,Le.current=null},[]),Ke=(0,c.useCallback)(()=>{if(!le.current||ue.current)return;if(ue.current=!0,We(),me.current)return;const{contentTime:t,contentDuration:r}=Ie.current;!function(e,t,r=0,n=0,i=be){const s=`${i}/api/player/sdk/session/end`,a=JSON.stringify({sessionId:t,currentTime:r,duration:n});if(function(){if(null===we)try{we="keepalive"in new Request(be)}catch{we=!1}return we}())fetch(s,{method:"POST",headers:ke(e),body:a,keepalive:!0}).catch(()=>{});else try{const t=new XMLHttpRequest;t.open("POST",s,!1),t.setRequestHeader("x-player-key",e),t.setRequestHeader("Content-Type","application/json"),t.send(a)}catch{}}(e,le.current,t,r,o)},[e,o,We]);(0,c.useEffect)(()=>{_e.current=Ke},[Ke]);const Xe=(0,c.useCallback)(()=>{if(Pe.current||!le.current)return;Le.current=Date.now();const t=Re.current-Ae.current;Pe.current=setTimeout(()=>{Pe.current=null,Ae.current=0,Le.current=null;const{contentTime:t,contentDuration:r}=Ie.current,n=le.current;Be(()=>ve(e,n,t,r,o)).catch(e=>{}),De.current()},t)},[e,o,Be]);(0,c.useEffect)(()=>{De.current=Xe},[Xe]);const Qe=(0,c.useRef)(!0);(0,c.useEffect)(()=>{Qe.current?Qe.current=!1:(Me.current=!0,Se.current=void 0,Oe())},[K,Oe]),(0,c.useEffect)(()=>{const e=()=>{Q.notifyDismissed(),Ke()};return window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),()=>{window.removeEventListener("beforeunload",e),window.removeEventListener("pagehide",e),Ke(),We()}},[Ke,We,Q]);const Je=(0,c.useCallback)((e=4e3)=>new Promise(t=>{const r=e=>{clearTimeout(n),$e.current=$e.current.filter(e=>e!==r),t(e)},n=setTimeout(()=>{$e.current=$e.current.filter(e=>e!==r),t(void 0)},e);$e.current.push(r)}),[]),Ge=(0,c.useCallback)(t=>{me.current=!1;const r=t.contentDuration??t.duration;de.current=(Number.isFinite(r)&&r>0?Promise.resolve(r):Je()).then(t=>ye(e,{sessionId:le.current,videoId:ze,videoTitle:h,videoUrl:Fe.current,contentDurationSec:t},o)).catch(e=>{me.current=!0})},[e,o,ze,h,Je]),Ye=(0,c.useCallback)(t=>{const r=t;if(void 0!==t.currentTime){const e=t.contentTime??t.currentTime,r=t.contentDuration??t.duration;if(Ie.current={currentTime:t.currentTime,duration:t.duration,contentTime:e,contentDuration:r},$e.current.length>0&&Number.isFinite(r)&&r>0){const e=$e.current;$e.current=[],e.forEach(e=>e(r))}}if("error"!==t.eventType&&"network_error"!==t.eventType||(Ne.current=!0),Ne.current&&("buffering_end"===t.eventType||"play"===t.eventType)&&oe.current&&le.current&&!ue.current&&(Ne.current=!1,me.current&&Ge(t)),"session_start"!==t.eventType||oe.current||(oe.current=!0,ue.current=!1,Ne.current=!1,le.current="string"==typeof r.sessionId?r.sessionId:"",Ge(t),ce.current||Xe()),"play"!==t.eventType||!oe.current||ce.current||Me.current||Xe(),"pause"===t.eventType&&Oe(),"buffering_start"===t.eventType&&Oe(),"buffering_end"===t.eventType&&oe.current&&!ce.current&&(Me.current=!1,Xe()),"ended"===t.eventType&&(We(),le.current&&!ue.current)){ue.current=!0;const{contentTime:t,contentDuration:r}=Ie.current,n=le.current;le.current="",oe.current=!1,Be(()=>xe(e,n,t,r,o)).catch(e=>{})}if(oe.current&&le.current&&!ue.current){const r=function(e,t){switch(e.eventType){case"pause":return{eventType:"pause",extras:{}};case"seek":return{eventType:"seek",extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case"mute":return{eventType:"mute",extras:{isMuted:e.isMuted??!0}};case"fast_forward":return{eventType:"fast_forward",extras:{skipSeconds:e.skipSeconds??10}};case"fast_backward":return{eventType:"fast_backward",extras:{skipSeconds:e.skipSeconds??10}};case"key_moments":return{eventType:"key_moments",extras:{momentTitle:e.momentTitle??"",momentTime:e.momentTime??0}};case"buffering_start":return{eventType:"buffering_start",extras:{bufferingCount:e.bufferingCount??0}};case"buffering_end":return{eventType:"buffering_end",extras:{}};case"quality_change":return t&&e.rendition&&t!==e.rendition?{eventType:"quality_change",extras:{from:t,to:e.rendition}}:null;case"speed_change":return{eventType:"speed_change",extras:{speed:e.speed??1}};case"subtitle_change":return!1===e.subtitleEnabled?{eventType:"subtitle_disable",extras:{enabled:!1}}:{eventType:"subtitle_change",extras:{language:e.subtitleLanguage??"",enabled:!0}};case"audio_track_change":return{eventType:"audio_track_change",extras:{track:e.audioTrack??""}};case"pip_toggle":return{eventType:"pip_toggle",extras:{enabled:"entered"===e.errorMessage}};case"fullscreen_enter":return{eventType:"fullscreen_toggle",extras:{enabled:!0}};case"fullscreen_exit":return{eventType:"fullscreen_toggle",extras:{enabled:!1}};case"error":return{eventType:"player_error",extras:{code:null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",message:e.errorMessage??"Unknown player error"}};case"network_error":return{eventType:"network_error",extras:{code:e.errorCode?String(e.errorCode):"NETWORK_ERROR",message:e.errorMessage??"Network error"}};default:return null}}(t,Se.current);if(r){const n={eventType:r.eventType,sessionId:le.current,currentTime:t.currentTime??0,videoId:ze,videoTitle:h,...r.extras};Be(()=>Te(e,n,o)).catch(e=>{})}}"quality_change"===t.eventType&&t.rendition&&(Se.current=t.rendition),Q.handleAnalyticsEvent(t),C?.(t)},[e,o,ze,h,Xe,Oe,We,C,Q,Be,Je,Ge]),Ze=(0,c.useCallback)(e=>{ce.current=e,e?Oe():oe.current&&Xe()},[Oe,Xe]),et=(0,c.useCallback)(e=>{Q.setKeyMoments(e),W(e),N?.(e)},[N,Q]),tt=(0,c.useCallback)(e=>{Ie.current={...Ie.current,currentTime:e},Q.handleTimeUpdate(e),P?.(e)},[P,Q]),rt=(0,c.useCallback)(()=>{if(le.current&&!ue.current){ue.current=!0,We();const{contentTime:t,contentDuration:r}=Ie.current,n=le.current;le.current="",oe.current=!1,Be(()=>xe(e,n,t,r,o)).catch(e=>{})}else We();z?.()},[z,e,o,We,Be]),nt=(0,c.useMemo)(()=>{if(!ee||!q)return ee;const e={...ee.features};for(const[t,r]of Object.entries(q)){const n=Ee[t];n&&(e[n]=e[n]&&!1!==r)}return{...ee,features:e}},[ee,q]);if("loading"===Y)return(0,d.jsxs)("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#000",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)("style",{children:"@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}"}),(0,d.jsx)("div",{style:{width:60,height:60,borderRadius:"50%",border:`4px solid rgba(${Ue}, 0.1)`,borderLeftColor:i,borderRightColor:`rgba(${Ue}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Ue}, 0.5))`,animation:"boss-sdk-spin 1s linear infinite"}})]});if("error"===Y){const e="auth"===ie;return(0,d.jsx)("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#09090e",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",gap:20},children:(0,d.jsx)(H,{title:e?"Invalid Player Key":"Something Went Wrong",subtitle:e?"Your player key is invalid or expired.\nPlease check your configuration.":"We encountered an error while connecting.\nPlease try again.",onRetry:()=>ne(e=>e+1)})})}return(0,d.jsx)(he,{src:G,sources:J,enableSources:B,enableQuality:U,activeSourceIndex:K,onSourceChange:e=>X(e),subtitles:r,keyMoments:O,themeColor:i,firebaseConfig:s,resolvedEntitlement:nt,licenseKey:n,title:h,artworkUrl:f,watermark:b,autoplay:k,muted:g,autoFullscreen:y,enableControls:v,enableSkipAd:x,skipAdAfterSeconds:T,chaptersDisplayMode:w,volumeControlType:S,subtitleStyle:j,drmConfig:E,overlayAdUrl:m,adTrackingUrl:u,videoId:ze,urlTransformer:He,onAnalyticsEvent:Ye,onAdBreakChange:Ze,onKeyMomentsLoaded:et,initialTime:R,onTimeUpdate:tt,skipMarkers:A,introStartTime:L,introEndTime:I,hasNextEpisode:D,outroStartTime:$,nextEpisodeLabel:_,onNextEpisode:rt,nextEpisodeAutoAdvanceSeconds:F,nextEpisodeThumbnailUrl:V})}exports.BossVideoPlayer=Me,exports.ErrorScreen=H,exports.FirebaseAnalyticsProvider=a.FirebaseAnalyticsProvider,exports.VideoPlayerSDK=a.VideoPlayerSDK,exports.WebVideoPlayer=he,exports.createPlayer=function(e,t){const r=(0,m.createRoot)(e);let n=t;return r.render((0,c.createElement)(Me,n)),{update(e){n={...n,...e},r.render((0,c.createElement)(Me,n))},destroy(){r.unmount()}}},exports.endSession=xe,exports.initSdk=ge,exports.normalizeSkipMarkers=B,exports.parseTimecode=U,exports.sendEvent=Te,exports.sendHeartbeat=ve,exports.startSession=ye;
package/dist/index.js CHANGED
@@ -61,6 +61,6 @@ return b("div",{role:"button",tabIndex:0,className:"sdk-desktop-chapter-card"+(r
61
61
  /* @__PURE__ */k("button",{className:"gb-pip-btn",onClick:()=>Ns(-10,"fast_backward"),"aria-label":"Rewind 10 seconds",disabled:gs,children:/* @__PURE__ */k(U,{size:20,"aria-hidden":"true"})}),
62
62
  /* @__PURE__ */k("button",{className:"gb-pip-btn gb-pip-play",onClick:Ts,"aria-label":sn?"Replay":sc?"Pause":"Play",children:sn?/* @__PURE__ */k(U,{size:24,"aria-hidden":"true"}):sc?/* @__PURE__ */k(F,{size:24,"aria-hidden":"true"}):/* @__PURE__ */k(q,{size:24,"aria-hidden":"true",style:{marginLeft:2}})}),
63
63
  /* @__PURE__ */k("button",{className:"gb-pip-btn",onClick:()=>Ns(10,"fast_forward"),"aria-label":"Skip forward 10 seconds",disabled:gs,children:/* @__PURE__ */k(B,{size:20,"aria-hidden":"true"})})]}),
64
- /* @__PURE__ */b("div",{className:"gb-pip-bottom",children:[/* @__PURE__ */k("div",{className:"gb-pip-progress",onClick:_s,onMouseDown:zs,children:/* @__PURE__ */k("div",{className:"gb-pip-progress-fill",style:{width:(t?(r??0)/t*100:0)+"%"}})}),/* @__PURE__ */k("div",{className:"gb-pip-time",children:null!==t?`${ac(r??0)} / ${ac(t)}`:"––:––"})]})]}),nn.document.body)})()]})};function Te(e,t,r){if(!r)return e;const n=/^[a-z][a-z0-9+.-]*:\/\//i.test(e),i=!n&&e.startsWith("//");try{let a;i?a="https://sdk-relative-base.invalid/":n||(a="http://sdk-relative-base.invalid/");const s=new URL(e,a);return s.searchParams.set(t,r),n?s.toString():i?s.toString().replace(/^https:/,""):`${s.pathname}${s.search}${s.hash}`}catch{return e}}var we="https://dev-api.go-boss.com";function xe(e){return{"x-player-key":e,"Content-Type":"application/json"}}async function Se(e,t=we,r={}){const n=await fetch(`${t}/api/player/sdk/init`,{method:"POST",headers:xe(e),body:JSON.stringify({videoUrl:r.videoUrl})});if(!n.ok)throw new Error(`SDK init failed: ${n.status}`);return await n.json()}async function Ne(e,t,r=we){const{sessionId:n,videoId:i,videoTitle:a,videoUrl:s,contentDurationSec:c}=t,o=await fetch(`${r}/api/player/sdk/session/start`,{method:"POST",headers:xe(e),body:JSON.stringify({sessionId:n,videoId:i,videoTitle:a,videoUrl:s,contentDurationSec:"number"==typeof c&&Number.isFinite(c)&&c>0?c:void 0})});if(!o.ok)throw new Error(`Session start failed: ${o.status}`)}async function Me(e,t,r,n,i=we){const a={sessionId:t,currentTime:r,duration:n},s=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:"POST",headers:xe(e),body:JSON.stringify(a)});if(!s.ok)throw new Error(`Heartbeat failed: ${s.status}`)}async function Ce(e,t,r=0,n=0,i=we){const a=await fetch(`${i}/api/player/sdk/session/end`,{method:"POST",headers:xe(e),body:JSON.stringify({sessionId:t,currentTime:r,duration:n})});if(!a.ok)throw new Error(`Session end failed: ${a.status}`)}async function Ee(e,t,r=we){const n=await fetch(`${r}/api/player/sdk/events`,{method:"POST",headers:xe(e),body:JSON.stringify(t),priority:"low"});if(!n.ok)throw new Error(`Event ${t.eventType} failed: ${n.status}`)}var Ae=null;function Pe(){if("undefined"!=typeof screen)return screen.orientation?.type??void 0}var Le=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch("number"!=typeof e.currentTime||Number.isNaN(e.currentTime)||(this.lastCurrentTime=e.currentTime),"number"!=typeof e.duration||Number.isNaN(e.duration)||(this.lastDuration=e.duration),"number"==typeof e.totalWatchTime&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case"play":this.isPlaybackActive?this.call("playerDidResumePlaying",e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call("playerDidStartPlaying",e.currentTime,this.autoplay));break;case"pause":e.duration>0&&e.currentTime>=e.duration-.25||this.call("playerDidPause",e.currentTime);break;case"ended":this.isPlaybackActive=!1,this.hasFinished=!0,this.call("playerDidFinishPlaying",e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case"seek":this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case"fast_forward":this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case"fast_backward":this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case"buffering_start":this.call("playerDidStartBuffering",e.currentTime);break;case"buffering_end":this.call("playerDidFinishBuffering",e.currentTime);break;case"quality_change":{const t=e.rendition;t&&t!==this.prevQuality&&(this.call("playerDidChangeQuality",this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case"subtitle_change":if(!1===e.subtitleEnabled)this.call("playerDidDisableSubtitle",this.prevSubtitle),this.prevSubtitle=void 0;else{const t=e.subtitleLanguage??"";this.call("playerDidChangeSubtitle",this.prevSubtitle,t),this.prevSubtitle=t}break;case"audio_track_change":{const t=e.audioTrack??"";this.call("playerDidChangeAudioTrack",this.prevAudioTrack,t),this.prevAudioTrack=t;break}case"speed_change":{const t=e.speed??1;t!==this.prevSpeed&&(this.call("playerDidChangePlaybackSpeed",this.prevSpeed,t),this.prevSpeed=t);break}case"fullscreen_enter":this.call("playerDidEnterFullscreen",Pe());break;case"fullscreen_exit":this.call("playerDidExitFullscreen",Pe());break;case"key_moments":{const t=e.momentTitle??"",r=e.momentTime??e.currentTime,n=this.keyMoments,i=n.findIndex(e=>t&&e.title===t||e.startTime===r),a=i>=0?n[i]:void 0;this.call("playerDidSelectKeyMoment",i>=0?String(i):void 0,a?.title??t,a?.startTime??r,a?.endTime??r);break}case"pip_toggle":(e.pipState?"entered"===e.pipState:"entered"===e.errorMessage)?this.call("playerDidEnterPictureInPicture",e.currentTime):this.call("playerDidExitPictureInPicture",e.currentTime);break;case"error":this.call("playerDidEncounterPlaybackError",null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",e.errorMessage??"Unknown player error",e.isRecoverable??!1);break;case"network_error":this.call("playerDidEncounterNetworkError",e.errorCode??0,e.errorMessage??"Network error",e.isRecoverable??!1)}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){const{fromTime:t,startedWallMs:r}=this.pendingSeek;this.pendingSeek=null,this.call("playerDidFinishSeeking",t,e,(Date.now()-r)/1e3)}this.call("playerDidUpdateCurrentTime",e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call("playerDidDismiss",this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){this.pendingSeek?this.pendingSeek.toTime=t:(this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call("playerDidStartSeeking",e))}call(e,...t){const r=this.delegate,n=r?.[e];if("function"==typeof n)try{n.apply(r,t)}catch(i){}}},Ie={subtitles:"subtitle_support",ads:"ad_support",chapterMarkers:"key_moments",playbackSpeed:"playback_speed",airplay:"airplay",chromecast:"chromecast",pictureInPicture:"picture_in_picture",multipleResolution:"multiple_resolution",multipleAudio:"multiple_audio",drmProtection:"drm_protection",screenRecordingPrevention:"screen_recording_prevention",signalStrength:"signal_strength"};function De(e){const t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(const[r,n]of Object.entries(Ie))r in e&&(t[n]=e[r]);return t}function $e({playerKey:e,src:t,subtitles:r,licenseKey:i,themeColor:a="#6366f1",firebaseConfig:s,proxyDomains:o,apiBaseUrl:h,adTrackingUrl:f,overlayAdUrl:g,videoId:y,title:v,artworkUrl:T,watermark:w,autoplay:x=!1,muted:S=!1,autoFullscreen:N=!1,enableControls:M=!0,enableSkipAd:C,skipAdAfterSeconds:E,chaptersDisplayMode:A="strip",volumeControlType:P="slider",subtitleStyle:L,drmConfig:I,onAnalyticsEvent:D,delegate:$,onKeyMomentsLoaded:_,initialTime:z,onTimeUpdate:R,skipMarkers:F,introStartTime:V,introEndTime:q,hasNextEpisode:U,outroStartTime:B,nextEpisodeLabel:j,onNextEpisode:H,nextEpisodeAutoAdvanceSeconds:W,nextEpisodeThumbnailUrl:K,featureOverrides:O,enableQuality:Q,enableSources:J=!1}){const[G,Y]=p([]),[Z,ee]=p(0),[te]=p(()=>new Le);l(()=>{te.setDelegate($),te.setAutoplay(x)},[te,$,x]),l(()=>()=>te.notifyDismissed(),[te]);const re=Array.isArray(t)?t:[{label:"Default",url:t}],ne=re[Z]?.url??re[0]?.url??"",[ie,ae]=p("loading"),[se,ce]=p(null),[oe,le]=p(0),[ue,de]=p("network"),me=m(null),pe=m(!1),he=m(""),fe=m(!1),ke=m(!1),be=m(null),ge=m(!1),ye=m(Promise.resolve()),Pe=m(void 0),$e=m(!1),_e=m(!1),ze=m(3e4),Re=m(null),Fe=m(0),Ve=m(null),qe=m({currentTime:0,duration:0,contentTime:0,contentDuration:0}),Ue=m(()=>{}),Be=m([]),je=m(()=>{}),He=y||(ne?n(ne):"")||"video",We=m(ne);l(()=>{We.current=ne},[ne]);const Ke=m(He);u(()=>{Ke.current=He},[He]);const Oe=d(()=>function(e){if(!e)return e=>e;const t=[];for(const r of e.split(",")){const[e,n]=r.split("=");e?.trim()&&n?.trim()&&t.push({domain:e.trim(),proxyPath:n.trim()})}return e=>{for(const{domain:r,proxyPath:n}of t)if(e.includes(r))try{const t=new URL(e);return`${n}${t.pathname}${t.search}`}catch{return e.replace(`https://${r}`,n)}return e}}(o),[o]),Xe=c(e=>Te(Te(Oe(e),"sid",he.current),"vid",Ke.current),[Oe]),Qe=function(e){const t=e.replace("#","");return 6!==t.length?"99, 102, 241":`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`}(a);l(()=>{document.documentElement.style.setProperty("--accent-indigo",a),document.documentElement.style.setProperty("--accent-indigo-rgb",Qe)},[a,Qe]),l(()=>{let t=!1;return Se(e,h,{videoUrl:We.current}).then(e=>{if(t)return;me.current=e;const{features:r,planTier:n,heartbeatIntervalSeconds:i}=e.result.data;ze.current="number"==typeof i&&i>0?1e3*i:3e4;const a={package:n,is_active:!0,features:De(r),limits:{streaming_minutes:0}};ce(a),ae("ready")}).catch(e=>{if(t)return;const r=e.message??"";de(/init failed: 4\d\d/.test(r)?"auth":"network"),ae("error")}),()=>{t=!0,je.current(),Re.current&&(clearTimeout(Re.current),Re.current=null),Fe.current=0,Ve.current=null,ae("loading"),ce(null),fe.current=!1,he.current="",ke.current=!1,be.current=null,ge.current=!1,ye.current=Promise.resolve(),Pe.current=void 0,_e.current=!1}},[e,h,oe]);const Je=c(e=>{const t=be.current;if(!t)return e();const r=ye.current.catch(()=>{}).then(()=>t).then(()=>{if(!ge.current)return e()});return ye.current=r.catch(()=>{}),r},[]),Ge=c(()=>{Re.current&&(clearTimeout(Re.current),Re.current=null,null!==Ve.current&&(Fe.current+=Date.now()-Ve.current,Ve.current=null))},[]),Ye=c(()=>{Re.current&&(clearTimeout(Re.current),Re.current=null),Fe.current=0,Ve.current=null},[]),Ze=c(()=>{if(!he.current||ke.current)return;if(ke.current=!0,Ye(),ge.current)return;const{contentTime:t,contentDuration:r}=qe.current;!function(e,t,r=0,n=0,i=we){const a=`${i}/api/player/sdk/session/end`,s=JSON.stringify({sessionId:t,currentTime:r,duration:n});if(function(){if(null===Ae)try{Ae="keepalive"in new Request(we)}catch{Ae=!1}return Ae}())fetch(a,{method:"POST",headers:xe(e),body:s,keepalive:!0}).catch(()=>{});else try{const t=new XMLHttpRequest;t.open("POST",a,!1),t.setRequestHeader("x-player-key",e),t.setRequestHeader("Content-Type","application/json"),t.send(s)}catch{}}(e,he.current,t,r,h)},[e,h,Ye]);l(()=>{je.current=Ze},[Ze]);const et=c(()=>{if(Re.current||!he.current)return;Ve.current=Date.now();const t=ze.current-Fe.current;Re.current=setTimeout(()=>{Re.current=null,Fe.current=0,Ve.current=null;const{contentTime:t,contentDuration:r}=qe.current,n=he.current;Je(()=>Me(e,n,t,r,h)).catch(e=>{}),Ue.current()},t)},[e,h,Je]);l(()=>{Ue.current=et},[et]);const tt=m(!0);l(()=>{tt.current?tt.current=!1:($e.current=!0,Pe.current=void 0,Ge())},[Z,Ge]),l(()=>{const e=()=>{te.notifyDismissed(),Ze()};return window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),()=>{window.removeEventListener("beforeunload",e),window.removeEventListener("pagehide",e),Ze(),Ye()}},[Ze,Ye,te]);const rt=c((e=4e3)=>new Promise(t=>{const r=e=>{clearTimeout(n),Be.current=Be.current.filter(e=>e!==r),t(e)},n=setTimeout(()=>{Be.current=Be.current.filter(e=>e!==r),t(void 0)},e);Be.current.push(r)}),[]),nt=c(t=>{ge.current=!1;const r=t.contentDuration??t.duration;be.current=(Number.isFinite(r)&&r>0?Promise.resolve(r):rt()).then(t=>Ne(e,{sessionId:he.current,videoId:He,videoTitle:v,videoUrl:We.current,contentDurationSec:t},h)).catch(e=>{ge.current=!0})},[e,h,He,v,rt]),it=c(t=>{const r=t;if(void 0!==t.currentTime){const e=t.contentTime??t.currentTime,r=t.contentDuration??t.duration;if(qe.current={currentTime:t.currentTime,duration:t.duration,contentTime:e,contentDuration:r},Be.current.length>0&&Number.isFinite(r)&&r>0){const e=Be.current;Be.current=[],e.forEach(e=>e(r))}}if("error"!==t.eventType&&"network_error"!==t.eventType||(_e.current=!0),_e.current&&("buffering_end"===t.eventType||"play"===t.eventType)&&fe.current&&he.current&&!ke.current&&(_e.current=!1,ge.current&&nt(t)),"session_start"!==t.eventType||fe.current||(fe.current=!0,ke.current=!1,_e.current=!1,he.current="string"==typeof r.sessionId?r.sessionId:"",nt(t),pe.current||et()),"play"!==t.eventType||!fe.current||pe.current||$e.current||et(),"pause"===t.eventType&&Ge(),"buffering_start"===t.eventType&&Ge(),"buffering_end"===t.eventType&&fe.current&&!pe.current&&($e.current=!1,et()),"ended"===t.eventType&&(Ye(),he.current&&!ke.current)){ke.current=!0;const{contentTime:t,contentDuration:r}=qe.current,n=he.current;he.current="",fe.current=!1,Je(()=>Ce(e,n,t,r,h)).catch(e=>{})}if(fe.current&&he.current&&!ke.current){const r=function(e,t){switch(e.eventType){case"pause":return{eventType:"pause",extras:{}};case"seek":return{eventType:"seek",extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case"mute":return{eventType:"mute",extras:{isMuted:e.isMuted??!0}};case"fast_forward":return{eventType:"fast_forward",extras:{skipSeconds:e.skipSeconds??10}};case"fast_backward":return{eventType:"fast_backward",extras:{skipSeconds:e.skipSeconds??10}};case"key_moments":return{eventType:"key_moments",extras:{momentTitle:e.momentTitle??"",momentTime:e.momentTime??0}};case"buffering_start":return{eventType:"buffering_start",extras:{bufferingCount:e.bufferingCount??0}};case"buffering_end":return{eventType:"buffering_end",extras:{}};case"quality_change":return t&&e.rendition&&t!==e.rendition?{eventType:"quality_change",extras:{from:t,to:e.rendition}}:null;case"speed_change":return{eventType:"speed_change",extras:{speed:e.speed??1}};case"subtitle_change":return!1===e.subtitleEnabled?{eventType:"subtitle_disable",extras:{enabled:!1}}:{eventType:"subtitle_change",extras:{language:e.subtitleLanguage??"",enabled:!0}};case"audio_track_change":return{eventType:"audio_track_change",extras:{track:e.audioTrack??""}};case"pip_toggle":return{eventType:"pip_toggle",extras:{enabled:"entered"===e.errorMessage}};case"fullscreen_enter":return{eventType:"fullscreen_toggle",extras:{enabled:!0}};case"fullscreen_exit":return{eventType:"fullscreen_toggle",extras:{enabled:!1}};case"error":return{eventType:"player_error",extras:{code:null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",message:e.errorMessage??"Unknown player error"}};case"network_error":return{eventType:"network_error",extras:{code:e.errorCode?String(e.errorCode):"NETWORK_ERROR",message:e.errorMessage??"Network error"}};default:return null}}(t,Pe.current);if(r){const n={eventType:r.eventType,sessionId:he.current,currentTime:t.currentTime??0,videoId:He,videoTitle:v,...r.extras};Je(()=>Ee(e,n,h)).catch(e=>{})}}"quality_change"===t.eventType&&t.rendition&&(Pe.current=t.rendition),te.handleAnalyticsEvent(t),D?.(t)},[e,h,He,v,et,Ge,Ye,D,te,Je,rt,nt]),at=c(e=>{pe.current=e,e?Ge():fe.current&&et()},[Ge,et]),st=c(e=>{te.setKeyMoments(e),Y(e),_?.(e)},[_,te]),ct=c(e=>{qe.current={...qe.current,currentTime:e},te.handleTimeUpdate(e),R?.(e)},[R,te]),ot=c(()=>{if(he.current&&!ke.current){ke.current=!0,Ye();const{contentTime:t,contentDuration:r}=qe.current,n=he.current;he.current="",fe.current=!1,Je(()=>Ce(e,n,t,r,h)).catch(e=>{})}else Ye();H?.()},[H,e,h,Ye,Je]),lt=d(()=>{if(!se||!O)return se;const e={...se.features};for(const[t,r]of Object.entries(O)){const n=Ie[t];n&&(e[n]=e[n]&&!1!==r)}return{...se,features:e}},[se,O]);if("loading"===ie)/* @__PURE__ */return b("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#000",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center"},children:[/* @__PURE__ */k("style",{children:"@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}"}),/* @__PURE__ */k("div",{style:{width:60,height:60,borderRadius:"50%",border:`4px solid rgba(${Qe}, 0.1)`,borderLeftColor:a,borderRightColor:`rgba(${Qe}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Qe}, 0.5))`,animation:"boss-sdk-spin 1s linear infinite"}})]});if("error"===ie){const e="auth"===ue;/* @__PURE__ */
64
+ /* @__PURE__ */b("div",{className:"gb-pip-bottom",children:[/* @__PURE__ */k("div",{className:"gb-pip-progress",onClick:_s,onMouseDown:zs,children:/* @__PURE__ */k("div",{className:"gb-pip-progress-fill",style:{width:(t?(r??0)/t*100:0)+"%"}})}),/* @__PURE__ */k("div",{className:"gb-pip-time",children:null!==t?`${ac(r??0)} / ${ac(t)}`:"––:––"})]})]}),nn.document.body)})()]})};function Te(e,t,r){if(!r)return e;const n=/^[a-z][a-z0-9+.-]*:\/\//i.test(e),i=!n&&e.startsWith("//");try{let a;i?a="https://sdk-relative-base.invalid/":n||(a="http://sdk-relative-base.invalid/");const s=new URL(e,a);return s.searchParams.set(t,r),n?s.toString():i?s.toString().replace(/^https:/,""):`${s.pathname}${s.search}${s.hash}`}catch{return e}}var we="https://api.go-boss.com";function xe(e){return{"x-player-key":e,"Content-Type":"application/json"}}async function Se(e,t=we,r={}){const n=await fetch(`${t}/api/player/sdk/init`,{method:"POST",headers:xe(e),body:JSON.stringify({videoUrl:r.videoUrl})});if(!n.ok)throw new Error(`SDK init failed: ${n.status}`);return await n.json()}async function Ne(e,t,r=we){const{sessionId:n,videoId:i,videoTitle:a,videoUrl:s,contentDurationSec:c}=t,o=await fetch(`${r}/api/player/sdk/session/start`,{method:"POST",headers:xe(e),body:JSON.stringify({sessionId:n,videoId:i,videoTitle:a,videoUrl:s,contentDurationSec:"number"==typeof c&&Number.isFinite(c)&&c>0?c:void 0})});if(!o.ok)throw new Error(`Session start failed: ${o.status}`)}async function Me(e,t,r,n,i=we){const a={sessionId:t,currentTime:r,duration:n},s=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:"POST",headers:xe(e),body:JSON.stringify(a)});if(!s.ok)throw new Error(`Heartbeat failed: ${s.status}`)}async function Ce(e,t,r=0,n=0,i=we){const a=await fetch(`${i}/api/player/sdk/session/end`,{method:"POST",headers:xe(e),body:JSON.stringify({sessionId:t,currentTime:r,duration:n})});if(!a.ok)throw new Error(`Session end failed: ${a.status}`)}async function Ee(e,t,r=we){const n=await fetch(`${r}/api/player/sdk/events`,{method:"POST",headers:xe(e),body:JSON.stringify(t),priority:"low"});if(!n.ok)throw new Error(`Event ${t.eventType} failed: ${n.status}`)}var Ae=null;function Pe(){if("undefined"!=typeof screen)return screen.orientation?.type??void 0}var Le=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch("number"!=typeof e.currentTime||Number.isNaN(e.currentTime)||(this.lastCurrentTime=e.currentTime),"number"!=typeof e.duration||Number.isNaN(e.duration)||(this.lastDuration=e.duration),"number"==typeof e.totalWatchTime&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case"play":this.isPlaybackActive?this.call("playerDidResumePlaying",e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call("playerDidStartPlaying",e.currentTime,this.autoplay));break;case"pause":e.duration>0&&e.currentTime>=e.duration-.25||this.call("playerDidPause",e.currentTime);break;case"ended":this.isPlaybackActive=!1,this.hasFinished=!0,this.call("playerDidFinishPlaying",e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case"seek":this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case"fast_forward":this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case"fast_backward":this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case"buffering_start":this.call("playerDidStartBuffering",e.currentTime);break;case"buffering_end":this.call("playerDidFinishBuffering",e.currentTime);break;case"quality_change":{const t=e.rendition;t&&t!==this.prevQuality&&(this.call("playerDidChangeQuality",this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case"subtitle_change":if(!1===e.subtitleEnabled)this.call("playerDidDisableSubtitle",this.prevSubtitle),this.prevSubtitle=void 0;else{const t=e.subtitleLanguage??"";this.call("playerDidChangeSubtitle",this.prevSubtitle,t),this.prevSubtitle=t}break;case"audio_track_change":{const t=e.audioTrack??"";this.call("playerDidChangeAudioTrack",this.prevAudioTrack,t),this.prevAudioTrack=t;break}case"speed_change":{const t=e.speed??1;t!==this.prevSpeed&&(this.call("playerDidChangePlaybackSpeed",this.prevSpeed,t),this.prevSpeed=t);break}case"fullscreen_enter":this.call("playerDidEnterFullscreen",Pe());break;case"fullscreen_exit":this.call("playerDidExitFullscreen",Pe());break;case"key_moments":{const t=e.momentTitle??"",r=e.momentTime??e.currentTime,n=this.keyMoments,i=n.findIndex(e=>t&&e.title===t||e.startTime===r),a=i>=0?n[i]:void 0;this.call("playerDidSelectKeyMoment",i>=0?String(i):void 0,a?.title??t,a?.startTime??r,a?.endTime??r);break}case"pip_toggle":(e.pipState?"entered"===e.pipState:"entered"===e.errorMessage)?this.call("playerDidEnterPictureInPicture",e.currentTime):this.call("playerDidExitPictureInPicture",e.currentTime);break;case"error":this.call("playerDidEncounterPlaybackError",null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",e.errorMessage??"Unknown player error",e.isRecoverable??!1);break;case"network_error":this.call("playerDidEncounterNetworkError",e.errorCode??0,e.errorMessage??"Network error",e.isRecoverable??!1)}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){const{fromTime:t,startedWallMs:r}=this.pendingSeek;this.pendingSeek=null,this.call("playerDidFinishSeeking",t,e,(Date.now()-r)/1e3)}this.call("playerDidUpdateCurrentTime",e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call("playerDidDismiss",this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){this.pendingSeek?this.pendingSeek.toTime=t:(this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call("playerDidStartSeeking",e))}call(e,...t){const r=this.delegate,n=r?.[e];if("function"==typeof n)try{n.apply(r,t)}catch(i){}}},Ie={subtitles:"subtitle_support",ads:"ad_support",chapterMarkers:"key_moments",playbackSpeed:"playback_speed",airplay:"airplay",chromecast:"chromecast",pictureInPicture:"picture_in_picture",multipleResolution:"multiple_resolution",multipleAudio:"multiple_audio",drmProtection:"drm_protection",screenRecordingPrevention:"screen_recording_prevention",signalStrength:"signal_strength"};function De(e){const t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(const[r,n]of Object.entries(Ie))r in e&&(t[n]=e[r]);return t}function $e({playerKey:e,src:t,subtitles:r,licenseKey:i,themeColor:a="#6366f1",firebaseConfig:s,proxyDomains:o,apiBaseUrl:h,adTrackingUrl:f,overlayAdUrl:g,videoId:y,title:v,artworkUrl:T,watermark:w,autoplay:x=!1,muted:S=!1,autoFullscreen:N=!1,enableControls:M=!0,enableSkipAd:C,skipAdAfterSeconds:E,chaptersDisplayMode:A="strip",volumeControlType:P="slider",subtitleStyle:L,drmConfig:I,onAnalyticsEvent:D,delegate:$,onKeyMomentsLoaded:_,initialTime:z,onTimeUpdate:R,skipMarkers:F,introStartTime:V,introEndTime:q,hasNextEpisode:U,outroStartTime:B,nextEpisodeLabel:j,onNextEpisode:H,nextEpisodeAutoAdvanceSeconds:W,nextEpisodeThumbnailUrl:K,featureOverrides:O,enableQuality:Q,enableSources:J=!1}){const[G,Y]=p([]),[Z,ee]=p(0),[te]=p(()=>new Le);l(()=>{te.setDelegate($),te.setAutoplay(x)},[te,$,x]),l(()=>()=>te.notifyDismissed(),[te]);const re=Array.isArray(t)?t:[{label:"Default",url:t}],ne=re[Z]?.url??re[0]?.url??"",[ie,ae]=p("loading"),[se,ce]=p(null),[oe,le]=p(0),[ue,de]=p("network"),me=m(null),pe=m(!1),he=m(""),fe=m(!1),ke=m(!1),be=m(null),ge=m(!1),ye=m(Promise.resolve()),Pe=m(void 0),$e=m(!1),_e=m(!1),ze=m(3e4),Re=m(null),Fe=m(0),Ve=m(null),qe=m({currentTime:0,duration:0,contentTime:0,contentDuration:0}),Ue=m(()=>{}),Be=m([]),je=m(()=>{}),He=y||(ne?n(ne):"")||"video",We=m(ne);l(()=>{We.current=ne},[ne]);const Ke=m(He);u(()=>{Ke.current=He},[He]);const Oe=d(()=>function(e){if(!e)return e=>e;const t=[];for(const r of e.split(",")){const[e,n]=r.split("=");e?.trim()&&n?.trim()&&t.push({domain:e.trim(),proxyPath:n.trim()})}return e=>{for(const{domain:r,proxyPath:n}of t)if(e.includes(r))try{const t=new URL(e);return`${n}${t.pathname}${t.search}`}catch{return e.replace(`https://${r}`,n)}return e}}(o),[o]),Xe=c(e=>Te(Te(Oe(e),"sid",he.current),"vid",Ke.current),[Oe]),Qe=function(e){const t=e.replace("#","");return 6!==t.length?"99, 102, 241":`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`}(a);l(()=>{document.documentElement.style.setProperty("--accent-indigo",a),document.documentElement.style.setProperty("--accent-indigo-rgb",Qe)},[a,Qe]),l(()=>{let t=!1;return Se(e,h,{videoUrl:We.current}).then(e=>{if(t)return;me.current=e;const{features:r,planTier:n,heartbeatIntervalSeconds:i}=e.result.data;ze.current="number"==typeof i&&i>0?1e3*i:3e4;const a={package:n,is_active:!0,features:De(r),limits:{streaming_minutes:0}};ce(a),ae("ready")}).catch(e=>{if(t)return;const r=e.message??"";de(/init failed: 4\d\d/.test(r)?"auth":"network"),ae("error")}),()=>{t=!0,je.current(),Re.current&&(clearTimeout(Re.current),Re.current=null),Fe.current=0,Ve.current=null,ae("loading"),ce(null),fe.current=!1,he.current="",ke.current=!1,be.current=null,ge.current=!1,ye.current=Promise.resolve(),Pe.current=void 0,_e.current=!1}},[e,h,oe]);const Je=c(e=>{const t=be.current;if(!t)return e();const r=ye.current.catch(()=>{}).then(()=>t).then(()=>{if(!ge.current)return e()});return ye.current=r.catch(()=>{}),r},[]),Ge=c(()=>{Re.current&&(clearTimeout(Re.current),Re.current=null,null!==Ve.current&&(Fe.current+=Date.now()-Ve.current,Ve.current=null))},[]),Ye=c(()=>{Re.current&&(clearTimeout(Re.current),Re.current=null),Fe.current=0,Ve.current=null},[]),Ze=c(()=>{if(!he.current||ke.current)return;if(ke.current=!0,Ye(),ge.current)return;const{contentTime:t,contentDuration:r}=qe.current;!function(e,t,r=0,n=0,i=we){const a=`${i}/api/player/sdk/session/end`,s=JSON.stringify({sessionId:t,currentTime:r,duration:n});if(function(){if(null===Ae)try{Ae="keepalive"in new Request(we)}catch{Ae=!1}return Ae}())fetch(a,{method:"POST",headers:xe(e),body:s,keepalive:!0}).catch(()=>{});else try{const t=new XMLHttpRequest;t.open("POST",a,!1),t.setRequestHeader("x-player-key",e),t.setRequestHeader("Content-Type","application/json"),t.send(s)}catch{}}(e,he.current,t,r,h)},[e,h,Ye]);l(()=>{je.current=Ze},[Ze]);const et=c(()=>{if(Re.current||!he.current)return;Ve.current=Date.now();const t=ze.current-Fe.current;Re.current=setTimeout(()=>{Re.current=null,Fe.current=0,Ve.current=null;const{contentTime:t,contentDuration:r}=qe.current,n=he.current;Je(()=>Me(e,n,t,r,h)).catch(e=>{}),Ue.current()},t)},[e,h,Je]);l(()=>{Ue.current=et},[et]);const tt=m(!0);l(()=>{tt.current?tt.current=!1:($e.current=!0,Pe.current=void 0,Ge())},[Z,Ge]),l(()=>{const e=()=>{te.notifyDismissed(),Ze()};return window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),()=>{window.removeEventListener("beforeunload",e),window.removeEventListener("pagehide",e),Ze(),Ye()}},[Ze,Ye,te]);const rt=c((e=4e3)=>new Promise(t=>{const r=e=>{clearTimeout(n),Be.current=Be.current.filter(e=>e!==r),t(e)},n=setTimeout(()=>{Be.current=Be.current.filter(e=>e!==r),t(void 0)},e);Be.current.push(r)}),[]),nt=c(t=>{ge.current=!1;const r=t.contentDuration??t.duration;be.current=(Number.isFinite(r)&&r>0?Promise.resolve(r):rt()).then(t=>Ne(e,{sessionId:he.current,videoId:He,videoTitle:v,videoUrl:We.current,contentDurationSec:t},h)).catch(e=>{ge.current=!0})},[e,h,He,v,rt]),it=c(t=>{const r=t;if(void 0!==t.currentTime){const e=t.contentTime??t.currentTime,r=t.contentDuration??t.duration;if(qe.current={currentTime:t.currentTime,duration:t.duration,contentTime:e,contentDuration:r},Be.current.length>0&&Number.isFinite(r)&&r>0){const e=Be.current;Be.current=[],e.forEach(e=>e(r))}}if("error"!==t.eventType&&"network_error"!==t.eventType||(_e.current=!0),_e.current&&("buffering_end"===t.eventType||"play"===t.eventType)&&fe.current&&he.current&&!ke.current&&(_e.current=!1,ge.current&&nt(t)),"session_start"!==t.eventType||fe.current||(fe.current=!0,ke.current=!1,_e.current=!1,he.current="string"==typeof r.sessionId?r.sessionId:"",nt(t),pe.current||et()),"play"!==t.eventType||!fe.current||pe.current||$e.current||et(),"pause"===t.eventType&&Ge(),"buffering_start"===t.eventType&&Ge(),"buffering_end"===t.eventType&&fe.current&&!pe.current&&($e.current=!1,et()),"ended"===t.eventType&&(Ye(),he.current&&!ke.current)){ke.current=!0;const{contentTime:t,contentDuration:r}=qe.current,n=he.current;he.current="",fe.current=!1,Je(()=>Ce(e,n,t,r,h)).catch(e=>{})}if(fe.current&&he.current&&!ke.current){const r=function(e,t){switch(e.eventType){case"pause":return{eventType:"pause",extras:{}};case"seek":return{eventType:"seek",extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case"mute":return{eventType:"mute",extras:{isMuted:e.isMuted??!0}};case"fast_forward":return{eventType:"fast_forward",extras:{skipSeconds:e.skipSeconds??10}};case"fast_backward":return{eventType:"fast_backward",extras:{skipSeconds:e.skipSeconds??10}};case"key_moments":return{eventType:"key_moments",extras:{momentTitle:e.momentTitle??"",momentTime:e.momentTime??0}};case"buffering_start":return{eventType:"buffering_start",extras:{bufferingCount:e.bufferingCount??0}};case"buffering_end":return{eventType:"buffering_end",extras:{}};case"quality_change":return t&&e.rendition&&t!==e.rendition?{eventType:"quality_change",extras:{from:t,to:e.rendition}}:null;case"speed_change":return{eventType:"speed_change",extras:{speed:e.speed??1}};case"subtitle_change":return!1===e.subtitleEnabled?{eventType:"subtitle_disable",extras:{enabled:!1}}:{eventType:"subtitle_change",extras:{language:e.subtitleLanguage??"",enabled:!0}};case"audio_track_change":return{eventType:"audio_track_change",extras:{track:e.audioTrack??""}};case"pip_toggle":return{eventType:"pip_toggle",extras:{enabled:"entered"===e.errorMessage}};case"fullscreen_enter":return{eventType:"fullscreen_toggle",extras:{enabled:!0}};case"fullscreen_exit":return{eventType:"fullscreen_toggle",extras:{enabled:!1}};case"error":return{eventType:"player_error",extras:{code:null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",message:e.errorMessage??"Unknown player error"}};case"network_error":return{eventType:"network_error",extras:{code:e.errorCode?String(e.errorCode):"NETWORK_ERROR",message:e.errorMessage??"Network error"}};default:return null}}(t,Pe.current);if(r){const n={eventType:r.eventType,sessionId:he.current,currentTime:t.currentTime??0,videoId:He,videoTitle:v,...r.extras};Je(()=>Ee(e,n,h)).catch(e=>{})}}"quality_change"===t.eventType&&t.rendition&&(Pe.current=t.rendition),te.handleAnalyticsEvent(t),D?.(t)},[e,h,He,v,et,Ge,Ye,D,te,Je,rt,nt]),at=c(e=>{pe.current=e,e?Ge():fe.current&&et()},[Ge,et]),st=c(e=>{te.setKeyMoments(e),Y(e),_?.(e)},[_,te]),ct=c(e=>{qe.current={...qe.current,currentTime:e},te.handleTimeUpdate(e),R?.(e)},[R,te]),ot=c(()=>{if(he.current&&!ke.current){ke.current=!0,Ye();const{contentTime:t,contentDuration:r}=qe.current,n=he.current;he.current="",fe.current=!1,Je(()=>Ce(e,n,t,r,h)).catch(e=>{})}else Ye();H?.()},[H,e,h,Ye,Je]),lt=d(()=>{if(!se||!O)return se;const e={...se.features};for(const[t,r]of Object.entries(O)){const n=Ie[t];n&&(e[n]=e[n]&&!1!==r)}return{...se,features:e}},[se,O]);if("loading"===ie)/* @__PURE__ */return b("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#000",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center"},children:[/* @__PURE__ */k("style",{children:"@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}"}),/* @__PURE__ */k("div",{style:{width:60,height:60,borderRadius:"50%",border:`4px solid rgba(${Qe}, 0.1)`,borderLeftColor:a,borderRightColor:`rgba(${Qe}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Qe}, 0.5))`,animation:"boss-sdk-spin 1s linear infinite"}})]});if("error"===ie){const e="auth"===ue;/* @__PURE__ */
65
65
  return k("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#09090e",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",gap:20},children:/* @__PURE__ */k(X,{title:e?"Invalid Player Key":"Something Went Wrong",subtitle:e?"Your player key is invalid or expired.\nPlease check your configuration.":"We encountered an error while connecting.\nPlease try again.",onRetry:()=>le(e=>e+1)})})}/* @__PURE__ */
66
66
  return k(ve,{src:ne,sources:re,enableSources:J,enableQuality:Q,activeSourceIndex:Z,onSourceChange:e=>ee(e),subtitles:r,keyMoments:G,themeColor:a,firebaseConfig:s,resolvedEntitlement:lt,licenseKey:i,title:v,artworkUrl:T,watermark:w,autoplay:x,muted:S,autoFullscreen:N,enableControls:M,enableSkipAd:C,skipAdAfterSeconds:E,chaptersDisplayMode:A,volumeControlType:P,subtitleStyle:L,drmConfig:I,overlayAdUrl:g,adTrackingUrl:f,videoId:He,urlTransformer:Xe,onAnalyticsEvent:it,onAdBreakChange:at,onKeyMomentsLoaded:st,initialTime:z,onTimeUpdate:ct,skipMarkers:F,introStartTime:V,introEndTime:q,hasNextEpisode:U,outroStartTime:B,nextEpisodeLabel:j,onNextEpisode:ot,nextEpisodeAutoAdvanceSeconds:W,nextEpisodeThumbnailUrl:K})}function _e(e,t){const r=g(e);let n=t;return r.render(a($e,n)),{update(e){n={...n,...e},r.render(a($e,n))},destroy(){r.unmount()}}}export{$e as BossVideoPlayer,X as ErrorScreen,e as FirebaseAnalyticsProvider,r as VideoPlayerSDK,ve as WebVideoPlayer,_e as createPlayer,Ce as endSession,Se as initSdk,J as normalizeSkipMarkers,Q as parseTimecode,Ee as sendEvent,Me as sendHeartbeat,Ne as startSession};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "boss-web-player-sdk",
3
- "version": "1.1.85",
4
- "description": "Unified high-performance OTT web video player SDK supporting adaptive HLS/DASH streaming, secure token-based DRM protection, dynamic watermarking, captioning, and premium UI components.",
3
+ "version": "1.1.86",
4
+ "description": "GoBOSS web video player SDK — adaptive HLS/DASH streaming, DRM, watermarking, captions, and UI controls.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.js",
@@ -30,7 +30,8 @@
30
30
  },
31
31
  "scripts": {
32
32
  "build": "vite build",
33
- "preview": "vite build && vite preview"
33
+ "preview": "vite build && vite preview",
34
+ "prepublishOnly": "node scripts/assert-main-branch.mjs"
34
35
  },
35
36
  "peerDependencies": {
36
37
  "react": "^18.0.0 || ^19.0.0",