Loading
function(l,t,d){d.d(t,{n:()=>Z,t:()=>m});var i=d(209688),c=d(401959),e=d(351618),a=d(781322),s=d(196283),Z=class l{static fromImageData(t){let d=document.createElement("canvas");d.width=t.width,d.height=t.height;let i=d.getContext("2d",{willReadFrequently:!0});return i&&"putImageData"in i&&i.putImageData(t,0,0),new l(d)}constructor(l){this.base64Image=null,this.blobData=null,this.canvas=document.createElement("canvas"),this.canvas.width=l.width,this.canvas.height=l.height;const t=this.canvas.getContext("2d");t&&t.drawImage(l,0,0)}checkCanvas(){return this.canvas&&this.canvas.width>1&&this.canvas.height>1}dispose(){this.blobData?.url&&(URL.revokeObjectURL(this.blobData.url),this.blobData=null),this.base64Image=null}release(){this.checkCanvas()&&(this.canvas.width=1,this.canvas.height=1,this.canvas.getContext("2d")?.clearRect(0,0,1,1),this.base64Image=null,this.blobData?.url&&URL.revokeObjectURL(this.blobData.url),this.blobData=null)}revokeObjectURL(){this.blobData?.url&&(URL.revokeObjectURL(this.blobData.url),this.blobData={...this.blobData,url:""})}width(){return this.checkCanvas()?this.canvas.width:null}height(){return this.checkCanvas()?this.canvas.height:null}setWidth(l){this.checkCanvas()&&(this.canvas.width=l)}setHeight(l){this.checkCanvas()&&(this.canvas.height=l)}clone(){if(!this.checkCanvas())return null;let t=new l(this.canvas);return t.setBase64Image(this.base64Image),t}async deepClone(){let l=this.clone();return l?(this.blobData&&await l.setBlobData(this.blobData),l):null}getContext(l,t){if(!this.checkCanvas())return null;let d=this.canvas.getContext(l,t);return d instanceof CanvasRenderingContext2D?d:null}getImageData(){if(!this.checkCanvas())return null;let l=this.canvas.getContext("2d",{willReadFrequently:!0});return l?l.getImageData(0,0,this.canvas.width,this.canvas.height):null}updateBase64Image(l=1){this.checkCanvas()&&(this.base64Image=this.canvas.toDataURL("image/jpeg",l))}getBase64Image(l=1,t=!1){if(!this.checkCanvas())return null;null===this.base64Image&&this.updateBase64Image(l);let d=this.base64Image;if(null===d)return null;if(t)return d;let i=d.indexOf(",");return -1===i?d:d.slice(i+1)}setBase64Image(l){this.base64Image=l}updateBlob(t=1,d=!1){if(!this.checkCanvas())return;null===this.base64Image&&this.updateBase64Image(t);let i=this.getBase64Image(t,d);i&&(this.blobData=l.base64ToBlob(i))}static base64ToBlob(l){try{let t=atob(l),d=[];for(let l=0;l<t.length;l++)d.push(t.charCodeAt(l));let i=new Blob([new Uint8Array(d)]);return{blob:i,url:URL.createObjectURL(i)}}catch(l){console.error("Failed to convert base64 string to Blob:",l)}return null}getBlobData(l=1,t=!1){return this.checkCanvas()?(null===this.blobData&&this.updateBlob(l,t),this.blobData):null}async setBlobData(l){let t=await l.blob.arrayBuffer();this.blobData={blob:new Blob([t],{type:l.blob.type}),url:l.url}}getResizedCanvas(t,d){if(!this.checkCanvas())return null;let i=Math.abs(t-window.innerWidth),c=new l(document.createElement("canvas")),e=this.height();if(!e)return null;let a=e/d,s=window.innerWidth,Z=window.innerHeight;c.setWidth(s),c.setHeight(Z);let n=c.getContext("2d");return n?(n.drawImage(this.canvas,a*i/2,0,a*s,a*Z,0,0,s,Z),c):null}};async function n({source:l,base64Image:t,token:d}){try{return(await i.t.post("/omni/log/frame/v2",{base64Image:t},{query:{source:l},headers:{"X-Incode-Hardware-Id":d}})).data}catch{return}}async function b({wasmUtil:l,source:t,token:d}){let i={canvas:null,itr:null,skipped:null};if(await l.poc(i),!1===i.skipped){if(i.canvas&&d){let l=new Z(i.canvas).getBase64Image();l&&await n({source:t,base64Image:l,token:d})}!0===i.itr?((0,s.t)({virtualCameraDetected:!0}),l.setZc("FAIL")):!1===i.itr&&l.setZc("PASS")}}function m(l){var t,d,i,s,Z;let n=(t=l.wasmUtil,d=l.visibility,i=l.browserEnv,s=l.ipLookup,{async initialize(l,d=!1){t.setSdkPlatform("WEBAPP"),t.setSdkVersion(l);let e=(0,a.t)(),Z=/Android|iPhone|iPad|iPod/i.test(e),n=(0,a.n)(),b=i.generateCanvasFingerprint(),m=d?"":await s.getIp(),o={kind:Z?"mobile":"desktop",model:"",os:void 0,osVersion:void 0,screenDimensions:i.getScreenDimensions(),numTouchPoints:n.maxTouchPoints,fingerprintHash:b,ip:m,backgroundMode:!1};t.setDeviceInfo(o);let u=i.getNavigatorPrefixes(),h={userAgent:e,getUserMediaAvailability:{webkit:u.webkit,moz:u.moz,o:u.o,ms:u.ms},webglFingerprint:i.getWebGLRenderer(),inspectorOpened:!1,isMockedBrowser:(0,c.t)(i)};t.setBrowserInfo(h,!1)},updateCameraInfo(l){let d=l.getSettings(),i=l.getCapabilities?.()??{},c=l.label?[l.label]:[],e={facingMode:"user"===d.facingMode?"frontal":"environment"===d.facingMode?"back":d.facingMode||"unknown",settings:d,capabilities:i,labels:c};t.setCameraInfo(e)},async checkForVirtualCameraByLabel(l=null){try{if(!l){for(let l of(await i.enumerateVideoDeviceLabels()))if(t.isVirtualCamera(l))return!0}if(l&&t.isVirtualCamera(l.label))return!0;return!1}catch{return!1}},async analyzeFrame(l){await t.analyzeFrame(l)},setMotionStatus(l){t.setMotionStatus(l)},setBackgroundMode(l){t.setBackgroundMode(l||d.wasBackgrounded),d.reset()},estimatePerformance:()=>t.estimatePerformance(),getMetadata:()=>t.getMetadata(),getCheck:()=>t.getCheck(),getPipelineState:()=>t.getPipelineState(),preparePipelineState(){t.getPipelineState()}}),m=(Z=l.motionSensor,{requestPermission:async()=>Z.requestPermission(),async start(){await Z.start()},stop(){Z.stop()},check:()=>Z.check(),get isRunning(){return Z.isRunning},get hasPermission(){return Z.hasPermission}});return{metadata:n,motion:m,async initialize(t=!1){await n.initialize(l.sdkVersion,t),n.estimatePerformance()},requestMotionPermission:async()=>m.requestPermission(),async startMotionSensors(){await m.start()},stopMotionSensors(){m.stop()},checkVirtualCamera:async l=>(n.updateCameraInfo(l),n.checkForVirtualCameraByLabel(l)),async performVirtualCameraCheck(t,d){await b({wasmUtil:l.wasmUtil,source:d,token:t})},async performPrcCheck(t){let d=await (0,e.r)(t.constraints),i=function(l){if("u"<typeof document)throw Error("Document not available");let t=document.createElement("video");return t.autoplay=!0,t.playsInline=!0,t.muted=!0,t.srcObject=l,t.style.width="0px",t.style.height="0px",t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.zIndex="-1",document.body.appendChild(t),{element:t,dispose:()=>{t.srcObject=null,t.parentElement&&t.parentElement.removeChild(t)}}}(d);try{await l.wasmUtil.prc()}finally{i.dispose(),(0,e.i)(d)}},async analyzeFrame(l){await n.analyzeFrame(l),n.preparePipelineState();let t=m.check();n.setMotionStatus(t),n.getCheck(),n.setBackgroundMode(!1)},getMetadata:()=>n.getMetadata(),getMotionStatus:()=>m.check(),getAnalysisStatus:()=>n.getCheck(),getPipelineState:()=>n.getPipelineState(),cleanup(){m.stop()}}}}