interview-widget 3.2.7 → 3.2.8
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/dist/services/stt/stt-service.d.ts +1 -0
- package/dist/utils/audio-storage.d.ts +24 -0
- package/dist/widget.es.js +1844 -1807
- package/dist/widget.umd.js +6 -6
- package/package.json +1 -1
package/dist/widget.umd.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
(function(me,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom"],o):(me=typeof globalThis<"u"?globalThis:me||self,o(me.InterviewWidget={},me.jsxRuntime,me.React,me.ReactDOM))})(this,function(me,o,d,qs){"use strict";var l1=Object.defineProperty;var d1=(me,o,d)=>o in me?l1(me,o,{enumerable:!0,configurable:!0,writable:!0,value:d}):me[o]=d;var Ee=(me,o,d)=>d1(me,typeof o!="symbol"?o+"":o,d);var cn=typeof document<"u"?document.currentScript:null;const ln={},rt={api:{baseUrl:"/api",retryConfig:{attempts:3,backoff:"exponential",baseDelay:1e3}},ui:{baseColor:"#3B82F6",borderRadius:"8px"},interview:{allow_answer_editing:!0,capture_screenshots:!1,timers:{thinkingDuration:30,answeringDuration:120,editingDuration:30},stt:{provider:"groq",model:"whisper-large-v3-turbo",language:"en"},tts:{provider:"piper"},proctoring:{enabled:!0,gazeAnalysisEnabled:!0}}},dn="iw-storage";function kl(){if(!(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:cn&&cn.tagName.toUpperCase()==="SCRIPT"&&cn.src||new URL("widget.umd.js",document.baseURI).href}<"u"&&(ln!=null&&ln.VITE_IW_SECRET)))return typeof process<"u"&&process.env.NEXT_PUBLIC_IW_SECRET?process.env.NEXT_PUBLIC_IW_SECRET:typeof window<"u"&&window.__IW_SECRET__?window.__IW_SECRET__:"proctoring-data-seed"}const Ks=kl(),hi=30,Sl={SCREENSHOT:"screenshot"},un="AES-GCM",hn=12;async function Ys(e){const r=new TextEncoder().encode(e),i=await crypto.subtle.digest("SHA-256",r);return crypto.subtle.importKey("raw",i,un,!1,["encrypt","decrypt"])}function Cl(){return crypto.getRandomValues(new Uint8Array(hn))}async function Al(e,t="default-seed"){try{const r=typeof e=="string"?e:JSON.stringify(e),n=new TextEncoder().encode(r),s=await Ys(t),a=Cl(),c=await crypto.subtle.encrypt({name:un,iv:a},s,n),l=new Uint8Array(a.length+c.byteLength);return l.set(new Uint8Array(a),0),l.set(new Uint8Array(c),a.length),btoa(String.fromCharCode(...Array.from(l)))}catch(r){throw console.error("Encryption failed:",r),new Error("Failed to encrypt data")}}async function Tl(e,t="default-seed"){try{const r=atob(e),i=new Uint8Array(r.length);for(let h=0;h<r.length;h++)i[h]=r.charCodeAt(h);const n=i.slice(0,hn),s=i.slice(hn),a=await Ys(t),c=await crypto.subtle.decrypt({name:un,iv:n},a,s);return new TextDecoder().decode(c)}catch(r){throw console.error("Decryption failed:",r),new Error("Failed to decrypt data")}}async function Nl(e,t="default-seed"){return Al(e,t)}async function Il(e,t="default-seed"){const r=await Tl(e,t);try{return JSON.parse(r)}catch{return r}}const Br=d.createContext(null),Fl=async()=>{try{const e=sessionStorage.getItem(dn);if(e){const r=(await Il(e,Ks)).state;return{logViolations:(r==null?void 0:r.logViolations)||[],totalViolations:(r==null?void 0:r.totalViolations)||0,gazeViolationCounters:(r==null?void 0:r.gazeViolationCounters)||{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:(r==null?void 0:r.referenceSet)??!1,referenceRef:(r==null?void 0:r.referenceRef)??{x:.5,y:.5,noseX:.5,noseY:.5}}}}catch(e){console.error("Failed to load proctoring data from session storage:",e)}return{logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}},Ur=async e=>{try{const t=await Nl({state:e,version:0},Ks);sessionStorage.setItem(dn,t)}catch(t){console.error("Failed to save proctoring data to session storage:",t)}},Ll=({children:e})=>{const t=d.useRef({logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}),r=d.useRef(new Set);d.useEffect(()=>{Fl().then(w=>{t.current=w,i()})},[]);const i=d.useCallback(()=>{r.current.forEach(w=>w())},[]),n=d.useCallback(w=>(r.current.add(w),()=>{r.current.delete(w)}),[]),s=d.useCallback(()=>t.current,[]),a=d.useCallback(w=>{t.current={...t.current,logViolations:[...t.current.logViolations,w],totalViolations:t.current.totalViolations+1},Ur(t.current),i()},[i]),c=d.useCallback(w=>{const g={...t.current.gazeViolationCounters};w==="looking_away"&&(g.lookingAwayCount+=1),w==="no_face_detected"&&(g.noFaceDetectedCount+=1),w==="multiple_faces"&&(g.multipleFacesCount+=1),g.totalGazeViolations=g.lookingAwayCount+g.noFaceDetectedCount+g.multipleFacesCount,t.current={...t.current,gazeViolationCounters:g},Ur(t.current),i()},[i]),l=d.useCallback(()=>{t.current={...t.current,logViolations:[],totalViolations:0},Ur(t.current),i()},[i]),h=d.useCallback(()=>{t.current={...t.current,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0}},Ur(t.current),i()},[i]),u=d.useCallback((w,g)=>{t.current={...t.current,referenceSet:w,referenceRef:g},Ur(t.current),i()},[i]),f=d.useMemo(()=>({getState:s,addViolation:a,clearViolations:l,subscribe:n,incrementGazeViolation:c,clearGazeViolationCounters:h,setReferenceData:u}),[s,a,l,n,c,h,u]);return o.jsx(Br.Provider,{value:f,children:e})},Xs=()=>{const e=d.useContext(Br);if(!e)throw new Error("useProctoringStore must be used within a ProctoringProvider");const t=d.useSyncExternalStore(e.subscribe,e.getState,e.getState);return{logViolations:t.logViolations,totalViolations:t.totalViolations,addViolation:e.addViolation,clearViolations:e.clearViolations,gazeViolationCounters:t.gazeViolationCounters,referenceSet:t.referenceSet,referenceRef:t.referenceRef,incrementGazeViolation:e.incrementGazeViolation,clearGazeViolationCounters:e.clearGazeViolationCounters,setReferenceData:e.setReferenceData}},Ml=()=>{const e=d.useContext(Br);if(!e)throw new Error("useViolations must be used within a ProctoringProvider");return d.useSyncExternalStore(e.subscribe,()=>e.getState().logViolations,()=>e.getState().logViolations)},Dl=()=>{const e=d.useContext(Br);if(!e)throw new Error("useTotalViolations must be used within a ProctoringProvider");return d.useSyncExternalStore(e.subscribe,()=>e.getState().totalViolations,()=>e.getState().totalViolations)},Pl=()=>{const e=d.useContext(Br);if(!e)throw new Error("useProctoringActions must be used within a ProctoringProvider");return{addViolation:e.addViolation,clearViolations:e.clearViolations}},Qs=d.createContext(null);function Js({config:e={},children:t}){var i,n,s,a;const r={api:{...rt.api,...e.api,retryConfig:{...rt.api.retryConfig,...(i=e.api)==null?void 0:i.retryConfig}},ui:{...rt.ui,...e.ui},interview:{...rt.interview,...e.interview,timers:{...rt.interview.timers,...(n=e.interview)==null?void 0:n.timers},stt:{...rt.interview.stt,...(s=e.interview)==null?void 0:s.stt},tts:{...rt.interview.tts,...(a=e.interview)==null?void 0:a.tts}}};return o.jsx(Qs.Provider,{value:r,children:o.jsx(Ll,{children:t})})}function fi(){const e=d.useContext(Qs);if(!e)throw new Error("useInterviewConfig must be used within an InterviewWidgetProvider. Wrap your component tree with <InterviewWidgetProvider config={...}>");return e}function Zs(){return fi().api||rt.api}function Jt(){return fi().ui||rt.ui}function fn(){return fi().interview||rt.interview}function Ol(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function Bl(e,t,r){return"#"+[e,t,r].map(i=>{const n=Math.round(i).toString(16);return n.length===1?"0"+n:n}).join("")}function Ul(e,t){const r=Ol(e);if(!r)return e;const i=r.r+(255-r.r)*t,n=r.g+(255-r.g)*t,s=r.b+(255-r.b)*t;return Bl(i,n,s)}function Vl(e){return new Promise(t=>setTimeout(t,e))}function Gl(e){return`linear-gradient(to left, ${Ul(e,.4)}, ${e})`}const jl=()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);function zl(e){try{const t=e.split(".");if(t.length!==3||!t[1])throw new Error("Invalid JWT token");const i=t[1].replace(/-/g,"+").replace(/_/g,"/"),n=i.padEnd(i.length+(4-i.length%4)%4,"="),s=atob(n);return JSON.parse(s)}catch(t){return console.error("Error decoding JWT:",t),null}}const $l=e=>{var t;return!e||typeof e!="string"?"":(t=e.charAt(0))==null?void 0:t.toUpperCase()},wn=(e,t)=>{const r=Math.max(0,Math.floor(e));if(t&&r<60)return`${r}`;const i=Math.floor(r/60).toString().padStart(2,"0"),n=(r%60).toString().padStart(2,"0");return`${i}:${n}`},gn=({brandLogo:e,brandName:t,className:r="",showFallbackStyles:i=!0})=>{const{baseColor:n}=Jt();return e?o.jsx("div",{className:r,children:e}):o.jsx("div",{className:i?`iw-h-7 iw-w-7 iw-rounded-md iw-flex iw-items-center iw-justify-center iw-text-white iw-font-semibold ${r}`:r,style:i?{backgroundColor:n}:{},children:$l(t)})},Wl=e=>{const t=d.useRef(null),r=d.useRef(null),[i,n]=d.useState(!1),[s,a]=d.useState(!1),[c,l]=d.useState(null),[h,u]=d.useState([]),[f,w]=d.useState([]),[g,p]=d.useState(""),[y,m]=d.useState(""),[b,v]=d.useState(!1),F=d.useCallback(()=>{r.current&&(r.current.getTracks().forEach(N=>N.stop()),r.current=null,l(null))},[]),T=d.useCallback(async()=>{var N,L,z,be;try{const Q=await navigator.mediaDevices.enumerateDevices(),q=Q.filter(U=>U.kind==="audioinput"),J=Q.filter(U=>U.kind==="videoinput");if(u(q),w(J),!g&&q.length>0){const U=(N=r.current)==null?void 0:N.getAudioTracks()[0],Z=U==null?void 0:U.getSettings().deviceId;p(Z||((L=q[0])==null?void 0:L.deviceId)||"")}if(!y&&J.length>0){const U=(z=r.current)==null?void 0:z.getVideoTracks()[0],Z=U==null?void 0:U.getSettings().deviceId;m(Z||((be=J[0])==null?void 0:be.deviceId)||"")}}catch(Q){console.error("Error enumerating devices:",Q)}},[g,y]),E=d.useCallback(async(N,L)=>{const z={width:{ideal:1280},height:{ideal:720},...L?{deviceId:{exact:L}}:{facingMode:"user"}},be={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:{ideal:48e3},channelCount:{ideal:1},...N?{deviceId:{exact:N}}:{}};let Q=null;try{Q=await navigator.mediaDevices.getUserMedia({video:z,audio:be}),n(!0),a(!0)}catch(q){console.warn("Combined media request failed, trying individual.",q);try{const J=await navigator.mediaDevices.getUserMedia({audio:be});n(!0),Q=J}catch(J){console.error("Audio permission denied",J),n(!1)}try{const J=await navigator.mediaDevices.getUserMedia({video:z});a(!0),Q?J.getTracks().forEach(U=>Q.addTrack(U)):Q=J}catch(J){console.error("Video permission denied",J),a(!1)}}Q?(r.current=Q,l(Q),t.current&&(t.current.srcObject=Q,await t.current.play().catch(q=>console.error("Error playing video element",q)))):(r.current=null,l(null)),await T()},[T]),C=async N=>{N!==g&&(v(!0),p(N),F(),await E(N,y),v(!1))},D=async N=>{N!==y&&(v(!0),m(N),F(),await E(g,N),v(!1))};return d.useEffect(()=>{if(!e){F();return}return E(),()=>F()},[e]),{videoRef:t,audioAllowed:i,videoAllowed:s,audioDevices:h,videoDevices:f,selectedAudioDeviceId:g,selectedVideoDeviceId:y,isDeviceLoading:b,currentStream:c,handleAudioChange:C,handleVideoChange:D,stopStream:F}},wi=e=>o.jsxs("svg",{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",...e,children:[o.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),o.jsx("path",{d:"M12 9v4"}),o.jsx("path",{d:"M12 17h.01"})]}),Hl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-bolt-icon prefix__lucide-bolt",...e,children:[o.jsx("path",{d:"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"}),o.jsx("circle",{cx:12,cy:12,r:4})]}),ql=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-camera-off-icon prefix__lucide-camera-off",...e,children:[o.jsx("path",{d:"M14.564 14.558a3 3 0 11-4.122-4.121M2 2l20 20"}),o.jsx("path",{d:"M20 20H4a2 2 0 01-2-2V9a2 2 0 012-2h1.997a2 2 0 00.819-.175M9.695 4.024A2 2 0 0110.004 4h3.993a2 2 0 011.76 1.05l.486.9A2 2 0 0018.003 7H20a2 2 0 012 2v7.344"})]}),gi=e=>o.jsx("svg",{width:"10",height:"9",viewBox:"0 0 10 9",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M0.75 5.5C0.75 5.5 2.35 6.4125 3.15 7.75C3.15 7.75 5.55 2.5 8.75 0.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),Kl=({className:e})=>o.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:o.jsx("path",{d:"M18 9.00005C18 9.00005 13.5811 15 12 15C10.4188 15 6 9 6 9",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),Rs=e=>o.jsxs("svg",{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",...e,children:[o.jsx("path",{d:"M12 2a10 10 0 0 1 7.38 16.75"}),o.jsx("path",{d:"M12 6v6l4 2"}),o.jsx("path",{d:"M2.5 8.875a10 10 0 0 0-.5 3"}),o.jsx("path",{d:"M2.83 16a10 10 0 0 0 2.43 3.4"}),o.jsx("path",{d:"M4.636 5.235a10 10 0 0 1 .891-.857"}),o.jsx("path",{d:"M8.644 21.42a10 10 0 0 0 7.631-.38"})]}),pi=e=>o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",...e,children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),Yl=e=>o.jsxs("svg",{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",...e,children:[o.jsx("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),o.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),Xl=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2.66797 2H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 2V3.35359C3.66797 4.18151 4.05252 4.96247 4.70874 5.46726L8.0013 8L11.2938 5.46726C11.9501 4.96247 12.3346 4.18151 12.3346 3.35359V2",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 14V12.6464C3.66797 11.8185 4.05252 11.0375 4.70874 10.5327L8.0013 8L11.2938 10.5327C11.9501 11.0375 12.3346 11.8185 12.3346 12.6464V14",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M2.66797 14H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"})]}),eo=({className:e,...t})=>o.jsx("div",{children:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`iw-animate-spin ${e}`,...t,children:[o.jsx("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o.jsx("path",{d:"M12 6l0 -3"}),o.jsx("path",{d:"M16.25 7.75l2.15 -2.15"}),o.jsx("path",{d:"M18 12l3 0"}),o.jsx("path",{d:"M16.25 16.25l2.15 2.15"}),o.jsx("path",{d:"M12 18l0 3"}),o.jsx("path",{d:"M7.75 16.25l-2.15 2.15"}),o.jsx("path",{d:"M6 12l-3 0"}),o.jsx("path",{d:"M7.75 7.75l-2.15 -2.15"})]})}),Ql=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M17 7V11C17 13.7614 14.7614 16 12 16C9.23858 16 7 13.7614 7 11V7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M20 11C20 15.4183 16.4183 19 12 19M12 19C7.58172 19 4 15.4183 4 11M12 19V22M12 22H15M12 22H9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),to=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-target-icon prefix__lucide-target",...e,children:[o.jsx("circle",{cx:12,cy:12,r:10}),o.jsx("circle",{cx:12,cy:12,r:6}),o.jsx("circle",{cx:12,cy:12,r:2})]}),Jl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-users-icon prefix__lucide-users",...e,children:[o.jsx("path",{d:"M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M16 3.128a4 4 0 010 7.744M22 21v-2a4 4 0 00-3-3.87"}),o.jsx("circle",{cx:9,cy:7,r:4})]}),Zl=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M11 8H13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M2 11C2 7.70017 2 6.05025 3.02513 5.02513C4.05025 4 5.70017 4 9 4H10C13.2998 4 14.9497 4 15.9749 5.02513C17 6.05025 17 7.70017 17 11V13C17 16.2998 17 17.9497 15.9749 18.9749C14.9497 20 13.2998 20 10 20H9C5.70017 20 4.05025 20 3.02513 18.9749C2 17.9497 2 16.2998 2 13V11Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M17 8.90585L17.1259 8.80196C19.2417 7.05623 20.2996 6.18336 21.1498 6.60482C22 7.02628 22 8.42355 22 11.2181V12.7819C22 15.5765 22 16.9737 21.1498 17.3952C20.2996 17.8166 19.2417 16.9438 17.1259 15.198L17 15.0941",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),Rl=e=>o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M8.16651 8.63991V5.35747C8.16651 3.52277 8.16651 2.60542 7.62675 2.37712C7.08699 2.14882 6.45168 2.79749 5.18119 4.09482C4.52323 4.76666 4.14784 4.91543 3.2117 4.91543C2.39301 4.91543 1.98366 4.91543 1.68961 5.11606C1.07921 5.53252 1.17148 6.34653 1.17148 6.9987C1.17148 7.65086 1.07921 8.46485 1.68961 8.88135C1.98366 9.08196 2.39301 9.08196 3.2117 9.08196C4.14784 9.08196 4.52323 9.23076 5.18119 9.90259C6.45168 11.1999 7.08699 11.8486 7.62675 11.6203C8.16651 11.392 8.16651 10.4746 8.16651 8.63991Z",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M9.9165 5.25C10.2813 5.72815 10.4998 6.33698 10.4998 7C10.4998 7.66302 10.2813 8.27184 9.9165 8.75",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M11.6665 4.08203C12.3961 4.87894 12.8332 5.89369 12.8332 6.9987C12.8332 8.10371 12.3961 9.11847 11.6665 9.91536",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"})]}),Ce={FACE_DETECTED:"face_detected",NO_FACE:"no_face_detected",MULTIPLE_FACES:"multiple_faces",LOOKING_AWAY:"looking_away",CAMERA_ERROR:"camera_error",MODEL_LOADING:"model_loading"},ro={[Ce.FACE_DETECTED]:{icon:Yl,iconColor:"iw-text-green-600",iconBg:"iw-bg-green-50",iconBorder:"iw-border-green-100",title:"All Good",subtitle:"Everything looks normal",description:"Your gaze is properly focused on the screen. Continue with your interview.",buttonText:"Continue"},[Ce.NO_FACE]:{icon:ql,iconColor:"iw-text-orange-600",iconBg:"iw-bg-orange-50",iconBorder:"iw-border-orange-100",title:"Face Not Detected",subtitle:"We can't see you in the camera",description:"Please ensure you're positioned properly in front of the camera and that your face is clearly visible.",buttonText:"I Understood"},[Ce.MULTIPLE_FACES]:{icon:Jl,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Multiple People Detected",subtitle:"More than one person is visible on the screen.",buttonText:"I Understood"},[Ce.LOOKING_AWAY]:{icon:to,iconColor:"iw-text-amber-600",iconBg:"iw-bg-amber-50",iconBorder:"iw-border-amber-200/75",title:"Focus Alert",subtitle:"You looked away from the screen. Maintain focus to continue.",buttonText:"I Understood"},[Ce.CAMERA_ERROR]:{icon:wi,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Camera Issue",subtitle:"There's a problem with your camera",description:"Please check your camera connection and permissions, contact support if the problem continues.",buttonText:"I Understood"},[Ce.MODEL_LOADING]:{icon:to,iconColor:"iw-text-blue-600",iconBg:"iw-bg-blue-50",iconBorder:"iw-border-blue-100",title:"Initializing Model",subtitle:"Please wait while we set up the AI",description:"The face detection model is being loaded. This should only take a moment.",buttonText:"Wait"}};function ed(e){var t;if(!navigator.onLine)return{type:"network",message:"No internet connection",retryable:!0,userMessage:"Please check your internet connection and try again."};if(e.name==="AbortError"||(t=e.message)!=null&&t.includes("timeout"))return{type:"timeout",message:"Request timed out",retryable:!0,userMessage:"The request is taking longer than expected. Please try again."};if(e.status){const{status:r}=e;if(r===401||r===403)return{type:"auth",status:r,message:"Authentication failed",retryable:!1,userMessage:"Your session has expired. Please refresh the page."};if(r===429)return{type:"rate-limit",status:r,message:"Too many requests",retryable:!0,userMessage:"Please wait a moment before trying again."};if(r>=500)return{type:"server",status:r,message:`Server error: ${r}`,retryable:!0,userMessage:"Our servers are experiencing issues. Please try again in a few moments."};if(r>=400)return{type:"client",status:r,message:`Client error: ${r}`,retryable:!1,userMessage:"There was an issue with your request. Please check your input."}}return{type:"unknown",message:e.message||"Unknown error occurred",retryable:!0,userMessage:"Something unexpected happened. Please try again.",originalError:e}}async function bt(e,t={},r={attempts:3,backoff:"exponential",baseDelay:1e3,maxDelay:1e4,jitter:!0}){let i;for(let n=1;n<=r.attempts;n++)try{const s=new AbortController,a=setTimeout(()=>s.abort(),6e4),c=await fetch(e,{...t,signal:s.signal});if(clearTimeout(a),c.status>=400&&c.status<500&&c.status!==429)return c;if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return c}catch(s){i=s;const a=ed(s);if(!a.retryable||n===r.attempts)throw a;const c=td(n,r);console.warn(`API request failed (attempt ${n}/${r.attempts}), retrying in ${c}ms:`,a.message),await new Promise(l=>setTimeout(l,c))}throw i}function td(e,t){let r;return t.backoff==="exponential"?r=t.baseDelay*Math.pow(2,e-1):r=t.baseDelay,r=Math.min(r,t.maxDelay),t.jitter&&(r=r*(.5+Math.random()*.5)),Math.round(r)}const vt={v2:"/v2"},xt={GENERATE_QUESTION:e=>`${vt.v2}/interviews/${e}/next-question`,SCREENSHOT_UPLOAD:e=>`${vt.v2}/interviews/${e}/assets/upload-url`,CONFIRM_UPLOAD:e=>`${vt.v2}/interviews/assets/${e}/confirm`,TRANSCRIBE_ANSWER:e=>`${vt.v2}/interviews/${e}/transcribe-answer`,SUBMIT_ANSWER:e=>`${vt.v2}/interviews/${e}/submit-answer`,EXIT:e=>`${vt.v2}/interviews/${e}/exit`,CONFIG:e=>`${vt.v2}/interviews/${e}/config`,TRANSCRIPTION:e=>`${vt.v2}/interviews/${e}/transcript`};class io{constructor(t={}){Ee(this,"config");this.config=t}updateConfig(t){this.config={...this.config,...t}}getHeaders(){var r;const t={"Content-Type":"application/json"};return(r=this.config)!=null&&r.authToken&&(t.Authorization=`Bearer ${this.config.authToken}`),t}getBaseUrl(){var t;return((t=this.config)==null?void 0:t.baseUrl)||"/api"}async generateQuestion({interviewId:t,isInterviewDone:r=!1}){const i=await bt(`${this.getBaseUrl()}${xt.GENERATE_QUESTION(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({interview_id:t,is_interview_done:r})});if(!i.ok)throw new Error(`Failed to get questions: ${i.status}`);return await i.json()}async submitAnswer({interviewId:t,qnaId:r,answer:i}){const n=await bt(`${this.getBaseUrl()}${xt.SUBMIT_ANSWER(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({qna_id:r,answer_text:i})});if(!n.ok)throw new Error(`Failed to submit answer: ${n.status}`);return await n.json()}async exitInterview(t){const r=await bt(`${this.getBaseUrl()}${xt.EXIT(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to exit interview: ${r.status}`)}async getInterviewConfig(t){const r=await bt(`${this.getBaseUrl()}${xt.CONFIG(t)}`,{method:"GET",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to get interview config: ${r.status}`);return await r.json()}async requestScreenshotUploadUrl(t,r=`screenshot-${Date.now()}.jpeg`){const i=await bt(`${this.getBaseUrl()}${xt.SCREENSHOT_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({filename:r,mime_type:"image/jpeg",asset_type:Sl.SCREENSHOT})});if(!i.ok)throw new Error(`Failed to request screenshot upload URL: ${i.status}`);return await i.json()}async uploadScreenshot(t,r){const i=await fetch(t,{method:"PUT",body:r,headers:{"Content-Type":"image/jpeg"}});if(!i.ok)throw new Error(`Failed to upload screenshot: ${i.status}`)}async confirmScreenshotUpload(t){const r=await bt(`${this.getBaseUrl()}${xt.CONFIRM_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to confirm screenshot upload: ${r.status}`)}async getInterviewTranscription(t){const r=await bt(`${this.getBaseUrl()}${xt.TRANSCRIPTION(t)}`,{method:"GET",headers:{...this.getHeaders()}});if(!r.ok)throw new Error(`Failed to get interview transcription: ${r.status}`);return await r.json()}}const mi=new io,rd=({gazeAnalysisEnabled:e,isModelLoaded:t,stats:r,statusMessage:i,loadingProgress:n})=>o.jsx("div",{className:"iw-w-full",children:o.jsxs("div",{className:"iw-border-strock iw-rounded-md iw-border iw-bg-gray-50 iw-p-4",children:[o.jsxs("h3",{className:"iw-m-0 iw-mb-2.5",children:["Status: ",i]}),n>0&&n<100&&o.jsxs("div",{className:"iw-mb-2.5",children:[o.jsx("div",{className:"iw-h-2 iw-w-full iw-rounded iw-bg-gray-300",children:o.jsx("div",{className:"iw-h-full iw-rounded iw-bg-blue-600 iw-transition-all iw-duration-300 iw-ease-out",style:{width:`${n}%`}})}),o.jsxs("small",{className:"iw-text-gray-600",children:["Loading model... ",n.toFixed(1),"%"]})]}),o.jsxs("div",{className:"iw-grid iw-grid-cols-2 iw-gap-2.5 iw-text-sm",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"FPS:"})," ",o.jsx("span",{className:r.fps<15?"iw-text-red-600":r.fps<25?"iw-text-orange-500":"iw-text-green-600",children:r.fps})]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Model:"})," ",t?"✓ Loaded":"✗ Loading"]}),e&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Engagement:"})," ",r.engagement.toFixed(1),"%"]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Looking:"})," ",o.jsx("span",{className:r.isLookingAway?"iw-text-red-600":"iw-text-green-600",children:r.isLookingAway?"Away":"At Screen"})]})]})]}),r.referenceFaceNotDetected&&o.jsxs("div",{className:"iw-text-gray-dark iw-mt-2.5 iw-w-full iw-rounded-md iw-bg-[#ffeb3b] iw-p-2.5 iw-text-sm",children:[o.jsx("strong",{children:"Reference Face Not Detected"}),o.jsx("br",{}),"The previously set reference face is no longer in view."]}),r.multipleFacesDetected&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-red-50 iw-p-2.5 iw-text-sm iw-text-red-700",children:[o.jsx("strong",{children:"Multiple Faces Detected"}),o.jsx("br",{}),"Please ensure only one person is in the frame."]}),!e&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-blue-50 iw-p-2.5 iw-text-sm iw-text-blue-700",children:[o.jsx("strong",{children:"Gaze Analysis Disabled"}),o.jsx("br",{}),"Enable to track engagement and attention levels."]})]})}),id=({showControls:e,isBubbleOpen:t,setIsBubbleOpen:r,setReference:i,clearCache:n,isModelLoaded:s,gazeAnalysisEnabled:a,referenceSet:c,showLandmarks:l,setShowLandmarks:h,showEngagementBar:u,setShowEngagementBar:f,handleToggleGazeAnalysis:w,stats:g,statusMessage:p,loadingProgress:y})=>e?o.jsxs(o.Fragment,{children:[o.jsx("button",{onClick:()=>r(!t),className:"iw-absolute iw-right-4 iw-bottom-4 iw-z-10 iw-flex iw-h-10 iw-w-10 iw-items-center iw-justify-center iw-rounded-full iw-text-white",children:o.jsx(Hl,{className:"iw-size-4.5"})}),t&&o.jsxs("div",{className:"iw-absolute iw-right-4 iw-bottom-16 iw-z-10 iw-max-h-96 iw-w-80 iw-overflow-y-auto iw-rounded-md iw-bg-gray-50 iw-p-4 iw-shadow-lg",children:[o.jsx("h4",{className:"m-0 mb-2.5",children:"Controls"}),o.jsx("button",{onClick:i,disabled:!s||!a,className:`iw-mb-2.5 iw-block iw-w-full iw-rounded border-none iw-px-4 iw-py-2 iw-text-sm iw-text-white ${!s||!a?"iw-cursor-not-allowed iw-bg-gray-400":"iw-cursor-pointer iw-bg-blue-600 hover:iw-bg-blue-700"}`,children:c?"Reference Set ✓":"Set Reference"}),o.jsx("button",{onClick:n,className:"iw-mb-4 iw-block iw-w-full iw-cursor-pointer iw-rounded iw-border-none iw-bg-red-600 iw-px-4 iw-py-2 iw-text-sm iw-text-white hover:iw-bg-red-700",children:"Clear Model Cache"}),o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-2.5",children:[o.jsxs("label",{className:"iw-flex iw-cursor-pointer iw-items-center iw-gap-2",children:[o.jsx("input",{type:"checkbox",checked:a,onChange:m=>w(m.target.checked)}),o.jsx("strong",{children:"Enable Gaze Analysis"})]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:l,onChange:m=>h(m.target.checked),disabled:!a}),"Show Landmarks"]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:u,onChange:m=>f(m.target.checked),disabled:!a}),"Show Engagement Bar"]})]}),c&&o.jsx(rd,{gazeAnalysisEnabled:a,isModelLoaded:s,loadingProgress:y,stats:g,statusMessage:p})]})]}):null;var Zt=typeof self<"u"?self:{};function Vr(e,t){e:{for(var r=["CLOSURE_FLAGS"],i=Zt,n=0;n<r.length;n++)if((i=i[r[n]])==null){r=null;break e}r=i}return(e=r&&r[e])!=null?e:t}function Dt(){throw Error("Invalid UTF8")}function no(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}let yi,pn;const nd=typeof TextDecoder<"u";let sd;const od=typeof TextEncoder<"u";function so(e){if(od)e=(sd||(sd=new TextEncoder)).encode(e);else{let r=0;const i=new Uint8Array(3*e.length);for(let n=0;n<e.length;n++){var t=e.charCodeAt(n);if(t<128)i[r++]=t;else{if(t<2048)i[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&n<e.length){const s=e.charCodeAt(++n);if(s>=56320&&s<=57343){t=1024*(t-55296)+s-56320+65536,i[r++]=t>>18|240,i[r++]=t>>12&63|128,i[r++]=t>>6&63|128,i[r++]=63&t|128;continue}n--}t=65533}i[r++]=t>>12|224,i[r++]=t>>6&63|128}i[r++]=63&t|128}}e=r===i.length?i:i.subarray(0,r)}return e}function oo(e){Zt.setTimeout(()=>{throw e},0)}var mn,ad=Vr(610401301,!1),ao=Vr(748402147,!0),yn=Vr(824648567,!0),bn=Vr(824656860,Vr(1,!0));function co(){var e=Zt.navigator;return e&&(e=e.userAgent)?e:""}const lo=Zt.navigator;function bi(e){return bi[" "](e),e}mn=lo&&lo.userAgentData||null,bi[" "]=function(){};const uo={};let Gr=null;function cd(e){const t=e.length;let r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);const i=new Uint8Array(r);let n=0;return function(s,a){function c(h){for(;l<s.length;){const u=s.charAt(l++),f=Gr[u];if(f!=null)return f;if(!/^[\s\xa0]*$/.test(u))throw Error("Unknown base64 encoding at char: "+u)}return h}ho();let l=0;for(;;){const h=c(-1),u=c(0),f=c(64),w=c(64);if(w===64&&h===-1)break;a(h<<2|u>>4),f!=64&&(a(u<<4&240|f>>2),w!=64&&a(f<<6&192|w))}}(e,function(s){i[n++]=s}),n!==r?i.subarray(0,n):i}function ho(){if(!Gr){Gr={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){const i=e.concat(t[r].split(""));uo[r]=i;for(let n=0;n<i.length;n++){const s=i[n];Gr[s]===void 0&&(Gr[s]=n)}}}}var ld=typeof Uint8Array<"u",fo=!(!(ad&&mn&&mn.brands.length>0)&&(co().indexOf("Trident")!=-1||co().indexOf("MSIE")!=-1))&&typeof btoa=="function";const wo=/[-_.]/g,dd={"-":"+",_:"/",".":"="};function ud(e){return dd[e]||""}function go(e){if(!fo)return cd(e);e=wo.test(e)?e.replace(wo,ud):e,e=atob(e);const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function vn(e){return ld&&e!=null&&e instanceof Uint8Array}var Rt={};function Pt(){return hd||(hd=new it(null,Rt))}function xn(e){po(Rt);var t=e.g;return(t=t==null||vn(t)?t:typeof t=="string"?go(t):null)==null?t:e.g=t}var it=class{h(){return new Uint8Array(xn(this)||0)}constructor(e,t){if(po(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}};let hd,fd;function po(e){if(e!==Rt)throw Error("illegal external caller")}function mo(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function En(e){return mo(e=Error(e),"warning"),e}function er(e,t){if(e!=null){var r=fd??(fd={}),i=r[e]||0;i>=t||(r[e]=i+1,mo(e=Error(),"incident"),oo(e))}}function tr(){return typeof BigInt=="function"}var rr=typeof Symbol=="function"&&typeof Symbol()=="symbol";function nt(e,t,r=!1){return typeof Symbol=="function"&&typeof Symbol()=="symbol"?r&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t}var wd=nt("jas",void 0,!0),yo=nt(void 0,"0di"),jr=nt(void 0,"1oa"),Fe=nt(void 0,Symbol()),gd=nt(void 0,"0ub"),pd=nt(void 0,"0ubs"),_n=nt(void 0,"0ubsb"),md=nt(void 0,"0actk"),ir=nt("m_m","Pa",!0),bo=nt();const vo={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},xo=Object.defineProperties,_=rr?wd:"Ga";var Ot;const Eo=[];function zr(e,t){rr||_ in e||xo(e,vo),e[_]|=t}function de(e,t){rr||_ in e||xo(e,vo),e[_]=t}function $r(e){return zr(e,34),e}function Wr(e){return zr(e,8192),e}de(Eo,7),Ot=Object.freeze(Eo);var nr={};function Le(e,t){return t===void 0?e.h!==Bt&&!!(2&(0|e.v[_])):!!(2&t)&&e.h!==Bt}const Bt={};function kn(e,t){if(e!=null){if(typeof e=="string")e=e?new it(e,Rt):Pt();else if(e.constructor!==it)if(vn(e))e=e.length?new it(new Uint8Array(e),Rt):Pt();else{if(!t)throw Error();e=void 0}}return e}class _o{constructor(t,r,i){this.g=t,this.h=r,this.l=i}next(){const t=this.g.next();return t.done||(t.value=this.h.call(this.l,t.value)),t}[Symbol.iterator](){return this}}var yd=Object.freeze({});function ko(e,t,r){const i=128&t?0:-1,n=e.length;var s;(s=!!n)&&(s=(s=e[n-1])!=null&&typeof s=="object"&&s.constructor===Object);const a=n+(s?-1:0);for(t=128&t?1:0;t<a;t++)r(t-i,e[t]);if(s){e=e[n-1];for(const c in e)!isNaN(c)&&r(+c,e[c])}}var So={};function sr(e){return 128&e?So:void 0}function vi(e){return e.Na=!0,e}var bd=vi(e=>typeof e=="number"),Co=vi(e=>typeof e=="string"),vd=vi(e=>typeof e=="boolean"),xi=typeof Zt.BigInt=="function"&&typeof Zt.BigInt(0)=="bigint";function Me(e){var t=e;if(Co(t)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(t))throw Error(String(t))}else if(bd(t)&&!Number.isSafeInteger(t))throw Error(String(t));return xi?BigInt(e):e=vd(e)?e?"1":"0":Co(e)?e.trim()||"0":String(e)}var Sn=vi(e=>xi?e>=Ed&&e<=kd:e[0]==="-"?Ao(e,xd):Ao(e,_d));const xd=Number.MIN_SAFE_INTEGER.toString(),Ed=xi?BigInt(Number.MIN_SAFE_INTEGER):void 0,_d=Number.MAX_SAFE_INTEGER.toString(),kd=xi?BigInt(Number.MAX_SAFE_INTEGER):void 0;function Ao(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){const i=e[r],n=t[r];if(i>n)return!1;if(i<n)return!0}}const Sd=typeof Uint8Array.prototype.slice=="function";let Cd,R=0,ae=0;function To(e){const t=e>>>0;R=t,ae=(e-t)/4294967296>>>0}function or(e){if(e<0){To(-e);const[t,r]=In(R,ae);R=t>>>0,ae=r>>>0}else To(e)}function Cn(e){const t=Cd||(Cd=new DataView(new ArrayBuffer(8)));t.setFloat32(0,+e,!0),ae=0,R=t.getUint32(0,!0)}function An(e,t){const r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Hr(e,t)}function Ad(e,t){return Me(tr()?BigInt.asUintN(64,(BigInt(t>>>0)<<BigInt(32))+BigInt(e>>>0)):Hr(e,t))}function Tn(e,t){const r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=An(e,t))=="number"?r?-e:e:r?"-"+e:e}function No(e,t){return tr()?Me(BigInt.asIntN(64,(BigInt.asUintN(32,BigInt(t))<<BigInt(32))+BigInt.asUintN(32,BigInt(e)))):Me(Nn(e,t))}function Hr(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else tr()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+Io(r)+Io(e));return r}function Io(e){return e=String(e),"0000000".slice(e.length)+e}function Nn(e,t){if(2147483648&t)if(tr())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{const[r,i]=In(e,t);e="-"+Hr(r,i)}else e=Hr(e,t);return e}function Ei(e){if(e.length<16)or(Number(e));else if(tr())e=BigInt(e),R=Number(e&BigInt(4294967295))>>>0,ae=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+(e[0]==="-");ae=R=0;const r=e.length;for(let i=t,n=(r-t)%6+t;n<=r;i=n,n+=6){const s=Number(e.slice(i,n));ae*=1e6,R=1e6*R+s,R>=4294967296&&(ae+=Math.trunc(R/4294967296),ae>>>=0,R>>>=0)}if(t){const[i,n]=In(R,ae);R=i,ae=n}}}function In(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function Je(e){return Array.prototype.slice.call(e)}const qr=typeof BigInt=="function"?BigInt.asIntN:void 0,Td=typeof BigInt=="function"?BigInt.asUintN:void 0,Ut=Number.isSafeInteger,_i=Number.isFinite,ar=Math.trunc,Nd=Me(0);function Kr(e){if(e!=null&&typeof e!="number")throw Error(`Value of float/double field must be a number, found ${typeof e}: ${e}`);return e}function st(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function Yr(e){if(e!=null&&typeof e!="boolean"){var t=typeof e;throw Error(`Expected boolean but got ${t!="object"?t:e?Array.isArray(e)?"array":t:"null"}: ${e}`)}return e}function Fo(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}const Id=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Xr(e){switch(typeof e){case"bigint":return!0;case"number":return _i(e);case"string":return Id.test(e);default:return!1}}function cr(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return _i(e)?0|e:void 0}function Lo(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return _i(e)?e>>>0:void 0}function Mo(e){const t=e.length;return(e[0]==="-"?t<20||t===20&&e<="-9223372036854775808":t<19||t===19&&e<="9223372036854775807")?e:(Ei(e),Nn(R,ae))}function Fn(e){return e=ar(e),Ut(e)||(or(e),e=Tn(R,ae)),e}function Do(e){var t=ar(Number(e));return Ut(t)?String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),Mo(e))}function Po(e){var t=ar(Number(e));return Ut(t)?Me(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),tr()?Me(qr(64,BigInt(e))):Me(Mo(e)))}function Oo(e){return Ut(e)?e=Me(Fn(e)):(e=ar(e),Ut(e)?e=String(e):(or(e),e=Nn(R,ae)),e=Me(e)),e}function Fd(e){return e==null?e:typeof e=="bigint"?(Sn(e)?e=Number(e):(e=qr(64,e),e=Sn(e)?Number(e):String(e)),e):Xr(e)?typeof e=="number"?Fn(e):Do(e):void 0}function ki(e){const t=typeof e;return e==null?e:t==="bigint"?Me(qr(64,e)):Xr(e)?t==="string"?Po(e):Oo(e):void 0}function Bo(e){if(typeof e!="string")throw Error();return e}function Qr(e){if(e!=null&&typeof e!="string")throw Error();return e}function ye(e){return e==null||typeof e=="string"?e:void 0}function Ln(e,t,r,i){return e!=null&&e[ir]===nr?e:Array.isArray(e)?((i=(r=0|e[_])|32&i|2&i)!==r&&de(e,i),new t(e)):(r?2&i?((e=t[yo])||($r((e=new t).v),e=t[yo]=e),t=e):t=new t:t=void 0,t)}function Ld(e,t,r){if(t)e:{if(!Xr(t=e))throw En("int64");switch(typeof t){case"string":t=Po(t);break e;case"bigint":t=Me(qr(64,t));break e;default:t=Oo(t)}}else t=ki(e);return(e=t)==null?r?Nd:void 0:e}const Md={};let Dd=function(){try{return bi(new class extends Map{constructor(){super()}}),!1}catch{return!0}}();class Mn{constructor(){this.g=new Map}get(t){return this.g.get(t)}set(t,r){return this.g.set(t,r),this.size=this.g.size,this}delete(t){return t=this.g.delete(t),this.size=this.g.size,t}clear(){this.g.clear(),this.size=this.g.size}has(t){return this.g.has(t)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(t,r){return this.g.forEach(t,r)}[Symbol.iterator](){return this.entries()}}const Pd=Dd?(Object.setPrototypeOf(Mn.prototype,Map.prototype),Object.defineProperties(Mn.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),Mn):class extends Map{constructor(){super()}};function Uo(e){return e}function Dn(e){if(2&e.J)throw Error("Cannot mutate an immutable Map")}var ht=class extends Pd{constructor(e,t,r=Uo,i=Uo){super(),this.J=0|e[_],this.K=t,this.S=r,this.fa=this.K?Od:i;for(let n=0;n<e.length;n++){const s=e[n],a=r(s[0],!1,!0);let c=s[1];t?c===void 0&&(c=null):c=i(s[1],!1,!0,void 0,void 0,this.J),super.set(a,c)}}V(e){return Wr(Array.from(super.entries(),e))}clear(){Dn(this),super.clear()}delete(e){return Dn(this),super.delete(this.S(e,!0,!1))}entries(){if(this.K){var e=super.keys();e=new _o(e,Bd,this)}else e=super.entries();return e}values(){if(this.K){var e=super.keys();e=new _o(e,ht.prototype.get,this)}else e=super.values();return e}forEach(e,t){this.K?super.forEach((r,i,n)=>{e.call(t,n.get(i),i,n)}):super.forEach(e,t)}set(e,t){return Dn(this),(e=this.S(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.fa(t,!0,!0,this.K,!1,this.J))}Ma(e){const t=this.S(e[0],!1,!0);e=e[1],e=this.K?e===void 0?null:e:this.fa(e,!1,!0,void 0,!1,this.J),super.set(t,e)}has(e){return super.has(this.S(e,!1,!1))}get(e){e=this.S(e,!1,!1);const t=super.get(e);if(t!==void 0){var r=this.K;return r?((r=this.fa(t,!1,!0,r,this.ra,this.J))!==t&&super.set(e,r),r):t}}[Symbol.iterator](){return this.entries()}};function Od(e,t,r,i,n,s){return e=Ln(e,i,r,s),n&&(e=Bn(e)),e}function Bd(e){return[e,this.get(e)]}let Ud;function Vo(){return Ud||(Ud=new ht($r([]),void 0,void 0,void 0,Md))}function Si(e){return Fe?e[Fe]:void 0}function Ci(e,t){for(const r in e)!isNaN(r)&&t(e,+r,e[r])}ht.prototype.toJSON=void 0;var Pn=class{};const Vd={Ka:!0};function Gd(e,t){t<100||er(pd,1)}function Ai(e,t,r,i){const n=i!==void 0;i=!!i;var s,a=Fe;!n&&rr&&a&&(s=e[a])&&Ci(s,Gd),a=[];var c=e.length;let l;s=4294967295;let h=!1;const u=!!(64&t),f=u?128&t?0:-1:void 0;1&t||(l=c&&e[c-1],l!=null&&typeof l=="object"&&l.constructor===Object?s=--c:l=void 0,!u||128&t||n||(h=!0,s=s-f+f)),t=void 0;for(var w=0;w<c;w++){let g=e[w];if(g!=null&&(g=r(g,i))!=null)if(u&&w>=s){const p=w-f;(t??(t={}))[p]=g}else a[w]=g}if(l)for(let g in l){if((c=l[g])==null||(c=r(c,i))==null)continue;let p;w=+g,u&&!Number.isNaN(w)&&(p=w+f)<s?a[p]=c:(t??(t={}))[g]=c}return t&&(h?a.push(t):a[s]=t),n&&Fe&&(e=Si(e))&&e instanceof Pn&&(a[Fe]=function(g){const p=new Pn;return Ci(g,(y,m,b)=>{p[m]=Je(b)}),p.da=g.da,p}(e)),a}function jd(e){return e[0]=Jr(e[0]),e[1]=Jr(e[1]),e}function Jr(e){switch(typeof e){case"number":return Number.isFinite(e)?e:""+e;case"bigint":return Sn(e)?Number(e):""+e;case"boolean":return e?1:0;case"object":if(Array.isArray(e)){var t=0|e[_];return e.length===0&&1&t?void 0:Ai(e,t,Jr)}if(e!=null&&e[ir]===nr)return Go(e);if(e instanceof it){if((t=e.g)==null)e="";else if(typeof t=="string")e=t;else{if(fo){for(var r="",i=0,n=t.length-10240;i<n;)r+=String.fromCharCode.apply(null,t.subarray(i,i+=10240));r+=String.fromCharCode.apply(null,i?t.subarray(i):t),t=btoa(r)}else{r===void 0&&(r=0),ho(),r=uo[r],i=Array(Math.floor(t.length/3)),n=r[64]||"";let h=0,u=0;for(;h<t.length-2;h+=3){var s=t[h],a=t[h+1],c=t[h+2],l=r[s>>2];s=r[(3&s)<<4|a>>4],a=r[(15&a)<<2|c>>6],c=r[63&c],i[u++]=l+s+a+c}switch(l=0,c=n,t.length-h){case 2:c=r[(15&(l=t[h+1]))<<2]||n;case 1:t=t[h],i[u]=r[t>>2]+r[(3&t)<<4|l>>4]+c+n}t=i.join("")}e=e.g=t}return e}return e instanceof ht?e=e.size!==0?e.V(jd):void 0:void 0}return e}function Go(e){return Ai(e=e.v,0|e[_],Jr)}let zd,$d;function Vt(e,t){return jo(e,t[0],t[1])}function jo(e,t,r,i=0){if(e==null){var n=32;r?(e=[r],n|=128):e=[],t&&(n=-16760833&n|(1023&t)<<14)}else{if(!Array.isArray(e))throw Error("narr");if(n=0|e[_],ao&&1&n)throw Error("rfarr");if(2048&n&&!(2&n)&&function(){if(ao)throw Error("carr");er(md,5)}(),256&n)throw Error("farr");if(64&n)return(n|i)!==n&&de(e,n|i),e;if(r&&(n|=128,r!==e[0]))throw Error("mid");e:{n|=64;var s=(r=e).length;if(s){var a=s-1;const l=r[a];if(l!=null&&typeof l=="object"&&l.constructor===Object){if((a-=t=128&n?0:-1)>=1024)throw Error("pvtlmt");for(var c in l)(s=+c)<a&&(r[s+t]=l[c],delete l[c]);n=-16760833&n|(1023&a)<<14;break e}}if(t){if((c=Math.max(t,s-(128&n?0:-1)))>1024)throw Error("spvt");n=-16760833&n|(1023&c)<<14}}}return de(e,64|n|i),e}function Wd(e,t){if(typeof e!="object")return e;if(Array.isArray(e)){var r=0|e[_];return e.length===0&&1&r?void 0:zo(e,r,t)}if(e!=null&&e[ir]===nr)return $o(e);if(e instanceof ht){if(2&(t=e.J))return e;if(!e.size)return;if(r=$r(e.V()),e.K)for(e=0;e<r.length;e++){const i=r[e];let n=i[1];n=n==null||typeof n!="object"?void 0:n!=null&&n[ir]===nr?$o(n):Array.isArray(n)?zo(n,0|n[_],!!(32&t)):void 0,i[1]=n}return r}return e instanceof it?e:void 0}function zo(e,t,r){return 2&t||(!r||4096&t||16&t?e=lr(e,t,!1,r&&!(16&t)):(zr(e,34),4&t&&Object.freeze(e))),e}function On(e,t,r){return e=new e.constructor(t),r&&(e.h=Bt),e.m=Bt,e}function $o(e){const t=e.v,r=0|t[_];return Le(e,r)?e:Un(e,t,r)?On(e,t):lr(t,r)}function lr(e,t,r,i){return i??(i=!!(34&t)),e=Ai(e,t,Wd,i),i=32,r&&(i|=2),de(e,t=16769217&t|i),e}function Bn(e){const t=e.v,r=0|t[_];return Le(e,r)?Un(e,t,r)?On(e,t,!0):new e.constructor(lr(t,r,!1)):e}function dr(e){if(e.h!==Bt)return!1;var t=e.v;return zr(t=lr(t,0|t[_]),2048),e.v=t,e.h=void 0,e.m=void 0,!0}function ur(e){if(!dr(e)&&Le(e,0|e.v[_]))throw Error()}function Gt(e,t){t===void 0&&(t=0|e[_]),32&t&&!(4096&t)&&de(e,4096|t)}function Un(e,t,r){return!!(2&r)||!(!(32&r)||4096&r)&&(de(t,2|r),e.h=Bt,!0)}const Hd=Me(0),Et={};function K(e,t,r,i,n){if((t=ft(e.v,t,r,n))!==null||i&&e.m!==Bt)return t}function ft(e,t,r,i){if(t===-1)return null;const n=t+(r?0:-1),s=e.length-1;let a,c;if(!(s<1+(r?0:-1))){if(n>=s)if(a=e[s],a!=null&&typeof a=="object"&&a.constructor===Object)r=a[t],c=!0;else{if(n!==s)return;r=a}else r=e[n];if(i&&r!=null){if((i=i(r))==null)return i;if(!Object.is(i,r))return c?a[t]=i:e[n]=i,i}return r}}function $(e,t,r,i){ur(e),ue(e=e.v,0|e[_],t,r,i)}function ue(e,t,r,i,n){const s=r+(n?0:-1);var a=e.length-1;if(a>=1+(n?0:-1)&&s>=a){const c=e[a];if(c!=null&&typeof c=="object"&&c.constructor===Object)return c[r]=i,t}return s<=a?(e[s]=i,t):(i!==void 0&&(r>=(a=(t??(t=0|e[_]))>>14&1023||536870912)?i!=null&&(e[a+(n?0:-1)]={[r]:i}):e[s]=i),t)}function jt(){return yd===void 0?2:4}function zt(e,t,r,i,n){let s=e.v,a=0|s[_];i=Le(e,a)?1:i,n=!!n||i===3,i===2&&dr(e)&&(s=e.v,a=0|s[_]);let c=(e=Vn(s,t))===Ot?7:0|e[_],l=Gn(c,a);var h=!(4&l);if(h){4&l&&(e=Je(e),c=0,l=Wt(l,a),a=ue(s,a,t,e));let u=0,f=0;for(;u<e.length;u++){const w=r(e[u]);w!=null&&(e[f++]=w)}f<u&&(e.length=f),r=-513&(4|l),l=r&=-1025,l&=-4097}return l!==c&&(de(e,l),2&l&&Object.freeze(e)),Wo(e,l,s,a,t,i,h,n)}function Wo(e,t,r,i,n,s,a,c){let l=t;return s===1||s===4&&(2&t||!(16&t)&&32&i)?$t(t)||((t|=!e.length||a&&!(4096&t)||32&i&&!(4096&t||16&t)?2:256)!==l&&de(e,t),Object.freeze(e)):(s===2&&$t(t)&&(e=Je(e),l=0,t=Wt(t,i),i=ue(r,i,n,e)),$t(t)||(c||(t|=16),t!==l&&de(e,t))),2&t||!(4096&t||16&t)||Gt(r,i),e}function Vn(e,t,r){return e=ft(e,t,r),Array.isArray(e)?e:Ot}function Gn(e,t){return 2&t&&(e|=2),1|e}function $t(e){return!!(2&e)&&!!(4&e)||!!(256&e)}function Ho(e){return kn(e,!0)}function qo(e){e=Je(e);for(let t=0;t<e.length;t++){const r=e[t]=Je(e[t]);Array.isArray(r[1])&&(r[1]=$r(r[1]))}return Wr(e)}function _t(e,t,r,i){ur(e),ue(e=e.v,0|e[_],t,(i==="0"?Number(r)===0:r===i)?void 0:r)}function hr(e,t,r){if(2&t)throw Error();const i=sr(t);let n=Vn(e,r,i),s=n===Ot?7:0|n[_],a=Gn(s,t);return(2&a||$t(a)||16&a)&&(a===s||$t(a)||de(n,a),n=Je(n),s=0,a=Wt(a,t),ue(e,t,r,n,i)),a&=-13,a!==s&&de(n,a),n}function jn(e,t){var r=Za;return $n(zn(e=e.v),e,void 0,r)===t?t:-1}function zn(e){if(rr)return e[jr]??(e[jr]=new Map);if(jr in e)return e[jr];const t=new Map;return Object.defineProperty(e,jr,{value:t}),t}function Ko(e,t,r,i,n){const s=zn(e),a=$n(s,e,t,r,n);return a!==i&&(a&&(t=ue(e,t,a,void 0,n)),s.set(r,i)),t}function $n(e,t,r,i,n){let s=e.get(i);if(s!=null)return s;s=0;for(let a=0;a<i.length;a++){const c=i[a];ft(t,c,n)!=null&&(s!==0&&(r=ue(t,r,s,void 0,n)),s=c)}return e.set(i,s),s}function Wn(e,t,r){let i=0|e[_];const n=sr(i),s=ft(e,r,n);let a;if(s!=null&&s[ir]===nr){if(!Le(s))return dr(s),s.v;a=s.v}else Array.isArray(s)&&(a=s);if(a){const c=0|a[_];2&c&&(a=lr(a,c))}return a=Vt(a,t),a!==s&&ue(e,i,r,a,n),a}function Yo(e,t,r,i,n){let s=!1;if((i=ft(e,i,n,a=>{const c=Ln(a,r,!1,t);return s=c!==a&&c!=null,c}))!=null)return s&&!Le(i)&&Gt(e,t),i}function V(e,t,r,i){let n=e.v,s=0|n[_];if((t=Yo(n,s,t,r,i))==null)return t;if(s=0|n[_],!Le(e,s)){const a=Bn(t);a!==t&&(dr(e)&&(n=e.v,s=0|n[_]),s=ue(n,s,r,t=a,i),Gt(n,s))}return t}function Xo(e,t,r,i,n,s,a,c){var l=Le(e,r);s=l?1:s,a=!!a||s===3,l=c&&!l,(s===2||l)&&dr(e)&&(r=0|(t=e.v)[_]);var h=(e=Vn(t,n))===Ot?7:0|e[_],u=Gn(h,r);if(c=!(4&u)){var f=e,w=r;const g=!!(2&u);g&&(w|=2);let p=!g,y=!0,m=0,b=0;for(;m<f.length;m++){const v=Ln(f[m],i,!1,w);if(v instanceof i){if(!g){const F=Le(v);p&&(p=!F),y&&(y=F)}f[b++]=v}}b<m&&(f.length=b),u|=4,u=y?-4097&u:4096|u,u=p?8|u:-9&u}if(u!==h&&(de(e,u),2&u&&Object.freeze(e)),l&&!(8&u||!e.length&&(s===1||s===4&&(2&u||!(16&u)&&32&r)))){for($t(u)&&(e=Je(e),u=Wt(u,r),r=ue(t,r,n,e)),i=e,l=u,h=0;h<i.length;h++)(f=i[h])!==(u=Bn(f))&&(i[h]=u);l|=8,de(e,u=l=i.length?4096|l:-4097&l)}return Wo(e,u,t,r,n,s,c,a)}function wt(e,t,r){const i=e.v;return Xo(e,i,0|i[_],t,r,jt(),!1,!0)}function Qo(e){return e==null&&(e=void 0),e}function I(e,t,r,i,n){return $(e,r,i=Qo(i),n),i&&!Le(i)&&Gt(e.v),e}function Zr(e,t,r,i){e:{var n=i=Qo(i);ur(e);const s=e.v;let a=0|s[_];if(n==null){const c=zn(s);if($n(c,s,a,r)!==t)break e;c.set(r,0)}else a=Ko(s,a,r,t);ue(s,a,t,n)}i&&!Le(i)&&Gt(e.v)}function Wt(e,t){return-273&(2&t?2|e:-3&e)}function Hn(e,t,r,i){var n=i;ur(e),e=Xo(e,i=e.v,0|i[_],r,t,2,!0),n=n??new r,e.push(n),t=r=e===Ot?7:0|e[_],(n=Le(n))?(r&=-9,e.length===1&&(r&=-4097)):r|=4096,r!==t&&de(e,r),n||Gt(i)}function We(e,t,r){return cr(K(e,t,void 0,r))}function Jo(e){return(bn?K(e,2,void 0,void 0,ki):ki(K(e,2)))??Hd}function ne(e,t){return K(e,t,void 0,void 0,st)??0}function gt(e,t,r){if(r!=null){if(typeof r!="number"||!_i(r))throw En("int32");r|=0}$(e,t,r)}function A(e,t,r){$(e,t,Kr(r))}function De(e,t,r){_t(e,t,Qr(r),"")}function Ti(e,t,r){{ur(e);const a=e.v;let c=0|a[_];if(r==null)ue(a,c,t);else{var i=e=r===Ot?7:0|r[_],n=$t(e),s=n||Object.isFrozen(r);for(n||(e=0),s||(r=Je(r),i=0,e=Wt(e,c),s=!1),e|=5,e|=(4&e?512&e?512:1024&e?1024:0:void 0)??(bn?1024:0),n=0;n<r.length;n++){const l=r[n],h=Bo(l);Object.is(l,h)||(s&&(r=Je(r),i=0,e=Wt(e,c),s=!1),r[n]=h)}e!==i&&(s&&(r=Je(r),e=Wt(e,c)),de(r,e)),ue(a,c,t,r)}}}function Ni(e,t,r){ur(e),zt(e,t,ye,2,!0).push(Bo(r))}var fr=class{constructor(e,t,r){if(this.buffer=e,r&&!t)throw Error();this.g=t}};function qn(e,t){if(typeof e=="string")return new fr(go(e),t);if(Array.isArray(e))return new fr(new Uint8Array(e),t);if(e.constructor===Uint8Array)return new fr(e,!1);if(e.constructor===ArrayBuffer)return e=new Uint8Array(e),new fr(e,!1);if(e.constructor===it)return t=xn(e)||new Uint8Array(0),new fr(t,!0,e);if(e instanceof Uint8Array)return e=e.constructor===Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new fr(e,!1);throw Error()}function wr(e,t){let r,i=0,n=0,s=0;const a=e.h;let c=e.g;do r=a[c++],i|=(127&r)<<s,s+=7;while(s<32&&128&r);if(s>32)for(n|=(127&r)>>4,s=3;s<32&&128&r;s+=7)r=a[c++],n|=(127&r)<<s;if(Ht(e,c),!(128&r))return t(i>>>0,n>>>0);throw Error()}function Kn(e){let t=0,r=e.g;const i=r+10,n=e.h;for(;r<i;){const s=n[r++];if(t|=s,(128&s)==0)return Ht(e,r),!!(127&t)}throw Error()}function kt(e){const t=e.h;let r=e.g,i=t[r++],n=127&i;if(128&i&&(i=t[r++],n|=(127&i)<<7,128&i&&(i=t[r++],n|=(127&i)<<14,128&i&&(i=t[r++],n|=(127&i)<<21,128&i&&(i=t[r++],n|=i<<28,128&i&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw Error();return Ht(e,r),n}function pt(e){return kt(e)>>>0}function Ii(e){var t=e.h;const r=e.g;var i=t[r],n=t[r+1];const s=t[r+2];return t=t[r+3],Ht(e,e.g+4),e=2*((n=(i<<0|n<<8|s<<16|t<<24)>>>0)>>31)+1,i=n>>>23&255,n&=8388607,i==255?n?NaN:e*(1/0):i==0?1401298464324817e-60*e*n:e*Math.pow(2,i-150)*(n+8388608)}function qd(e){return kt(e)}function Ht(e,t){if(e.g=t,t>e.l)throw Error()}function Zo(e,t){if(t<0)throw Error();const r=e.g;if((t=r+t)>e.l)throw Error();return e.g=t,r}function Ro(e,t){if(t==0)return Pt();var r=Zo(e,t);return e.Y&&e.j?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):Sd?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Pt():new it(r,Rt)}var ea=[];function ta(e,t,r,i){if(Mi.length){const n=Mi.pop();return n.o(i),n.g.init(e,t,r,i),n}return new Kd(e,t,r,i)}function ra(e){e.g.clear(),e.l=-1,e.h=-1,Mi.length<100&&Mi.push(e)}function ia(e){var t=e.g;if(t.g==t.l)return!1;e.m=e.g.g;var r=pt(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5)||t<1)throw Error();return e.l=t,e.h=r,!0}function Fi(e){switch(e.h){case 0:e.h!=0?Fi(e):Kn(e.g);break;case 1:Ht(e=e.g,e.g+8);break;case 2:if(e.h!=2)Fi(e);else{var t=pt(e.g);Ht(e=e.g,e.g+t)}break;case 5:Ht(e=e.g,e.g+4);break;case 3:for(t=e.l;;){if(!ia(e))throw Error();if(e.h==4){if(e.l!=t)throw Error();break}Fi(e)}break;default:throw Error()}}function Rr(e,t,r){const i=e.g.l;var n=pt(e.g);let s=(n=e.g.g+n)-i;if(s<=0&&(e.g.l=n,r(t,e,void 0,void 0,void 0),s=n-e.g.g),s)throw Error();return e.g.g=n,e.g.l=i,t}function Yn(e){var t=pt(e.g),r=Zo(e=e.g,t);if(e=e.h,nd){var i,n=e;(i=pn)||(i=pn=new TextDecoder("utf-8",{fatal:!0})),t=r+t,n=r===0&&t===n.length?n:n.subarray(r,t);try{var s=i.decode(n)}catch(c){if(yi===void 0){try{i.decode(new Uint8Array([128]))}catch{}try{i.decode(new Uint8Array([97])),yi=!0}catch{yi=!1}}throw!yi&&(pn=void 0),c}}else{t=(s=r)+t,r=[];let c,l=null;for(;s<t;){var a=e[s++];a<128?r.push(a):a<224?s>=t?Dt():(c=e[s++],a<194||(192&c)!=128?(s--,Dt()):r.push((31&a)<<6|63&c)):a<240?s>=t-1?Dt():(c=e[s++],(192&c)!=128||a===224&&c<160||a===237&&c>=160||(192&(i=e[s++]))!=128?(s--,Dt()):r.push((15&a)<<12|(63&c)<<6|63&i)):a<=244?s>=t-2?Dt():(c=e[s++],(192&c)!=128||c-144+(a<<28)>>30||(192&(i=e[s++]))!=128||(192&(n=e[s++]))!=128?(s--,Dt()):(a=(7&a)<<18|(63&c)<<12|(63&i)<<6|63&n,a-=65536,r.push(55296+(a>>10&1023),56320+(1023&a)))):Dt(),r.length>=8192&&(l=no(l,r),r.length=0)}s=no(l,r)}return s}function na(e){const t=pt(e.g);return Ro(e.g,t)}function Li(e,t,r){var i=pt(e.g);for(i=e.g.g+i;e.g.g<i;)r.push(t(e.g))}var Kd=class{constructor(e,t,r,i){if(ea.length){const n=ea.pop();n.init(e,t,r,i),e=n}else e=new class{constructor(n,s,a,c){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.init(n,s,a,c)}init(n,s,a,{Y:c=!1,ea:l=!1}={}){this.Y=c,this.ea=l,n&&(n=qn(n,this.ea),this.h=n.buffer,this.j=n.g,this.m=s||0,this.l=a!==void 0?this.m+a:this.h.length,this.g=this.m)}clear(){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.Y=!1}}(e,t,r,i);this.g=e,this.m=this.g.g,this.h=this.l=-1,this.o(i)}o({ha:e=!1}={}){this.ha=e}},Mi=[];function sa(e){return e?/^\d+$/.test(e)?(Ei(e),new Xn(R,ae)):null:Yd||(Yd=new Xn(0,0))}var Xn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Yd;function oa(e){return e?/^-?\d+$/.test(e)?(Ei(e),new Qn(R,ae)):null:Xd||(Xd=new Qn(0,0))}var Qn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Xd;function gr(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function pr(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Di(e,t){if(t>=0)pr(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Jn(e){var t=R;e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function mr(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function He(e,t,r){pr(e.g,8*t+r)}function Zn(e,t){return He(e,t,2),t=e.g.end(),mr(e,t),t.push(e.h),t}function Rn(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function Pi(e,t,r){He(e,t,2),pr(e.g,r.length),mr(e,e.g.end()),mr(e,r)}function Oi(e,t,r,i){r!=null&&(t=Zn(e,t),i(r,e),Rn(e,t))}function ot(){const e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var es=ot(),aa=ot(),ts=ot(),rs=ot(),ca=ot(),la=ot(),Qd=ot(),Bi=ot(),da=ot(),ua=ot();function at(e,t,r){var i=e.v;Fe&&Fe in i&&(i=i[Fe])&&delete i[t.g],t.h?t.j(e,t.h,t.g,r,t.l):t.j(e,t.g,r,t.l)}var k=class{constructor(e,t){this.v=jo(e,t,void 0,2048)}toJSON(){return Go(this)}j(){var n;var e=Lu,t=this.v,r=e.g,i=Fe;if(rr&&i&&((n=t[i])==null?void 0:n[r])!=null&&er(gd,3),t=e.g,bo&&Fe&&bo===void 0&&(i=(r=this.v)[Fe])&&(i=i.da))try{i(r,t,Vd)}catch(s){oo(s)}return e.h?e.m(this,e.h,e.g,e.l):e.m(this,e.g,e.defaultValue,e.l)}clone(){const e=this.v,t=0|e[_];return Un(this,e,t)?On(this,e,!0):new this.constructor(lr(e,t,!1))}};k.prototype[ir]=nr,k.prototype.toString=function(){return this.v.toString()};var yr=class{constructor(e,t,r){this.g=e,this.h=t,e=es,this.l=!!e&&r===e||!1}};function Ui(e,t){return new yr(e,t,es)}function ha(e,t,r,i,n){Oi(e,r,ya(t,i),n)}const Jd=Ui(function(e,t,r,i,n){return e.h===2&&(Rr(e,Wn(t,i,r),n),!0)},ha),Zd=Ui(function(e,t,r,i,n){return e.h===2&&(Rr(e,Wn(t,i,r),n),!0)},ha);var Vi=Symbol(),Gi=Symbol(),is=Symbol(),fa=Symbol(),wa=Symbol();let ga,pa;function qt(e,t,r,i){var n=i[e];if(n)return n;(n={}).qa=i,n.T=function(f){switch(typeof f){case"boolean":return zd||(zd=[0,void 0,!0]);case"number":return f>0?void 0:f===0?$d||($d=[0,void 0]):[-f,void 0];case"string":return[0,f];case"object":return f}}(i[0]);var s=i[1];let a=1;s&&s.constructor===Object&&(n.ba=s,typeof(s=i[++a])=="function"&&(n.ma=!0,ga??(ga=s),pa??(pa=i[a+1]),s=i[a+=2]));const c={};for(;s&&Array.isArray(s)&&s.length&&typeof s[0]=="number"&&s[0]>0;){for(var l=0;l<s.length;l++)c[s[l]]=s;s=i[++a]}for(l=1;s!==void 0;){let f;typeof s=="number"&&(l+=s,s=i[++a]);var h=void 0;if(s instanceof yr?f=s:(f=Jd,a--),f==null?void 0:f.l){s=i[++a],h=i;var u=a;typeof s=="function"&&(s=s(),h[u]=s),h=s}for(u=l+1,typeof(s=i[++a])=="number"&&s<0&&(u-=s,s=i[++a]);l<u;l++){const w=c[l];h?r(n,l,f,h,w):t(n,l,f,w)}}return i[e]=n}function ma(e){return Array.isArray(e)?e[0]instanceof yr?e:[Zd,e]:[e,void 0]}function ya(e,t){return e instanceof k?e.v:Array.isArray(e)?Vt(e,t):void 0}function ns(e,t,r,i){const n=r.g;e[t]=i?(s,a,c)=>n(s,a,c,i):n}function ss(e,t,r,i,n){const s=r.g;let a,c;e[t]=(l,h,u)=>s(l,h,u,c||(c=qt(Gi,ns,ss,i).T),a||(a=os(i)),n)}function os(e){let t=e[is];if(t!=null)return t;const r=qt(Gi,ns,ss,e);return t=r.ma?(i,n)=>ga(i,n,r):(i,n)=>{for(;ia(n)&&n.h!=4;){var s=n.l,a=r[s];if(a==null){var c=r.ba;c&&(c=c[s])&&(c=eu(c))!=null&&(a=r[s]=c)}if(a==null||!a(n,i,s)){if(a=(c=n).m,Fi(c),c.ha)var l=void 0;else l=c.g.g-a,c.g.g=a,l=Ro(c.g,l);a=void 0,c=i,l&&((a=c[Fe]??(c[Fe]=new Pn))[s]??(a[s]=[])).push(l)}}return(i=Si(i))&&(i.da=r.qa[wa]),!0},e[is]=t,e[wa]=Rd.bind(e),t}function Rd(e,t,r,i){var n=this[Gi];const s=this[is],a=Vt(void 0,n.T),c=Si(e);if(c){var l=!1,h=n.ba;if(h){if(n=(u,f,w)=>{if(w.length!==0)if(h[f])for(const g of w){u=ta(g);try{l=!0,s(a,u)}finally{ra(u)}}else i==null||i(e,f,w)},t==null)Ci(c,n);else if(c!=null){const u=c[t];u&&n(c,t,u)}if(l){let u=0|e[_];if(2&u&&2048&u&&!(r!=null&&r.Ka))throw Error();const f=sr(u),w=(g,p)=>{if(ft(e,g,f)!=null){if((r==null?void 0:r.Qa)===1)return;throw Error()}p!=null&&(u=ue(e,u,g,p,f)),delete c[g]};t==null?ko(a,0|a[_],(g,p)=>{w(g,p)}):w(t,ft(a,t,f))}}}}function eu(e){const t=(e=ma(e))[0].g;if(e=e[1]){const r=os(e),i=qt(Gi,ns,ss,e).T;return(n,s,a)=>t(n,s,a,i,r)}return t}function ji(e,t,r){e[t]=r.h}function zi(e,t,r,i){let n,s;const a=r.h;e[t]=(c,l,h)=>a(c,l,h,s||(s=qt(Vi,ji,zi,i).T),n||(n=ba(i)))}function ba(e){let t=e[fa];if(!t){const r=qt(Vi,ji,zi,e);t=(i,n)=>va(i,n,r),e[fa]=t}return t}function va(e,t,r){ko(e,0|e[_],(i,n)=>{if(n!=null){var s=function(a,c){var l=a[c];if(l)return l;if((l=a.ba)&&(l=l[c])){var h=(l=ma(l))[0].h;if(l=l[1]){const u=ba(l),f=qt(Vi,ji,zi,l).T;l=a.ma?pa(f,u):(w,g,p)=>h(w,g,p,f,u)}else l=h;return a[c]=l}}(r,i);s?s(t,n,i):i<500||er(_n,3)}}),(e=Si(e))&&Ci(e,(i,n,s)=>{for(mr(t,t.g.end()),i=0;i<s.length;i++)mr(t,xn(s[i])||new Uint8Array(0))})}const tu=Me(0);function br(e,t){if(Array.isArray(t)){var r=0|t[_];if(4&r)return t;for(var i=0,n=0;i<t.length;i++){const s=e(t[i]);s!=null&&(t[n++]=s)}return n<i&&(t.length=n),(e=-1537&(5|r))!==r&&de(t,e),2&e&&Object.freeze(t),t}}function _e(e,t,r){return new yr(e,t,r)}function vr(e,t,r){return new yr(e,t,r)}function fe(e,t,r){ue(e,0|e[_],t,r,sr(0|e[_]))}var ru=Ui(function(e,t,r,i,n){if(e.h!==2)return!1;if(e=Je(e=Rr(e,Vt([void 0,void 0],i),n)),n=sr(i=0|t[_]),2&i)throw Error();let s=ft(t,r,n);if(s instanceof ht)2&s.J?(s=s.V(),s.push(e),ue(t,i,r,s,n)):s.Ma(e);else if(Array.isArray(s)){var a=0|s[_];8192&a||de(s,a|=8192),2&a&&(s=qo(s),ue(t,i,r,s,n)),s.push(e)}else ue(t,i,r,Wr([e]),n);return!0},function(e,t,r,i,n){if(t instanceof ht)t.forEach((s,a)=>{Oi(e,r,Vt([a,s],i),n)});else if(Array.isArray(t)){for(let s=0;s<t.length;s++){const a=t[s];Array.isArray(a)&&Oi(e,r,Vt(a,i),n)}Wr(t)}});function xa(e,t,r){(t=st(t))!=null&&(He(e,r,5),e=e.g,Cn(t),Jn(e))}function Ea(e,t,r){if(t=function(i){if(i==null)return i;const n=typeof i;if(n==="bigint")return String(qr(64,i));if(Xr(i)){if(n==="string")return Do(i);if(n==="number")return Fn(i)}}(t),t!=null&&(typeof t=="string"&&oa(t),t!=null))switch(He(e,r,0),typeof t){case"number":e=e.g,or(t),gr(e,R,ae);break;case"bigint":r=BigInt.asUintN(64,t),r=new Qn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),gr(e.g,r.h,r.g);break;default:r=oa(t),gr(e.g,r.h,r.g)}}function _a(e,t,r){(t=cr(t))!=null&&t!=null&&(He(e,r,0),Di(e.g,t))}function ka(e,t,r){(t=Fo(t))!=null&&(He(e,r,0),e.g.g.push(t?1:0))}function Sa(e,t,r){(t=ye(t))!=null&&Pi(e,r,so(t))}function Ca(e,t,r,i,n){Oi(e,r,ya(t,i),n)}function Aa(e,t,r){(t=t==null||typeof t=="string"||t instanceof it?t:void 0)!=null&&Pi(e,r,qn(t,!0).buffer)}function Ta(e,t,r){return(e.h===5||e.h===2)&&(t=hr(t,0|t[_],r),e.h==2?Li(e,Ii,t):t.push(Ii(e.g)),!0)}var ce=_e(function(e,t,r){return e.h===5&&(fe(t,r,Ii(e.g)),!0)},xa,Bi),iu=vr(Ta,function(e,t,r){if((t=br(st,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(He(i,n,5),i=i.g,Cn(s),Jn(i))}},Bi),as=vr(Ta,function(e,t,r){if((t=br(st,t))!=null&&t.length){He(e,r,2),pr(e.g,4*t.length);for(let i=0;i<t.length;i++)r=e.g,Cn(t[i]),Jn(r)}},Bi),nu=_e(function(e,t,r){return e.h===5&&(fe(t,r,(e=Ii(e.g))===0?void 0:e),!0)},xa,Bi),St=_e(function(e,t,r){return yn?(e.h!==0?e=!1:(fe(t,r,wr(e.g,No)),e=!0),e):e.h===0&&(fe(t,r,wr(e.g,Tn)),!0)},Ea,la),cs=_e(function(e,t,r){return yn?(e.h!==0?t=!1:(fe(t,r,(e=wr(e.g,No))===tu?void 0:e),t=!0),t):e.h===0&&(fe(t,r,(e=wr(e.g,Tn))===0?void 0:e),!0)},Ea,la),su=_e(function(e,t,r){return yn?(e.h!==0?e=!1:(fe(t,r,wr(e.g,Ad)),e=!0),e):e.h===0&&(fe(t,r,wr(e.g,An)),!0)},function(e,t,r){if(t=function(i){if(i==null)return i;var n=typeof i;if(n==="bigint")return String(Td(64,i));if(Xr(i)){if(n==="string")return n=ar(Number(i)),Ut(n)&&n>=0?i=String(n):((n=i.indexOf("."))!==-1&&(i=i.substring(0,n)),(n=i[0]!=="-"&&((n=i.length)<20||n===20&&i<="18446744073709551615"))||(Ei(i),i=Hr(R,ae))),i;if(n==="number")return(i=ar(i))>=0&&Ut(i)||(or(i),i=An(R,ae)),i}}(t),t!=null&&(typeof t=="string"&&sa(t),t!=null))switch(He(e,r,0),typeof t){case"number":e=e.g,or(t),gr(e,R,ae);break;case"bigint":r=BigInt.asUintN(64,t),r=new Xn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),gr(e.g,r.h,r.g);break;default:r=sa(t),gr(e.g,r.h,r.g)}},Qd),we=_e(function(e,t,r){return e.h===0&&(fe(t,r,kt(e.g)),!0)},_a,rs),ei=vr(function(e,t,r){return(e.h===0||e.h===2)&&(t=hr(t,0|t[_],r),e.h==2?Li(e,kt,t):t.push(kt(e.g)),!0)},function(e,t,r){if((t=br(cr,t))!=null&&t.length){r=Zn(e,r);for(let i=0;i<t.length;i++)Di(e.g,t[i]);Rn(e,r)}},rs),xr=_e(function(e,t,r){return e.h===0&&(fe(t,r,(e=kt(e.g))===0?void 0:e),!0)},_a,rs),se=_e(function(e,t,r){return e.h===0&&(fe(t,r,Kn(e.g)),!0)},ka,aa),Kt=_e(function(e,t,r){return e.h===0&&(fe(t,r,(e=Kn(e.g))===!1?void 0:e),!0)},ka,aa),ve=vr(function(e,t,r){return e.h===2&&(e=Yn(e),hr(t,0|t[_],r).push(e),!0)},function(e,t,r){if((t=br(ye,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&Pi(i,n,so(s))}},ts),Ct=_e(function(e,t,r){return e.h===2&&(fe(t,r,(e=Yn(e))===""?void 0:e),!0)},Sa,ts),H=_e(function(e,t,r){return e.h===2&&(fe(t,r,Yn(e)),!0)},Sa,ts),ge=function(e,t,r=es){return new yr(e,t,r)}(function(e,t,r,i,n){return e.h===2&&(i=Vt(void 0,i),hr(t,0|t[_],r).push(i),Rr(e,i,n),!0)},function(e,t,r,i,n){if(Array.isArray(t)){for(let s=0;s<t.length;s++)Ca(e,t[s],r,i,n);1&(e=0|t[_])||de(t,1|e)}}),oe=Ui(function(e,t,r,i,n,s){if(e.h!==2)return!1;let a=0|t[_];return Ko(t,a,s,r,sr(a)),Rr(e,t=Wn(t,i,r),n),!0},Ca),Na=_e(function(e,t,r){return e.h===2&&(fe(t,r,na(e)),!0)},Aa,da),ou=vr(function(e,t,r){return(e.h===0||e.h===2)&&(t=hr(t,0|t[_],r),e.h==2?Li(e,pt,t):t.push(pt(e.g)),!0)},function(e,t,r){if((t=br(Lo,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(He(i,n,0),pr(i.g,s))}},ca),au=_e(function(e,t,r){return e.h===0&&(fe(t,r,(e=pt(e.g))===0?void 0:e),!0)},function(e,t,r){(t=Lo(t))!=null&&t!=null&&(He(e,r,0),pr(e.g,t))},ca),Pe=_e(function(e,t,r){return e.h===0&&(fe(t,r,kt(e.g)),!0)},function(e,t,r){(t=cr(t))!=null&&(t=parseInt(t,10),He(e,r,0),Di(e.g,t))},ua);class cu{constructor(t,r){var i=Oe;this.g=t,this.h=r,this.m=V,this.j=I,this.defaultValue=void 0,this.l=i.Oa!=null?So:void 0}register(){bi(this)}}function ct(e,t){return new cu(e,t)}function At(e,t){return(r,i)=>{{const s={ea:!0};i&&Object.assign(s,i),r=ta(r,void 0,void 0,s);try{const a=new e,c=a.v;os(t)(c,r);var n=a}finally{ra(r)}}return n}}function $i(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const a=this.g;return this.g=[],a}}}};va(this.v,t,qt(Vi,ji,zi,e)),mr(t,t.g.end());const r=new Uint8Array(t.h),i=t.l,n=i.length;let s=0;for(let a=0;a<n;a++){const c=i[a];r.set(c,s),s+=c.length}return t.l=[r],r}}var Ia=class extends k{constructor(e){super(e)}},Fa=[0,Ct,_e(function(e,t,r){return e.h===2&&(fe(t,r,(e=na(e))===Pt()?void 0:e),!0)},function(e,t,r){if(t!=null){if(t instanceof k){const i=t.Ra;return void(i?(t=i(t),t!=null&&Pi(e,r,qn(t,!0).buffer)):er(_n,3))}if(Array.isArray(t))return void er(_n,3)}Aa(e,t,r)},da)];let ls,La=globalThis.trustedTypes;function Ma(e){var t;return ls===void 0&&(ls=function(){let r=null;if(!La)return r;try{const i=n=>n;r=La.createPolicy("goog#html",{createHTML:i,createScript:i,createScriptURL:i})}catch{}return r}()),e=(t=ls)?t.createScriptURL(e):e,new class{constructor(r){this.g=r}toString(){return this.g+""}}(e)}function lu(e,...t){if(t.length===0)return Ma(e[0]);let r=e[0];for(let i=0;i<t.length;i++)r+=encodeURIComponent(t[i])+e[i+1];return Ma(r)}var Da=[0,we,Pe,se,-1,ei,Pe,-1,se],du=class extends k{constructor(e){super(e)}},Pa=[0,se,H,se,Pe,-1,vr(function(e,t,r){return(e.h===0||e.h===2)&&(t=hr(t,0|t[_],r),e.h==2?Li(e,qd,t):t.push(kt(e.g)),!0)},function(e,t,r){if((t=br(cr,t))!=null&&t.length){r=Zn(e,r);for(let i=0;i<t.length;i++)Di(e.g,t[i]);Rn(e,r)}},ua),H,-1,[0,se,-1],Pe,se,-1],Oa=[0,3,se,-1,2,[0,we],[0,Pe,se],[0,H,-1],[0]],Ba=[0,H,-2],Ua=class extends k{constructor(e){super(e)}},Va=[0],Ga=[0,we,se,1,se,-4],Oe=class extends k{constructor(e){super(e,2)}},he={};he[336783863]=[0,H,se,-1,we,[0,[1,2,3,4,5,6,7,8,9],oe,Va,oe,Pa,oe,Ba,oe,Ga,oe,Da,oe,[0,H,-2],oe,[0,H,Pe],oe,Oa,oe,[0,Pe,-1,se]],[0,H],se,[0,[1,3],[2,4],oe,[0,ei],-1,oe,[0,ve],-1,ge,[0,H,-1]],H];var ja=[0,cs,-1,Kt,-3,cs,ei,Ct,xr,cs,-1,Kt,xr,Kt,-2,Ct];function Y(e,t){Ni(e,3,t)}function P(e,t){Ni(e,4,t)}var Ae=class extends k{constructor(e){super(e,500)}o(e){return I(this,0,7,e)}},ti=[-1,{}],za=[0,H,1,ti],$a=[0,H,ve,ti];function qe(e,t){Hn(e,1,Ae,t)}function ee(e,t){Ni(e,10,t)}function G(e,t){Ni(e,15,t)}var Be=class extends k{constructor(e){super(e,500)}o(e){return I(this,0,1001,e)}},Wa=[-500,ge,[-500,Ct,-1,ve,-3,[-2,he,se],ge,Fa,xr,-1,za,$a,ge,[0,Ct,Kt],Ct,ja,xr,ve,987,ve],4,ge,[-500,H,-1,[-1,{}],998,H],ge,[-500,H,ve,-1,[-2,{},se],997,ve,-1],xr,ge,[-500,H,ve,ti,998,ve],ve,xr,za,$a,ge,[0,Ct,-1,ti],ve,-2,ja,Ct,-1,Kt,[0,Kt,au],978,ti,ge,Fa];Be.prototype.g=$i(Wa);var uu=At(Be,Wa),hu=class extends k{constructor(e){super(e)}},Ha=class extends k{constructor(e){super(e)}g(){return wt(this,hu,1)}},qa=[0,ge,[0,we,ce,H,-1]],Wi=At(Ha,qa),fu=class extends k{constructor(e){super(e)}},wu=class extends k{constructor(e){super(e)}},ds=class extends k{constructor(e){super(e)}l(){return V(this,fu,2)}g(){return wt(this,wu,5)}},Ka=At(class extends k{constructor(e){super(e)}},[0,ve,ei,as,[0,Pe,[0,we,-3],[0,ce,-3],[0,we,-1,[0,ge,[0,we,-2]]],ge,[0,ce,-1,H,ce]],H,-1,St,ge,[0,we,ce],ve,St]),Ya=class extends k{constructor(e){super(e)}},Er=At(class extends k{constructor(e){super(e)}},[0,ge,[0,ce,-4]]),Xa=class extends k{constructor(e){super(e)}},ri=At(class extends k{constructor(e){super(e)}},[0,ge,[0,ce,-4]]),gu=class extends k{constructor(e){super(e)}},pu=[0,we,-1,as,Pe],Qa=class extends k{constructor(e){super(e)}};Qa.prototype.g=$i([0,ce,-4,St]);var mu=class extends k{constructor(e){super(e)}},yu=At(class extends k{constructor(e){super(e)}},[0,ge,[0,1,we,H,qa],St]),Ja=class extends k{constructor(e){super(e)}},bu=class extends k{constructor(e){super(e)}na(){const e=K(this,1,void 0,void 0,Ho);return e??Pt()}},vu=class extends k{constructor(e){super(e)}},Za=[1,2],xu=At(class extends k{constructor(e){super(e)}},[0,ge,[0,Za,oe,[0,as],oe,[0,Na],we,H],St]),us=class extends k{constructor(e){super(e)}},Ra=[0,H,we,ce,ve,-1],ec=class extends k{constructor(e){super(e)}},Eu=[0,se,-1],tc=class extends k{constructor(e){super(e)}},Hi=[1,2,3,4,5,6],qi=class extends k{constructor(e){super(e)}g(){return K(this,1,void 0,void 0,Ho)!=null}l(){return ye(K(this,2))!=null}},re=class extends k{constructor(e){super(e)}g(){return Fo(K(this,2))??!1}},rc=[0,Na,H,[0,we,St,-1],[0,su,St]],le=[0,rc,se,[0,Hi,oe,Ga,oe,Pa,oe,Da,oe,Va,oe,Ba,oe,Oa],Pe],Ki=class extends k{constructor(e){super(e)}},hs=[0,le,ce,-1,we],_u=ct(502141897,Ki);he[502141897]=hs;var ku=At(class extends k{constructor(e){super(e)}},[0,[0,Pe,-1,iu,ou],pu]),ic=class extends k{constructor(e){super(e)}},nc=class extends k{constructor(e){super(e)}},fs=[0,le,ce,[0,le],se],Su=ct(508968150,nc);he[508968150]=[0,le,hs,fs,ce,[0,[0,rc]]],he[508968149]=fs;var _r=class extends k{constructor(e){super(e)}l(){return V(this,us,2)}g(){$(this,2)}},sc=[0,le,Ra];he[478825465]=sc;var Cu=class extends k{constructor(e){super(e)}},oc=class extends k{constructor(e){super(e)}},ws=class extends k{constructor(e){super(e)}},gs=class extends k{constructor(e){super(e)}},ac=class extends k{constructor(e){super(e)}},cc=[0,le,[0,le],sc,-1],lc=[0,le,ce,we],ps=[0,le,ce],dc=[0,le,lc,ps,ce],Au=ct(479097054,ac);he[479097054]=[0,le,dc,cc],he[463370452]=cc,he[464864288]=lc;var Tu=ct(462713202,gs);he[462713202]=dc,he[474472470]=ps;var Nu=class extends k{constructor(e){super(e)}},uc=class extends k{constructor(e){super(e)}},hc=class extends k{constructor(e){super(e)}},fc=class extends k{constructor(e){super(e)}},ms=[0,le,ce,-1,we],ys=[0,le,ce,se];fc.prototype.g=$i([0,le,ps,[0,le],hs,fs,ms,ys]);var wc=class extends k{constructor(e){super(e)}},Iu=ct(456383383,wc);he[456383383]=[0,le,Ra];var gc=class extends k{constructor(e){super(e)}},Fu=ct(476348187,gc);he[476348187]=[0,le,Eu];var pc=class extends k{constructor(e){super(e)}},mc=class extends k{constructor(e){super(e)}},yc=[0,Pe,-1],Lu=ct(458105876,class extends k{constructor(e){super(e)}g(){let e;var t=this.v;const r=0|t[_];return e=Le(this,r),t=function(i,n,s,a){var c=mc;!a&&dr(i)&&(s=0|(n=i.v)[_]);var l=ft(n,2);if(i=!1,l==null){if(a)return Vo();l=[]}else if(l.constructor===ht){if(!(2&l.J)||a)return l;l=l.V()}else Array.isArray(l)?i=!!(2&(0|l[_])):l=[];if(a){if(!l.length)return Vo();i||(i=!0,$r(l))}else i&&(i=!1,Wr(l),l=qo(l));return!i&&32&s&&zr(l,32),s=ue(n,s,2,a=new ht(l,c,Ld,void 0)),i||Gt(n,s),a}(this,t,r,e),!e&&mc&&(t.ra=!0),t}});he[458105876]=[0,yc,ru,[!0,St,[0,H,-1,ve]],[0,ei,se,Pe]];var bs=class extends k{constructor(e){super(e)}},bc=ct(458105758,bs);he[458105758]=[0,le,H,yc];var vs=class extends k{constructor(e){super(e)}},vc=[0,nu,-1,Kt],Mu=class extends k{constructor(e){super(e)}},xc=class extends k{constructor(e){super(e)}},xs=[1,2];xc.prototype.g=$i([0,xs,oe,vc,oe,[0,ge,vc]]);var Ec=class extends k{constructor(e){super(e)}},Du=ct(443442058,Ec);he[443442058]=[0,le,H,we,ce,ve,-1,se,ce],he[514774813]=ms;var _c=class extends k{constructor(e){super(e)}},Pu=ct(516587230,_c);function Es(e,t){return t=t?t.clone():new us,e.displayNamesLocale!==void 0?$(t,1,Qr(e.displayNamesLocale)):e.displayNamesLocale===void 0&&$(t,1),e.maxResults!==void 0?gt(t,2,e.maxResults):"maxResults"in e&&$(t,2),e.scoreThreshold!==void 0?A(t,3,e.scoreThreshold):"scoreThreshold"in e&&$(t,3),e.categoryAllowlist!==void 0?Ti(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&$(t,4),e.categoryDenylist!==void 0?Ti(t,5,e.categoryDenylist):"categoryDenylist"in e&&$(t,5),t}function kc(e){const t=Number(e);return Number.isSafeInteger(t)?t:String(e)}function _s(e,t=-1,r=""){return{categories:e.map(i=>({index:We(i,1)??0??-1,score:ne(i,2)??0,categoryName:ye(K(i,3))??""??"",displayName:ye(K(i,4))??""??""})),headIndex:t,headName:r}}function Ou(e){const t={classifications:wt(e,mu,1).map(r=>{var i;return _s(((i=V(r,Ha,4))==null?void 0:i.g())??[],We(r,2)??0,ye(K(r,3))??"")})};return function(r){return Fd(bn?K(r,2,void 0,void 0,ki):K(r,2))}(e)!=null&&(t.timestampMs=kc(Jo(e))),t}function Sc(e){var a,c;var t=zt(e,3,st,jt()),r=zt(e,2,cr,jt()),i=zt(e,1,ye,jt()),n=zt(e,9,ye,jt());const s={categories:[],keypoints:[]};for(let l=0;l<t.length;l++)s.categories.push({score:t[l],index:r[l]??-1,categoryName:i[l]??"",displayName:n[l]??""});if((t=(a=V(e,ds,4))==null?void 0:a.l())&&(s.boundingBox={originX:We(t,1,Et)??0,originY:We(t,2,Et)??0,width:We(t,3,Et)??0,height:We(t,4,Et)??0,angle:0}),(c=V(e,ds,4))==null?void 0:c.g().length)for(const l of V(e,ds,4).g())s.keypoints.push({x:K(l,1,void 0,Et,st)??0,y:K(l,2,void 0,Et,st)??0,score:K(l,4,void 0,Et,st)??0,label:ye(K(l,3,void 0,Et))??""});return s}function Yi(e){const t=[];for(const r of wt(e,Xa,1))t.push({x:ne(r,1)??0,y:ne(r,2)??0,z:ne(r,3)??0,visibility:ne(r,4)??0});return t}function ii(e){const t=[];for(const r of wt(e,Ya,1))t.push({x:ne(r,1)??0,y:ne(r,2)??0,z:ne(r,3)??0,visibility:ne(r,4)??0});return t}function Cc(e){return Array.from(e,t=>t>127?t-256:t)}function Ac(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let r=0,i=0,n=0;for(let s=0;s<e.length;s++)r+=e[s]*t[s],i+=e[s]*e[s],n+=t[s]*t[s];if(i<=0||n<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(i*n)}let Xi;he[516587230]=[0,le,ms,ys,ce],he[518928384]=ys;const Bu=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Tc(){if(Xi===void 0)try{await WebAssembly.instantiate(Bu),Xi=!0}catch{Xi=!1}return Xi}async function ni(e,t=lu``){const r=await Tc()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var Yt=class{};function Nc(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")}(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function Ic(e){if(typeof importScripts!="function"){const t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise((r,i)=>{t.addEventListener("load",()=>{r()},!1),t.addEventListener("error",n=>{i(n)},!1),document.body.appendChild(t)})}try{importScripts(e.toString())}catch(t){if(!(t instanceof TypeError))throw t;await self.import(e.toString())}}function Fc(e){return e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function S(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function Lc(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);const[i,n]=Fc(t);return!e.l||i===e.i.canvas.width&&n===e.i.canvas.height||(e.i.canvas.width=i,e.i.canvas.height=n),[i,n]}function Mc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const i=new Uint32Array(t.length);for(let n=0;n<t.length;n++)i[n]=e.i.stringToNewUTF8(t[n]);t=e.i._malloc(4*i.length),e.i.HEAPU32.set(i,t>>2),r(t);for(const n of i)e.i._free(n);e.i._free(t)}function lt(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function Tt(e,t,r){let i=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(n,s,a)=>{s?(r(i,a),i=[]):i.push(n)}}Yt.forVisionTasks=function(e){return ni("vision",e)},Yt.forTextTasks=function(e){return ni("text",e)},Yt.forGenAiExperimentalTasks=function(e){return ni("genai_experimental",e)},Yt.forGenAiTasks=function(e){return ni("genai",e)},Yt.forAudioTasks=function(e){return ni("audio",e)},Yt.isSimdSupported=function(){return Tc()};async function Uu(e,t,r,i){return e=await(async(n,s,a,c,l)=>{if(s&&await Ic(s),!self.ModuleFactory||a&&(await Ic(a),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&l&&((s=self.Module).locateFile=l.locateFile,l.mainScriptUrlOrBlob&&(s.mainScriptUrlOrBlob=l.mainScriptUrlOrBlob)),l=await self.ModuleFactory(self.Module||l),self.ModuleFactory=self.Module=void 0,new n(l,c)})(e,r.wasmLoaderPath,r.assetLoaderPath,t,{locateFile:n=>n.endsWith(".wasm")?r.wasmBinaryPath.toString():r.assetBinaryPath&&n.endsWith(".data")?r.assetBinaryPath.toString():n}),await e.o(i),e}function ks(e,t){const r=V(e.baseOptions,qi,1)||new qi;typeof t=="string"?($(r,2,Qr(t)),$(r,1)):t instanceof Uint8Array&&($(r,1,kn(t,!1)),$(r,2)),I(e.baseOptions,0,1,r)}function Dc(e){try{const t=e.H.length;if(t===1)throw Error(e.H[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.H.map(r=>r.message).join(", "))}finally{e.H=[]}}function x(e,t){e.C=Math.max(e.C,t)}function Qi(e,t){e.B=new Ae,De(e.B,2,"PassThroughCalculator"),Y(e.B,"free_memory"),P(e.B,"free_memory_unused_out"),ee(t,"free_memory"),qe(t,e.B)}function kr(e,t){Y(e.B,t),P(e.B,t+"_unused_out")}function Ji(e){e.g.addBoolToStream(!0,"free_memory",e.C)}var Ss=class{constructor(e){this.g=e,this.H=[],this.C=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){var r,i,n,s,a,c;if(t){const l=e.baseOptions||{};if((r=e.baseOptions)!=null&&r.modelAssetBuffer&&((i=e.baseOptions)!=null&&i.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((n=V(this.baseOptions,qi,1))!=null&&n.g()||(s=V(this.baseOptions,qi,1))!=null&&s.l()||(a=e.baseOptions)!=null&&a.modelAssetBuffer||(c=e.baseOptions)!=null&&c.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(h,u){let f=V(h.baseOptions,tc,3);if(!f){var w=f=new tc,g=new Ua;Zr(w,4,Hi,g)}"delegate"in u&&(u.delegate==="GPU"?(u=f,w=new du,Zr(u,2,Hi,w)):(u=f,w=new Ua,Zr(u,4,Hi,w))),I(h.baseOptions,0,3,f)}(this,l),l.modelAssetPath)return fetch(l.modelAssetPath.toString()).then(h=>{if(h.ok)return h.arrayBuffer();throw Error(`Failed to fetch model: ${l.modelAssetPath} (${h.status})`)}).then(h=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(h),!0,!1,!1),ks(this,"/model.dat"),this.m(),this.L()});if(l.modelAssetBuffer instanceof Uint8Array)ks(this,l.modelAssetBuffer);else if(l.modelAssetBuffer)return async function(h){const u=[];for(var f=0;;){const{done:w,value:g}=await h.read();if(w)break;u.push(g),f+=g.length}if(u.length===0)return new Uint8Array(0);if(u.length===1)return u[0];h=new Uint8Array(f),f=0;for(const w of u)h.set(w,f),f+=w.length;return h}(l.modelAssetBuffer).then(h=>{ks(this,h),this.m(),this.L()})}return this.m(),this.L(),Promise.resolve()}L(){}ca(){let e;if(this.g.ca(t=>{e=uu(t)}),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener((r,i)=>{this.H.push(Error(i))}),this.g.Ja(),this.g.setGraph(e,t),this.B=void 0,Dc(this)}finishProcessing(){this.g.finishProcessing(),Dc(this)}close(){this.B=void 0,this.g.closeGraph()}};function Nt(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}Ss.prototype.close=Ss.prototype.close;class Vu{constructor(t,r,i,n){this.g=t,this.h=r,this.m=i,this.l=n}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}function Pc(e,t,r){const i=e.g;if(r=Nt(i.createShader(r),"Failed to create WebGL shader"),i.shaderSource(r,t),i.compileShader(r),!i.getShaderParameter(r,i.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${i.getShaderInfoLog(r)}`);return i.attachShader(e.h,r),r}function Oc(e,t){const r=e.g,i=Nt(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(i);const n=Nt(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,n),r.enableVertexAttribArray(e.O),r.vertexAttribPointer(e.O,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);const s=Nt(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,s),r.enableVertexAttribArray(e.L),r.vertexAttribPointer(e.L,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new Vu(r,i,n,s)}function Cs(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function Gu(e,t,r,i){return Cs(e,t),e.h||(e.m(),e.D()),r?(e.u||(e.u=Oc(e,!0)),r=e.u):(e.A||(e.A=Oc(e,!1)),r=e.A),t.useProgram(e.h),r.bind(),e.l(),e=i(),r.g.bindVertexArray(null),e}function Bc(e,t,r){return Cs(e,t),e=Nt(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,r??t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r??t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function Uc(e,t,r){Cs(e,t),e.B||(e.B=Nt(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.B),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function ju(e){var t;(t=e.g)==null||t.bindFramebuffer(e.g.FRAMEBUFFER,null)}var Vc=class{H(){return`
|
|
1
|
+
(function(me,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom"],o):(me=typeof globalThis<"u"?globalThis:me||self,o(me.InterviewWidget={},me.jsxRuntime,me.React,me.ReactDOM))})(this,function(me,o,d,Xs){"use strict";var w2=Object.defineProperty;var g2=(me,o,d)=>o in me?w2(me,o,{enumerable:!0,configurable:!0,writable:!0,value:d}):me[o]=d;var xe=(me,o,d)=>g2(me,typeof o!="symbol"?o+"":o,d);var un=typeof document<"u"?document.currentScript:null;const hn={},rt={api:{baseUrl:"/api",retryConfig:{attempts:3,backoff:"exponential",baseDelay:1e3}},ui:{baseColor:"#3B82F6",borderRadius:"8px"},interview:{allow_answer_editing:!0,capture_screenshots:!1,timers:{thinkingDuration:30,answeringDuration:120,editingDuration:30},stt:{provider:"groq",model:"whisper-large-v3-turbo",language:"en"},tts:{provider:"piper"},proctoring:{enabled:!0,gazeAnalysisEnabled:!0}}},fn="iw-storage";function Sl(){if(!(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:un&&un.tagName.toUpperCase()==="SCRIPT"&&un.src||new URL("widget.umd.js",document.baseURI).href}<"u"&&(hn!=null&&hn.VITE_IW_SECRET)))return typeof process<"u"&&process.env.NEXT_PUBLIC_IW_SECRET?process.env.NEXT_PUBLIC_IW_SECRET:typeof window<"u"&&window.__IW_SECRET__?window.__IW_SECRET__:"proctoring-data-seed"}const Qs=Sl(),wi=30,Cl={SCREENSHOT:"screenshot"},wn="AES-GCM",gn=12;async function Js(e){const r=new TextEncoder().encode(e),i=await crypto.subtle.digest("SHA-256",r);return crypto.subtle.importKey("raw",i,wn,!1,["encrypt","decrypt"])}function Al(){return crypto.getRandomValues(new Uint8Array(gn))}async function Tl(e,t="default-seed"){try{const r=typeof e=="string"?e:JSON.stringify(e),n=new TextEncoder().encode(r),s=await Js(t),a=Al(),c=await crypto.subtle.encrypt({name:wn,iv:a},s,n),l=new Uint8Array(a.length+c.byteLength);return l.set(new Uint8Array(a),0),l.set(new Uint8Array(c),a.length),btoa(String.fromCharCode(...Array.from(l)))}catch(r){throw console.error("Encryption failed:",r),new Error("Failed to encrypt data")}}async function Nl(e,t="default-seed"){try{const r=atob(e),i=new Uint8Array(r.length);for(let h=0;h<r.length;h++)i[h]=r.charCodeAt(h);const n=i.slice(0,gn),s=i.slice(gn),a=await Js(t),c=await crypto.subtle.decrypt({name:wn,iv:n},a,s);return new TextDecoder().decode(c)}catch(r){throw console.error("Decryption failed:",r),new Error("Failed to decrypt data")}}async function Il(e,t="default-seed"){return Tl(e,t)}async function Fl(e,t="default-seed"){const r=await Nl(e,t);try{return JSON.parse(r)}catch{return r}}const Br=d.createContext(null),Ll=async()=>{try{const e=sessionStorage.getItem(fn);if(e){const r=(await Fl(e,Qs)).state;return{logViolations:(r==null?void 0:r.logViolations)||[],totalViolations:(r==null?void 0:r.totalViolations)||0,gazeViolationCounters:(r==null?void 0:r.gazeViolationCounters)||{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:(r==null?void 0:r.referenceSet)??!1,referenceRef:(r==null?void 0:r.referenceRef)??{x:.5,y:.5,noseX:.5,noseY:.5}}}}catch(e){console.error("Failed to load proctoring data from session storage:",e)}return{logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}},Ur=async e=>{try{const t=await Il({state:e,version:0},Qs);sessionStorage.setItem(fn,t)}catch(t){console.error("Failed to save proctoring data to session storage:",t)}},Ml=({children:e})=>{const t=d.useRef({logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}),r=d.useRef(new Set);d.useEffect(()=>{Ll().then(w=>{t.current=w,i()})},[]);const i=d.useCallback(()=>{r.current.forEach(w=>w())},[]),n=d.useCallback(w=>(r.current.add(w),()=>{r.current.delete(w)}),[]),s=d.useCallback(()=>t.current,[]),a=d.useCallback(w=>{t.current={...t.current,logViolations:[...t.current.logViolations,w],totalViolations:t.current.totalViolations+1},Ur(t.current),i()},[i]),c=d.useCallback(w=>{const g={...t.current.gazeViolationCounters};w==="looking_away"&&(g.lookingAwayCount+=1),w==="no_face_detected"&&(g.noFaceDetectedCount+=1),w==="multiple_faces"&&(g.multipleFacesCount+=1),g.totalGazeViolations=g.lookingAwayCount+g.noFaceDetectedCount+g.multipleFacesCount,t.current={...t.current,gazeViolationCounters:g},Ur(t.current),i()},[i]),l=d.useCallback(()=>{t.current={...t.current,logViolations:[],totalViolations:0},Ur(t.current),i()},[i]),h=d.useCallback(()=>{t.current={...t.current,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0}},Ur(t.current),i()},[i]),u=d.useCallback((w,g)=>{t.current={...t.current,referenceSet:w,referenceRef:g},Ur(t.current),i()},[i]),f=d.useMemo(()=>({getState:s,addViolation:a,clearViolations:l,subscribe:n,incrementGazeViolation:c,clearGazeViolationCounters:h,setReferenceData:u}),[s,a,l,n,c,h,u]);return o.jsx(Br.Provider,{value:f,children:e})},Zs=()=>{const e=d.useContext(Br);if(!e)throw new Error("useProctoringStore must be used within a ProctoringProvider");const t=d.useSyncExternalStore(e.subscribe,e.getState,e.getState);return{logViolations:t.logViolations,totalViolations:t.totalViolations,addViolation:e.addViolation,clearViolations:e.clearViolations,gazeViolationCounters:t.gazeViolationCounters,referenceSet:t.referenceSet,referenceRef:t.referenceRef,incrementGazeViolation:e.incrementGazeViolation,clearGazeViolationCounters:e.clearGazeViolationCounters,setReferenceData:e.setReferenceData}},Dl=()=>{const e=d.useContext(Br);if(!e)throw new Error("useViolations must be used within a ProctoringProvider");return d.useSyncExternalStore(e.subscribe,()=>e.getState().logViolations,()=>e.getState().logViolations)},Pl=()=>{const e=d.useContext(Br);if(!e)throw new Error("useTotalViolations must be used within a ProctoringProvider");return d.useSyncExternalStore(e.subscribe,()=>e.getState().totalViolations,()=>e.getState().totalViolations)},Ol=()=>{const e=d.useContext(Br);if(!e)throw new Error("useProctoringActions must be used within a ProctoringProvider");return{addViolation:e.addViolation,clearViolations:e.clearViolations}},Rs=d.createContext(null);function eo({config:e={},children:t}){var i,n,s,a;const r={api:{...rt.api,...e.api,retryConfig:{...rt.api.retryConfig,...(i=e.api)==null?void 0:i.retryConfig}},ui:{...rt.ui,...e.ui},interview:{...rt.interview,...e.interview,timers:{...rt.interview.timers,...(n=e.interview)==null?void 0:n.timers},stt:{...rt.interview.stt,...(s=e.interview)==null?void 0:s.stt},tts:{...rt.interview.tts,...(a=e.interview)==null?void 0:a.tts}}};return o.jsx(Rs.Provider,{value:r,children:o.jsx(Ml,{children:t})})}function gi(){const e=d.useContext(Rs);if(!e)throw new Error("useInterviewConfig must be used within an InterviewWidgetProvider. Wrap your component tree with <InterviewWidgetProvider config={...}>");return e}function to(){return gi().api||rt.api}function Zt(){return gi().ui||rt.ui}function pn(){return gi().interview||rt.interview}function Bl(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function Ul(e,t,r){return"#"+[e,t,r].map(i=>{const n=Math.round(i).toString(16);return n.length===1?"0"+n:n}).join("")}function Vl(e,t){const r=Bl(e);if(!r)return e;const i=r.r+(255-r.r)*t,n=r.g+(255-r.g)*t,s=r.b+(255-r.b)*t;return Ul(i,n,s)}function Gl(e){return new Promise(t=>setTimeout(t,e))}function jl(e){return`linear-gradient(to left, ${Vl(e,.4)}, ${e})`}const zl=()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);function $l(e){try{const t=e.split(".");if(t.length!==3||!t[1])throw new Error("Invalid JWT token");const i=t[1].replace(/-/g,"+").replace(/_/g,"/"),n=i.padEnd(i.length+(4-i.length%4)%4,"="),s=atob(n);return JSON.parse(s)}catch(t){return console.error("Error decoding JWT:",t),null}}const Wl=e=>{var t;return!e||typeof e!="string"?"":(t=e.charAt(0))==null?void 0:t.toUpperCase()},mn=(e,t)=>{const r=Math.max(0,Math.floor(e));if(t&&r<60)return`${r}`;const i=Math.floor(r/60).toString().padStart(2,"0"),n=(r%60).toString().padStart(2,"0");return`${i}:${n}`},yn=({brandLogo:e,brandName:t,className:r="",showFallbackStyles:i=!0})=>{const{baseColor:n}=Zt();return e?o.jsx("div",{className:r,children:e}):o.jsx("div",{className:i?`iw-h-7 iw-w-7 iw-rounded-md iw-flex iw-items-center iw-justify-center iw-text-white iw-font-semibold ${r}`:r,style:i?{backgroundColor:n}:{},children:Wl(t)})},Hl=e=>{const t=d.useRef(null),r=d.useRef(null),[i,n]=d.useState(!1),[s,a]=d.useState(!1),[c,l]=d.useState(null),[h,u]=d.useState([]),[f,w]=d.useState([]),[g,p]=d.useState(""),[y,m]=d.useState(""),[b,v]=d.useState(!1),F=d.useCallback(()=>{r.current&&(r.current.getTracks().forEach(N=>N.stop()),r.current=null,l(null))},[]),T=d.useCallback(async()=>{var N,L,z,be;try{const J=await navigator.mediaDevices.enumerateDevices(),H=J.filter(G=>G.kind==="audioinput"),Z=J.filter(G=>G.kind==="videoinput");if(u(H),w(Z),!g&&H.length>0){const G=(N=r.current)==null?void 0:N.getAudioTracks()[0],K=G==null?void 0:G.getSettings().deviceId;p(K||((L=H[0])==null?void 0:L.deviceId)||"")}if(!y&&Z.length>0){const G=(z=r.current)==null?void 0:z.getVideoTracks()[0],K=G==null?void 0:G.getSettings().deviceId;m(K||((be=Z[0])==null?void 0:be.deviceId)||"")}}catch(J){console.error("Error enumerating devices:",J)}},[g,y]),E=d.useCallback(async(N,L)=>{const z={width:{ideal:1280},height:{ideal:720},...L?{deviceId:{exact:L}}:{facingMode:"user"}},be={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:{ideal:48e3},channelCount:{ideal:1},...N?{deviceId:{exact:N}}:{}};let J=null;try{J=await navigator.mediaDevices.getUserMedia({video:z,audio:be}),n(!0),a(!0)}catch(H){console.warn("Combined media request failed, trying individual.",H);try{const Z=await navigator.mediaDevices.getUserMedia({audio:be});n(!0),J=Z}catch(Z){console.error("Audio permission denied",Z),n(!1)}try{const Z=await navigator.mediaDevices.getUserMedia({video:z});a(!0),J?Z.getTracks().forEach(G=>J.addTrack(G)):J=Z}catch(Z){console.error("Video permission denied",Z),a(!1)}}J?(r.current=J,l(J),t.current&&(t.current.srcObject=J,await t.current.play().catch(H=>console.error("Error playing video element",H)))):(r.current=null,l(null)),await T()},[T]),C=async N=>{N!==g&&(v(!0),p(N),F(),await E(N,y),v(!1))},M=async N=>{N!==y&&(v(!0),m(N),F(),await E(g,N),v(!1))};return d.useEffect(()=>{if(!e){F();return}return E(),()=>F()},[e]),{videoRef:t,audioAllowed:i,videoAllowed:s,audioDevices:h,videoDevices:f,selectedAudioDeviceId:g,selectedVideoDeviceId:y,isDeviceLoading:b,currentStream:c,handleAudioChange:C,handleVideoChange:M,stopStream:F}},pi=e=>o.jsxs("svg",{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",...e,children:[o.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),o.jsx("path",{d:"M12 9v4"}),o.jsx("path",{d:"M12 17h.01"})]}),ql=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-bolt-icon prefix__lucide-bolt",...e,children:[o.jsx("path",{d:"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"}),o.jsx("circle",{cx:12,cy:12,r:4})]}),Kl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-camera-off-icon prefix__lucide-camera-off",...e,children:[o.jsx("path",{d:"M14.564 14.558a3 3 0 11-4.122-4.121M2 2l20 20"}),o.jsx("path",{d:"M20 20H4a2 2 0 01-2-2V9a2 2 0 012-2h1.997a2 2 0 00.819-.175M9.695 4.024A2 2 0 0110.004 4h3.993a2 2 0 011.76 1.05l.486.9A2 2 0 0018.003 7H20a2 2 0 012 2v7.344"})]}),mi=e=>o.jsx("svg",{width:"10",height:"9",viewBox:"0 0 10 9",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M0.75 5.5C0.75 5.5 2.35 6.4125 3.15 7.75C3.15 7.75 5.55 2.5 8.75 0.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),Yl=({className:e})=>o.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:o.jsx("path",{d:"M18 9.00005C18 9.00005 13.5811 15 12 15C10.4188 15 6 9 6 9",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),ro=e=>o.jsxs("svg",{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",...e,children:[o.jsx("path",{d:"M12 2a10 10 0 0 1 7.38 16.75"}),o.jsx("path",{d:"M12 6v6l4 2"}),o.jsx("path",{d:"M2.5 8.875a10 10 0 0 0-.5 3"}),o.jsx("path",{d:"M2.83 16a10 10 0 0 0 2.43 3.4"}),o.jsx("path",{d:"M4.636 5.235a10 10 0 0 1 .891-.857"}),o.jsx("path",{d:"M8.644 21.42a10 10 0 0 0 7.631-.38"})]}),yi=e=>o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",...e,children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),Xl=e=>o.jsxs("svg",{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",...e,children:[o.jsx("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),o.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),Ql=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2.66797 2H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 2V3.35359C3.66797 4.18151 4.05252 4.96247 4.70874 5.46726L8.0013 8L11.2938 5.46726C11.9501 4.96247 12.3346 4.18151 12.3346 3.35359V2",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 14V12.6464C3.66797 11.8185 4.05252 11.0375 4.70874 10.5327L8.0013 8L11.2938 10.5327C11.9501 11.0375 12.3346 11.8185 12.3346 12.6464V14",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M2.66797 14H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"})]}),io=({className:e,...t})=>o.jsx("div",{children:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`iw-animate-spin ${e}`,...t,children:[o.jsx("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o.jsx("path",{d:"M12 6l0 -3"}),o.jsx("path",{d:"M16.25 7.75l2.15 -2.15"}),o.jsx("path",{d:"M18 12l3 0"}),o.jsx("path",{d:"M16.25 16.25l2.15 2.15"}),o.jsx("path",{d:"M12 18l0 3"}),o.jsx("path",{d:"M7.75 16.25l-2.15 2.15"}),o.jsx("path",{d:"M6 12l-3 0"}),o.jsx("path",{d:"M7.75 7.75l-2.15 -2.15"})]})}),Jl=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M17 7V11C17 13.7614 14.7614 16 12 16C9.23858 16 7 13.7614 7 11V7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M20 11C20 15.4183 16.4183 19 12 19M12 19C7.58172 19 4 15.4183 4 11M12 19V22M12 22H15M12 22H9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),no=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-target-icon prefix__lucide-target",...e,children:[o.jsx("circle",{cx:12,cy:12,r:10}),o.jsx("circle",{cx:12,cy:12,r:6}),o.jsx("circle",{cx:12,cy:12,r:2})]}),Zl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-users-icon prefix__lucide-users",...e,children:[o.jsx("path",{d:"M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M16 3.128a4 4 0 010 7.744M22 21v-2a4 4 0 00-3-3.87"}),o.jsx("circle",{cx:9,cy:7,r:4})]}),Rl=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M11 8H13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M2 11C2 7.70017 2 6.05025 3.02513 5.02513C4.05025 4 5.70017 4 9 4H10C13.2998 4 14.9497 4 15.9749 5.02513C17 6.05025 17 7.70017 17 11V13C17 16.2998 17 17.9497 15.9749 18.9749C14.9497 20 13.2998 20 10 20H9C5.70017 20 4.05025 20 3.02513 18.9749C2 17.9497 2 16.2998 2 13V11Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M17 8.90585L17.1259 8.80196C19.2417 7.05623 20.2996 6.18336 21.1498 6.60482C22 7.02628 22 8.42355 22 11.2181V12.7819C22 15.5765 22 16.9737 21.1498 17.3952C20.2996 17.8166 19.2417 16.9438 17.1259 15.198L17 15.0941",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),ed=e=>o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M8.16651 8.63991V5.35747C8.16651 3.52277 8.16651 2.60542 7.62675 2.37712C7.08699 2.14882 6.45168 2.79749 5.18119 4.09482C4.52323 4.76666 4.14784 4.91543 3.2117 4.91543C2.39301 4.91543 1.98366 4.91543 1.68961 5.11606C1.07921 5.53252 1.17148 6.34653 1.17148 6.9987C1.17148 7.65086 1.07921 8.46485 1.68961 8.88135C1.98366 9.08196 2.39301 9.08196 3.2117 9.08196C4.14784 9.08196 4.52323 9.23076 5.18119 9.90259C6.45168 11.1999 7.08699 11.8486 7.62675 11.6203C8.16651 11.392 8.16651 10.4746 8.16651 8.63991Z",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M9.9165 5.25C10.2813 5.72815 10.4998 6.33698 10.4998 7C10.4998 7.66302 10.2813 8.27184 9.9165 8.75",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M11.6665 4.08203C12.3961 4.87894 12.8332 5.89369 12.8332 6.9987C12.8332 8.10371 12.3961 9.11847 11.6665 9.91536",stroke:"currentColor",strokeWidth:"0.875",strokeLinecap:"round",strokeLinejoin:"round"})]}),Ae={FACE_DETECTED:"face_detected",NO_FACE:"no_face_detected",MULTIPLE_FACES:"multiple_faces",LOOKING_AWAY:"looking_away",CAMERA_ERROR:"camera_error",MODEL_LOADING:"model_loading"},so={[Ae.FACE_DETECTED]:{icon:Xl,iconColor:"iw-text-green-600",iconBg:"iw-bg-green-50",iconBorder:"iw-border-green-100",title:"All Good",subtitle:"Everything looks normal",description:"Your gaze is properly focused on the screen. Continue with your interview.",buttonText:"Continue"},[Ae.NO_FACE]:{icon:Kl,iconColor:"iw-text-orange-600",iconBg:"iw-bg-orange-50",iconBorder:"iw-border-orange-100",title:"Face Not Detected",subtitle:"We can't see you in the camera",description:"Please ensure you're positioned properly in front of the camera and that your face is clearly visible.",buttonText:"I Understood"},[Ae.MULTIPLE_FACES]:{icon:Zl,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Multiple People Detected",subtitle:"More than one person is visible on the screen.",buttonText:"I Understood"},[Ae.LOOKING_AWAY]:{icon:no,iconColor:"iw-text-amber-600",iconBg:"iw-bg-amber-50",iconBorder:"iw-border-amber-200/75",title:"Focus Alert",subtitle:"You looked away from the screen. Maintain focus to continue.",buttonText:"I Understood"},[Ae.CAMERA_ERROR]:{icon:pi,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Camera Issue",subtitle:"There's a problem with your camera",description:"Please check your camera connection and permissions, contact support if the problem continues.",buttonText:"I Understood"},[Ae.MODEL_LOADING]:{icon:no,iconColor:"iw-text-blue-600",iconBg:"iw-bg-blue-50",iconBorder:"iw-border-blue-100",title:"Initializing Model",subtitle:"Please wait while we set up the AI",description:"The face detection model is being loaded. This should only take a moment.",buttonText:"Wait"}};function td(e){var t;if(!navigator.onLine)return{type:"network",message:"No internet connection",retryable:!0,userMessage:"Please check your internet connection and try again."};if(e.name==="AbortError"||(t=e.message)!=null&&t.includes("timeout"))return{type:"timeout",message:"Request timed out",retryable:!0,userMessage:"The request is taking longer than expected. Please try again."};if(e.status){const{status:r}=e;if(r===401||r===403)return{type:"auth",status:r,message:"Authentication failed",retryable:!1,userMessage:"Your session has expired. Please refresh the page."};if(r===429)return{type:"rate-limit",status:r,message:"Too many requests",retryable:!0,userMessage:"Please wait a moment before trying again."};if(r>=500)return{type:"server",status:r,message:`Server error: ${r}`,retryable:!0,userMessage:"Our servers are experiencing issues. Please try again in a few moments."};if(r>=400)return{type:"client",status:r,message:`Client error: ${r}`,retryable:!1,userMessage:"There was an issue with your request. Please check your input."}}return{type:"unknown",message:e.message||"Unknown error occurred",retryable:!0,userMessage:"Something unexpected happened. Please try again.",originalError:e}}async function xt(e,t={},r={attempts:3,backoff:"exponential",baseDelay:1e3,maxDelay:1e4,jitter:!0}){let i;for(let n=1;n<=r.attempts;n++)try{const s=new AbortController,a=setTimeout(()=>s.abort(),6e4),c=await fetch(e,{...t,signal:s.signal});if(clearTimeout(a),c.status>=400&&c.status<500&&c.status!==429)return c;if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return c}catch(s){i=s;const a=td(s);if(!a.retryable||n===r.attempts)throw a;const c=rd(n,r);console.warn(`API request failed (attempt ${n}/${r.attempts}), retrying in ${c}ms:`,a.message),await new Promise(l=>setTimeout(l,c))}throw i}function rd(e,t){let r;return t.backoff==="exponential"?r=t.baseDelay*Math.pow(2,e-1):r=t.baseDelay,r=Math.min(r,t.maxDelay),t.jitter&&(r=r*(.5+Math.random()*.5)),Math.round(r)}const Et={v2:"/v2"},_t={GENERATE_QUESTION:e=>`${Et.v2}/interviews/${e}/next-question`,SCREENSHOT_UPLOAD:e=>`${Et.v2}/interviews/${e}/assets/upload-url`,CONFIRM_UPLOAD:e=>`${Et.v2}/interviews/assets/${e}/confirm`,TRANSCRIBE_ANSWER:e=>`${Et.v2}/interviews/${e}/transcribe-answer`,SUBMIT_ANSWER:e=>`${Et.v2}/interviews/${e}/submit-answer`,EXIT:e=>`${Et.v2}/interviews/${e}/exit`,CONFIG:e=>`${Et.v2}/interviews/${e}/config`,TRANSCRIPTION:e=>`${Et.v2}/interviews/${e}/transcript`};class oo{constructor(t={}){xe(this,"config");this.config=t}updateConfig(t){this.config={...this.config,...t}}getHeaders(){var r;const t={"Content-Type":"application/json"};return(r=this.config)!=null&&r.authToken&&(t.Authorization=`Bearer ${this.config.authToken}`),t}getBaseUrl(){var t;return((t=this.config)==null?void 0:t.baseUrl)||"/api"}async generateQuestion({interviewId:t,isInterviewDone:r=!1}){const i=await xt(`${this.getBaseUrl()}${_t.GENERATE_QUESTION(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({interview_id:t,is_interview_done:r})});if(!i.ok)throw new Error(`Failed to get questions: ${i.status}`);return await i.json()}async submitAnswer({interviewId:t,qnaId:r,answer:i}){const n=await xt(`${this.getBaseUrl()}${_t.SUBMIT_ANSWER(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({qna_id:r,answer_text:i})});if(!n.ok)throw new Error(`Failed to submit answer: ${n.status}`);return await n.json()}async exitInterview(t){const r=await xt(`${this.getBaseUrl()}${_t.EXIT(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to exit interview: ${r.status}`)}async getInterviewConfig(t){const r=await xt(`${this.getBaseUrl()}${_t.CONFIG(t)}`,{method:"GET",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to get interview config: ${r.status}`);return await r.json()}async requestScreenshotUploadUrl(t,r=`screenshot-${Date.now()}.jpeg`){const i=await xt(`${this.getBaseUrl()}${_t.SCREENSHOT_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({filename:r,mime_type:"image/jpeg",asset_type:Cl.SCREENSHOT})});if(!i.ok)throw new Error(`Failed to request screenshot upload URL: ${i.status}`);return await i.json()}async uploadScreenshot(t,r){const i=await fetch(t,{method:"PUT",body:r,headers:{"Content-Type":"image/jpeg"}});if(!i.ok)throw new Error(`Failed to upload screenshot: ${i.status}`)}async confirmScreenshotUpload(t){const r=await xt(`${this.getBaseUrl()}${_t.CONFIRM_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to confirm screenshot upload: ${r.status}`)}async getInterviewTranscription(t){const r=await xt(`${this.getBaseUrl()}${_t.TRANSCRIPTION(t)}`,{method:"GET",headers:{...this.getHeaders()}});if(!r.ok)throw new Error(`Failed to get interview transcription: ${r.status}`);return await r.json()}}const bi=new oo,id=({gazeAnalysisEnabled:e,isModelLoaded:t,stats:r,statusMessage:i,loadingProgress:n})=>o.jsx("div",{className:"iw-w-full",children:o.jsxs("div",{className:"iw-border-strock iw-rounded-md iw-border iw-bg-gray-50 iw-p-4",children:[o.jsxs("h3",{className:"iw-m-0 iw-mb-2.5",children:["Status: ",i]}),n>0&&n<100&&o.jsxs("div",{className:"iw-mb-2.5",children:[o.jsx("div",{className:"iw-h-2 iw-w-full iw-rounded iw-bg-gray-300",children:o.jsx("div",{className:"iw-h-full iw-rounded iw-bg-blue-600 iw-transition-all iw-duration-300 iw-ease-out",style:{width:`${n}%`}})}),o.jsxs("small",{className:"iw-text-gray-600",children:["Loading model... ",n.toFixed(1),"%"]})]}),o.jsxs("div",{className:"iw-grid iw-grid-cols-2 iw-gap-2.5 iw-text-sm",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"FPS:"})," ",o.jsx("span",{className:r.fps<15?"iw-text-red-600":r.fps<25?"iw-text-orange-500":"iw-text-green-600",children:r.fps})]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Model:"})," ",t?"✓ Loaded":"✗ Loading"]}),e&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Engagement:"})," ",r.engagement.toFixed(1),"%"]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Looking:"})," ",o.jsx("span",{className:r.isLookingAway?"iw-text-red-600":"iw-text-green-600",children:r.isLookingAway?"Away":"At Screen"})]})]})]}),r.referenceFaceNotDetected&&o.jsxs("div",{className:"iw-text-gray-dark iw-mt-2.5 iw-w-full iw-rounded-md iw-bg-[#ffeb3b] iw-p-2.5 iw-text-sm",children:[o.jsx("strong",{children:"Reference Face Not Detected"}),o.jsx("br",{}),"The previously set reference face is no longer in view."]}),r.multipleFacesDetected&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-red-50 iw-p-2.5 iw-text-sm iw-text-red-700",children:[o.jsx("strong",{children:"Multiple Faces Detected"}),o.jsx("br",{}),"Please ensure only one person is in the frame."]}),!e&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-blue-50 iw-p-2.5 iw-text-sm iw-text-blue-700",children:[o.jsx("strong",{children:"Gaze Analysis Disabled"}),o.jsx("br",{}),"Enable to track engagement and attention levels."]})]})}),nd=({showControls:e,isBubbleOpen:t,setIsBubbleOpen:r,setReference:i,clearCache:n,isModelLoaded:s,gazeAnalysisEnabled:a,referenceSet:c,showLandmarks:l,setShowLandmarks:h,showEngagementBar:u,setShowEngagementBar:f,handleToggleGazeAnalysis:w,stats:g,statusMessage:p,loadingProgress:y})=>e?o.jsxs(o.Fragment,{children:[o.jsx("button",{onClick:()=>r(!t),className:"iw-absolute iw-right-4 iw-bottom-4 iw-z-10 iw-flex iw-h-10 iw-w-10 iw-items-center iw-justify-center iw-rounded-full iw-text-white",children:o.jsx(ql,{className:"iw-size-4.5"})}),t&&o.jsxs("div",{className:"iw-absolute iw-right-4 iw-bottom-16 iw-z-10 iw-max-h-96 iw-w-80 iw-overflow-y-auto iw-rounded-md iw-bg-gray-50 iw-p-4 iw-shadow-lg",children:[o.jsx("h4",{className:"m-0 mb-2.5",children:"Controls"}),o.jsx("button",{onClick:i,disabled:!s||!a,className:`iw-mb-2.5 iw-block iw-w-full iw-rounded border-none iw-px-4 iw-py-2 iw-text-sm iw-text-white ${!s||!a?"iw-cursor-not-allowed iw-bg-gray-400":"iw-cursor-pointer iw-bg-blue-600 hover:iw-bg-blue-700"}`,children:c?"Reference Set ✓":"Set Reference"}),o.jsx("button",{onClick:n,className:"iw-mb-4 iw-block iw-w-full iw-cursor-pointer iw-rounded iw-border-none iw-bg-red-600 iw-px-4 iw-py-2 iw-text-sm iw-text-white hover:iw-bg-red-700",children:"Clear Model Cache"}),o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-2.5",children:[o.jsxs("label",{className:"iw-flex iw-cursor-pointer iw-items-center iw-gap-2",children:[o.jsx("input",{type:"checkbox",checked:a,onChange:m=>w(m.target.checked)}),o.jsx("strong",{children:"Enable Gaze Analysis"})]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:l,onChange:m=>h(m.target.checked),disabled:!a}),"Show Landmarks"]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:u,onChange:m=>f(m.target.checked),disabled:!a}),"Show Engagement Bar"]})]}),c&&o.jsx(id,{gazeAnalysisEnabled:a,isModelLoaded:s,loadingProgress:y,stats:g,statusMessage:p})]})]}):null;var Rt=typeof self<"u"?self:{};function Vr(e,t){e:{for(var r=["CLOSURE_FLAGS"],i=Rt,n=0;n<r.length;n++)if((i=i[r[n]])==null){r=null;break e}r=i}return(e=r&&r[e])!=null?e:t}function Pt(){throw Error("Invalid UTF8")}function ao(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}let vi,bn;const sd=typeof TextDecoder<"u";let od;const ad=typeof TextEncoder<"u";function co(e){if(ad)e=(od||(od=new TextEncoder)).encode(e);else{let r=0;const i=new Uint8Array(3*e.length);for(let n=0;n<e.length;n++){var t=e.charCodeAt(n);if(t<128)i[r++]=t;else{if(t<2048)i[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&n<e.length){const s=e.charCodeAt(++n);if(s>=56320&&s<=57343){t=1024*(t-55296)+s-56320+65536,i[r++]=t>>18|240,i[r++]=t>>12&63|128,i[r++]=t>>6&63|128,i[r++]=63&t|128;continue}n--}t=65533}i[r++]=t>>12|224,i[r++]=t>>6&63|128}i[r++]=63&t|128}}e=r===i.length?i:i.subarray(0,r)}return e}function lo(e){Rt.setTimeout(()=>{throw e},0)}var vn,cd=Vr(610401301,!1),uo=Vr(748402147,!0),xn=Vr(824648567,!0),En=Vr(824656860,Vr(1,!0));function ho(){var e=Rt.navigator;return e&&(e=e.userAgent)?e:""}const fo=Rt.navigator;function xi(e){return xi[" "](e),e}vn=fo&&fo.userAgentData||null,xi[" "]=function(){};const wo={};let Gr=null;function ld(e){const t=e.length;let r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);const i=new Uint8Array(r);let n=0;return function(s,a){function c(h){for(;l<s.length;){const u=s.charAt(l++),f=Gr[u];if(f!=null)return f;if(!/^[\s\xa0]*$/.test(u))throw Error("Unknown base64 encoding at char: "+u)}return h}go();let l=0;for(;;){const h=c(-1),u=c(0),f=c(64),w=c(64);if(w===64&&h===-1)break;a(h<<2|u>>4),f!=64&&(a(u<<4&240|f>>2),w!=64&&a(f<<6&192|w))}}(e,function(s){i[n++]=s}),n!==r?i.subarray(0,n):i}function go(){if(!Gr){Gr={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){const i=e.concat(t[r].split(""));wo[r]=i;for(let n=0;n<i.length;n++){const s=i[n];Gr[s]===void 0&&(Gr[s]=n)}}}}var dd=typeof Uint8Array<"u",po=!(!(cd&&vn&&vn.brands.length>0)&&(ho().indexOf("Trident")!=-1||ho().indexOf("MSIE")!=-1))&&typeof btoa=="function";const mo=/[-_.]/g,ud={"-":"+",_:"/",".":"="};function hd(e){return ud[e]||""}function yo(e){if(!po)return ld(e);e=mo.test(e)?e.replace(mo,hd):e,e=atob(e);const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function _n(e){return dd&&e!=null&&e instanceof Uint8Array}var er={};function Ot(){return fd||(fd=new it(null,er))}function kn(e){bo(er);var t=e.g;return(t=t==null||_n(t)?t:typeof t=="string"?yo(t):null)==null?t:e.g=t}var it=class{h(){return new Uint8Array(kn(this)||0)}constructor(e,t){if(bo(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}};let fd,wd;function bo(e){if(e!==er)throw Error("illegal external caller")}function vo(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Sn(e){return vo(e=Error(e),"warning"),e}function tr(e,t){if(e!=null){var r=wd??(wd={}),i=r[e]||0;i>=t||(r[e]=i+1,vo(e=Error(),"incident"),lo(e))}}function rr(){return typeof BigInt=="function"}var ir=typeof Symbol=="function"&&typeof Symbol()=="symbol";function nt(e,t,r=!1){return typeof Symbol=="function"&&typeof Symbol()=="symbol"?r&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t}var gd=nt("jas",void 0,!0),xo=nt(void 0,"0di"),jr=nt(void 0,"1oa"),Le=nt(void 0,Symbol()),pd=nt(void 0,"0ub"),md=nt(void 0,"0ubs"),Cn=nt(void 0,"0ubsb"),yd=nt(void 0,"0actk"),nr=nt("m_m","Pa",!0),Eo=nt();const _o={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},ko=Object.defineProperties,_=ir?gd:"Ga";var Bt;const So=[];function zr(e,t){ir||_ in e||ko(e,_o),e[_]|=t}function de(e,t){ir||_ in e||ko(e,_o),e[_]=t}function $r(e){return zr(e,34),e}function Wr(e){return zr(e,8192),e}de(So,7),Bt=Object.freeze(So);var sr={};function Me(e,t){return t===void 0?e.h!==Ut&&!!(2&(0|e.v[_])):!!(2&t)&&e.h!==Ut}const Ut={};function An(e,t){if(e!=null){if(typeof e=="string")e=e?new it(e,er):Ot();else if(e.constructor!==it)if(_n(e))e=e.length?new it(new Uint8Array(e),er):Ot();else{if(!t)throw Error();e=void 0}}return e}class Co{constructor(t,r,i){this.g=t,this.h=r,this.l=i}next(){const t=this.g.next();return t.done||(t.value=this.h.call(this.l,t.value)),t}[Symbol.iterator](){return this}}var bd=Object.freeze({});function Ao(e,t,r){const i=128&t?0:-1,n=e.length;var s;(s=!!n)&&(s=(s=e[n-1])!=null&&typeof s=="object"&&s.constructor===Object);const a=n+(s?-1:0);for(t=128&t?1:0;t<a;t++)r(t-i,e[t]);if(s){e=e[n-1];for(const c in e)!isNaN(c)&&r(+c,e[c])}}var To={};function or(e){return 128&e?To:void 0}function Ei(e){return e.Na=!0,e}var vd=Ei(e=>typeof e=="number"),No=Ei(e=>typeof e=="string"),xd=Ei(e=>typeof e=="boolean"),_i=typeof Rt.BigInt=="function"&&typeof Rt.BigInt(0)=="bigint";function De(e){var t=e;if(No(t)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(t))throw Error(String(t))}else if(vd(t)&&!Number.isSafeInteger(t))throw Error(String(t));return _i?BigInt(e):e=xd(e)?e?"1":"0":No(e)?e.trim()||"0":String(e)}var Tn=Ei(e=>_i?e>=_d&&e<=Sd:e[0]==="-"?Io(e,Ed):Io(e,kd));const Ed=Number.MIN_SAFE_INTEGER.toString(),_d=_i?BigInt(Number.MIN_SAFE_INTEGER):void 0,kd=Number.MAX_SAFE_INTEGER.toString(),Sd=_i?BigInt(Number.MAX_SAFE_INTEGER):void 0;function Io(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){const i=e[r],n=t[r];if(i>n)return!1;if(i<n)return!0}}const Cd=typeof Uint8Array.prototype.slice=="function";let Ad,R=0,ae=0;function Fo(e){const t=e>>>0;R=t,ae=(e-t)/4294967296>>>0}function ar(e){if(e<0){Fo(-e);const[t,r]=Mn(R,ae);R=t>>>0,ae=r>>>0}else Fo(e)}function Nn(e){const t=Ad||(Ad=new DataView(new ArrayBuffer(8)));t.setFloat32(0,+e,!0),ae=0,R=t.getUint32(0,!0)}function In(e,t){const r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Hr(e,t)}function Td(e,t){return De(rr()?BigInt.asUintN(64,(BigInt(t>>>0)<<BigInt(32))+BigInt(e>>>0)):Hr(e,t))}function Fn(e,t){const r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=In(e,t))=="number"?r?-e:e:r?"-"+e:e}function Lo(e,t){return rr()?De(BigInt.asIntN(64,(BigInt.asUintN(32,BigInt(t))<<BigInt(32))+BigInt.asUintN(32,BigInt(e)))):De(Ln(e,t))}function Hr(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else rr()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+Mo(r)+Mo(e));return r}function Mo(e){return e=String(e),"0000000".slice(e.length)+e}function Ln(e,t){if(2147483648&t)if(rr())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{const[r,i]=Mn(e,t);e="-"+Hr(r,i)}else e=Hr(e,t);return e}function ki(e){if(e.length<16)ar(Number(e));else if(rr())e=BigInt(e),R=Number(e&BigInt(4294967295))>>>0,ae=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+(e[0]==="-");ae=R=0;const r=e.length;for(let i=t,n=(r-t)%6+t;n<=r;i=n,n+=6){const s=Number(e.slice(i,n));ae*=1e6,R=1e6*R+s,R>=4294967296&&(ae+=Math.trunc(R/4294967296),ae>>>=0,R>>>=0)}if(t){const[i,n]=Mn(R,ae);R=i,ae=n}}}function Mn(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function Qe(e){return Array.prototype.slice.call(e)}const qr=typeof BigInt=="function"?BigInt.asIntN:void 0,Nd=typeof BigInt=="function"?BigInt.asUintN:void 0,Vt=Number.isSafeInteger,Si=Number.isFinite,cr=Math.trunc,Id=De(0);function Kr(e){if(e!=null&&typeof e!="number")throw Error(`Value of float/double field must be a number, found ${typeof e}: ${e}`);return e}function st(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function Yr(e){if(e!=null&&typeof e!="boolean"){var t=typeof e;throw Error(`Expected boolean but got ${t!="object"?t:e?Array.isArray(e)?"array":t:"null"}: ${e}`)}return e}function Do(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}const Fd=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Xr(e){switch(typeof e){case"bigint":return!0;case"number":return Si(e);case"string":return Fd.test(e);default:return!1}}function lr(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return Si(e)?0|e:void 0}function Po(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return Si(e)?e>>>0:void 0}function Oo(e){const t=e.length;return(e[0]==="-"?t<20||t===20&&e<="-9223372036854775808":t<19||t===19&&e<="9223372036854775807")?e:(ki(e),Ln(R,ae))}function Dn(e){return e=cr(e),Vt(e)||(ar(e),e=Fn(R,ae)),e}function Bo(e){var t=cr(Number(e));return Vt(t)?String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),Oo(e))}function Uo(e){var t=cr(Number(e));return Vt(t)?De(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),rr()?De(qr(64,BigInt(e))):De(Oo(e)))}function Vo(e){return Vt(e)?e=De(Dn(e)):(e=cr(e),Vt(e)?e=String(e):(ar(e),e=Ln(R,ae)),e=De(e)),e}function Ld(e){return e==null?e:typeof e=="bigint"?(Tn(e)?e=Number(e):(e=qr(64,e),e=Tn(e)?Number(e):String(e)),e):Xr(e)?typeof e=="number"?Dn(e):Bo(e):void 0}function Ci(e){const t=typeof e;return e==null?e:t==="bigint"?De(qr(64,e)):Xr(e)?t==="string"?Uo(e):Vo(e):void 0}function Go(e){if(typeof e!="string")throw Error();return e}function Qr(e){if(e!=null&&typeof e!="string")throw Error();return e}function ye(e){return e==null||typeof e=="string"?e:void 0}function Pn(e,t,r,i){return e!=null&&e[nr]===sr?e:Array.isArray(e)?((i=(r=0|e[_])|32&i|2&i)!==r&&de(e,i),new t(e)):(r?2&i?((e=t[xo])||($r((e=new t).v),e=t[xo]=e),t=e):t=new t:t=void 0,t)}function Md(e,t,r){if(t)e:{if(!Xr(t=e))throw Sn("int64");switch(typeof t){case"string":t=Uo(t);break e;case"bigint":t=De(qr(64,t));break e;default:t=Vo(t)}}else t=Ci(e);return(e=t)==null?r?Id:void 0:e}const Dd={};let Pd=function(){try{return xi(new class extends Map{constructor(){super()}}),!1}catch{return!0}}();class On{constructor(){this.g=new Map}get(t){return this.g.get(t)}set(t,r){return this.g.set(t,r),this.size=this.g.size,this}delete(t){return t=this.g.delete(t),this.size=this.g.size,t}clear(){this.g.clear(),this.size=this.g.size}has(t){return this.g.has(t)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(t,r){return this.g.forEach(t,r)}[Symbol.iterator](){return this.entries()}}const Od=Pd?(Object.setPrototypeOf(On.prototype,Map.prototype),Object.defineProperties(On.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),On):class extends Map{constructor(){super()}};function jo(e){return e}function Bn(e){if(2&e.J)throw Error("Cannot mutate an immutable Map")}var wt=class extends Od{constructor(e,t,r=jo,i=jo){super(),this.J=0|e[_],this.K=t,this.S=r,this.fa=this.K?Bd:i;for(let n=0;n<e.length;n++){const s=e[n],a=r(s[0],!1,!0);let c=s[1];t?c===void 0&&(c=null):c=i(s[1],!1,!0,void 0,void 0,this.J),super.set(a,c)}}V(e){return Wr(Array.from(super.entries(),e))}clear(){Bn(this),super.clear()}delete(e){return Bn(this),super.delete(this.S(e,!0,!1))}entries(){if(this.K){var e=super.keys();e=new Co(e,Ud,this)}else e=super.entries();return e}values(){if(this.K){var e=super.keys();e=new Co(e,wt.prototype.get,this)}else e=super.values();return e}forEach(e,t){this.K?super.forEach((r,i,n)=>{e.call(t,n.get(i),i,n)}):super.forEach(e,t)}set(e,t){return Bn(this),(e=this.S(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.fa(t,!0,!0,this.K,!1,this.J))}Ma(e){const t=this.S(e[0],!1,!0);e=e[1],e=this.K?e===void 0?null:e:this.fa(e,!1,!0,void 0,!1,this.J),super.set(t,e)}has(e){return super.has(this.S(e,!1,!1))}get(e){e=this.S(e,!1,!1);const t=super.get(e);if(t!==void 0){var r=this.K;return r?((r=this.fa(t,!1,!0,r,this.ra,this.J))!==t&&super.set(e,r),r):t}}[Symbol.iterator](){return this.entries()}};function Bd(e,t,r,i,n,s){return e=Pn(e,i,r,s),n&&(e=Gn(e)),e}function Ud(e){return[e,this.get(e)]}let Vd;function zo(){return Vd||(Vd=new wt($r([]),void 0,void 0,void 0,Dd))}function Ai(e){return Le?e[Le]:void 0}function Ti(e,t){for(const r in e)!isNaN(r)&&t(e,+r,e[r])}wt.prototype.toJSON=void 0;var Un=class{};const Gd={Ka:!0};function jd(e,t){t<100||tr(md,1)}function Ni(e,t,r,i){const n=i!==void 0;i=!!i;var s,a=Le;!n&&ir&&a&&(s=e[a])&&Ti(s,jd),a=[];var c=e.length;let l;s=4294967295;let h=!1;const u=!!(64&t),f=u?128&t?0:-1:void 0;1&t||(l=c&&e[c-1],l!=null&&typeof l=="object"&&l.constructor===Object?s=--c:l=void 0,!u||128&t||n||(h=!0,s=s-f+f)),t=void 0;for(var w=0;w<c;w++){let g=e[w];if(g!=null&&(g=r(g,i))!=null)if(u&&w>=s){const p=w-f;(t??(t={}))[p]=g}else a[w]=g}if(l)for(let g in l){if((c=l[g])==null||(c=r(c,i))==null)continue;let p;w=+g,u&&!Number.isNaN(w)&&(p=w+f)<s?a[p]=c:(t??(t={}))[g]=c}return t&&(h?a.push(t):a[s]=t),n&&Le&&(e=Ai(e))&&e instanceof Un&&(a[Le]=function(g){const p=new Un;return Ti(g,(y,m,b)=>{p[m]=Qe(b)}),p.da=g.da,p}(e)),a}function zd(e){return e[0]=Jr(e[0]),e[1]=Jr(e[1]),e}function Jr(e){switch(typeof e){case"number":return Number.isFinite(e)?e:""+e;case"bigint":return Tn(e)?Number(e):""+e;case"boolean":return e?1:0;case"object":if(Array.isArray(e)){var t=0|e[_];return e.length===0&&1&t?void 0:Ni(e,t,Jr)}if(e!=null&&e[nr]===sr)return $o(e);if(e instanceof it){if((t=e.g)==null)e="";else if(typeof t=="string")e=t;else{if(po){for(var r="",i=0,n=t.length-10240;i<n;)r+=String.fromCharCode.apply(null,t.subarray(i,i+=10240));r+=String.fromCharCode.apply(null,i?t.subarray(i):t),t=btoa(r)}else{r===void 0&&(r=0),go(),r=wo[r],i=Array(Math.floor(t.length/3)),n=r[64]||"";let h=0,u=0;for(;h<t.length-2;h+=3){var s=t[h],a=t[h+1],c=t[h+2],l=r[s>>2];s=r[(3&s)<<4|a>>4],a=r[(15&a)<<2|c>>6],c=r[63&c],i[u++]=l+s+a+c}switch(l=0,c=n,t.length-h){case 2:c=r[(15&(l=t[h+1]))<<2]||n;case 1:t=t[h],i[u]=r[t>>2]+r[(3&t)<<4|l>>4]+c+n}t=i.join("")}e=e.g=t}return e}return e instanceof wt?e=e.size!==0?e.V(zd):void 0:void 0}return e}function $o(e){return Ni(e=e.v,0|e[_],Jr)}let $d,Wd;function Gt(e,t){return Wo(e,t[0],t[1])}function Wo(e,t,r,i=0){if(e==null){var n=32;r?(e=[r],n|=128):e=[],t&&(n=-16760833&n|(1023&t)<<14)}else{if(!Array.isArray(e))throw Error("narr");if(n=0|e[_],uo&&1&n)throw Error("rfarr");if(2048&n&&!(2&n)&&function(){if(uo)throw Error("carr");tr(yd,5)}(),256&n)throw Error("farr");if(64&n)return(n|i)!==n&&de(e,n|i),e;if(r&&(n|=128,r!==e[0]))throw Error("mid");e:{n|=64;var s=(r=e).length;if(s){var a=s-1;const l=r[a];if(l!=null&&typeof l=="object"&&l.constructor===Object){if((a-=t=128&n?0:-1)>=1024)throw Error("pvtlmt");for(var c in l)(s=+c)<a&&(r[s+t]=l[c],delete l[c]);n=-16760833&n|(1023&a)<<14;break e}}if(t){if((c=Math.max(t,s-(128&n?0:-1)))>1024)throw Error("spvt");n=-16760833&n|(1023&c)<<14}}}return de(e,64|n|i),e}function Hd(e,t){if(typeof e!="object")return e;if(Array.isArray(e)){var r=0|e[_];return e.length===0&&1&r?void 0:Ho(e,r,t)}if(e!=null&&e[nr]===sr)return qo(e);if(e instanceof wt){if(2&(t=e.J))return e;if(!e.size)return;if(r=$r(e.V()),e.K)for(e=0;e<r.length;e++){const i=r[e];let n=i[1];n=n==null||typeof n!="object"?void 0:n!=null&&n[nr]===sr?qo(n):Array.isArray(n)?Ho(n,0|n[_],!!(32&t)):void 0,i[1]=n}return r}return e instanceof it?e:void 0}function Ho(e,t,r){return 2&t||(!r||4096&t||16&t?e=dr(e,t,!1,r&&!(16&t)):(zr(e,34),4&t&&Object.freeze(e))),e}function Vn(e,t,r){return e=new e.constructor(t),r&&(e.h=Ut),e.m=Ut,e}function qo(e){const t=e.v,r=0|t[_];return Me(e,r)?e:jn(e,t,r)?Vn(e,t):dr(t,r)}function dr(e,t,r,i){return i??(i=!!(34&t)),e=Ni(e,t,Hd,i),i=32,r&&(i|=2),de(e,t=16769217&t|i),e}function Gn(e){const t=e.v,r=0|t[_];return Me(e,r)?jn(e,t,r)?Vn(e,t,!0):new e.constructor(dr(t,r,!1)):e}function ur(e){if(e.h!==Ut)return!1;var t=e.v;return zr(t=dr(t,0|t[_]),2048),e.v=t,e.h=void 0,e.m=void 0,!0}function hr(e){if(!ur(e)&&Me(e,0|e.v[_]))throw Error()}function jt(e,t){t===void 0&&(t=0|e[_]),32&t&&!(4096&t)&&de(e,4096|t)}function jn(e,t,r){return!!(2&r)||!(!(32&r)||4096&r)&&(de(t,2|r),e.h=Ut,!0)}const qd=De(0),kt={};function Y(e,t,r,i,n){if((t=gt(e.v,t,r,n))!==null||i&&e.m!==Ut)return t}function gt(e,t,r,i){if(t===-1)return null;const n=t+(r?0:-1),s=e.length-1;let a,c;if(!(s<1+(r?0:-1))){if(n>=s)if(a=e[s],a!=null&&typeof a=="object"&&a.constructor===Object)r=a[t],c=!0;else{if(n!==s)return;r=a}else r=e[n];if(i&&r!=null){if((i=i(r))==null)return i;if(!Object.is(i,r))return c?a[t]=i:e[n]=i,i}return r}}function $(e,t,r,i){hr(e),ue(e=e.v,0|e[_],t,r,i)}function ue(e,t,r,i,n){const s=r+(n?0:-1);var a=e.length-1;if(a>=1+(n?0:-1)&&s>=a){const c=e[a];if(c!=null&&typeof c=="object"&&c.constructor===Object)return c[r]=i,t}return s<=a?(e[s]=i,t):(i!==void 0&&(r>=(a=(t??(t=0|e[_]))>>14&1023||536870912)?i!=null&&(e[a+(n?0:-1)]={[r]:i}):e[s]=i),t)}function zt(){return bd===void 0?2:4}function $t(e,t,r,i,n){let s=e.v,a=0|s[_];i=Me(e,a)?1:i,n=!!n||i===3,i===2&&ur(e)&&(s=e.v,a=0|s[_]);let c=(e=zn(s,t))===Bt?7:0|e[_],l=$n(c,a);var h=!(4&l);if(h){4&l&&(e=Qe(e),c=0,l=Ht(l,a),a=ue(s,a,t,e));let u=0,f=0;for(;u<e.length;u++){const w=r(e[u]);w!=null&&(e[f++]=w)}f<u&&(e.length=f),r=-513&(4|l),l=r&=-1025,l&=-4097}return l!==c&&(de(e,l),2&l&&Object.freeze(e)),Ko(e,l,s,a,t,i,h,n)}function Ko(e,t,r,i,n,s,a,c){let l=t;return s===1||s===4&&(2&t||!(16&t)&&32&i)?Wt(t)||((t|=!e.length||a&&!(4096&t)||32&i&&!(4096&t||16&t)?2:256)!==l&&de(e,t),Object.freeze(e)):(s===2&&Wt(t)&&(e=Qe(e),l=0,t=Ht(t,i),i=ue(r,i,n,e)),Wt(t)||(c||(t|=16),t!==l&&de(e,t))),2&t||!(4096&t||16&t)||jt(r,i),e}function zn(e,t,r){return e=gt(e,t,r),Array.isArray(e)?e:Bt}function $n(e,t){return 2&t&&(e|=2),1|e}function Wt(e){return!!(2&e)&&!!(4&e)||!!(256&e)}function Yo(e){return An(e,!0)}function Xo(e){e=Qe(e);for(let t=0;t<e.length;t++){const r=e[t]=Qe(e[t]);Array.isArray(r[1])&&(r[1]=$r(r[1]))}return Wr(e)}function St(e,t,r,i){hr(e),ue(e=e.v,0|e[_],t,(i==="0"?Number(r)===0:r===i)?void 0:r)}function fr(e,t,r){if(2&t)throw Error();const i=or(t);let n=zn(e,r,i),s=n===Bt?7:0|n[_],a=$n(s,t);return(2&a||Wt(a)||16&a)&&(a===s||Wt(a)||de(n,a),n=Qe(n),s=0,a=Ht(a,t),ue(e,t,r,n,i)),a&=-13,a!==s&&de(n,a),n}function Wn(e,t){var r=tc;return qn(Hn(e=e.v),e,void 0,r)===t?t:-1}function Hn(e){if(ir)return e[jr]??(e[jr]=new Map);if(jr in e)return e[jr];const t=new Map;return Object.defineProperty(e,jr,{value:t}),t}function Qo(e,t,r,i,n){const s=Hn(e),a=qn(s,e,t,r,n);return a!==i&&(a&&(t=ue(e,t,a,void 0,n)),s.set(r,i)),t}function qn(e,t,r,i,n){let s=e.get(i);if(s!=null)return s;s=0;for(let a=0;a<i.length;a++){const c=i[a];gt(t,c,n)!=null&&(s!==0&&(r=ue(t,r,s,void 0,n)),s=c)}return e.set(i,s),s}function Kn(e,t,r){let i=0|e[_];const n=or(i),s=gt(e,r,n);let a;if(s!=null&&s[nr]===sr){if(!Me(s))return ur(s),s.v;a=s.v}else Array.isArray(s)&&(a=s);if(a){const c=0|a[_];2&c&&(a=dr(a,c))}return a=Gt(a,t),a!==s&&ue(e,i,r,a,n),a}function Jo(e,t,r,i,n){let s=!1;if((i=gt(e,i,n,a=>{const c=Pn(a,r,!1,t);return s=c!==a&&c!=null,c}))!=null)return s&&!Me(i)&&jt(e,t),i}function V(e,t,r,i){let n=e.v,s=0|n[_];if((t=Jo(n,s,t,r,i))==null)return t;if(s=0|n[_],!Me(e,s)){const a=Gn(t);a!==t&&(ur(e)&&(n=e.v,s=0|n[_]),s=ue(n,s,r,t=a,i),jt(n,s))}return t}function Zo(e,t,r,i,n,s,a,c){var l=Me(e,r);s=l?1:s,a=!!a||s===3,l=c&&!l,(s===2||l)&&ur(e)&&(r=0|(t=e.v)[_]);var h=(e=zn(t,n))===Bt?7:0|e[_],u=$n(h,r);if(c=!(4&u)){var f=e,w=r;const g=!!(2&u);g&&(w|=2);let p=!g,y=!0,m=0,b=0;for(;m<f.length;m++){const v=Pn(f[m],i,!1,w);if(v instanceof i){if(!g){const F=Me(v);p&&(p=!F),y&&(y=F)}f[b++]=v}}b<m&&(f.length=b),u|=4,u=y?-4097&u:4096|u,u=p?8|u:-9&u}if(u!==h&&(de(e,u),2&u&&Object.freeze(e)),l&&!(8&u||!e.length&&(s===1||s===4&&(2&u||!(16&u)&&32&r)))){for(Wt(u)&&(e=Qe(e),u=Ht(u,r),r=ue(t,r,n,e)),i=e,l=u,h=0;h<i.length;h++)(f=i[h])!==(u=Gn(f))&&(i[h]=u);l|=8,de(e,u=l=i.length?4096|l:-4097&l)}return Ko(e,u,t,r,n,s,c,a)}function pt(e,t,r){const i=e.v;return Zo(e,i,0|i[_],t,r,zt(),!1,!0)}function Ro(e){return e==null&&(e=void 0),e}function I(e,t,r,i,n){return $(e,r,i=Ro(i),n),i&&!Me(i)&&jt(e.v),e}function Zr(e,t,r,i){e:{var n=i=Ro(i);hr(e);const s=e.v;let a=0|s[_];if(n==null){const c=Hn(s);if(qn(c,s,a,r)!==t)break e;c.set(r,0)}else a=Qo(s,a,r,t);ue(s,a,t,n)}i&&!Me(i)&&jt(e.v)}function Ht(e,t){return-273&(2&t?2|e:-3&e)}function Yn(e,t,r,i){var n=i;hr(e),e=Zo(e,i=e.v,0|i[_],r,t,2,!0),n=n??new r,e.push(n),t=r=e===Bt?7:0|e[_],(n=Me(n))?(r&=-9,e.length===1&&(r&=-4097)):r|=4096,r!==t&&de(e,r),n||jt(i)}function We(e,t,r){return lr(Y(e,t,void 0,r))}function ea(e){return(En?Y(e,2,void 0,void 0,Ci):Ci(Y(e,2)))??qd}function ne(e,t){return Y(e,t,void 0,void 0,st)??0}function mt(e,t,r){if(r!=null){if(typeof r!="number"||!Si(r))throw Sn("int32");r|=0}$(e,t,r)}function A(e,t,r){$(e,t,Kr(r))}function Pe(e,t,r){St(e,t,Qr(r),"")}function Ii(e,t,r){{hr(e);const a=e.v;let c=0|a[_];if(r==null)ue(a,c,t);else{var i=e=r===Bt?7:0|r[_],n=Wt(e),s=n||Object.isFrozen(r);for(n||(e=0),s||(r=Qe(r),i=0,e=Ht(e,c),s=!1),e|=5,e|=(4&e?512&e?512:1024&e?1024:0:void 0)??(En?1024:0),n=0;n<r.length;n++){const l=r[n],h=Go(l);Object.is(l,h)||(s&&(r=Qe(r),i=0,e=Ht(e,c),s=!1),r[n]=h)}e!==i&&(s&&(r=Qe(r),e=Ht(e,c)),de(r,e)),ue(a,c,t,r)}}}function Fi(e,t,r){hr(e),$t(e,t,ye,2,!0).push(Go(r))}var wr=class{constructor(e,t,r){if(this.buffer=e,r&&!t)throw Error();this.g=t}};function Xn(e,t){if(typeof e=="string")return new wr(yo(e),t);if(Array.isArray(e))return new wr(new Uint8Array(e),t);if(e.constructor===Uint8Array)return new wr(e,!1);if(e.constructor===ArrayBuffer)return e=new Uint8Array(e),new wr(e,!1);if(e.constructor===it)return t=kn(e)||new Uint8Array(0),new wr(t,!0,e);if(e instanceof Uint8Array)return e=e.constructor===Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new wr(e,!1);throw Error()}function gr(e,t){let r,i=0,n=0,s=0;const a=e.h;let c=e.g;do r=a[c++],i|=(127&r)<<s,s+=7;while(s<32&&128&r);if(s>32)for(n|=(127&r)>>4,s=3;s<32&&128&r;s+=7)r=a[c++],n|=(127&r)<<s;if(qt(e,c),!(128&r))return t(i>>>0,n>>>0);throw Error()}function Qn(e){let t=0,r=e.g;const i=r+10,n=e.h;for(;r<i;){const s=n[r++];if(t|=s,(128&s)==0)return qt(e,r),!!(127&t)}throw Error()}function Ct(e){const t=e.h;let r=e.g,i=t[r++],n=127&i;if(128&i&&(i=t[r++],n|=(127&i)<<7,128&i&&(i=t[r++],n|=(127&i)<<14,128&i&&(i=t[r++],n|=(127&i)<<21,128&i&&(i=t[r++],n|=i<<28,128&i&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw Error();return qt(e,r),n}function yt(e){return Ct(e)>>>0}function Li(e){var t=e.h;const r=e.g;var i=t[r],n=t[r+1];const s=t[r+2];return t=t[r+3],qt(e,e.g+4),e=2*((n=(i<<0|n<<8|s<<16|t<<24)>>>0)>>31)+1,i=n>>>23&255,n&=8388607,i==255?n?NaN:e*(1/0):i==0?1401298464324817e-60*e*n:e*Math.pow(2,i-150)*(n+8388608)}function Kd(e){return Ct(e)}function qt(e,t){if(e.g=t,t>e.l)throw Error()}function ta(e,t){if(t<0)throw Error();const r=e.g;if((t=r+t)>e.l)throw Error();return e.g=t,r}function ra(e,t){if(t==0)return Ot();var r=ta(e,t);return e.Y&&e.j?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):Cd?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Ot():new it(r,er)}var ia=[];function na(e,t,r,i){if(Pi.length){const n=Pi.pop();return n.o(i),n.g.init(e,t,r,i),n}return new Yd(e,t,r,i)}function sa(e){e.g.clear(),e.l=-1,e.h=-1,Pi.length<100&&Pi.push(e)}function oa(e){var t=e.g;if(t.g==t.l)return!1;e.m=e.g.g;var r=yt(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5)||t<1)throw Error();return e.l=t,e.h=r,!0}function Mi(e){switch(e.h){case 0:e.h!=0?Mi(e):Qn(e.g);break;case 1:qt(e=e.g,e.g+8);break;case 2:if(e.h!=2)Mi(e);else{var t=yt(e.g);qt(e=e.g,e.g+t)}break;case 5:qt(e=e.g,e.g+4);break;case 3:for(t=e.l;;){if(!oa(e))throw Error();if(e.h==4){if(e.l!=t)throw Error();break}Mi(e)}break;default:throw Error()}}function Rr(e,t,r){const i=e.g.l;var n=yt(e.g);let s=(n=e.g.g+n)-i;if(s<=0&&(e.g.l=n,r(t,e,void 0,void 0,void 0),s=n-e.g.g),s)throw Error();return e.g.g=n,e.g.l=i,t}function Jn(e){var t=yt(e.g),r=ta(e=e.g,t);if(e=e.h,sd){var i,n=e;(i=bn)||(i=bn=new TextDecoder("utf-8",{fatal:!0})),t=r+t,n=r===0&&t===n.length?n:n.subarray(r,t);try{var s=i.decode(n)}catch(c){if(vi===void 0){try{i.decode(new Uint8Array([128]))}catch{}try{i.decode(new Uint8Array([97])),vi=!0}catch{vi=!1}}throw!vi&&(bn=void 0),c}}else{t=(s=r)+t,r=[];let c,l=null;for(;s<t;){var a=e[s++];a<128?r.push(a):a<224?s>=t?Pt():(c=e[s++],a<194||(192&c)!=128?(s--,Pt()):r.push((31&a)<<6|63&c)):a<240?s>=t-1?Pt():(c=e[s++],(192&c)!=128||a===224&&c<160||a===237&&c>=160||(192&(i=e[s++]))!=128?(s--,Pt()):r.push((15&a)<<12|(63&c)<<6|63&i)):a<=244?s>=t-2?Pt():(c=e[s++],(192&c)!=128||c-144+(a<<28)>>30||(192&(i=e[s++]))!=128||(192&(n=e[s++]))!=128?(s--,Pt()):(a=(7&a)<<18|(63&c)<<12|(63&i)<<6|63&n,a-=65536,r.push(55296+(a>>10&1023),56320+(1023&a)))):Pt(),r.length>=8192&&(l=ao(l,r),r.length=0)}s=ao(l,r)}return s}function aa(e){const t=yt(e.g);return ra(e.g,t)}function Di(e,t,r){var i=yt(e.g);for(i=e.g.g+i;e.g.g<i;)r.push(t(e.g))}var Yd=class{constructor(e,t,r,i){if(ia.length){const n=ia.pop();n.init(e,t,r,i),e=n}else e=new class{constructor(n,s,a,c){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.init(n,s,a,c)}init(n,s,a,{Y:c=!1,ea:l=!1}={}){this.Y=c,this.ea=l,n&&(n=Xn(n,this.ea),this.h=n.buffer,this.j=n.g,this.m=s||0,this.l=a!==void 0?this.m+a:this.h.length,this.g=this.m)}clear(){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.Y=!1}}(e,t,r,i);this.g=e,this.m=this.g.g,this.h=this.l=-1,this.o(i)}o({ha:e=!1}={}){this.ha=e}},Pi=[];function ca(e){return e?/^\d+$/.test(e)?(ki(e),new Zn(R,ae)):null:Xd||(Xd=new Zn(0,0))}var Zn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Xd;function la(e){return e?/^-?\d+$/.test(e)?(ki(e),new Rn(R,ae)):null:Qd||(Qd=new Rn(0,0))}var Rn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Qd;function pr(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function mr(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Oi(e,t){if(t>=0)mr(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function es(e){var t=R;e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function yr(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function He(e,t,r){mr(e.g,8*t+r)}function ts(e,t){return He(e,t,2),t=e.g.end(),yr(e,t),t.push(e.h),t}function rs(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function Bi(e,t,r){He(e,t,2),mr(e.g,r.length),yr(e,e.g.end()),yr(e,r)}function Ui(e,t,r,i){r!=null&&(t=ts(e,t),i(r,e),rs(e,t))}function ot(){const e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var is=ot(),da=ot(),ns=ot(),ss=ot(),ua=ot(),ha=ot(),Jd=ot(),Vi=ot(),fa=ot(),wa=ot();function at(e,t,r){var i=e.v;Le&&Le in i&&(i=i[Le])&&delete i[t.g],t.h?t.j(e,t.h,t.g,r,t.l):t.j(e,t.g,r,t.l)}var k=class{constructor(e,t){this.v=Wo(e,t,void 0,2048)}toJSON(){return $o(this)}j(){var n;var e=Mu,t=this.v,r=e.g,i=Le;if(ir&&i&&((n=t[i])==null?void 0:n[r])!=null&&tr(pd,3),t=e.g,Eo&&Le&&Eo===void 0&&(i=(r=this.v)[Le])&&(i=i.da))try{i(r,t,Gd)}catch(s){lo(s)}return e.h?e.m(this,e.h,e.g,e.l):e.m(this,e.g,e.defaultValue,e.l)}clone(){const e=this.v,t=0|e[_];return jn(this,e,t)?Vn(this,e,!0):new this.constructor(dr(e,t,!1))}};k.prototype[nr]=sr,k.prototype.toString=function(){return this.v.toString()};var br=class{constructor(e,t,r){this.g=e,this.h=t,e=is,this.l=!!e&&r===e||!1}};function Gi(e,t){return new br(e,t,is)}function ga(e,t,r,i,n){Ui(e,r,xa(t,i),n)}const Zd=Gi(function(e,t,r,i,n){return e.h===2&&(Rr(e,Kn(t,i,r),n),!0)},ga),Rd=Gi(function(e,t,r,i,n){return e.h===2&&(Rr(e,Kn(t,i,r),n),!0)},ga);var ji=Symbol(),zi=Symbol(),os=Symbol(),pa=Symbol(),ma=Symbol();let ya,ba;function Kt(e,t,r,i){var n=i[e];if(n)return n;(n={}).qa=i,n.T=function(f){switch(typeof f){case"boolean":return $d||($d=[0,void 0,!0]);case"number":return f>0?void 0:f===0?Wd||(Wd=[0,void 0]):[-f,void 0];case"string":return[0,f];case"object":return f}}(i[0]);var s=i[1];let a=1;s&&s.constructor===Object&&(n.ba=s,typeof(s=i[++a])=="function"&&(n.ma=!0,ya??(ya=s),ba??(ba=i[a+1]),s=i[a+=2]));const c={};for(;s&&Array.isArray(s)&&s.length&&typeof s[0]=="number"&&s[0]>0;){for(var l=0;l<s.length;l++)c[s[l]]=s;s=i[++a]}for(l=1;s!==void 0;){let f;typeof s=="number"&&(l+=s,s=i[++a]);var h=void 0;if(s instanceof br?f=s:(f=Zd,a--),f==null?void 0:f.l){s=i[++a],h=i;var u=a;typeof s=="function"&&(s=s(),h[u]=s),h=s}for(u=l+1,typeof(s=i[++a])=="number"&&s<0&&(u-=s,s=i[++a]);l<u;l++){const w=c[l];h?r(n,l,f,h,w):t(n,l,f,w)}}return i[e]=n}function va(e){return Array.isArray(e)?e[0]instanceof br?e:[Rd,e]:[e,void 0]}function xa(e,t){return e instanceof k?e.v:Array.isArray(e)?Gt(e,t):void 0}function as(e,t,r,i){const n=r.g;e[t]=i?(s,a,c)=>n(s,a,c,i):n}function cs(e,t,r,i,n){const s=r.g;let a,c;e[t]=(l,h,u)=>s(l,h,u,c||(c=Kt(zi,as,cs,i).T),a||(a=ls(i)),n)}function ls(e){let t=e[os];if(t!=null)return t;const r=Kt(zi,as,cs,e);return t=r.ma?(i,n)=>ya(i,n,r):(i,n)=>{for(;oa(n)&&n.h!=4;){var s=n.l,a=r[s];if(a==null){var c=r.ba;c&&(c=c[s])&&(c=tu(c))!=null&&(a=r[s]=c)}if(a==null||!a(n,i,s)){if(a=(c=n).m,Mi(c),c.ha)var l=void 0;else l=c.g.g-a,c.g.g=a,l=ra(c.g,l);a=void 0,c=i,l&&((a=c[Le]??(c[Le]=new Un))[s]??(a[s]=[])).push(l)}}return(i=Ai(i))&&(i.da=r.qa[ma]),!0},e[os]=t,e[ma]=eu.bind(e),t}function eu(e,t,r,i){var n=this[zi];const s=this[os],a=Gt(void 0,n.T),c=Ai(e);if(c){var l=!1,h=n.ba;if(h){if(n=(u,f,w)=>{if(w.length!==0)if(h[f])for(const g of w){u=na(g);try{l=!0,s(a,u)}finally{sa(u)}}else i==null||i(e,f,w)},t==null)Ti(c,n);else if(c!=null){const u=c[t];u&&n(c,t,u)}if(l){let u=0|e[_];if(2&u&&2048&u&&!(r!=null&&r.Ka))throw Error();const f=or(u),w=(g,p)=>{if(gt(e,g,f)!=null){if((r==null?void 0:r.Qa)===1)return;throw Error()}p!=null&&(u=ue(e,u,g,p,f)),delete c[g]};t==null?Ao(a,0|a[_],(g,p)=>{w(g,p)}):w(t,gt(a,t,f))}}}}function tu(e){const t=(e=va(e))[0].g;if(e=e[1]){const r=ls(e),i=Kt(zi,as,cs,e).T;return(n,s,a)=>t(n,s,a,i,r)}return t}function $i(e,t,r){e[t]=r.h}function Wi(e,t,r,i){let n,s;const a=r.h;e[t]=(c,l,h)=>a(c,l,h,s||(s=Kt(ji,$i,Wi,i).T),n||(n=Ea(i)))}function Ea(e){let t=e[pa];if(!t){const r=Kt(ji,$i,Wi,e);t=(i,n)=>_a(i,n,r),e[pa]=t}return t}function _a(e,t,r){Ao(e,0|e[_],(i,n)=>{if(n!=null){var s=function(a,c){var l=a[c];if(l)return l;if((l=a.ba)&&(l=l[c])){var h=(l=va(l))[0].h;if(l=l[1]){const u=Ea(l),f=Kt(ji,$i,Wi,l).T;l=a.ma?ba(f,u):(w,g,p)=>h(w,g,p,f,u)}else l=h;return a[c]=l}}(r,i);s?s(t,n,i):i<500||tr(Cn,3)}}),(e=Ai(e))&&Ti(e,(i,n,s)=>{for(yr(t,t.g.end()),i=0;i<s.length;i++)yr(t,kn(s[i])||new Uint8Array(0))})}const ru=De(0);function vr(e,t){if(Array.isArray(t)){var r=0|t[_];if(4&r)return t;for(var i=0,n=0;i<t.length;i++){const s=e(t[i]);s!=null&&(t[n++]=s)}return n<i&&(t.length=n),(e=-1537&(5|r))!==r&&de(t,e),2&e&&Object.freeze(t),t}}function ke(e,t,r){return new br(e,t,r)}function xr(e,t,r){return new br(e,t,r)}function fe(e,t,r){ue(e,0|e[_],t,r,or(0|e[_]))}var iu=Gi(function(e,t,r,i,n){if(e.h!==2)return!1;if(e=Qe(e=Rr(e,Gt([void 0,void 0],i),n)),n=or(i=0|t[_]),2&i)throw Error();let s=gt(t,r,n);if(s instanceof wt)2&s.J?(s=s.V(),s.push(e),ue(t,i,r,s,n)):s.Ma(e);else if(Array.isArray(s)){var a=0|s[_];8192&a||de(s,a|=8192),2&a&&(s=Xo(s),ue(t,i,r,s,n)),s.push(e)}else ue(t,i,r,Wr([e]),n);return!0},function(e,t,r,i,n){if(t instanceof wt)t.forEach((s,a)=>{Ui(e,r,Gt([a,s],i),n)});else if(Array.isArray(t)){for(let s=0;s<t.length;s++){const a=t[s];Array.isArray(a)&&Ui(e,r,Gt(a,i),n)}Wr(t)}});function ka(e,t,r){(t=st(t))!=null&&(He(e,r,5),e=e.g,Nn(t),es(e))}function Sa(e,t,r){if(t=function(i){if(i==null)return i;const n=typeof i;if(n==="bigint")return String(qr(64,i));if(Xr(i)){if(n==="string")return Bo(i);if(n==="number")return Dn(i)}}(t),t!=null&&(typeof t=="string"&&la(t),t!=null))switch(He(e,r,0),typeof t){case"number":e=e.g,ar(t),pr(e,R,ae);break;case"bigint":r=BigInt.asUintN(64,t),r=new Rn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),pr(e.g,r.h,r.g);break;default:r=la(t),pr(e.g,r.h,r.g)}}function Ca(e,t,r){(t=lr(t))!=null&&t!=null&&(He(e,r,0),Oi(e.g,t))}function Aa(e,t,r){(t=Do(t))!=null&&(He(e,r,0),e.g.g.push(t?1:0))}function Ta(e,t,r){(t=ye(t))!=null&&Bi(e,r,co(t))}function Na(e,t,r,i,n){Ui(e,r,xa(t,i),n)}function Ia(e,t,r){(t=t==null||typeof t=="string"||t instanceof it?t:void 0)!=null&&Bi(e,r,Xn(t,!0).buffer)}function Fa(e,t,r){return(e.h===5||e.h===2)&&(t=fr(t,0|t[_],r),e.h==2?Di(e,Li,t):t.push(Li(e.g)),!0)}var ce=ke(function(e,t,r){return e.h===5&&(fe(t,r,Li(e.g)),!0)},ka,Vi),nu=xr(Fa,function(e,t,r){if((t=vr(st,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(He(i,n,5),i=i.g,Nn(s),es(i))}},Vi),ds=xr(Fa,function(e,t,r){if((t=vr(st,t))!=null&&t.length){He(e,r,2),mr(e.g,4*t.length);for(let i=0;i<t.length;i++)r=e.g,Nn(t[i]),es(r)}},Vi),su=ke(function(e,t,r){return e.h===5&&(fe(t,r,(e=Li(e.g))===0?void 0:e),!0)},ka,Vi),At=ke(function(e,t,r){return xn?(e.h!==0?e=!1:(fe(t,r,gr(e.g,Lo)),e=!0),e):e.h===0&&(fe(t,r,gr(e.g,Fn)),!0)},Sa,ha),us=ke(function(e,t,r){return xn?(e.h!==0?t=!1:(fe(t,r,(e=gr(e.g,Lo))===ru?void 0:e),t=!0),t):e.h===0&&(fe(t,r,(e=gr(e.g,Fn))===0?void 0:e),!0)},Sa,ha),ou=ke(function(e,t,r){return xn?(e.h!==0?e=!1:(fe(t,r,gr(e.g,Td)),e=!0),e):e.h===0&&(fe(t,r,gr(e.g,In)),!0)},function(e,t,r){if(t=function(i){if(i==null)return i;var n=typeof i;if(n==="bigint")return String(Nd(64,i));if(Xr(i)){if(n==="string")return n=cr(Number(i)),Vt(n)&&n>=0?i=String(n):((n=i.indexOf("."))!==-1&&(i=i.substring(0,n)),(n=i[0]!=="-"&&((n=i.length)<20||n===20&&i<="18446744073709551615"))||(ki(i),i=Hr(R,ae))),i;if(n==="number")return(i=cr(i))>=0&&Vt(i)||(ar(i),i=In(R,ae)),i}}(t),t!=null&&(typeof t=="string"&&ca(t),t!=null))switch(He(e,r,0),typeof t){case"number":e=e.g,ar(t),pr(e,R,ae);break;case"bigint":r=BigInt.asUintN(64,t),r=new Zn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),pr(e.g,r.h,r.g);break;default:r=ca(t),pr(e.g,r.h,r.g)}},Jd),we=ke(function(e,t,r){return e.h===0&&(fe(t,r,Ct(e.g)),!0)},Ca,ss),ei=xr(function(e,t,r){return(e.h===0||e.h===2)&&(t=fr(t,0|t[_],r),e.h==2?Di(e,Ct,t):t.push(Ct(e.g)),!0)},function(e,t,r){if((t=vr(lr,t))!=null&&t.length){r=ts(e,r);for(let i=0;i<t.length;i++)Oi(e.g,t[i]);rs(e,r)}},ss),Er=ke(function(e,t,r){return e.h===0&&(fe(t,r,(e=Ct(e.g))===0?void 0:e),!0)},Ca,ss),se=ke(function(e,t,r){return e.h===0&&(fe(t,r,Qn(e.g)),!0)},Aa,da),Yt=ke(function(e,t,r){return e.h===0&&(fe(t,r,(e=Qn(e.g))===!1?void 0:e),!0)},Aa,da),Ee=xr(function(e,t,r){return e.h===2&&(e=Jn(e),fr(t,0|t[_],r).push(e),!0)},function(e,t,r){if((t=vr(ye,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&Bi(i,n,co(s))}},ns),Tt=ke(function(e,t,r){return e.h===2&&(fe(t,r,(e=Jn(e))===""?void 0:e),!0)},Ta,ns),q=ke(function(e,t,r){return e.h===2&&(fe(t,r,Jn(e)),!0)},Ta,ns),ge=function(e,t,r=is){return new br(e,t,r)}(function(e,t,r,i,n){return e.h===2&&(i=Gt(void 0,i),fr(t,0|t[_],r).push(i),Rr(e,i,n),!0)},function(e,t,r,i,n){if(Array.isArray(t)){for(let s=0;s<t.length;s++)Na(e,t[s],r,i,n);1&(e=0|t[_])||de(t,1|e)}}),oe=Gi(function(e,t,r,i,n,s){if(e.h!==2)return!1;let a=0|t[_];return Qo(t,a,s,r,or(a)),Rr(e,t=Kn(t,i,r),n),!0},Na),La=ke(function(e,t,r){return e.h===2&&(fe(t,r,aa(e)),!0)},Ia,fa),au=xr(function(e,t,r){return(e.h===0||e.h===2)&&(t=fr(t,0|t[_],r),e.h==2?Di(e,yt,t):t.push(yt(e.g)),!0)},function(e,t,r){if((t=vr(Po,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(He(i,n,0),mr(i.g,s))}},ua),cu=ke(function(e,t,r){return e.h===0&&(fe(t,r,(e=yt(e.g))===0?void 0:e),!0)},function(e,t,r){(t=Po(t))!=null&&t!=null&&(He(e,r,0),mr(e.g,t))},ua),Oe=ke(function(e,t,r){return e.h===0&&(fe(t,r,Ct(e.g)),!0)},function(e,t,r){(t=lr(t))!=null&&(t=parseInt(t,10),He(e,r,0),Oi(e.g,t))},wa);class lu{constructor(t,r){var i=Be;this.g=t,this.h=r,this.m=V,this.j=I,this.defaultValue=void 0,this.l=i.Oa!=null?To:void 0}register(){xi(this)}}function ct(e,t){return new lu(e,t)}function Nt(e,t){return(r,i)=>{{const s={ea:!0};i&&Object.assign(s,i),r=na(r,void 0,void 0,s);try{const a=new e,c=a.v;ls(t)(c,r);var n=a}finally{sa(r)}}return n}}function Hi(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const a=this.g;return this.g=[],a}}}};_a(this.v,t,Kt(ji,$i,Wi,e)),yr(t,t.g.end());const r=new Uint8Array(t.h),i=t.l,n=i.length;let s=0;for(let a=0;a<n;a++){const c=i[a];r.set(c,s),s+=c.length}return t.l=[r],r}}var Ma=class extends k{constructor(e){super(e)}},Da=[0,Tt,ke(function(e,t,r){return e.h===2&&(fe(t,r,(e=aa(e))===Ot()?void 0:e),!0)},function(e,t,r){if(t!=null){if(t instanceof k){const i=t.Ra;return void(i?(t=i(t),t!=null&&Bi(e,r,Xn(t,!0).buffer)):tr(Cn,3))}if(Array.isArray(t))return void tr(Cn,3)}Ia(e,t,r)},fa)];let hs,Pa=globalThis.trustedTypes;function Oa(e){var t;return hs===void 0&&(hs=function(){let r=null;if(!Pa)return r;try{const i=n=>n;r=Pa.createPolicy("goog#html",{createHTML:i,createScript:i,createScriptURL:i})}catch{}return r}()),e=(t=hs)?t.createScriptURL(e):e,new class{constructor(r){this.g=r}toString(){return this.g+""}}(e)}function du(e,...t){if(t.length===0)return Oa(e[0]);let r=e[0];for(let i=0;i<t.length;i++)r+=encodeURIComponent(t[i])+e[i+1];return Oa(r)}var Ba=[0,we,Oe,se,-1,ei,Oe,-1,se],uu=class extends k{constructor(e){super(e)}},Ua=[0,se,q,se,Oe,-1,xr(function(e,t,r){return(e.h===0||e.h===2)&&(t=fr(t,0|t[_],r),e.h==2?Di(e,Kd,t):t.push(Ct(e.g)),!0)},function(e,t,r){if((t=vr(lr,t))!=null&&t.length){r=ts(e,r);for(let i=0;i<t.length;i++)Oi(e.g,t[i]);rs(e,r)}},wa),q,-1,[0,se,-1],Oe,se,-1],Va=[0,3,se,-1,2,[0,we],[0,Oe,se],[0,q,-1],[0]],Ga=[0,q,-2],ja=class extends k{constructor(e){super(e)}},za=[0],$a=[0,we,se,1,se,-4],Be=class extends k{constructor(e){super(e,2)}},he={};he[336783863]=[0,q,se,-1,we,[0,[1,2,3,4,5,6,7,8,9],oe,za,oe,Ua,oe,Ga,oe,$a,oe,Ba,oe,[0,q,-2],oe,[0,q,Oe],oe,Va,oe,[0,Oe,-1,se]],[0,q],se,[0,[1,3],[2,4],oe,[0,ei],-1,oe,[0,Ee],-1,ge,[0,q,-1]],q];var Wa=[0,us,-1,Yt,-3,us,ei,Tt,Er,us,-1,Yt,Er,Yt,-2,Tt];function X(e,t){Fi(e,3,t)}function O(e,t){Fi(e,4,t)}var Te=class extends k{constructor(e){super(e,500)}o(e){return I(this,0,7,e)}},ti=[-1,{}],Ha=[0,q,1,ti],qa=[0,q,Ee,ti];function qe(e,t){Yn(e,1,Te,t)}function ee(e,t){Fi(e,10,t)}function j(e,t){Fi(e,15,t)}var Ue=class extends k{constructor(e){super(e,500)}o(e){return I(this,0,1001,e)}},Ka=[-500,ge,[-500,Tt,-1,Ee,-3,[-2,he,se],ge,Da,Er,-1,Ha,qa,ge,[0,Tt,Yt],Tt,Wa,Er,Ee,987,Ee],4,ge,[-500,q,-1,[-1,{}],998,q],ge,[-500,q,Ee,-1,[-2,{},se],997,Ee,-1],Er,ge,[-500,q,Ee,ti,998,Ee],Ee,Er,Ha,qa,ge,[0,Tt,-1,ti],Ee,-2,Wa,Tt,-1,Yt,[0,Yt,cu],978,ti,ge,Da];Ue.prototype.g=Hi(Ka);var hu=Nt(Ue,Ka),fu=class extends k{constructor(e){super(e)}},Ya=class extends k{constructor(e){super(e)}g(){return pt(this,fu,1)}},Xa=[0,ge,[0,we,ce,q,-1]],qi=Nt(Ya,Xa),wu=class extends k{constructor(e){super(e)}},gu=class extends k{constructor(e){super(e)}},fs=class extends k{constructor(e){super(e)}l(){return V(this,wu,2)}g(){return pt(this,gu,5)}},Qa=Nt(class extends k{constructor(e){super(e)}},[0,Ee,ei,ds,[0,Oe,[0,we,-3],[0,ce,-3],[0,we,-1,[0,ge,[0,we,-2]]],ge,[0,ce,-1,q,ce]],q,-1,At,ge,[0,we,ce],Ee,At]),Ja=class extends k{constructor(e){super(e)}},_r=Nt(class extends k{constructor(e){super(e)}},[0,ge,[0,ce,-4]]),Za=class extends k{constructor(e){super(e)}},ri=Nt(class extends k{constructor(e){super(e)}},[0,ge,[0,ce,-4]]),pu=class extends k{constructor(e){super(e)}},mu=[0,we,-1,ds,Oe],Ra=class extends k{constructor(e){super(e)}};Ra.prototype.g=Hi([0,ce,-4,At]);var yu=class extends k{constructor(e){super(e)}},bu=Nt(class extends k{constructor(e){super(e)}},[0,ge,[0,1,we,q,Xa],At]),ec=class extends k{constructor(e){super(e)}},vu=class extends k{constructor(e){super(e)}na(){const e=Y(this,1,void 0,void 0,Yo);return e??Ot()}},xu=class extends k{constructor(e){super(e)}},tc=[1,2],Eu=Nt(class extends k{constructor(e){super(e)}},[0,ge,[0,tc,oe,[0,ds],oe,[0,La],we,q],At]),ws=class extends k{constructor(e){super(e)}},rc=[0,q,we,ce,Ee,-1],ic=class extends k{constructor(e){super(e)}},_u=[0,se,-1],nc=class extends k{constructor(e){super(e)}},Ki=[1,2,3,4,5,6],Yi=class extends k{constructor(e){super(e)}g(){return Y(this,1,void 0,void 0,Yo)!=null}l(){return ye(Y(this,2))!=null}},re=class extends k{constructor(e){super(e)}g(){return Do(Y(this,2))??!1}},sc=[0,La,q,[0,we,At,-1],[0,ou,At]],le=[0,sc,se,[0,Ki,oe,$a,oe,Ua,oe,Ba,oe,za,oe,Ga,oe,Va],Oe],Xi=class extends k{constructor(e){super(e)}},gs=[0,le,ce,-1,we],ku=ct(502141897,Xi);he[502141897]=gs;var Su=Nt(class extends k{constructor(e){super(e)}},[0,[0,Oe,-1,nu,au],mu]),oc=class extends k{constructor(e){super(e)}},ac=class extends k{constructor(e){super(e)}},ps=[0,le,ce,[0,le],se],Cu=ct(508968150,ac);he[508968150]=[0,le,gs,ps,ce,[0,[0,sc]]],he[508968149]=ps;var kr=class extends k{constructor(e){super(e)}l(){return V(this,ws,2)}g(){$(this,2)}},cc=[0,le,rc];he[478825465]=cc;var Au=class extends k{constructor(e){super(e)}},lc=class extends k{constructor(e){super(e)}},ms=class extends k{constructor(e){super(e)}},ys=class extends k{constructor(e){super(e)}},dc=class extends k{constructor(e){super(e)}},uc=[0,le,[0,le],cc,-1],hc=[0,le,ce,we],bs=[0,le,ce],fc=[0,le,hc,bs,ce],Tu=ct(479097054,dc);he[479097054]=[0,le,fc,uc],he[463370452]=uc,he[464864288]=hc;var Nu=ct(462713202,ys);he[462713202]=fc,he[474472470]=bs;var Iu=class extends k{constructor(e){super(e)}},wc=class extends k{constructor(e){super(e)}},gc=class extends k{constructor(e){super(e)}},pc=class extends k{constructor(e){super(e)}},vs=[0,le,ce,-1,we],xs=[0,le,ce,se];pc.prototype.g=Hi([0,le,bs,[0,le],gs,ps,vs,xs]);var mc=class extends k{constructor(e){super(e)}},Fu=ct(456383383,mc);he[456383383]=[0,le,rc];var yc=class extends k{constructor(e){super(e)}},Lu=ct(476348187,yc);he[476348187]=[0,le,_u];var bc=class extends k{constructor(e){super(e)}},vc=class extends k{constructor(e){super(e)}},xc=[0,Oe,-1],Mu=ct(458105876,class extends k{constructor(e){super(e)}g(){let e;var t=this.v;const r=0|t[_];return e=Me(this,r),t=function(i,n,s,a){var c=vc;!a&&ur(i)&&(s=0|(n=i.v)[_]);var l=gt(n,2);if(i=!1,l==null){if(a)return zo();l=[]}else if(l.constructor===wt){if(!(2&l.J)||a)return l;l=l.V()}else Array.isArray(l)?i=!!(2&(0|l[_])):l=[];if(a){if(!l.length)return zo();i||(i=!0,$r(l))}else i&&(i=!1,Wr(l),l=Xo(l));return!i&&32&s&&zr(l,32),s=ue(n,s,2,a=new wt(l,c,Md,void 0)),i||jt(n,s),a}(this,t,r,e),!e&&vc&&(t.ra=!0),t}});he[458105876]=[0,xc,iu,[!0,At,[0,q,-1,Ee]],[0,ei,se,Oe]];var Es=class extends k{constructor(e){super(e)}},Ec=ct(458105758,Es);he[458105758]=[0,le,q,xc];var _s=class extends k{constructor(e){super(e)}},_c=[0,su,-1,Yt],Du=class extends k{constructor(e){super(e)}},kc=class extends k{constructor(e){super(e)}},ks=[1,2];kc.prototype.g=Hi([0,ks,oe,_c,oe,[0,ge,_c]]);var Sc=class extends k{constructor(e){super(e)}},Pu=ct(443442058,Sc);he[443442058]=[0,le,q,we,ce,Ee,-1,se,ce],he[514774813]=vs;var Cc=class extends k{constructor(e){super(e)}},Ou=ct(516587230,Cc);function Ss(e,t){return t=t?t.clone():new ws,e.displayNamesLocale!==void 0?$(t,1,Qr(e.displayNamesLocale)):e.displayNamesLocale===void 0&&$(t,1),e.maxResults!==void 0?mt(t,2,e.maxResults):"maxResults"in e&&$(t,2),e.scoreThreshold!==void 0?A(t,3,e.scoreThreshold):"scoreThreshold"in e&&$(t,3),e.categoryAllowlist!==void 0?Ii(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&$(t,4),e.categoryDenylist!==void 0?Ii(t,5,e.categoryDenylist):"categoryDenylist"in e&&$(t,5),t}function Ac(e){const t=Number(e);return Number.isSafeInteger(t)?t:String(e)}function Cs(e,t=-1,r=""){return{categories:e.map(i=>({index:We(i,1)??0??-1,score:ne(i,2)??0,categoryName:ye(Y(i,3))??""??"",displayName:ye(Y(i,4))??""??""})),headIndex:t,headName:r}}function Bu(e){const t={classifications:pt(e,yu,1).map(r=>{var i;return Cs(((i=V(r,Ya,4))==null?void 0:i.g())??[],We(r,2)??0,ye(Y(r,3))??"")})};return function(r){return Ld(En?Y(r,2,void 0,void 0,Ci):Y(r,2))}(e)!=null&&(t.timestampMs=Ac(ea(e))),t}function Tc(e){var a,c;var t=$t(e,3,st,zt()),r=$t(e,2,lr,zt()),i=$t(e,1,ye,zt()),n=$t(e,9,ye,zt());const s={categories:[],keypoints:[]};for(let l=0;l<t.length;l++)s.categories.push({score:t[l],index:r[l]??-1,categoryName:i[l]??"",displayName:n[l]??""});if((t=(a=V(e,fs,4))==null?void 0:a.l())&&(s.boundingBox={originX:We(t,1,kt)??0,originY:We(t,2,kt)??0,width:We(t,3,kt)??0,height:We(t,4,kt)??0,angle:0}),(c=V(e,fs,4))==null?void 0:c.g().length)for(const l of V(e,fs,4).g())s.keypoints.push({x:Y(l,1,void 0,kt,st)??0,y:Y(l,2,void 0,kt,st)??0,score:Y(l,4,void 0,kt,st)??0,label:ye(Y(l,3,void 0,kt))??""});return s}function Qi(e){const t=[];for(const r of pt(e,Za,1))t.push({x:ne(r,1)??0,y:ne(r,2)??0,z:ne(r,3)??0,visibility:ne(r,4)??0});return t}function ii(e){const t=[];for(const r of pt(e,Ja,1))t.push({x:ne(r,1)??0,y:ne(r,2)??0,z:ne(r,3)??0,visibility:ne(r,4)??0});return t}function Nc(e){return Array.from(e,t=>t>127?t-256:t)}function Ic(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let r=0,i=0,n=0;for(let s=0;s<e.length;s++)r+=e[s]*t[s],i+=e[s]*e[s],n+=t[s]*t[s];if(i<=0||n<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(i*n)}let Ji;he[516587230]=[0,le,vs,xs,ce],he[518928384]=xs;const Uu=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Fc(){if(Ji===void 0)try{await WebAssembly.instantiate(Uu),Ji=!0}catch{Ji=!1}return Ji}async function ni(e,t=du``){const r=await Fc()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var Xt=class{};function Lc(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")}(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function Mc(e){if(typeof importScripts!="function"){const t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise((r,i)=>{t.addEventListener("load",()=>{r()},!1),t.addEventListener("error",n=>{i(n)},!1),document.body.appendChild(t)})}try{importScripts(e.toString())}catch(t){if(!(t instanceof TypeError))throw t;await self.import(e.toString())}}function Dc(e){return e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function S(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function Pc(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);const[i,n]=Dc(t);return!e.l||i===e.i.canvas.width&&n===e.i.canvas.height||(e.i.canvas.width=i,e.i.canvas.height=n),[i,n]}function Oc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const i=new Uint32Array(t.length);for(let n=0;n<t.length;n++)i[n]=e.i.stringToNewUTF8(t[n]);t=e.i._malloc(4*i.length),e.i.HEAPU32.set(i,t>>2),r(t);for(const n of i)e.i._free(n);e.i._free(t)}function lt(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function It(e,t,r){let i=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(n,s,a)=>{s?(r(i,a),i=[]):i.push(n)}}Xt.forVisionTasks=function(e){return ni("vision",e)},Xt.forTextTasks=function(e){return ni("text",e)},Xt.forGenAiExperimentalTasks=function(e){return ni("genai_experimental",e)},Xt.forGenAiTasks=function(e){return ni("genai",e)},Xt.forAudioTasks=function(e){return ni("audio",e)},Xt.isSimdSupported=function(){return Fc()};async function Vu(e,t,r,i){return e=await(async(n,s,a,c,l)=>{if(s&&await Mc(s),!self.ModuleFactory||a&&(await Mc(a),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&l&&((s=self.Module).locateFile=l.locateFile,l.mainScriptUrlOrBlob&&(s.mainScriptUrlOrBlob=l.mainScriptUrlOrBlob)),l=await self.ModuleFactory(self.Module||l),self.ModuleFactory=self.Module=void 0,new n(l,c)})(e,r.wasmLoaderPath,r.assetLoaderPath,t,{locateFile:n=>n.endsWith(".wasm")?r.wasmBinaryPath.toString():r.assetBinaryPath&&n.endsWith(".data")?r.assetBinaryPath.toString():n}),await e.o(i),e}function As(e,t){const r=V(e.baseOptions,Yi,1)||new Yi;typeof t=="string"?($(r,2,Qr(t)),$(r,1)):t instanceof Uint8Array&&($(r,1,An(t,!1)),$(r,2)),I(e.baseOptions,0,1,r)}function Bc(e){try{const t=e.H.length;if(t===1)throw Error(e.H[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.H.map(r=>r.message).join(", "))}finally{e.H=[]}}function x(e,t){e.C=Math.max(e.C,t)}function Zi(e,t){e.B=new Te,Pe(e.B,2,"PassThroughCalculator"),X(e.B,"free_memory"),O(e.B,"free_memory_unused_out"),ee(t,"free_memory"),qe(t,e.B)}function Sr(e,t){X(e.B,t),O(e.B,t+"_unused_out")}function Ri(e){e.g.addBoolToStream(!0,"free_memory",e.C)}var Ts=class{constructor(e){this.g=e,this.H=[],this.C=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){var r,i,n,s,a,c;if(t){const l=e.baseOptions||{};if((r=e.baseOptions)!=null&&r.modelAssetBuffer&&((i=e.baseOptions)!=null&&i.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((n=V(this.baseOptions,Yi,1))!=null&&n.g()||(s=V(this.baseOptions,Yi,1))!=null&&s.l()||(a=e.baseOptions)!=null&&a.modelAssetBuffer||(c=e.baseOptions)!=null&&c.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(h,u){let f=V(h.baseOptions,nc,3);if(!f){var w=f=new nc,g=new ja;Zr(w,4,Ki,g)}"delegate"in u&&(u.delegate==="GPU"?(u=f,w=new uu,Zr(u,2,Ki,w)):(u=f,w=new ja,Zr(u,4,Ki,w))),I(h.baseOptions,0,3,f)}(this,l),l.modelAssetPath)return fetch(l.modelAssetPath.toString()).then(h=>{if(h.ok)return h.arrayBuffer();throw Error(`Failed to fetch model: ${l.modelAssetPath} (${h.status})`)}).then(h=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(h),!0,!1,!1),As(this,"/model.dat"),this.m(),this.L()});if(l.modelAssetBuffer instanceof Uint8Array)As(this,l.modelAssetBuffer);else if(l.modelAssetBuffer)return async function(h){const u=[];for(var f=0;;){const{done:w,value:g}=await h.read();if(w)break;u.push(g),f+=g.length}if(u.length===0)return new Uint8Array(0);if(u.length===1)return u[0];h=new Uint8Array(f),f=0;for(const w of u)h.set(w,f),f+=w.length;return h}(l.modelAssetBuffer).then(h=>{As(this,h),this.m(),this.L()})}return this.m(),this.L(),Promise.resolve()}L(){}ca(){let e;if(this.g.ca(t=>{e=hu(t)}),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener((r,i)=>{this.H.push(Error(i))}),this.g.Ja(),this.g.setGraph(e,t),this.B=void 0,Bc(this)}finishProcessing(){this.g.finishProcessing(),Bc(this)}close(){this.B=void 0,this.g.closeGraph()}};function Ft(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}Ts.prototype.close=Ts.prototype.close;class Gu{constructor(t,r,i,n){this.g=t,this.h=r,this.m=i,this.l=n}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}function Uc(e,t,r){const i=e.g;if(r=Ft(i.createShader(r),"Failed to create WebGL shader"),i.shaderSource(r,t),i.compileShader(r),!i.getShaderParameter(r,i.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${i.getShaderInfoLog(r)}`);return i.attachShader(e.h,r),r}function Vc(e,t){const r=e.g,i=Ft(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(i);const n=Ft(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,n),r.enableVertexAttribArray(e.O),r.vertexAttribPointer(e.O,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);const s=Ft(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,s),r.enableVertexAttribArray(e.L),r.vertexAttribPointer(e.L,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new Gu(r,i,n,s)}function Ns(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function ju(e,t,r,i){return Ns(e,t),e.h||(e.m(),e.D()),r?(e.u||(e.u=Vc(e,!0)),r=e.u):(e.A||(e.A=Vc(e,!1)),r=e.A),t.useProgram(e.h),r.bind(),e.l(),e=i(),r.g.bindVertexArray(null),e}function Gc(e,t,r){return Ns(e,t),e=Ft(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,r??t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r??t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function jc(e,t,r){Ns(e,t),e.B||(e.B=Ft(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.B),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function zu(e){var t;(t=e.g)==null||t.bindFramebuffer(e.g.FRAMEBUFFER,null)}var zc=class{H(){return`
|
|
2
2
|
precision mediump float;
|
|
3
3
|
varying vec2 vTex;
|
|
4
4
|
uniform sampler2D inputTexture;
|
|
5
5
|
void main() {
|
|
6
6
|
gl_FragColor = texture2D(inputTexture, vTex);
|
|
7
7
|
}
|
|
8
|
-
`}m(){const e=this.g;if(this.h=
|
|
8
|
+
`}m(){const e=this.g;if(this.h=Ft(e.createProgram(),"Failed to create WebGL program"),this.X=Uc(this,`
|
|
9
9
|
attribute vec2 aVertex;
|
|
10
10
|
attribute vec2 aTex;
|
|
11
11
|
varying vec2 vTex;
|
|
12
12
|
void main(void) {
|
|
13
13
|
gl_Position = vec4(aVertex, 0.0, 1.0);
|
|
14
14
|
vTex = aTex;
|
|
15
|
-
}`,e.VERTEX_SHADER),this.W=Pc(this,this.H(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error(`Error during program linking: ${e.getProgramInfoLog(this.h)}`);this.O=e.getAttribLocation(this.h,"aVertex"),this.L=e.getAttribLocation(this.h,"aTex")}D(){}l(){}close(){if(this.h){const e=this.g;e.deleteProgram(this.h),e.deleteShader(this.X),e.deleteShader(this.W)}this.B&&this.g.deleteFramebuffer(this.B),this.A&&this.A.close(),this.u&&this.u.close()}};function mt(e,t){switch(t){case 0:return e.g.find(r=>r instanceof Uint8Array);case 1:return e.g.find(r=>r instanceof Float32Array);case 2:return e.g.find(r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture);default:throw Error(`Type is not supported: ${t}`)}}function As(e){var t=mt(e,1);if(!t){if(t=mt(e,0))t=new Float32Array(t).map(i=>i/255);else{t=new Float32Array(e.width*e.height);const i=Sr(e);var r=Ts(e);if(Uc(r,i,Gc(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){r=new Float32Array(e.width*e.height*4),i.readPixels(0,0,e.width,e.height,i.RGBA,i.FLOAT,r);for(let n=0,s=0;n<t.length;++n,s+=4)t[n]=r[s]}else i.readPixels(0,0,e.width,e.height,i.RED,i.FLOAT,t)}e.g.push(t)}return t}function Gc(e){let t=mt(e,2);if(!t){const r=Sr(e);t=zc(e);const i=As(e),n=jc(e);r.texImage2D(r.TEXTURE_2D,0,n,e.width,e.height,0,r.RED,r.FLOAT,i),Ns(e)}return t}function Sr(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Nt(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function jc(e){if(e=Sr(e),!Zi)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))Zi=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Zi=e.R16F}return Zi}function Ts(e){return e.l||(e.l=new Vc),e.l}function zc(e){const t=Sr(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=mt(e,2);return r||(r=Bc(Ts(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function Ns(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var Zi,pe=class{constructor(e,t,r,i,n,s,a){this.g=e,this.m=t,this.j=r,this.canvas=i,this.l=n,this.width=s,this.height=a,this.j&&--$c===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!mt(this,0)}ka(){return!!mt(this,1)}R(){return!!mt(this,2)}ja(){return(t=mt(e=this,0))||(t=As(e),t=new Uint8Array(t.map(r=>Math.round(255*r))),e.g.push(t)),t;var e,t}ia(){return As(this)}N(){return Gc(this)}clone(){const e=[];for(const t of this.g){let r;if(t instanceof Uint8Array)r=new Uint8Array(t);else if(t instanceof Float32Array)r=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{const i=Sr(this),n=Ts(this);i.activeTexture(i.TEXTURE1),r=Bc(n,i,this.m?i.LINEAR:i.NEAREST),i.bindTexture(i.TEXTURE_2D,r);const s=jc(this);i.texImage2D(i.TEXTURE_2D,0,s,this.width,this.height,0,i.RED,i.FLOAT,null),i.bindTexture(i.TEXTURE_2D,null),Uc(n,i,r),Gu(n,i,!1,()=>{zc(this),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),Ns(this)}),ju(n),Ns(this)}}e.push(r)}return new pe(e,this.m,this.R(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Sr(this).deleteTexture(mt(this,2)),$c=-1}};pe.prototype.close=pe.prototype.close,pe.prototype.clone=pe.prototype.clone,pe.prototype.getAsWebGLTexture=pe.prototype.N,pe.prototype.getAsFloat32Array=pe.prototype.ia,pe.prototype.getAsUint8Array=pe.prototype.ja,pe.prototype.hasWebGLTexture=pe.prototype.R,pe.prototype.hasFloat32Array=pe.prototype.ka,pe.prototype.hasUint8Array=pe.prototype.Fa;var $c=250;function Ze(...e){return e.map(([t,r])=>({start:t,end:r}))}const zu=function(e){return class extends e{Ja(){this.i._registerModelResourcesGraphService()}}}((Wc=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m=typeof this.i._addIntToInputStream=="function",t!==void 0?this.i.canvas=t:Nc()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))}async initializeGraph(e){const t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){const r=e.length,i=this.i._malloc(r);this.i.HEAPU8.set(e,i),t?this.i._changeBinaryGraph(r,i):this.i._changeTextGraph(r,i),this.i._free(i)}configureAudio(e,t,r,i,n){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),S(this,i||"input_audio",s=>{S(this,n=n||"audio_header",a=>{this.i._configureAudio(s,a,e,t??0,r)})})}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}ca(e){lt(this,"__graph_config__",t=>{e(t)}),S(this,"__graph_config__",t=>{this.i._getGraphConfig(t,void 0)}),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,i,n){const s=4*e.length;this.h!==s&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(s),this.h=s),this.i.HEAPF32.set(e,this.g/4),S(this,i,a=>{this.i._addAudioToInputStream(this.g,t,r,a,n)})}addGpuBufferToStream(e,t,r){S(this,t,i=>{const[n,s]=Lc(this,e,i);this.i._addBoundTextureToStream(i,n,s,r)})}addBoolToStream(e,t,r){S(this,t,i=>{this.i._addBoolToInputStream(e,i,r)})}addDoubleToStream(e,t,r){S(this,t,i=>{this.i._addDoubleToInputStream(e,i,r)})}addFloatToStream(e,t,r){S(this,t,i=>{this.i._addFloatToInputStream(e,i,r)})}addIntToStream(e,t,r){S(this,t,i=>{this.i._addIntToInputStream(e,i,r)})}addUintToStream(e,t,r){S(this,t,i=>{this.i._addUintToInputStream(e,i,r)})}addStringToStream(e,t,r){S(this,t,i=>{S(this,e,n=>{this.i._addStringToInputStream(n,i,r)})})}addStringRecordToStream(e,t,r){S(this,t,i=>{Mc(this,Object.keys(e),n=>{Mc(this,Object.values(e),s=>{this.i._addFlatHashMapToInputStream(n,s,Object.keys(e).length,i,r)})})})}addProtoToStream(e,t,r,i){S(this,r,n=>{S(this,t,s=>{const a=this.i._malloc(e.length);this.i.HEAPU8.set(e,a),this.i._addProtoToInputStream(a,e.length,s,n,i),this.i._free(a)})})}addEmptyPacketToStream(e,t){S(this,e,r=>{this.i._addEmptyPacketToInputStream(r,t)})}addBoolVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(const s of e)this.i._addBoolVectorEntry(n,s);this.i._addBoolVectorToInputStream(n,i,r)})}addDoubleVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(const s of e)this.i._addDoubleVectorEntry(n,s);this.i._addDoubleVectorToInputStream(n,i,r)})}addFloatVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(const s of e)this.i._addFloatVectorEntry(n,s);this.i._addFloatVectorToInputStream(n,i,r)})}addIntVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(const s of e)this.i._addIntVectorEntry(n,s);this.i._addIntVectorToInputStream(n,i,r)})}addUintVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(const s of e)this.i._addUintVectorEntry(n,s);this.i._addUintVectorToInputStream(n,i,r)})}addStringVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(const s of e)S(this,s,a=>{this.i._addStringVectorEntry(n,a)});this.i._addStringVectorToInputStream(n,i,r)})}addBoolToInputSidePacket(e,t){S(this,t,r=>{this.i._addBoolToInputSidePacket(e,r)})}addDoubleToInputSidePacket(e,t){S(this,t,r=>{this.i._addDoubleToInputSidePacket(e,r)})}addFloatToInputSidePacket(e,t){S(this,t,r=>{this.i._addFloatToInputSidePacket(e,r)})}addIntToInputSidePacket(e,t){S(this,t,r=>{this.i._addIntToInputSidePacket(e,r)})}addUintToInputSidePacket(e,t){S(this,t,r=>{this.i._addUintToInputSidePacket(e,r)})}addStringToInputSidePacket(e,t){S(this,t,r=>{S(this,e,i=>{this.i._addStringToInputSidePacket(i,r)})})}addProtoToInputSidePacket(e,t,r){S(this,r,i=>{S(this,t,n=>{const s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputSidePacket(s,e.length,n,i),this.i._free(s)})})}addBoolVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(const n of e)this.i._addBoolVectorEntry(i,n);this.i._addBoolVectorToInputSidePacket(i,r)})}addDoubleVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(const n of e)this.i._addDoubleVectorEntry(i,n);this.i._addDoubleVectorToInputSidePacket(i,r)})}addFloatVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(const n of e)this.i._addFloatVectorEntry(i,n);this.i._addFloatVectorToInputSidePacket(i,r)})}addIntVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(const n of e)this.i._addIntVectorEntry(i,n);this.i._addIntVectorToInputSidePacket(i,r)})}addUintVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(const n of e)this.i._addUintVectorEntry(i,n);this.i._addUintVectorToInputSidePacket(i,r)})}addStringVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(const n of e)S(this,n,s=>{this.i._addStringVectorEntry(i,s)});this.i._addStringVectorToInputSidePacket(i,r)})}attachBoolListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachBoolListener(r)})}attachBoolVectorListener(e,t){Tt(this,e,t),S(this,e,r=>{this.i._attachBoolVectorListener(r)})}attachIntListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachIntListener(r)})}attachIntVectorListener(e,t){Tt(this,e,t),S(this,e,r=>{this.i._attachIntVectorListener(r)})}attachUintListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachUintListener(r)})}attachUintVectorListener(e,t){Tt(this,e,t),S(this,e,r=>{this.i._attachUintVectorListener(r)})}attachDoubleListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachDoubleListener(r)})}attachDoubleVectorListener(e,t){Tt(this,e,t),S(this,e,r=>{this.i._attachDoubleVectorListener(r)})}attachFloatListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachFloatListener(r)})}attachFloatVectorListener(e,t){Tt(this,e,t),S(this,e,r=>{this.i._attachFloatVectorListener(r)})}attachStringListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachStringListener(r)})}attachStringVectorListener(e,t){Tt(this,e,t),S(this,e,r=>{this.i._attachStringVectorListener(r)})}attachProtoListener(e,t,r){lt(this,e,t),S(this,e,i=>{this.i._attachProtoListener(i,r||!1)})}attachProtoVectorListener(e,t,r){Tt(this,e,t),S(this,e,i=>{this.i._attachProtoVectorListener(i,r||!1)})}attachAudioListener(e,t,r){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),lt(this,e,(i,n)=>{i=new Float32Array(i.buffer,i.byteOffset,i.length/4),t(i,n)}),S(this,e,i=>{this.i._attachAudioListener(i,r||!1)})}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Wc{get ga(){return this.i}pa(e,t,r){S(this,t,i=>{const[n,s]=Lc(this,e,i);this.ga._addBoundTextureAsImageToStream(i,n,s,r)})}Z(e,t){lt(this,e,t),S(this,e,r=>{this.ga._attachImageListener(r)})}aa(e,t){Tt(this,e,t),S(this,e,r=>{this.ga._attachImageVectorListener(r)})}}));var Wc,Re=class extends zu{};async function O(e,t,r){return async function(i,n,s,a){return Uu(i,n,s,a)}(e,r.canvas??(Nc()?void 0:document.createElement("canvas")),t,r)}function Hc(e,t,r,i){if(e.U){const s=new Qa;if(r!=null&&r.regionOfInterest){if(!e.oa)throw Error("This task doesn't support region-of-interest.");var n=r.regionOfInterest;if(n.left>=n.right||n.top>=n.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(n.left<0||n.top<0||n.right>1||n.bottom>1)throw Error("Expected RectF values to be in [0,1].");A(s,1,(n.left+n.right)/2),A(s,2,(n.top+n.bottom)/2),A(s,4,n.right-n.left),A(s,3,n.bottom-n.top)}else A(s,1,.5),A(s,2,.5),A(s,4,1),A(s,3,1);if(r!=null&&r.rotationDegrees){if((r==null?void 0:r.rotationDegrees)%90!=0)throw Error("Expected rotation to be a multiple of 90°.");if(A(s,5,-Math.PI*r.rotationDegrees/180),(r==null?void 0:r.rotationDegrees)%180!=0){const[a,c]=Fc(t);r=ne(s,3)*c/a,n=ne(s,4)*a/c,A(s,4,r),A(s,3,n)}}e.g.addProtoToStream(s.g(),"mediapipe.NormalizedRect",e.U,i)}e.g.pa(t,e.X,i??performance.now()),e.finishProcessing()}function et(e,t,r){var i;if((i=e.baseOptions)!=null&&i.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Hc(e,t,r,e.C+1)}function dt(e,t,r,i){var n;if(!((n=e.baseOptions)!=null&&n.g()))throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Hc(e,t,r,i)}function Cr(e,t,r,i){var n=t.data;const s=t.width,a=s*(t=t.height);if((n instanceof Uint8Array||n instanceof Float32Array)&&n.length!==a)throw Error("Unsupported channel count: "+n.length/a);return e=new pe([n],r,!1,e.g.i.canvas,e.P,s,t),i?e.clone():e}var Ue=class extends Ss{constructor(e,t,r,i){super(e),this.g=e,this.X=t,this.U=r,this.oa=i,this.P=new Vc}l(e,t=!0){if("runningMode"in e&&$(this.baseOptions,2,Yr(!!e.runningMode&&e.runningMode!=="IMAGE")),e.canvas!==void 0&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.P.close(),super.close()}};Ue.prototype.close=Ue.prototype.close;var Ke=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},I(e=this.h=new Ki,0,1,t=new re),A(this.h,2,.5),A(this.h,3,.3)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&A(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&A(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},et(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},dt(this,e,r,t),this.j}m(){var e=new Be;ee(e,"image_in"),ee(e,"norm_rect_in"),G(e,"detections");const t=new Oe;at(t,_u,this.h);const r=new Ae;De(r,2,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),Y(r,"IMAGE:image_in"),Y(r,"NORM_RECT:norm_rect_in"),P(r,"DETECTIONS:detections"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Ka(s),this.j.detections.push(Sc(i));x(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ke.prototype.detectForVideo=Ke.prototype.G,Ke.prototype.detect=Ke.prototype.F,Ke.prototype.setOptions=Ke.prototype.o,Ke.createFromModelPath=async function(e,t){return O(Ke,e,{baseOptions:{modelAssetPath:t}})},Ke.createFromModelBuffer=function(e,t){return O(Ke,e,{baseOptions:{modelAssetBuffer:t}})},Ke.createFromOptions=function(e,t){return O(Ke,e,t)};var Is=Ze([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),Fs=Ze([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),Ls=Ze([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),qc=Ze([474,475],[475,476],[476,477],[477,474]),Ms=Ze([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),Ds=Ze([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),Kc=Ze([469,470],[470,471],[471,472],[472,469]),Ps=Ze([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),Yc=[...Is,...Fs,...Ls,...Ms,...Ds,...Ps],Xc=Ze([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function Qc(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var te=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,I(e=this.h=new nc,0,1,t=new re),this.A=new ic,I(this.h,0,3,this.A),this.u=new Ki,I(this.h,0,2,this.u),gt(this.u,4,1),A(this.u,2,.5),A(this.A,2,.5),A(this.h,4,.5)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"numFaces"in e&>(this.u,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&A(this.u,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&A(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&A(this.A,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return Qc(this),et(this,e,t),this.j}G(e,t,r){return Qc(this),dt(this,e,r,t),this.j}m(){var e=new Be;ee(e,"image_in"),ee(e,"norm_rect"),G(e,"face_landmarks");const t=new Oe;at(t,Su,this.h);const r=new Ae;De(r,2,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),Y(r,"IMAGE:image_in"),Y(r,"NORM_RECT:norm_rect"),P(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("face_landmarks",(i,n)=>{for(const s of i)i=ri(s),this.j.faceLandmarks.push(Yi(i));x(this,n)}),this.g.attachEmptyPacketListener("face_landmarks",i=>{x(this,i)}),this.outputFaceBlendshapes&&(G(e,"blendshapes"),P(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",(i,n)=>{if(this.outputFaceBlendshapes)for(const s of i)i=Wi(s),this.j.faceBlendshapes.push(_s(i.g()??[]));x(this,n)}),this.g.attachEmptyPacketListener("blendshapes",i=>{x(this,i)})),this.outputFacialTransformationMatrixes&&(G(e,"face_geometry"),P(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",(i,n)=>{if(this.outputFacialTransformationMatrixes)for(const s of i)(i=V(i=ku(s),gu,2))&&this.j.facialTransformationMatrixes.push({rows:We(i,1)??0??0,columns:We(i,2)??0??0,data:zt(i,3,st,jt()).slice()??[]});x(this,n)}),this.g.attachEmptyPacketListener("face_geometry",i=>{x(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};te.prototype.detectForVideo=te.prototype.G,te.prototype.detect=te.prototype.F,te.prototype.setOptions=te.prototype.o,te.createFromModelPath=function(e,t){return O(te,e,{baseOptions:{modelAssetPath:t}})},te.createFromModelBuffer=function(e,t){return O(te,e,{baseOptions:{modelAssetBuffer:t}})},te.createFromOptions=function(e,t){return O(te,e,t)},te.FACE_LANDMARKS_LIPS=Is,te.FACE_LANDMARKS_LEFT_EYE=Fs,te.FACE_LANDMARKS_LEFT_EYEBROW=Ls,te.FACE_LANDMARKS_LEFT_IRIS=qc,te.FACE_LANDMARKS_RIGHT_EYE=Ms,te.FACE_LANDMARKS_RIGHT_EYEBROW=Ds,te.FACE_LANDMARKS_RIGHT_IRIS=Kc,te.FACE_LANDMARKS_FACE_OVAL=Ps,te.FACE_LANDMARKS_CONTOURS=Yc,te.FACE_LANDMARKS_TESSELATION=Xc;var Os=Ze([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function Jc(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function Zc(e){return e.gestures.length===0?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function Rc(e,t=!0){const r=[];for(const n of e){var i=Wi(n);e=[];for(const s of i.g())i=t&&We(s,1)!=null?We(s,1)??0:-1,e.push({score:ne(s,2)??0,index:i,categoryName:ye(K(s,3))??""??"",displayName:ye(K(s,4))??""??""});r.push(e)}return r}var Ve=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],I(e=this.j=new ac,0,1,t=new re),this.u=new gs,I(this.j,0,2,this.u),this.D=new ws,I(this.u,0,3,this.D),this.A=new oc,I(this.u,0,2,this.A),this.h=new Cu,I(this.j,0,3,this.h),A(this.A,2,.5),A(this.u,4,.5),A(this.D,2,.5)}get baseOptions(){return V(this.j,re,1)}set baseOptions(e){I(this.j,0,1,e)}o(e){var n,s,a,c;if(gt(this.A,3,e.numHands??1),"minHandDetectionConfidence"in e&&A(this.A,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&A(this.u,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&A(this.D,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new _r,r=t,i=Es(e.cannedGesturesClassifierOptions,(n=V(this.h,_r,3))==null?void 0:n.l());I(r,0,2,i),I(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&((s=V(this.h,_r,3))==null||s.g());return e.customGesturesClassifierOptions?(I(r=t=new _r,0,2,i=Es(e.customGesturesClassifierOptions,(a=V(this.h,_r,4))==null?void 0:a.l())),I(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&((c=V(this.h,_r,4))==null||c.g()),this.l(e)}Ha(e,t){return Jc(this),et(this,e,t),Zc(this)}Ia(e,t,r){return Jc(this),dt(this,e,r,t),Zc(this)}m(){var e=new Be;ee(e,"image_in"),ee(e,"norm_rect"),G(e,"hand_gestures"),G(e,"hand_landmarks"),G(e,"world_hand_landmarks"),G(e,"handedness");const t=new Oe;at(t,Au,this.j);const r=new Ae;De(r,2,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),Y(r,"IMAGE:image_in"),Y(r,"NORM_RECT:norm_rect"),P(r,"HAND_GESTURES:hand_gestures"),P(r,"LANDMARKS:hand_landmarks"),P(r,"WORLD_LANDMARKS:world_hand_landmarks"),P(r,"HANDEDNESS:handedness"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i){i=ri(s);const a=[];for(const c of wt(i,Xa,1))a.push({x:ne(c,1)??0,y:ne(c,2)??0,z:ne(c,3)??0,visibility:ne(c,4)??0});this.landmarks.push(a)}x(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i){i=Er(s);const a=[];for(const c of wt(i,Ya,1))a.push({x:ne(c,1)??0,y:ne(c,2)??0,z:ne(c,3)??0,visibility:ne(c,4)??0});this.worldLandmarks.push(a)}x(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("hand_gestures",(i,n)=>{this.gestures.push(...Rc(i,!1)),x(this,n)}),this.g.attachEmptyPacketListener("hand_gestures",i=>{x(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{this.handedness.push(...Rc(i)),x(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function el(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Ve.prototype.recognizeForVideo=Ve.prototype.Ia,Ve.prototype.recognize=Ve.prototype.Ha,Ve.prototype.setOptions=Ve.prototype.o,Ve.createFromModelPath=function(e,t){return O(Ve,e,{baseOptions:{modelAssetPath:t}})},Ve.createFromModelBuffer=function(e,t){return O(Ve,e,{baseOptions:{modelAssetBuffer:t}})},Ve.createFromOptions=function(e,t){return O(Ve,e,t)},Ve.HAND_CONNECTIONS=Os;var Ge=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],I(e=this.h=new gs,0,1,t=new re),this.u=new ws,I(this.h,0,3,this.u),this.j=new oc,I(this.h,0,2,this.j),gt(this.j,3,1),A(this.j,2,.5),A(this.u,2,.5),A(this.h,4,.5)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"numHands"in e&>(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&A(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&A(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&A(this.u,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],et(this,e,t),el(this)}G(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],dt(this,e,r,t),el(this)}m(){var e=new Be;ee(e,"image_in"),ee(e,"norm_rect"),G(e,"hand_landmarks"),G(e,"world_hand_landmarks"),G(e,"handedness");const t=new Oe;at(t,Tu,this.h);const r=new Ae;De(r,2,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),Y(r,"IMAGE:image_in"),Y(r,"NORM_RECT:norm_rect"),P(r,"LANDMARKS:hand_landmarks"),P(r,"WORLD_LANDMARKS:world_hand_landmarks"),P(r,"HANDEDNESS:handedness"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i)i=ri(s),this.landmarks.push(Yi(i));x(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i)i=Er(s),this.worldLandmarks.push(ii(i));x(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{var s=this.handedness,a=s.push;const c=[];for(const l of i){i=Wi(l);const h=[];for(const u of i.g())h.push({score:ne(u,2)??0,index:We(u,1)??0??-1,categoryName:ye(K(u,3))??""??"",displayName:ye(K(u,4))??""??""});c.push(h)}a.call(s,...c),x(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ge.prototype.detectForVideo=Ge.prototype.G,Ge.prototype.detect=Ge.prototype.F,Ge.prototype.setOptions=Ge.prototype.o,Ge.createFromModelPath=function(e,t){return O(Ge,e,{baseOptions:{modelAssetPath:t}})},Ge.createFromModelBuffer=function(e,t){return O(Ge,e,{baseOptions:{modelAssetBuffer:t}})},Ge.createFromOptions=function(e,t){return O(Ge,e,t)},Ge.HAND_CONNECTIONS=Os;var tl=Ze([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function rl(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function il(e){try{if(!e.D)return e.h;e.D(e.h)}finally{Ji(e)}}function Ri(e,t){e=ri(e),t.push(Yi(e))}var X=class extends Ue{constructor(e,t){super(new Re(e,t),"input_frames_image",null,!1),this.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},this.outputPoseSegmentationMasks=this.outputFaceBlendshapes=!1,I(e=this.j=new fc,0,1,t=new re),this.I=new ws,I(this.j,0,2,this.I),this.W=new Nu,I(this.j,0,3,this.W),this.u=new Ki,I(this.j,0,4,this.u),this.O=new ic,I(this.j,0,5,this.O),this.A=new uc,I(this.j,0,6,this.A),this.M=new hc,I(this.j,0,7,this.M),A(this.u,2,.5),A(this.u,3,.3),A(this.O,2,.5),A(this.A,2,.5),A(this.A,3,.3),A(this.M,2,.5),A(this.I,2,.5)}get baseOptions(){return V(this.j,re,1)}set baseOptions(e){I(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&A(this.u,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&A(this.u,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&A(this.O,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&A(this.A,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&A(this.A,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&A(this.M,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&A(this.I,2,e.minHandLandmarksConfidence??.5),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.D=typeof t=="function"?t:r,rl(this),et(this,e,i),il(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.D=typeof r=="function"?r:i,rl(this),dt(this,e,n,t),il(this)}m(){var e=new Be;ee(e,"input_frames_image"),G(e,"pose_landmarks"),G(e,"pose_world_landmarks"),G(e,"face_landmarks"),G(e,"left_hand_landmarks"),G(e,"left_hand_world_landmarks"),G(e,"right_hand_landmarks"),G(e,"right_hand_world_landmarks");const t=new Oe,r=new Ia;De(r,1,"type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),function(n,s){if(s!=null)if(Array.isArray(s))$(n,2,Ai(s,0,Jr));else{if(!(typeof s=="string"||s instanceof it||vn(s)))throw Error("invalid value in Any.value field: "+s+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");_t(n,2,kn(s,!1),Pt())}}(r,this.j.g());const i=new Ae;De(i,2,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),Hn(i,8,Ia,r),Y(i,"IMAGE:input_frames_image"),P(i,"POSE_LANDMARKS:pose_landmarks"),P(i,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),P(i,"FACE_LANDMARKS:face_landmarks"),P(i,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),P(i,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),P(i,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),P(i,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),i.o(t),qe(e,i),Qi(this,e),this.g.attachProtoListener("pose_landmarks",(n,s)=>{Ri(n,this.h.poseLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("pose_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("pose_world_landmarks",(n,s)=>{var a=this.h.poseWorldLandmarks;n=Er(n),a.push(ii(n)),x(this,s)}),this.g.attachEmptyPacketListener("pose_world_landmarks",n=>{x(this,n)}),this.outputPoseSegmentationMasks&&(P(i,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),kr(this,"pose_segmentation_mask"),this.g.Z("pose_segmentation_mask",(n,s)=>{this.h.poseSegmentationMasks=[Cr(this,n,!0,!this.D)],x(this,s)}),this.g.attachEmptyPacketListener("pose_segmentation_mask",n=>{this.h.poseSegmentationMasks=[],x(this,n)})),this.g.attachProtoListener("face_landmarks",(n,s)=>{Ri(n,this.h.faceLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("face_landmarks",n=>{x(this,n)}),this.outputFaceBlendshapes&&(G(e,"extra_blendshapes"),P(i,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",(n,s)=>{var a=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(n=Wi(n),a.push(_s(n.g()??[]))),x(this,s)}),this.g.attachEmptyPacketListener("extra_blendshapes",n=>{x(this,n)})),this.g.attachProtoListener("left_hand_landmarks",(n,s)=>{Ri(n,this.h.leftHandLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("left_hand_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("left_hand_world_landmarks",(n,s)=>{var a=this.h.leftHandWorldLandmarks;n=Er(n),a.push(ii(n)),x(this,s)}),this.g.attachEmptyPacketListener("left_hand_world_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("right_hand_landmarks",(n,s)=>{Ri(n,this.h.rightHandLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("right_hand_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("right_hand_world_landmarks",(n,s)=>{var a=this.h.rightHandWorldLandmarks;n=Er(n),a.push(ii(n)),x(this,s)}),this.g.attachEmptyPacketListener("right_hand_world_landmarks",n=>{x(this,n)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};X.prototype.detectForVideo=X.prototype.G,X.prototype.detect=X.prototype.F,X.prototype.setOptions=X.prototype.o,X.createFromModelPath=function(e,t){return O(X,e,{baseOptions:{modelAssetPath:t}})},X.createFromModelBuffer=function(e,t){return O(X,e,{baseOptions:{modelAssetBuffer:t}})},X.createFromOptions=function(e,t){return O(X,e,t)},X.HAND_CONNECTIONS=Os,X.POSE_CONNECTIONS=tl,X.FACE_LANDMARKS_LIPS=Is,X.FACE_LANDMARKS_LEFT_EYE=Fs,X.FACE_LANDMARKS_LEFT_EYEBROW=Ls,X.FACE_LANDMARKS_LEFT_IRIS=qc,X.FACE_LANDMARKS_RIGHT_EYE=Ms,X.FACE_LANDMARKS_RIGHT_EYEBROW=Ds,X.FACE_LANDMARKS_RIGHT_IRIS=Kc,X.FACE_LANDMARKS_FACE_OVAL=Ps,X.FACE_LANDMARKS_CONTOURS=Yc,X.FACE_LANDMARKS_TESSELATION=Xc;var Ye=class extends Ue{constructor(e,t){super(new Re(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},I(e=this.h=new wc,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return I(this.h,0,2,Es(e,V(this.h,us,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},et(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},dt(this,e,r,t),this.j}m(){var e=new Be;ee(e,"input_image"),ee(e,"norm_rect"),G(e,"classifications");const t=new Oe;at(t,Iu,this.h);const r=new Ae;De(r,2,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),Y(r,"IMAGE:input_image"),Y(r,"NORM_RECT:norm_rect"),P(r,"CLASSIFICATIONS:classifications"),r.o(t),qe(e,r),this.g.attachProtoListener("classifications",(i,n)=>{this.j=Ou(yu(i)),x(this,n)}),this.g.attachEmptyPacketListener("classifications",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ye.prototype.classifyForVideo=Ye.prototype.ta,Ye.prototype.classify=Ye.prototype.sa,Ye.prototype.setOptions=Ye.prototype.o,Ye.createFromModelPath=function(e,t){return O(Ye,e,{baseOptions:{modelAssetPath:t}})},Ye.createFromModelBuffer=function(e,t){return O(Ye,e,{baseOptions:{modelAssetBuffer:t}})},Ye.createFromOptions=function(e,t){return O(Ye,e,t)};var je=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!0),this.h=new gc,this.embeddings={embeddings:[]},I(e=this.h,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){var t=this.h,r=V(this.h,ec,2);return r=r?r.clone():new ec,e.l2Normalize!==void 0?$(r,1,Yr(e.l2Normalize)):"l2Normalize"in e&&$(r,1),e.quantize!==void 0?$(r,2,Yr(e.quantize)):"quantize"in e&&$(r,2),I(t,0,2,r),this.l(e)}za(e,t){return et(this,e,t),this.embeddings}Aa(e,t,r){return dt(this,e,r,t),this.embeddings}m(){var e=new Be;ee(e,"image_in"),ee(e,"norm_rect"),G(e,"embeddings_out");const t=new Oe;at(t,Fu,this.h);const r=new Ae;De(r,2,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),Y(r,"IMAGE:image_in"),Y(r,"NORM_RECT:norm_rect"),P(r,"EMBEDDINGS:embeddings_out"),r.o(t),qe(e,r),this.g.attachProtoListener("embeddings_out",(i,n)=>{i=xu(i),this.embeddings=function(s){return{embeddings:wt(s,vu,1).map(a=>{var h,u;const c={headIndex:We(a,3)??0??-1,headName:ye(K(a,4))??""??""};var l=a.v;return Yo(l,0|l[_],Ja,jn(a,1))!==void 0?(a=zt(a=V(a,Ja,jn(a,1),void 0),1,st,jt()),c.floatEmbedding=a.slice()):(l=new Uint8Array(0),c.quantizedEmbedding=((u=(h=V(a,bu,jn(a,2),void 0))==null?void 0:h.na())==null?void 0:u.h())??l),c}),timestampMs:kc(Jo(s))}}(i),x(this,n)}),this.g.attachEmptyPacketListener("embeddings_out",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};je.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Ac(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Ac(Cc(e.quantizedEmbedding),Cc(t.quantizedEmbedding))}return e},je.prototype.embedForVideo=je.prototype.Aa,je.prototype.embed=je.prototype.za,je.prototype.setOptions=je.prototype.o,je.createFromModelPath=function(e,t){return O(je,e,{baseOptions:{modelAssetPath:t}})},je.createFromModelBuffer=function(e,t){return O(je,e,{baseOptions:{modelAssetBuffer:t}})},je.createFromOptions=function(e,t){return O(je,e,t)};var Bs=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};function $u(e){var r,i;const t=function(n){return wt(n,Ae,1)}(e.ca()).filter(n=>(ye(K(n,1))??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator"));if(e.u=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(((i=(r=V(t[0],Oe,7))==null?void 0:r.j())==null?void 0:i.g())??new Map).forEach((n,s)=>{e.u[Number(s)]=ye(K(n,1))??""})}function nl(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function sl(e){try{const t=new Bs(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Ji(e)}}Bs.prototype.close=Bs.prototype.close;var Te=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.u=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new bs,this.A=new pc,I(this.h,0,3,this.A),I(e=this.h,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?$(this.h,2,Qr(e.displayNamesLocale)):"displayNamesLocale"in e&&$(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}L(){$u(this)}segment(e,t,r){const i=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,nl(this),et(this,e,i),sl(this)}La(e,t,r,i){const n=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:i,nl(this),dt(this,e,n,t),sl(this)}Da(){return this.u}m(){var e=new Be;ee(e,"image_in"),ee(e,"norm_rect");const t=new Oe;at(t,bc,this.h);const r=new Ae;De(r,2,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),Y(r,"IMAGE:image_in"),Y(r,"NORM_RECT:norm_rect"),r.o(t),qe(e,r),Qi(this,e),this.outputConfidenceMasks&&(G(e,"confidence_masks"),P(r,"CONFIDENCE_MASKS:confidence_masks"),kr(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Cr(this,s,!0,!this.j)),x(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],x(this,i)})),this.outputCategoryMask&&(G(e,"category_mask"),P(r,"CATEGORY_MASK:category_mask"),kr(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Cr(this,i,!1,!this.j),x(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,x(this,i)})),G(e,"quality_scores"),P(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,x(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Te.prototype.getLabels=Te.prototype.Da,Te.prototype.segmentForVideo=Te.prototype.La,Te.prototype.segment=Te.prototype.segment,Te.prototype.setOptions=Te.prototype.o,Te.createFromModelPath=function(e,t){return O(Te,e,{baseOptions:{modelAssetPath:t}})},Te.createFromModelBuffer=function(e,t){return O(Te,e,{baseOptions:{modelAssetBuffer:t}})},Te.createFromOptions=function(e,t){return O(Te,e,t)};var Us=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};Us.prototype.close=Us.prototype.close;var ut=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new bs,this.u=new pc,I(this.h,0,3,this.u),I(e=this.h,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}segment(e,t,r,i){const n=typeof r!="function"?r:{};if(this.j=typeof r=="function"?r:i,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.C+1,i=new xc,t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new vs;_t(s,3,Yr(!0),!1),_t(s,1,Kr(t.keypoint.x),0),_t(s,2,Kr(t.keypoint.y),0),Zr(i,1,xs,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");{const c=new Mu;for(s of t.scribble)_t(t=new vs,3,Yr(!0),!1),_t(t,1,Kr(s.x),0),_t(t,2,Kr(s.y),0),Hn(c,1,vs,t);Zr(i,2,xs,c)}}this.g.addProtoToStream(i.g(),"mediapipe.tasks.vision.interactive_segmenter.proto.RegionOfInterest","roi_in",r),et(this,e,n);e:{try{const c=new Us(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var a=c;break e}this.j(c)}finally{Ji(this)}a=void 0}return a}m(){var e=new Be;ee(e,"image_in"),ee(e,"roi_in"),ee(e,"norm_rect_in");const t=new Oe;at(t,bc,this.h);const r=new Ae;De(r,2,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraphV2"),Y(r,"IMAGE:image_in"),Y(r,"ROI:roi_in"),Y(r,"NORM_RECT:norm_rect_in"),r.o(t),qe(e,r),Qi(this,e),this.outputConfidenceMasks&&(G(e,"confidence_masks"),P(r,"CONFIDENCE_MASKS:confidence_masks"),kr(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Cr(this,s,!0,!this.j)),x(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],x(this,i)})),this.outputCategoryMask&&(G(e,"category_mask"),P(r,"CATEGORY_MASK:category_mask"),kr(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Cr(this,i,!1,!this.j),x(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,x(this,i)})),G(e,"quality_scores"),P(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,x(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ut.prototype.segment=ut.prototype.segment,ut.prototype.setOptions=ut.prototype.o,ut.createFromModelPath=function(e,t){return O(ut,e,{baseOptions:{modelAssetPath:t}})},ut.createFromModelBuffer=function(e,t){return O(ut,e,{baseOptions:{modelAssetBuffer:t}})},ut.createFromOptions=function(e,t){return O(ut,e,t)};var Xe=class extends Ue{constructor(e,t){super(new Re(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},I(e=this.h=new Ec,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?$(this.h,2,Qr(e.displayNamesLocale)):"displayNamesLocale"in e&&$(this.h,2),e.maxResults!==void 0?gt(this.h,3,e.maxResults):"maxResults"in e&&$(this.h,3),e.scoreThreshold!==void 0?A(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&$(this.h,4),e.categoryAllowlist!==void 0?Ti(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&$(this.h,5),e.categoryDenylist!==void 0?Ti(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&$(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},et(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},dt(this,e,r,t),this.j}m(){var e=new Be;ee(e,"input_frame_gpu"),ee(e,"norm_rect"),G(e,"detections");const t=new Oe;at(t,Du,this.h);const r=new Ae;De(r,2,"mediapipe.tasks.vision.ObjectDetectorGraph"),Y(r,"IMAGE:input_frame_gpu"),Y(r,"NORM_RECT:norm_rect"),P(r,"DETECTIONS:detections"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Ka(s),this.j.detections.push(Sc(i));x(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Xe.prototype.detectForVideo=Xe.prototype.G,Xe.prototype.detect=Xe.prototype.F,Xe.prototype.setOptions=Xe.prototype.o,Xe.createFromModelPath=async function(e,t){return O(Xe,e,{baseOptions:{modelAssetPath:t}})},Xe.createFromModelBuffer=function(e,t){return O(Xe,e,{baseOptions:{modelAssetBuffer:t}})},Xe.createFromOptions=function(e,t){return O(Xe,e,t)};var Vs=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){var e;(e=this.segmentationMasks)==null||e.forEach(t=>{t.close()})}};function ol(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function al(e){try{const t=new Vs(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.u)return t;e.u(t)}finally{Ji(e)}}Vs.prototype.close=Vs.prototype.close;var ze=class extends Ue{constructor(e,t){super(new Re(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,I(e=this.h=new _c,0,1,t=new re),this.A=new hc,I(this.h,0,3,this.A),this.j=new uc,I(this.h,0,2,this.j),gt(this.j,4,1),A(this.j,2,.5),A(this.A,2,.5),A(this.h,4,.5)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"numPoses"in e&>(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&A(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&A(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&A(this.A,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.u=typeof t=="function"?t:r,ol(this),et(this,e,i),al(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.u=typeof r=="function"?r:i,ol(this),dt(this,e,n,t),al(this)}m(){var e=new Be;ee(e,"image_in"),ee(e,"norm_rect"),G(e,"normalized_landmarks"),G(e,"world_landmarks"),G(e,"segmentation_masks");const t=new Oe;at(t,Pu,this.h);const r=new Ae;De(r,2,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),Y(r,"IMAGE:image_in"),Y(r,"NORM_RECT:norm_rect"),P(r,"NORM_LANDMARKS:normalized_landmarks"),P(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),qe(e,r),Qi(this,e),this.g.attachProtoVectorListener("normalized_landmarks",(i,n)=>{this.landmarks=[];for(const s of i)i=ri(s),this.landmarks.push(Yi(i));x(this,n)}),this.g.attachEmptyPacketListener("normalized_landmarks",i=>{this.landmarks=[],x(this,i)}),this.g.attachProtoVectorListener("world_landmarks",(i,n)=>{this.worldLandmarks=[];for(const s of i)i=Er(s),this.worldLandmarks.push(ii(i));x(this,n)}),this.g.attachEmptyPacketListener("world_landmarks",i=>{this.worldLandmarks=[],x(this,i)}),this.outputSegmentationMasks&&(P(r,"SEGMENTATION_MASK:segmentation_masks"),kr(this,"segmentation_masks"),this.g.aa("segmentation_masks",(i,n)=>{this.segmentationMasks=i.map(s=>Cr(this,s,!0,!this.u)),x(this,n)}),this.g.attachEmptyPacketListener("segmentation_masks",i=>{this.segmentationMasks=[],x(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ze.prototype.detectForVideo=ze.prototype.G,ze.prototype.detect=ze.prototype.F,ze.prototype.setOptions=ze.prototype.o,ze.createFromModelPath=function(e,t){return O(ze,e,{baseOptions:{modelAssetPath:t}})},ze.createFromModelBuffer=function(e,t){return O(ze,e,{baseOptions:{modelAssetBuffer:t}})},ze.createFromOptions=function(e,t){return O(ze,e,t)},ze.POSE_CONNECTIONS=tl;const en="https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/latest/face_landmarker.task",Wu="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm",Hu=()=>{const e=d.useRef(null),[t,r]=d.useState(!1),[i,n]=d.useState("Initializing..."),[s,a]=d.useState(0),[c,l]=d.useState(!1);d.useEffect(()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(w=>{console.log("ServiceWorker registered:",w)}).catch(w=>{console.log("ServiceWorker registration failed:",w)})},[]);const h=async()=>"caches"in window?await(await caches.open("mediapipe-models-v1")).match(en)!==void 0:!1,u=async()=>{try{const w=await fetch(en),g=w.headers.get("content-length"),p=g?parseInt(g,10):0;if(!w.body)throw new Error("No response body");const y=w.body.getReader();let m=0;const b=[];for(;;){const{done:v,value:F}=await y.read();if(v)break;if(b.push(F),m+=F.length,p){const T=Math.round(m/p*100);a(T),n(`Downloading model... ${T}%`)}}return"caches"in window&&await(await caches.open("mediapipe-models-v1")).put(en,new Response(new Blob(b),{headers:{"Content-Type":"application/octet-stream"}})),!0}catch(w){return console.error("Failed to preload model:",w),!1}};return d.useEffect(()=>{(async()=>{try{n("Checking cached models..."),await h()?n("Using cached model..."):(n("Model not cached. Downloading..."),await u()),n("Loading MediaPipe WASM...");const p=await Yt.forVisionTasks(Wu);n("Creating face landmarker...");const y=await te.createFromOptions(p,{baseOptions:{modelAssetPath:en,delegate:"GPU"},runningMode:"VIDEO",outputFaceBlendshapes:!0,numFaces:2});e.current=y,r(!0),n("Model loaded successfully ✅")}catch(g){console.error("Model init error:",g),n(`Error: ${g==null?void 0:g.message}`),(g==null?void 0:g.name)==="NotAllowedError"&&l(!0)}})()},[]),{faceLandmarkerRef:e,isModelLoaded:t,statusMessage:i,setStatusMessage:n,loadingProgress:s,permissionDenied:c,clearCache:async()=>{"caches"in window&&(await caches.delete("mediapipe-models-v1"),n("Cache cleared. Please refresh to re-download models."))}}},qu=()=>{const[e,t]=d.useState(0),r=d.useRef({lastTime:0,frames:0,fps:0}),i=d.useCallback(()=>{const n=performance.now(),s=r.current;if(s.frames++,n-s.lastTime>=1e3){const a=Math.round(s.frames*1e3/(n-s.lastTime));t(a),s.frames=0,s.lastTime=n}},[]);return{fps:e,updateFPS:i}},Ku=()=>{const e=d.useRef({value:100,isLookingAway:!1}),t=d.useCallback((s,a,c,l)=>{if(!s||!c||!a)return;const h=s.getContext("2d");if(!h)return;const{width:u,height:f}=s;if(h.clearRect(0,0,u,f),h.drawImage(a,0,0,u,f),l){h.fillStyle="#00FF00";for(const w of c)h.fillRect(w.x*u-.5,w.y*f-.5,1,1)}},[]),r=d.useCallback(s=>{const a=e.current.value/100,c=100,l=20,h=20,u=40;s.fillStyle="rgba(0, 0, 0, 0.3)",s.fillRect(h,u,l,c),s.fillStyle=`rgba(${Math.floor(255*(1-a))}, ${Math.floor(255*a)}, 0, 0.8)`;const f=c*a;s.fillRect(h,u+c-f,l,f),s.fillStyle="#FFFFFF",s.fillRect(h,u+c*(1-a),l,2)},[]),i=d.useCallback((s,a,c,l,h,u,f)=>{if(t(s,a,c,l),h&&u&&f){const w=s.getContext("2d");w&&r(w)}},[t,r]),n=d.useCallback((s,a)=>{const c=s.getContext("2d");c&&(c.clearRect(0,0,s.width,s.height),c.drawImage(a,0,0,s.width,s.height))},[]);return{drawLandmarks:t,drawEngagementBar:r,drawWithEngagementBar:i,clearCanvas:n,engagementRef:e}},Yu=50,Xu=()=>{const[e,t]=d.useState(100),[r,i]=d.useState(!1),n=d.useRef(0),s=d.useCallback((a,c,l)=>{if(!l||a.length<468)return;const h=a[33],u=a[263],f=a[1];if(!h||!u||!f)return;const w=(h.x+u.x)*.5,g=(h.y+u.y)*.5,p=w-c.x,y=g-c.y,m=Math.sqrt(p*p+y*y),b=Math.abs(f.y-c.noseY)*100,v=Math.abs(f.x-c.noseX)*100,F=Math.max(0,100-(m*200+b+v)),T=F<Yu,E=performance.now();return E-n.current>100&&(t(F),i(T),n.current=E),{engagement:F,isLookingAway:T}},[]);return{engagement:e,isLookingAway:r,analyzeGaze:s,setEngagement:t,setIsLookingAway:i}},Qu=.05,Ju=()=>{const[e,t]=d.useState(!1),[r,i]=d.useState(!1),n=d.useCallback((c,l)=>Math.sqrt(Math.pow(c.x-l.x,2)+Math.pow(c.y-l.y,2)),[]),s=d.useCallback((c,l)=>{if(!c||!l)return 0;const h=[1,33,263,61,291,10,152];let u=0,f=0;const w=l[33],g=l[263],p=c[33],y=c[263];if(!w||!g||!p||!y)return 0;const m=n(w,g),b=n(p,y);if(m===0||b===0)return 0;for(const F of h){const T=l[F],E=c[F];if(T&&E){const C=w.x+(E.x-p.x)*m/b,D=w.y+(E.y-p.y)*m/b;u+=n(T,{x:C,y:D}),f++}}return f===0?0:u/f},[n]),a=d.useCallback((c,l,h,u)=>{if(!c.faceLandmarks||c.faceLandmarks.length===0)return u("Face not detected."),i(!0),t(!1),null;if(l&&h){let f=null,w=0;for(const g of c.faceLandmarks)s(g,h)<Qu&&(f=g,w++);return w===1?(t(!1),i(!1),u("Reference face tracked."),f):w>1?(t(!0),i(!1),u("Multiple matching faces detected. Tracking suspended."),null):(t(!1),i(!0),u("Reference face not detected."),null)}else{const f=c.faceLandmarks[0];if(c.faceLandmarks.length>1)return t(!0),i(!1),u("Multiple faces detected. Please ensure only you are visible."),null;if(!f)return i(!0),t(!1),u("Face not detected."),null;const g=f[1],p=f[33],y=f[263];return g&&p&&y&&g.x>.35&&g.x<.65&&g.y>.3&&g.y<.7&&p.x>.2&&p.x<.8&&y.x>.2&&y.x<.8?(i(!1),t(!1),u("Face detected. Ready for calibration."),f):(i(!0),t(!1),u("Please position your face in the center."),null)}},[s]);return{multipleFacesDetected:e,referenceFaceNotDetected:r,analyzeFace:a,setMultipleFacesDetected:t,setReferenceFaceNotDetected:i}},Zu=500,Ru=(e,t)=>{const[r,i]=d.useState(!1),[n,s]=d.useState(Ce.MODEL_LOADING),{incrementGazeViolation:a}=Xs(),{multipleFacesDetected:c,referenceFaceNotDetected:l,isLookingAway:h}=e;d.useEffect(()=>{let w;return(h||c||l)&&t?w=setTimeout(()=>{i(!0),h?(s("looking_away"),a("looking_away")):c?(s("multiple_faces"),a("multiple_faces")):l&&(s("no_face_detected"),a("no_face_detected"))},Zu):(i(!1),s("face_detected")),()=>{clearTimeout(w)}},[h,c,l,t,a]);const u=d.useCallback(()=>c?Ce.MULTIPLE_FACES:l?"no_face_detected":h?Ce.LOOKING_AWAY:n===Ce.MODEL_LOADING?Ce.MODEL_LOADING:Ce.FACE_DETECTED,[c,l,h]),f=d.useCallback(()=>{i(!1),s("face_detected")},[]);return{showGazeWarningModal:r,faceDetectionState:n,getWarningType:u,closeWarningModal:f,setShowGazeWarningModal:i,setFaceDetectionState:s}};class W extends Error{constructor(t,r,i=!1){super(t),this.code=r,this.recoverable=i,this.name="STTError"}}const e2=50*1024*1024;class cl{constructor(t={}){Ee(this,"config");Ee(this,"mediaRecorder",null);Ee(this,"audioChunks",[]);Ee(this,"audioChunksTotalSize",0);Ee(this,"recordingStream",null);Ee(this,"autoStopTimeoutId",null);Ee(this,"disposed",!1);Ee(this,"pendingStopPromise",null);this.config={baseUrl:"http://localhost:8000",provider:"groq",model:"whisper-large-v3-turbo",language:"en",includeTimestamps:!1,temperature:0,...t}}updateConfig(t){this.throwIfDisposed(),this.config={...this.config,...t}}isRecordingSupported(){return!!(navigator.mediaDevices&&typeof navigator.mediaDevices.getUserMedia=="function"&&window.MediaRecorder)}async startRecording(t,r){var i;if(this.throwIfDisposed(),!this.isRecordingSupported())throw new W("Audio recording is not supported in this browser","RECORDING_NOT_SUPPORTED",!1);if(this.isRecording())throw new W("Recording is already in progress","ALREADY_RECORDING",!0);try{this.recordingStream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:44100}}),this.audioChunks=[],this.audioChunksTotalSize=0;const n=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.recordingStream,{mimeType:n}),this.mediaRecorder.addEventListener("dataavailable",s=>{var a,c,l;if(s.data.size>0){if(this.audioChunksTotalSize+s.data.size>e2){console.error(`Max size exceeded: ${(this.audioChunksTotalSize/1024/1024).toFixed(2)} MB`);const h=new W("Recording exceeded maximum size limit","MAX_SIZE_EXCEEDED",!1);(a=r==null?void 0:r.onError)==null||a.call(r,h),this.isRecording()&&((c=this.mediaRecorder)==null||c.stop());return}this.audioChunks.push(s.data),this.audioChunksTotalSize+=s.data.size,(l=r==null?void 0:r.onDataAvailable)==null||l.call(r,s.data)}}),this.mediaRecorder.addEventListener("stop",()=>{var s;(s=r==null?void 0:r.onStop)==null||s.call(r)},{once:!0}),this.mediaRecorder.addEventListener("error",s=>{var c;const a=new W(`Recording failed: ${s.error}`,"RECORDING_ERROR",!0);(c=r==null?void 0:r.onError)==null||c.call(r,a),this.cleanup()}),this.mediaRecorder.start(100),(i=r==null?void 0:r.onStart)==null||i.call(r),t&&t>0&&(this.autoStopTimeoutId=setTimeout(()=>{console.log(`Auto-stop triggered after ${t} seconds.`),this.isRecording()?this.stopRecording().catch(s=>{console.error("Auto-stop recording failed:",s),s instanceof W&&(console.error("Error Name:",s.name),console.error("Error Code:",s.code))}):console.log("Recording was already stopped before auto-stop timeout.")},t*1e3))}catch(n){if(this.cleanup(),n instanceof Error){if(n.name==="NotAllowedError"||n.name==="PermissionDeniedError")throw new W("Microphone permission was denied","PERMISSION_DENIED",!1);if(n.name==="NotFoundError")throw new W("No microphone found","NO_MICROPHONE",!1)}throw new W(`Failed to start recording: ${n instanceof Error?n.message:String(n)}`,"START_RECORDING_FAILED",!0)}}async stopRecording(){var t,r;if(this.throwIfDisposed(),console.log("stopRecording called. Current state:",{hasMediaRecorder:!!this.mediaRecorder,recorderState:(t=this.mediaRecorder)==null?void 0:t.state,isRecording:this.isRecording(),autoStopTimeoutId:!!this.autoStopTimeoutId,hasPendingStop:!!this.pendingStopPromise}),this.pendingStopPromise)return console.log("stopRecording called while already stopping. Returning existing promise."),this.pendingStopPromise;if(this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),!this.mediaRecorder||this.mediaRecorder.state==="inactive"){if(this.audioChunks.length>0){console.log("Recorder inactive but chunks exist. Creating blob from cache.");const n=((r=this.mediaRecorder)==null?void 0:r.mimeType)||"audio/webm",s=new Blob(this.audioChunks,{type:n});return this.cleanup(),s}const i=this.mediaRecorder?"State is inactive":"MediaRecorder is null";throw console.warn(`Cannot stop recording: ${i}`),new W("No active recording to stop","NO_ACTIVE_RECORDING",!1)}return this.pendingStopPromise=new Promise((i,n)=>{if(!this.mediaRecorder){this.pendingStopPromise=null,n(new W("MediaRecorder is null","MEDIARECORDER_NULL",!1));return}const s=this.mediaRecorder,a=()=>{try{const c=s.mimeType||"audio/webm",l=new Blob(this.audioChunks,{type:c}),h=(l.size/1024/1024).toFixed(2);console.log(`Recording stopped successfully. Created blob: ${h} MB`),this.cleanup(),i(l)}catch(c){this.cleanup(),n(new W(`Failed to create audio blob: ${c instanceof Error?c.message:String(c)}`,"BLOB_CREATION_FAILED",!1))}finally{this.pendingStopPromise=null}};s.addEventListener("stop",a,{once:!0});try{s.stop()}catch(c){this.pendingStopPromise=null,n(c)}}),this.pendingStopPromise}async transcribe(t){this.throwIfDisposed();const{audioBlob:r}=t;if(!r||r.size===0)throw new W("Audio blob is empty or invalid","INVALID_AUDIO",!1);try{const i=new FormData,n=new File([r],"recording.wav",{type:r.type||"audio/wav"});if(i.append("file",n),i.append("qna_id",this.config.qnaId||""),!this.config.interviewId)throw new W("Interview ID is missing from configuration","MISSING_INTERVIEW_ID",!1);const s=await bt(`${this.config.baseUrl}${xt.TRANSCRIBE_ANSWER(this.config.interviewId)}`,{method:"POST",headers:{accept:"application/json","X-STT-Provider":this.config.provider||"groq",...this.config.authToken&&{Authorization:`Bearer ${this.config.authToken}`}},body:i},{attempts:1,backoff:"exponential",baseDelay:1e3,maxDelay:3e3,jitter:!0});if(!s.ok){const c=await s.text();let l=`STT request failed: ${s.status} ${s.statusText}`;try{const h=JSON.parse(c);l=h.message||h.error||l}catch{l=c||l}throw new W(l,`HTTP_${s.status}`,s.status>=500)}return{transcript:(await s.json()).data.transcribed_text??""}}catch(i){throw i instanceof W?i:new W(`Transcription failed: ${i instanceof Error?i.message:String(i)}`,"TRANSCRIPTION_FAILED",!0)}}cancelRecording(){this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),this.mediaRecorder&&this.isRecording()&&this.mediaRecorder.stop(),this.cleanup()}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}dispose(){this.disposed||(this.cancelRecording(),this.disposed=!0)}isDisposed(){return this.disposed}getSupportedMimeType(){const t=["audio/webm","audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/wav"];for(const r of t)if(MediaRecorder.isTypeSupported(r))return r;return"audio/webm"}getRecordingStream(){return this.recordingStream}cleanup(){this.recordingStream&&(this.recordingStream.getTracks().forEach(t=>t.stop()),this.recordingStream=null),this.mediaRecorder=null,this.audioChunks=[],this.audioChunksTotalSize=0,this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null)}throwIfDisposed(){if(this.disposed)throw new W("STTService has been disposed and cannot be reused","SERVICE_DISPOSED",!1)}}const t2=new cl,r2=(e,t,r,i)=>{const n=d.useRef(null);return d.useEffect(()=>{if(!t)return;const s=async()=>{try{const l=await navigator.mediaDevices.getUserMedia({video:{width:{ideal:640},height:{ideal:480},facingMode:"user"}});e.current&&(e.current.srcObject=l,e.current.onloadeddata=()=>{r()})}catch(l){console.error("Camera access error:",l),i("Camera access failed")}},a=n.current,c=e.current;return s(),()=>{a&&cancelAnimationFrame(a),c!=null&&c.srcObject&&c.srcObject.getTracks().forEach(h=>h.stop())}},[t,r]),d.useEffect(()=>{const s=t2.getRecordingStream();if(s&&e.current){e.current.srcObject=s;const a=s.getVideoTracks(),c=s.getAudioTracks(),l=()=>{console.log("Media track ended - permission may have been revoked")};[...a,...c].forEach(h=>{h.addEventListener("ended",l)})}},[]),{animationFrameRef:n}},i2=(e,t,r,i,n,s,a,c,l,h,u,f,w,g,p)=>{const y=d.useRef(null),m=d.useCallback(()=>{const b=e.current,v=t.current,F=r.current;if(!b||b.readyState<2||!F||!v){y.current=requestAnimationFrame(m);return}i();try{const T=performance.now(),E=F.detectForVideo(b,T),C=n(E,l,h.current,g);C?(s(v,b,C,u,f,w,l),l&&w&&c(C,h.current,w)):a(v,b)}catch(T){console.error("Face detection error:",T)}y.current=requestAnimationFrame(m)},[e,t,r,i,n,s,a,c,l,h,u,f,w,g,p]);return{renderLoop:m,animationFrameRef:y}},n2=(e,t,r,i)=>{const{referenceSet:n,referenceRef:s,setReferenceData:a}=Xs(),c=d.useRef(s),l=d.useCallback(()=>{c.current=s},[s]),h=d.useCallback(()=>{var g;const f=e.current,w=t.current;if(console.log({faceLandmarker:f,video:w}),!(!f||!w))try{const p=performance.now(),y=f.detectForVideo(w,p);if((g=y.faceLandmarks)!=null&&g[0]){const m=y.faceLandmarks[0],b=m[33],v=m[263],F=m[1];b&&v&&F&&(c.current={x:(b.x+v.x)*.5,y:(b.y+v.y)*.5,noseX:F.x,noseY:F.y},a(!0,c.current),r("Reference set. Gaze tracking active."),console.log("Reference set. Gaze tracking active.",c.current),i&&i())}}catch(p){console.error("Set reference error:",p),r("Failed to set reference")}},[e,t,r,a,i]),u=d.useCallback(()=>{a(!1,{x:0,y:0,noseX:0,noseY:0}),r("Reference reset. Starting calibration...")},[a,r]);return{referenceSet:n,referenceRef:c,setReference:h,resetReference:u,syncReference:l}};function s2({onClose:e,warningType:t,isCheatingModalOpen:r=!1}){const i=ro[t],n=i.icon;return t==="face_detected"?null:o.jsx("div",{className:"iw-absolute iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300 iw-transition-all",style:{bottom:r?"280px":"5rem"},children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#5C6686] iw-bg-[#F1F5FE] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:e,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(pi,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-2",children:[o.jsx("div",{className:"iw-flex iw-size-8 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#5C6686]",children:o.jsx(n,{className:"iw-size-6 iw-text-[#5C6686]"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsx("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#062260] iw-pr-6",children:i.title}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:i.subtitle}),i.description&&o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-[#5C6686] iw-pt-3",children:o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:i.description})})]})]})]})})}const o2=({status:e})=>{const t=ro[e];if(!t)return null;const r=e!=="face_detected";return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-0.5",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-px-3 iw-py-1 iw-rounded-full iw-backdrop-blur-md iw-shadow-sm transition-colors duration-300 iw-text-white",children:[o.jsx("div",{className:`iw-flex iw-h-4 iw-w-4 iw-items-center iw-size-2.5 iw-justify-center iw-rounded-full iw-text-white ${e==="face_detected"?"iw-bg-[#22C55E]":e==="model_loading"?"iw-bg-[#062260]":"iw-bg-[#E94315]"}`,children:e==="face_detected"?o.jsx(gi,{}):e==="model_loading"?o.jsx("div",{className:"iw-animate-spin iw-border iw-border-white iw-border-t-transparent iw-rounded-full iw-w-2 iw-h-2"}):o.jsx(pi,{})}),o.jsx("span",{className:"iw-text-sm iw-font-medium",children:e==="face_detected"?"Face detected clearly":e==="camera_error"?"Camera not found":t.title})]}),r&&o.jsx("span",{className:"iw-text-white iw-text-center iw-text-xs iw-drop-shadow-sm iw-max-w-[400px] iw-px-3",children:e==="model_loading"?"Initializing Face models. Please wait...":e==="no_face_detected"?"Face not detected. Please position yourself clearly in the frame.":e==="multiple_faces"?"Multiple faces detected. Please ensure only you are visible.":"Please position your face correctly."})]})},ll=d.forwardRef(({className:e="",interviewId:t="",interview_duration:r,showProctoringUI:i=!0,onSetReference:n,isAnswering:s,onProctoringStatusChange:a,showStatusOverlay:c=!1,cheatingWarningVisible:l=!1,isDeviceLoading:h=!1,videoAllowed:u=!0},f)=>{var _l;const{authToken:w}=Zs(),g=w?zl(w):null,{borderRadius:p}=Jt(),y=p??18,{proctoring:m,capture_screenshots:b}=fn(),v=!!(m!=null&&m.gazeAnalysisEnabled),[F,T]=d.useState(!1),[E,C]=d.useState((m==null?void 0:m.showLandmarks)??!1),[D,N]=d.useState(i&&((m==null?void 0:m.showEngagementBar)??!0)),[L,z]=d.useState(v),[be,Q]=d.useState(!1),q=d.useRef(null),J=d.useRef(null),U=d.useRef(null),Z=d.useRef(null),tt=d.useCallback(async xe=>{var an;const di=q.current,ke=U.current;if(!di||!ke)return;const Or=ke.getContext("2d");if(!Or)return;ke.width=di.videoWidth,ke.height=di.videoHeight,Or.save(),Or.scale(-1,1),Or.drawImage(di,-ke.width,0,ke.width,ke.height),Or.restore();const ui=await new Promise(Qt=>ke.toBlob(Qt,"image/jpeg"));if(ui&&t)try{const Qt=`${xe}-${Date.now()}.jpeg`,Se=await mi.requestScreenshotUploadUrl(t,Qt);Se.data&&Se.data.upload_url&&(await mi.uploadScreenshot((an=Se==null?void 0:Se.data)==null?void 0:an.upload_url,ui),Se.data.asset_id&&await mi.confirmScreenshotUpload(Se.data.asset_id))}catch(Qt){console.error(`Failed to upload screenshot for ${xe}:`,Qt)}},[mi,t]);d.useEffect(()=>{let xe;return s&&(Q(!0),xe=setTimeout(()=>Q(!1),1e3)),()=>{xe&&clearTimeout(xe)}},[s]);const{faceLandmarkerRef:yt,isModelLoaded:Ne,statusMessage:It,setStatusMessage:$e,loadingProgress:Ar,permissionDenied:Ft,clearCache:Tr}=Hu(),{fps:Nr,updateFPS:Ir}=qu(),{drawWithEngagementBar:Fr,clearCanvas:Xt,engagementRef:Ie}=Ku(),{engagement:Lt,isLookingAway:ie,analyzeGaze:si,setEngagement:oi,setIsLookingAway:Lr}=Xu(),{multipleFacesDetected:ai,referenceFaceNotDetected:ci,analyzeFace:Ws,setMultipleFacesDetected:nn,setReferenceFaceNotDetected:Mr}=Ju(),{referenceSet:sn,referenceRef:on,setReference:Dr,resetReference:li,syncReference:M}=n2(yt,q,$e,n),j={multipleFacesDetected:ai,referenceFaceNotDetected:ci,isLookingAway:ie},{showGazeWarningModal:Qe,getWarningType:Pr,closeWarningModal:vl,setShowGazeWarningModal:xl,setFaceDetectionState:El}=Ru(j,v&&!c);d.useEffect(()=>{if(a){if(h||!Ne){a("model_loading");return}if(!u){a("camera_error");return}const xe=Pr()||Ce.NO_FACE;a(xe)}},[Ne,h,u,ai,ci,ie,Pr,a]);const{renderLoop:i1}=i2(q,J,yt,Ir,Ws,Fr,Xt,si,sn,on,E,D,v,$e,Mr);r2(q,Ne,i1,$e),d.useEffect(()=>{M()},[M]),d.useEffect(()=>{Ie&&Ie.current&&(Ie.current.value=Lt,Ie.current.isLookingAway=ie)},[Lt,ie,Ie]);const n1=d.useCallback(xe=>{z(xe),xe||(oi(100),Lr(!1))},[oi,Lr]),s1=d.useCallback(()=>{Lr(!1),nn(!1),Mr(!1),El("face_detected"),xl(!1),vl()},[Lr,nn,Mr,El,xl,vl]),o1={engagement:Lt,fps:Nr,isLookingAway:ie,multipleFacesDetected:ai,referenceFaceNotDetected:ci};return d.useEffect(()=>{if(!b)return;const xe=[];return(async()=>{try{const ke=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});Z.current=ke,q.current&&(q.current.srcObject=ke);const ui=(r??hi)*60*1e3/3,an=[0,1,2].map((Se,Mt)=>({label:`capture-${Mt+1}`,start:Mt*ui,end:(Mt+1)*ui})),Qt=(Se,Mt)=>Se===Mt?Se:Math.random()*(Mt-Se)+Se;an.forEach(({label:Se,start:Mt,end:a1},c1)=>{let Hs;c1===0?Hs=3e3:Hs=Qt(Mt,a1),xe.push(setTimeout(()=>{tt(Se)},Hs))})}catch(ke){console.error("Error accessing camera:",ke)}})(),()=>{Z.current&&Z.current.getTracks().forEach(ke=>ke.stop()),xe.forEach(clearTimeout)}},[tt,b]),d.useImperativeHandle(f,()=>({setReference:()=>{Dr()},resetReference:()=>{li()},stopCamera:()=>{Z.current&&(Z.current.getTracks().forEach(xe=>xe.stop()),Z.current=null)}}),[Dr,li]),o.jsxs("div",{className:`iw-relative iw-h-full iw-w-full ${e}`,children:[Ft?o.jsxs("div",{className:"iw-rounded-md iw-border iw-border-red-600 iw-p-5 iw-text-red-600",children:[o.jsx("h2",{children:"Camera Permission Denied"}),o.jsx("p",{children:"Please allow camera access to use this application."})]}):o.jsx("div",{className:"iw-flex iw-w-full iw-h-full iw-justify-start iw-items-start",children:o.jsxs("div",{className:`iw-relative iw-max-w-full iw-max-h-full iw-aspect-video iw-rounded-2xl iw-overflow-hidden iw-bg-black ${be?"iw-animate-answer-start":""} ${s?"iw-border-4 iw-border-[#6296FB]":""}`,style:{width:"100%",height:"auto",minHeight:"0"},children:[o.jsx("video",{ref:q,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}}),!u&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-flex-col iw-items-center iw-justify-center iw-bg-black/60 iw-z-30",children:h||!Ne?o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-w-5 iw-h-5 iw-border-2 iw-border-white/20 iw-border-t-white iw-rounded-full iw-animate-spin"}),o.jsx("span",{className:"iw-text-white/60 iw-text-xs iw-font-medium iw-tracking-wide",children:"Initializing camera..."})]}):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"iw-text-white iw-font-medium iw-text-sm",children:"Camera not found"}),o.jsx("p",{className:"iw-text-white/60 iw-text-xs iw-mt-1",children:"Please ensure your camera is connected and enabled"})]})}),v&&o.jsx("canvas",{ref:J,width:320,height:240,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)",borderRadius:y,display:"hidden"}}),o.jsx("canvas",{ref:U,style:{display:"none"}}),i&&o.jsxs("div",{className:"iw-absolute iw-top-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#FFEBE6] iw-px-2 iw-py-1 iw-backdrop-blur-md",children:[o.jsx("div",{className:"iw-size-2 iw-animate-pulse iw-rounded-full iw-bg-red-500"}),o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#E94315]",children:"RECORDING"})]}),i&&((_l=g==null?void 0:g.data)==null?void 0:_l.user_name)&&o.jsx("div",{className:"iw-absolute iw-z-50 iw-bottom-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#F1F5FE] iw-px-3 iw-py-1 iw-backdrop-blur-md",children:o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#062260]",children:g.data.user_name})}),i&&o.jsx("div",{className:"iw-absolute iw-bottom-4 iw-right-4",children:o.jsx(id,{showControls:(m==null?void 0:m.showControls)??!1,isBubbleOpen:F,setIsBubbleOpen:T,setReference:Dr,clearCache:Tr,isModelLoaded:Ne,gazeAnalysisEnabled:L&&v,referenceSet:sn,showLandmarks:E,setShowLandmarks:C,showEngagementBar:D,setShowEngagementBar:N,handleToggleGazeAnalysis:n1,stats:o1,statusMessage:It,loadingProgress:Ar})}),c&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"iw-absolute iw-inset-0 iw-pointer-events-none iw-z-10 ",style:{background:"radial-gradient(ellipse 20% 40% at 50% 45%, transparent 99.5%, rgba(0,0,0,0.35) 100%)"}}),o.jsx("div",{className:"iw-absolute iw-bottom-2 iw-inset-x-0 iw-flex iw-justify-center iw-pointer-events-none iw-z-20",children:o.jsx(o2,{status:u?h||!Ne?"model_loading":Pr()??"no_face_detected":"camera_error"})})]})]})}),v&&Qe&&!c&&o.jsx(s2,{isOpen:Qe,onClose:s1,warningType:Pr(),isCheatingModalOpen:l})]})}),tn=({children:e,variant:t="primary",size:r="md",fullWidth:i=!1,isLoading:n=!1,disabled:s,className:a="",...c})=>{const l="iw-inline-flex iw-items-center iw-justify-center iw-rounded-md iw-font-medium iw-transition-colors iw-focus:outline-none iw-focus:ring-2 iw-focus:ring-primary-500 iw-focus:ring-offset-2",h={primary:"iw-bg-primary-600 iw-text-white iw-hover:bg-primary-700 iw-border iw-border-transparent",secondary:"iw-bg-primary-100 iw-text-primary-700 iw-hover:bg-primary-200 iw-border iw-border-transparent",outline:"iw-bg-transparent iw-text-primary-700 iw-border iw-border-primary-500 iw-hover:bg-primary-50",text:"iw-bg-transparent iw-text-primary-600 iw-hover:bg-primary-50 iw-border iw-border-transparent",gradient:"iw-text-white iw-border iw-border-transparent iw-bg-gradient-to-r iw-from-purple-500 iw-to-indigo-500 hover:iw-from-purple-600 hover:iw-to-indigo-600"},u={sm:"iw-px-3 iw-py-1.5 iw-text-sm",md:"iw-px-4 iw-py-2.5 iw-text-sm",lg:"iw-px-5 iw-py-3 iw-text-base"},f="iw-disabled:opacity-50 iw-disabled:cursor-not-allowed iw-disabled:pointer-events-none",w=i?"iw-w-full":"";return o.jsxs("button",{className:`${l} ${h[t]} ${u[r]} ${w} ${f} ${a}`,disabled:s||n,...c,children:[n&&o.jsx(eo,{height:16,width:16,style:{marginRight:"3px"}}),e]})},a2=({stream:e,className:t="",barCount:r=50})=>{const i=d.useRef(null),n=d.useRef(null),s=d.useRef(null),a=d.useRef(null),c=d.useRef(null);d.useEffect(()=>{if(!e||window===void 0)return;a.current||(a.current=new(window.AudioContext||window.webkitAudioContext));const h=a.current;s.current||(s.current=h.createAnalyser(),s.current.fftSize=256,s.current.smoothingTimeConstant=.5);const u=s.current;try{c.current&&c.current.disconnect(),c.current=h.createMediaStreamSource(e),c.current.connect(u)}catch(w){console.error("Error creating media stream source:",w);return}const f=()=>{if(!i.current)return;const w=i.current,g=w.getContext("2d");if(!g)return;const p=u.frequencyBinCount,y=new Uint8Array(p);u.getByteFrequencyData(y);const m=w.width,b=w.height;g.clearRect(0,0,m,b);let v=0;for(let D=0;D<p;D++){const N=y[D]??0;v+=N*N}const F=Math.sqrt(v/p),T=Math.min(1,F/128);g.clearRect(0,0,m,b);const E=r,C=Math.floor(T*E);for(let D=0;D<E;D++){const N=D*(m/E),L=m/E-1.8;D<C?g.fillStyle="#0EB00E":g.fillStyle="#D9D9D9",g.fillRect(N,0,L,b)}n.current=requestAnimationFrame(f)};return f(),()=>{n.current&&cancelAnimationFrame(n.current)}},[e,r]);const l=d.useRef({audioContext:a.current,source:c.current});return l.current={audioContext:a.current,source:c.current},d.useEffect(()=>()=>{l.current.source&&l.current.source.disconnect(),l.current.audioContext&&l.current.audioContext.state!=="closed"&&l.current.audioContext.close()},[]),o.jsx("canvas",{ref:i,className:t,width:300,height:20,style:{width:"100%",height:"16px"}})},dl=({icon:e,devices:t,selectedId:r,onChange:i,label:n,showVisualizer:s=!1,stream:a=null,hasPermission:c=!0})=>{const{baseColor:l}=Jt(),[h,u]=d.useState(!1),f=d.useRef(null);d.useEffect(()=>{const p=y=>{f.current&&!f.current.contains(y.target)&&u(!1)};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[]);const w=t.find(p=>p.deviceId===r)||t[0],g=c&&(w==null?void 0:w.label)||n;return o.jsxs("div",{className:"iw-relative iw-flex-1 iw-w-1/2 iw-group",ref:f,children:[o.jsxs("div",{className:`iw-max-w-[300px] iw-flex iw-items-center iw-justify-between iw-bg-white iw-border iw-border-gray-200 iw-rounded-xl iw-px-3 iw-py-3 iw-transition-colors ${c?"iw-cursor-pointer hover:iw-border-blue-500":"iw-cursor-not-allowed"}`,onClick:()=>c&&u(!h),title:c?"":"Permission denied or device not found",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3 iw-min-w-0 iw-max-w-[210px]",children:[o.jsx(e,{className:"iw-w-5 iw-h-5 iw-text-[#062260] iw-flex-shrink-0"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-truncate",children:g})]}),o.jsx("div",{className:"iw-flex iw-items-center iw-gap-2",children:c?o.jsxs(o.Fragment,{children:[o.jsx(Kl,{className:`iw-w-4 iw-h-4 iw-text-gray-400 iw-transition-transform ${h?"iw-rotate-180":""}`}),r&&o.jsx("div",{className:"iw-bg-[#22C55E] iw-rounded-full iw-p-0.5",children:o.jsx(gi,{className:"iw-w-3 iw-h-3 iw-text-white"})})]}):o.jsx("div",{className:"iw-text-[#E94315] iw-relative",children:o.jsx(wi,{className:"iw-size-5"})})})]}),!c&&o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/6 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:l},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsxs("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:["Allow us to access your ",(n==null?void 0:n.split(" ")[1])??"device"]})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"We need permission to access your device. Go to your browser privacy settings to allow it"}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})}),s&&c&&o.jsxs("div",{className:"iw-mt-2 iw-px-1 iw-flex iw-items-center iw-gap-2 iw-overflow-hidden",children:[o.jsx(Rl,{className:"iw-min-h-5 iw-min-w-5"}),o.jsx(a2,{stream:a,className:"iw-w-full"})]}),h&&c&&o.jsxs("div",{className:"iw-absolute iw-bottom-full iw-left-0 iw-right-0 iw-mb-2 iw-bg-white iw-border iw-border-gray-100 iw-rounded-xl iw-shadow-xl iw-z-50 iw-py-2 iw-max-h-60 iw-overflow-y-auto",children:[t.map(p=>o.jsxs("div",{className:`iw-px-4 iw-py-2.5 iw-text-sm iw-cursor-pointer iw-flex iw-items-center iw-justify-start hover:iw-bg-gray-50 ${r===p.deviceId?"iw-text-[#062260] iw-font-medium iw-bg-blue-50":"iw-text-gray-600"}`,onClick:()=>{i==null||i(p.deviceId),u(!1)},children:[r===p.deviceId&&o.jsx(gi,{className:"iw-w-4 iw-h-4 iw-text-[#062260] iw-mr-1"}),o.jsx("span",{className:"iw-truncate",children:p.label||`Device ${p.deviceId.slice(0,5)}...`})]},p.deviceId)),t.length===0&&o.jsx("div",{className:"iw-px-4 iw-py-2 iw-text-sm iw-text-gray-400",children:"No devices found"})]})]})},ul=({micEnabled:e=!1,videoEnabled:t=!1,buttonText:r,onButtonClick:i,isAgreed:n,onAgreedToggle:s,showCheckbox:a=!0,showMediaIcons:c=!0,disabled:l=!1,audioDevices:h=[],videoDevices:u=[],selectedAudioId:f,selectedVideoId:w,onAudioChange:g,onVideoChange:p,audioStream:y=null,isDeviceLoading:m=!1})=>{const b=l||!n||c&&(!e||!t)||m;return o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-4 iw-w-full",children:[a&&o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-3 iw-border iw-border-[#c2c3c7]",children:[o.jsx("div",{className:`iw-mt-0.5 iw-h-5 iw-w-5 iw-min-w-[20px] iw-rounded iw-border iw-flex iw-items-center iw-justify-center iw-cursor-pointer iw-transition-colors ${n?"iw-bg-[#062260] iw-border-[#062260]":"iw-bg-white iw-border-[#062260]"}`,onClick:v=>{v.stopPropagation(),s(!n)},children:n&&o.jsx(gi,{className:"iw-size-3 iw-text-white"})}),o.jsx("label",{onClick:()=>s(!n),className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-cursor-pointer iw-select-none",children:"By continuing, you acknowledge and consent to the use of your face data exclusively for interview monitoring"})]}),o.jsx("div",{className:"iw-flex iw-justify-center iw-items-center iw-gap-4 iw-flex-wrap iw-max-w-[700px] iw-mx-auto",children:c&&o.jsxs("div",{className:"iw-flex iw-gap-4 iw-w-full",children:[o.jsx(dl,{icon:Ql,devices:h,selectedId:f??"",onChange:v=>g&&g(v),label:"Choose mic",showVisualizer:!0,stream:y,hasPermission:e}),o.jsx(dl,{icon:Zl,devices:u,selectedId:w??"",onChange:v=>p&&p(v),label:"Choose camera",hasPermission:t})]})}),o.jsxs("div",{className:"iw-relative iw-group iw-w-full iw-max-w-[280px] iw-mx-auto",children:[o.jsx(tn,{onClick:i,disabled:b,className:`iw-h-12 iw-w-full !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border-[#E7EAF1] iw-rounded-lg ${b?"iw-opacity-50":"hover:iw-opacity-75"}`,children:m?"Device Loading...":r}),!n&&(!c||e&&t)&&c2()]})]})},c2=()=>{const{baseColor:e}=Jt();return o.jsx(o.Fragment,{children:o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/2 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:e},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsx("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:"Action Required"})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"Please check the box to acknowledge and consent to continue."}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})})})},l2=({steps:e,currentStepIndex:t})=>o.jsx("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-4 iw-w-full iw-py-3",children:e.map((r,i)=>{const n=i<t,s=i===t;return o.jsxs(d.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:`iw-flex iw-size-9 iw-text-[#062260] iw-items-center iw-justify-center iw-rounded-full iw-font-semibold iw-border ${s||n?"iw-border-[#0EB00E] iw-bg-[#E9FFE6]":"iw-border-[#BDE0FD] iw-bg-[#E6F3FF]"}`,children:n?o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"20 6 9 17 4 12"})}):i+1}),o.jsx("span",{className:`iw-text-sm iw-font-medium ${s||n?"iw-text-[#062260]":"iw-text-[#5C6686]"}`,children:r.label})]}),i<e.length-1&&o.jsx("div",{className:"iw-flex-1 iw-max-w-[120px] iw-border-t iw-border-dotted iw-border-[#B3B9CB]"})]},i)})}),d2=["Don't refresh or reload the page during your assessment","Don't switch tabs or open other applications while session is ongoing","Don't leave your position during the session","Don't disable or interfere with video/audio monitoring"],u2=({isOpen:e,onStart:t,gazeEnabled:r=!1,videoFeedRef:i,interviewId:n="",interview_duration:s=hi})=>{const{audioAllowed:a,videoAllowed:c,videoRef:l,audioDevices:h,videoDevices:u,selectedAudioDeviceId:f,selectedVideoDeviceId:w,isDeviceLoading:g,currentStream:p,handleAudioChange:y,handleVideoChange:m,stopStream:b}=Wl(e),[v,F]=d.useState(!1),[T,E]=d.useState(0),[C,D]=d.useState(!1),N=d.useRef(null),L=d.useRef(null),z=U=>{N.current=U,i&&(typeof i=="function"?i(U):i.current=U)};if(d.useEffect(()=>()=>{L.current&&(clearInterval(L.current),L.current=null)},[]),!e)return null;const[be,Q]=d.useState(Ce.MODEL_LOADING),q=async()=>{var Z;F(!0),(Z=N.current)==null||Z.resetReference();const U=()=>{var tt;return(tt=N.current)==null?void 0:tt.setReference()};U(),L.current&&clearInterval(L.current),L.current=setInterval(U,500)},J=[{label:r?"Calibrate your camera":"Camera & Mic permission"},{label:"Basic guidelines"}];return o.jsx("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center iw-bg-gray-900/40 iw-backdrop-blur-sm iw-p-4 iw-pt-5 iw-overflow-auto",children:o.jsxs("div",{className:"iw-w-full iw-max-w-[700px] iw-max-h-[900px] iw-my-4 iw-bg-white iw-rounded-xl iw-shadow-2xl iw-overflow-auto",children:[o.jsxs("div",{className:"iw-px-5 iw-pt-3",children:[o.jsx("h2",{className:"iw-text-[#062260] iw-text-2xl iw-font-medium iw-tracking-tight",children:"Final checks before you go live"}),o.jsx("div",{className:"iw-mt-2 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-2 iw-border iw-border-[#E7EAF1]",children:o.jsx("p",{className:"iw-text-[#5C6686] iw-text-xs iw-leading-relaxed",children:"To ensure the integrity of the interview process, this platform uses your device’s camera to monitor your face and gaze direction. We do not store any outside this session"})}),o.jsx("div",{className:"iw-mt-3 iw-border-b iw-border-dashed iw-border-[#B3B9CB] iw-w-full"}),o.jsx(l2,{steps:J,currentStepIndex:T})]}),o.jsx("div",{className:"iw-px-5 iw-pb-5 iw-flex iw-flex-col iw-items-center",children:T===0?o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-w-full iw-max-w-[600px] iw-aspect-video iw-bg-slate-100 iw-rounded-2xl iw-overflow-hidden iw-relative iw-border iw-border-slate-200",children:r?o.jsx(ll,{ref:z,interviewId:n,interview_duration:s,showProctoringUI:!1,showStatusOverlay:!g&&c,isDeviceLoading:g,videoAllowed:c,onProctoringStatusChange:Q,onSetReference:()=>{L.current&&(clearInterval(L.current),L.current=null),F(!1),E(1)}}):o.jsx("video",{ref:l,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}})}),o.jsx(ul,{micEnabled:a,videoEnabled:c,buttonText:r?v?"Calibrating...":be==="model_loading"?"Initialising...":"Start calibrate":"Next",onButtonClick:()=>{r?q():E(1)},disabled:!C||r&&be!=="face_detected"||!r&&(!a||!c),isAgreed:C,onAgreedToggle:D,audioDevices:h,videoDevices:u,selectedAudioId:f,selectedVideoId:w,onAudioChange:y,onVideoChange:m,audioStream:p,isDeviceLoading:g})]}):o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-gap-6",children:[o.jsx("div",{className:"iw-w-full iw-bg-[#F8FAFF] iw-rounded-2xl iw-p-8 iw-flex iw-flex-col iw-gap-5",children:d2.map((U,Z)=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-flex iw-h-7 iw-w-7 iw-min-w-[28px] iw-items-center iw-justify-center iw-rounded-full iw-bg-[#DBEAFE] iw-text-[#062260] iw-text-xs iw-font-bold",children:Z+1}),o.jsx("span",{className:"iw-text-[#5C6686] iw-font-medium",children:U})]},Z))}),o.jsx(ul,{buttonText:"Start interview",onButtonClick:()=>{t(),b()},isAgreed:C,onAgreedToggle:D,showMediaIcons:!1})]})})]})})};var B=(e=>(e.IDLE="idle",e.FETCHING_QUESTION="fetching_question",e.READING_QUESTION="reading_question",e.THINKING="thinking",e.ANSWERING="answering",e.TRANSCRIBING="transcribing",e.EDITING="editing",e.SUBMITTING="submitting",e.COMPLETED="completed",e))(B||{});const hl={thinkingDuration:0,answeringDuration:120,editingDuration:30},fl={idle:{next:"fetching_question"},fetching_question:{next:"reading_question"},reading_question:{next:"answering"},thinking:{next:"answering",duration:0},answering:{next:"transcribing",duration:120},transcribing:{next:"editing"},editing:{next:"submitting",duration:30},submitting:{next:"completed"},completed:{next:"completed"}};class h2{constructor(t={},r={}){Ee(this,"config");Ee(this,"state");Ee(this,"phaseIntervalId",null);Ee(this,"globalIntervalId",null);Ee(this,"callbacks");this.config={...hl,...t},this.callbacks=r,this.state={phase:"idle",currentPhaseTimeRemaining:0,totalTimeElapsed:0,currentQuestionNumber:0}}updateConfig(t){this.config={...this.config,...t}}getState(){return{...this.state}}startQuestion(){this.state.currentQuestionNumber===0&&this.startGlobalTimer(),this.state.currentQuestionNumber=this.state.currentQuestionNumber+1,this.state.phase="fetching_question",this.notifyChange()}nextPhase(){const t=this.state.phase;let r=fl[t];if(!r)return;if(r.next==="editing"&&this.config.editingDuration===0){const n=fl.editing;n&&(r=n)}this.stopPhaseTimer(),this.state.phase=r.next;const i=this.getDurationForPhase(r.next);i>0?(this.state.currentPhaseTimeRemaining=i,this.startPhaseTimer()):this.state.currentPhaseTimeRemaining=0,this.notifyChange()}setTotalTimeElapsed(t){var r,i;this.state.totalTimeElapsed=t,(i=(r=this.callbacks).onTick)==null||i.call(r,this.getState())}completeInterview(){var t,r;this.stopGlobalTimer(),this.stopPhaseTimer(),this.state.phase="completed",(r=(t=this.callbacks).onInterviewEnd)==null||r.call(t),this.notifyChange()}destroy(){this.stopPhaseTimer(),this.stopGlobalTimer()}getDurationForPhase(t){switch(t){case"thinking":return this.config.thinkingDuration;case"answering":return this.config.answeringDuration;case"editing":return this.config.editingDuration;default:return 0}}startGlobalTimer(){this.globalIntervalId=setInterval(()=>{var t,r;this.state.totalTimeElapsed++,(r=(t=this.callbacks).onTick)==null||r.call(t,this.getState())},1e3)}stopGlobalTimer(){this.globalIntervalId&&(clearInterval(this.globalIntervalId),this.globalIntervalId=null)}startPhaseTimer(){this.phaseIntervalId=setInterval(()=>{this.state.currentPhaseTimeRemaining--,this.state.currentPhaseTimeRemaining<=0&&this.nextPhase()},1e3)}stopPhaseTimer(){this.phaseIntervalId&&(clearInterval(this.phaseIntervalId),this.phaseIntervalId=null)}notifyChange(){var t,r;(r=(t=this.callbacks).onPhaseChange)==null||r.call(t,this.state.phase,this.getState())}}function f2(e={}){const{config:t={},callbacks:r={}}=e,i=d.useRef(null);i.current||(i.current=new h2(t,{}));const n=i.current,[s,a]=d.useState(n.getState()),c=d.useCallback(()=>{a(n.getState())},[n]);d.useEffect(()=>{const f={onPhaseChange:(w,g)=>{var p;c(),(p=r.onPhaseChange)==null||p.call(r,w,g)},onTick:w=>{var g;c(),(g=r.onTick)==null||g.call(r,w)},onInterviewEnd:()=>{var w;c(),(w=r.onInterviewEnd)==null||w.call(r)}};n.callbacks=f},[n,r,c]),d.useEffect(()=>{n.updateConfig(t)},[n,t]),d.useEffect(()=>()=>{n.destroy()},[n]);const l=d.useCallback(()=>{n.startQuestion(),c()},[n,c]),h=d.useCallback(()=>{n.nextPhase(),c()},[n,c]),u=d.useCallback(()=>{n.completeInterview(),c()},[n,c]);return{state:s,startQuestion:l,nextPhase:h,completeInterview:u,timerService:n}}function w2(e,t={}){const[r,i]=d.useState({data:null,loading:!1,error:null}),n=d.useCallback(async(...s)=>{var a,c,l,h;i(u=>({...u,loading:!0,error:null}));try{const u=await e(...s);i(f=>({...f,data:u,loading:!1,error:null})),(a=t.onSuccess)==null||a.call(t,u),(c=t.onSettled)==null||c.call(t,u,null)}catch(u){const f=u.type?u:{type:"unknown",message:u.message||"Unknown error",retryable:!0,userMessage:"Something went wrong. Please try again.",originalError:u};i(w=>({...w,loading:!1,error:f})),(l=t.onError)==null||l.call(t,f),(h=t.onSettled)==null||h.call(t,null,f)}},[e,t]);return{...r,execute:n}}const g2=e=>{const[t,r]=d.useState(null),[i,n]=d.useState(!1),s=document,a=()=>!!(s.fullscreenEnabled||s.webkitFullscreenEnabled||s.mozFullScreenEnabled||s.msFullscreenEnabled),c=()=>s.fullscreenElement||s.webkitFullscreenElement||s.mozFullScreenElement||s.msFullscreenElement,l=async g=>{var p;try{if(!a())throw new Error("Fullscreen is not supported in this environment");g.requestFullscreen?await g.requestFullscreen():g.webkitRequestFullscreen?await g.webkitRequestFullscreen():g.mozRequestFullScreen?await g.mozRequestFullScreen():g.msRequestFullscreen&&await g.msRequestFullscreen()}catch(y){const m={name:"FullscreenError",message:y instanceof Error?y.message:"Failed to enter fullscreen"};r(m),(p=e==null?void 0:e.onError)==null||p.call(e,m)}},h=async()=>{var g;try{s.exitFullscreen?await s.exitFullscreen():s.webkitExitFullscreen?await s.webkitExitFullscreen():s.mozCancelFullScreen?await s.mozCancelFullScreen():s.msExitFullscreen&&await s.msExitFullscreen()}catch(p){const y={name:"FullscreenError",message:p instanceof Error?p.message:"Failed to exit fullscreen"};r(y),(g=e==null?void 0:e.onError)==null||g.call(e,y)}},u=d.useCallback(()=>{var p;const g=!!c();n(g),(p=e==null?void 0:e.onFullScreenChange)==null||p.call(e,g)},[e]);d.useEffect(()=>{const g=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];return g.forEach(p=>{document.addEventListener(p,u)}),()=>{g.forEach(p=>{document.removeEventListener(p,u)})}},[u]);const f=async g=>{r(null);const p=g??document.documentElement;await l(p)};return{isFullScreen:i,toggleFullScreen:async g=>{i?await h():await f(g)},enterFullScreen:f,exitFullScreen:h,error:t}};function wl(){const e=fi();return d.useMemo(()=>{const r=e.api||{};return new io(r)},[e.api])}const p2=e=>{d.useEffect(()=>{const t=i=>{(i.ctrlKey||i.metaKey)&&["c","v","a","t","n","w","r","s","p"].includes(i.key.toLowerCase())&&(i.preventDefault(),e({type:"blocked_shortcut",severity:"low",details:{action:"shortcut_pressed",reason:`Attempted to use a blocked keyboard shortcut: Ctrl + ${i.key}`}})),i.key.startsWith("F")&&i.key.length<=3&&(i.preventDefault(),e({type:"blocked_function_key",severity:"low",details:{action:"function_key_pressed",reason:`Attempted to use a blocked function key: ${i.key}`}})),i.altKey&&i.key==="Tab"&&(i.preventDefault(),e({type:"alt_tab_attempt",severity:"medium",details:{action:"alt_tab",reason:"Attempted to use the Alt + Tab shortcut"}}))},r=i=>{i.preventDefault(),e({type:"right_click_attempt",severity:"low",details:{action:"right_click",reason:"Attempted to use the right click"}})};return document.addEventListener("keydown",t),document.addEventListener("contextmenu",r),()=>{document.removeEventListener("keydown",t),document.removeEventListener("contextmenu",r)}},[e])},m2=(e={})=>{const[t,r]=d.useState(!1),[i,n]=d.useState(!1),[s,a]=d.useState(null),[c,l]=d.useState(null),[h,u]=d.useState(null),f=d.useRef(e);f.current=e;const w=d.useRef(null);w.current||(w.current=new cl(e.config)),d.useEffect(()=>{var b;e.config&&((b=w.current)==null||b.updateConfig(e.config))},[e.config]),d.useEffect(()=>{const b=w.current;return()=>{b==null||b.dispose(),w.current=null}},[]);const g=d.useCallback(async b=>{var F,T;const v=w.current;if(!v||v.isDisposed())throw new W("STT service is not available","SERVICE_UNAVAILABLE",!1);try{l(null),a(null),u(null),await v.startRecording(b,{onStart:()=>{var E,C;r(!0),(C=(E=f.current).onStart)==null||C.call(E)},onStop:()=>{var E,C;r(!1),(C=(E=f.current).onStop)==null||C.call(E)},onError:E=>{var D,N;const C=E instanceof W?E:new W(E.message,"RECORDING_ERROR",!0);l(C),r(!1),(N=(D=f.current).onError)==null||N.call(D,C)}})}catch(E){const C=E instanceof W?E:new W(E instanceof Error?E.message:String(E),"START_FAILED",!1);throw l(C),r(!1),(T=(F=f.current).onError)==null||T.call(F,C),C}},[]),p=d.useCallback(async()=>{var v,F;const b=w.current;if(!b||b.isDisposed())throw new W("STT service is not available","SERVICE_UNAVAILABLE",!1);try{const T=await b.stopRecording(),E=(T.size/1024/1024).toFixed(2);return console.log(`Received audio blob: ${E} MB`),u(T),T}catch(T){const E=T instanceof W?T:new W(T instanceof Error?T.message:String(T),"STOP_FAILED",!1);throw l(E),r(!1),(F=(v=f.current).onError)==null||F.call(v,E),E}},[]),y=d.useCallback(async(b,v={})=>{var T,E,C,D;const F=w.current;if(!F||F.isDisposed())throw new W("STT service is not available","SERVICE_UNAVAILABLE",!1);try{l(null),n(!0);const N=(b.size/1024/1024).toFixed(2);console.log(`Starting transcription for blob: ${N} MB`);const L={audioBlob:b,...v},z=await F.transcribe(L);return console.log(`Transcription complete. Text length: ${z.transcript.length}`),a(z.transcript),n(!1),(E=(T=f.current).onTranscriptionComplete)==null||E.call(T,z),z}catch(N){const L=N instanceof W?N:new W(N instanceof Error?N.message:String(N),"TRANSCRIPTION_FAILED",!0);throw l(L),n(!1),(D=(C=f.current).onError)==null||D.call(C,L),L}},[]),m=d.useCallback(()=>{var b;(b=w.current)==null||b.cancelRecording(),r(!1),u(null)},[]);return{startRecording:g,stopRecording:p,transcribe:y,cancelRecording:m,isRecording:t,isTranscribing:i,transcript:s,error:c,audioBlob:h}},y2=e=>{const t=d.useRef(null),r=d.useRef(!1);d.useEffect(()=>{const i=()=>{document.hidden&&(r.current=!0,t.current&&(clearTimeout(t.current),t.current=null),e({type:"tab_switch",severity:"high",details:{action:"tab_hidden",reason:"Attempted to switch tabs or applications"}}),setTimeout(()=>{r.current=!1},100))},n=()=>{r.current||(t.current=setTimeout(()=>{r.current||e({type:"focus_loss",severity:"medium",details:{action:"window_blur",reason:"Focus lost from the interview window"}}),t.current=null},50))};return document.addEventListener("visibilitychange",i),window.addEventListener("blur",n),()=>{document.removeEventListener("visibilitychange",i),window.removeEventListener("blur",n),t.current&&clearTimeout(t.current)}},[e])},b2=()=>{d.useEffect(()=>{const e=document.createElement("style");return e.textContent=`
|
|
15
|
+
}`,e.VERTEX_SHADER),this.W=Uc(this,this.H(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error(`Error during program linking: ${e.getProgramInfoLog(this.h)}`);this.O=e.getAttribLocation(this.h,"aVertex"),this.L=e.getAttribLocation(this.h,"aTex")}D(){}l(){}close(){if(this.h){const e=this.g;e.deleteProgram(this.h),e.deleteShader(this.X),e.deleteShader(this.W)}this.B&&this.g.deleteFramebuffer(this.B),this.A&&this.A.close(),this.u&&this.u.close()}};function bt(e,t){switch(t){case 0:return e.g.find(r=>r instanceof Uint8Array);case 1:return e.g.find(r=>r instanceof Float32Array);case 2:return e.g.find(r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture);default:throw Error(`Type is not supported: ${t}`)}}function Is(e){var t=bt(e,1);if(!t){if(t=bt(e,0))t=new Float32Array(t).map(i=>i/255);else{t=new Float32Array(e.width*e.height);const i=Cr(e);var r=Fs(e);if(jc(r,i,$c(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){r=new Float32Array(e.width*e.height*4),i.readPixels(0,0,e.width,e.height,i.RGBA,i.FLOAT,r);for(let n=0,s=0;n<t.length;++n,s+=4)t[n]=r[s]}else i.readPixels(0,0,e.width,e.height,i.RED,i.FLOAT,t)}e.g.push(t)}return t}function $c(e){let t=bt(e,2);if(!t){const r=Cr(e);t=Hc(e);const i=Is(e),n=Wc(e);r.texImage2D(r.TEXTURE_2D,0,n,e.width,e.height,0,r.RED,r.FLOAT,i),Ls(e)}return t}function Cr(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Ft(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Wc(e){if(e=Cr(e),!en)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))en=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");en=e.R16F}return en}function Fs(e){return e.l||(e.l=new zc),e.l}function Hc(e){const t=Cr(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=bt(e,2);return r||(r=Gc(Fs(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function Ls(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var en,pe=class{constructor(e,t,r,i,n,s,a){this.g=e,this.m=t,this.j=r,this.canvas=i,this.l=n,this.width=s,this.height=a,this.j&&--qc===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!bt(this,0)}ka(){return!!bt(this,1)}R(){return!!bt(this,2)}ja(){return(t=bt(e=this,0))||(t=Is(e),t=new Uint8Array(t.map(r=>Math.round(255*r))),e.g.push(t)),t;var e,t}ia(){return Is(this)}N(){return $c(this)}clone(){const e=[];for(const t of this.g){let r;if(t instanceof Uint8Array)r=new Uint8Array(t);else if(t instanceof Float32Array)r=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{const i=Cr(this),n=Fs(this);i.activeTexture(i.TEXTURE1),r=Gc(n,i,this.m?i.LINEAR:i.NEAREST),i.bindTexture(i.TEXTURE_2D,r);const s=Wc(this);i.texImage2D(i.TEXTURE_2D,0,s,this.width,this.height,0,i.RED,i.FLOAT,null),i.bindTexture(i.TEXTURE_2D,null),jc(n,i,r),ju(n,i,!1,()=>{Hc(this),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),Ls(this)}),zu(n),Ls(this)}}e.push(r)}return new pe(e,this.m,this.R(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Cr(this).deleteTexture(bt(this,2)),qc=-1}};pe.prototype.close=pe.prototype.close,pe.prototype.clone=pe.prototype.clone,pe.prototype.getAsWebGLTexture=pe.prototype.N,pe.prototype.getAsFloat32Array=pe.prototype.ia,pe.prototype.getAsUint8Array=pe.prototype.ja,pe.prototype.hasWebGLTexture=pe.prototype.R,pe.prototype.hasFloat32Array=pe.prototype.ka,pe.prototype.hasUint8Array=pe.prototype.Fa;var qc=250;function Je(...e){return e.map(([t,r])=>({start:t,end:r}))}const $u=function(e){return class extends e{Ja(){this.i._registerModelResourcesGraphService()}}}((Kc=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m=typeof this.i._addIntToInputStream=="function",t!==void 0?this.i.canvas=t:Lc()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))}async initializeGraph(e){const t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){const r=e.length,i=this.i._malloc(r);this.i.HEAPU8.set(e,i),t?this.i._changeBinaryGraph(r,i):this.i._changeTextGraph(r,i),this.i._free(i)}configureAudio(e,t,r,i,n){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),S(this,i||"input_audio",s=>{S(this,n=n||"audio_header",a=>{this.i._configureAudio(s,a,e,t??0,r)})})}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}ca(e){lt(this,"__graph_config__",t=>{e(t)}),S(this,"__graph_config__",t=>{this.i._getGraphConfig(t,void 0)}),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,i,n){const s=4*e.length;this.h!==s&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(s),this.h=s),this.i.HEAPF32.set(e,this.g/4),S(this,i,a=>{this.i._addAudioToInputStream(this.g,t,r,a,n)})}addGpuBufferToStream(e,t,r){S(this,t,i=>{const[n,s]=Pc(this,e,i);this.i._addBoundTextureToStream(i,n,s,r)})}addBoolToStream(e,t,r){S(this,t,i=>{this.i._addBoolToInputStream(e,i,r)})}addDoubleToStream(e,t,r){S(this,t,i=>{this.i._addDoubleToInputStream(e,i,r)})}addFloatToStream(e,t,r){S(this,t,i=>{this.i._addFloatToInputStream(e,i,r)})}addIntToStream(e,t,r){S(this,t,i=>{this.i._addIntToInputStream(e,i,r)})}addUintToStream(e,t,r){S(this,t,i=>{this.i._addUintToInputStream(e,i,r)})}addStringToStream(e,t,r){S(this,t,i=>{S(this,e,n=>{this.i._addStringToInputStream(n,i,r)})})}addStringRecordToStream(e,t,r){S(this,t,i=>{Oc(this,Object.keys(e),n=>{Oc(this,Object.values(e),s=>{this.i._addFlatHashMapToInputStream(n,s,Object.keys(e).length,i,r)})})})}addProtoToStream(e,t,r,i){S(this,r,n=>{S(this,t,s=>{const a=this.i._malloc(e.length);this.i.HEAPU8.set(e,a),this.i._addProtoToInputStream(a,e.length,s,n,i),this.i._free(a)})})}addEmptyPacketToStream(e,t){S(this,e,r=>{this.i._addEmptyPacketToInputStream(r,t)})}addBoolVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(const s of e)this.i._addBoolVectorEntry(n,s);this.i._addBoolVectorToInputStream(n,i,r)})}addDoubleVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(const s of e)this.i._addDoubleVectorEntry(n,s);this.i._addDoubleVectorToInputStream(n,i,r)})}addFloatVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(const s of e)this.i._addFloatVectorEntry(n,s);this.i._addFloatVectorToInputStream(n,i,r)})}addIntVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(const s of e)this.i._addIntVectorEntry(n,s);this.i._addIntVectorToInputStream(n,i,r)})}addUintVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(const s of e)this.i._addUintVectorEntry(n,s);this.i._addUintVectorToInputStream(n,i,r)})}addStringVectorToStream(e,t,r){S(this,t,i=>{const n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(const s of e)S(this,s,a=>{this.i._addStringVectorEntry(n,a)});this.i._addStringVectorToInputStream(n,i,r)})}addBoolToInputSidePacket(e,t){S(this,t,r=>{this.i._addBoolToInputSidePacket(e,r)})}addDoubleToInputSidePacket(e,t){S(this,t,r=>{this.i._addDoubleToInputSidePacket(e,r)})}addFloatToInputSidePacket(e,t){S(this,t,r=>{this.i._addFloatToInputSidePacket(e,r)})}addIntToInputSidePacket(e,t){S(this,t,r=>{this.i._addIntToInputSidePacket(e,r)})}addUintToInputSidePacket(e,t){S(this,t,r=>{this.i._addUintToInputSidePacket(e,r)})}addStringToInputSidePacket(e,t){S(this,t,r=>{S(this,e,i=>{this.i._addStringToInputSidePacket(i,r)})})}addProtoToInputSidePacket(e,t,r){S(this,r,i=>{S(this,t,n=>{const s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputSidePacket(s,e.length,n,i),this.i._free(s)})})}addBoolVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(const n of e)this.i._addBoolVectorEntry(i,n);this.i._addBoolVectorToInputSidePacket(i,r)})}addDoubleVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(const n of e)this.i._addDoubleVectorEntry(i,n);this.i._addDoubleVectorToInputSidePacket(i,r)})}addFloatVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(const n of e)this.i._addFloatVectorEntry(i,n);this.i._addFloatVectorToInputSidePacket(i,r)})}addIntVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(const n of e)this.i._addIntVectorEntry(i,n);this.i._addIntVectorToInputSidePacket(i,r)})}addUintVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(const n of e)this.i._addUintVectorEntry(i,n);this.i._addUintVectorToInputSidePacket(i,r)})}addStringVectorToInputSidePacket(e,t){S(this,t,r=>{const i=this.i._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(const n of e)S(this,n,s=>{this.i._addStringVectorEntry(i,s)});this.i._addStringVectorToInputSidePacket(i,r)})}attachBoolListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachBoolListener(r)})}attachBoolVectorListener(e,t){It(this,e,t),S(this,e,r=>{this.i._attachBoolVectorListener(r)})}attachIntListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachIntListener(r)})}attachIntVectorListener(e,t){It(this,e,t),S(this,e,r=>{this.i._attachIntVectorListener(r)})}attachUintListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachUintListener(r)})}attachUintVectorListener(e,t){It(this,e,t),S(this,e,r=>{this.i._attachUintVectorListener(r)})}attachDoubleListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachDoubleListener(r)})}attachDoubleVectorListener(e,t){It(this,e,t),S(this,e,r=>{this.i._attachDoubleVectorListener(r)})}attachFloatListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachFloatListener(r)})}attachFloatVectorListener(e,t){It(this,e,t),S(this,e,r=>{this.i._attachFloatVectorListener(r)})}attachStringListener(e,t){lt(this,e,t),S(this,e,r=>{this.i._attachStringListener(r)})}attachStringVectorListener(e,t){It(this,e,t),S(this,e,r=>{this.i._attachStringVectorListener(r)})}attachProtoListener(e,t,r){lt(this,e,t),S(this,e,i=>{this.i._attachProtoListener(i,r||!1)})}attachProtoVectorListener(e,t,r){It(this,e,t),S(this,e,i=>{this.i._attachProtoVectorListener(i,r||!1)})}attachAudioListener(e,t,r){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),lt(this,e,(i,n)=>{i=new Float32Array(i.buffer,i.byteOffset,i.length/4),t(i,n)}),S(this,e,i=>{this.i._attachAudioListener(i,r||!1)})}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Kc{get ga(){return this.i}pa(e,t,r){S(this,t,i=>{const[n,s]=Pc(this,e,i);this.ga._addBoundTextureAsImageToStream(i,n,s,r)})}Z(e,t){lt(this,e,t),S(this,e,r=>{this.ga._attachImageListener(r)})}aa(e,t){It(this,e,t),S(this,e,r=>{this.ga._attachImageVectorListener(r)})}}));var Kc,Ze=class extends $u{};async function B(e,t,r){return async function(i,n,s,a){return Vu(i,n,s,a)}(e,r.canvas??(Lc()?void 0:document.createElement("canvas")),t,r)}function Yc(e,t,r,i){if(e.U){const s=new Ra;if(r!=null&&r.regionOfInterest){if(!e.oa)throw Error("This task doesn't support region-of-interest.");var n=r.regionOfInterest;if(n.left>=n.right||n.top>=n.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(n.left<0||n.top<0||n.right>1||n.bottom>1)throw Error("Expected RectF values to be in [0,1].");A(s,1,(n.left+n.right)/2),A(s,2,(n.top+n.bottom)/2),A(s,4,n.right-n.left),A(s,3,n.bottom-n.top)}else A(s,1,.5),A(s,2,.5),A(s,4,1),A(s,3,1);if(r!=null&&r.rotationDegrees){if((r==null?void 0:r.rotationDegrees)%90!=0)throw Error("Expected rotation to be a multiple of 90°.");if(A(s,5,-Math.PI*r.rotationDegrees/180),(r==null?void 0:r.rotationDegrees)%180!=0){const[a,c]=Dc(t);r=ne(s,3)*c/a,n=ne(s,4)*a/c,A(s,4,r),A(s,3,n)}}e.g.addProtoToStream(s.g(),"mediapipe.NormalizedRect",e.U,i)}e.g.pa(t,e.X,i??performance.now()),e.finishProcessing()}function Re(e,t,r){var i;if((i=e.baseOptions)!=null&&i.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Yc(e,t,r,e.C+1)}function dt(e,t,r,i){var n;if(!((n=e.baseOptions)!=null&&n.g()))throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Yc(e,t,r,i)}function Ar(e,t,r,i){var n=t.data;const s=t.width,a=s*(t=t.height);if((n instanceof Uint8Array||n instanceof Float32Array)&&n.length!==a)throw Error("Unsupported channel count: "+n.length/a);return e=new pe([n],r,!1,e.g.i.canvas,e.P,s,t),i?e.clone():e}var Ve=class extends Ts{constructor(e,t,r,i){super(e),this.g=e,this.X=t,this.U=r,this.oa=i,this.P=new zc}l(e,t=!0){if("runningMode"in e&&$(this.baseOptions,2,Yr(!!e.runningMode&&e.runningMode!=="IMAGE")),e.canvas!==void 0&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.P.close(),super.close()}};Ve.prototype.close=Ve.prototype.close;var Ke=class extends Ve{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},I(e=this.h=new Xi,0,1,t=new re),A(this.h,2,.5),A(this.h,3,.3)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&A(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&A(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},Re(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},dt(this,e,r,t),this.j}m(){var e=new Ue;ee(e,"image_in"),ee(e,"norm_rect_in"),j(e,"detections");const t=new Be;at(t,ku,this.h);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),X(r,"IMAGE:image_in"),X(r,"NORM_RECT:norm_rect_in"),O(r,"DETECTIONS:detections"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Qa(s),this.j.detections.push(Tc(i));x(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ke.prototype.detectForVideo=Ke.prototype.G,Ke.prototype.detect=Ke.prototype.F,Ke.prototype.setOptions=Ke.prototype.o,Ke.createFromModelPath=async function(e,t){return B(Ke,e,{baseOptions:{modelAssetPath:t}})},Ke.createFromModelBuffer=function(e,t){return B(Ke,e,{baseOptions:{modelAssetBuffer:t}})},Ke.createFromOptions=function(e,t){return B(Ke,e,t)};var Ms=Je([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),Ds=Je([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),Ps=Je([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),Xc=Je([474,475],[475,476],[476,477],[477,474]),Os=Je([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),Bs=Je([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),Qc=Je([469,470],[470,471],[471,472],[472,469]),Us=Je([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),Jc=[...Ms,...Ds,...Ps,...Os,...Bs,...Us],Zc=Je([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function Rc(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var te=class extends Ve{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,I(e=this.h=new ac,0,1,t=new re),this.A=new oc,I(this.h,0,3,this.A),this.u=new Xi,I(this.h,0,2,this.u),mt(this.u,4,1),A(this.u,2,.5),A(this.A,2,.5),A(this.h,4,.5)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"numFaces"in e&&mt(this.u,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&A(this.u,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&A(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&A(this.A,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return Rc(this),Re(this,e,t),this.j}G(e,t,r){return Rc(this),dt(this,e,r,t),this.j}m(){var e=new Ue;ee(e,"image_in"),ee(e,"norm_rect"),j(e,"face_landmarks");const t=new Be;at(t,Cu,this.h);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),X(r,"IMAGE:image_in"),X(r,"NORM_RECT:norm_rect"),O(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("face_landmarks",(i,n)=>{for(const s of i)i=ri(s),this.j.faceLandmarks.push(Qi(i));x(this,n)}),this.g.attachEmptyPacketListener("face_landmarks",i=>{x(this,i)}),this.outputFaceBlendshapes&&(j(e,"blendshapes"),O(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",(i,n)=>{if(this.outputFaceBlendshapes)for(const s of i)i=qi(s),this.j.faceBlendshapes.push(Cs(i.g()??[]));x(this,n)}),this.g.attachEmptyPacketListener("blendshapes",i=>{x(this,i)})),this.outputFacialTransformationMatrixes&&(j(e,"face_geometry"),O(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",(i,n)=>{if(this.outputFacialTransformationMatrixes)for(const s of i)(i=V(i=Su(s),pu,2))&&this.j.facialTransformationMatrixes.push({rows:We(i,1)??0??0,columns:We(i,2)??0??0,data:$t(i,3,st,zt()).slice()??[]});x(this,n)}),this.g.attachEmptyPacketListener("face_geometry",i=>{x(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};te.prototype.detectForVideo=te.prototype.G,te.prototype.detect=te.prototype.F,te.prototype.setOptions=te.prototype.o,te.createFromModelPath=function(e,t){return B(te,e,{baseOptions:{modelAssetPath:t}})},te.createFromModelBuffer=function(e,t){return B(te,e,{baseOptions:{modelAssetBuffer:t}})},te.createFromOptions=function(e,t){return B(te,e,t)},te.FACE_LANDMARKS_LIPS=Ms,te.FACE_LANDMARKS_LEFT_EYE=Ds,te.FACE_LANDMARKS_LEFT_EYEBROW=Ps,te.FACE_LANDMARKS_LEFT_IRIS=Xc,te.FACE_LANDMARKS_RIGHT_EYE=Os,te.FACE_LANDMARKS_RIGHT_EYEBROW=Bs,te.FACE_LANDMARKS_RIGHT_IRIS=Qc,te.FACE_LANDMARKS_FACE_OVAL=Us,te.FACE_LANDMARKS_CONTOURS=Jc,te.FACE_LANDMARKS_TESSELATION=Zc;var Vs=Je([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function el(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function tl(e){return e.gestures.length===0?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function rl(e,t=!0){const r=[];for(const n of e){var i=qi(n);e=[];for(const s of i.g())i=t&&We(s,1)!=null?We(s,1)??0:-1,e.push({score:ne(s,2)??0,index:i,categoryName:ye(Y(s,3))??""??"",displayName:ye(Y(s,4))??""??""});r.push(e)}return r}var Ge=class extends Ve{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],I(e=this.j=new dc,0,1,t=new re),this.u=new ys,I(this.j,0,2,this.u),this.D=new ms,I(this.u,0,3,this.D),this.A=new lc,I(this.u,0,2,this.A),this.h=new Au,I(this.j,0,3,this.h),A(this.A,2,.5),A(this.u,4,.5),A(this.D,2,.5)}get baseOptions(){return V(this.j,re,1)}set baseOptions(e){I(this.j,0,1,e)}o(e){var n,s,a,c;if(mt(this.A,3,e.numHands??1),"minHandDetectionConfidence"in e&&A(this.A,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&A(this.u,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&A(this.D,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new kr,r=t,i=Ss(e.cannedGesturesClassifierOptions,(n=V(this.h,kr,3))==null?void 0:n.l());I(r,0,2,i),I(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&((s=V(this.h,kr,3))==null||s.g());return e.customGesturesClassifierOptions?(I(r=t=new kr,0,2,i=Ss(e.customGesturesClassifierOptions,(a=V(this.h,kr,4))==null?void 0:a.l())),I(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&((c=V(this.h,kr,4))==null||c.g()),this.l(e)}Ha(e,t){return el(this),Re(this,e,t),tl(this)}Ia(e,t,r){return el(this),dt(this,e,r,t),tl(this)}m(){var e=new Ue;ee(e,"image_in"),ee(e,"norm_rect"),j(e,"hand_gestures"),j(e,"hand_landmarks"),j(e,"world_hand_landmarks"),j(e,"handedness");const t=new Be;at(t,Tu,this.j);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),X(r,"IMAGE:image_in"),X(r,"NORM_RECT:norm_rect"),O(r,"HAND_GESTURES:hand_gestures"),O(r,"LANDMARKS:hand_landmarks"),O(r,"WORLD_LANDMARKS:world_hand_landmarks"),O(r,"HANDEDNESS:handedness"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i){i=ri(s);const a=[];for(const c of pt(i,Za,1))a.push({x:ne(c,1)??0,y:ne(c,2)??0,z:ne(c,3)??0,visibility:ne(c,4)??0});this.landmarks.push(a)}x(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i){i=_r(s);const a=[];for(const c of pt(i,Ja,1))a.push({x:ne(c,1)??0,y:ne(c,2)??0,z:ne(c,3)??0,visibility:ne(c,4)??0});this.worldLandmarks.push(a)}x(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("hand_gestures",(i,n)=>{this.gestures.push(...rl(i,!1)),x(this,n)}),this.g.attachEmptyPacketListener("hand_gestures",i=>{x(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{this.handedness.push(...rl(i)),x(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function il(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Ge.prototype.recognizeForVideo=Ge.prototype.Ia,Ge.prototype.recognize=Ge.prototype.Ha,Ge.prototype.setOptions=Ge.prototype.o,Ge.createFromModelPath=function(e,t){return B(Ge,e,{baseOptions:{modelAssetPath:t}})},Ge.createFromModelBuffer=function(e,t){return B(Ge,e,{baseOptions:{modelAssetBuffer:t}})},Ge.createFromOptions=function(e,t){return B(Ge,e,t)},Ge.HAND_CONNECTIONS=Vs;var je=class extends Ve{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],I(e=this.h=new ys,0,1,t=new re),this.u=new ms,I(this.h,0,3,this.u),this.j=new lc,I(this.h,0,2,this.j),mt(this.j,3,1),A(this.j,2,.5),A(this.u,2,.5),A(this.h,4,.5)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"numHands"in e&&mt(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&A(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&A(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&A(this.u,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Re(this,e,t),il(this)}G(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],dt(this,e,r,t),il(this)}m(){var e=new Ue;ee(e,"image_in"),ee(e,"norm_rect"),j(e,"hand_landmarks"),j(e,"world_hand_landmarks"),j(e,"handedness");const t=new Be;at(t,Nu,this.h);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),X(r,"IMAGE:image_in"),X(r,"NORM_RECT:norm_rect"),O(r,"LANDMARKS:hand_landmarks"),O(r,"WORLD_LANDMARKS:world_hand_landmarks"),O(r,"HANDEDNESS:handedness"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i)i=ri(s),this.landmarks.push(Qi(i));x(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i)i=_r(s),this.worldLandmarks.push(ii(i));x(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{x(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{var s=this.handedness,a=s.push;const c=[];for(const l of i){i=qi(l);const h=[];for(const u of i.g())h.push({score:ne(u,2)??0,index:We(u,1)??0??-1,categoryName:ye(Y(u,3))??""??"",displayName:ye(Y(u,4))??""??""});c.push(h)}a.call(s,...c),x(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};je.prototype.detectForVideo=je.prototype.G,je.prototype.detect=je.prototype.F,je.prototype.setOptions=je.prototype.o,je.createFromModelPath=function(e,t){return B(je,e,{baseOptions:{modelAssetPath:t}})},je.createFromModelBuffer=function(e,t){return B(je,e,{baseOptions:{modelAssetBuffer:t}})},je.createFromOptions=function(e,t){return B(je,e,t)},je.HAND_CONNECTIONS=Vs;var nl=Je([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function sl(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function ol(e){try{if(!e.D)return e.h;e.D(e.h)}finally{Ri(e)}}function tn(e,t){e=ri(e),t.push(Qi(e))}var Q=class extends Ve{constructor(e,t){super(new Ze(e,t),"input_frames_image",null,!1),this.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},this.outputPoseSegmentationMasks=this.outputFaceBlendshapes=!1,I(e=this.j=new pc,0,1,t=new re),this.I=new ms,I(this.j,0,2,this.I),this.W=new Iu,I(this.j,0,3,this.W),this.u=new Xi,I(this.j,0,4,this.u),this.O=new oc,I(this.j,0,5,this.O),this.A=new wc,I(this.j,0,6,this.A),this.M=new gc,I(this.j,0,7,this.M),A(this.u,2,.5),A(this.u,3,.3),A(this.O,2,.5),A(this.A,2,.5),A(this.A,3,.3),A(this.M,2,.5),A(this.I,2,.5)}get baseOptions(){return V(this.j,re,1)}set baseOptions(e){I(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&A(this.u,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&A(this.u,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&A(this.O,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&A(this.A,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&A(this.A,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&A(this.M,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&A(this.I,2,e.minHandLandmarksConfidence??.5),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.D=typeof t=="function"?t:r,sl(this),Re(this,e,i),ol(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.D=typeof r=="function"?r:i,sl(this),dt(this,e,n,t),ol(this)}m(){var e=new Ue;ee(e,"input_frames_image"),j(e,"pose_landmarks"),j(e,"pose_world_landmarks"),j(e,"face_landmarks"),j(e,"left_hand_landmarks"),j(e,"left_hand_world_landmarks"),j(e,"right_hand_landmarks"),j(e,"right_hand_world_landmarks");const t=new Be,r=new Ma;Pe(r,1,"type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),function(n,s){if(s!=null)if(Array.isArray(s))$(n,2,Ni(s,0,Jr));else{if(!(typeof s=="string"||s instanceof it||_n(s)))throw Error("invalid value in Any.value field: "+s+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");St(n,2,An(s,!1),Ot())}}(r,this.j.g());const i=new Te;Pe(i,2,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),Yn(i,8,Ma,r),X(i,"IMAGE:input_frames_image"),O(i,"POSE_LANDMARKS:pose_landmarks"),O(i,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),O(i,"FACE_LANDMARKS:face_landmarks"),O(i,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),O(i,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),O(i,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),O(i,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),i.o(t),qe(e,i),Zi(this,e),this.g.attachProtoListener("pose_landmarks",(n,s)=>{tn(n,this.h.poseLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("pose_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("pose_world_landmarks",(n,s)=>{var a=this.h.poseWorldLandmarks;n=_r(n),a.push(ii(n)),x(this,s)}),this.g.attachEmptyPacketListener("pose_world_landmarks",n=>{x(this,n)}),this.outputPoseSegmentationMasks&&(O(i,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),Sr(this,"pose_segmentation_mask"),this.g.Z("pose_segmentation_mask",(n,s)=>{this.h.poseSegmentationMasks=[Ar(this,n,!0,!this.D)],x(this,s)}),this.g.attachEmptyPacketListener("pose_segmentation_mask",n=>{this.h.poseSegmentationMasks=[],x(this,n)})),this.g.attachProtoListener("face_landmarks",(n,s)=>{tn(n,this.h.faceLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("face_landmarks",n=>{x(this,n)}),this.outputFaceBlendshapes&&(j(e,"extra_blendshapes"),O(i,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",(n,s)=>{var a=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(n=qi(n),a.push(Cs(n.g()??[]))),x(this,s)}),this.g.attachEmptyPacketListener("extra_blendshapes",n=>{x(this,n)})),this.g.attachProtoListener("left_hand_landmarks",(n,s)=>{tn(n,this.h.leftHandLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("left_hand_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("left_hand_world_landmarks",(n,s)=>{var a=this.h.leftHandWorldLandmarks;n=_r(n),a.push(ii(n)),x(this,s)}),this.g.attachEmptyPacketListener("left_hand_world_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("right_hand_landmarks",(n,s)=>{tn(n,this.h.rightHandLandmarks),x(this,s)}),this.g.attachEmptyPacketListener("right_hand_landmarks",n=>{x(this,n)}),this.g.attachProtoListener("right_hand_world_landmarks",(n,s)=>{var a=this.h.rightHandWorldLandmarks;n=_r(n),a.push(ii(n)),x(this,s)}),this.g.attachEmptyPacketListener("right_hand_world_landmarks",n=>{x(this,n)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Q.prototype.detectForVideo=Q.prototype.G,Q.prototype.detect=Q.prototype.F,Q.prototype.setOptions=Q.prototype.o,Q.createFromModelPath=function(e,t){return B(Q,e,{baseOptions:{modelAssetPath:t}})},Q.createFromModelBuffer=function(e,t){return B(Q,e,{baseOptions:{modelAssetBuffer:t}})},Q.createFromOptions=function(e,t){return B(Q,e,t)},Q.HAND_CONNECTIONS=Vs,Q.POSE_CONNECTIONS=nl,Q.FACE_LANDMARKS_LIPS=Ms,Q.FACE_LANDMARKS_LEFT_EYE=Ds,Q.FACE_LANDMARKS_LEFT_EYEBROW=Ps,Q.FACE_LANDMARKS_LEFT_IRIS=Xc,Q.FACE_LANDMARKS_RIGHT_EYE=Os,Q.FACE_LANDMARKS_RIGHT_EYEBROW=Bs,Q.FACE_LANDMARKS_RIGHT_IRIS=Qc,Q.FACE_LANDMARKS_FACE_OVAL=Us,Q.FACE_LANDMARKS_CONTOURS=Jc,Q.FACE_LANDMARKS_TESSELATION=Zc;var Ye=class extends Ve{constructor(e,t){super(new Ze(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},I(e=this.h=new mc,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return I(this.h,0,2,Ss(e,V(this.h,ws,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},Re(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},dt(this,e,r,t),this.j}m(){var e=new Ue;ee(e,"input_image"),ee(e,"norm_rect"),j(e,"classifications");const t=new Be;at(t,Fu,this.h);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),X(r,"IMAGE:input_image"),X(r,"NORM_RECT:norm_rect"),O(r,"CLASSIFICATIONS:classifications"),r.o(t),qe(e,r),this.g.attachProtoListener("classifications",(i,n)=>{this.j=Bu(bu(i)),x(this,n)}),this.g.attachEmptyPacketListener("classifications",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ye.prototype.classifyForVideo=Ye.prototype.ta,Ye.prototype.classify=Ye.prototype.sa,Ye.prototype.setOptions=Ye.prototype.o,Ye.createFromModelPath=function(e,t){return B(Ye,e,{baseOptions:{modelAssetPath:t}})},Ye.createFromModelBuffer=function(e,t){return B(Ye,e,{baseOptions:{modelAssetBuffer:t}})},Ye.createFromOptions=function(e,t){return B(Ye,e,t)};var ze=class extends Ve{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!0),this.h=new yc,this.embeddings={embeddings:[]},I(e=this.h,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){var t=this.h,r=V(this.h,ic,2);return r=r?r.clone():new ic,e.l2Normalize!==void 0?$(r,1,Yr(e.l2Normalize)):"l2Normalize"in e&&$(r,1),e.quantize!==void 0?$(r,2,Yr(e.quantize)):"quantize"in e&&$(r,2),I(t,0,2,r),this.l(e)}za(e,t){return Re(this,e,t),this.embeddings}Aa(e,t,r){return dt(this,e,r,t),this.embeddings}m(){var e=new Ue;ee(e,"image_in"),ee(e,"norm_rect"),j(e,"embeddings_out");const t=new Be;at(t,Lu,this.h);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),X(r,"IMAGE:image_in"),X(r,"NORM_RECT:norm_rect"),O(r,"EMBEDDINGS:embeddings_out"),r.o(t),qe(e,r),this.g.attachProtoListener("embeddings_out",(i,n)=>{i=Eu(i),this.embeddings=function(s){return{embeddings:pt(s,xu,1).map(a=>{var h,u;const c={headIndex:We(a,3)??0??-1,headName:ye(Y(a,4))??""??""};var l=a.v;return Jo(l,0|l[_],ec,Wn(a,1))!==void 0?(a=$t(a=V(a,ec,Wn(a,1),void 0),1,st,zt()),c.floatEmbedding=a.slice()):(l=new Uint8Array(0),c.quantizedEmbedding=((u=(h=V(a,vu,Wn(a,2),void 0))==null?void 0:h.na())==null?void 0:u.h())??l),c}),timestampMs:Ac(ea(s))}}(i),x(this,n)}),this.g.attachEmptyPacketListener("embeddings_out",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ze.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Ic(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Ic(Nc(e.quantizedEmbedding),Nc(t.quantizedEmbedding))}return e},ze.prototype.embedForVideo=ze.prototype.Aa,ze.prototype.embed=ze.prototype.za,ze.prototype.setOptions=ze.prototype.o,ze.createFromModelPath=function(e,t){return B(ze,e,{baseOptions:{modelAssetPath:t}})},ze.createFromModelBuffer=function(e,t){return B(ze,e,{baseOptions:{modelAssetBuffer:t}})},ze.createFromOptions=function(e,t){return B(ze,e,t)};var Gs=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};function Wu(e){var r,i;const t=function(n){return pt(n,Te,1)}(e.ca()).filter(n=>(ye(Y(n,1))??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator"));if(e.u=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(((i=(r=V(t[0],Be,7))==null?void 0:r.j())==null?void 0:i.g())??new Map).forEach((n,s)=>{e.u[Number(s)]=ye(Y(n,1))??""})}function al(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function cl(e){try{const t=new Gs(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Ri(e)}}Gs.prototype.close=Gs.prototype.close;var Ne=class extends Ve{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.u=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Es,this.A=new bc,I(this.h,0,3,this.A),I(e=this.h,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?$(this.h,2,Qr(e.displayNamesLocale)):"displayNamesLocale"in e&&$(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}L(){Wu(this)}segment(e,t,r){const i=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,al(this),Re(this,e,i),cl(this)}La(e,t,r,i){const n=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:i,al(this),dt(this,e,n,t),cl(this)}Da(){return this.u}m(){var e=new Ue;ee(e,"image_in"),ee(e,"norm_rect");const t=new Be;at(t,Ec,this.h);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),X(r,"IMAGE:image_in"),X(r,"NORM_RECT:norm_rect"),r.o(t),qe(e,r),Zi(this,e),this.outputConfidenceMasks&&(j(e,"confidence_masks"),O(r,"CONFIDENCE_MASKS:confidence_masks"),Sr(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Ar(this,s,!0,!this.j)),x(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],x(this,i)})),this.outputCategoryMask&&(j(e,"category_mask"),O(r,"CATEGORY_MASK:category_mask"),Sr(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Ar(this,i,!1,!this.j),x(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,x(this,i)})),j(e,"quality_scores"),O(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,x(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ne.prototype.getLabels=Ne.prototype.Da,Ne.prototype.segmentForVideo=Ne.prototype.La,Ne.prototype.segment=Ne.prototype.segment,Ne.prototype.setOptions=Ne.prototype.o,Ne.createFromModelPath=function(e,t){return B(Ne,e,{baseOptions:{modelAssetPath:t}})},Ne.createFromModelBuffer=function(e,t){return B(Ne,e,{baseOptions:{modelAssetBuffer:t}})},Ne.createFromOptions=function(e,t){return B(Ne,e,t)};var js=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};js.prototype.close=js.prototype.close;var ut=class extends Ve{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Es,this.u=new bc,I(this.h,0,3,this.u),I(e=this.h,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}segment(e,t,r,i){const n=typeof r!="function"?r:{};if(this.j=typeof r=="function"?r:i,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.C+1,i=new kc,t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new _s;St(s,3,Yr(!0),!1),St(s,1,Kr(t.keypoint.x),0),St(s,2,Kr(t.keypoint.y),0),Zr(i,1,ks,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");{const c=new Du;for(s of t.scribble)St(t=new _s,3,Yr(!0),!1),St(t,1,Kr(s.x),0),St(t,2,Kr(s.y),0),Yn(c,1,_s,t);Zr(i,2,ks,c)}}this.g.addProtoToStream(i.g(),"mediapipe.tasks.vision.interactive_segmenter.proto.RegionOfInterest","roi_in",r),Re(this,e,n);e:{try{const c=new js(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var a=c;break e}this.j(c)}finally{Ri(this)}a=void 0}return a}m(){var e=new Ue;ee(e,"image_in"),ee(e,"roi_in"),ee(e,"norm_rect_in");const t=new Be;at(t,Ec,this.h);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraphV2"),X(r,"IMAGE:image_in"),X(r,"ROI:roi_in"),X(r,"NORM_RECT:norm_rect_in"),r.o(t),qe(e,r),Zi(this,e),this.outputConfidenceMasks&&(j(e,"confidence_masks"),O(r,"CONFIDENCE_MASKS:confidence_masks"),Sr(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Ar(this,s,!0,!this.j)),x(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],x(this,i)})),this.outputCategoryMask&&(j(e,"category_mask"),O(r,"CATEGORY_MASK:category_mask"),Sr(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Ar(this,i,!1,!this.j),x(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,x(this,i)})),j(e,"quality_scores"),O(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,x(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ut.prototype.segment=ut.prototype.segment,ut.prototype.setOptions=ut.prototype.o,ut.createFromModelPath=function(e,t){return B(ut,e,{baseOptions:{modelAssetPath:t}})},ut.createFromModelBuffer=function(e,t){return B(ut,e,{baseOptions:{modelAssetBuffer:t}})},ut.createFromOptions=function(e,t){return B(ut,e,t)};var Xe=class extends Ve{constructor(e,t){super(new Ze(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},I(e=this.h=new Sc,0,1,t=new re)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?$(this.h,2,Qr(e.displayNamesLocale)):"displayNamesLocale"in e&&$(this.h,2),e.maxResults!==void 0?mt(this.h,3,e.maxResults):"maxResults"in e&&$(this.h,3),e.scoreThreshold!==void 0?A(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&$(this.h,4),e.categoryAllowlist!==void 0?Ii(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&$(this.h,5),e.categoryDenylist!==void 0?Ii(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&$(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},Re(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},dt(this,e,r,t),this.j}m(){var e=new Ue;ee(e,"input_frame_gpu"),ee(e,"norm_rect"),j(e,"detections");const t=new Be;at(t,Pu,this.h);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.ObjectDetectorGraph"),X(r,"IMAGE:input_frame_gpu"),X(r,"NORM_RECT:norm_rect"),O(r,"DETECTIONS:detections"),r.o(t),qe(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Qa(s),this.j.detections.push(Tc(i));x(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{x(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Xe.prototype.detectForVideo=Xe.prototype.G,Xe.prototype.detect=Xe.prototype.F,Xe.prototype.setOptions=Xe.prototype.o,Xe.createFromModelPath=async function(e,t){return B(Xe,e,{baseOptions:{modelAssetPath:t}})},Xe.createFromModelBuffer=function(e,t){return B(Xe,e,{baseOptions:{modelAssetBuffer:t}})},Xe.createFromOptions=function(e,t){return B(Xe,e,t)};var zs=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){var e;(e=this.segmentationMasks)==null||e.forEach(t=>{t.close()})}};function ll(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function dl(e){try{const t=new zs(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.u)return t;e.u(t)}finally{Ri(e)}}zs.prototype.close=zs.prototype.close;var $e=class extends Ve{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,I(e=this.h=new Cc,0,1,t=new re),this.A=new gc,I(this.h,0,3,this.A),this.j=new wc,I(this.h,0,2,this.j),mt(this.j,4,1),A(this.j,2,.5),A(this.A,2,.5),A(this.h,4,.5)}get baseOptions(){return V(this.h,re,1)}set baseOptions(e){I(this.h,0,1,e)}o(e){return"numPoses"in e&&mt(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&A(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&A(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&A(this.A,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.u=typeof t=="function"?t:r,ll(this),Re(this,e,i),dl(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.u=typeof r=="function"?r:i,ll(this),dt(this,e,n,t),dl(this)}m(){var e=new Ue;ee(e,"image_in"),ee(e,"norm_rect"),j(e,"normalized_landmarks"),j(e,"world_landmarks"),j(e,"segmentation_masks");const t=new Be;at(t,Ou,this.h);const r=new Te;Pe(r,2,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),X(r,"IMAGE:image_in"),X(r,"NORM_RECT:norm_rect"),O(r,"NORM_LANDMARKS:normalized_landmarks"),O(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),qe(e,r),Zi(this,e),this.g.attachProtoVectorListener("normalized_landmarks",(i,n)=>{this.landmarks=[];for(const s of i)i=ri(s),this.landmarks.push(Qi(i));x(this,n)}),this.g.attachEmptyPacketListener("normalized_landmarks",i=>{this.landmarks=[],x(this,i)}),this.g.attachProtoVectorListener("world_landmarks",(i,n)=>{this.worldLandmarks=[];for(const s of i)i=_r(s),this.worldLandmarks.push(ii(i));x(this,n)}),this.g.attachEmptyPacketListener("world_landmarks",i=>{this.worldLandmarks=[],x(this,i)}),this.outputSegmentationMasks&&(O(r,"SEGMENTATION_MASK:segmentation_masks"),Sr(this,"segmentation_masks"),this.g.aa("segmentation_masks",(i,n)=>{this.segmentationMasks=i.map(s=>Ar(this,s,!0,!this.u)),x(this,n)}),this.g.attachEmptyPacketListener("segmentation_masks",i=>{this.segmentationMasks=[],x(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};$e.prototype.detectForVideo=$e.prototype.G,$e.prototype.detect=$e.prototype.F,$e.prototype.setOptions=$e.prototype.o,$e.createFromModelPath=function(e,t){return B($e,e,{baseOptions:{modelAssetPath:t}})},$e.createFromModelBuffer=function(e,t){return B($e,e,{baseOptions:{modelAssetBuffer:t}})},$e.createFromOptions=function(e,t){return B($e,e,t)},$e.POSE_CONNECTIONS=nl;const rn="https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/latest/face_landmarker.task",Hu="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm",qu=()=>{const e=d.useRef(null),[t,r]=d.useState(!1),[i,n]=d.useState("Initializing..."),[s,a]=d.useState(0),[c,l]=d.useState(!1);d.useEffect(()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(w=>{console.log("ServiceWorker registered:",w)}).catch(w=>{console.log("ServiceWorker registration failed:",w)})},[]);const h=async()=>"caches"in window?await(await caches.open("mediapipe-models-v1")).match(rn)!==void 0:!1,u=async()=>{try{const w=await fetch(rn),g=w.headers.get("content-length"),p=g?parseInt(g,10):0;if(!w.body)throw new Error("No response body");const y=w.body.getReader();let m=0;const b=[];for(;;){const{done:v,value:F}=await y.read();if(v)break;if(b.push(F),m+=F.length,p){const T=Math.round(m/p*100);a(T),n(`Downloading model... ${T}%`)}}return"caches"in window&&await(await caches.open("mediapipe-models-v1")).put(rn,new Response(new Blob(b),{headers:{"Content-Type":"application/octet-stream"}})),!0}catch(w){return console.error("Failed to preload model:",w),!1}};return d.useEffect(()=>{(async()=>{try{n("Checking cached models..."),await h()?n("Using cached model..."):(n("Model not cached. Downloading..."),await u()),n("Loading MediaPipe WASM...");const p=await Xt.forVisionTasks(Hu);n("Creating face landmarker...");const y=await te.createFromOptions(p,{baseOptions:{modelAssetPath:rn,delegate:"GPU"},runningMode:"VIDEO",outputFaceBlendshapes:!0,numFaces:2});e.current=y,r(!0),n("Model loaded successfully ✅")}catch(g){console.error("Model init error:",g),n(`Error: ${g==null?void 0:g.message}`),(g==null?void 0:g.name)==="NotAllowedError"&&l(!0)}})()},[]),{faceLandmarkerRef:e,isModelLoaded:t,statusMessage:i,setStatusMessage:n,loadingProgress:s,permissionDenied:c,clearCache:async()=>{"caches"in window&&(await caches.delete("mediapipe-models-v1"),n("Cache cleared. Please refresh to re-download models."))}}},Ku=()=>{const[e,t]=d.useState(0),r=d.useRef({lastTime:0,frames:0,fps:0}),i=d.useCallback(()=>{const n=performance.now(),s=r.current;if(s.frames++,n-s.lastTime>=1e3){const a=Math.round(s.frames*1e3/(n-s.lastTime));t(a),s.frames=0,s.lastTime=n}},[]);return{fps:e,updateFPS:i}},Yu=()=>{const e=d.useRef({value:100,isLookingAway:!1}),t=d.useCallback((s,a,c,l)=>{if(!s||!c||!a)return;const h=s.getContext("2d");if(!h)return;const{width:u,height:f}=s;if(h.clearRect(0,0,u,f),h.drawImage(a,0,0,u,f),l){h.fillStyle="#00FF00";for(const w of c)h.fillRect(w.x*u-.5,w.y*f-.5,1,1)}},[]),r=d.useCallback(s=>{const a=e.current.value/100,c=100,l=20,h=20,u=40;s.fillStyle="rgba(0, 0, 0, 0.3)",s.fillRect(h,u,l,c),s.fillStyle=`rgba(${Math.floor(255*(1-a))}, ${Math.floor(255*a)}, 0, 0.8)`;const f=c*a;s.fillRect(h,u+c-f,l,f),s.fillStyle="#FFFFFF",s.fillRect(h,u+c*(1-a),l,2)},[]),i=d.useCallback((s,a,c,l,h,u,f)=>{if(t(s,a,c,l),h&&u&&f){const w=s.getContext("2d");w&&r(w)}},[t,r]),n=d.useCallback((s,a)=>{const c=s.getContext("2d");c&&(c.clearRect(0,0,s.width,s.height),c.drawImage(a,0,0,s.width,s.height))},[]);return{drawLandmarks:t,drawEngagementBar:r,drawWithEngagementBar:i,clearCanvas:n,engagementRef:e}},Xu=50,Qu=()=>{const[e,t]=d.useState(100),[r,i]=d.useState(!1),n=d.useRef(0),s=d.useCallback((a,c,l)=>{if(!l||a.length<468)return;const h=a[33],u=a[263],f=a[1];if(!h||!u||!f)return;const w=(h.x+u.x)*.5,g=(h.y+u.y)*.5,p=w-c.x,y=g-c.y,m=Math.sqrt(p*p+y*y),b=Math.abs(f.y-c.noseY)*100,v=Math.abs(f.x-c.noseX)*100,F=Math.max(0,100-(m*200+b+v)),T=F<Xu,E=performance.now();return E-n.current>100&&(t(F),i(T),n.current=E),{engagement:F,isLookingAway:T}},[]);return{engagement:e,isLookingAway:r,analyzeGaze:s,setEngagement:t,setIsLookingAway:i}},Ju=.05,Zu=()=>{const[e,t]=d.useState(!1),[r,i]=d.useState(!1),n=d.useCallback((c,l)=>Math.sqrt(Math.pow(c.x-l.x,2)+Math.pow(c.y-l.y,2)),[]),s=d.useCallback((c,l)=>{if(!c||!l)return 0;const h=[1,33,263,61,291,10,152];let u=0,f=0;const w=l[33],g=l[263],p=c[33],y=c[263];if(!w||!g||!p||!y)return 0;const m=n(w,g),b=n(p,y);if(m===0||b===0)return 0;for(const F of h){const T=l[F],E=c[F];if(T&&E){const C=w.x+(E.x-p.x)*m/b,M=w.y+(E.y-p.y)*m/b;u+=n(T,{x:C,y:M}),f++}}return f===0?0:u/f},[n]),a=d.useCallback((c,l,h,u)=>{if(!c.faceLandmarks||c.faceLandmarks.length===0)return u("Face not detected."),i(!0),t(!1),null;if(l&&h){let f=null,w=0;for(const g of c.faceLandmarks)s(g,h)<Ju&&(f=g,w++);return w===1?(t(!1),i(!1),u("Reference face tracked."),f):w>1?(t(!0),i(!1),u("Multiple matching faces detected. Tracking suspended."),null):(t(!1),i(!0),u("Reference face not detected."),null)}else{const f=c.faceLandmarks[0];if(c.faceLandmarks.length>1)return t(!0),i(!1),u("Multiple faces detected. Please ensure only you are visible."),null;if(!f)return i(!0),t(!1),u("Face not detected."),null;const g=f[1],p=f[33],y=f[263];return g&&p&&y&&g.x>.35&&g.x<.65&&g.y>.3&&g.y<.7&&p.x>.2&&p.x<.8&&y.x>.2&&y.x<.8?(i(!1),t(!1),u("Face detected. Ready for calibration."),f):(i(!0),t(!1),u("Please position your face in the center."),null)}},[s]);return{multipleFacesDetected:e,referenceFaceNotDetected:r,analyzeFace:a,setMultipleFacesDetected:t,setReferenceFaceNotDetected:i}},Ru=500,e1=(e,t)=>{const[r,i]=d.useState(!1),[n,s]=d.useState(Ae.MODEL_LOADING),{incrementGazeViolation:a}=Zs(),{multipleFacesDetected:c,referenceFaceNotDetected:l,isLookingAway:h}=e;d.useEffect(()=>{let w;return(h||c||l)&&t?w=setTimeout(()=>{i(!0),h?(s("looking_away"),a("looking_away")):c?(s("multiple_faces"),a("multiple_faces")):l&&(s("no_face_detected"),a("no_face_detected"))},Ru):(i(!1),s("face_detected")),()=>{clearTimeout(w)}},[h,c,l,t,a]);const u=d.useCallback(()=>c?Ae.MULTIPLE_FACES:l?"no_face_detected":h?Ae.LOOKING_AWAY:n===Ae.MODEL_LOADING?Ae.MODEL_LOADING:Ae.FACE_DETECTED,[c,l,h]),f=d.useCallback(()=>{i(!1),s("face_detected")},[]);return{showGazeWarningModal:r,faceDetectionState:n,getWarningType:u,closeWarningModal:f,setShowGazeWarningModal:i,setFaceDetectionState:s}};class W extends Error{constructor(t,r,i=!1){super(t),this.code=r,this.recoverable=i,this.name="STTError"}}const t1=50*1024*1024;class ul{constructor(t={}){xe(this,"config");xe(this,"mediaRecorder",null);xe(this,"audioChunks",[]);xe(this,"audioChunksTotalSize",0);xe(this,"recordingStream",null);xe(this,"autoStopTimeoutId",null);xe(this,"disposed",!1);xe(this,"pendingStopPromise",null);xe(this,"isStarting",!1);this.config={baseUrl:"http://localhost:8000",provider:"groq",model:"whisper-large-v3-turbo",language:"en",includeTimestamps:!1,temperature:0,...t}}updateConfig(t){this.throwIfDisposed(),this.config={...this.config,...t}}isRecordingSupported(){return!!(navigator.mediaDevices&&typeof navigator.mediaDevices.getUserMedia=="function"&&window.MediaRecorder)}async startRecording(t,r){var i;if(this.throwIfDisposed(),!this.isRecordingSupported())throw new W("Audio recording is not supported in this browser","RECORDING_NOT_SUPPORTED",!1);if(this.isRecording()||this.isStarting){console.warn("STTService.startRecording: already recording or starting, ignoring duplicate call.");return}this.isStarting=!0;try{this.recordingStream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:44100}}),this.audioChunks=[],this.audioChunksTotalSize=0;const n=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.recordingStream,{mimeType:n}),this.mediaRecorder.addEventListener("dataavailable",s=>{var a,c,l;if(s.data.size>0){if(this.audioChunksTotalSize+s.data.size>t1){console.error(`Max size exceeded: ${(this.audioChunksTotalSize/1024/1024).toFixed(2)} MB`);const h=new W("Recording exceeded maximum size limit","MAX_SIZE_EXCEEDED",!1);(a=r==null?void 0:r.onError)==null||a.call(r,h),this.isRecording()&&((c=this.mediaRecorder)==null||c.stop());return}this.audioChunks.push(s.data),this.audioChunksTotalSize+=s.data.size,(l=r==null?void 0:r.onDataAvailable)==null||l.call(r,s.data)}}),this.mediaRecorder.addEventListener("stop",()=>{var s;(s=r==null?void 0:r.onStop)==null||s.call(r)},{once:!0}),this.mediaRecorder.addEventListener("error",s=>{var c;const a=new W(`Recording failed: ${s.error}`,"RECORDING_ERROR",!0);(c=r==null?void 0:r.onError)==null||c.call(r,a),this.cleanup()}),this.mediaRecorder.start(100),(i=r==null?void 0:r.onStart)==null||i.call(r),t&&t>0&&(this.autoStopTimeoutId=setTimeout(()=>{console.log(`Auto-stop triggered after ${t} seconds.`),this.isRecording()?this.stopRecording().catch(s=>{console.error("Auto-stop recording failed:",s),s instanceof W&&(console.error("Error Name:",s.name),console.error("Error Code:",s.code))}):console.log("Recording was already stopped before auto-stop timeout.")},t*1e3))}catch(n){if(this.cleanup(),n instanceof Error){if(n.name==="NotAllowedError"||n.name==="PermissionDeniedError")throw new W("Microphone permission was denied","PERMISSION_DENIED",!1);if(n.name==="NotFoundError")throw new W("No microphone found","NO_MICROPHONE",!1)}throw new W(`Failed to start recording: ${n instanceof Error?n.message:String(n)}`,"START_RECORDING_FAILED",!0)}finally{this.isStarting=!1}}async stopRecording(){var t,r;if(this.throwIfDisposed(),console.log("stopRecording called. Current state:",{hasMediaRecorder:!!this.mediaRecorder,recorderState:(t=this.mediaRecorder)==null?void 0:t.state,isRecording:this.isRecording(),autoStopTimeoutId:!!this.autoStopTimeoutId,hasPendingStop:!!this.pendingStopPromise}),this.pendingStopPromise)return console.log("stopRecording called while already stopping. Returning existing promise."),this.pendingStopPromise;if(this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),!this.mediaRecorder||this.mediaRecorder.state==="inactive"){if(this.audioChunks.length>0){console.log("Recorder inactive but chunks exist. Creating blob from cache.");const n=((r=this.mediaRecorder)==null?void 0:r.mimeType)||"audio/webm",s=new Blob(this.audioChunks,{type:n});return this.cleanup(),s}const i=this.mediaRecorder?"State is inactive":"MediaRecorder is null";throw console.warn(`Cannot stop recording: ${i}`),new W("No active recording to stop","NO_ACTIVE_RECORDING",!1)}return this.pendingStopPromise=new Promise((i,n)=>{if(!this.mediaRecorder){this.pendingStopPromise=null,n(new W("MediaRecorder is null","MEDIARECORDER_NULL",!1));return}const s=this.mediaRecorder,a=()=>{try{const c=s.mimeType||"audio/webm",l=new Blob(this.audioChunks,{type:c}),h=(l.size/1024/1024).toFixed(2);console.log(`Recording stopped successfully. Created blob: ${h} MB`),this.cleanup(),i(l)}catch(c){this.cleanup(),n(new W(`Failed to create audio blob: ${c instanceof Error?c.message:String(c)}`,"BLOB_CREATION_FAILED",!1))}finally{this.pendingStopPromise=null}};s.addEventListener("stop",a,{once:!0});try{s.stop()}catch(c){this.pendingStopPromise=null,n(c)}}),this.pendingStopPromise}async transcribe(t){this.throwIfDisposed();const{audioBlob:r}=t;if(!r||r.size===0)throw new W("Audio blob is empty or invalid","INVALID_AUDIO",!1);try{const i=new FormData,n=new File([r],"recording.wav",{type:r.type||"audio/wav"});if(i.append("file",n),i.append("qna_id",this.config.qnaId||""),!this.config.interviewId)throw new W("Interview ID is missing from configuration","MISSING_INTERVIEW_ID",!1);const s=await xt(`${this.config.baseUrl}${_t.TRANSCRIBE_ANSWER(this.config.interviewId)}`,{method:"POST",headers:{accept:"application/json","X-STT-Provider":this.config.provider||"groq",...this.config.authToken&&{Authorization:`Bearer ${this.config.authToken}`}},body:i},{attempts:1,backoff:"exponential",baseDelay:1e3,maxDelay:3e3,jitter:!0});if(!s.ok){const c=await s.text();let l=`STT request failed: ${s.status} ${s.statusText}`;try{const h=JSON.parse(c);l=h.message||h.error||l}catch{l=c||l}throw new W(l,`HTTP_${s.status}`,s.status>=500)}return{transcript:(await s.json()).data.transcribed_text??""}}catch(i){throw i instanceof W?i:new W(`Transcription failed: ${i instanceof Error?i.message:String(i)}`,"TRANSCRIPTION_FAILED",!0)}}cancelRecording(){this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),this.mediaRecorder&&this.isRecording()&&this.mediaRecorder.stop(),this.cleanup()}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}dispose(){this.disposed||(this.cancelRecording(),this.disposed=!0)}isDisposed(){return this.disposed}getSupportedMimeType(){const t=["audio/webm","audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/wav"];for(const r of t)if(MediaRecorder.isTypeSupported(r))return r;return"audio/webm"}getRecordingStream(){return this.recordingStream}cleanup(){this.recordingStream&&(this.recordingStream.getTracks().forEach(t=>t.stop()),this.recordingStream=null),this.mediaRecorder=null,this.audioChunks=[],this.audioChunksTotalSize=0,this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null)}throwIfDisposed(){if(this.disposed)throw new W("STTService has been disposed and cannot be reused","SERVICE_DISPOSED",!1)}}const r1=new ul,i1=(e,t,r,i)=>{const n=d.useRef(null);return d.useEffect(()=>{if(!t)return;const s=async()=>{try{const l=await navigator.mediaDevices.getUserMedia({video:{width:{ideal:640},height:{ideal:480},facingMode:"user"}});e.current&&(e.current.srcObject=l,e.current.onloadeddata=()=>{r()})}catch(l){console.error("Camera access error:",l),i("Camera access failed")}},a=n.current,c=e.current;return s(),()=>{a&&cancelAnimationFrame(a),c!=null&&c.srcObject&&c.srcObject.getTracks().forEach(h=>h.stop())}},[t,r]),d.useEffect(()=>{const s=r1.getRecordingStream();if(s&&e.current){e.current.srcObject=s;const a=s.getVideoTracks(),c=s.getAudioTracks(),l=()=>{console.log("Media track ended - permission may have been revoked")};[...a,...c].forEach(h=>{h.addEventListener("ended",l)})}},[]),{animationFrameRef:n}},n1=(e,t,r,i,n,s,a,c,l,h,u,f,w,g,p)=>{const y=d.useRef(null),m=d.useCallback(()=>{const b=e.current,v=t.current,F=r.current;if(!b||b.readyState<2||!F||!v){y.current=requestAnimationFrame(m);return}i();try{const T=performance.now(),E=F.detectForVideo(b,T),C=n(E,l,h.current,g);C?(s(v,b,C,u,f,w,l),l&&w&&c(C,h.current,w)):a(v,b)}catch(T){console.error("Face detection error:",T)}y.current=requestAnimationFrame(m)},[e,t,r,i,n,s,a,c,l,h,u,f,w,g,p]);return{renderLoop:m,animationFrameRef:y}},s1=(e,t,r,i)=>{const{referenceSet:n,referenceRef:s,setReferenceData:a}=Zs(),c=d.useRef(s),l=d.useCallback(()=>{c.current=s},[s]),h=d.useCallback(()=>{var g;const f=e.current,w=t.current;if(console.log({faceLandmarker:f,video:w}),!(!f||!w))try{const p=performance.now(),y=f.detectForVideo(w,p);if((g=y.faceLandmarks)!=null&&g[0]){const m=y.faceLandmarks[0],b=m[33],v=m[263],F=m[1];b&&v&&F&&(c.current={x:(b.x+v.x)*.5,y:(b.y+v.y)*.5,noseX:F.x,noseY:F.y},a(!0,c.current),r("Reference set. Gaze tracking active."),console.log("Reference set. Gaze tracking active.",c.current),i&&i())}}catch(p){console.error("Set reference error:",p),r("Failed to set reference")}},[e,t,r,a,i]),u=d.useCallback(()=>{a(!1,{x:0,y:0,noseX:0,noseY:0}),r("Reference reset. Starting calibration...")},[a,r]);return{referenceSet:n,referenceRef:c,setReference:h,resetReference:u,syncReference:l}};function o1({onClose:e,warningType:t,isCheatingModalOpen:r=!1}){const i=so[t],n=i.icon;return t==="face_detected"?null:o.jsx("div",{className:"iw-absolute iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300 iw-transition-all",style:{bottom:r?"280px":"5rem"},children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#5C6686] iw-bg-[#F1F5FE] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:e,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(yi,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-2",children:[o.jsx("div",{className:"iw-flex iw-size-8 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#5C6686]",children:o.jsx(n,{className:"iw-size-6 iw-text-[#5C6686]"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsx("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#062260] iw-pr-6",children:i.title}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:i.subtitle}),i.description&&o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-[#5C6686] iw-pt-3",children:o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:i.description})})]})]})]})})}const a1=({status:e})=>{const t=so[e];if(!t)return null;const r=e!=="face_detected";return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-0.5",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-px-3 iw-py-1 iw-rounded-full iw-backdrop-blur-md iw-shadow-sm transition-colors duration-300 iw-text-white",children:[o.jsx("div",{className:`iw-flex iw-h-4 iw-w-4 iw-items-center iw-size-2.5 iw-justify-center iw-rounded-full iw-text-white ${e==="face_detected"?"iw-bg-[#22C55E]":e==="model_loading"?"iw-bg-[#062260]":"iw-bg-[#E94315]"}`,children:e==="face_detected"?o.jsx(mi,{}):e==="model_loading"?o.jsx("div",{className:"iw-animate-spin iw-border iw-border-white iw-border-t-transparent iw-rounded-full iw-w-2 iw-h-2"}):o.jsx(yi,{})}),o.jsx("span",{className:"iw-text-sm iw-font-medium",children:e==="face_detected"?"Face detected clearly":e==="camera_error"?"Camera not found":t.title})]}),r&&o.jsx("span",{className:"iw-text-white iw-text-center iw-text-xs iw-drop-shadow-sm iw-max-w-[400px] iw-px-3",children:e==="model_loading"?"Initializing Face models. Please wait...":e==="no_face_detected"?"Face not detected. Please position yourself clearly in the frame.":e==="multiple_faces"?"Multiple faces detected. Please ensure only you are visible.":"Please position your face correctly."})]})},hl=d.forwardRef(({className:e="",interviewId:t="",interview_duration:r,showProctoringUI:i=!0,onSetReference:n,isAnswering:s,onProctoringStatusChange:a,showStatusOverlay:c=!1,cheatingWarningVisible:l=!1,isDeviceLoading:h=!1,videoAllowed:u=!0},f)=>{var kl;const{authToken:w}=to(),g=w?$l(w):null,{borderRadius:p}=Zt(),y=p??18,{proctoring:m,capture_screenshots:b}=pn(),v=!!(m!=null&&m.gazeAnalysisEnabled),[F,T]=d.useState(!1),[E,C]=d.useState((m==null?void 0:m.showLandmarks)??!1),[M,N]=d.useState(i&&((m==null?void 0:m.showEngagementBar)??!0)),[L,z]=d.useState(v),[be,J]=d.useState(!1),H=d.useRef(null),Z=d.useRef(null),G=d.useRef(null),K=d.useRef(null),ht=d.useCallback(async _e=>{var dn;const hi=H.current,Se=G.current;if(!hi||!Se)return;const Or=Se.getContext("2d");if(!Or)return;Se.width=hi.videoWidth,Se.height=hi.videoHeight,Or.save(),Or.scale(-1,1),Or.drawImage(hi,-Se.width,0,Se.width,Se.height),Or.restore();const fi=await new Promise(Jt=>Se.toBlob(Jt,"image/jpeg"));if(fi&&t)try{const Jt=`${_e}-${Date.now()}.jpeg`,Ce=await bi.requestScreenshotUploadUrl(t,Jt);Ce.data&&Ce.data.upload_url&&(await bi.uploadScreenshot((dn=Ce==null?void 0:Ce.data)==null?void 0:dn.upload_url,fi),Ce.data.asset_id&&await bi.confirmScreenshotUpload(Ce.data.asset_id))}catch(Jt){console.error(`Failed to upload screenshot for ${_e}:`,Jt)}},[bi,t]);d.useEffect(()=>{let _e;return s&&(J(!0),_e=setTimeout(()=>J(!1),1e3)),()=>{_e&&clearTimeout(_e)}},[s]);const{faceLandmarkerRef:et,isModelLoaded:ft,statusMessage:vt,setStatusMessage:Ie,loadingProgress:Tr,permissionDenied:Lt,clearCache:Nr}=qu(),{fps:Ir,updateFPS:si}=Ku(),{drawWithEngagementBar:Fr,clearCanvas:Lr,engagementRef:Fe}=Yu(),{engagement:Mt,isLookingAway:ie,analyzeGaze:oi,setEngagement:tt,setIsLookingAway:Qt}=Qu(),{multipleFacesDetected:Mr,referenceFaceNotDetected:ai,analyzeFace:qs,setMultipleFacesDetected:cn,setReferenceFaceNotDetected:ci}=Zu(),{referenceSet:li,referenceRef:Ks,setReference:Dr,resetReference:di,syncReference:ui}=s1(et,H,Ie,n),P={multipleFacesDetected:Mr,referenceFaceNotDetected:ai,isLookingAway:ie},{showGazeWarningModal:D,getWarningType:ve,closeWarningModal:Pr,setShowGazeWarningModal:ln,setFaceDetectionState:_l}=e1(P,v&&!c);d.useEffect(()=>{if(a){if(h||!ft){a("model_loading");return}if(!u){a("camera_error");return}const _e=ve()||Ae.NO_FACE;a(_e)}},[ft,h,u,Mr,ai,ie,ve,a]);const{renderLoop:c2}=n1(H,Z,et,si,qs,Fr,Lr,oi,li,Ks,E,M,v,Ie,ci);i1(H,ft,c2,Ie),d.useEffect(()=>{ui()},[ui]),d.useEffect(()=>{Fe&&Fe.current&&(Fe.current.value=Mt,Fe.current.isLookingAway=ie)},[Mt,ie,Fe]);const l2=d.useCallback(_e=>{z(_e),_e||(tt(100),Qt(!1))},[tt,Qt]),d2=d.useCallback(()=>{Qt(!1),cn(!1),ci(!1),_l("face_detected"),ln(!1),Pr()},[Qt,cn,ci,_l,ln,Pr]),u2={engagement:Mt,fps:Ir,isLookingAway:ie,multipleFacesDetected:Mr,referenceFaceNotDetected:ai};return d.useEffect(()=>{if(!b)return;const _e=[];return(async()=>{try{const Se=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});K.current=Se,H.current&&(H.current.srcObject=Se);const fi=(r??wi)*60*1e3/3,dn=[0,1,2].map((Ce,Dt)=>({label:`capture-${Dt+1}`,start:Dt*fi,end:(Dt+1)*fi})),Jt=(Ce,Dt)=>Ce===Dt?Ce:Math.random()*(Dt-Ce)+Ce;dn.forEach(({label:Ce,start:Dt,end:h2},f2)=>{let Ys;f2===0?Ys=3e3:Ys=Jt(Dt,h2),_e.push(setTimeout(()=>{ht(Ce)},Ys))})}catch(Se){console.error("Error accessing camera:",Se)}})(),()=>{K.current&&K.current.getTracks().forEach(Se=>Se.stop()),_e.forEach(clearTimeout)}},[ht,b]),d.useImperativeHandle(f,()=>({setReference:()=>{Dr()},resetReference:()=>{di()},stopCamera:()=>{K.current&&(K.current.getTracks().forEach(_e=>_e.stop()),K.current=null)}}),[Dr,di]),o.jsxs("div",{className:`iw-relative iw-h-full iw-w-full ${e}`,children:[Lt?o.jsxs("div",{className:"iw-rounded-md iw-border iw-border-red-600 iw-p-5 iw-text-red-600",children:[o.jsx("h2",{children:"Camera Permission Denied"}),o.jsx("p",{children:"Please allow camera access to use this application."})]}):o.jsx("div",{className:"iw-flex iw-w-full iw-h-full iw-justify-start iw-items-start",children:o.jsxs("div",{className:`iw-relative iw-max-w-full iw-max-h-full iw-aspect-video iw-rounded-2xl iw-overflow-hidden iw-bg-black ${be?"iw-animate-answer-start":""} ${s?"iw-border-4 iw-border-[#6296FB]":""}`,style:{width:"100%",height:"auto",minHeight:"0"},children:[o.jsx("video",{ref:H,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}}),!u&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-flex-col iw-items-center iw-justify-center iw-bg-black/60 iw-z-30",children:h||!ft?o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-w-5 iw-h-5 iw-border-2 iw-border-white/20 iw-border-t-white iw-rounded-full iw-animate-spin"}),o.jsx("span",{className:"iw-text-white/60 iw-text-xs iw-font-medium iw-tracking-wide",children:"Initializing camera..."})]}):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"iw-text-white iw-font-medium iw-text-sm",children:"Camera not found"}),o.jsx("p",{className:"iw-text-white/60 iw-text-xs iw-mt-1",children:"Please ensure your camera is connected and enabled"})]})}),v&&o.jsx("canvas",{ref:Z,width:320,height:240,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)",borderRadius:y,display:"hidden"}}),o.jsx("canvas",{ref:G,style:{display:"none"}}),i&&o.jsxs("div",{className:"iw-absolute iw-top-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#FFEBE6] iw-px-2 iw-py-1 iw-backdrop-blur-md",children:[o.jsx("div",{className:"iw-size-2 iw-animate-pulse iw-rounded-full iw-bg-red-500"}),o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#E94315]",children:"RECORDING"})]}),i&&((kl=g==null?void 0:g.data)==null?void 0:kl.user_name)&&o.jsx("div",{className:"iw-absolute iw-z-50 iw-bottom-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#F1F5FE] iw-px-3 iw-py-1 iw-backdrop-blur-md",children:o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#062260]",children:g.data.user_name})}),i&&o.jsx("div",{className:"iw-absolute iw-bottom-4 iw-right-4",children:o.jsx(nd,{showControls:(m==null?void 0:m.showControls)??!1,isBubbleOpen:F,setIsBubbleOpen:T,setReference:Dr,clearCache:Nr,isModelLoaded:ft,gazeAnalysisEnabled:L&&v,referenceSet:li,showLandmarks:E,setShowLandmarks:C,showEngagementBar:M,setShowEngagementBar:N,handleToggleGazeAnalysis:l2,stats:u2,statusMessage:vt,loadingProgress:Tr})}),c&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"iw-absolute iw-inset-0 iw-pointer-events-none iw-z-10 ",style:{background:"radial-gradient(ellipse 20% 40% at 50% 45%, transparent 99.5%, rgba(0,0,0,0.35) 100%)"}}),o.jsx("div",{className:"iw-absolute iw-bottom-2 iw-inset-x-0 iw-flex iw-justify-center iw-pointer-events-none iw-z-20",children:o.jsx(a1,{status:u?h||!ft?"model_loading":ve()??"no_face_detected":"camera_error"})})]})]})}),v&&D&&!c&&o.jsx(o1,{isOpen:D,onClose:d2,warningType:ve(),isCheatingModalOpen:l})]})}),nn=({children:e,variant:t="primary",size:r="md",fullWidth:i=!1,isLoading:n=!1,disabled:s,className:a="",...c})=>{const l="iw-inline-flex iw-items-center iw-justify-center iw-rounded-md iw-font-medium iw-transition-colors iw-focus:outline-none iw-focus:ring-2 iw-focus:ring-primary-500 iw-focus:ring-offset-2",h={primary:"iw-bg-primary-600 iw-text-white iw-hover:bg-primary-700 iw-border iw-border-transparent",secondary:"iw-bg-primary-100 iw-text-primary-700 iw-hover:bg-primary-200 iw-border iw-border-transparent",outline:"iw-bg-transparent iw-text-primary-700 iw-border iw-border-primary-500 iw-hover:bg-primary-50",text:"iw-bg-transparent iw-text-primary-600 iw-hover:bg-primary-50 iw-border iw-border-transparent",gradient:"iw-text-white iw-border iw-border-transparent iw-bg-gradient-to-r iw-from-purple-500 iw-to-indigo-500 hover:iw-from-purple-600 hover:iw-to-indigo-600"},u={sm:"iw-px-3 iw-py-1.5 iw-text-sm",md:"iw-px-4 iw-py-2.5 iw-text-sm",lg:"iw-px-5 iw-py-3 iw-text-base"},f="iw-disabled:opacity-50 iw-disabled:cursor-not-allowed iw-disabled:pointer-events-none",w=i?"iw-w-full":"";return o.jsxs("button",{className:`${l} ${h[t]} ${u[r]} ${w} ${f} ${a}`,disabled:s||n,...c,children:[n&&o.jsx(io,{height:16,width:16,style:{marginRight:"3px"}}),e]})},c1=({stream:e,className:t="",barCount:r=50})=>{const i=d.useRef(null),n=d.useRef(null),s=d.useRef(null),a=d.useRef(null),c=d.useRef(null);d.useEffect(()=>{if(!e||window===void 0)return;a.current||(a.current=new(window.AudioContext||window.webkitAudioContext));const h=a.current;s.current||(s.current=h.createAnalyser(),s.current.fftSize=256,s.current.smoothingTimeConstant=.5);const u=s.current;try{c.current&&c.current.disconnect(),c.current=h.createMediaStreamSource(e),c.current.connect(u)}catch(w){console.error("Error creating media stream source:",w);return}const f=()=>{if(!i.current)return;const w=i.current,g=w.getContext("2d");if(!g)return;const p=u.frequencyBinCount,y=new Uint8Array(p);u.getByteFrequencyData(y);const m=w.width,b=w.height;g.clearRect(0,0,m,b);let v=0;for(let M=0;M<p;M++){const N=y[M]??0;v+=N*N}const F=Math.sqrt(v/p),T=Math.min(1,F/128);g.clearRect(0,0,m,b);const E=r,C=Math.floor(T*E);for(let M=0;M<E;M++){const N=M*(m/E),L=m/E-1.8;M<C?g.fillStyle="#0EB00E":g.fillStyle="#D9D9D9",g.fillRect(N,0,L,b)}n.current=requestAnimationFrame(f)};return f(),()=>{n.current&&cancelAnimationFrame(n.current)}},[e,r]);const l=d.useRef({audioContext:a.current,source:c.current});return l.current={audioContext:a.current,source:c.current},d.useEffect(()=>()=>{l.current.source&&l.current.source.disconnect(),l.current.audioContext&&l.current.audioContext.state!=="closed"&&l.current.audioContext.close()},[]),o.jsx("canvas",{ref:i,className:t,width:300,height:20,style:{width:"100%",height:"16px"}})},fl=({icon:e,devices:t,selectedId:r,onChange:i,label:n,showVisualizer:s=!1,stream:a=null,hasPermission:c=!0})=>{const{baseColor:l}=Zt(),[h,u]=d.useState(!1),f=d.useRef(null);d.useEffect(()=>{const p=y=>{f.current&&!f.current.contains(y.target)&&u(!1)};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[]);const w=t.find(p=>p.deviceId===r)||t[0],g=c&&(w==null?void 0:w.label)||n;return o.jsxs("div",{className:"iw-relative iw-flex-1 iw-w-1/2 iw-group",ref:f,children:[o.jsxs("div",{className:`iw-max-w-[300px] iw-flex iw-items-center iw-justify-between iw-bg-white iw-border iw-border-gray-200 iw-rounded-xl iw-px-3 iw-py-3 iw-transition-colors ${c?"iw-cursor-pointer hover:iw-border-blue-500":"iw-cursor-not-allowed"}`,onClick:()=>c&&u(!h),title:c?"":"Permission denied or device not found",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3 iw-min-w-0 iw-max-w-[210px]",children:[o.jsx(e,{className:"iw-w-5 iw-h-5 iw-text-[#062260] iw-flex-shrink-0"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-truncate",children:g})]}),o.jsx("div",{className:"iw-flex iw-items-center iw-gap-2",children:c?o.jsxs(o.Fragment,{children:[o.jsx(Yl,{className:`iw-w-4 iw-h-4 iw-text-gray-400 iw-transition-transform ${h?"iw-rotate-180":""}`}),r&&o.jsx("div",{className:"iw-bg-[#22C55E] iw-rounded-full iw-p-0.5",children:o.jsx(mi,{className:"iw-w-3 iw-h-3 iw-text-white"})})]}):o.jsx("div",{className:"iw-text-[#E94315] iw-relative",children:o.jsx(pi,{className:"iw-size-5"})})})]}),!c&&o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/6 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:l},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsxs("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:["Allow us to access your ",(n==null?void 0:n.split(" ")[1])??"device"]})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"We need permission to access your device. Go to your browser privacy settings to allow it"}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})}),s&&c&&o.jsxs("div",{className:"iw-mt-2 iw-px-1 iw-flex iw-items-center iw-gap-2 iw-overflow-hidden",children:[o.jsx(ed,{className:"iw-min-h-5 iw-min-w-5"}),o.jsx(c1,{stream:a,className:"iw-w-full"})]}),h&&c&&o.jsxs("div",{className:"iw-absolute iw-bottom-full iw-left-0 iw-right-0 iw-mb-2 iw-bg-white iw-border iw-border-gray-100 iw-rounded-xl iw-shadow-xl iw-z-50 iw-py-2 iw-max-h-60 iw-overflow-y-auto",children:[t.map(p=>o.jsxs("div",{className:`iw-px-4 iw-py-2.5 iw-text-sm iw-cursor-pointer iw-flex iw-items-center iw-justify-start hover:iw-bg-gray-50 ${r===p.deviceId?"iw-text-[#062260] iw-font-medium iw-bg-blue-50":"iw-text-gray-600"}`,onClick:()=>{i==null||i(p.deviceId),u(!1)},children:[r===p.deviceId&&o.jsx(mi,{className:"iw-w-4 iw-h-4 iw-text-[#062260] iw-mr-1"}),o.jsx("span",{className:"iw-truncate",children:p.label||`Device ${p.deviceId.slice(0,5)}...`})]},p.deviceId)),t.length===0&&o.jsx("div",{className:"iw-px-4 iw-py-2 iw-text-sm iw-text-gray-400",children:"No devices found"})]})]})},wl=({micEnabled:e=!1,videoEnabled:t=!1,buttonText:r,onButtonClick:i,isAgreed:n,onAgreedToggle:s,showCheckbox:a=!0,showMediaIcons:c=!0,disabled:l=!1,audioDevices:h=[],videoDevices:u=[],selectedAudioId:f,selectedVideoId:w,onAudioChange:g,onVideoChange:p,audioStream:y=null,isDeviceLoading:m=!1})=>{const b=l||!n||c&&(!e||!t)||m;return o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-4 iw-w-full",children:[a&&o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-3 iw-border iw-border-[#c2c3c7]",children:[o.jsx("div",{className:`iw-mt-0.5 iw-h-5 iw-w-5 iw-min-w-[20px] iw-rounded iw-border iw-flex iw-items-center iw-justify-center iw-cursor-pointer iw-transition-colors ${n?"iw-bg-[#062260] iw-border-[#062260]":"iw-bg-white iw-border-[#062260]"}`,onClick:v=>{v.stopPropagation(),s(!n)},children:n&&o.jsx(mi,{className:"iw-size-3 iw-text-white"})}),o.jsx("label",{onClick:()=>s(!n),className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-cursor-pointer iw-select-none",children:"By continuing, you acknowledge and consent to the use of your face data exclusively for interview monitoring"})]}),o.jsx("div",{className:"iw-flex iw-justify-center iw-items-center iw-gap-4 iw-flex-wrap iw-max-w-[700px] iw-mx-auto",children:c&&o.jsxs("div",{className:"iw-flex iw-gap-4 iw-w-full",children:[o.jsx(fl,{icon:Jl,devices:h,selectedId:f??"",onChange:v=>g&&g(v),label:"Choose mic",showVisualizer:!0,stream:y,hasPermission:e}),o.jsx(fl,{icon:Rl,devices:u,selectedId:w??"",onChange:v=>p&&p(v),label:"Choose camera",hasPermission:t})]})}),o.jsxs("div",{className:"iw-relative iw-group iw-w-full iw-max-w-[280px] iw-mx-auto",children:[o.jsx(nn,{onClick:i,disabled:b,className:`iw-h-12 iw-w-full !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border-[#E7EAF1] iw-rounded-lg ${b?"iw-opacity-50":"hover:iw-opacity-75"}`,children:m?"Device Loading...":r}),!n&&(!c||e&&t)&&l1()]})]})},l1=()=>{const{baseColor:e}=Zt();return o.jsx(o.Fragment,{children:o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/2 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:e},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsx("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:"Action Required"})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"Please check the box to acknowledge and consent to continue."}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})})})},d1=({steps:e,currentStepIndex:t})=>o.jsx("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-4 iw-w-full iw-py-3",children:e.map((r,i)=>{const n=i<t,s=i===t;return o.jsxs(d.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:`iw-flex iw-size-9 iw-text-[#062260] iw-items-center iw-justify-center iw-rounded-full iw-font-semibold iw-border ${s||n?"iw-border-[#0EB00E] iw-bg-[#E9FFE6]":"iw-border-[#BDE0FD] iw-bg-[#E6F3FF]"}`,children:n?o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"20 6 9 17 4 12"})}):i+1}),o.jsx("span",{className:`iw-text-sm iw-font-medium ${s||n?"iw-text-[#062260]":"iw-text-[#5C6686]"}`,children:r.label})]}),i<e.length-1&&o.jsx("div",{className:"iw-flex-1 iw-max-w-[120px] iw-border-t iw-border-dotted iw-border-[#B3B9CB]"})]},i)})}),u1=["Don't refresh or reload the page during your assessment","Don't switch tabs or open other applications while session is ongoing","Don't leave your position during the session","Don't disable or interfere with video/audio monitoring"],h1=({isOpen:e,onStart:t,gazeEnabled:r=!1,videoFeedRef:i,interviewId:n="",interview_duration:s=wi})=>{const{audioAllowed:a,videoAllowed:c,videoRef:l,audioDevices:h,videoDevices:u,selectedAudioDeviceId:f,selectedVideoDeviceId:w,isDeviceLoading:g,currentStream:p,handleAudioChange:y,handleVideoChange:m,stopStream:b}=Hl(e),[v,F]=d.useState(!1),[T,E]=d.useState(0),[C,M]=d.useState(!1),N=d.useRef(null),L=d.useRef(null),z=G=>{N.current=G,i&&(typeof i=="function"?i(G):i.current=G)};if(d.useEffect(()=>()=>{L.current&&(clearInterval(L.current),L.current=null)},[]),!e)return null;const[be,J]=d.useState(Ae.MODEL_LOADING),H=async()=>{var K;F(!0),(K=N.current)==null||K.resetReference();const G=()=>{var ht;return(ht=N.current)==null?void 0:ht.setReference()};G(),L.current&&clearInterval(L.current),L.current=setInterval(G,500)},Z=[{label:r?"Calibrate your camera":"Camera & Mic permission"},{label:"Basic guidelines"}];return o.jsx("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center iw-bg-gray-900/40 iw-backdrop-blur-sm iw-p-4 iw-pt-5 iw-overflow-auto",children:o.jsxs("div",{className:"iw-w-full iw-max-w-[700px] iw-max-h-[900px] iw-my-4 iw-bg-white iw-rounded-xl iw-shadow-2xl iw-overflow-auto",children:[o.jsxs("div",{className:"iw-px-5 iw-pt-3",children:[o.jsx("h2",{className:"iw-text-[#062260] iw-text-2xl iw-font-medium iw-tracking-tight",children:"Final checks before you go live"}),o.jsx("div",{className:"iw-mt-2 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-2 iw-border iw-border-[#E7EAF1]",children:o.jsx("p",{className:"iw-text-[#5C6686] iw-text-xs iw-leading-relaxed",children:"To ensure the integrity of the interview process, this platform uses your device’s camera to monitor your face and gaze direction. We do not store any outside this session"})}),o.jsx("div",{className:"iw-mt-3 iw-border-b iw-border-dashed iw-border-[#B3B9CB] iw-w-full"}),o.jsx(d1,{steps:Z,currentStepIndex:T})]}),o.jsx("div",{className:"iw-px-5 iw-pb-5 iw-flex iw-flex-col iw-items-center",children:T===0?o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-w-full iw-max-w-[600px] iw-aspect-video iw-bg-slate-100 iw-rounded-2xl iw-overflow-hidden iw-relative iw-border iw-border-slate-200",children:r?o.jsx(hl,{ref:z,interviewId:n,interview_duration:s,showProctoringUI:!1,showStatusOverlay:!g&&c,isDeviceLoading:g,videoAllowed:c,onProctoringStatusChange:J,onSetReference:()=>{L.current&&(clearInterval(L.current),L.current=null),F(!1),E(1)}}):o.jsx("video",{ref:l,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}})}),o.jsx(wl,{micEnabled:a,videoEnabled:c,buttonText:r?v?"Calibrating...":be==="model_loading"?"Initialising...":"Start calibrate":"Next",onButtonClick:()=>{r?H():E(1)},disabled:!C||r&&be!=="face_detected"||!r&&(!a||!c),isAgreed:C,onAgreedToggle:M,audioDevices:h,videoDevices:u,selectedAudioId:f,selectedVideoId:w,onAudioChange:y,onVideoChange:m,audioStream:p,isDeviceLoading:g})]}):o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-gap-6",children:[o.jsx("div",{className:"iw-w-full iw-bg-[#F8FAFF] iw-rounded-2xl iw-p-8 iw-flex iw-flex-col iw-gap-5",children:u1.map((G,K)=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-flex iw-h-7 iw-w-7 iw-min-w-[28px] iw-items-center iw-justify-center iw-rounded-full iw-bg-[#DBEAFE] iw-text-[#062260] iw-text-xs iw-font-bold",children:K+1}),o.jsx("span",{className:"iw-text-[#5C6686] iw-font-medium",children:G})]},K))}),o.jsx(wl,{buttonText:"Start interview",onButtonClick:()=>{t(),b()},isAgreed:C,onAgreedToggle:M,showMediaIcons:!1})]})})]})})};var U=(e=>(e.IDLE="idle",e.FETCHING_QUESTION="fetching_question",e.READING_QUESTION="reading_question",e.THINKING="thinking",e.ANSWERING="answering",e.TRANSCRIBING="transcribing",e.EDITING="editing",e.SUBMITTING="submitting",e.COMPLETED="completed",e))(U||{});const gl={thinkingDuration:0,answeringDuration:120,editingDuration:30},pl={idle:{next:"fetching_question"},fetching_question:{next:"reading_question"},reading_question:{next:"answering"},thinking:{next:"answering",duration:0},answering:{next:"transcribing",duration:120},transcribing:{next:"editing"},editing:{next:"submitting",duration:30},submitting:{next:"completed"},completed:{next:"completed"}};class f1{constructor(t={},r={}){xe(this,"config");xe(this,"state");xe(this,"phaseIntervalId",null);xe(this,"globalIntervalId",null);xe(this,"callbacks");this.config={...gl,...t},this.callbacks=r,this.state={phase:"idle",currentPhaseTimeRemaining:0,totalTimeElapsed:0,currentQuestionNumber:0}}updateConfig(t){this.config={...this.config,...t}}getState(){return{...this.state}}startQuestion(){this.state.currentQuestionNumber===0&&this.startGlobalTimer(),this.state.currentQuestionNumber=this.state.currentQuestionNumber+1,this.state.phase="fetching_question",this.notifyChange()}nextPhase(){const t=this.state.phase;let r=pl[t];if(!r)return;if(r.next==="editing"&&this.config.editingDuration===0){const n=pl.editing;n&&(r=n)}this.stopPhaseTimer(),this.state.phase=r.next;const i=this.getDurationForPhase(r.next);i>0?(this.state.currentPhaseTimeRemaining=i,this.startPhaseTimer()):this.state.currentPhaseTimeRemaining=0,this.notifyChange()}setTotalTimeElapsed(t){var r,i;this.state.totalTimeElapsed=t,(i=(r=this.callbacks).onTick)==null||i.call(r,this.getState())}completeInterview(){var t,r;this.stopGlobalTimer(),this.stopPhaseTimer(),this.state.phase="completed",(r=(t=this.callbacks).onInterviewEnd)==null||r.call(t),this.notifyChange()}destroy(){this.stopPhaseTimer(),this.stopGlobalTimer()}getDurationForPhase(t){switch(t){case"thinking":return this.config.thinkingDuration;case"answering":return this.config.answeringDuration;case"editing":return this.config.editingDuration;default:return 0}}startGlobalTimer(){this.globalIntervalId=setInterval(()=>{var t,r;this.state.totalTimeElapsed++,(r=(t=this.callbacks).onTick)==null||r.call(t,this.getState())},1e3)}stopGlobalTimer(){this.globalIntervalId&&(clearInterval(this.globalIntervalId),this.globalIntervalId=null)}startPhaseTimer(){this.phaseIntervalId=setInterval(()=>{this.state.currentPhaseTimeRemaining--,this.state.currentPhaseTimeRemaining<=0&&this.nextPhase()},1e3)}stopPhaseTimer(){this.phaseIntervalId&&(clearInterval(this.phaseIntervalId),this.phaseIntervalId=null)}notifyChange(){var t,r;(r=(t=this.callbacks).onPhaseChange)==null||r.call(t,this.state.phase,this.getState())}}function w1(e={}){const{config:t={},callbacks:r={}}=e,i=d.useRef(null);i.current||(i.current=new f1(t,{}));const n=i.current,[s,a]=d.useState(n.getState()),c=d.useCallback(()=>{a(n.getState())},[n]);d.useEffect(()=>{const f={onPhaseChange:(w,g)=>{var p;c(),(p=r.onPhaseChange)==null||p.call(r,w,g)},onTick:w=>{var g;c(),(g=r.onTick)==null||g.call(r,w)},onInterviewEnd:()=>{var w;c(),(w=r.onInterviewEnd)==null||w.call(r)}};n.callbacks=f},[n,r,c]),d.useEffect(()=>{n.updateConfig(t)},[n,t]),d.useEffect(()=>()=>{n.destroy()},[n]);const l=d.useCallback(()=>{n.startQuestion(),c()},[n,c]),h=d.useCallback(()=>{n.nextPhase(),c()},[n,c]),u=d.useCallback(()=>{n.completeInterview(),c()},[n,c]);return{state:s,startQuestion:l,nextPhase:h,completeInterview:u,timerService:n}}function g1(e,t={}){const[r,i]=d.useState({data:null,loading:!1,error:null}),n=d.useCallback(async(...s)=>{var a,c,l,h;i(u=>({...u,loading:!0,error:null}));try{const u=await e(...s);i(f=>({...f,data:u,loading:!1,error:null})),(a=t.onSuccess)==null||a.call(t,u),(c=t.onSettled)==null||c.call(t,u,null)}catch(u){const f=u.type?u:{type:"unknown",message:u.message||"Unknown error",retryable:!0,userMessage:"Something went wrong. Please try again.",originalError:u};i(w=>({...w,loading:!1,error:f})),(l=t.onError)==null||l.call(t,f),(h=t.onSettled)==null||h.call(t,null,f)}},[e,t]);return{...r,execute:n}}const p1=e=>{const[t,r]=d.useState(null),[i,n]=d.useState(!1),s=document,a=()=>!!(s.fullscreenEnabled||s.webkitFullscreenEnabled||s.mozFullScreenEnabled||s.msFullscreenEnabled),c=()=>s.fullscreenElement||s.webkitFullscreenElement||s.mozFullScreenElement||s.msFullscreenElement,l=async g=>{var p;try{if(!a())throw new Error("Fullscreen is not supported in this environment");g.requestFullscreen?await g.requestFullscreen():g.webkitRequestFullscreen?await g.webkitRequestFullscreen():g.mozRequestFullScreen?await g.mozRequestFullScreen():g.msRequestFullscreen&&await g.msRequestFullscreen()}catch(y){const m={name:"FullscreenError",message:y instanceof Error?y.message:"Failed to enter fullscreen"};r(m),(p=e==null?void 0:e.onError)==null||p.call(e,m)}},h=async()=>{var g;try{s.exitFullscreen?await s.exitFullscreen():s.webkitExitFullscreen?await s.webkitExitFullscreen():s.mozCancelFullScreen?await s.mozCancelFullScreen():s.msExitFullscreen&&await s.msExitFullscreen()}catch(p){const y={name:"FullscreenError",message:p instanceof Error?p.message:"Failed to exit fullscreen"};r(y),(g=e==null?void 0:e.onError)==null||g.call(e,y)}},u=d.useCallback(()=>{var p;const g=!!c();n(g),(p=e==null?void 0:e.onFullScreenChange)==null||p.call(e,g)},[e]);d.useEffect(()=>{const g=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];return g.forEach(p=>{document.addEventListener(p,u)}),()=>{g.forEach(p=>{document.removeEventListener(p,u)})}},[u]);const f=async g=>{r(null);const p=g??document.documentElement;await l(p)};return{isFullScreen:i,toggleFullScreen:async g=>{i?await h():await f(g)},enterFullScreen:f,exitFullScreen:h,error:t}};function ml(){const e=gi();return d.useMemo(()=>{const r=e.api||{};return new oo(r)},[e.api])}const m1=e=>{d.useEffect(()=>{const t=i=>{(i.ctrlKey||i.metaKey)&&["c","v","a","t","n","w","r","s","p"].includes(i.key.toLowerCase())&&(i.preventDefault(),e({type:"blocked_shortcut",severity:"low",details:{action:"shortcut_pressed",reason:`Attempted to use a blocked keyboard shortcut: Ctrl + ${i.key}`}})),i.key.startsWith("F")&&i.key.length<=3&&(i.preventDefault(),e({type:"blocked_function_key",severity:"low",details:{action:"function_key_pressed",reason:`Attempted to use a blocked function key: ${i.key}`}})),i.altKey&&i.key==="Tab"&&(i.preventDefault(),e({type:"alt_tab_attempt",severity:"medium",details:{action:"alt_tab",reason:"Attempted to use the Alt + Tab shortcut"}}))},r=i=>{i.preventDefault(),e({type:"right_click_attempt",severity:"low",details:{action:"right_click",reason:"Attempted to use the right click"}})};return document.addEventListener("keydown",t),document.addEventListener("contextmenu",r),()=>{document.removeEventListener("keydown",t),document.removeEventListener("contextmenu",r)}},[e])},y1=(e={})=>{const[t,r]=d.useState(!1),[i,n]=d.useState(!1),[s,a]=d.useState(null),[c,l]=d.useState(null),[h,u]=d.useState(null),f=d.useRef(e);f.current=e;const w=d.useRef(null);w.current||(w.current=new ul(e.config)),d.useEffect(()=>{var b;e.config&&((b=w.current)==null||b.updateConfig(e.config))},[e.config]),d.useEffect(()=>{const b=w.current;return()=>{b==null||b.dispose(),w.current=null}},[]);const g=d.useCallback(async b=>{var F,T;const v=w.current;if(!v||v.isDisposed())throw new W("STT service is not available","SERVICE_UNAVAILABLE",!1);try{l(null),a(null),u(null),await v.startRecording(b,{onStart:()=>{var E,C;r(!0),(C=(E=f.current).onStart)==null||C.call(E)},onStop:()=>{var E,C;r(!1),(C=(E=f.current).onStop)==null||C.call(E)},onError:E=>{var M,N;const C=E instanceof W?E:new W(E.message,"RECORDING_ERROR",!0);l(C),r(!1),(N=(M=f.current).onError)==null||N.call(M,C)}})}catch(E){const C=E instanceof W?E:new W(E instanceof Error?E.message:String(E),"START_FAILED",!1);throw l(C),r(!1),(T=(F=f.current).onError)==null||T.call(F,C),C}},[]),p=d.useCallback(async()=>{var v,F;const b=w.current;if(!b||b.isDisposed())throw new W("STT service is not available","SERVICE_UNAVAILABLE",!1);try{const T=await b.stopRecording(),E=(T.size/1024/1024).toFixed(2);return console.log(`Received audio blob: ${E} MB`),u(T),T}catch(T){const E=T instanceof W?T:new W(T instanceof Error?T.message:String(T),"STOP_FAILED",!1);throw l(E),r(!1),(F=(v=f.current).onError)==null||F.call(v,E),E}},[]),y=d.useCallback(async(b,v={})=>{var T,E,C,M;const F=w.current;if(!F||F.isDisposed())throw new W("STT service is not available","SERVICE_UNAVAILABLE",!1);try{l(null),n(!0);const N=(b.size/1024/1024).toFixed(2);console.log(`Starting transcription for blob: ${N} MB`);const L={audioBlob:b,...v},z=await F.transcribe(L);return console.log(`Transcription complete. Text length: ${z.transcript.length}`),a(z.transcript),n(!1),(E=(T=f.current).onTranscriptionComplete)==null||E.call(T,z),z}catch(N){const L=N instanceof W?N:new W(N instanceof Error?N.message:String(N),"TRANSCRIPTION_FAILED",!0);throw l(L),n(!1),(M=(C=f.current).onError)==null||M.call(C,L),L}},[]),m=d.useCallback(()=>{var b;(b=w.current)==null||b.cancelRecording(),r(!1),u(null)},[]);return{startRecording:g,stopRecording:p,transcribe:y,cancelRecording:m,isRecording:t,isTranscribing:i,transcript:s,error:c,audioBlob:h}},b1=e=>{const t=d.useRef(null),r=d.useRef(!1);d.useEffect(()=>{const i=()=>{document.hidden&&(r.current=!0,t.current&&(clearTimeout(t.current),t.current=null),e({type:"tab_switch",severity:"high",details:{action:"tab_hidden",reason:"Attempted to switch tabs or applications"}}),setTimeout(()=>{r.current=!1},100))},n=()=>{r.current||(t.current=setTimeout(()=>{r.current||e({type:"focus_loss",severity:"medium",details:{action:"window_blur",reason:"Focus lost from the interview window"}}),t.current=null},50))};return document.addEventListener("visibilitychange",i),window.addEventListener("blur",n),()=>{document.removeEventListener("visibilitychange",i),window.removeEventListener("blur",n),t.current&&clearTimeout(t.current)}},[e])},v1=()=>{d.useEffect(()=>{const e=document.createElement("style");return e.textContent=`
|
|
16
16
|
* {
|
|
17
17
|
-webkit-user-select: none !important;
|
|
18
18
|
-moz-user-select: none !important;
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
-ms-user-select: text !important;
|
|
26
26
|
user-select: text !important;
|
|
27
27
|
}
|
|
28
|
-
`,document.head.appendChild(e),()=>{document.head.removeChild(e)}},[])};class
|
|
28
|
+
`,document.head.appendChild(e),()=>{document.head.removeChild(e)}},[])};class x1{constructor(){xe(this,"currentAudio",null)}async play(t,r){var i,n;try{if(this.stop(),(i=r==null?void 0:r.onStart)==null||i.call(r),!t)throw new Error("No audio data provided");const s=window.atob(t),a=new Uint8Array(s==null?void 0:s.length);for(let h=0;h<(s==null?void 0:s.length);h++)a[h]=s==null?void 0:s.charCodeAt(h);const c=new Blob([a],{type:"audio/wav"}),l=URL.createObjectURL(c);return this.currentAudio=new Audio(l),new Promise((h,u)=>{if(!this.currentAudio){u(new Error("Audio element not created"));return}const f=this.currentAudio;f.onended=()=>{var w;URL.revokeObjectURL(l),this.currentAudio=null,(w=r==null?void 0:r.onEnd)==null||w.call(r),h()},f.onerror=w=>{var p;URL.revokeObjectURL(l),this.currentAudio=null;const g=new Error(`Audio playback failed: ${w}`);(p=r==null?void 0:r.onError)==null||p.call(r,g),u(g)},f.play().catch(w=>{var p;URL.revokeObjectURL(l),this.currentAudio=null;const g=new Error(`Failed to play audio: ${w.message}`);(p=r==null?void 0:r.onError)==null||p.call(r,g),u(g)})})}catch(s){const a=s instanceof Error?s:new Error(`TTS Error: ${String(s)}`);throw(n=r==null?void 0:r.onError)==null||n.call(r,a),a}}stop(){this.currentAudio&&(this.currentAudio.pause(),this.currentAudio.currentTime=0,this.currentAudio=null)}isPlaying(){return this.currentAudio!==null&&!this.currentAudio.paused}}const yl=new x1,E1=(e={})=>{const[t,r]=d.useState(!1),[i,n]=d.useState(!1),[s,a]=d.useState(null),c=d.useCallback(async h=>{var u;try{a(null),n(!0),await yl.play(h,{onStart:()=>{var f;n(!1),r(!0),(f=e.onStart)==null||f.call(e)},onEnd:()=>{var f;r(!1),(f=e.onEnd)==null||f.call(e)},onError:f=>{var w;r(!1),n(!1),a(f),(w=e.onError)==null||w.call(e,f)}})}catch(f){const w=f instanceof Error?f:new Error(String(f));throw a(w),r(!1),n(!1),(u=e.onError)==null||u.call(e,w),w}},[e]),l=d.useCallback(()=>{yl.stop(),r(!1),n(!1)},[]);return{speak:c,stop:l,isPlaying:t,isLoading:i,error:s}},_1=({onViolation:e,onEnd:t,maxViolations:r=5})=>{const{addViolation:i}=Ol(),n=Dl(),s=Pl(),a=d.useRef(s);d.useEffect(()=>{a.current=s},[s]);const c=d.useCallback(h=>{t&&t(h,a.current)},[t]);return{logViolation:d.useCallback(({type:h,severity:u,details:f})=>{const w={id:zl(),type:h,severity:u,details:f,timestamp:Date.now()};i(w);const g=a.current+1;e&&e(w,g),g>=r&&c("excessive_violations")},[i,e,r,c]),onInterviewEnd:c,violationCount:s,logList:n}},k1=()=>{d.useEffect(()=>{function e(){console.clear(),console.log(`
|
|
29
29
|
%c
|
|
30
30
|
╔═══════════════════════════════════════════════════════════════════════╗
|
|
31
31
|
║ ║
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
│ │
|
|
72
72
|
│ 💡 IMMEDIATE ACTION REQUIRED: │
|
|
73
73
|
│ Close developer tools to continue interview │
|
|
74
|
-
└─────────────────────────────────────────────────────────────┘`,"color: #ffd93d; font-size: 14px; font-family: monospace; background: rgba(255, 217, 61, 0.1); padding: 10px;")}const t={open:!1,orientation:null},r=160,i=setInterval(()=>{window.outerHeight-window.innerHeight>r||window.outerWidth-window.innerWidth>r?t.open||(t.open=!0,t.orientation=window.outerWidth-window.innerWidth>r?"vertical":"horizontal",e()):t.open&&(t.open=!1,console.log("%c🌟 Developer tools closed. Interview continues smoothly! ✨","color: #4ecdc4; font-weight: bold; text-shadow: 0 0 10px #4ecdc4;"))},500),n=a=>{if(a.keyCode===123||a.ctrlKey&&a.shiftKey&&(a.keyCode===73||a.keyCode===74)||a.ctrlKey&&a.keyCode===85)return a.preventDefault(),console.log("%c🎭 Nice try! Keyboard shortcuts are disabled during interviews ✨","color: #ffd93d; font-weight: bold; text-shadow: 0 0 10px #ffd93d;"),!1},s=a=>(a.preventDefault(),console.log("%c🌈 Right-click menu disabled for interview integrity! 🎪","color: #ff9ff3; font-weight: bold; text-shadow: 0 0 10px #ff9ff3;"),!1);return document.addEventListener("keydown",n),document.addEventListener("contextmenu",s),()=>{clearInterval(i),document.removeEventListener("keydown",n),document.removeEventListener("contextmenu",s),delete window.showStats,delete window.interviewTips}},[])},Gs=e=>{const{baseColor:t,borderRadius:r}=Jt(),{loading:i,children:n,...s}=e;return o.jsx(tn,{style:{background:Gl(t),borderRadius:r},...s,children:i?o.jsx(eo,{}):n})},k2=(e,t,r)=>Math.max(t,Math.min(r,e)),pl=e=>{const t=Math.max(0,Math.floor(e)),r=Math.floor(t/60).toString().padStart(2,"0"),i=(t%60).toString().padStart(2,"0");return`${r}:${i}`},rn=({total:e,remaining:t,size:r=64,strokeWidth:i=6,className:n="",showLabel:s=!0})=>{const a=Math.max(1,e||1),c=k2(t/a,0,1),{radius:l,circumference:h,dashOffset:u,center:f}=d.useMemo(()=>{const p=(r-i)/2,y=2*Math.PI*p,m=y*(1-c),b=Math.round(i)%2===1,v=r/2+(b?.5:0);return{radius:p,circumference:y,dashOffset:m,center:v}},[r,i,c]),w=d.useMemo(()=>c<=.25?"iw-stroke-red-500":c<=.5?"iw-stroke-yellow-500":"iw-stroke-green-500",[c]),g=c<=.25?"iw-animate-pulse":"";return o.jsxs("div",{className:`iw-relative iw-inline-flex iw-items-center iw-justify-center iw-rounded-full iw-bg-white ${n}`,style:{width:r,height:r},"aria-label":`Time remaining ${pl(t)}`,role:"timer","aria-live":"polite",children:[o.jsx("svg",{width:r,height:r,viewBox:`0 0 ${r} ${r}`,preserveAspectRatio:"xMidYMid meet",children:o.jsxs("g",{transform:`rotate(-90 ${f} ${f})`,children:[o.jsx("circle",{cx:f,cy:f,r:l,className:"iw-stroke-gray-200",strokeWidth:i,fill:"none",shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke"}),o.jsx("circle",{cx:f,cy:f,r:l,className:`${w} ${g}`,strokeWidth:i,strokeLinecap:"round",fill:"none",strokeDasharray:h,strokeDashoffset:u,shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke",style:{transition:"stroke-dashoffset 0.3s ease, stroke 0.2s ease"}})]})}),s?o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx("span",{className:`iw-text-[11px] iw-font-semibold iw-tabular-nums ${c<=.25?"iw-text-red-600":c<=.5?"iw-text-yellow-600":"iw-text-green-600"}`,children:pl(t)})}):o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx(Xl,{})})]})},S2=({timerState:e,answeringTime:t})=>{const r=(e==null?void 0:e.currentPhaseTimeRemaining)||0,i=t||hl.answeringDuration;return o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx(rn,{total:i,remaining:r,size:50,strokeWidth:4,showLabel:!1,className:"iw-shadow-sm iw-border iw-border-gray-100"}),o.jsxs("div",{className:"iw-flex iw-flex-col",children:[o.jsx("span",{className:"iw-text-[#5C6686]",children:"Time left to answer"}),o.jsxs("span",{className:"iw-text-xl iw-font-bold iw-text-[#062260]",children:[wn(r,!0),r>=60?" min":" sec"]})]})]})},C2=({question:e,isLoading:t=!1,phase:r,brandName:i,brandLogo:n,timerState:s,answeringTime:a})=>o.jsx("div",{className:"iw-rounded-xl iw-mb-4 message-animation iw-text-gray-800 iw-py-1",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:`iw-flex iw-flex-col iw-items-center iw-justify-center iw-relative iw-h-16 iw-w-16 iw-shrink-0 iw-shadow iw-rounded-full iw-border-[#E8EEFE] iw-border-4 ${r===B.READING_QUESTION?"iw-animate-speaking":""}`,children:o.jsx("div",{className:"iw-bg-transparent iw-flex iw-items-center iw-justify-center iw-rounded-full iw-size-full",style:{backgroundImage:"linear-gradient(#B5D0FD, #FFFFFF)"},children:o.jsx(gn,{brandLogo:n,brandName:i})})}),o.jsx(A2,{phase:r,question:e,isLoading:t,brandName:i,timerState:s,answeringTime:a})]})}),A2=({phase:e,question:t,isLoading:r,brandName:i,timerState:n,answeringTime:s})=>{const a=i||"We",c=i?"is":"are";if(r||e===B.FETCHING_QUESTION||e===B.IDLE)return o.jsxs("div",{className:"iw-animate-pulse iw-w-full iw-space-y-3 iw-mr-10",children:[o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-full"}),o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-3/4"})]});const l=()=>o.jsxs("span",{className:"iw-animate-dot-wave iw-ml-1",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]});switch(e){case B.ANSWERING:return o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-w-full",children:[o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:["Listening",o.jsx(l,{})]}),o.jsx(S2,{timerState:n,answeringTime:s})]});case B.TRANSCRIBING:return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," analyzing your answer",o.jsx(l,{})]});case(B.EDITING||B.SUBMITTING):return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," waiting for your answer..."]});default:return o.jsx("p",{className:"iw-text-lg iw-leading-7",children:t==null?void 0:t.question})}},T2=({label:e,error:t,fullWidth:r=!1,className:i="",id:n,...s})=>{const a=n||`textarea-${Math.random().toString(36).substring(2,9)}`,c="iw-block iw-rounded-md iw-border iw-border-gray-300 iw-shadow-sm iw-px-4 iw-py-2 iw-text-sm iw-transition-all",l=t?"iw-border-red-500 iw-focus:border-red-500 iw-focus:ring-red-500":"",h=r?"iw-w-full":"",u=i.includes("iw-h-full")||r?"iw-h-full":"";return o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col ${r?"iw-w-full":""}`,children:[e&&o.jsx("label",{htmlFor:a,className:"iw-block iw-text-sm iw-font-medium iw-text-gray-700 iw-mb-1",children:e}),o.jsx("textarea",{id:a,className:`${c} ${l} ${h} ${u} ${i}`,"aria-invalid":t?"true":"false",...s}),t&&o.jsx("p",{className:"iw-mt-1 iw-text-sm iw-text-red-600",children:t})]})},N2=({answerText:e,onAnswerChange:t,timerState:r,editingTime:i})=>o.jsxs("div",{className:"iw-w-full iw-bg-white iw-rounded-xl iw-border iw-border-[#84bbf5] iw-overflow-hidden iw-rounded-tr-none",children:[o.jsx("div",{className:"iw-p-2 iw-pb-0",children:o.jsx(T2,{value:e,onChange:t,placeholder:"Type your answer here...",className:"iw-w-full iw-h-64 iw-resize-none iw-bg-transparent iw-border-none iw-text-[#062260] iw-text-base iw-leading-relaxed focus-visible:iw-outline-0 iw-p-0",disabled:r.phase===B.SUBMITTING})}),o.jsxs("div",{className:"iw-bg-[#F1F5FE] iw-px-2 iw-py-2 iw-flex iw-items-center iw-justify-between iw-border-t iw-border-[#E8EEFE]",children:[o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-medium iw-line-clamp-1",children:"Time left to edit answer"}),o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(rn,{total:i,remaining:r.currentPhaseTimeRemaining,size:32,strokeWidth:3,showLabel:!1}),o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-bold",children:`${wn(r.currentPhaseTimeRemaining,!0)}${r.currentPhaseTimeRemaining>=60?" min":" sec"}`})]})]})]}),ml=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-start iw-mt-3 iw-gap-1",children:e}),I2=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-3 iw-gap-1",children:e}),F2=({questionNumber:e})=>o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:[" Q",e]}),yl=({label:e})=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-text-sm iw-text-gray-500 iw-bg-[#F1F5FE] iw-px-4 iw-py-1.5 iw-rounded-full iw-my-2 iw-font-semibold",children:[e&&o.jsx("span",{className:"iw-font-medium",children:e}),o.jsxs("span",{className:"iw-animate-dot-wave iw-text-2xl",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]})]}),L2=({phase:e,questionNumber:t})=>{switch(e){case B.FETCHING_QUESTION:return o.jsxs(ml,{children:[o.jsx(F2,{questionNumber:t+1}),o.jsx(yl,{})]});case B.ANSWERING:return o.jsx(I2,{children:o.jsx(yl,{label:"You"})});case B.TRANSCRIBING:return o.jsx(ml,{children:o.jsxs("div",{className:"iw-flex iw-items-center iw-px-1 iw-py-1.5 iw-rounded-lg iw-mb-2 iw-text-sm iw-bg-[#F2E8FE]",children:[o.jsx("div",{className:"iw-h-8 iw-w-12 iw-transcribing-icon"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260]",children:"Analyzing answer…"})]})});default:return null}},M2=({item:e,index:t,isCurrentQuestion:r=!1,isEditable:i=!1,answerText:n="",onAnswerChange:s,timerState:a,editingTime:c})=>{const l=i&&a&&c!==void 0,h=l||e.answer;return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-start",children:[o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:["Q",t+1]}),o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tl-none",style:{backgroundColor:"#F1F5FE",border:r?"2px solid #84bbf5":"1px solid transparent"},children:e.question})]}),h&&o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-4",children:[o.jsx("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#F2E8FE",border:"1px solid #E9D5FF"},children:"You"}),l?o.jsx(N2,{answerText:n||"",onAnswerChange:s,timerState:a,editingTime:c}):o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tr-none",style:{backgroundColor:"#F7F1FE"},children:e.answer})]}),r&&o.jsx(L2,{phase:a==null?void 0:a.phase,questionNumber:t+1})]})},D2=()=>o.jsx("div",{className:"iw-space-y-6 iw-animate-pulse",children:[1,2,3].map(e=>o.jsxs("div",{className:`iw-flex iw-flex-col ${e%2===0?"iw-items-end":"iw-items-start"} iw-gap-2`,children:[o.jsx("div",{className:"iw-h-8 iw-w-16 iw-bg-gray-200 iw-rounded-full"}),o.jsx("div",{className:"iw-h-24 iw-w-full iw-bg-gray-100 iw-rounded-xl"})]},e))}),P2=({transcript:e,isLoading:t,className:r="",bottomRef:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col iw-bg-white iw-scroll-smooth iw-p-6 iw-pr-2 iw-min-w-32 iw-border iw-rounded-tr-2xl iw-rounded-br-2xl iw-border-[#E8EEFE] ${r}`,children:[o.jsxs("div",{className:"iw-mb-6",children:[o.jsx("h2",{className:"iw-text-lg iw-font-semibold iw-mb-4",style:{color:"#062260"},children:"Interview transcript"}),o.jsx("div",{className:"iw-h-px iw-w-full iw-border-t iw-border-dashed iw-border-gray-300"})]}),o.jsxs("div",{className:"iw-flex-1 iw-overflow-y-auto iw-pr-2 iw-space-y-6 iw-scrollbar-thin iw-max-w-xl iw-pb-5",children:[t?o.jsx(D2,{}):e==null?void 0:e.map((h,u)=>o.jsx(M2,{item:h,index:u,isCurrentQuestion:u===(e==null?void 0:e.length)-1,isEditable:!!(u===(e==null?void 0:e.length)-1&&n),answerText:s,onAnswerChange:a||(()=>{}),timerState:c,editingTime:l},h.qna_id)),o.jsx("div",{ref:i})]})]}),O2=({interviewId:e,className:t="",currentQuestion:r,lastSubmittedAnswer:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>{const h=wl(),[u,f]=d.useState([]),[w,g]=d.useState(!0),p=d.useRef(null);return d.useEffect(()=>{var y;(y=p.current)==null||y.scrollIntoView({behavior:"smooth"})},[u,s,c==null?void 0:c.phase]),d.useEffect(()=>{(async()=>{var m;try{const b=await h.getInterviewTranscription(e);f(((m=b==null?void 0:b.data)==null?void 0:m.transcript)||[])}catch(b){console.error("Failed to fetch transcript:",b)}finally{g(!1)}})()},[e,h]),d.useEffect(()=>{r&&f(y=>{if(y.some(v=>v.qna_id===r.qna_id))return y;const b={qna_id:r.qna_id,question:r.question,answer:null,question_generated_at:new Date().toISOString(),answer_submitted_at:null};return[...y,b]})},[r]),d.useEffect(()=>{i!=null&&i.answer?f(y=>y.map(m=>m.qna_id===i.qnaId?{...m,answer:i.answer,answer_submitted_at:new Date().toISOString()}:m)):s&&f(y=>y.map(m=>m.qna_id===(i==null?void 0:i.qnaId)?{...m,answer:s,answer_submitted_at:new Date().toISOString()}:m))},[i,s]),o.jsx(P2,{transcript:u,isLoading:w||(u==null?void 0:u.length)===0,className:t,bottomRef:p,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})},js=5,zs=5;function B2({isOpen:e,onClose:t,warningCount:r,violationType:i,onDisqualify:n}){const[,s]=d.useState(zs),a=d.useRef(t),c=d.useRef(n),l=d.useRef(r);if(d.useEffect(()=>{a.current=t,c.current=n,l.current=r},[t,n,r]),d.useEffect(()=>{if(!e)return;const w=setInterval(()=>{s(g=>g<=1?(l.current+1>js?c.current():a.current(),zs):g-1)},1e3);return()=>clearInterval(w)},[e]),d.useEffect(()=>{e&&s(zs)},[e]),!e)return null;const h=()=>{switch(i){case"tab_switch":return"Attempted tab switch/reload";case"fullscreen_exit":return"Attempted to exit full screen mode";case"focus_loss":return"Lost focus from interview window";case"blocked_shortcut":return"Used a blocked keyboard shortcut";case"right_click_attempt":return"Attempted right click";case"alt_tab_attempt":return"Attempted Alt + Tab";case"blocked_function_key":return"Attempted to use function key";default:return"Attempted right click/tab switch"}},u=js-r,f=()=>{r+1>js?n():t()};return o.jsx("div",{className:"iw-absolute iw-bottom-20 iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300",children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#E94315] iw-bg-[#FFEBE6] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:f,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(pi,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3",children:[o.jsx("div",{className:"iw-flex iw-h-10 iw-w-10 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#FDCBBD]",children:o.jsx(wi,{className:"iw-h-5 iw-w-5 iw-text-red-500"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsxs("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#E94315]",children:["You have ",u>0?u:0," warning",u>1?"s":""," left"]}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:h()}),o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-red-200 iw-pt-3",children:u===1?o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Next violation will disqualify you from this interview and automatically end the interview"}):o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Interview will end automatically after final warning"})})]})]})]})})}const U2=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(d.useEffect(()=>{if(!e||!a)return;const u=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e,a,t]),d.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=u=>{s&&u.target===u.currentTarget&&t()},h=o.jsxs("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center",children:[o.jsx("div",{className:"iw-fixed iw-inset-0 iw-bg-black iw-bg-opacity-50 iw-transition-opacity",onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"dialog-title":void 0,children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return qs.createPortal(h,document.body)},V2=e=>o.jsxs("svg",{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",...e,children:[o.jsx("path",{d:"M9 9.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 9 14.996z"}),o.jsx("circle",{cx:"12",cy:"12",r:"10"})]}),G2=({showHardReloadWarning:e,onContinue:t})=>{const r=()=>{t()};return o.jsxs(U2,{isOpen:e,onClose:r,closeOnOverlayClick:!1,closeOnEscape:!1,showCloseButton:!1,className:"iw-max-w-lg iw-px-2 iw-rounded-xl",children:[o.jsx("div",{className:"iw-absolute iw-inset-x-0 iw-top-0 iw-h-1 iw-bg-gradient-to-r iw-from-red-500 iw-to-red-600"}),o.jsx("div",{className:"iw-space-y-1 iw-pb-2 iw-pt-3",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(wi,{className:"iw-w-5 iw-h-5 iw-text-red-500"}),o.jsx("h3",{className:"iw-text-xl iw-font-semibold iw-text-red-500",children:"Full Screen Exit Detected"})]})}),o.jsx("div",{className:"iw-pt-4 iw-pb-6",children:o.jsx("p",{className:"iw-text-center iw-text-sm iw-leading-relaxed iw-text-gray-500/90",children:"Exiting full screen mode or reloading this page during the session is strictly prohibited. Any attempt to do so will be recorded and may lead to penalties."})}),o.jsx("div",{className:"iw-pt-2 iw-pb-4",children:o.jsxs("button",{onClick:r,className:"iw-w-full iw-flex iw-items-center iw-justify-center iw-gap-2 iw-px-4 iw-py-3 iw-bg-gray-100 iw-text-gray-600 iw-rounded-md iw-font-medium iw-transition-colors hover:iw-bg-gray-200 focus:iw-outline-none focus:iw-ring-2 focus:iw-ring-gray-400 focus:iw-ring-offset-2",children:[o.jsx(V2,{className:"iw-size-4"}),"Continue Session"]})})]})},bl=d.createContext(null),j2=()=>{const e=d.useContext(bl);return e||{violationCount:0,violationType:"fullscreen_exit",showWarningModal:!1,setShowWarningModal:()=>{},handleClose:()=>{},handleDisqualify:()=>{}}},z2=d.forwardRef(({children:e,onDisqualify:t,isCompleted:r},i)=>{const[n,s]=d.useState(!1),[a,c]=d.useState(!1),[l,h]=d.useState(!1),[u,f]=d.useState("fullscreen_exit"),{logViolation:w,violationCount:g}=E2({maxViolations:5,onViolation:v=>{!a&&!r&&!l&&(s(!0),f(v.type))}}),{enterFullScreen:p,isFullScreen:y,exitFullScreen:m}=g2({onFullScreenChange(v){!v&&!a&&!l&&!r&&(s(!0),w({type:"fullscreen_exit",severity:"high",details:{action:"fullscreen_exit",reason:"Attempted to exit full screen mode"}})),v&&h(!1)}});d.useEffect(()=>{p()},[]),d.useImperativeHandle(i,()=>({exitFullScreenIntentionally:async()=>{h(!0),s(!1),c(!1);try{document.fullscreenElement&&await document.exitFullscreen()}catch(v){console.error("Failed to exit fullscreen:",v)}}}),[]),y2(w),p2(w),b2(),_2(),d.useEffect(()=>{const v=F=>{if(!(a||l||r))return F.preventDefault(),F.returnValue=void 0,""};return window.addEventListener("beforeunload",v),()=>{window.removeEventListener("beforeunload",v)}},[a,l,r]);const b=()=>{c(!0),m(),s(!1),t==null||t()};return o.jsxs(bl.Provider,{value:{violationCount:g,violationType:u,showWarningModal:n,setShowWarningModal:s,handleClose:()=>{s(!1),p()},handleDisqualify:b},children:[o.jsx("div",{className:"iw-relative iw-h-full iw-w-full",children:e}),!y&&g>0&&!a&&!l&&o.jsx(G2,{showHardReloadWarning:!0,logViolation:w,onContinue:p})]})}),$2=({onClick:e,text:t="Submit response"})=>(d.useEffect(()=>{if(typeof window>"u")return;const r=i=>{const n=i.key==="Enter",s=i.target;s.tagName==="INPUT"||s.isContentEditable||n&&(i.preventDefault(),e())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e]),o.jsx("div",{className:"iw-fixed iw-bottom-10 iw-left-1/4 iw-transform iw--translate-x-1/2 iw-z-50",children:o.jsxs("button",{onClick:e,className:"iw-flex iw-items-center iw-gap-3 iw-bg-[#4C6CFF] hover:iw-bg-[#4c6dffd5] iw-text-white iw-px-5 iw-py-3 iw-rounded-lg iw-shadow-lg iw-transition-all iw-duration-200 iw-group",children:[o.jsx("span",{className:"iw-font-semibold iw-text-sm",children:t}),o.jsx("span",{className:"iw-bg-white/90 iw-text-[#062260] iw-px-2 iw-py-1 iw-rounded iw-text-xs iw-font-mono iw-font-bold group-hover:iw-bg-white iw-transition-colors",children:"Press Enter"})]})})),W2=({brandName:e,brandLogo:t,currentQuestion:r,state:i,phase:n,className:s="",interviewId:a="",interview_duration:c=hi,videoFeedRef:l,lastSubmittedAnswer:h,onNextPhase:u,answerText:f,onAnswerChange:w,editingTime:g,answeringTime:p})=>{const{showWarningModal:y,violationCount:m,violationType:b,handleClose:v,handleDisqualify:F}=j2();return o.jsxs("div",{className:`iw-px-4 iw-py-3 ${s} iw-h-[calc(100vh_-_120px)] iw-max-h-[calc(100vh_-_120px)] iw-flex iw-gap-0 iw-relative`,children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-flex-1 iw-p-5 iw-bg-white/50 iw-border iw-border-[#E8EEFE] iw-rounded-s-3xl iw-overflow-hidden",children:[o.jsx("div",{className:"iw-flex iw-items-start iw-justify-between iw-gap-3 iw-mb-4",children:o.jsx("div",{className:"iw-flex-1",children:o.jsx(C2,{question:r,isLoading:n===B.FETCHING_QUESTION||n===B.IDLE,phase:n,brandName:e,brandLogo:t,timerState:i,answeringTime:p})})}),o.jsxs("div",{className:"iw-flex-1 iw-min-h-0 iw-rounded-[16px] iw-overflow-hidden iw-relative",children:[o.jsx(ll,{ref:l,interviewId:a,interview_duration:c,isAnswering:n===B.ANSWERING,cheatingWarningVisible:y}),o.jsx(B2,{isOpen:y,warningCount:m,violationType:b,onClose:v,onDisqualify:F})]})]}),o.jsx("div",{className:"iw-interview-transcription iw-w-1/4 iw-min-w-32 iw-h-full",children:o.jsx(O2,{interviewId:a,currentQuestion:r,lastSubmittedAnswer:h,isEditing:n===B.EDITING,answerText:f,onAnswerChange:w,timerState:i,editingTime:g})}),u&&(n===B.ANSWERING||n===B.EDITING)&&o.jsx($2,{onClick:u,text:n===B.ANSWERING?"Submit Response":"Submit Final Response"})]})},H2=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(d.useEffect(()=>{if(!e||!a)return;const u=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e,a,t]),d.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=u=>{s&&u.target===u.currentTarget&&t()},h=o.jsxs("div",{className:"interview-widget-container",style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center"},children:[o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",transition:"opacity 0.2s"},onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"standalone-dialog-title":void 0,style:{zIndex:1e4},children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"standalone-dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return qs.createPortal(h,document.body)},q2=({confirmExitInterview:e,isOpen:t,onClose:r})=>o.jsxs(H2,{isOpen:t,onClose:r,showCloseButton:!1,closeOnOverlayClick:!1,className:"iw-max-w-xl iw-border-2 iw-border-dashed iw-rounded-xl iw-border-[#6296FB]",children:[o.jsxs("div",{className:"iw-p-4",children:[o.jsx("h2",{className:"iw-text-xl iw-font-semibold iw-text-[#062260]",children:"Are you sure you want to leave interview?"}),o.jsx("p",{className:"iw-mt-2 iw-text-[#667085] iw-line-clamp-2",children:"If you exit now, the interview will be terminated and cannot be resumed."})]}),o.jsx("div",{className:"iw-my-0 iw-h-px iw-m-6 iw-border-t iw-border-dashed iw-border-[#B3B9CB]"}),o.jsxs("div",{className:"iw-flex iw-justify-center iw-gap-4 iw-p-4",children:[o.jsx(tn,{className:"iw-px-8 iw-py-3 iw-rounded-xl !iw-bg-[#E94315] !iw-text-white !iw-font-bold !iw-shadow-md !hover:iw-opacity-70",onClick:e,children:"Leave"}),o.jsx(tn,{onClick:r,className:"iw-px-6 iw-py-3 iw-rounded-xl !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border !iw-border-[#E7EAF1] !iw-shadow-md hover:iw-opacity-70",children:"Stay in Interview"})]})]}),K2=({title:e,brandName:t,brandLogo:r,onExit:i,totalDuration:n=30,elapsedTime:s=0})=>{const[a,c]=d.useState(!1),l=Math.min(s/(n*60)*100,100),h=()=>o.jsxs("div",{className:"iw-px-4 iw-pb-2 iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-flex-1 iw-h-4 iw-bg-[#F2F4F7] iw-rounded-full iw-overflow-hidden iw-border iw-border-blue-100 iw-relative",children:o.jsx("div",{className:"iw-h-full iw-bg-[#0EB00E] iw-rounded-full iw-transition-all iw-duration-1000 iw-ease-linear",style:{width:`${l}%`}})}),o.jsxs("div",{className:"iw-text-sm iw-font-medium iw-whitespace-nowrap",children:[o.jsx("span",{className:"iw-text-[#062260]",children:wn(s)}),o.jsxs("span",{className:"iw-text-[#667085]",children:["/",n," Min"]})]})]});return o.jsxs("header",{className:"iw-w-full iw-text-gray-900 iw-shadow-sm",children:[o.jsxs("div",{className:"iw-mx-auto iw-flex iw-items-center iw-justify-between iw-p-4 iw-pt-1 iw-mb-2 iw-border-b iw-border-[#B3B9CB] iw-border-dashed",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2",children:[o.jsx(gn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx("h1",{className:"iw-text-2xl iw-font-semibold iw-text-gradient-silver",children:e}),o.jsx("button",{className:"iw-text-sm iw-text-[#E94315] iw-min-w-10 iw-rounded-md hover:iw-bg-orange-100 iw-p-2",onClick:()=>c(!0),children:o.jsxs("span",{className:"iw-flex iw-items-center iw-gap-1 iw-text-[18px] iw-font-semibold iw-whitespace-nowrap",children:[o.jsx(pi,{className:"iw-text-[#E94315] iw-size-5"}),"Leave interview"]})})]}),o.jsx(h,{}),o.jsx("div",{className:"iw-h-px iw-bg-gray-200"}),o.jsx(q2,{isOpen:a,confirmExitInterview:()=>{i(),c(!1)},onClose:()=>c(!1)})]})},Y2=({className:e="",width:t,height:r=56,barWidth:i=3,gap:n=2,fftSize:s=1024,smoothingTimeConstant:a=.8,mediaStream:c,startOnMount:l=!0})=>{const{baseColor:h}=Jt(),u=d.useRef(null),f=d.useRef(null),w=d.useRef(null),g=d.useRef(null),p=d.useRef(null),y=d.useRef(null),m=d.useRef(!1),[b,v]=d.useState(null);d.useEffect(()=>{if(t||!f.current)return;const T=f.current,E=()=>{const D=u.current;if(!D)return;const N=T.clientWidth,L=r;D.width=Math.max(1,Math.floor(N*window.devicePixelRatio||1)),D.height=Math.max(1,Math.floor(L*window.devicePixelRatio||1))},C=new ResizeObserver(E);return C.observe(T),E(),()=>C.disconnect()},[t,r]),d.useEffect(()=>{if(!t)return;const T=u.current;T&&(T.width=Math.max(1,Math.floor(t*(window.devicePixelRatio||1))),T.height=Math.max(1,Math.floor(r*(window.devicePixelRatio||1))))},[t,r]),d.useEffect(()=>{let T=!1;return(async()=>{try{const C=new(window.AudioContext||window.webkitAudioContext);w.current=C;let D=c;if(!D){if(!l)return;D=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1}),m.current=!0}if(T)return;const N=C.createAnalyser();N.fftSize=s,N.smoothingTimeConstant=a,g.current=N;const L=C.createMediaStreamSource(D);p.current=L,L.connect(N),F()}catch(C){v((C==null?void 0:C.message)||"Failed to initialize microphone")}})(),()=>{var C,D,N,L;T=!0,y.current&&cancelAnimationFrame(y.current);try{(C=p.current)==null||C.disconnect()}catch{}try{(D=g.current)==null||D.disconnect()}catch{}m.current&&((L=((N=p.current)==null?void 0:N.mediaStream)||void 0)==null||L.getTracks().forEach(z=>z.stop())),w.current&&w.current.state!=="closed"&&w.current.close()}},[c,s,a,l]);const F=()=>{const T=u.current,E=g.current;if(!T||!E)return;const C=T.getContext("2d");if(!C)return;const D=window.devicePixelRatio||1,N=T.width,L=T.height,z=E.frequencyBinCount,be=new Uint8Array(z),Q=()=>{y.current=requestAnimationFrame(Q),E.getByteTimeDomainData(be),C.clearRect(0,0,N,L),C.fillStyle="rgba(0,0,0,0)",C.fillRect(0,0,N,L);const q=Math.max(1,Math.floor(i*D)),J=Math.max(1,Math.floor(n*D)),U=q+J,Z=Math.max(8,Math.floor((N+J)/U)),tt=Math.floor(be.length/Z);for(let yt=0;yt<Z;yt++){const Ne=Math.min(be.length-1,yt*tt),It=be[Ne]/128-1,$e=Math.abs(It),Ar=Math.pow($e,.6),Ft=Math.max(L*.06,Ar*(L*.9)),Tr=yt*U,Nr=(L-Ft)/2,Ir=140-Math.min(140,140*$e),Fr=85,Xt=48+Math.floor(12*(1-$e));C.fillStyle=`${h}`,C.shadowColor=`hsla(${Ir}, ${Fr}%, ${Xt}%, ${.25*$e})`,C.shadowBlur=8*$e;const Ie=Math.min(q/2,Ft/2);X2(C,Tr,Nr,q,Ft,Ie),C.fill()}};Q()};return o.jsxs("div",{ref:f,className:`iw-relative iw-w-full iw-overflow-hidden iw-rounded-md iw-bg-gray-50 ${e}`,style:{height:r},children:[o.jsx("canvas",{ref:u,className:"iw-w-full iw-h-full"}),b&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center",children:o.jsx("span",{className:"iw-text-xs iw-text-red-600 iw-bg-red-50 iw-border iw-border-red-200 iw-px-2 iw-py-1 iw-rounded",children:b})})]})};function X2(e,t,r,i,n,s){const a=Math.min(s,i/2,n/2);e.beginPath(),e.moveTo(t+a,r),e.lineTo(t+i-a,r),e.quadraticCurveTo(t+i,r,t+i,r+a),e.lineTo(t+i,r+n-a),e.quadraticCurveTo(t+i,r+n,t+i-a,r+n),e.lineTo(t+a,r+n),e.quadraticCurveTo(t,r+n,t,r+n-a),e.lineTo(t,r+a),e.quadraticCurveTo(t,r,t+a,r),e.closePath()}const Q2=({state:e,answeringTime:t,nextPhase:r,sttError:i})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-justify-between iw-h-full ",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"You may start speaking now. We're listening...."}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(Rs,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to talk: "})]}),o.jsx(rn,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]})]}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"Done talking? Click the button to review your answer."})]}),o.jsxs("div",{children:[o.jsx(Y2,{}),i&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Recording error: ",i.message]})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(Gs,{onClick:()=>{r()},children:"Transcribe My Answer"})})]});function J2(){const[e,t]=d.useState(!0),r=d.useMemo(()=>[0,1,2].map(i=>({id:i})),[]);return d.useEffect(()=>{const i=setInterval(()=>{t(n=>!n)},1500);return()=>clearInterval(i)},[]),o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-h-full",children:[o.jsx("div",{className:"iw-relative iw-w-80 iw-h-48 ","aria-hidden":!0,children:r.map((i,n)=>{const s=n*50,a=e?s:s+12,c=e?1:.08,l=n*140;return o.jsx("div",{role:"presentation",className:"iw-absolute iw-w-full iw-rounded-lg iw-p-4 iw-shadow-md iw-bg-gradient-to-b iw-from-gray-50 iw-to-gray-100 iw-overflow-hidden",style:{top:0,transform:`translateY(${a}px)`,opacity:c,transition:`transform 600ms cubic-bezier(.2,.9,.3,1) ${l}ms, opacity 400ms ease ${l}ms`},children:o.jsxs("div",{className:"iw-flex iw-gap-3 iw-items-center",children:[o.jsx("div",{className:"iw-w-10 iw-h-10 iw-bg-gray-300 iw-rounded iw-flex-shrink-0"}),o.jsxs("div",{className:"iw-flex-1 iw-space-y-2",children:[o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-24"}),o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-32"})]})]})},i.id)})}),o.jsx("div",{className:"iw-text-center",children:o.jsx("p",{className:"iw-text-gray-500 iw-font-medium",children:"Preparing your question..."})})]})}const Z2=({size:e="192px",className:t,colors:r,animationDuration:i=20})=>{const s={...{bg:"oklch(95% 0.02 264.695)",c1:"oklch(75% 0.15 350)",c2:"oklch(80% 0.12 200)",c3:"oklch(78% 0.14 280)"},...r},a=parseInt(e.replace("px",""),10),c=a<50?Math.max(a*.008,1):Math.max(a*.015,4),l=a<50?Math.max(a*.004,1.2):Math.max(a*.008,1.5),h=a<50?Math.max(a*.004,.05):Math.max(a*.008,.1),u=a<50?Math.max(a*.004,.5):Math.max(a*.008,2),f=a<30?"0%":a<50?"5%":a<100?"15%":"25%",w=a<30?1.1:a<50?Math.max(l*1.2,1.3):l;return o.jsx("div",{className:`siri-orb ${t}`,style:{width:e,height:e,"--bg":s.bg,"--c1":s.c1,"--c2":s.c2,"--c3":s.c3,"--animation-duration":`${i}s`,"--blur-amount":`${c}px`,"--contrast-amount":w,"--dot-size":`${h}px`,"--shadow-spread":`${u}px`,"--mask-radius":f},children:o.jsx("style",{children:`
|
|
74
|
+
└─────────────────────────────────────────────────────────────┘`,"color: #ffd93d; font-size: 14px; font-family: monospace; background: rgba(255, 217, 61, 0.1); padding: 10px;")}const t={open:!1,orientation:null},r=160,i=setInterval(()=>{window.outerHeight-window.innerHeight>r||window.outerWidth-window.innerWidth>r?t.open||(t.open=!0,t.orientation=window.outerWidth-window.innerWidth>r?"vertical":"horizontal",e()):t.open&&(t.open=!1,console.log("%c🌟 Developer tools closed. Interview continues smoothly! ✨","color: #4ecdc4; font-weight: bold; text-shadow: 0 0 10px #4ecdc4;"))},500),n=a=>{if(a.keyCode===123||a.ctrlKey&&a.shiftKey&&(a.keyCode===73||a.keyCode===74)||a.ctrlKey&&a.keyCode===85)return a.preventDefault(),console.log("%c🎭 Nice try! Keyboard shortcuts are disabled during interviews ✨","color: #ffd93d; font-weight: bold; text-shadow: 0 0 10px #ffd93d;"),!1},s=a=>(a.preventDefault(),console.log("%c🌈 Right-click menu disabled for interview integrity! 🎪","color: #ff9ff3; font-weight: bold; text-shadow: 0 0 10px #ff9ff3;"),!1);return document.addEventListener("keydown",n),document.addEventListener("contextmenu",s),()=>{clearInterval(i),document.removeEventListener("keydown",n),document.removeEventListener("contextmenu",s),delete window.showStats,delete window.interviewTips}},[])},S1="interview_audio_db",sn="recordings",C1=1;function A1(){return new Promise((e,t)=>{const r=indexedDB.open(S1,C1);r.onerror=()=>t(r.error),r.onsuccess=()=>e(r.result),r.onupgradeneeded=i=>{const n=i.target.result;n.objectStoreNames.contains(sn)||n.createObjectStore(sn,{keyPath:"id"}).createIndex("interviewId","interviewId",{unique:!1})}})}async function T1(e){const t=await A1();return new Promise((r,i)=>{const n=t.transaction([sn],"readwrite"),a=n.objectStore(sn).put(e);a.onsuccess=()=>r(),a.onerror=()=>i(a.error),n.oncomplete=()=>t.close()})}const on=e=>{const{baseColor:t,borderRadius:r}=Zt(),{loading:i,children:n,...s}=e;return o.jsx(nn,{style:{background:jl(t),borderRadius:r},...s,children:i?o.jsx(io,{}):n})},N1=(e,t,r)=>Math.max(t,Math.min(r,e)),bl=e=>{const t=Math.max(0,Math.floor(e)),r=Math.floor(t/60).toString().padStart(2,"0"),i=(t%60).toString().padStart(2,"0");return`${r}:${i}`},an=({total:e,remaining:t,size:r=64,strokeWidth:i=6,className:n="",showLabel:s=!0})=>{const a=Math.max(1,e||1),c=N1(t/a,0,1),{radius:l,circumference:h,dashOffset:u,center:f}=d.useMemo(()=>{const p=(r-i)/2,y=2*Math.PI*p,m=y*(1-c),b=Math.round(i)%2===1,v=r/2+(b?.5:0);return{radius:p,circumference:y,dashOffset:m,center:v}},[r,i,c]),w=d.useMemo(()=>c<=.25?"iw-stroke-red-500":c<=.5?"iw-stroke-yellow-500":"iw-stroke-green-500",[c]),g=c<=.25?"iw-animate-pulse":"";return o.jsxs("div",{className:`iw-relative iw-inline-flex iw-items-center iw-justify-center iw-rounded-full iw-bg-white ${n}`,style:{width:r,height:r},"aria-label":`Time remaining ${bl(t)}`,role:"timer","aria-live":"polite",children:[o.jsx("svg",{width:r,height:r,viewBox:`0 0 ${r} ${r}`,preserveAspectRatio:"xMidYMid meet",children:o.jsxs("g",{transform:`rotate(-90 ${f} ${f})`,children:[o.jsx("circle",{cx:f,cy:f,r:l,className:"iw-stroke-gray-200",strokeWidth:i,fill:"none",shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke"}),o.jsx("circle",{cx:f,cy:f,r:l,className:`${w} ${g}`,strokeWidth:i,strokeLinecap:"round",fill:"none",strokeDasharray:h,strokeDashoffset:u,shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke",style:{transition:"stroke-dashoffset 0.3s ease, stroke 0.2s ease"}})]})}),s?o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx("span",{className:`iw-text-[11px] iw-font-semibold iw-tabular-nums ${c<=.25?"iw-text-red-600":c<=.5?"iw-text-yellow-600":"iw-text-green-600"}`,children:bl(t)})}):o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx(Ql,{})})]})},I1=({timerState:e,answeringTime:t})=>{const r=(e==null?void 0:e.currentPhaseTimeRemaining)||0,i=t||gl.answeringDuration;return o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx(an,{total:i,remaining:r,size:50,strokeWidth:4,showLabel:!1,className:"iw-shadow-sm iw-border iw-border-gray-100"}),o.jsxs("div",{className:"iw-flex iw-flex-col",children:[o.jsx("span",{className:"iw-text-[#5C6686]",children:"Time left to answer"}),o.jsxs("span",{className:"iw-text-xl iw-font-bold iw-text-[#062260]",children:[mn(r,!0),r>=60?" min":" sec"]})]})]})},F1=({question:e,isLoading:t=!1,phase:r,brandName:i,brandLogo:n,timerState:s,answeringTime:a})=>o.jsx("div",{className:"iw-rounded-xl iw-mb-4 message-animation iw-text-gray-800 iw-py-1",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:`iw-flex iw-flex-col iw-items-center iw-justify-center iw-relative iw-h-16 iw-w-16 iw-shrink-0 iw-shadow iw-rounded-full iw-border-[#E8EEFE] iw-border-4 ${r===U.READING_QUESTION?"iw-animate-speaking":""}`,children:o.jsx("div",{className:"iw-bg-transparent iw-flex iw-items-center iw-justify-center iw-rounded-full iw-size-full",style:{backgroundImage:"linear-gradient(#B5D0FD, #FFFFFF)"},children:o.jsx(yn,{brandLogo:n,brandName:i})})}),o.jsx(L1,{phase:r,question:e,isLoading:t,brandName:i,timerState:s,answeringTime:a})]})}),L1=({phase:e,question:t,isLoading:r,brandName:i,timerState:n,answeringTime:s})=>{const a=i||"We",c=i?"is":"are";if(r||e===U.FETCHING_QUESTION||e===U.IDLE)return o.jsxs("div",{className:"iw-animate-pulse iw-w-full iw-space-y-3 iw-mr-10",children:[o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-full"}),o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-3/4"})]});const l=()=>o.jsxs("span",{className:"iw-animate-dot-wave iw-ml-1",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]});switch(e){case U.ANSWERING:return o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-w-full",children:[o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:["Listening",o.jsx(l,{})]}),o.jsx(I1,{timerState:n,answeringTime:s})]});case U.TRANSCRIBING:return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," analyzing your answer",o.jsx(l,{})]});case(U.EDITING||U.SUBMITTING):return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," waiting for your answer..."]});default:return o.jsx("p",{className:"iw-text-lg iw-leading-7",children:t==null?void 0:t.question})}},M1=({label:e,error:t,fullWidth:r=!1,className:i="",id:n,...s})=>{const a=n||`textarea-${Math.random().toString(36).substring(2,9)}`,c="iw-block iw-rounded-md iw-border iw-border-gray-300 iw-shadow-sm iw-px-4 iw-py-2 iw-text-sm iw-transition-all",l=t?"iw-border-red-500 iw-focus:border-red-500 iw-focus:ring-red-500":"",h=r?"iw-w-full":"",u=i.includes("iw-h-full")||r?"iw-h-full":"";return o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col ${r?"iw-w-full":""}`,children:[e&&o.jsx("label",{htmlFor:a,className:"iw-block iw-text-sm iw-font-medium iw-text-gray-700 iw-mb-1",children:e}),o.jsx("textarea",{id:a,className:`${c} ${l} ${h} ${u} ${i}`,"aria-invalid":t?"true":"false",...s}),t&&o.jsx("p",{className:"iw-mt-1 iw-text-sm iw-text-red-600",children:t})]})},D1=({answerText:e,onAnswerChange:t,timerState:r,editingTime:i})=>o.jsxs("div",{className:"iw-w-full iw-bg-white iw-rounded-xl iw-border iw-border-[#84bbf5] iw-overflow-hidden iw-rounded-tr-none",children:[o.jsx("div",{className:"iw-p-2 iw-pb-0",children:o.jsx(M1,{value:e,onChange:t,placeholder:"Type your answer here...",className:"iw-w-full iw-h-64 iw-resize-none iw-bg-transparent iw-border-none iw-text-[#062260] iw-text-base iw-leading-relaxed focus-visible:iw-outline-0 iw-p-0",disabled:r.phase===U.SUBMITTING})}),o.jsxs("div",{className:"iw-bg-[#F1F5FE] iw-px-2 iw-py-2 iw-flex iw-items-center iw-justify-between iw-border-t iw-border-[#E8EEFE]",children:[o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-medium iw-line-clamp-1",children:"Time left to edit answer"}),o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(an,{total:i,remaining:r.currentPhaseTimeRemaining,size:32,strokeWidth:3,showLabel:!1}),o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-bold",children:`${mn(r.currentPhaseTimeRemaining,!0)}${r.currentPhaseTimeRemaining>=60?" min":" sec"}`})]})]})]}),vl=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-start iw-mt-3 iw-gap-1",children:e}),P1=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-3 iw-gap-1",children:e}),O1=({questionNumber:e})=>o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:[" Q",e]}),xl=({label:e})=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-text-sm iw-text-gray-500 iw-bg-[#F1F5FE] iw-px-4 iw-py-1.5 iw-rounded-full iw-my-2 iw-font-semibold",children:[e&&o.jsx("span",{className:"iw-font-medium",children:e}),o.jsxs("span",{className:"iw-animate-dot-wave iw-text-2xl",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]})]}),B1=({phase:e,questionNumber:t})=>{switch(e){case U.FETCHING_QUESTION:return o.jsxs(vl,{children:[o.jsx(O1,{questionNumber:t+1}),o.jsx(xl,{})]});case U.ANSWERING:return o.jsx(P1,{children:o.jsx(xl,{label:"You"})});case U.TRANSCRIBING:return o.jsx(vl,{children:o.jsxs("div",{className:"iw-flex iw-items-center iw-px-1 iw-py-1.5 iw-rounded-lg iw-mb-2 iw-text-sm iw-bg-[#F2E8FE]",children:[o.jsx("div",{className:"iw-h-8 iw-w-12 iw-transcribing-icon"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260]",children:"Analyzing answer…"})]})});default:return null}},U1=({item:e,index:t,isCurrentQuestion:r=!1,isEditable:i=!1,answerText:n="",onAnswerChange:s,timerState:a,editingTime:c})=>{const l=i&&a&&c!==void 0,h=l||e.answer;return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-start",children:[o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:["Q",t+1]}),o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tl-none",style:{backgroundColor:"#F1F5FE",border:r?"2px solid #84bbf5":"1px solid transparent"},children:e.question})]}),h&&o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-4",children:[o.jsx("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#F2E8FE",border:"1px solid #E9D5FF"},children:"You"}),l?o.jsx(D1,{answerText:n||"",onAnswerChange:s,timerState:a,editingTime:c}):o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tr-none",style:{backgroundColor:"#F7F1FE"},children:e.answer})]}),r&&o.jsx(B1,{phase:a==null?void 0:a.phase,questionNumber:t+1})]})},V1=()=>o.jsx("div",{className:"iw-space-y-6 iw-animate-pulse",children:[1,2,3].map(e=>o.jsxs("div",{className:`iw-flex iw-flex-col ${e%2===0?"iw-items-end":"iw-items-start"} iw-gap-2`,children:[o.jsx("div",{className:"iw-h-8 iw-w-16 iw-bg-gray-200 iw-rounded-full"}),o.jsx("div",{className:"iw-h-24 iw-w-full iw-bg-gray-100 iw-rounded-xl"})]},e))}),G1=({transcript:e,isLoading:t,className:r="",bottomRef:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col iw-bg-white iw-scroll-smooth iw-p-6 iw-pr-2 iw-min-w-32 iw-border iw-rounded-tr-2xl iw-rounded-br-2xl iw-border-[#E8EEFE] ${r}`,children:[o.jsxs("div",{className:"iw-mb-6",children:[o.jsx("h2",{className:"iw-text-lg iw-font-semibold iw-mb-4",style:{color:"#062260"},children:"Interview transcript"}),o.jsx("div",{className:"iw-h-px iw-w-full iw-border-t iw-border-dashed iw-border-gray-300"})]}),o.jsxs("div",{className:"iw-flex-1 iw-overflow-y-auto iw-pr-2 iw-space-y-6 iw-scrollbar-thin iw-max-w-xl iw-pb-5",children:[t?o.jsx(V1,{}):e==null?void 0:e.map((h,u)=>o.jsx(U1,{item:h,index:u,isCurrentQuestion:u===(e==null?void 0:e.length)-1,isEditable:!!(u===(e==null?void 0:e.length)-1&&n),answerText:s,onAnswerChange:a||(()=>{}),timerState:c,editingTime:l},h.qna_id)),o.jsx("div",{ref:i})]})]}),j1=({interviewId:e,className:t="",currentQuestion:r,lastSubmittedAnswer:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>{const h=ml(),[u,f]=d.useState([]),[w,g]=d.useState(!0),p=d.useRef(null);return d.useEffect(()=>{var y;(y=p.current)==null||y.scrollIntoView({behavior:"smooth"})},[u,s,c==null?void 0:c.phase]),d.useEffect(()=>{(async()=>{var m;try{const b=await h.getInterviewTranscription(e);f(((m=b==null?void 0:b.data)==null?void 0:m.transcript)||[])}catch(b){console.error("Failed to fetch transcript:",b)}finally{g(!1)}})()},[e,h]),d.useEffect(()=>{r&&f(y=>{if(y.some(v=>v.qna_id===r.qna_id))return y;const b={qna_id:r.qna_id,question:r.question,answer:null,question_generated_at:new Date().toISOString(),answer_submitted_at:null};return[...y,b]})},[r]),d.useEffect(()=>{i!=null&&i.answer?f(y=>y.map(m=>m.qna_id===i.qnaId?{...m,answer:i.answer,answer_submitted_at:new Date().toISOString()}:m)):s&&f(y=>y.map(m=>m.qna_id===(i==null?void 0:i.qnaId)?{...m,answer:s,answer_submitted_at:new Date().toISOString()}:m))},[i,s]),o.jsx(G1,{transcript:u,isLoading:w||(u==null?void 0:u.length)===0,className:t,bottomRef:p,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})},$s=5,Ws=5;function z1({isOpen:e,onClose:t,warningCount:r,violationType:i,onDisqualify:n}){const[,s]=d.useState(Ws),a=d.useRef(t),c=d.useRef(n),l=d.useRef(r);if(d.useEffect(()=>{a.current=t,c.current=n,l.current=r},[t,n,r]),d.useEffect(()=>{if(!e)return;const w=setInterval(()=>{s(g=>g<=1?(l.current+1>$s?c.current():a.current(),Ws):g-1)},1e3);return()=>clearInterval(w)},[e]),d.useEffect(()=>{e&&s(Ws)},[e]),!e)return null;const h=()=>{switch(i){case"tab_switch":return"Attempted tab switch/reload";case"fullscreen_exit":return"Attempted to exit full screen mode";case"focus_loss":return"Lost focus from interview window";case"blocked_shortcut":return"Used a blocked keyboard shortcut";case"right_click_attempt":return"Attempted right click";case"alt_tab_attempt":return"Attempted Alt + Tab";case"blocked_function_key":return"Attempted to use function key";default:return"Attempted right click/tab switch"}},u=$s-r,f=()=>{r+1>$s?n():t()};return o.jsx("div",{className:"iw-absolute iw-bottom-20 iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300",children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#E94315] iw-bg-[#FFEBE6] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:f,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(yi,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3",children:[o.jsx("div",{className:"iw-flex iw-h-10 iw-w-10 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#FDCBBD]",children:o.jsx(pi,{className:"iw-h-5 iw-w-5 iw-text-red-500"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsxs("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#E94315]",children:["You have ",u>0?u:0," warning",u>1?"s":""," left"]}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:h()}),o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-red-200 iw-pt-3",children:u===1?o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Next violation will disqualify you from this interview and automatically end the interview"}):o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Interview will end automatically after final warning"})})]})]})]})})}const $1=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(d.useEffect(()=>{if(!e||!a)return;const u=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e,a,t]),d.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=u=>{s&&u.target===u.currentTarget&&t()},h=o.jsxs("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center",children:[o.jsx("div",{className:"iw-fixed iw-inset-0 iw-bg-black iw-bg-opacity-50 iw-transition-opacity",onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"dialog-title":void 0,children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return Xs.createPortal(h,document.body)},W1=e=>o.jsxs("svg",{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",...e,children:[o.jsx("path",{d:"M9 9.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 9 14.996z"}),o.jsx("circle",{cx:"12",cy:"12",r:"10"})]}),H1=({showHardReloadWarning:e,onContinue:t})=>{const r=()=>{t()};return o.jsxs($1,{isOpen:e,onClose:r,closeOnOverlayClick:!1,closeOnEscape:!1,showCloseButton:!1,className:"iw-max-w-lg iw-px-2 iw-rounded-xl",children:[o.jsx("div",{className:"iw-absolute iw-inset-x-0 iw-top-0 iw-h-1 iw-bg-gradient-to-r iw-from-red-500 iw-to-red-600"}),o.jsx("div",{className:"iw-space-y-1 iw-pb-2 iw-pt-3",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(pi,{className:"iw-w-5 iw-h-5 iw-text-red-500"}),o.jsx("h3",{className:"iw-text-xl iw-font-semibold iw-text-red-500",children:"Full Screen Exit Detected"})]})}),o.jsx("div",{className:"iw-pt-4 iw-pb-6",children:o.jsx("p",{className:"iw-text-center iw-text-sm iw-leading-relaxed iw-text-gray-500/90",children:"Exiting full screen mode or reloading this page during the session is strictly prohibited. Any attempt to do so will be recorded and may lead to penalties."})}),o.jsx("div",{className:"iw-pt-2 iw-pb-4",children:o.jsxs("button",{onClick:r,className:"iw-w-full iw-flex iw-items-center iw-justify-center iw-gap-2 iw-px-4 iw-py-3 iw-bg-gray-100 iw-text-gray-600 iw-rounded-md iw-font-medium iw-transition-colors hover:iw-bg-gray-200 focus:iw-outline-none focus:iw-ring-2 focus:iw-ring-gray-400 focus:iw-ring-offset-2",children:[o.jsx(W1,{className:"iw-size-4"}),"Continue Session"]})})]})},El=d.createContext(null),q1=()=>{const e=d.useContext(El);return e||{violationCount:0,violationType:"fullscreen_exit",showWarningModal:!1,setShowWarningModal:()=>{},handleClose:()=>{},handleDisqualify:()=>{}}},K1=d.forwardRef(({children:e,onDisqualify:t,isCompleted:r},i)=>{const[n,s]=d.useState(!1),[a,c]=d.useState(!1),[l,h]=d.useState(!1),[u,f]=d.useState("fullscreen_exit"),{logViolation:w,violationCount:g}=_1({maxViolations:5,onViolation:v=>{!a&&!r&&!l&&(s(!0),f(v.type))}}),{enterFullScreen:p,isFullScreen:y,exitFullScreen:m}=p1({onFullScreenChange(v){!v&&!a&&!l&&!r&&(s(!0),w({type:"fullscreen_exit",severity:"high",details:{action:"fullscreen_exit",reason:"Attempted to exit full screen mode"}})),v&&h(!1)}});d.useEffect(()=>{p()},[]),d.useImperativeHandle(i,()=>({exitFullScreenIntentionally:async()=>{h(!0),s(!1),c(!1);try{document.fullscreenElement&&await document.exitFullscreen()}catch(v){console.error("Failed to exit fullscreen:",v)}}}),[]),b1(w),m1(w),v1(),k1(),d.useEffect(()=>{const v=F=>{if(!(a||l||r))return F.preventDefault(),F.returnValue=void 0,""};return window.addEventListener("beforeunload",v),()=>{window.removeEventListener("beforeunload",v)}},[a,l,r]);const b=()=>{c(!0),m(),s(!1),t==null||t()};return o.jsxs(El.Provider,{value:{violationCount:g,violationType:u,showWarningModal:n,setShowWarningModal:s,handleClose:()=>{s(!1),p()},handleDisqualify:b},children:[o.jsx("div",{className:"iw-relative iw-h-full iw-w-full",children:e}),!y&&g>0&&!a&&!l&&o.jsx(H1,{showHardReloadWarning:!0,logViolation:w,onContinue:p})]})}),Y1=({onClick:e,text:t="Submit response"})=>(d.useEffect(()=>{if(typeof window>"u")return;const r=i=>{const n=i.key==="Enter",s=i.target;s.tagName==="INPUT"||s.isContentEditable||n&&(i.preventDefault(),e())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e]),o.jsx("div",{className:"iw-fixed iw-bottom-10 iw-left-1/4 iw-transform iw--translate-x-1/2 iw-z-50",children:o.jsxs("button",{onClick:e,className:"iw-flex iw-items-center iw-gap-3 iw-bg-[#4C6CFF] hover:iw-bg-[#4c6dffd5] iw-text-white iw-px-5 iw-py-3 iw-rounded-lg iw-shadow-lg iw-transition-all iw-duration-200 iw-group",children:[o.jsx("span",{className:"iw-font-semibold iw-text-sm",children:t}),o.jsx("span",{className:"iw-bg-white/90 iw-text-[#062260] iw-px-2 iw-py-1 iw-rounded iw-text-xs iw-font-mono iw-font-bold group-hover:iw-bg-white iw-transition-colors",children:"Press Enter"})]})})),X1=({brandName:e,brandLogo:t,currentQuestion:r,state:i,phase:n,className:s="",interviewId:a="",interview_duration:c=wi,videoFeedRef:l,lastSubmittedAnswer:h,onNextPhase:u,answerText:f,onAnswerChange:w,editingTime:g,answeringTime:p})=>{const{showWarningModal:y,violationCount:m,violationType:b,handleClose:v,handleDisqualify:F}=q1();return o.jsxs("div",{className:`iw-px-4 iw-py-3 ${s} iw-h-[calc(100vh_-_120px)] iw-max-h-[calc(100vh_-_120px)] iw-flex iw-gap-0 iw-relative`,children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-flex-1 iw-p-5 iw-bg-white/50 iw-border iw-border-[#E8EEFE] iw-rounded-s-3xl iw-overflow-hidden",children:[o.jsx("div",{className:"iw-flex iw-items-start iw-justify-between iw-gap-3 iw-mb-4",children:o.jsx("div",{className:"iw-flex-1",children:o.jsx(F1,{question:r,isLoading:n===U.FETCHING_QUESTION||n===U.IDLE,phase:n,brandName:e,brandLogo:t,timerState:i,answeringTime:p})})}),o.jsxs("div",{className:"iw-flex-1 iw-min-h-0 iw-rounded-[16px] iw-overflow-hidden iw-relative",children:[o.jsx(hl,{ref:l,interviewId:a,interview_duration:c,isAnswering:n===U.ANSWERING,cheatingWarningVisible:y}),o.jsx(z1,{isOpen:y,warningCount:m,violationType:b,onClose:v,onDisqualify:F})]})]}),o.jsx("div",{className:"iw-interview-transcription iw-w-1/4 iw-min-w-32 iw-h-full",children:o.jsx(j1,{interviewId:a,currentQuestion:r,lastSubmittedAnswer:h,isEditing:n===U.EDITING,answerText:f,onAnswerChange:w,timerState:i,editingTime:g})}),u&&(n===U.ANSWERING||n===U.EDITING)&&o.jsx(Y1,{onClick:u,text:n===U.ANSWERING?"Submit Response":"Submit Final Response"})]})},Q1=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(d.useEffect(()=>{if(!e||!a)return;const u=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e,a,t]),d.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=u=>{s&&u.target===u.currentTarget&&t()},h=o.jsxs("div",{className:"interview-widget-container",style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center"},children:[o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",transition:"opacity 0.2s"},onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"standalone-dialog-title":void 0,style:{zIndex:1e4},children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"standalone-dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return Xs.createPortal(h,document.body)},J1=({confirmExitInterview:e,isOpen:t,onClose:r})=>o.jsxs(Q1,{isOpen:t,onClose:r,showCloseButton:!1,closeOnOverlayClick:!1,className:"iw-max-w-xl iw-border-2 iw-border-dashed iw-rounded-xl iw-border-[#6296FB]",children:[o.jsxs("div",{className:"iw-p-4",children:[o.jsx("h2",{className:"iw-text-xl iw-font-semibold iw-text-[#062260]",children:"Are you sure you want to leave interview?"}),o.jsx("p",{className:"iw-mt-2 iw-text-[#667085] iw-line-clamp-2",children:"If you exit now, the interview will be terminated and cannot be resumed."})]}),o.jsx("div",{className:"iw-my-0 iw-h-px iw-m-6 iw-border-t iw-border-dashed iw-border-[#B3B9CB]"}),o.jsxs("div",{className:"iw-flex iw-justify-center iw-gap-4 iw-p-4",children:[o.jsx(nn,{className:"iw-px-8 iw-py-3 iw-rounded-xl !iw-bg-[#E94315] !iw-text-white !iw-font-bold !iw-shadow-md !hover:iw-opacity-70",onClick:e,children:"Leave"}),o.jsx(nn,{onClick:r,className:"iw-px-6 iw-py-3 iw-rounded-xl !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border !iw-border-[#E7EAF1] !iw-shadow-md hover:iw-opacity-70",children:"Stay in Interview"})]})]}),Z1=({title:e,brandName:t,brandLogo:r,onExit:i,totalDuration:n=30,elapsedTime:s=0})=>{const[a,c]=d.useState(!1),l=Math.min(s/(n*60)*100,100),h=()=>o.jsxs("div",{className:"iw-px-4 iw-pb-2 iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-flex-1 iw-h-4 iw-bg-[#F2F4F7] iw-rounded-full iw-overflow-hidden iw-border iw-border-blue-100 iw-relative",children:o.jsx("div",{className:"iw-h-full iw-bg-[#0EB00E] iw-rounded-full iw-transition-all iw-duration-1000 iw-ease-linear",style:{width:`${l}%`}})}),o.jsxs("div",{className:"iw-text-sm iw-font-medium iw-whitespace-nowrap",children:[o.jsx("span",{className:"iw-text-[#062260]",children:mn(s)}),o.jsxs("span",{className:"iw-text-[#667085]",children:["/",n," Min"]})]})]});return o.jsxs("header",{className:"iw-w-full iw-text-gray-900 iw-shadow-sm",children:[o.jsxs("div",{className:"iw-mx-auto iw-flex iw-items-center iw-justify-between iw-p-4 iw-pt-1 iw-mb-2 iw-border-b iw-border-[#B3B9CB] iw-border-dashed",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2",children:[o.jsx(yn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx("h1",{className:"iw-text-2xl iw-font-semibold iw-text-gradient-silver",children:e}),o.jsx("button",{className:"iw-text-sm iw-text-[#E94315] iw-min-w-10 iw-rounded-md hover:iw-bg-orange-100 iw-p-2",onClick:()=>c(!0),children:o.jsxs("span",{className:"iw-flex iw-items-center iw-gap-1 iw-text-[18px] iw-font-semibold iw-whitespace-nowrap",children:[o.jsx(yi,{className:"iw-text-[#E94315] iw-size-5"}),"Leave interview"]})})]}),o.jsx(h,{}),o.jsx("div",{className:"iw-h-px iw-bg-gray-200"}),o.jsx(J1,{isOpen:a,confirmExitInterview:()=>{i(),c(!1)},onClose:()=>c(!1)})]})},R1=({className:e="",width:t,height:r=56,barWidth:i=3,gap:n=2,fftSize:s=1024,smoothingTimeConstant:a=.8,mediaStream:c,startOnMount:l=!0})=>{const{baseColor:h}=Zt(),u=d.useRef(null),f=d.useRef(null),w=d.useRef(null),g=d.useRef(null),p=d.useRef(null),y=d.useRef(null),m=d.useRef(!1),[b,v]=d.useState(null);d.useEffect(()=>{if(t||!f.current)return;const T=f.current,E=()=>{const M=u.current;if(!M)return;const N=T.clientWidth,L=r;M.width=Math.max(1,Math.floor(N*window.devicePixelRatio||1)),M.height=Math.max(1,Math.floor(L*window.devicePixelRatio||1))},C=new ResizeObserver(E);return C.observe(T),E(),()=>C.disconnect()},[t,r]),d.useEffect(()=>{if(!t)return;const T=u.current;T&&(T.width=Math.max(1,Math.floor(t*(window.devicePixelRatio||1))),T.height=Math.max(1,Math.floor(r*(window.devicePixelRatio||1))))},[t,r]),d.useEffect(()=>{let T=!1;return(async()=>{try{const C=new(window.AudioContext||window.webkitAudioContext);w.current=C;let M=c;if(!M){if(!l)return;M=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1}),m.current=!0}if(T)return;const N=C.createAnalyser();N.fftSize=s,N.smoothingTimeConstant=a,g.current=N;const L=C.createMediaStreamSource(M);p.current=L,L.connect(N),F()}catch(C){v((C==null?void 0:C.message)||"Failed to initialize microphone")}})(),()=>{var C,M,N,L;T=!0,y.current&&cancelAnimationFrame(y.current);try{(C=p.current)==null||C.disconnect()}catch{}try{(M=g.current)==null||M.disconnect()}catch{}m.current&&((L=((N=p.current)==null?void 0:N.mediaStream)||void 0)==null||L.getTracks().forEach(z=>z.stop())),w.current&&w.current.state!=="closed"&&w.current.close()}},[c,s,a,l]);const F=()=>{const T=u.current,E=g.current;if(!T||!E)return;const C=T.getContext("2d");if(!C)return;const M=window.devicePixelRatio||1,N=T.width,L=T.height,z=E.frequencyBinCount,be=new Uint8Array(z),J=()=>{y.current=requestAnimationFrame(J),E.getByteTimeDomainData(be),C.clearRect(0,0,N,L),C.fillStyle="rgba(0,0,0,0)",C.fillRect(0,0,N,L);const H=Math.max(1,Math.floor(i*M)),Z=Math.max(1,Math.floor(n*M)),G=H+Z,K=Math.max(8,Math.floor((N+Z)/G)),ht=Math.floor(be.length/K);for(let et=0;et<K;et++){const ft=Math.min(be.length-1,et*ht),vt=be[ft]/128-1,Ie=Math.abs(vt),Tr=Math.pow(Ie,.6),Lt=Math.max(L*.06,Tr*(L*.9)),Nr=et*G,Ir=(L-Lt)/2,si=140-Math.min(140,140*Ie),Fr=85,Lr=48+Math.floor(12*(1-Ie));C.fillStyle=`${h}`,C.shadowColor=`hsla(${si}, ${Fr}%, ${Lr}%, ${.25*Ie})`,C.shadowBlur=8*Ie;const Fe=Math.min(H/2,Lt/2);e2(C,Nr,Ir,H,Lt,Fe),C.fill()}};J()};return o.jsxs("div",{ref:f,className:`iw-relative iw-w-full iw-overflow-hidden iw-rounded-md iw-bg-gray-50 ${e}`,style:{height:r},children:[o.jsx("canvas",{ref:u,className:"iw-w-full iw-h-full"}),b&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center",children:o.jsx("span",{className:"iw-text-xs iw-text-red-600 iw-bg-red-50 iw-border iw-border-red-200 iw-px-2 iw-py-1 iw-rounded",children:b})})]})};function e2(e,t,r,i,n,s){const a=Math.min(s,i/2,n/2);e.beginPath(),e.moveTo(t+a,r),e.lineTo(t+i-a,r),e.quadraticCurveTo(t+i,r,t+i,r+a),e.lineTo(t+i,r+n-a),e.quadraticCurveTo(t+i,r+n,t+i-a,r+n),e.lineTo(t+a,r+n),e.quadraticCurveTo(t,r+n,t,r+n-a),e.lineTo(t,r+a),e.quadraticCurveTo(t,r,t+a,r),e.closePath()}const t2=({state:e,answeringTime:t,nextPhase:r,sttError:i})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-justify-between iw-h-full ",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"You may start speaking now. We're listening...."}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(ro,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to talk: "})]}),o.jsx(an,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]})]}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"Done talking? Click the button to review your answer."})]}),o.jsxs("div",{children:[o.jsx(R1,{}),i&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Recording error: ",i.message]})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(on,{onClick:()=>{r()},children:"Transcribe My Answer"})})]});function r2(){const[e,t]=d.useState(!0),r=d.useMemo(()=>[0,1,2].map(i=>({id:i})),[]);return d.useEffect(()=>{const i=setInterval(()=>{t(n=>!n)},1500);return()=>clearInterval(i)},[]),o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-h-full",children:[o.jsx("div",{className:"iw-relative iw-w-80 iw-h-48 ","aria-hidden":!0,children:r.map((i,n)=>{const s=n*50,a=e?s:s+12,c=e?1:.08,l=n*140;return o.jsx("div",{role:"presentation",className:"iw-absolute iw-w-full iw-rounded-lg iw-p-4 iw-shadow-md iw-bg-gradient-to-b iw-from-gray-50 iw-to-gray-100 iw-overflow-hidden",style:{top:0,transform:`translateY(${a}px)`,opacity:c,transition:`transform 600ms cubic-bezier(.2,.9,.3,1) ${l}ms, opacity 400ms ease ${l}ms`},children:o.jsxs("div",{className:"iw-flex iw-gap-3 iw-items-center",children:[o.jsx("div",{className:"iw-w-10 iw-h-10 iw-bg-gray-300 iw-rounded iw-flex-shrink-0"}),o.jsxs("div",{className:"iw-flex-1 iw-space-y-2",children:[o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-24"}),o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-32"})]})]})},i.id)})}),o.jsx("div",{className:"iw-text-center",children:o.jsx("p",{className:"iw-text-gray-500 iw-font-medium",children:"Preparing your question..."})})]})}const i2=({size:e="192px",className:t,colors:r,animationDuration:i=20})=>{const s={...{bg:"oklch(95% 0.02 264.695)",c1:"oklch(75% 0.15 350)",c2:"oklch(80% 0.12 200)",c3:"oklch(78% 0.14 280)"},...r},a=parseInt(e.replace("px",""),10),c=a<50?Math.max(a*.008,1):Math.max(a*.015,4),l=a<50?Math.max(a*.004,1.2):Math.max(a*.008,1.5),h=a<50?Math.max(a*.004,.05):Math.max(a*.008,.1),u=a<50?Math.max(a*.004,.5):Math.max(a*.008,2),f=a<30?"0%":a<50?"5%":a<100?"15%":"25%",w=a<30?1.1:a<50?Math.max(l*1.2,1.3):l;return o.jsx("div",{className:`siri-orb ${t}`,style:{width:e,height:e,"--bg":s.bg,"--c1":s.c1,"--c2":s.c2,"--c3":s.c3,"--animation-duration":`${i}s`,"--blur-amount":`${c}px`,"--contrast-amount":w,"--dot-size":`${h}px`,"--shadow-spread":`${u}px`,"--mask-radius":f},children:o.jsx("style",{children:`
|
|
75
75
|
@property --angle {
|
|
76
76
|
syntax: "<angle>";
|
|
77
77
|
inherits: false;
|
|
@@ -176,4 +176,4 @@
|
|
|
176
176
|
animation: none;
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
|
-
`})})};function R2({ttsError:e}){return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-w-full iw-h-full",children:[o.jsx(Z2,{size:"80px"}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Audio playback failed: ",e.message]}),o.jsx("p",{className:"iw-text- iw-text-gray-700",children:"Your AI interviewer is speaking..."})]})}const e1=({state:e,thinkingTime:t,nextPhase:r})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-6 iw-items-center iw-justify-center iw-text-center iw-h-full ",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Get Ready to Answer"}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"After 30-seconds thinking time, recording will start automatically, or you can begin recording early by clicking the button below."})]}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(Rs,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to think: "})]}),o.jsx(rn,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(Gs,{onClick:()=>{r()},children:"Start Answering"})})]}),t1=({sttError:e,editingDuration:t})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-h-full",children:[o.jsxs("svg",{width:"48",height:"48",viewBox:"0 0 60 60",fill:"none",children:[o.jsx("rect",{width:60,height:60,rx:30,fill:"url(#prefix__paint0_linear_1460_12482)"}),o.jsx("path",{d:"M28.127 14c.276 7.685 6.442 13.851 14.127 14.127-7.684.276-13.85 6.442-14.127 14.127-.275-7.685-6.442-13.851-14.126-14.127 7.684-.276 13.85-6.442 14.126-14.127zM38.937 31.873A7.331 7.331 0 0046 38.937 7.331 7.331 0 0038.937 46a7.331 7.331 0 00-7.064-7.063 7.331 7.331 0 007.064-7.064z",fill:"#fff"}),o.jsx("defs",{children:o.jsxs("linearGradient",{id:"prefix__paint0_linear_1460_12482",x1:30,y1:-6.563,x2:77.813,y2:54.375,gradientUnits:"userSpaceOnUse",children:[o.jsx("stop",{offset:.211,stopColor:"#5C92FA"}),o.jsx("stop",{offset:1,stopColor:"#A75FFD"})]})})]}),o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1 iw-mt-3",children:"Just a moment... We're analyzing your response"}),o.jsxs("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:["After transcription, you'll have ",t||30," sec to review your answer."]}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Transcription error: ",e.message,e.recoverable&&" (attempting to continue)"]})]}),r1=({interviewTitle:e,brandName:t="Novara",brandLogo:r,interviewId:i,onComplete:n,onDisqualify:s,className:a="",videoFeedRef:c})=>{var Dr,li;const l=wl(),{baseUrl:h,authToken:u}=Zs(),{timers:f,stt:w,proctoring:g}=fn(),p=d.useRef(null),[y,m]=d.useState(null),[b,v]=d.useState(""),[F,T]=d.useState(null),[E,C]=d.useState(hi),[D,N]=d.useState(!0),L=d.useRef(""),z=d.useRef(null),be={thinkingTime:(f==null?void 0:f.thinkingDuration)||0,answeringTime:(f==null?void 0:f.answeringDuration)||120,editingTime:D?(f==null?void 0:f.editingDuration)||30:0},{thinkingTime:Q,answeringTime:q,editingTime:J}=be;d.useEffect(()=>{L.current=b},[b]);const U=d.useRef(!1),{speak:Z,stop:tt,error:yt}=x2({onEnd:()=>{U.current=!1,ie()},onError:()=>{U.current||(U.current=!0,ie())}}),Ne=d.useRef(!1),It=d.useRef(!1),$e=d.useRef(!1),{startRecording:Ar,stopRecording:Ft,transcribe:Tr,cancelRecording:Nr,isRecording:Ir,error:Fr,audioBlob:Xt}=m2({config:{baseUrl:h,provider:w==null?void 0:w.provider,model:w==null?void 0:w.model,language:w==null?void 0:w.language,authToken:u,qnaId:((Dr=z.current)==null?void 0:Dr.qna_id)||"",interviewId:i},onStart:()=>{Ne.current=!1,It.current=!1},onStop:()=>{},onTranscriptionComplete:M=>{const j=M.transcript;v(j),L.current=j,It.current||(It.current=!0,ie())},onError:M=>{console.error("STT Error:",M),Ne.current||(Ne.current=!0,ie())}}),{state:Ie,startQuestion:Lt,nextPhase:ie,completeInterview:si,timerService:oi}=f2({config:{answeringDuration:q,editingDuration:J},callbacks:{onPhaseChange:M=>{switch(M){case B.FETCHING_QUESTION:Lr();break;case B.READING_QUESTION:ci();break;case B.ANSWERING:Ws();break;case B.TRANSCRIBING:nn();break;case B.SUBMITTING:ai();break}},onInterviewEnd:()=>{n==null||n()}}});d.useEffect(()=>{Lt()},[]),d.useEffect(()=>{(async()=>{try{const j=await l.getInterviewConfig(i);if(j!=null&&j.data&&(j.data.duration_in_minutes&&C(j.data.duration_in_minutes),typeof j.data.allow_answer_editing=="boolean"&&N(j.data.allow_answer_editing),typeof j.data.elapsed_time_in_minutes=="number")){const Qe=Math.floor(j.data.elapsed_time_in_minutes*60);oi.setTotalTimeElapsed(Qe)}}catch(j){console.error("Failed to fetch interview config:",j)}})()},[i,oi]);const{execute:Lr}=w2(async()=>{const M=await l.generateQuestion({interviewId:i});return z.current=M.data,M},{onSuccess:async M=>{M&&M.data&&(v(""),L.current="",m(M.data),ie())},onError:M=>{console.error("Failed to fetch questions:",M)}}),ai=d.useCallback(async()=>{var M;try{const j=L.current,Qe=((M=z.current)==null?void 0:M.qna_id)||"";D&&await l.submitAnswer({interviewId:i,qnaId:Qe,answer:j}),T({qnaId:Qe,answer:j})}catch(j){console.error("Failed to submit answer:",j)}Lt()},[l,i,Lt,D]),ci=d.useCallback(async()=>{var M,j;if((M=z.current)!=null&&M.question)if(z.current.question_audio_data_base64)try{U.current=!1,await Z(z.current.question_audio_data_base64),z.current.is_interview_done&&(tt(),Nr(),c&&"current"in c&&((j=c.current)==null||j.stopCamera()),si())}catch(Qe){console.error("Failed to speak question:",Qe),ie()}else console.warn("No audio data available for question"),await Vl(2e3),ie();else ie()},[Z,ie,si]),Ws=d.useCallback(async()=>{try{await Ar(q)}catch(M){console.error("Failed to start recording:",M),ie()}},[Ar,ie]),nn=d.useCallback(async()=>{if($e.current){console.log("Already processing STT, ignoring duplicate call.");return}$e.current=!0;try{let M;!Ir&&Xt?(console.log("Recording already stopped, using cached blob."),M=Xt):M=await Ft(),await Tr(M)}catch(M){console.error("STT processing failed:",M),M instanceof Error&&console.error("Error Name:",M.name),!Ne.current&&!It.current&&(Ne.current=!0,ie())}finally{$e.current=!1}},[Ft,Tr,ie,Ir,Xt]),Mr=d.useCallback(async M=>{var j,Qe;tt(),Nr(),c&&"current"in c&&((j=c.current)==null||j.stopCamera()),await((Qe=p.current)==null?void 0:Qe.exitFullScreenIntentionally());try{await l.exitInterview(i)}catch(Pr){console.error("API call failed:",Pr)}finally{M==null||M(),si(),sessionStorage.removeItem(dn)}},[i,tt,l]),sn=()=>{const{phase:M}=Ie;switch(M){case B.IDLE:return o.jsxs("div",{className:"iw-text-center iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-2 iw-h-full",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Ready to start the Interview?"}),o.jsx("p",{className:"iw-max-w-xl iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:`You will be asked a series of behavioral and technical questions. For each one you'll get a short thinking period, then a timed recording window. We'll transcribe your response so you can review and edit it before submitting. Click "Start Interview" when you're ready.`}),o.jsx(Gs,{onClick:Lt,className:"iw-mt-2 iw-w-40",children:"Start Interview"})]});case B.FETCHING_QUESTION:return o.jsx(J2,{});case B.READING_QUESTION:return o.jsx(R2,{ttsError:yt});case B.THINKING:return o.jsx(e1,{state:Ie,thinkingTime:Q,nextPhase:ie});case B.ANSWERING:return o.jsx(Q2,{state:Ie,answeringTime:q,nextPhase:ie,sttError:Fr});case B.TRANSCRIBING:return o.jsx(t1,{sttError:Fr,editingDuration:J});case B.EDITING:case B.SUBMITTING:return null;case B.COMPLETED:return null;default:return null}},on=o.jsxs(o.Fragment,{children:[o.jsx(K2,{title:e,brandName:t,brandLogo:r,totalDuration:E,elapsedTime:Ie.totalTimeElapsed,onExit:()=>Mr()}),o.jsx(W2,{brandName:t,brandLogo:r,currentQuestion:y,state:Ie,phase:Ie.phase,className:a,interviewId:i,interview_duration:E,videoFeedRef:c,lastSubmittedAnswer:F,onNextPhase:ie,answerText:b,onAnswerChange:M=>{const j=M.target.value;v(j),L.current=j},editingTime:J,answeringTime:q,children:sn()})]});return o.jsx(o.Fragment,{children:g!=null&&g.enabled?o.jsx(z2,{ref:p,onDisqualify:()=>Mr(s),isCompleted:((li=z==null?void 0:z.current)==null?void 0:li.is_interview_done)??!1,children:on}):on})},$s=({title:e,brandName:t,brandLogo:r,interviewId:i,onInterviewEnd:n,onInterviewDisqualify:s,className:a=""})=>{const[c,l]=d.useState(!1),[h,u]=d.useState(!0),[f,w]=d.useState(!1),{proctoring:g}=fn(),p=d.useRef(null),y=d.useRef(null),m=(g==null?void 0:g.gazeAnalysisEnabled)===!0,b=()=>{l(!0),u(!1)};return d.useEffect(()=>{if(c&&f&&y.current&&m)try{y.current.setReference()}finally{w(!1)}},[c,f,m]),c?o.jsx("div",{className:"interview-widget-container",children:o.jsx("div",{ref:p,className:`iw-flex iw-flex-col iw-rounded-xl iw-shadow-lg iw-overflow-hidden iw-h-[calc(100vh-1rem)] ${a}`,children:o.jsx("div",{className:"iw-h-[calc(100vh-1rem)] iw-flex iw-flex-col iw-justify-between gap-1",children:o.jsx(r1,{interviewTitle:e??"Interview",brandName:t??"Novara",brandLogo:r,interviewId:i,className:a,onComplete:n??(()=>{}),onDisqualify:s,videoFeedRef:y})})})}):o.jsxs("div",{className:"interview-widget-container",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2 iw-mx-auto iw-p-2 iw-max-w-[1800px]",children:[o.jsx(gn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx(u2,{isOpen:h,gazeEnabled:m,onStart:b,onRequestCalibration:()=>w(!0),videoFeedRef:y,interviewId:i})]})};typeof window<"u"&&(window.InterviewWidget={InterviewWidget:$s,InterviewWidgetProvider:Js}),me.InterviewWidget=$s,me.InterviewWidgetProvider=Js,me.default=$s,Object.defineProperties(me,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
179
|
+
`})})};function n2({ttsError:e}){return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-w-full iw-h-full",children:[o.jsx(i2,{size:"80px"}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Audio playback failed: ",e.message]}),o.jsx("p",{className:"iw-text- iw-text-gray-700",children:"Your AI interviewer is speaking..."})]})}const s2=({state:e,thinkingTime:t,nextPhase:r})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-6 iw-items-center iw-justify-center iw-text-center iw-h-full ",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Get Ready to Answer"}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"After 30-seconds thinking time, recording will start automatically, or you can begin recording early by clicking the button below."})]}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(ro,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to think: "})]}),o.jsx(an,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(on,{onClick:()=>{r()},children:"Start Answering"})})]}),o2=({sttError:e,editingDuration:t})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-h-full",children:[o.jsxs("svg",{width:"48",height:"48",viewBox:"0 0 60 60",fill:"none",children:[o.jsx("rect",{width:60,height:60,rx:30,fill:"url(#prefix__paint0_linear_1460_12482)"}),o.jsx("path",{d:"M28.127 14c.276 7.685 6.442 13.851 14.127 14.127-7.684.276-13.85 6.442-14.127 14.127-.275-7.685-6.442-13.851-14.126-14.127 7.684-.276 13.85-6.442 14.126-14.127zM38.937 31.873A7.331 7.331 0 0046 38.937 7.331 7.331 0 0038.937 46a7.331 7.331 0 00-7.064-7.063 7.331 7.331 0 007.064-7.064z",fill:"#fff"}),o.jsx("defs",{children:o.jsxs("linearGradient",{id:"prefix__paint0_linear_1460_12482",x1:30,y1:-6.563,x2:77.813,y2:54.375,gradientUnits:"userSpaceOnUse",children:[o.jsx("stop",{offset:.211,stopColor:"#5C92FA"}),o.jsx("stop",{offset:1,stopColor:"#A75FFD"})]})})]}),o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1 iw-mt-3",children:"Just a moment... We're analyzing your response"}),o.jsxs("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:["After transcription, you'll have ",t||30," sec to review your answer."]}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Transcription error: ",e.message,e.recoverable&&" (attempting to continue)"]})]}),a2=({interviewTitle:e,brandName:t="Novara",brandLogo:r,interviewId:i,onComplete:n,onDisqualify:s,className:a="",videoFeedRef:c})=>{var di,ui;const l=ml(),{baseUrl:h,authToken:u}=to(),{timers:f,stt:w,proctoring:g}=pn(),p=d.useRef(null),[y,m]=d.useState(null),[b,v]=d.useState(""),[F,T]=d.useState(null),[E,C]=d.useState(wi),[M,N]=d.useState(!0),L=d.useRef(""),z=d.useRef(null),be={thinkingTime:(f==null?void 0:f.thinkingDuration)||0,answeringTime:(f==null?void 0:f.answeringDuration)||120,editingTime:M?(f==null?void 0:f.editingDuration)||30:0},{thinkingTime:J,answeringTime:H,editingTime:Z}=be;d.useEffect(()=>{L.current=b},[b]);const G=d.useRef(!1),K=d.useRef(!1),{speak:ht,stop:et,error:ft}=E1({onEnd:()=>{K.current=!1,ie()},onError:()=>{K.current||(K.current=!0,ie())}}),vt=d.useRef(!1),Ie=d.useRef(!1),{startRecording:Tr,stopRecording:Lt,transcribe:Nr,cancelRecording:Ir,isRecording:si,error:Fr,audioBlob:Lr}=y1({config:{baseUrl:h,provider:w==null?void 0:w.provider,model:w==null?void 0:w.model,language:w==null?void 0:w.language,authToken:u,qnaId:((di=z.current)==null?void 0:di.qna_id)||"",interviewId:i},onStart:()=>{vt.current=!1,Ie.current=!1},onStop:()=>{},onTranscriptionComplete:P=>{const D=P.transcript;v(D),L.current=D,Ie.current||(Ie.current=!0,ie())},onError:P=>{console.error("STT Error:",P),vt.current||(vt.current=!0,tt==null||tt.updateConfig({editingDuration:300}),ie())}}),{state:Fe,startQuestion:Mt,nextPhase:ie,completeInterview:oi,timerService:tt}=w1({config:{answeringDuration:H,editingDuration:Z},callbacks:{onPhaseChange:P=>{switch(P){case U.FETCHING_QUESTION:Qt();break;case U.READING_QUESTION:qs();break;case U.ANSWERING:cn();break;case U.TRANSCRIBING:ci();break;case U.SUBMITTING:ai();break}},onInterviewEnd:()=>{n==null||n()}}});d.useEffect(()=>{Mt()},[]),d.useEffect(()=>{(async()=>{try{const D=await l.getInterviewConfig(i);if(D!=null&&D.data&&(D.data.duration_in_minutes&&C(D.data.duration_in_minutes),typeof D.data.allow_answer_editing=="boolean"&&N(D.data.allow_answer_editing),typeof D.data.elapsed_time_in_minutes=="number")){const ve=Math.floor(D.data.elapsed_time_in_minutes*60);tt.setTotalTimeElapsed(ve)}}catch(D){console.error("Failed to fetch interview config:",D)}})()},[i,tt]);const{execute:Qt,error:Mr}=g1(async()=>{const P=await l.generateQuestion({interviewId:i});return z.current=P.data,P},{onSuccess:async P=>{P&&P.data&&(v(""),L.current="",m(P.data),ie())},onError:P=>{console.error("Failed to fetch questions:",P)}}),ai=d.useCallback(async()=>{var P;try{const D=L.current,ve=((P=z.current)==null?void 0:P.qna_id)||"";M&&await l.submitAnswer({interviewId:i,qnaId:ve,answer:D}),T({qnaId:ve,answer:D})}catch(D){console.error("Failed to submit answer:",D)}Mt()},[l,i,Mt,M]),qs=d.useCallback(async()=>{var P,D;if((P=z.current)!=null&&P.question)if(z.current.question_audio_data_base64)try{K.current=!1,await ht(z.current.question_audio_data_base64),z.current.is_interview_done&&(et(),Ir(),c&&"current"in c&&((D=c.current)==null||D.stopCamera()),oi())}catch(ve){console.error("Failed to speak question:",ve),ie()}else console.warn("No audio data available for question"),await Gl(2e3),ie();else ie()},[ht,ie,oi]),cn=d.useCallback(async()=>{try{await Tr(H)}catch(P){if((P==null?void 0:P.code)==="ALREADY_RECORDING"){console.warn("startRecording called while already recording — ignoring duplicate call.");return}console.error("Failed to start recording:",P),ie()}},[Tr,ie,H]),ci=d.useCallback(async()=>{var P;if(G.current){console.warn("handleAudioStopAndTranscribe already in progress, ignoring duplicate call.");return}G.current=!0;try{let D;!si&&Lr?(console.log("Recording already stopped, using cached blob."),D=Lr):D=await Lt();const ve=((P=z.current)==null?void 0:P.qna_id)||"",Pr=`${i}_${ve||Date.now()}`;await T1({id:Pr,interviewId:i,qnaId:ve,audioBlob:D,mimeType:D.type,savedAt:Date.now()}).catch(ln=>console.error("Failed to save audio to IndexedDB:",ln)),await Nr(D)}catch(D){console.error("STT processing failed:",D),D instanceof Error&&console.error("Error Name:",D.name),!vt.current&&!Ie.current&&(vt.current=!0,tt==null||tt.updateConfig({editingDuration:300}),ie())}finally{G.current=!1}},[Lt,Nr,ie]),li=d.useCallback(async P=>{var D,ve;et(),Ir(),c&&"current"in c&&((D=c.current)==null||D.stopCamera()),await((ve=p.current)==null?void 0:ve.exitFullScreenIntentionally());try{await l.exitInterview(i)}catch(Pr){console.error("API call failed:",Pr)}finally{P==null||P(),oi(),sessionStorage.removeItem(fn)}},[i,et,l]),Ks=()=>{const{phase:P}=Fe;switch(P){case U.IDLE:return o.jsxs("div",{className:"iw-text-center iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-2 iw-h-full",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Ready to start the Interview?"}),o.jsx("p",{className:"iw-max-w-xl iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:`You will be asked a series of behavioral and technical questions. For each one you'll get a short thinking period, then a timed recording window. We'll transcribe your response so you can review and edit it before submitting. Click "Start Interview" when you're ready.`}),o.jsx(on,{onClick:Mt,className:"iw-mt-2 iw-w-40",children:"Start Interview"})]});case U.FETCHING_QUESTION:return Mr?o.jsxs("div",{className:"iw-text-center iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-2 iw-h-full",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-red-600 iw-mb-1",children:"Failed to load the next question"}),o.jsx("p",{className:"iw-max-w-md iw-text-gray-500 iw-text-sm iw-leading-[21px]",children:Mr.message||"Please check your network connection and try again."}),o.jsx(on,{onClick:()=>Qt(),className:"iw-mt-4 iw-w-40",children:"Retry"})]}):o.jsx(r2,{});case U.READING_QUESTION:return o.jsx(n2,{ttsError:ft});case U.THINKING:return o.jsx(s2,{state:Fe,thinkingTime:J,nextPhase:ie});case U.ANSWERING:return o.jsx(t2,{state:Fe,answeringTime:H,nextPhase:ie,sttError:Fr});case U.TRANSCRIBING:return o.jsx(o2,{sttError:Fr,editingDuration:Z});case U.EDITING:case U.SUBMITTING:return null;case U.COMPLETED:return null;default:return null}},Dr=o.jsxs(o.Fragment,{children:[o.jsx(Z1,{title:e,brandName:t,brandLogo:r,totalDuration:E,elapsedTime:Fe.totalTimeElapsed,onExit:()=>li()}),o.jsx(X1,{brandName:t,brandLogo:r,currentQuestion:y,state:Fe,phase:Fe.phase,className:a,interviewId:i,interview_duration:E,videoFeedRef:c,lastSubmittedAnswer:F,onNextPhase:ie,answerText:b,onAnswerChange:P=>{const D=P.target.value;v(D),L.current=D},editingTime:Z,answeringTime:H,children:Ks()})]});return o.jsx(o.Fragment,{children:g!=null&&g.enabled?o.jsx(K1,{ref:p,onDisqualify:()=>li(s),isCompleted:((ui=z==null?void 0:z.current)==null?void 0:ui.is_interview_done)??!1,children:Dr}):Dr})},Hs=({title:e,brandName:t,brandLogo:r,interviewId:i,onInterviewEnd:n,onInterviewDisqualify:s,className:a=""})=>{const[c,l]=d.useState(!1),[h,u]=d.useState(!0),[f,w]=d.useState(!1),{proctoring:g}=pn(),p=d.useRef(null),y=d.useRef(null),m=(g==null?void 0:g.gazeAnalysisEnabled)===!0,b=()=>{l(!0),u(!1)};return d.useEffect(()=>{if(c&&f&&y.current&&m)try{y.current.setReference()}finally{w(!1)}},[c,f,m]),c?o.jsx("div",{className:"interview-widget-container",children:o.jsx("div",{ref:p,className:`iw-flex iw-flex-col iw-rounded-xl iw-shadow-lg iw-overflow-hidden iw-h-[calc(100vh-1rem)] ${a}`,children:o.jsx("div",{className:"iw-h-[calc(100vh-1rem)] iw-flex iw-flex-col iw-justify-between gap-1",children:o.jsx(a2,{interviewTitle:e??"Interview",brandName:t??"Novara",brandLogo:r,interviewId:i,className:a,onComplete:n??(()=>{}),onDisqualify:s,videoFeedRef:y})})})}):o.jsxs("div",{className:"interview-widget-container",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2 iw-mx-auto iw-p-2 iw-max-w-[1800px]",children:[o.jsx(yn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx(h1,{isOpen:h,gazeEnabled:m,onStart:b,onRequestCalibration:()=>w(!0),videoFeedRef:y,interviewId:i})]})};typeof window<"u"&&(window.InterviewWidget={InterviewWidget:Hs,InterviewWidgetProvider:eo}),me.InterviewWidget=Hs,me.InterviewWidgetProvider=eo,me.default=Hs,Object.defineProperties(me,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|