1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4491],{91309:function(e,t,o){o.r(t),o.d(t,{default:function(){return T}});var i=o(67294);let s=/tiktok\.com\/(?:player\/v1\/|share\/video\/|@[^/]+\/video\/)([0-9]+)/,n={INIT:-1,ENDED:0,PLAYING:1,PAUSED:2,BUFFERING:3},r={[n.INIT]:"emptied",[n.PAUSED]:"pause",[n.ENDED]:"ended",[n.PLAYING]:"play",[n.BUFFERING]:"waiting"};function a(e,t={}){let o={src:l(e,t),frameborder:0,width:"100%",height:"100%",allow:"accelerometer; autoplay; fullscreen; encrypted-media; gyroscope; picture-in-picture"};return t.config&&(o["data-config"]=JSON.stringify(t.config)),` 2 <style> 3 :host { 4 display:inline-block; 5 min-width: 300px; 6 min-height: 150px; 7 position: relative; 8 } 9 iframe { 10 position:absolute; 11 top:0; 12 left:0; 13 width:100%; 14 height:100%; 15 border:0; 16 } 17 </style> 18 <iframe ${function(e){let t="";for(let o in e){let i=e[o];""===i?t+=` ${v(o)}`:t+=` ${v(o)}="${v(`${i}`)}"`}return t}(o)} title="TikTok video"></iframe> 19 `}function l(e,t={}){if(!e.src)return;let o=e.src.match(s),i=o&&o[1],n={controls:""===e.controls?null:0,autoplay:e.autoplay,muted:e.muted,loop:e.loop,rel:0,...t.config};return`https://www.tiktok.com/player/v1/${i}?${String(new URLSearchParams(function(e){let t={};for(let o in e){let i=e[o];!0===i||""===i?t[o]=1:!1===i?t[o]=0:null!=i&&(t[o]=i)}return t}(n)))}`}class u extends(globalThis.HTMLElement??class{}){static getTemplateHTML=a;static shadowRootOptions={mode:"open"};static get observedAttributes(){return["src","controls","loop","autoplay","muted"]}loadComplete=new f;#e;#t;#o=!1;#i=0;#s=!0;#n=null;#r=100;#a=0;#l;constructor(){super(),this.#u("config")}async load(){if(this.#e)return;this.shadowRoot||this.attachShadow(u.shadowRootOptions);let e=!this.#t;if(this.#t&&(this.loadComplete=new f),this.#t=!0,await (this.#e=Promise.resolve()),this.#e=null,this.#i=0,this.#o=!1,this.#s=!0,!this.src){this.shadowRoot.innerHTML="",globalThis.removeEventListener("message",this.#c);return}let t=this.shadowRoot.querySelector("iframe"),o=function(e){let t={};for(let o of e)t[o.name]=o.value;return t}(this.attributes);e&&t&&(this.#n=JSON.parse(t.getAttribute("data-config")||"{}")),(null==t?void 0:t.src)&&t.src===l(o,this)||(this.shadowRoot.innerHTML=a(o,this),t=this.shadowRoot.querySelector("iframe")),this.#l=t,globalThis.addEventListener("message",this.#c)}async attributeChangedCallback(e,t,o){if(t!==o)switch(e){case"muted":await this.loadComplete,this.muted=null!=o;break;case"autoplay":case"controls":case"loop":case"src":this.load();return}}get config(){return this.#n}set config(e){this.#n=e}#c=e=>{var t;if(e.source!==(null==(t=this.#l)?void 0:t.contentWindow))return;let o=e.data;if(null==o?void 0:o["x-tiktok-player"])switch(o.type){case"onPlayerReady":this.loadComplete.resolve();break;case"onStateChange":{this.#s=[n.INIT,n.PAUSED,n.ENDED].includes(o.value);let e=r[o.value];e&&this.dispatchEvent(new Event(e));break}case"onCurrentTime":this.#i=o.value.currentTime,this.#a=o.value.duration,this.dispatchEvent(new Event("durationchange")),this.dispatchEvent(new Event("timeupdate"));break;case"onVolumeChange":this.#r=o.value,this.dispatchEvent(new Event("volumechange"));break;case"onMute":this.#o=!!o.value,this.#r=o.value?0:this.#r,this.dispatchEvent(new Event("volumechange"));break;case"onError":this.dispatchEvent(new Event("error"));break;default:console.warn("Unhandled TikTok player message:",o)}};#d(c,d){var h;if(!(null==(h=this.#l)?void 0:h.contentWindow))return;let e={"x-tiktok-player":!0,type:c,...void 0!==d?{value:d}:{}};this.#l.contentWindow.postMessage(e,"*")}async play(){await this.loadComplete,this.#d("play")}async pause(){await this.loadComplete,this.#d("pause")}async #h(p){await this.loadComplete,this.#d("seekTo",Number(p))}async #p(){await this.loadComplete,this.#d("mute")}async #m(){await this.loadComplete,this.#d("unMute")}get volume(){return this.#r/100}set volume(e){console.warn("Volume control is not supported for TikTok videos.")}get currentTime(){return this.#i}set currentTime(e){this.#h(e)}get muted(){return this.#o}set muted(e){this.#o=e,e?this.#p():this.#m()}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(e){this.toggleAttribute("muted",!!e)}get paused(){return this.#s}get duration(){return this.#a}get src(){return this.getAttribute("src")}set src(e){this.setAttribute("src",e??"")}#u(m){if(Object.prototype.hasOwnProperty.call(this,m)){let e=this[m];delete this[m],this[m]=e}}}class f extends Promise{constructor(e=()=>{}){let t,o;super((i,s)=>{e(i,s),t=i,o=s}),this.resolve=t,this.reject=o}}function v(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/`/g,"`")}globalThis.customElements&&!globalThis.customElements.get("tiktok-video")&&globalThis.customElements.define("tiktok-video",u);var g=new Set(["style","children","ref","key","suppressContentEditableWarning","suppressHydrationWarning","dangerouslySetInnerHTML"]),w={className:"class",htmlFor:"for"};function y(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,o){var i;e[t]=o,null==o&&t in((null==(i=globalThis.HTMLElement)?void 0:i.prototype)??{})&&e.removeAttribute(t)}var T=function({react:e,tagName:t,elementClass:o,events:i,displayName:s,defaultProps:n,toAttributeName:r=y,toAttributeValue:a=b}){let l=Number.parseInt(e.version)>=19,u=e.forwardRef((s,u)=>{var c,d;let h=e.useRef(null),p=e.useRef(new Map),m={},f={},v={},y={};for(let[e,t]of Object.entries(s)){if(g.has(e)){v[e]=t;continue}let i=r(w[e]??e);if(o.prototype&&e in o.prototype&&!(e in((null==(c=globalThis.HTMLElement)?void 0:c.prototype)??{}))&&!(null==(d=o.observedAttributes)?void 0:d.some(e=>e===i))){y[e]=t;continue}if(e.startsWith("on")){m[e]=t;continue}let s=a(t);if(i&&null!=s&&(f[i]=String(s),l||(v[i]=s)),i&&l){let e=b(t);
19s!==e?v[i]=s:v[i]=t}}if("undefined"!=typeof window){for(let t in m){let o=m[t],s=t.endsWith("Capture"),n=((null==i?void 0:i[t])??t.slice(2).toLowerCase()).slice(0,s?-7:void 0);e.useLayoutEffect(()=>{let e=null==h?void 0:h.current;if(e&&"function"==typeof o)return e.addEventListener(n,o,s),()=>{e.removeEventListener(n,o,s)}},[null==h?void 0:h.current,o])}e.useLayoutEffect(()=>{if(null===h.current)return;let e=new Map;for(let t in y)E(h.current,t,y[t]),p.current.delete(t),e.set(t,y[t]);for(let[e,t]of p.current)E(h.current,e,void 0);p.current=e})}if("undefined"==typeof window&&(null==o?void 0:o.getTemplateHTML)&&(null==o?void 0:o.shadowRootOptions)){let{mode:t,delegatesFocus:i}=o.shadowRootOptions,n=e.createElement("template",{shadowrootmode:t,shadowrootdelegatesfocus:i,dangerouslySetInnerHTML:{__html:o.getTemplateHTML(f,s)}});v.children=[n,v.children]}return e.createElement(t,{...n,...v,ref:e.useCallback(e=>{h.current=e,"function"==typeof u?u(e):null!==u&&(u.current=e)},[u])})});return u.displayName=s??o.name,u}({react:i,tagName:"tiktok-video",elementClass:u,toAttributeName:e=>"muted"===e?"":"defaultMuted"===e?"muted":y(e)});/*! Bundled license information: 20 21ce-la-react/dist/ce-la-react.js: 22 (** 23 * @license 24 * Copyright 2018 Google LLC 25 * SPDX-License-Identifier: BSD-3-Clause 26 * 27 * Modified version of `@lit/react` for vanilla custom elements with support for SSR. 28 *) 29*/}}]);
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.