1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8446],{58386:(e,t,i)=>{i.r(t),i.d(t,{default:()=>k});var s=i(63276);let n=/(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})/,a=/(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/.*?[?&]list=)([\w_-]+)/;function l(e,t={}){let i={src:o(e,t),frameborder:0,width:"100%",height:"100%",allow:"accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture"};return t.config&&(i["data-config"]=JSON.stringify(t.config)),` 2 <style> 3 :host { 4 display: inline-block; 5 line-height: 0; 6 position: relative; 7 min-width: 300px; 8 min-height: 150px; 9 } 10 iframe { 11 position: absolute; 12 top: 0; 13 left: 0; 14 } 15 </style> 16 <iframe${function(e){let t="";for(let i in e){let s=e[i];""===s?t+=` ${u(i)}`:t+=` ${u(i)}="${u(`${s}`)}"`}return t}(i)}></iframe> 17 `}function o(e,t){if(!e.src)return;let i=e.src.includes("-nocookie")?"https://www.youtube-nocookie.com/embed":"https://www.youtube.com/embed",s={controls:""===e.controls?null:0,autoplay:e.autoplay,loop:e.loop,mute:e.muted,playsinline:e.playsinline,preload:e.preload??"metadata",enablejsapi:1,cc_load_policy:1,showinfo:0,rel:0,iv_load_policy:3,modestbranding:1,...t.config};if(n.test(e.src)){let t=e.src.match(n),a=t&&t[1];return`${i}/${a}?${h(s)}`}let l=e.src.match(a),o={listType:"playlist",list:l&&l[1],...s};return`${i}?${h(o)}`}class r extends(globalThis.HTMLElement??class{}){static getTemplateHTML=l;static shadowRootOptions={mode:"open"};static observedAttributes=["autoplay","controls","crossorigin","loop","muted","playsinline","poster","preload","src"];loadComplete=new v;#e;#t;#i=0;#s=!1;#n;isLoaded=!1;#a=null;#l=null;#o=null;#r=1;constructor(){super(),this.#u("config")}get config(){return this.#l}set config(e){this.#l=e}async load(){let e;if(this.#e)return;this.shadowRoot||this.attachShadow({mode:"open"});let t=!this.#t;this.#t&&(this.loadComplete=new v,this.isLoaded=!1),this.#t=!0,await (this.#e=Promise.resolve()),this.#e=null,this.#i=0,this.dispatchEvent(new Event("emptied"));let i=this.api;if(this.api=null,!this.src){null==i||i.destroy();return}this.#o=document.createElement("video"),this.textTracks=this.#o.textTracks,this.textTracks.addEventListener("change",()=>{var e;let t=Array.from(this.textTracks).find(e=>"showing"===e.mode);null==(e=this.api)||e.setOption("captions","track",t?{languageCode:t.language}:{})}),this.dispatchEvent(new Event("loadstart"));let s=this.shadowRoot.querySelector("iframe"),n=function(e){let t={};for(let i of e)t[i.name]=i.value;return t}(this.attributes);t&&s&&(this.#l=JSON.parse(s.getAttribute("data-config")||"{}")),(null==s?void 0:s.src)&&s.src===o(n,this)||(this.shadowRoot.innerHTML=l(n,this),s=this.shadowRoot.querySelector("iframe"));let a=await c("https://www.youtube.com/iframe_api","YT","onYouTubeIframeAPIReady");this.api=new a.Player(s,{events:{onReady:()=>{var e;this.#i=1,this.dispatchEvent(new Event("loadedmetadata")),this.dispatchEvent(new Event("durationchange")),1!==this.#r&&(null==(e=this.api)||e.setVolume(100*this.#r)),this.dispatchEvent(new Event("volumechange")),this.dispatchEvent(new Event("loadcomplete")),this.isLoaded=!0,this.loadComplete.resolve()},onError:e=>{console.error(e),this.#a={code:e.data,message:`YouTube iframe player error #${e.data}; visit https://developers.google.com/youtube/iframe_api_reference#onError for the full error message.`},this.dispatchEvent(new Event("error"))}}});let r=!1;this.api.addEventListener("onStateChange",e=>{var t;let i=e.data;if((i===a.PlayerState.PLAYING||i===a.PlayerState.BUFFERING)&&(r||(r=!0,this.dispatchEvent(new Event("play"))),(this.api.getOption("captions","tracklist")||[]).forEach(e=>{[...this.textTracks].some(t=>t.language===e.languageCode)||this.#o.addTextTrack("subtitles",e.displayName,e.languageCode),this.textTracks=this.#o.textTracks}),this.dispatchEvent(new Event("loadstart"))),i===a.PlayerState.PLAYING)this.seeking&&(this.#s=!1,null==(t=this.#n)||t.resolve(),this.dispatchEvent(new Event("seeked"))),this.#i=3,this.dispatchEvent(new Event("playing"));else if(i===a.PlayerState.PAUSED){let e=Math.abs(this.currentTime-u);!this.seeking&&e>.1&&(this.#s=!0,this.dispatchEvent(new Event("seeking"))),r=!1,this.dispatchEvent(new Event("pause"))}i===a.PlayerState.ENDED&&(r=!1,this.dispatchEvent(new Event("pause")),this.dispatchEvent(new Event("ended")),this.loop&&this.play())}),this.api.addEventListener("onPlaybackRateChange",()=>{this.dispatchEvent(new Event("ratechange"))}),this.api.addEventListener("onVolumeChange",()=>{var e;let t=(null==(e=this.api)?void 0:e.getVolume())/100;this.#r=t,this.dispatchEvent(new Event("volumechange"))}),this.api.addEventListener("onVideoProgress",()=>{this.dispatchEvent(new Event("timeupdate"))}),await this.loadComplete;let u=0;setInterval(()=>{var e;let t=Math.abs(this.currentTime-u),i=this.buffered.end(this.buffered.length-1);this.seeking&&i>.1?(this.#s=!1,null==(e=this.#n)||e.resolve(),this.dispatchEvent(new Event("seeked"))):!this.seeking&&t>.1&&(this.#s=!0,this.dispatchEvent(new Event("seeking"))),u=this.currentTime},50);let h=setInterval(()=>{let t=this.buffered.end(this.buffered.length-1);t>=this.duration&&(clearInterval(h),this.#i=4),e!=t&&(e=t,this.dispatchEvent(new Event("progress")))},100)}async attributeChangedCallback(e,t,i){if(t!==i)switch(e){case"src":case"auto
17play":case"controls":case"loop":case"playsinline":this.load()}}async play(){var e,t,i;return this.#n=null,await this.loadComplete,null==(e=this.api)||e.playVideo(),t=this,(i=(e,i)=>{let s;t.addEventListener(e,s=()=>{t.removeEventListener(e,s),i()})},(...e)=>new Promise(t=>{i(...e,(...e)=>{e.length>1?t(e):t(e[0])})}))("playing")}async pause(){var e;return await this.loadComplete,null==(e=this.api)?void 0:e.pauseVideo()}get seeking(){return this.#s}get readyState(){return this.#i}get src(){return this.getAttribute("src")}set src(e){this.src!=e&&this.setAttribute("src",e)}get error(){return this.#a}get paused(){var e,t;return this.isLoaded?[-1,0,2,5].includes(null==(t=null==(e=this.api)?void 0:e.getPlayerState)?void 0:t.call(e)):!this.autoplay}get duration(){var e,t;return(null==(t=null==(e=this.api)?void 0:e.getDuration)?void 0:t.call(e))??NaN}get autoplay(){return this.hasAttribute("autoplay")}set autoplay(e){this.autoplay!=e&&this.toggleAttribute("autoplay",!!e)}get buffered(){var e,t;if(!this.isLoaded)return m();let i=(null==(e=this.api)?void 0:e.getVideoLoadedFraction())*(null==(t=this.api)?void 0:t.getDuration());return i>0?m(0,i):m()}get controls(){return this.hasAttribute("controls")}set controls(e){this.controls!=e&&this.toggleAttribute("controls",!!e)}get currentTime(){var e,t;return(null==(t=null==(e=this.api)?void 0:e.getCurrentTime)?void 0:t.call(e))??0}set currentTime(e){this.currentTime!=e&&(this.#n=new v,this.loadComplete.then(()=>{var t,i;null==(t=this.api)||t.seekTo(e,!0),this.paused&&(null==(i=this.#n)||i.then(()=>{var e;this.#n&&(null==(e=this.api)||e.pauseVideo())}))}))}set defaultMuted(e){this.defaultMuted!=e&&this.toggleAttribute("muted",!!e)}get defaultMuted(){return this.hasAttribute("muted")}get loop(){return this.hasAttribute("loop")}set loop(e){this.loop!=e&&this.toggleAttribute("loop",!!e)}set muted(e){this.muted!=e&&this.loadComplete.then(()=>{var t,i;e?null==(t=this.api)||t.mute():null==(i=this.api)||i.unMute()})}get muted(){var e,t;return this.isLoaded?null==(t=null==(e=this.api)?void 0:e.isMuted)?void 0:t.call(e):this.defaultMuted}get playbackRate(){var e,t;return(null==(t=null==(e=this.api)?void 0:e.getPlaybackRate)?void 0:t.call(e))??1}set playbackRate(e){this.playbackRate!=e&&this.loadComplete.then(()=>{var t;null==(t=this.api)||t.setPlaybackRate(e)})}get playsInline(){return this.hasAttribute("playsinline")}set playsInline(e){this.playsInline!=e&&this.toggleAttribute("playsinline",!!e)}get poster(){return this.getAttribute("poster")}set poster(e){this.poster!=e&&this.setAttribute("poster",`${e}`)}set volume(e){this.volume!=e&&(this.#r=e,this.loadComplete.then(()=>{var t;null==(t=this.api)||t.setVolume(100*e)}))}get volume(){var e;return this.isLoaded?(null==(e=this.api)?void 0:e.getVolume())/100:this.#r}#u(e){if(Object.prototype.hasOwnProperty.call(this,e)){let t=this[e];delete this[e],this[e]=t}}}function u(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/`/g,"`")}function h(e){return String(new URLSearchParams(function(e){let t={};for(let i in e){let s=e[i];!0===s||""===s?t[i]=1:!1===s?t[i]=0:null!=s&&(t[i]=s)}return t}(e)))}let d={};async function c(e,t,i){return d[e]?d[e]:t&&self[t]?(await p(0),self[t]):d[e]=new Promise(function(s,n){let a=document.createElement("script");a.src=e;let l=()=>s(self[t]);i&&(self[i]=l),a.onload=()=>!i&&l(),a.onerror=n,document.head.append(a)})}let p=e=>new Promise(t=>setTimeout(t,e));class v extends Promise{constructor(e=()=>{}){let t,i;super((s,n)=>{e(s,n),t=s,i=n}),this.resolve=t,this.reject=i}}function m(e,t){return Array.isArray(e)?g(e):null==e||null==t||0===e&&0===t?g([[0,0]]):g([[e,t]])}function g(e){return Object.defineProperties(e,{start:{value:t=>e[t][0]},end:{value:t=>e[t][1]}}),e}globalThis.customElements&&!globalThis.customElements.get("youtube-video")&&globalThis.customElements.define("youtube-video",r);var f=new Set(["style","children","ref","key","suppressContentEditableWarning","suppressHydrationWarning","dangerouslySetInnerHTML"]),y={className:"class",htmlFor:"for"};function w(e){return e.toLowerCase()}function b(e){return"boolean"==typeof e?e?"":void 0:"function"==typeof e?void 0:"object"!=typeof e||null===e?e:void 0}function E(e,t,i){var s,n;e[t]=i,null==i&&t in(null!=(n=null==(s=globalThis.HTMLElement)?void 0:s.prototype)?n:{})&&e.removeAttribute(t)}var k=function(e){let{react:t,tagName:i,elementClass:s,events:n,displayName:a,defaultProps:l,toAttributeName:o=w,toAttributeValue:r=b}=e,u=Number.parseInt(t.version)>=19,h=t.forwardRef((e,a)=>{var h,d,c,p,v;let m=t.useRef(null),g=t.useRef(new Map),w={},k={},T={},L={};for(let[t,i]of Object.entries(e)){if(f.has(t)){T[t]=i;continue}let e=o(null!=(c=y[t])?c:t);if(s.prototype&&t in s.prototype&&!(t in(null!=(p=null==(h=globalThis.HTMLElement)?void 0:h.prototype)?p:{}))&&!(null==(d=s.observedAttributes)?void 0:d.some(t=>t===e))){L[t]=i;continue}if(t.startsWith("on")){w[t]=i;continue}let n=r(i);e&&null!=n&&(k[e]=String(n),u||(T[e]=n)),e&&u&&(n!==b(i)?T[e]=n:T[e]=i)}if("undefined"!=typeof window){for(let e in w){let i=w[e],s=e.endsWith("Capture"),a=(null!=(v=null==n?void 0:n[e])?v:e.slice(2).toLowerCase()).slice(0,s?-7:void 0);t.useLayoutEffect(()=>{let e=null==m?void 0:m.current;if(e&&"function"==typeof i)return e.addEventListener(a,i,s),()=>{e.removeEventListener(a,i,s)}},[null==m?void 0:m.current,i])}t.useLayoutEffect(()=>{if(null===m.current)return;let e=new Map;for(let t in L)E(m.current,t,L[t]),g.current.delete(t),e.set(t,L[t]);for(let[e,t]of g.current)E(m.current,e,void 0);g.current=e})}if("undefined"==typeof window&&(null==s?void 0:s.getTemplateHTML)&&(null==s?void 0:s.shadowRootOptions)){let{mode:i,delegatesFocus:n}=s.shadowRootOptions;T.children=[t.createElement("template",{shadowrootmode:i,shadowrootdelegatesfocus:n,dangerouslySetInnerHTML:{__html:s.getTemplateHTML(k,e)}}),T.children]}return t.createElement(i,{...l,...T,ref:t.useCallback(e=>{m.current=e,"function"==typeof a?a(e):null!==a&&(a.current=e)},[a])})});return h.displayName=null!=a?a:s.name,h}({react:s,tagName:"youtube-video",elementClass:r,toAttributeName:e=>"muted"===e?"":"defaultMuted"===e?"muted":w(e)})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.